/* A single, finite brand sequence. Original logo pixels are the front texture. */
.brand-intro{display:none;position:fixed;inset:0;z-index:1000;height:100svh;min-height:460px;overflow:hidden;background:#eef0e8;color:#1b342d;isolation:isolate;transform:translate3d(0,0,0)}html[data-intro-state=armed] .brand-intro,html[data-intro-state=playing] .brand-intro,html[data-intro-state=leaving] .brand-intro{display:block}.brand-intro::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 33% 30%,#fff 0,transparent 52%),radial-gradient(ellipse at 82% 55%,#c9d5c4a8,transparent 60%),linear-gradient(160deg,#e5e9df,#f2f3ee 60%,#e5e8dd)}.intro-top{position:absolute;left:54px;right:54px;top:34px;z-index:8;display:flex;align-items:center;justify-content:space-between}.intro-wordmark{display:flex;align-items:center;gap:11px;font-size:24px;font-weight:700;letter-spacing:-1.2px}.intro-wordmark img{width:30px;height:30px}.intro-skip{font-size:12px;font-weight:600;display:flex;align-items:center;gap:25px;min-height:44px;padding:8px 0;border-bottom:1px solid #83937c}.intro-skip:hover{color:#50783c}.intro-skip:focus-visible{outline:2px solid #355c28;outline-offset:7px}.intro-caption{position:absolute;left:54px;top:109px;font:10px/1.7 monospace;letter-spacing:1.6px;color:#69806b}.intro-world{position:absolute;inset:0;perspective:1400px;perspective-origin:50% 43%}.intro-actor{--logo-size:min(58vw,62svh,640px);position:absolute;left:50%;top:43%;width:var(--logo-size);height:calc(var(--logo-size) * .9748428);transform:translate(-50%,-50%);transform-style:preserve-3d}.intro-logo-rig{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(14deg) rotateY(-46deg) rotateZ(-4deg);will-change:transform}.logo-front,.logo-back,.logo-depth{position:absolute;inset:0;background-size:100% 100%;background-repeat:no-repeat;backface-visibility:hidden}.logo-front,.logo-back{background-image:var(--intro-logo);transform:translateZ(1px)}.logo-back{transform:translateZ(-32px) rotateY(180deg)}.logo-depth{background:#21543f;mask-image:var(--intro-mask);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:var(--intro-mask);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;transform:translateZ(calc(var(--layer) * -2px));backface-visibility:visible}.logo-depth:nth-child(3n){background:#174332}.logo-depth:nth-child(3n + 1){background:#1d4a37}.intro-floor-shadow{position:absolute;left:50%;top:70%;width:min(52vw,580px);height:45px;border-radius:50%;background:#142f2621;filter:blur(19px);transform:translate(-50%,-50%);opacity:.75}.intro-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.intro-flow path,.intro-flow rect,.intro-flow circle{vector-effect:non-scaling-stroke}.flow-ink{fill:none;stroke:#26483b;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1800;stroke-dashoffset:1800;opacity:.45}.flow-data{fill:none;stroke:#708d63;stroke-width:1.2;stroke-dasharray:1000;stroke-dashoffset:1000;opacity:.4}.flow-points{opacity:0}.flow-contact{fill:#e9b044;opacity:0}.intro-side{position:absolute;top:51%;z-index:1;opacity:0}.intro-side.left{left:7%}.intro-side.right{right:7%;text-align:right}.intro-side span{display:block;font-size:21px;line-height:1.6;letter-spacing:-.8px}.intro-side small{font:8px/1.8 monospace;letter-spacing:1.6px;color:#879580}.intro-side.left span{font-family:Georgia,"Batang",serif;font-style:italic;font-size:25px}.intro-message{position:absolute;left:20px;right:20px;bottom:9%;text-align:center;z-index:4}.intro-message p{font-size:clamp(24px,3vw,41px);font-weight:550;letter-spacing:-1.8px;line-height:1.45;opacity:0;transform:translateY(12px)}.intro-message small{display:block;font-size:11px;letter-spacing:.4px;line-height:1.6;margin-top:12px;color:#6f826b;opacity:0}.intro-bottom{position:absolute;left:54px;right:54px;bottom:28px;display:flex;justify-content:space-between;font:9px/1.5 monospace;letter-spacing:1px;color:#8b9784}.intro-sequence .intro-logo-rig{animation:brand-yaw 3.8s cubic-bezier(.42,0,.25,1) both}.intro-sequence .flow-ink{animation:ink-to-flow 2.1s .1s ease-in-out both}.intro-sequence .flow-data{animation:data-from-flow 1.35s 1.8s ease-out both}.intro-sequence .flow-points{animation:quiet-reveal .7s 2.2s both}.intro-sequence .flow-contact{animation:quiet-reveal .5s 1.5s both}.intro-sequence .intro-side{animation:quiet-reveal 1s .4s both}.intro-sequence .intro-message p{animation:message-enter .9s 2.5s cubic-bezier(.22,1,.36,1) both}.intro-sequence .intro-message small{animation:quiet-reveal .8s 2.9s both}html[data-intro-state=leaving] .brand-intro{animation:brand-handoff .66s cubic-bezier(.76,0,.24,1) both}html[data-intro-state=armed] body,html[data-intro-state=playing] body,html[data-intro-state=leaving] body{overflow:hidden}html[data-intro-state=playing] [data-intro-content]{transform:translate3d(0,20px,0)}html[data-intro-state=leaving] [data-intro-content]{animation:content-arrive .7s cubic-bezier(.22,1,.36,1) both}.home-page .hero-grid{gap:48px;grid-template-columns:1fr 1.12fr}.home-page .hero h1{font-size:clamp(36px,4vw,59px);letter-spacing:-2.8px}.home-page .hero-visual{margin:0}.hero-photo-frame{position:relative;aspect-ratio:1.3;overflow:hidden;border-radius:24px;background:#e8ecdf}.hero-photo-frame [data-hero-photo]{width:100%;height:100%;object-fit:cover;object-position:54% center;transform:none!important;animation:none!important}.home-page .hero-visual figcaption{position:static;text-align:right;margin-top:10px;font-size:8px;color:#6e7c63}.hero-education-note{display:flex;align-items:center;gap:10px;margin-top:24px;font-size:10px;color:#728268}.intro-replay{border:0;border-bottom:1px solid #a9b49b;padding:7px 0;background:none;color:#4a653a;font-size:11px;letter-spacing:-.1px;display:inline-flex;align-items:center;gap:20px}.intro-replay:hover{color:#1f3e18}.home-page .product-art.package-photo{padding:0;aspect-ratio:4/3;min-height:0;background:#f2f1eb}.package-photo img{width:100%;height:100%;object-fit:cover}.package-photo .package-label{position:absolute;left:18px;bottom:15px;font-size:9px;color:#59634f;background:#ffffffdc;padding:6px 9px;border-radius:5px}.home-page .hero-actions{flex-wrap:wrap}.home-page #main:focus{outline:none}
@keyframes brand-yaw{0%{transform:rotateX(14deg) rotateY(-46deg) rotateZ(-4deg)}48%{transform:rotateX(7deg) rotateY(28deg) rotateZ(2deg)}80%,100%{transform:rotateX(0) rotateY(0) rotateZ(0)}}@keyframes ink-to-flow{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}@keyframes data-from-flow{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes quiet-reveal{from{opacity:0}to{opacity:1}}@keyframes message-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes brand-handoff{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-102%,0)}}@keyframes content-arrive{from{transform:translate3d(0,20px,0)}to{transform:translate3d(0,0,0)}}
@media(max-width:1100px){.home-page .hero-grid{gap:30px}.home-page .hero h1{font-size:43px}.intro-side.left{left:4%}.intro-side.right{right:4%}.intro-side span{font-size:17px}.intro-top{left:34px;right:34px}.intro-caption{left:34px}.intro-bottom{left:34px;right:34px}}
@media(max-width:760px){.intro-top{left:22px;right:22px;top:19px}.intro-wordmark{font-size:21px;gap:8px}.intro-wordmark img{width:26px;height:26px}.intro-skip{font-size:10px;gap:14px;min-height:40px}.intro-caption{left:22px;top:88px;font-size:8px;letter-spacing:1px}.intro-actor{--logo-size:min(84vw,49svh,450px);top:43%}.intro-world{perspective:950px}.intro-floor-shadow{top:65%;width:67vw;height:25px;filter:blur(14px)}.intro-side{top:68%;left:22px!important;right:22px!important}.intro-side.left{text-align:left}.intro-side.right{text-align:right}.intro-side span,.intro-side.left span{font-size:15px}.intro-side small{font-size:7px;letter-spacing:.8px}.intro-message{bottom:13%}.intro-message p{font-size:clamp(21px,6vw,31px);letter-spacing:-1px}.intro-message small{font-size:9px;margin-top:9px}.intro-bottom{left:22px;right:22px;bottom:22px;font-size:7px;letter-spacing:.6px}.intro-flow{width:180%;max-width:none;left:-40%}.home-page .hero-grid{display:flex;gap:27px}.home-page .hero h1{font-size:clamp(30px,8vw,45px);letter-spacing:-1.9px}.hero-photo-frame{aspect-ratio:1.27;border-radius:18px}.home-page .hero-visual{margin:0 auto;width:100%}.hero-education-note{margin-top:20px}.intro-replay{font-size:10px}.package-photo .package-label{font-size:8px;left:13px;bottom:12px}.home-page .hero-visual figcaption{font-size:8px}}
@media(max-height:600px) and (min-width:761px){.intro-actor{--logo-size:min(46vw,61svh);top:41%}.intro-message{bottom:8%}.intro-message p{font-size:25px}.intro-side{top:46%}.intro-caption{top:92px}}
.brand-intro{min-height:0}.logo-depth,.logo-back{visibility:hidden}.intro-sequence .logo-depth,.intro-sequence .logo-back{visibility:visible}.intro-sequence .logo-depth{background:#174b36}.intro-message p{font-weight:550}
@media(max-height:650px) and (max-width:760px){.intro-side{display:none}.intro-message{bottom:11%}}
@media(prefers-reduced-motion:reduce){.brand-intro,.brand-intro *{animation:none!important;transition:none!important}.intro-logo-rig{transform:none!important}.intro-replay{display:none}}
