/* Home only. Section content stays fixed; the logo has a bounded scroll drift. */
/* The original media remains underneath; reveal only after a successful draw. */
.home .hero-displacement{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}
.home .hero-displacement.is-ready{opacity:1;transition:opacity 180ms linear}
.home .hero-shade{pointer-events:none}
.home .hero-logo-fragments{position:absolute;z-index:3;pointer-events:none;display:none}
.home{--home-overlap:80px;--motion-short:240ms;--motion-reveal:620ms;--motion-calm:760ms;--motion-ease:cubic-bezier(.2,.7,.3,1);--motion-rise:16px;--motion-stagger:85ms;--letter-scale:1.05;--letter-rise:3px;--hero-drift:30px}
.home .site-header{position:sticky;top:0;z-index:20}
.home .hero:after,.home .process:after{content:none}
.home .hero h1.hero-wordmark{height:auto;aspect-ratio:1117.888/240;overflow:visible;transform:translateY(var(--hero-drift-y,0px))}
.home .hero-logo-vector{overflow:visible}
.hero-letter{transform-box:fill-box;transform-origin:center;transition:transform var(--motion-short) var(--motion-ease)}
/* Letter hover keeps its reflection; geometry is now driven by the local distortion. */
.home-reveal-pending{opacity:0}
.home-steps-stage{position:relative}.home .home-steps-stage .steps{border-top-color:transparent}
.home-steps-rule{position:absolute;top:0;left:0;right:0;height:1px;background:#c89b5c80;transform-origin:left;pointer-events:none}
.home .hero-action,.home .text-link{position:relative;border-bottom-color:transparent;background-image:linear-gradient(var(--gold),var(--gold));background-repeat:no-repeat;background-position:left bottom;background-size:0% 1px;transition:background-size var(--motion-short) var(--motion-ease),color var(--motion-short) var(--motion-ease)}
.home .hero-action:is(:hover,:focus-visible),.home .text-link:is(:hover,:focus-visible){border-bottom-color:transparent;background-size:100% 1px;color:var(--ivory)}
.home :is(.hero-action,.text-link) span{display:inline-block;transition:transform var(--motion-short) var(--motion-ease)}
.home :is(.hero-action,.text-link):is(:hover,:focus-visible) span{transform:translate(3px,-3px)}
.home .button{transform:none;transition:background var(--motion-short) var(--motion-ease),color var(--motion-short) var(--motion-ease),box-shadow var(--motion-short) var(--motion-ease)}
.home .button:is(:hover,:focus-visible){transform:none;background:var(--light-gold);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(255,249,221,.3)}
.home :is(.button,.text-link,.hero-action):focus-visible{outline:2px solid var(--light-gold);outline-offset:5px}
.home .main-nav a:not(.button){text-decoration-line:underline;text-decoration-color:transparent;text-underline-offset:6px;transition:color var(--motion-short) var(--motion-ease),text-decoration-color var(--motion-short) var(--motion-ease)}
.home .main-nav a:not(.button):is(:hover,:focus-visible){text-decoration-color:var(--gold);color:var(--light-gold)}
[data-motion="stopped"] .home .hero-letter{transform:none!important;transition:none}
[data-motion="stopped"] .home .home-reveal-pending{opacity:1}
.home-motion-pending .home .hero-glyph{opacity:0}
.home-motion-pending .home .hero-content>.eyebrow,.home-motion-pending .home .hero-action{opacity:0}
.home .hero-content:focus-within .hero-action{opacity:1!important}
.home .process{padding-top:96px;padding-bottom:136px}
.home-overlap{position:relative;isolation:isolate}
.home-overlap:before{content:'';position:absolute;z-index:-1;left:0;right:0;top:calc(-1 * var(--home-overlap));height:calc(var(--home-overlap) + 1px);background:var(--boundary-color);border-top:1px solid var(--boundary-line);transform:translateY(var(--boundary-shift,0px));pointer-events:none}
.home .process{--boundary-color:var(--paper);--boundary-line:var(--gold)}
.home-boundary{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}
.certificate-section{background:var(--ink);padding:96px 0 112px;--boundary-color:var(--ink);--boundary-line:var(--gold)}
.certificate-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);align-items:center;gap:64px}
.certificate-preview{margin:0;min-width:0}.certificate-preview img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.certificate-preview figcaption{font-size:11px;color:var(--light-gold);letter-spacing:.12em;text-transform:uppercase;margin-top:16px}
.certificate-placeholder{padding:90px 30px;border:1px solid var(--line);text-align:center;color:var(--muted)}
.certificate-copy .eyebrow{margin-bottom:20px}.certificate-copy h2{font-size:clamp(36px,3.5vw,54px);max-width:440px}
.certificate-intro{color:var(--light-gold);margin-top:24px;font-size:16px;line-height:1.65}.certificate-copy dl{margin:32px 0}.certificate-copy dt{font-size:13px;font-weight:600;color:var(--ivory);margin-top:20px}.certificate-copy dd{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.certificate-links{display:flex;flex-wrap:wrap;gap:12px 24px}.certificate-links .text-link{color:var(--light-gold);border-bottom-color:var(--line)}
.home .faq{padding:96px 0 110px;border-top:1px solid var(--line)}
.home .closing{border-top:1px solid var(--line)}
/* Certificate modal only. Tune size and sheen here; maxTilt lives in home.js. */
.certificate-lightbox{--certificate-width:80vw;--certificate-height:75vh;--certificate-max-width:1100px;--reflection-intensity:.13;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:transparent;color:var(--ivory)}
.certificate-lightbox[open]{display:flex;align-items:center;justify-content:center}
.certificate-lightbox::backdrop{background:rgb(8 10 9 / .78);backdrop-filter:blur(5px);opacity:0;transition:opacity 220ms cubic-bezier(.2,.7,.3,1)}
.certificate-lightbox.is-visible::backdrop{opacity:1;transition-duration:400ms}
.certificate-lightbox-enter{position:relative;opacity:0;transition:opacity 220ms ease}
.certificate-lightbox.is-visible .certificate-lightbox-enter{opacity:1;transition-duration:400ms}
.certificate-lightbox-stage{width:fit-content}
.certificate-lightbox-surface{perspective:1200px;transform:translateY(14px) scale(.94);transition:transform 220ms cubic-bezier(.2,.7,.3,1)}
.certificate-lightbox.is-visible .certificate-lightbox-surface{transform:translateY(0) scale(1);transition-duration:400ms}
.certificate-lightbox-card{position:relative;overflow:hidden;transform-origin:center;box-shadow:0 20px 65px rgb(0 0 0 / .35);--shine:0}
.certificate-lightbox-card img{display:block;width:auto;height:auto;max-width:min(var(--certificate-width),var(--certificate-max-width));max-height:min(var(--certificate-height),calc(100dvh - 150px));object-fit:contain}
.certificate-lightbox-sheen{position:absolute;inset:0;pointer-events:none;opacity:calc(var(--shine) * var(--reflection-intensity));background:linear-gradient(118deg,transparent 33%,rgba(175,198,195,.25) 42%,rgba(255,249,221,.8) 48%,rgba(236,216,173,.45) 52%,rgba(195,177,200,.22) 57%,transparent 66%);background-size:220% 180%;background-position:var(--sweep-x,50%) var(--sweep-y,50%);mix-blend-mode:screen}
.certificate-lightbox-close{position:absolute;right:0;bottom:calc(100% + 16px);display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 16px;border:1px solid rgba(231,215,181,.5);border-radius:4px;background:#171a18;color:var(--ivory);font:inherit;font-size:14px;cursor:pointer}
.certificate-lightbox-close span{font-size:25px;line-height:1}
.certificate-lightbox-close:focus-visible{outline:2px solid var(--light-gold);outline-offset:4px}
@media(max-width:640px){.certificate-lightbox{--certificate-width:88vw;--certificate-height:70vh;--certificate-height:70dvh}}
@media(prefers-reduced-motion:reduce){.certificate-lightbox-enter,.certificate-lightbox.is-visible .certificate-lightbox-enter{transition:opacity 100ms ease}.certificate-lightbox-surface,.certificate-lightbox.is-visible .certificate-lightbox-surface{transform:none;transition:none}.certificate-lightbox::backdrop,.certificate-lightbox.is-visible::backdrop{transition-duration:100ms}.certificate-lightbox-sheen{display:none}}
@media(max-width:1000px){.certificate-layout{gap:36px;grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr)}}
@media(max-width:800px){.certificate-layout{grid-template-columns:1fr;gap:36px}.certificate-copy h2{max-width:none}.certificate-copy{max-width:620px}}
@media(max-width:640px){.home{--home-overlap:0px}.home-overlap:before{display:none}.home .process{padding:64px 0 72px;border-top:1px solid var(--gold)}.certificate-section{padding:64px 0 72px;border-top:1px solid var(--gold)}.home .faq{padding:64px 0 72px}.certificate-intro{font-size:15px}.certificate-copy dl{margin:26px 0}}
@media(prefers-reduced-motion:reduce){.home{--home-overlap:0px}.home-overlap:before{display:none}.home .process,.certificate-section{border-top:1px solid var(--gold)}.home .hero-glyph,.home .hero-letter,.home .hero h1.hero-wordmark{opacity:1!important;transform:none!important;clip-path:none!important}.home-reveal-pending{opacity:1}.home-motion-pending .home .hero-content>.eyebrow,.home-motion-pending .home .hero-action{opacity:1!important}}
