/* The opening is one branded canvas. Original bars keep their original proportions. */
body[data-page="home"] { --opening-forest:var(--amlcc-forest); --opening-lime:var(--amlcc-lime); }

body[data-page="home"] .nav { background:var(--opening-forest); border-color:transparent; color:#f5faf5; backdrop-filter:none; transition:background-color .22s, border-color .22s; }
body[data-page="home"] .nav-brand { position:relative; }
body[data-page="home"]:not(.home-nav-light):not(.menu-open) .nav-brand .logo { opacity:0; }
body[data-page="home"]:not(.home-nav-light):not(.menu-open) .nav-brand::after { content:""; position:absolute; inset:0; background:url('/assets/wordmark-endorsed-reverse.svg') left center/contain no-repeat; }
body[data-page="home"]:not(.home-nav-light):not(.menu-open) .navlinks > a,
body[data-page="home"]:not(.home-nav-light):not(.menu-open) .nav-account .nav-login { color:#f5faf5; }
body[data-page="home"]:not(.home-nav-light):not(.menu-open) .nav-account .nav-signup { border-color:#9bb6ab; background:transparent; color:#f5faf5; }
body[data-page="home"]:not(.home-nav-light):not(.menu-open) .nav .menu { color:#f5faf5; border-color:#66827b; }
body[data-page="home"].home-nav-light .nav,
body[data-page="home"].menu-open .nav { background:#f7faf3; color:#203f3c; border-bottom-color:#d7e1d9; }

/* Approved hero prototype: source copy stays editable; geometry and timing belong to Astro. */
body[data-page="home"] { --opening-paper:#f4f8f2; --opening-muted:#c3d5cc; --opening-line:#ffffff24; }
.homepage-page .home-opening,.homepage-page .home-opening-proof { color:var(--opening-paper); }
.homepage-page :where(.home-opening,.home-opening-proof) a { color:inherit; text-decoration:none; }
.homepage-page .home-opening-actions a { transform:none;font-size: var(--home-action);min-height: var(--ds-button-min);}
.homepage-page .home-opening-actions .home-opening-primary { color:var(--amlcc-ink); }
.homepage-page .home-opening-proof .opening-proof-detail { color:#c3d5c9; }

.homepage-page .home-opening{position:relative;isolation:isolate;background:var(--opening-forest);overflow:hidden;padding:91px 40px 84px;padding-inline: var(--home-gutter);}
.homepage-page .home-opening-content{position:relative;z-index:1;margin:auto;text-align:center;max-width:1120px}
.homepage-page .home-opening-intro{margin:0 0 28px;font-size:15px;line-height:1.5;font-weight:400;color:#cedfd4}
.homepage-page .home-opening h1{font-size:clamp(52px,6.1vw,88px);font-weight:600;letter-spacing:-.056em;line-height:1.06;margin:0}
.homepage-page .home-opening h1 span{display:block}
.homepage-page .home-opening h1 span+span{color:var(--opening-lime)}
.homepage-page .home-opening-description{max-width:658px;margin:28px auto 0;font-size:19px;line-height:1.65;color:var(--opening-muted);text-wrap:pretty}
.homepage-page .home-opening-actions{display:flex;justify-content:center;gap:16px;margin-top:33px}
.homepage-page .home-opening-actions a{display:flex;justify-content:space-between;align-items:center;gap:28px;min-height: var(--ds-button-min);padding:16px 22px;font-size: var(--home-action);line-height:1.4;font-weight:600;border:1px solid transparent;border-radius:var(--amlcc-radius-control);transition:background .2s,border-color .2s}
.homepage-page .home-opening-actions svg{width:22px;height:22px;flex-shrink:0;transition:transform .2s}
.homepage-page .home-opening-actions a:hover svg{transform:translateX(3px)}
.homepage-page .home-opening-primary{background:var(--opening-lime);color:var(--amlcc-ink)}
.homepage-page .home-opening-primary:hover{background:#d1ffb2}
.homepage-page .home-opening-actions .home-opening-secondary{border-color:#78958a;background:transparent}
.homepage-page .home-opening-secondary:hover{background:#ffffff08;border-color:#c1d2c8}
.homepage-page .home-opening-cass{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;font-size: 13px;color:#b9cec2;min-height: var(--ds-control-min);}
.homepage-page .home-opening-cass>span:first-child{font-weight:600;color:var(--opening-paper)}
.homepage-page .home-opening-cass>span:nth-child(2){padding-left:11px;border-left:1px solid #66887a}
.homepage-page .home-opening-cass:hover{color:var(--opening-paper);text-decoration:underline;text-underline-offset:4px}
.homepage-page .home-opening-art{
  --brand-size:clamp(560px,48.3333vw,840px);
  position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;
}
.homepage-page .home-opening-mobile-band{display:none}
.homepage-page .home-opening-bars{position:absolute;overflow:visible;width:var(--brand-size);height:auto}
.homepage-page .home-opening-bars-east{
  top:calc(var(--brand-size)*-.57);right:calc(var(--brand-size)*-.43);
  --enter-x:14.213333px;--enter-y:-26px;
}
.homepage-page .home-opening-bars-west{
  bottom:calc(var(--brand-size)*-.57);left:calc(var(--brand-size)*-.416087);
  --enter-x:-14.213333px;--enter-y:26px;
}
.homepage-page .opening-motion-strip{transform:translate(0,0)}
.homepage-page .home-opening-art[data-motion-state="ready"] .opening-motion-strip{transform:translate(var(--enter-x),var(--enter-y))}
.homepage-page .home-opening-art[data-motion-state="playing"] .opening-motion-strip{
  animation:align-bar 1320ms cubic-bezier(.22,.65,.18,1) both;
  animation-delay:calc(100ms + var(--phase)*60ms);
}
.homepage-page .home-opening-art[data-motion-paused="true"] .opening-motion-strip{animation-play-state:paused}
@keyframes align-bar{from{transform:translate(var(--enter-x),var(--enter-y))}to{transform:translate(0,0)}}
.homepage-page .home-opening-proof{background:var(--opening-forest)}
.homepage-page .home-opening-proof-inner{max-width:1344px;margin:0 auto;display:grid;grid-template-columns:1fr 1.35fr .65fr;gap:64px;padding:29px 0 34px;border-top:1px solid var(--opening-line)}
.homepage-page .opening-proof-item{display:flex;flex-direction:column;align-items:flex-start;line-height:1.4}
.homepage-page .opening-proof-label{display:block;margin-bottom:11px;font-size: 12px;color:#a6c0b2}
.homepage-page .opening-proof-item strong{display:block;font-size:20px;font-weight:600;letter-spacing:-.025em;margin-bottom:5px}
.homepage-page .opening-proof-detail{display:block;font-size: 13px;color:#c3d5c9;line-height:1.55}
.homepage-page .opening-proof-institution{display:flex;flex-direction:row;gap:22px;align-items:center}
.homepage-page .opening-proof-institution img{width:42px;height:42px;flex:0 0 42px}
.homepage-page .opening-proof-reach strong{font-size:35px;letter-spacing:-.045em;line-height:1}
.homepage-page .opening-proof-reach strong span{font-size:24px;vertical-align:top;line-height:1}
.homepage-page .opening-proof-item:hover strong{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
@media(min-width:1600px){.homepage-page .home-opening{padding-top:115px;padding-bottom:108px;padding-inline: var(--home-gutter);}}
@media(max-width:1440px){.homepage-page .home-opening-proof-inner{margin-inline:auto}}
@media(max-width:1150px){.homepage-page .home-opening{padding-top:83px;padding-inline: var(--home-gutter);}.homepage-page .home-opening-proof-inner{gap:36px}}
@media(max-width:980px){.homepage-page .home-opening{padding:90px 32px 70px;padding-inline: var(--home-gutter);}.homepage-page .home-opening-art{--brand-size:clamp(440px,58vw,560px)}.homepage-page .home-opening-bars-east{top:calc(var(--brand-size)*-.585)}.homepage-page .home-opening-bars-west{bottom:calc(var(--brand-size)*-.585)}.homepage-page .home-opening-description{max-width:570px;font-size:18px}.homepage-page .home-opening-proof-inner{margin-inline:auto;gap:24px;grid-template-columns:1fr 1.4fr .6fr}.homepage-page .opening-proof-item strong{font-size:17px}.homepage-page .opening-proof-institution{gap:15px}.homepage-page .opening-proof-institution img{width:32px;height:32px;flex-basis:32px}.homepage-page .opening-proof-reach strong{font-size:31px}}
@media(max-width:600px){.homepage-page .home-opening{padding:62px 22px 36px;padding-inline: var(--home-gutter);}.homepage-page .home-opening-content{text-align:left}.homepage-page .home-opening-intro{max-width:250px;font-size:13px;line-height:1.5;margin-bottom:18px}.homepage-page .home-opening h1{font-size:clamp(36px,9.6vw,42px);letter-spacing:-.045em;line-height:1.1}.homepage-page .home-opening-description{margin-top:20px;font-size:16px;line-height:1.6}.homepage-page .home-opening-actions{flex-direction:column;margin-top:24px;gap:10px}.homepage-page .home-opening-actions a{min-height: var(--ds-button-min);padding:14px 17px;font-size: var(--home-action)}.homepage-page .home-opening-cass{font-size: 13px;gap:8px;justify-content:flex-start;flex-wrap:wrap;margin-top:18px;min-height: var(--ds-control-min);}.homepage-page .home-opening-cass>span:nth-child(2){padding-left:9px}.homepage-page .home-opening-bars-west{display:none}.homepage-page .home-opening-art{--brand-size:clamp(300px,84vw,400px)}.homepage-page .home-opening-bars-east{top:calc(var(--brand-size)*-.61);right:calc(var(--brand-size)*-.46)}.homepage-page .home-opening-proof-inner{margin-inline:auto;grid-template-columns:1fr 1fr;padding-top:25px;padding-bottom:29px;gap:24px 18px}.homepage-page .opening-proof-item strong{font-size:17px}.homepage-page .opening-proof-detail{font-size: 13px}.homepage-page .opening-proof-label{font-size: 12px;margin-bottom:9px}.homepage-page .opening-proof-institution{grid-row:2;grid-column:1/-1;border-top:1px solid var(--opening-line);padding-top:23px;flex-direction:row-reverse;justify-content:space-between;gap:20px}.homepage-page .opening-proof-institution img{width:38px;height:38px;flex-basis:38px}.homepage-page .opening-proof-reach{padding-left:20px}.homepage-page .opening-proof-reach strong{font-size:32px}}
@media(max-width:360px){.homepage-page .home-opening{padding-inline: var(--home-gutter)}.homepage-page .home-opening h1{font-size:36px}.homepage-page .home-opening-actions a{font-size: var(--home-action);min-height: var(--ds-button-min);}}
@media(prefers-reduced-motion:reduce){.homepage-page .opening-motion-strip{animation:none!important;transform:none!important}.homepage-page .home-opening-actions a,.homepage-page .home-opening-actions svg{transition:none}}
/* The shared navigation keeps its drawer and scroll-contrast behavior. */
body[data-page="home"] .nav-inner { max-width:1440px; }
@media(prefers-reduced-motion:reduce) { body[data-page="home"] .nav { transition:none; } }


/* A complete brand gesture at phone widths. */
@media (max-width: 600px) {


  .homepage-page .home-opening-bars-east { display: none; }
  .homepage-page .home-opening-mobile-band {
    --enter-x: 9px;
    --enter-y: -16px;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    align-items: start;
    gap: 10px;
    position: absolute;
    inset-inline: 0;
    top: 8px;
    mask-image: linear-gradient(to right, transparent, #0004 18%, #000a 45%, #000 75%, #0008 92%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, #0004 18%, #000a 45%, #000 75%, #0008 92%, transparent);
  }
  .homepage-page .home-opening-mobile-band svg { display: block; width: 100%; max-width: 44px; height: auto; overflow: visible; justify-self: center; }
}
