/* REVERICK — landing page styles. Fonts: fonts.css. Tokens live on .rv (light) and .rv .dk (dark panels). */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
body{margin:0;background:#F4F0E8}
.rv{--bg:#F4F0E8;--fg:#15130F;--fg-fade:#5A5349;--mute:#5D574E;--line:rgba(21,19,15,.1);--line2:rgba(21,19,15,.2);--surface:rgba(255,255,255,.62);--surface2:rgba(255,255,255,.92);--glass:rgba(250,247,241,.72);--g1:#8F5B00;--g2:#C98A00;--gold-ink:#8A5600;--grid:rgba(21,19,15,.055);--glowA:rgba(245,170,30,.30);--glowB:rgba(240,110,40,.14);--spot:rgba(233,161,0,.10);--spot-edge:rgba(201,138,0,.6);--btn-bg:#15130F;--btn-fg:#F7F3EC;--panel:#12100E;--tile-shadow:0 18px 40px -26px rgba(60,40,10,.35)}
.rv .dk{--bg:#09080A;--fg:#F3EEE6;--fg-fade:#9C9488;--mute:#A49D92;--line:rgba(255,248,235,.09);--line2:rgba(255,248,235,.18);--surface:rgba(255,248,235,.03);--surface2:rgba(255,248,235,.08);--glass:rgba(14,13,12,.72);--g1:#F5B523;--g2:#FFE08A;--gold-ink:#F5B523;--grid:rgba(255,248,235,.045);--glowA:rgba(245,165,30,.26);--glowB:rgba(225,85,20,.16);--spot:rgba(245,181,35,.08);--spot-edge:rgba(255,205,90,.55);--btn-bg:#F3EEE6;--btn-fg:#0B0A09;--tile-shadow:none;color:var(--fg)}
.rv .panel{background:var(--bg);border-radius:clamp(22px,2.6cqi,36px);margin-left:8px;margin-right:8px}
.rv *,.rv *::before,.rv *::after{box-sizing:border-box}
.rv a{color:inherit;text-decoration:none}
.rv ::selection{background:#F5B523;color:#100D08}
.rv a:focus-visible,.rv button:focus-visible{outline:2px solid #F5B523;outline-offset:3px}
.rv .nl{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;color:var(--mute);font-size:14.5px;font-weight:500;transition:color .2s,background .2s}
.rv .nl:hover{color:var(--fg);background:var(--surface2)}
.rv .nav-menu-btn.btn-ghost{display:none}
.rv .nav-drop{display:none}
.rv .nav-drop[hidden]{display:none!important}
@container rv (max-width:760px){.rv .nav-links{display:none!important}.rv .nav-menu-btn.btn-ghost{display:inline-flex}.rv .nav-drop{display:flex}}
.rv .btn-x{position:relative;display:inline-flex;border-radius:999px;padding:1.5px;background:conic-gradient(from var(--ang),var(--line2) 0deg,var(--line2) 190deg,#F5B523 250deg,#FFE7A3 285deg,#F5B523 315deg,var(--line2) 360deg);animation:rv-spin 4s linear infinite;transition:box-shadow .3s,translate .25s}
.rv .btn-x:hover{box-shadow:0 0 36px 2px rgba(245,181,35,.32);translate:0 -1px}
.rv .btn-x-in{display:inline-flex;align-items:center;gap:12px;min-height:50px;padding:0 9px 0 22px;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-size:15.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.rv .btn-ico{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#F5B523;color:#120E06;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.rv .btn-x:hover .btn-ico{transform:translateX(3px)}
.rv .btn-ghost{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 22px;border-radius:999px;border:1px solid var(--line2);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--fg);font-family:inherit;font-size:15.5px;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:background .2s,border-color .2s}
.rv .btn-ghost:hover{background:var(--surface2);border-color:var(--fg-fade)}
.rv .btn-ghost:disabled{cursor:not-allowed;color:var(--mute)}
.rv .btn-ghost:disabled:hover{background:var(--surface);border-color:var(--line2)}
.rv .chip{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:5px 8px 5px 6px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:14px;color:var(--mute);transition:border-color .25s,color .25s}
.rv .chip:hover{border-color:#F5B523;color:var(--fg)}
.rv .chip-tag{padding:4px 10px;border-radius:999px;background:#F5B523;color:#120E06;font-size:12px;font-weight:700;letter-spacing:.01em}
.rv .eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.rv .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:#F5B523;box-shadow:0 0 10px #F5B523}
.rv .display{margin:0;font-weight:600;letter-spacing:-.045em;line-height:.98;background:linear-gradient(180deg,var(--fg) 40%,var(--fg-fade) 120%);-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance}
.rv .serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
.rv .gold-text{background:linear-gradient(100deg,var(--g1) 0%,var(--g2) 40%,var(--g1) 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rv-sheen 7s linear infinite}
.rv .lead{margin:0;color:var(--mute);font-size:clamp(17px,1.45cqi,20px);line-height:1.55;text-wrap:pretty}
.rv .hero-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:56px 56px;background-position:center top;-webkit-mask-image:radial-gradient(ellipse 62% 56% at 50% 46%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 62% 56% at 50% 46%,#000 25%,transparent 78%)}
.rv .aurora{position:absolute;border-radius:50%;pointer-events:none;filter:blur(50px)}
.rv .au1{left:50%;top:44%;width:min(900px,120cqi);aspect-ratio:1;background:radial-gradient(circle,var(--glowA),transparent 62%);animation:rv-au1 16s ease-in-out infinite alternate}
.rv .au2{left:64%;top:30%;width:min(560px,80cqi);aspect-ratio:1;background:radial-gradient(circle,var(--glowB),transparent 65%);animation:rv-au2 19s ease-in-out infinite alternate}
.rv .logo-fb{transition:opacity .55s ease}
.rv .stars-on .logo-fb{opacity:0}
.rv .fade-up{animation:rv-fade-up 1s cubic-bezier(.2,.8,.2,1) both}
.rv .bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.rv .s6{grid-column:span 6}
.rv .s3{grid-column:span 3}
.rv .s2{grid-column:span 2}
@container rv (max-width:980px){.rv .bento .s2{grid-column:span 3}}
@container rv (max-width:640px){.rv .bento .s2,.rv .bento .s3{grid-column:span 6}}
.rv .tile{position:relative;isolation:isolate;border-radius:22px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--tile-shadow);overflow:hidden;display:flex;flex-direction:column;transition:translate .45s cubic-bezier(.2,.8,.2,1),border-color .3s}
.rv .tile:hover{translate:0 -4px;border-color:var(--line2)}
.rv .tile>*{position:relative;z-index:1}
.rv .spot::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:radial-gradient(520px circle at var(--sx,50%) var(--sy,0%),var(--spot),transparent 45%);opacity:0;transition:opacity .4s;pointer-events:none}
.rv .spot::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;padding:1px;background:radial-gradient(340px circle at var(--sx,50%) var(--sy,0%),var(--spot-edge),transparent 48%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s;pointer-events:none}
.rv .bento:hover .spot::after{opacity:1}
.rv .spot:hover::before{opacity:1}
.rv .vis{position:relative;margin:8px 8px 0;height:220px;border-radius:15px;background:var(--panel);border:1px solid rgba(255,248,235,.07);overflow:hidden;display:flex;align-items:center;justify-content:center;color:#F3EEE6}
.rv .vis::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,248,235,.1) 1px,transparent 1px);background-size:16px 16px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 72%);mask-image:radial-gradient(circle at 50% 50%,#000,transparent 72%);pointer-events:none}
.rv .tile-txt{padding:20px 24px 26px;display:flex;flex-direction:column;gap:7px}
.rv .tile-k{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.rv .tile-h{margin:0;font-size:21px;font-weight:600;letter-spacing:-.025em;line-height:1.2}
.rv .tile-p{margin:0;font-size:15.5px;line-height:1.55;color:var(--mute);text-wrap:pretty}
.rv .keyart{aspect-ratio:21/9}
@container rv (max-width:640px){.rv .keyart{aspect-ratio:4/3}}
.rv .sweep::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,236,190,.08) 50%,transparent 65%);transform:translateX(-100%);animation:rv-sweep 6s ease-in-out infinite;pointer-events:none}
.rv .pulse{animation:rv-pulse 1.8s ease-out infinite}
.rv .cd-n{font-size:clamp(44px,8.4cqi,128px);font-weight:600;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.rv .f-link{color:var(--mute);transition:color .2s}
.rv .f-link:hover{color:var(--fg)}
.rv .pp-link{font-family:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-weight:700;color:var(--fg);text-decoration:underline;text-decoration-color:#F5B523;text-decoration-thickness:2px;text-underline-offset:6px;transition:color .2s}
.rv .pp-link:hover{color:var(--gold-ink)}
@keyframes rv-spin{to{--ang:360deg}}
@keyframes rv-sheen{to{background-position:-220% 0}}
@keyframes rv-au1{from{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-46%,-55%) scale(1.12)}}
@keyframes rv-au2{from{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-72%,-36%) scale(1.22)}}
@keyframes rv-fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rv-sweep{0%,20%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@keyframes rv-pulse{0%{box-shadow:0 0 0 0 rgba(245,181,35,.6)}100%{box-shadow:0 0 0 8px rgba(245,181,35,0)}}
@keyframes rv-reveal{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){
@media (prefers-reduced-motion: no-preference){
.rv .reveal{animation:rv-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
.rv .reveal-2{animation:rv-reveal linear both;animation-timeline:view();animation-range:entry 10% entry 85%}
.rv .reveal-3{animation:rv-reveal linear both;animation-timeline:view();animation-range:entry 20% entry 100%}
}
}
@media (prefers-reduced-motion: reduce){
.rv .btn-x,.rv .gold-text,.rv .au1,.rv .au2,.rv .fade-up,.rv .sweep::after,.rv .pulse{animation:none}
.rv .logo-fb{opacity:1!important}
}

/* Logo files are the original, untouched PNGs. They carry transparent padding,
   so these rules crop to the artwork box (ring logo: 1165x929 of 1254x1254 at 51,146;
   wordmark: 1124x177 of 1170x220 at 23,22). --wm-h is the visible letter height. */
.rv .wm{display:block;max-width:none;width:auto;height:calc(var(--wm-h) * 220 / 177);margin:calc(var(--wm-h) * -22 / 177) calc(var(--wm-h) * -23 / 177) calc(var(--wm-h) * -21 / 177)}
.rv .wm-giant{display:block;max-width:none;height:auto;width:calc(100% * 1170 / 1124);margin:calc(-100% * 22 / 1124) calc(-100% * 23 / 1124) calc(-100% * 21 / 1124 - 2%)}
.rv .logo-ring{position:absolute;display:block;max-width:none;height:auto;width:calc(100% * 1254 / 1165);left:calc(100% * -51 / 1165);top:calc(100% * -146 / 929)}

