/* V2 opening: a short editorial sequence, never a fake loading percentage. */
.brand .nav-logo{width:42px;height:42px}.brand{gap:10px}.brand .brand-name{font-size:23px;letter-spacing:-.045em;font-weight:750}.brand small{letter-spacing:.17em;font-size:9px;margin-top:5px}
.contact-side>.contact-brand-mark{width:124px;height:124px}
.hero .inspiration-board{height:auto;max-width:470px;width:100%;margin:0 auto;align-self:center;position:relative}
.inspiration-board:before{content:"";position:absolute;inset:16px -14px 88px 14px;border:1px solid #b8a16c65;transform:rotate(2deg);pointer-events:none}
.inspiration-header{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;letter-spacing:.13em;margin-bottom:12px}
.inspiration-window{position:relative;aspect-ratio:4/5;overflow:hidden;background:#151e27;border:1px solid #263e5120}
.inspiration-panel{position:absolute;inset:0;overflow:hidden;animation:art-in .35s ease-out}
.inspiration-panel[hidden]{display:none!important}.inspiration-panel img{display:block;width:100%;height:100%;object-fit:contain}
.inspiration-panel[data-art="bocchi"] img{object-fit:cover}
.inspiration-panel[data-art="persona"]{background:radial-gradient(ellipse,#544023,#151719 72%)}
.inspiration-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:13px;position:relative}
.inspiration-tabs button{font:inherit;font-size:11px;color:var(--muted);min-height:44px;border:0;border-bottom:2px solid transparent;padding:8px 3px;background:transparent;text-align:left;cursor:pointer}
.inspiration-tabs button span{display:block;font-size:9px;font-family:Consolas,monospace;margin-bottom:5px;opacity:.65}
.inspiration-tabs button[aria-pressed="true"]{color:var(--blue);border-color:var(--gold);font-weight:600}
.inspiration-credit{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:var(--muted);margin-top:12px;line-height:1.5;position:relative}
.inspiration-credit a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.opening-replay{display:inline-flex;gap:9px;align-items:center;font:inherit;font-size:11px;letter-spacing:.06em;color:var(--blue);background:transparent;border:0;border-bottom:1px solid var(--line);min-height:44px;padding:10px 0;margin-top:16px;cursor:pointer}
.opening-replay span{color:var(--gold)}
body.opening-playing{overflow:hidden}
#opening-dialog{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;background:#111b25;color:#f7f4ed;overflow:hidden;outline:0;isolation:isolate}
#opening-dialog:not([open]){display:none}#opening-dialog[open]{display:grid;place-items:center}
#opening-dialog::backdrop{background:#111b25}
.opening-grain{position:absolute;inset:0;opacity:.18;background-image:radial-gradient(#f4eddd 1px,transparent 1px);background-size:6px 6px;mask-image:linear-gradient(120deg,#000,transparent 65%);pointer-events:none}
.opening-slash{position:absolute;inset:-20% auto -20% 45%;width:16%;background:#c0a26a;opacity:.13;transform:skew(-20deg);animation:opening-slash 2.8s cubic-bezier(.22,.6,.2,1) both}
.opening-panels{position:absolute;inset:14% 8% 20%;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;opacity:.6;pointer-events:none}
.opening-panels figure{margin:0;overflow:hidden;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);animation:opening-card 2.7s ease both}
.opening-panels figure:nth-child(2){animation-delay:.12s}.opening-panels figure:nth-child(3){animation-delay:.24s}
.opening-panels img{width:100%;height:100%;object-fit:cover;filter:saturate(.65) brightness(.65)}
.opening-panels figure:nth-child(3) img{object-position:48% center}
.opening-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.opening-wordmark{position:relative;text-align:center;z-index:3;align-self:center;margin-top:19vh;animation:opening-wordmark 3.1s ease both;text-shadow:0 4px 25px #101820a0}
.opening-wordmark strong{display:block;font-size:clamp(32px,7vw,84px);font-weight:750;letter-spacing:-.055em;line-height:1.2}
.opening-wordmark p{font-size:clamp(9px,1.1vw,12px);letter-spacing:.28em;margin-top:20px;color:#d5bd88}
.opening-meta{position:absolute;left:32px;top:28px;font:10px Consolas,monospace;letter-spacing:.12em;color:#b4c0c9;z-index:5}
.opening-skip{position:absolute;right:25px;top:15px;z-index:5;border:1px solid #d7dfe02b;border-radius:3px;background:#111b25b0;color:#f7f4ed;padding:12px 18px;min-height:44px;font:12px inherit;cursor:pointer}
.opening-skip span{margin-left:15px;font:10px Consolas,monospace;color:#c0a26a}
.opening-rule{position:absolute;bottom:38px;left:8%;right:8%;height:1px;background:#ffffff22}.opening-rule:after{content:"";display:block;width:100%;height:100%;background:#c0a26a;transform-origin:left;animation:opening-rule 3.2s linear both}
#opening-dialog.is-closing{animation:opening-out .32s cubic-bezier(.76,0,.24,1) both}
#opening-dialog.is-static *{animation:none!important}.is-static .opening-panels{display:none}.is-static .opening-wordmark{opacity:1;transform:none}
@keyframes art-in{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes opening-slash{0%{transform:translateX(-80vw) skew(-20deg)}65%,100%{transform:translateX(80vw) skew(-20deg)}}
@keyframes opening-card{0%,16%{opacity:0;transform:translateY(12%) scale(1.1)}32%,58%{opacity:1;transform:translateY(0) scale(1.04)}78%,100%{opacity:0;transform:translateY(-8%) scale(1)}}
@keyframes opening-wordmark{0%,30%{opacity:0;transform:translateY(20px)}55%,100%{opacity:1;transform:none}}
@keyframes opening-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes opening-out{to{transform:translateY(-101%)}}
@media(min-width:721px){.hero{grid-template-columns:1fr 1fr;gap:52px;padding-top:62px;padding-bottom:100px;min-height:790px}.hero-art.inspiration-board{height:auto}.hero-copy{align-self:center}}
@media(max-width:1000px) and (min-width:721px){.hero{gap:30px;min-height:680px}.hero .inspiration-board{max-width:380px}}
@media(max-width:720px){.hero .inspiration-board{max-width:400px}.hero{gap:38px}.inspiration-board:before{inset:12px -7px 95px 7px}.brand .nav-logo{width:36px;height:36px}.brand .brand-name{font-size:20px}.opening-panels{inset:20% -22% 29%;gap:8px}.opening-meta{left:18px;top:25px;font-size:8px}.opening-skip{right:14px;top:13px;padding:10px 12px}.opening-skip span{margin-left:8px}.opening-wordmark{margin-top:15vh}.opening-wordmark p{letter-spacing:.14em}.opening-rule{bottom:27px}.inspiration-credit{font-size:9px}}
@media(prefers-reduced-motion:reduce){.inspiration-panel,#opening-dialog,#opening-dialog *{animation:none!important;transition:none!important}}
