/* ARTIFACT Animated Home — palette taken from the ARTIFACT logo */
@font-face{font-family:"AH Serif";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"AH Serif";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* The lightbox is moved to <body> by JS (above the Divi fixed header), so it shares the tokens. */
.ah,.ah-lightbox{
	--ink:#0c0a21;--night:#151236;--indigo:#231f46;--violet:#50418e;--purple:#583485;--royal:#4062a7;--blue:#3f8fc9;--sky:#57a7dc;--lilac:#a48abb;--mist:#8282b9;
	--paper:#f5f4fb;--text:#1c1a33;--muted:#5d5a78;--line:rgba(28,26,51,.12);
	--grad:linear-gradient(100deg,#57a7dc 0%,#4062a7 35%,#50418e 68%,#a48abb 100%);
	--f-head:"Montserrat",Helvetica,Arial,sans-serif;--f-body:"Open Sans",Arial,sans-serif;--f-serif:"AH Serif","Instrument Serif",Georgia,serif;--f-mono:ui-monospace,"SF Mono",Menlo,Consolas,"Courier New",monospace;
	--gutter:clamp(20px,5vw,64px);--ease:cubic-bezier(.22,1,.36,1);
	font-family:var(--f-body);color:var(--text);background:#fff;overflow:hidden;-webkit-font-smoothing:antialiased;line-height:1.6;font-size:16px;
}
.ah *,.ah *::before,.ah *::after,.ah-lightbox *{box-sizing:border-box}
.ah h1,.ah h2,.ah h3,.ah p,.ah ul,.ah ol,.ah dl,.ah dd,.ah figure,.ah-lightbox h3,.ah-lightbox p{margin:0;padding:0}
.ah h1,.ah h2,.ah h3{font-family:var(--f-head);color:inherit;line-height:1.1;font-weight:700}
.ah ul,.ah ol{list-style:none}
.ah a,.ah-lightbox a{color:inherit;text-decoration:none}
.ah img,.ah video,.ah svg{display:block;max-width:100%}
.ah button,.ah-lightbox button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.ah :focus-visible{outline:2px solid var(--sky);outline-offset:3px;border-radius:6px}
#main-content:has(> .ah){background:var(--ink)}
#main-content:has(> .ah)::before{display:none}

.ah-wrap{width:min(1240px,100% - 2*var(--gutter));margin-inline:auto;position:relative}
.ah-serif{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:0;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.ah-mono{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.04em}
.ah-kicker{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--violet);display:flex;align-items:center;gap:.75em;margin-bottom:1.1rem!important}
.ah-kicker::before{content:"";width:28px;height:2px;background:var(--grad);border-radius:2px}
.ah-kicker--light{color:var(--sky)}
.ah-h2{font-size:clamp(2rem,4.2vw,3.6rem);font-weight:800;letter-spacing:-.025em;line-height:1.02;max-width:18ch}
.ah-h2 .ah-serif{font-size:1.1em}
.ah-h2--light{color:#fff}

/* Buttons */
.ah-btn{display:inline-flex;align-items:center;gap:.7em;padding:1em 1.6em;border-radius:999px;font-family:var(--f-head);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;position:relative;overflow:hidden;isolation:isolate;transition:color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.ah-btn svg{width:18px;height:18px;transition:translate .35s var(--ease)}
.ah-btn:hover svg{translate:4px 0}
.ah-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad);transform:translateY(101%);transition:transform .45s var(--ease)}
.ah-btn:hover::before{transform:none}
.ah .ah-btn--light{background:#fff;color:var(--indigo)}
.ah .ah-btn--light:hover{color:#fff;box-shadow:0 10px 40px -10px rgba(87,167,220,.7)}
.ah .ah-btn--ghost{color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.ah-btn--ghost:hover{border-color:transparent}
.ah .ah-btn--dark{background:var(--indigo);color:#fff}

/* ============ HERO ============ */
.ah-hero{position:relative;min-height:calc(100svh - var(--ah-header,80px));display:flex;align-items:center;padding:clamp(48px,7vw,96px) 0 clamp(90px,9vw,120px);color:#fff;
	background:radial-gradient(60% 70% at 85% 30%,rgba(80,65,142,.55),transparent 70%),radial-gradient(50% 60% at 10% 90%,rgba(63,143,201,.35),transparent 70%),var(--ink);isolation:isolate}
.ah-hero__mark{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.ah-hero__strokes{position:absolute;inset:0;width:100%;height:100%;z-index:-1;mix-blend-mode:screen}
.ah-hero__veil{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(12,10,33,.82) 0%,rgba(12,10,33,.5) 32%,rgba(12,10,33,0) 58%)}
.ah-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.4;filter:saturate(1.2)}
.ah-hero__grid{display:block}
.ah-hero__copy{max-width:min(640px,52%)}
.ah-eyebrow{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:.8em;margin-bottom:1.6rem!important}
.ah-pulse{width:8px;height:8px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 0 rgba(87,167,220,.7);animation:ah-pulse 2.2s infinite}
@keyframes ah-pulse{70%{box-shadow:0 0 0 12px rgba(87,167,220,0)}100%{box-shadow:0 0 0 0 rgba(87,167,220,0)}}
.ah .ah-hero__title{font-size:clamp(2.4rem,4.1vw,4.2rem);font-weight:800;letter-spacing:-.035em;line-height:.98;color:#fff}
.ah-line{display:block;overflow:hidden;padding:.04em 0 .1em;margin-bottom:-.06em}
.ah-line>span{display:block}
.ah-hero__title .ah-serif{font-size:1.14em;line-height:.9}
.ah-hero__lead{font-size:clamp(1rem,1.25vw,1.15rem);color:rgba(255,255,255,.78);max-width:46ch;margin-top:1.6rem!important}
.ah-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:2.2rem}
.ah-hero__eu{display:flex;align-items:center;gap:14px;margin-top:2.6rem;font-size:.82rem;line-height:1.35;color:rgba(255,255,255,.85)}
.ah-hero__eu svg{width:54px;height:36px;flex:none}
.ah-hero__eu small{color:rgba(255,255,255,.55);font-size:.74rem}
.ah-hero__prompt{position:absolute;right:var(--gutter);bottom:clamp(70px,9vh,110px);margin:0!important;display:flex;align-items:center;gap:10px;max-width:min(92%,520px);padding:12px 18px;border-radius:14px;background:rgba(21,18,54,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);font-family:var(--f-mono);font-size:.82rem;color:#fff;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.ah-hero__prompt .ah-mono{color:var(--sky);white-space:nowrap}
.ah-caret{width:8px;height:1.1em;background:var(--sky);animation:ah-blink 1s steps(1) infinite;flex:none}
@keyframes ah-blink{50%{opacity:0}}
.ah-scrollcue{position:absolute;left:50%;bottom:22px;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.ah-scrollcue i{width:1px;height:44px;background:linear-gradient(rgba(255,255,255,.7),transparent);position:relative;overflow:hidden}
.ah-scrollcue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--sky);animation:ah-drip 1.8s var(--ease) infinite}
@keyframes ah-drip{to{top:100%}}

/* ============ RIBBONS ============ */
.ah-ribbons{position:relative;height:clamp(150px,17vw,220px);background:var(--paper);overflow:hidden}
.ah-ribbon{position:absolute;left:-5%;width:110%;top:50%;padding:clamp(12px,1.4vw,20px) 0;white-space:nowrap}
.ah-ribbon--a{background:var(--grad);color:#fff;transform:translateY(-70%) rotate(-3deg);z-index:2;box-shadow:0 18px 40px -18px rgba(80,65,142,.6)}
.ah-ribbon--b{background:var(--ink);color:rgba(255,255,255,.9);transform:translateY(-30%) rotate(2.5deg)}
.ah-ribbon__track{display:flex;width:max-content}
.ah-ribbon__set{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);padding-right:clamp(18px,2.4vw,36px);font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(1.2rem,2.6vw,2.2rem)}
.ah-ribbon--b .ah-ribbon__set{font-family:var(--f-serif);font-style:italic;font-weight:400;text-transform:none;font-size:clamp(1.4rem,2.9vw,2.5rem)}
.ah-ribbon__set b{font-size:.6em;color:var(--sky)}
.ah-ribbon--a .ah-ribbon__set b{color:#fff;opacity:.7}

/* ============ MANIFESTO ============ */
.ah-manifesto{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);padding:clamp(60px,9vw,140px) 0 clamp(80px,10vw,150px)}
/* Impasto strokes compose themselves behind the text; the veil keeps the copy readable. */
.ah-manifesto__paint{position:absolute;inset:0;width:100%;height:100%;z-index:-2;-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent)}
.ah-manifesto__veil{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(245,244,251,.93) 0%,rgba(245,244,251,.86) 42%,rgba(245,244,251,.45) 62%,rgba(245,244,251,.12) 100%)}
.ah-manifesto__grid{display:block}
.ah-manifesto__copy{max-width:min(720px,60%)}
.ah .ah-manifesto__text{font-family:var(--f-head);font-weight:600;font-size:clamp(1.55rem,2.9vw,2.65rem);line-height:1.22;letter-spacing:-.02em;color:var(--text)}
.ah-manifesto__text .ah-w{color:rgba(28,26,51,.16);transition:color .2s linear}
.ah-manifesto__text .ah-w.is-on{color:var(--text)}
.ah-manifesto__text .ah-serif .ah-w,.ah-manifesto__text .ah-serif .ah-w.is-on{color:inherit}
.ah-manifesto__text .ah-serif{opacity:.25;transition:opacity .3s}
.ah-manifesto__text .ah-serif.is-on{opacity:1}
.ah-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:20px;margin-top:clamp(36px,5vw,64px)!important;border-top:1px solid var(--line);padding-top:28px!important}
.ah-stats dt{font-family:var(--f-head);font-weight:800;font-size:clamp(2.4rem,4vw,3.4rem);line-height:1;letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ah-stats dd{font-size:.86rem;color:var(--muted);margin-top:6px}

/* ============ OBJECTIVES ============ */
.ah-objectives{background:linear-gradient(180deg,var(--paper),#e9e8f7);position:relative}
.ah-objectives__pin{padding:clamp(60px,8vw,110px) 0;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.ah-objectives__head{margin-bottom:clamp(30px,4vw,56px)}
.ah-objectives__viewport{overflow:hidden}
.ah-objectives__track{display:flex;gap:clamp(16px,2vw,28px);padding:10px max(var(--gutter),calc((100% - 1240px)/2));width:max-content}
.ah-obj{position:relative;width:min(440px,78vw);min-height:clamp(380px,46vh,470px);padding:clamp(26px,3vw,40px);border-radius:28px;color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;box-shadow:0 30px 60px -30px rgba(35,31,70,.6)}
.ah-obj:nth-child(1){background:linear-gradient(150deg,#57a7dc,#4062a7)}
.ah-obj:nth-child(2){background:linear-gradient(150deg,#4062a7,#50418e)}
.ah-obj:nth-child(3){background:linear-gradient(150deg,#50418e,#583485)}
.ah-obj:nth-child(4){background:linear-gradient(150deg,#583485,#a48abb)}
.ah-obj::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 60% at 100% 0%,rgba(255,255,255,.25),transparent 60%);opacity:.8}
.ah-obj__num{position:absolute;top:10px;right:22px;font-family:var(--f-head);font-weight:900;font-size:clamp(6rem,10vw,9rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.45);letter-spacing:-.05em}
.ah-obj__icon{position:absolute;top:clamp(26px,3vw,40px);left:clamp(26px,3vw,40px);width:64px;height:64px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ah-obj__icon circle{stroke:rgba(255,255,255,.35);stroke-width:1.5;stroke-dasharray:4 6}
.ah .ah-obj h3{font-size:clamp(1.35rem,1.9vw,1.7rem);font-weight:800;letter-spacing:-.02em;margin-bottom:.8rem;color:#fff;max-width:16ch}
.ah-obj p{font-size:.98rem;color:rgba(255,255,255,.85)}
.ah-objectives__bar{height:2px;background:var(--line);margin-top:clamp(28px,4vw,48px);border-radius:2px;overflow:hidden}
.ah-objectives__bar i{display:block;height:100%;background:var(--grad);transform-origin:0 50%;transform:scaleX(0)}

/* ============ VIDEO PILLS ============ */
.ah-voices{position:relative;background:var(--ink);color:#fff;padding:clamp(70px,9vw,130px) 0 clamp(60px,7vw,100px);isolation:isolate;overflow:hidden}
.ah-voices__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.ah-voices__bg span{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:ah-float 18s ease-in-out infinite alternate}
.ah-voices__bg span:nth-child(1){width:40vw;height:40vw;left:-10vw;top:-10vw;background:#4062a7}
.ah-voices__bg span:nth-child(2){width:34vw;height:34vw;right:-8vw;top:20%;background:#583485;animation-duration:22s}
.ah-voices__bg span:nth-child(3){width:30vw;height:30vw;left:30%;bottom:-16vw;background:#3f8fc9;opacity:.3;animation-duration:26s}
@keyframes ah-float{to{translate:6vw 4vw;scale:1.15}}
.ah-voices.is-preview{outline:3px dashed rgba(164,138,187,.6);outline-offset:-12px}
.ah-preview-note{position:relative;z-index:3;width:fit-content;max-width:calc(100% - 40px);margin:0 auto 28px!important;padding:10px 18px;border-radius:999px;background:#fff3c4;color:#4a3b00;font-size:.85rem;text-align:center}
.ah-preview-note a{text-decoration:underline}
.ah-voices__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.ah-voices__title{font-size:clamp(2.6rem,6vw,5.4rem);max-width:none}
.ah-voices__side p{color:rgba(255,255,255,.72);margin-bottom:1.4rem!important;max-width:44ch}

.ah-carousel{position:relative;perspective:1400px;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;padding:20px 0 30px}
.ah-carousel.is-dragging{cursor:grabbing}
.ah-carousel__track{display:flex;gap:clamp(14px,1.8vw,26px);width:max-content;transform-style:preserve-3d;will-change:transform}
.ah-carousel__ui{display:flex;align-items:center;gap:24px;margin-top:8px}
.ah-carousel__count{color:rgba(255,255,255,.7);font-size:.9rem;min-width:70px}
.ah-carousel__count [data-current]{color:#fff;font-weight:700}
.ah-carousel__progress{flex:1;height:2px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden}
.ah-carousel__progress i{display:block;height:100%;width:100%;background:var(--grad);transform-origin:0 50%;transform:scaleX(.1);transition:transform .5s var(--ease)}
.ah-carousel__arrows{display:flex;gap:10px}
.ah-carousel__arrows button{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);display:grid;place-items:center;transition:background .3s,border-color .3s}
.ah-carousel__arrows button:hover{background:#fff;color:var(--indigo);border-color:#fff}
.ah-carousel__arrows svg{width:20px;height:20px}

.ah-pill{position:relative;flex:none;width:clamp(220px,21vw,290px);aspect-ratio:9/16;border-radius:24px;transform-style:preserve-3d}
.ah-pill__btn{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;overflow:hidden;text-align:left;display:block;background:hsl(calc(250 + var(--h,0) * .2) 45% 22%);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);isolation:isolate}
.ah-pill__btn::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.14);pointer-events:none}
.ah-pill__media{position:absolute;inset:0;z-index:-1}
.ah .ah-pill__media img,.ah .ah-pill__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s,scale .8s var(--ease),filter .5s}
.ah-pill__media video{opacity:0}
.ah-pill.is-playing .ah-pill__media video,.ah-pill__media video:only-child{opacity:1}
.ah-pill__media img{filter:saturate(.75)}
.ah-pill:hover .ah-pill__media img,.ah-pill.is-active .ah-pill__media img{filter:none}
.ah-pill:hover .ah-pill__media>*{scale:1.04}
.ah-pill__initials{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-serif);font-style:italic;font-size:6rem;color:rgba(255,255,255,.85);background:radial-gradient(90% 70% at 30% 20%,hsl(calc(200 + var(--h,0) * .25) 60% 55%),transparent 70%),linear-gradient(160deg,#4062a7,#583485)}
.ah-pill__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,33,.45) 0%,transparent 22%,transparent 45%,rgba(12,10,33,.92) 100%);pointer-events:none}
.ah-pill__top{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em}
.ah-pill__tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(12,10,33,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-transform:uppercase}
.ah-pill__tag i{width:6px;height:6px;border-radius:50%;background:#ff4f7b}
.ah-pill.is-playing .ah-pill__tag i{animation:ah-blink 1s steps(1) infinite}
.ah-pill__time{padding:5px 9px;border-radius:999px;background:rgba(12,10,33,.5)}
.ah-pill__play{position:absolute;top:50%;left:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.4);transition:scale .4s var(--ease),background .3s,opacity .3s;opacity:.9}
.ah-pill__play svg{width:24px;height:24px;margin-left:3px}
.ah-pill__btn:hover .ah-pill__play{scale:1.12;background:#fff;color:var(--indigo);opacity:1}
.ah-pill__meta{position:absolute;left:18px;right:18px;bottom:18px;display:flex;flex-direction:column;gap:4px}
.ah-pill__role{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sky)}
.ah-pill__name{font-family:var(--f-head);font-weight:800;font-size:1.3rem;line-height:1.1;letter-spacing:-.02em}
.ah-pill__quote{font-family:var(--f-serif);font-style:italic;font-size:1.05rem;line-height:1.25;color:rgba(255,255,255,.82);margin-top:4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ah-pill--more{display:grid;place-items:center;border-radius:24px;border:1.5px dashed rgba(255,255,255,.3);text-align:center;transition:background .4s,border-color .4s}
.ah-pill--more:hover{background:rgba(255,255,255,.06);border-color:var(--sky)}
.ah-pill__more{display:flex;flex-direction:column;gap:14px;align-items:center;padding:20px}
.ah-pill__more .ah-serif{font-size:2.4rem;line-height:1}
.ah-pill__morecta{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-head);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.ah-pill__morecta svg{width:16px;height:16px}

/* Lightbox */
.ah-lightbox{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px;background:none;overflow:hidden}
.ah-lightbox[hidden]{display:none}
.ah-lightbox__backdrop{position:absolute;inset:0;background:rgba(8,6,24,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.ah-lightbox__stage{position:relative;display:grid;grid-template-columns:auto auto auto minmax(0,320px);align-items:center;gap:clamp(10px,2vw,28px);max-width:100%}
.ah-lightbox__frame{position:relative;height:min(84vh,820px);aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 40px 100px -20px rgba(0,0,0,.9)}
.ah-lightbox__frame video,.ah-lightbox__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;background:#000}
.ah-lightbox__frame iframe{background:#fff}
.ah-lightbox__nav,.ah-lightbox__close{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;border:1.5px solid rgba(255,255,255,.3);transition:background .3s,color .3s}
.ah-lightbox__nav:hover,.ah-lightbox__close:hover{background:#fff;color:var(--indigo)}
.ah-lightbox__nav svg,.ah-lightbox__close svg{width:22px;height:22px}
.ah-lightbox__nav[disabled]{opacity:.25;pointer-events:none}
.ah-lightbox__close{position:absolute;top:20px;right:20px}
.ah-lightbox__info{color:#fff}
.ah-lightbox__role{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sky)}
.ah-lightbox .ah-lightbox__name{font-family:var(--f-head);line-height:1.1;font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:800;letter-spacing:-.02em;margin:8px 0 14px;color:#fff}
.ah-lightbox__quote{font-family:var(--f-serif);font-style:italic;font-size:1.3rem;line-height:1.3;color:rgba(255,255,255,.85)}
.ah-lightbox__ig{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-family:var(--f-head);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.8em 1.2em;border-radius:999px;border:1.5px solid rgba(255,255,255,.3);transition:background .3s,color .3s}
.ah-lightbox__ig:hover{background:#fff;color:var(--indigo)}
.ah-lightbox__ig svg{width:18px;height:18px}
.ah-lightbox__ig[hidden]{display:none}
html.ah-locked,html.ah-locked body{overflow:hidden}

/* ============ MILESTONES ============ */
.ah-milestones{background:#fff;padding:clamp(70px,9vw,130px) 0}
.ah-milestones__line{position:relative;margin-top:clamp(40px,5vw,70px)}
.ah-milestones__line svg{position:absolute;left:0;right:0;top:0;width:100%;height:80px;overflow:visible}
.ah-milestones__line path{fill:none;stroke-width:6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ah-milestones__ghost{stroke:var(--line);stroke-dasharray:2 10}
.ah-milestones__path{stroke:url(#ah-ms-grad)}
.ah-milestones__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,36px);position:relative}
.ah-ms{padding-top:110px;position:relative}
.ah-ms__dot{position:absolute;left:var(--dx,24px);top:var(--dy,40px);width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#fff;border:3px solid var(--line);transition:border-color .4s,background .4s,box-shadow .4s}
.ah-ms.is-on .ah-ms__dot{border-color:var(--violet);background:var(--sky);box-shadow:0 0 0 8px rgba(87,167,220,.18)}
.ah-ms__step{color:var(--violet);text-transform:uppercase}
.ah .ah-ms h3{font-size:1.25rem;font-weight:800;letter-spacing:-.015em;margin:10px 0 8px;color:var(--text)}
.ah-ms p{color:var(--muted);font-size:.95rem}

/* ============ NEWS ============ */
.ah-news{background:var(--paper);padding:clamp(70px,9vw,130px) 0}
.ah-news__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.ah-news__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-auto-rows:auto;gap:clamp(16px,2vw,26px)}
.ah-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 1px 0 var(--line);transition:box-shadow .5s var(--ease)}
.ah-card:hover{box-shadow:0 30px 60px -30px rgba(35,31,70,.35)}
.ah-card>a{display:grid;grid-template-columns:38% 1fr;height:100%}
.ah-card__img{position:relative;overflow:hidden;display:block;min-height:150px;background:var(--grad)}
/* !important: some themes put an inline size on post thumbnails */
.ah .ah-card__img img,.ah-card__noimg{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transition:scale 1s var(--ease)}
.ah-card__img::after{content:"";position:absolute;inset:0;background:var(--grad);mix-blend-mode:color;opacity:.55;transition:opacity .6s var(--ease)}
.ah-card:hover .ah-card__img::after{opacity:0}
.ah-card:hover .ah-card__img img{scale:1.06}
.ah-card__body{display:flex;flex-direction:column;gap:10px;padding:clamp(18px,2vw,26px)}
.ah-card__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--f-mono);font-size:.72rem;color:var(--muted);letter-spacing:.04em}
.ah-tag{padding:3px 9px;border-radius:999px;background:rgba(80,65,142,.1);color:var(--violet);text-transform:uppercase;letter-spacing:.08em}
.ah-card__title{font-family:var(--f-head);font-weight:700;font-size:1.08rem;line-height:1.25;letter-spacing:-.01em;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ah-card__excerpt{color:var(--muted);font-size:.98rem}
.ah-card__more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--f-head);font-weight:700;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--violet)}
.ah-card__more svg{width:16px;height:16px;transition:translate .35s var(--ease)}
.ah-card:hover .ah-card__more svg{translate:4px 0}
.ah-card--feature{grid-row:span 3}
.ah-card--feature>a{grid-template-columns:1fr;grid-template-rows:minmax(260px,1fr) auto}
.ah-card--feature .ah-card__img{min-height:clamp(260px,30vw,420px)}
.ah-card--feature .ah-card__body{padding:clamp(24px,3vw,38px)}
.ah-card--feature .ah-card__title{font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:800;letter-spacing:-.025em;-webkit-line-clamp:4}

/* ============ NETWORK ============ */
.ah-network{position:relative;background:var(--ink);color:#fff;padding:clamp(80px,10vw,150px) 0 clamp(60px,7vw,100px);overflow:hidden;isolation:isolate}
.ah-network__bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.ah .ah-network__bg img{position:absolute;left:0;top:-15%;width:100%;height:130%;object-fit:cover;opacity:.55}
.ah-network__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--ink),rgba(12,10,33,.3) 30%,rgba(12,10,33,.5) 70%,var(--ink))}
.ah-network__giant{position:absolute;z-index:-1;top:6%;left:0;white-space:nowrap;font-family:var(--f-head);font-weight:900;font-size:clamp(5rem,15vw,14rem);line-height:1;letter-spacing:-.04em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);pointer-events:none}
.ah-network__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:start}
.ah-network__lead{color:rgba(255,255,255,.75);margin-top:1.2rem!important;max-width:44ch}
.ah-network__cta{margin-top:2rem}
.ah-benefits{border-top:1px solid rgba(255,255,255,.15)}
.ah-benefits li{display:flex;gap:20px;padding:22px 16px;border-bottom:1px solid rgba(255,255,255,.15);border-radius:4px;transition:background .4s}
.ah-benefits li:hover{background:rgba(255,255,255,.05)}
.ah-benefits .ah-mono{color:var(--sky);padding-top:5px}
.ah .ah-benefits h3{font-size:1.2rem;font-weight:700;margin-bottom:4px;color:#fff}
.ah-benefits p{color:rgba(255,255,255,.7);font-size:.95rem}
.ah-surveys{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(16px,2vw,26px);margin-top:clamp(50px,7vw,100px)}
.ah-survey{position:relative;display:flex;align-items:flex-end;min-height:260px;border-radius:24px;overflow:hidden;padding:clamp(22px,3vw,34px);isolation:isolate;border:1px solid rgba(255,255,255,.14)}
.ah .ah-survey img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:scale 1s var(--ease)}
.ah-survey::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 20%,rgba(12,10,33,.9))}
.ah-survey:hover img{scale:1.05}
.ah-survey--alt{background:var(--grad)}
.ah-survey--alt::before{background:radial-gradient(70% 80% at 100% 0%,rgba(255,255,255,.25),transparent)}
.ah-survey>span{display:flex;flex-direction:column;gap:6px}
.ah-survey .ah-mono{color:var(--sky);text-transform:uppercase}
.ah-survey--alt .ah-mono{color:rgba(255,255,255,.85)}
.ah-survey strong{font-family:var(--f-head);font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.15;letter-spacing:-.02em}
.ah-survey em{font-style:normal;color:rgba(255,255,255,.8);font-size:.95rem;max-width:44ch}

/* ============ PARTNERS ============ */
.ah-partners{background:#fff;padding:clamp(70px,8vw,120px) 0}
.ah-partners__group+.ah-partners__group{margin-top:clamp(50px,6vw,90px)}
.ah .ah-partners__title{text-align:center;font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:800;letter-spacing:-.02em;color:var(--indigo);margin-bottom:clamp(28px,3vw,44px)}
.ah-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(28px,5vw,80px)}
.ah .ah-logos img{height:72px;max-width:200px;width:auto;object-fit:contain;filter:grayscale(1) contrast(1.1);opacity:.75;transition:filter .5s,opacity .5s,scale .5s var(--ease)}
.ah .ah-logos--small img{height:54px;max-width:170px}
.ah-logos li:hover img{filter:none;opacity:1;scale:1.06}

/* ============ VIDEO PILLS ARCHIVE ============ */
.ah-voices--archive{min-height:80vh;padding-top:clamp(40px,6vw,80px)}
.ah-archive__head{margin-bottom:clamp(36px,5vw,64px)}
.ah .ah-back{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.7);margin-bottom:28px;text-transform:uppercase}
.ah-back svg{width:16px;height:16px}
.ah .ah-back:hover{color:#fff}
.ah .ah-archive__title{font-size:clamp(3rem,8vw,7rem);font-weight:800;letter-spacing:-.04em;line-height:.95;color:#fff}
.ah-archive__intro{color:rgba(255,255,255,.72);max-width:56ch;margin-top:1.4rem!important;font-size:1.05rem}
.ah-pillgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,44vw),1fr));gap:clamp(14px,2vw,26px)}
.ah-pillgrid .ah-pill{width:auto}
.ah-pillgrid .ah-pill:nth-child(4n+2){translate:0 40px}
.ah-pillgrid .ah-pill:nth-child(4n+4){translate:0 40px}
.ah-pillgrid{padding-bottom:40px}
.ah-archive__empty{font-family:var(--f-serif);font-style:italic;font-size:2rem;color:rgba(255,255,255,.75)}

/* ============ Reveal (set up by JS) ============ */
.ah-js .ah [data-reveal],.ah-js .ah [data-hero-in]{opacity:0}
.ah-js .ah .ah-line>span{transform:translateY(110%)}

/* ============ Responsive ============ */
@media (max-width:980px){
	.ah-hero{min-height:0;padding-top:36px}
	.ah-hero{padding-top:clamp(200px,52vw,380px);flex-direction:column;align-items:stretch}
	.ah-hero__copy{max-width:none}
	.ah-hero__mark{opacity:.85}
	.ah-hero__veil{background:linear-gradient(180deg,rgba(12,10,33,0) 0%,rgba(12,10,33,.55) 30%,rgba(12,10,33,.85) 60%)}
	.ah-hero__prompt{position:static;margin:28px var(--gutter) 0!important;font-size:.74rem;max-width:none}
	.ah-scrollcue{display:none}
	.ah-network__grid,.ah-voices__head{grid-template-columns:1fr}
	.ah-manifesto__copy{max-width:none}
	.ah-manifesto__veil{background:linear-gradient(180deg,rgba(245,244,251,.9) 0%,rgba(245,244,251,.86) 55%,rgba(245,244,251,.3) 100%)}
	.ah-objectives__pin{min-height:0}
	.ah-objectives__viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.ah-objectives__viewport::-webkit-scrollbar{display:none}
	.ah-obj{scroll-snap-align:center}
	.ah-objectives__bar{display:none}
	.ah-milestones__line svg{display:none}
	.ah-milestones__list{grid-template-columns:1fr;gap:0;border-left:2px solid var(--line);margin-left:11px}
	.ah-ms{padding:0 0 34px 34px}
	.ah-ms__dot{left:-1px;top:4px}
	.ah-news__grid{grid-template-columns:1fr}
	.ah-card--feature{grid-row:auto}
	.ah-surveys{grid-template-columns:1fr}
	.ah-lightbox__stage{grid-template-columns:1fr;justify-items:center}
	.ah-lightbox__frame{height:min(72vh,680px);max-width:calc(100vw - 40px);order:-1}
	.ah-lightbox__nav{position:absolute;top:calc(min(72vh,680px)/2);z-index:2;background:rgba(12,10,33,.5)}
	.ah-lightbox__nav--prev{left:4px}
	.ah-lightbox__nav--next{right:4px}
	.ah-lightbox__info{text-align:center;max-width:420px}
	.ah-lightbox .ah-lightbox__name{margin:4px 0 6px;font-size:1.4rem}
	.ah-lightbox__quote{font-size:1.05rem}
	.ah-lightbox__ig{margin-top:12px}
	.ah-lightbox__close{top:12px;right:12px;background:rgba(12,10,33,.5)}
}
@media (max-width:600px){
	.ah-card>a{grid-template-columns:1fr}
	.ah-card__img{min-height:190px}
	.ah-hero__cta .ah-btn{flex:1 1 auto;justify-content:center}
	.ah-carousel__progress{display:none}
	.ah-carousel__ui{justify-content:space-between}
	.ah-pillgrid .ah-pill:nth-child(n){translate:none}
	.ah-pill__name{font-size:1.1rem}
	.ah-pill__quote{font-size:.95rem}
}
@media (prefers-reduced-motion:reduce){
	.ah *,.ah *::before,.ah *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
