/*
Theme Name: Andrejs
Theme URI: https://andrejsmanagement.com/
Author: Andrejs Management Inc.
Description: Custom theme for Andrejs Management Inc., condominium management in Toronto and the GTA.
Version: 1.3.4
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: andrejs
*/

/* ---------- Fonts (self-hosted, SIL Open Font License) ---------- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('assets/fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/hanken-grotesk-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/hanken-grotesk-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/hanken-grotesk-latin-600-normal.woff2') format('woff2')}

/* ---------- Tokens ---------- */
:root{
  --accent:#c9a962;
  --accent-deep:#7d5f24;
  --ink:#17191b;
  --dark:#0f1113;
  --footer:#0a0b0c;
  --paper:#fbfaf8;
  --tone:#f1efea;
  --rule:#dcd9d2;
  --rule-strong:#cfcbc2;
  --rule-dark:#2c3135;
  --body:#3d454b;
  --muted:#5a6268;
  --on-dark:#cfd4d8;
  --on-dark-strong:#e6e9eb;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Hanken Grotesk','Segoe UI',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --gutter:40px;
  --max:1240px;
}
@media (max-width:760px){:root{--gutter:22px}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.admin-bar .site-header{top:32px}
@media (max-width:782px){body.admin-bar .site-header{top:46px}}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}
h1,h2,h3,h4,.h1,.h2,.h3,.h4{margin:0;font-family:var(--serif);font-weight:500;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--accent);color:var(--dark)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;padding:10px 16px;background:var(--dark);color:#fff}
.skip-link:focus{left:8px}
.container{width:100%;max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.site{animation:fadein .7s ease-out both;transition:opacity .32s ease,transform .32s var(--ease)}
body.is-leaving .site{opacity:0;transform:translateY(-10px)}
@keyframes fadein{from{opacity:0}to{opacity:1}}

/* ---------- Type ---------- */
.eyebrow{display:flex;align-items:center;gap:16px;font-size:11.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:"";width:44px;height:1px;background:currentColor;flex:none}
.eyebrow--plain::before{display:none}
.on-light .eyebrow,.eyebrow--deep{color:var(--accent-deep)}
.h1{font-size:clamp(46px,6.6vw,86px);line-height:.98;letter-spacing:-.015em;max-width:10.5em}
.h1--xl{font-size:clamp(60px,8vw,110px);line-height:.95;letter-spacing:-.02em}
.h2{font-size:clamp(38px,4.8vw,64px);line-height:1.02;letter-spacing:-.015em}
.h2--sm{font-size:clamp(34px,4.2vw,54px);line-height:1.04;letter-spacing:-.012em}
.h3{font-size:clamp(26px,2.6vw,34px);line-height:1.1}
.h4{font-size:28px;line-height:1.14}
em.it{font-style:italic;font-weight:500}
.lede{font-size:20px;line-height:1.6}
.lede--ink{font-size:19px;line-height:1.65;color:var(--ink)}
.body{color:var(--body)}
.small{font-size:15px;line-height:1.6}
.label{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.num{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1;letter-spacing:0;text-transform:none}
.text-center{text-align:center}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:14px;padding:20px 30px;font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;background:none;transition:transform .35s var(--ease),background-color .35s,color .35s,border-color .35s,box-shadow .3s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn svg{transition:transform .35s var(--ease);flex:none}
.btn:hover svg{transform:translateX(4px)}
.btn--primary{background:var(--accent);color:var(--dark)}
.btn--dark{background:var(--dark);color:#fff}
.btn--ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn--outline{border-color:var(--accent);color:var(--accent);padding:14px 24px}
.btn--link{padding:12px 0;border:0;border-bottom:1px solid currentColor;gap:12px}
.btn--link:hover{transform:none}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;color:#fff;transition:background-color .45s ease}
.site-header.is-scrolled{background:rgba(15,17,19,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
/* No blur while the menu is open: a backdrop-filter would trap the fixed menu panel inside the header bar. */
.site-header.is-open,.site-header.is-open.is-scrolled{background:var(--dark);-webkit-backdrop-filter:none;backdrop-filter:none}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:26px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.18)}
.site-header .container::before,.site-header .container::after{display:none}
.brand{display:flex;align-items:center;gap:12px;color:#fff;flex:none}
.brand:hover{text-decoration:none}
.brand__mark{display:block;flex:none;width:22px;height:40px}
.brand__name{font-size:23px;line-height:1;letter-spacing:-.015em;white-space:nowrap}
.brand__name b{font-weight:600}
.nav{display:flex;align-items:center;gap:8px 32px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.nav a:not(.btn){padding:12px 0;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .4s var(--ease)}
.nav a:not(.btn):hover{text-decoration:none;background-size:100% 1px}
.nav a.is-active{border-bottom:1px solid var(--accent);padding-bottom:11px}
.nav .btn{margin-left:8px}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:none;color:#fff;cursor:pointer;flex:none}
.nav-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:5px auto;transition:transform .3s,opacity .3s}
.is-open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.is-open .nav-toggle span:nth-child(2){opacity:0}
.is-open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:980px){
  .site-header .container{padding-top:16px;padding-bottom:14px}
  .nav-toggle{display:block}
  .nav{position:fixed;inset:0;top:0;height:100dvh;padding:110px var(--gutter) 40px;flex-direction:column;align-items:flex-start;gap:4px;background:var(--dark);font-size:18px;letter-spacing:.14em;transform:translateX(100%);transition:transform .4s var(--ease);overflow:auto}
  .nav a:not(.btn){padding:14px 0;border-bottom:1px solid var(--rule-dark);width:100%}
  .nav .btn{margin:24px 0 0}
  .is-open .nav{transform:none}
  .site-header .brand,.site-header .nav-toggle{position:relative;z-index:2}
  .nav{z-index:1}
  .brand__name{font-size:20px}
}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.hero--photo{min-height:860px;display:flex;flex-direction:column}
.hero--photo.hero--sub{min-height:720px}
.hero__media{position:absolute;inset:-12% 0;will-change:transform}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 18s var(--ease) both}
.hero__vignette{position:absolute;inset:0;background:radial-gradient(120% 90% at 30% 40%,rgba(15,17,19,0) 45%,rgba(15,17,19,.38) 100%);pointer-events:none}
@keyframes kb{from{transform:scale(1.1)}to{transform:scale(1)}}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,19,.86) 0%,rgba(15,17,19,.6) 40%,rgba(15,17,19,.2) 75%,rgba(15,17,19,.1) 100%)}
.hero__scrim--v{background:linear-gradient(180deg,rgba(15,17,19,.28) 0%,rgba(15,17,19,0) 28%,rgba(15,17,19,0) 58%,rgba(15,17,19,.88) 100%)}
.hero__scrim--article{background:linear-gradient(180deg,rgba(15,17,19,.55) 0%,rgba(15,17,19,.15) 35%,rgba(15,17,19,.92) 100%)}
.hero__content{position:relative;z-index:2;flex:1 0 auto;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:48px 64px;padding-top:202px;padding-bottom:72px}
.hero--photo:not(.hero--sub) .hero__content{padding-top:210px;padding-bottom:104px}
.hero--band .hero__content{padding-top:210px;padding-bottom:104px;align-items:flex-end}
.hero__main{flex:1 1 600px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.hero__aside{flex:0 1 300px;min-width:0;padding-left:24px;border-left:1px solid rgba(255,255,255,.35);display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.6;color:#d9dde0}
.hero__aside .label{color:#fff;font-size:11px;letter-spacing:.26em}
.hero__aside a{padding:2px 0}
.hero__lede{max-width:32em;color:var(--on-dark-strong)}
.hero__side-text{flex:0 1 380px;font-size:18px;line-height:1.65;color:var(--on-dark)}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.rise{animation:rise 1.1s var(--ease) both}
.rise.d1{animation-delay:.12s}.rise.d2{animation-delay:.24s}.rise.d3{animation-delay:.36s}.rise.d4{animation-delay:.48s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (max-width:760px){
  .hero--photo{min-height:0}
  .hero__content,.hero--photo:not(.hero--sub) .hero__content,.hero--band .hero__content{padding-top:130px;padding-bottom:56px;gap:32px}
  .hero__aside{display:none}
  .hero__side-text{flex-basis:100%;font-size:17px}
  .lede{font-size:18px}
}

/* ---------- Stats ---------- */
.stats{background:var(--tone);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.stats .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.stat{padding:44px 32px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:12px}
.stat:first-child{padding-left:0}
.stat:last-child{padding-right:0;border-right:0}
.stat__num{font-family:var(--serif);font-weight:500;font-size:50px;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.stat__label{font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.stats--lg .stat{padding:56px 40px}
.stats--lg .stat__num{font-size:68px}
@media (max-width:760px){
  .stats .container{grid-template-columns:1fr 1fr;padding:0 var(--gutter)}
  .stat,.stats--lg .stat{padding:28px 16px 28px 0;border-right:0;border-bottom:1px solid var(--rule)}
  .stat__num,.stats--lg .stat__num{font-size:38px}
}

/* ---------- Marquee ---------- */
.marquee{background:var(--paper);border-bottom:1px solid var(--rule);overflow:hidden}
.marquee__track{display:flex;width:max-content;padding:24px 0;font-family:var(--serif);font-weight:500;font-size:26px;line-height:1;letter-spacing:.01em;color:var(--muted);white-space:nowrap;animation:marquee 80s linear infinite}
.marquee__group{display:flex;align-items:center;gap:44px;padding-right:44px}
.marquee__dot{width:5px;height:5px;background:var(--accent);flex:none}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Sections ---------- */
.section{padding:136px 0 128px}
.section--tight{padding:112px 0}
.section--flush-bottom{padding-bottom:0}
.section--dark{background:var(--dark);color:#fff}
.section--tone{background:var(--tone);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.section--dark .body{color:var(--on-dark)}
.section--dark .eyebrow{color:var(--accent)}
.section--dark .num{color:#fff}
.on-light .num{color:var(--ink)}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px 64px}
.section-head__main{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:28px}
.section-head__main .h2{max-width:11em}
.section-head__side{flex:0 1 380px;min-width:0;color:var(--body)}
.section--dark .section-head__side{color:var(--on-dark)}
.split{display:flex;flex-wrap:wrap;align-items:flex-start;gap:48px 80px}
.split--center{align-items:center}
.split__head{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:28px}
.split__head .h2{max-width:9.5em}
.split__body{flex:1 1 460px;min-width:0;padding-top:14px;display:flex;flex-direction:column;gap:24px;color:var(--body)}
.split__body .lede--ink{color:var(--ink)}
.section--dark .split__body{color:var(--on-dark)}
.stack{display:flex;flex-direction:column;gap:72px}
.stack--lg{gap:80px}
.pull{padding-left:24px;border-left:1px solid var(--accent-deep);font-family:var(--serif);font-style:italic;font-weight:500;font-size:26px;line-height:1.3;color:var(--ink)}
@media (max-width:760px){
  .section{padding:88px 0 80px}
  .section--tight{padding:72px 0}
  .split,.section-head{gap:28px}
  .split__body{padding-top:0}
  .stack{gap:48px}
}

/* ---------- Figures ---------- */
.figure{position:relative;background:var(--rule)}
.zoom{overflow:hidden}
.zoom img{transition:transform 1.4s var(--ease)}
.zoom:hover img,a:hover .zoom img{transform:scale(1.035)}
.figure__img{width:100%;height:100%;object-fit:cover;display:block}
.figure--wide{height:clamp(260px,50vw,620px)}
.figure--band{height:clamp(240px,44vw,540px)}
.figure--43{aspect-ratio:4/3}
.figure--45{aspect-ratio:4/5}
.figure--169{aspect-ratio:16/9}
.figure--wide .figure__img,.figure--band .figure__img,.figure--43 .figure__img,.figure--45 .figure__img{position:absolute;inset:0}
.figure__badge{position:absolute;left:0;bottom:0;padding:14px 20px;background:var(--dark);color:#fff;display:flex;gap:16px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}
.figure__badge b{color:var(--accent);font-weight:600}
.figure__badge span{color:#d9dde0}
.caption{display:flex;gap:16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.caption b{color:var(--accent-deep);font-weight:600}
.overlap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px 40px}
.overlap .caption{padding-top:18px}
.overlap-card{flex:0 1 560px;position:relative;z-index:1;margin-top:-96px;padding:56px 56px 60px;background:var(--dark);color:#fff;display:flex;flex-direction:column;gap:22px}
.overlap-card .body{color:var(--on-dark)}
.overlap-card .btn--link{color:var(--accent)}
@media (max-width:760px){
  .overlap-card{margin-top:0;padding:36px 28px;flex-basis:100%}
}

/* ---------- Grids, lists, cards ---------- */
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:48px 56px}
.cols--4{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:56px 28px}
.cols--tight{gap:0 56px}
.col{padding-top:28px;border-top:1px solid var(--rule-dark);display:flex;flex-direction:column;gap:22px}
.on-light .col{border-top-color:var(--rule-strong)}
.col__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.col__roman{font-family:var(--serif);font-size:20px;color:var(--accent)}
.on-light .col__roman{color:var(--accent-deep)}
.list{display:flex;flex-direction:column;gap:12px;color:var(--on-dark)}
.on-light .list{color:var(--body)}
.list--ruled li{padding:12px 0;border-bottom:1px solid var(--rule)}
.list--ruled li:last-child{border-bottom:0}
.rows{display:flex;flex-direction:column}
.row{padding:28px 0;border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px 40px}
.row:first-child{padding-top:0}
.row:last-child{border-bottom:0;padding-bottom:0}
.row__title{flex:0 0 200px;font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.2}
.row__text{flex:1 1 280px;color:var(--body)}
.numbered{display:flex;flex-direction:column}
.numbered li{padding:36px 0;border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:12px 40px}
.numbered li:first-child{padding-top:0}
.numbered li:last-child{border-bottom:0;padding-bottom:0}
.numbered__n{flex:0 0 72px;font-family:var(--serif);font-weight:500;font-size:44px;line-height:1;color:var(--accent-deep)}
.numbered__body{flex:1 1 320px;display:flex;flex-direction:column;gap:10px}
.numbered__body .body{color:var(--body)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:0}
.step{padding:40px 40px 44px 0;border-top:1px solid var(--rule-strong);display:flex;flex-direction:column;gap:16px}
.step + .step{padding-left:40px}
.step:last-child{padding-right:0}
.step__n{font-family:var(--serif);font-size:22px;line-height:1;color:var(--accent-deep)}
.step .h4{font-size:30px;line-height:1.12}
.grid-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:0 56px}
.grid-list li{padding:32px 0;border-top:1px solid var(--rule-dark);display:flex;align-items:baseline;gap:28px}
.grid-list__n{font-family:var(--serif);font-size:22px;line-height:1;color:var(--accent);min-width:36px}
.grid-list__t{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1.1}
.doc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:0 80px}
.doc-list li{padding:32px 0;border-top:1px solid var(--rule-strong);display:flex;gap:28px}
.doc-list__n{flex:0 0 44px;font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.3;color:var(--accent-deep)}
.doc-list__body{display:flex;flex-direction:column;gap:8px}
.doc-list .small{color:var(--body);font-size:16px}
.programs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:0 56px}
.program{padding:32px 0 40px;border-top:1px solid var(--rule-dark);display:flex;flex-direction:column;gap:12px}
.program .h4{font-size:30px;line-height:1.12}
.program .small{color:var(--on-dark);font-size:16px}
.bigstat{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 40px;padding:36px 0;border-bottom:1px solid var(--rule)}
.bigstat:first-child{padding-top:0}
.bigstat:last-child{border-bottom:0;padding-bottom:0}
.bigstat__n{flex:0 0 220px;font-family:var(--serif);font-weight:500;font-size:76px;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.bigstat__n span{font-size:.55em;color:var(--accent-deep)}
.bigstat__body{flex:1 1 240px;display:flex;flex-direction:column;gap:8px}
.bigstat__body .small{color:var(--body);font-size:16px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:28px;align-items:start}
.tile{display:flex;flex-direction:column;gap:18px;color:var(--ink)}
.tile:hover{text-decoration:none}
.tile:nth-child(even){margin-top:72px}
.tile__img{display:block;aspect-ratio:3/4;background:var(--rule)}
.tile__img img{width:100%;height:100%;object-fit:cover}
.tile__title{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.1}
.tile__sub{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:56px 28px}
.person{display:flex;flex-direction:column;gap:18px}
.person>div{display:flex;flex-direction:column;gap:7px}
.person__img{display:block;aspect-ratio:4/5;background:#1f2327}
.person__img img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.person__name{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.1}
.person__role{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.person__bio{font-size:15px;line-height:1.6;color:var(--on-dark)}
.person--cta{justify-content:flex-end;gap:16px;aspect-ratio:4/5;padding:32px;border:1px solid var(--accent);color:#fff}
.person--cta:hover{text-decoration:none}
.person--cta .h3{font-size:36px;line-height:1.05}
.person--cta .person__bio{color:var(--on-dark)}
.person--cta .btn--link{color:var(--accent);font-size:12px;padding:0;border:0;margin-top:8px}
@media (max-width:760px){
  .tile:nth-child(even){margin-top:0}
  .tiles,.team{grid-template-columns:1fr 1fr;gap:32px 16px}
  .tile__title,.person__name{font-size:22px}
  .row__title{flex-basis:100%}
  .numbered__n{flex-basis:48px;font-size:34px}
  .step{padding:28px 0 32px}
  .step + .step{padding-left:0}
  .grid-list__t{font-size:26px}
  .bigstat__n{flex-basis:100%;font-size:60px}
  .person--cta{aspect-ratio:auto;padding:24px}
}

/* ---------- Testimonials ---------- */
.testimonials{display:flex;flex-wrap:wrap;align-items:flex-start;gap:64px 96px}
.testimonials__main{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:36px}
.testimonials__side{flex:1 1 380px;min-width:0;display:flex;flex-direction:column}
.quote{margin:0;display:flex;flex-direction:column;gap:28px}
.quote p{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(28px,3.4vw,44px);line-height:1.22;letter-spacing:-.005em}
.quote footer{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--body)}
.quote footer::before{content:"";width:28px;height:1px;background:var(--accent-deep)}
.quote footer b{color:var(--ink);font-weight:600}
.quote--sm{gap:16px;padding:32px 0;border-bottom:1px solid var(--rule-strong)}
.quote--sm:first-child{padding-top:0}
.quote--sm p{font-family:var(--sans);font-style:normal;font-weight:400;font-size:17px;line-height:1.7;letter-spacing:0;color:var(--ink)}
.quote--sm footer::before{display:none}
.testimonials__side .btn--link{align-self:flex-start;margin-top:32px}

/* ---------- Sub navigation ---------- */
.subnav{background:var(--paper);border-bottom:1px solid var(--rule)}
.subnav .container{display:flex;flex-wrap:wrap;gap:0 40px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.subnav a{padding:24px 0 22px}
.subnav a.is-active{color:var(--ink);border-bottom:2px solid var(--accent)}
@media (max-width:760px){.subnav .container{gap:0 24px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.subnav a{padding:18px 0 16px}}

/* ---------- CTA ---------- */
.cta{position:relative;flex:1 0 auto;background:var(--dark);color:#fff;overflow:hidden;display:flex;align-items:center}
.cta__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;opacity:.55}
.cta__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,19,.92) 0%,rgba(15,17,19,.7) 50%,rgba(15,17,19,.45) 100%)}
.cta .container{position:relative;z-index:2;padding-top:128px;padding-bottom:128px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:48px 64px}
.cta__main{flex:1 1 560px;min-width:0;display:flex;flex-direction:column;gap:24px}
.cta__main .h2{max-width:10em}
.cta__main p{max-width:30em;font-size:18px;color:#d9dde0}
.cta__side{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.cta__contact{display:flex;flex-direction:column;gap:4px;font-size:16px;color:#d9dde0}
.cta--light{background:var(--tone);color:var(--ink);border-top:1px solid var(--rule)}
.cta--light .container{padding-top:120px;padding-bottom:120px}
.cta--light .cta__main p,.cta--light .cta__contact{color:var(--body)}
.cta--light .eyebrow{color:var(--accent-deep)}
@media (max-width:760px){.cta .container,.cta--light .container{padding-top:80px;padding-bottom:80px}}

/* ---------- Footer ---------- */
.site-footer{position:relative;overflow:hidden;background:var(--footer);color:#aeb5ba;font-size:15px}
.site-footer__mark{position:absolute;left:50%;bottom:-.18em;transform:translateX(-50%);max-width:100vw;overflow:hidden;font-family:var(--serif);font-weight:500;font-size:clamp(140px,24vw,330px);line-height:1;letter-spacing:-.03em;color:#121517;white-space:nowrap;pointer-events:none;user-select:none}
.site-footer .container{position:relative;z-index:1;padding-top:88px;padding-bottom:120px;display:flex;flex-direction:column;gap:72px}
.site-footer__top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:48px 64px}
.site-footer__brand{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:28px}
.site-footer__tag{max-width:22em;font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.2;color:var(--on-dark-strong)}
.site-footer__sub{margin-top:-14px;font-size:11.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.site-footer__cols{flex:0 1 640px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:40px 32px}
.site-footer__col{display:flex;flex-direction:column;gap:2px}
.site-footer__col .label{margin-bottom:14px;color:#fff;font-size:11.5px;letter-spacing:.26em}
.site-footer__col a{padding:6px 0}
.site-footer__bottom{padding-top:28px;border-top:1px solid #22262a;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px;letter-spacing:.04em}
@media (max-width:760px){.site-footer .container{padding-top:64px;padding-bottom:90px;gap:48px}.site-footer__cols{grid-template-columns:1fr 1fr}}
/* Follow us on LinkedIn (official logo on white, as LinkedIn's brand rules ask) */
.follow-linkedin{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;padding:11px 16px 11px 18px;background:#fff;color:#1f2327;font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;line-height:1;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.follow-linkedin img{display:block;width:auto;height:22px}
.follow-linkedin:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25)}

.follow-linkedin--light{padding:12px 16px 12px 18px;border:1px solid var(--rule)}
.follow-linkedin--light:hover{box-shadow:0 10px 24px rgba(15,17,19,.08)}

/* ---------- Forms ---------- */
.form{display:flex;flex-direction:column;gap:40px}
.form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:36px 32px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.field label span{color:var(--accent-deep)}
.input,.select,.textarea{width:100%;height:48px;padding:0;border:0;border-bottom:1px solid #b7bdb7;border-radius:0;background:transparent;font-size:17px;color:var(--ink)}
.textarea{height:auto;padding:12px 0;line-height:1.6;resize:vertical;min-height:140px}
.input:focus,.select:focus,.textarea:focus{outline:none;border-bottom-color:var(--ink)}
.form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}
.form__note{font-size:14px;color:var(--muted)}
.form fieldset{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:36px}
.form legend{padding:0;margin-bottom:36px}
.notice{padding:20px 24px;border:1px solid var(--rule-strong);background:var(--tone);color:var(--ink)}
.notice--ok{border-color:var(--accent)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.contact-info{flex:1 1 320px;min-width:0;max-width:420px;display:flex;flex-direction:column}
.contact-info__block{padding:28px 0;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:8px}
.contact-info__block:first-child{padding-top:0;border-top:0}
.contact-info__big{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.15;align-self:flex-start;overflow-wrap:anywhere}
.map{position:relative;min-height:520px;background-color:#e9ebe8;background-image:linear-gradient(#d9ddd9 1px,transparent 1px),linear-gradient(90deg,#d9ddd9 1px,transparent 1px);background-size:96px 96px;display:flex;align-items:center;border-top:1px solid var(--rule)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05)}
.map .container{position:relative;z-index:1;padding-top:72px;padding-bottom:72px;display:flex;pointer-events:none}
.map__card{max-width:420px;padding:44px;background:var(--dark);color:#fff;display:flex;flex-direction:column;gap:16px;pointer-events:auto}
.map__card .h3{font-size:32px;line-height:1.12}
.map__card .btn--link{color:#fff;border-color:var(--accent);margin-top:8px}
.map__card .body{color:#c9cfd3}
.quote-steps{flex:1 1 280px;min-width:0;max-width:360px;display:flex;flex-direction:column;gap:32px}
.quote-steps li{padding:22px 0;border-top:1px solid var(--rule);display:flex;gap:20px;color:var(--body)}
.quote-steps li:last-child{border-bottom:1px solid var(--rule)}
.quote-steps__n{flex:none;width:32px;font-family:var(--serif);font-size:22px;line-height:1.3;color:var(--accent-deep)}
.inline-link{color:var(--ink);border-bottom:1px solid var(--ink)}
.inline-link:hover{text-decoration:none}

/* ---------- Insights ---------- */
.topics{display:flex;flex-wrap:wrap;gap:0 36px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#aeb5ba}
.topics a{padding:24px 0 22px}
.topics a.is-active{color:#fff;border-bottom:2px solid var(--accent)}
.featured{display:flex;flex-wrap:wrap;align-items:center;gap:48px 72px;color:var(--ink)}
.featured:hover{text-decoration:none}
.featured__img{flex:1 1 560px;min-width:0;display:block;aspect-ratio:16/10;background:var(--rule)}
.featured__img img{width:100%;height:100%;object-fit:cover}
.featured__body{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:22px}
.featured__body .h2--sm{max-width:12em;font-size:clamp(30px,3.4vw,44px)}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.meta b{font-weight:600;color:var(--accent-deep)}
.meta--light{color:#d9dde0}
.meta--light b{color:#fff}
.posts-head{padding-top:28px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 32px}
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:64px 32px}
.card{display:flex;flex-direction:column;gap:18px;color:var(--ink)}
.card:hover{text-decoration:none}
.card:hover .card__title{text-decoration:underline;text-underline-offset:.12em;text-decoration-thickness:1px}
.card__img{display:block;aspect-ratio:16/10;background:var(--rule)}
.card__img img{width:100%;height:100%;object-fit:cover}
.card__title{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.14}
.pagination{padding-top:32px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.pagination__pages{display:flex;gap:18px;color:var(--muted)}
.pagination__pages .current{color:var(--ink);border-bottom:1px solid var(--ink)}
.pagination .btn--link{color:var(--ink)}
@media (max-width:760px){.posts{gap:40px 16px}.card__title{font-size:22px}}

/* ---------- Article ---------- */
.article{display:flex;flex-wrap:wrap;align-items:flex-start;gap:56px 96px}
.article__aside{flex:0 1 240px;min-width:0;display:flex;flex-direction:column;gap:28px;font-size:14px;color:var(--muted)}
.article__aside .label{color:var(--accent-deep);font-size:11px;letter-spacing:.26em;margin-bottom:4px}
.article__aside a{padding:4px 0;color:var(--ink)}
.article__aside-block{display:flex;flex-direction:column;gap:10px}
.article__aside-block + .article__aside-block{padding-top:24px;border-top:1px solid var(--rule)}
.article__body{flex:1 1 560px;min-width:0;max-width:720px}
.prose>*+*{margin-top:28px}
.prose p,.prose li{font-size:18px;line-height:1.75;color:#2c3338}
.prose p:first-child{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.8vw,32px);line-height:1.3;letter-spacing:-.005em;color:var(--ink)}
.prose h2{font-size:38px;line-height:1.08;margin-top:48px}
.prose h3{font-size:30px;line-height:1.12;margin-top:40px}
.prose ul,.prose ol{padding-left:1.2em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li+li{margin-top:8px}
.prose blockquote{margin:36px 0;padding:8px 0 8px 32px;border-left:1px solid var(--accent-deep)}
.prose blockquote p{font-family:var(--serif);font-style:italic;font-weight:500;font-size:30px;line-height:1.25;color:var(--ink)}
.prose img{width:100%}
.prose figcaption{margin-top:14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.prose a{color:var(--ink);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.prose .wp-block-image,.prose figure{margin-left:0;margin-right:0}
.article__footer{margin-top:40px;padding-top:32px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.tags{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.tags a{padding:8px 14px;border:1px solid var(--rule);color:var(--body)}
.related-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 32px}
.related-head .btn--link{font-size:12.5px;padding:8px 0}
.page-content .prose p:first-child{font-family:var(--sans);font-size:18px;line-height:1.75;color:#2c3338;font-weight:400}
@media (max-width:760px){.article__aside{flex-basis:100%;flex-direction:row;flex-wrap:wrap;gap:24px 40px}.article__aside-block + .article__aside-block{padding-top:0;border-top:0}.prose h2{font-size:30px}}

/* ---------- Reveal on scroll ---------- */
.js-reveal .rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js-reveal .rv.in{opacity:1;transform:none}
.js-reveal .rv:nth-child(2){transition-delay:.1s}.js-reveal .rv:nth-child(3){transition-delay:.2s}.js-reveal .rv:nth-child(4){transition-delay:.3s}
.js-reveal .rv.figure{opacity:1;transform:none;transition:none}
.js-reveal .rv.figure>img{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s var(--ease),transform 1.4s var(--ease)}
.js-reveal .rv.figure.in>img{clip-path:inset(0)}
@media (prefers-reduced-motion:reduce){
  .js-reveal .rv,.js-reveal .rv.figure>img{opacity:1;transform:none;clip-path:none;transition:none}
  .hero__img,.marquee__track,.rise{animation:none}
}

/* ---------- 404 / misc ---------- */
.error-page .container{padding-top:220px;padding-bottom:160px;display:flex;flex-direction:column;gap:28px;align-items:flex-start}
.wp-caption{max-width:100%}
.alignnone,.aligncenter,.alignleft,.alignright{max-width:100%;height:auto}

/* ---------- Additions used by templates ---------- */
.eyebrow--n::before{display:none}
.eyebrow__line{width:44px;height:1px;background:currentColor;flex:none}
.self-start{align-self:flex-start}
.section--flush-top{padding-top:0}
.division-list{display:flex;flex-direction:column;margin-top:8px}
.division-list li{padding:14px 0;border-top:1px solid var(--rule-strong);display:flex;align-items:baseline;gap:20px;font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.1}
.division-list li:last-child{border-bottom:1px solid var(--rule-strong)}
.division-list .num{color:var(--accent-deep);font-size:18px;min-width:28px}
.goal-num{font-family:var(--serif);font-weight:500;font-size:clamp(120px,16vw,200px);line-height:.9;letter-spacing:-.03em;color:#fff}
.goal-num span{font-size:.45em;color:var(--accent);vertical-align:baseline}
.goals{gap:0;padding-top:0}
.goal{padding:36px 0;border-top:1px solid var(--rule-dark);display:flex;flex-direction:column;gap:14px}
.goal:last-child{border-bottom:1px solid var(--rule-dark)}
.goal__label{color:var(--accent)}
.goal .h3{font-size:clamp(28px,3vw,38px);max-width:16em}
.bigstats{gap:0;padding-top:0}
.toc{display:flex;flex-direction:column}
.toc a{padding:5px 0;line-height:1.45}
.hero--insights .hero__content{padding-bottom:72px;row-gap:48px}
.hero--insights .topics{margin-top:8px;margin-bottom:-40px}
.hero--article .hero__content{padding-bottom:88px}
.hero--article .h1{font-size:clamp(40px,5.4vw,72px);max-width:14em}
.hero--band .h1{max-width:11em}
.hero__aside .h3{color:#fff;font-size:32px}
.featured__img.figure{background:var(--rule)}
.pagination__nav{display:flex;gap:28px}
.pagination__nav .btn--link{font-size:12.5px}
.quote-steps ol{display:flex;flex-direction:column}
.form__head{display:flex;flex-direction:column;gap:22px}
.form__head .h2,.quote-steps .h2{color:var(--ink)}
.quote-steps .h2{max-width:9em}
.form fieldset+fieldset{padding-top:8px}
.form .eyebrow{color:var(--accent-deep)}
.contact-info__block .label{color:var(--accent-deep)}
.step .body,.row__text{font-size:16.5px}
.col .h3{font-size:clamp(26px,2.4vw,32px)}
.cta__main .eyebrow{color:var(--accent)}
.cta--light .cta__main .eyebrow{color:var(--accent-deep)}
.site-footer .brand .brand__name{color:#fff}
.prose p:first-child:empty{display:none}
@media (max-width:760px){
  .goal-num{font-size:110px}
  .contact-info__big{font-size:22px}
  .hero--insights .hero__content{row-gap:28px}
  .hero--insights .topics{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;gap:0 24px}
  .hero--insights .topics a{padding:16px 0 14px}
  .division-list li{font-size:22px}
}


/* ---------- Polish pass ---------- */
/* One grade for every photo so stock images read as one shoot */
.figure__img,.tile__img img,.card__img img,.featured__img img{filter:saturate(.85) contrast(1.05) sepia(.12)}
.hero__img{filter:saturate(.95) contrast(1.03)}
.person__img img{filter:grayscale(1) contrast(1.08) brightness(.96);transition:filter 1s var(--ease),transform 1.4s var(--ease)}
.person:hover .person__img img{filter:grayscale(0) contrast(1.02) sepia(.08)}
.person__img{position:relative}
.person__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,17,19,0) 60%,rgba(15,17,19,.35) 100%);pointer-events:none}

/* Hero word reveal and scroll cue */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .14em 0;margin-bottom:-.14em}
.w>span{display:inline-block;transform:translateY(112%);animation:wordUp 1.15s var(--ease) forwards;animation-delay:calc(.18s + var(--i,0)*.055s)}
@keyframes wordUp{to{transform:none}}
h1[data-words].is-split{animation:none;opacity:1}
.hero__cue{position:absolute;left:var(--gutter);bottom:28px;z-index:3;display:flex;align-items:center;gap:14px;font-size:10.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#d9dde0}
.hero__cue i{display:block;width:1px;height:48px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.hero__cue i::after{content:"";position:absolute;left:0;top:0;width:100%;height:50%;background:var(--accent);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(-100%)}60%,100%{transform:translateY(200%)}}
@media (max-width:760px){.hero__cue{display:none}}

/* Scroll progress line under the header */
.site-header::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:var(--progress,0%);background:var(--accent);opacity:0;transition:opacity .4s}
.site-header.is-scrolled::after{opacity:1}

/* Sticky "On this page" bar */
.pagenav{position:sticky;top:var(--header-h,88px);z-index:40;background:rgba(251,250,248,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .4s,transform .4s var(--ease)}
.pagenav.is-stuck{opacity:1;transform:none;pointer-events:auto}
.pagenav .container{display:flex;align-items:center;gap:0 32px;overflow-x:auto;white-space:nowrap;font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);scrollbar-width:none}
.pagenav .container::-webkit-scrollbar{display:none}
.pagenav__label{color:var(--accent-deep);padding-right:8px;flex:none}
.pagenav a{padding:18px 0 16px;border-bottom:2px solid transparent;transition:color .3s,border-color .3s;flex:none}
.pagenav a:hover{text-decoration:none;color:var(--ink)}
.pagenav a.is-current{color:var(--ink);border-bottom-color:var(--accent)}
.subnav+.section,.pagenav+.subnav{scroll-margin-top:0}
[id]{scroll-margin-top:150px}

/* Lines that draw in as sections reveal */
.col,.step,.program,.grid-list li,.doc-list li,.numbered li,.goal,.division-list li,.row,.quote--sm,.bigstat,.contact-info__block,.quote-steps li,.posts-head,.pagination,.article__footer,.site-footer__bottom{position:relative}
.js-reveal .col,.js-reveal .step,.js-reveal .program,.js-reveal .grid-list li,.js-reveal .doc-list li,.js-reveal .numbered li,.js-reveal .goal,.js-reveal .division-list li,.js-reveal .row,.js-reveal .quote--sm,.js-reveal .bigstat,.js-reveal .posts-head,.js-reveal .pagination{border-top-color:transparent;border-bottom-color:transparent}
.js-reveal .col::before,.js-reveal .step::before,.js-reveal .program::before,.js-reveal .grid-list li::before,.js-reveal .doc-list li::before,.js-reveal .numbered li::before,.js-reveal .goal::before,.js-reveal .division-list li::before,.js-reveal .row::before,.js-reveal .quote--sm::before,.js-reveal .bigstat::before,.js-reveal .posts-head::before,.js-reveal .pagination::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--rule-dark);transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease) .15s}
.js-reveal .on-light .col::before,.js-reveal .step::before,.js-reveal .doc-list li::before,.js-reveal .numbered li::before,.js-reveal .division-list li::before,.js-reveal .row::before,.js-reveal .quote--sm::before,.js-reveal .bigstat::before,.js-reveal .posts-head::before,.js-reveal .pagination::before{background:var(--rule-strong)}
.js-reveal .numbered li::before,.js-reveal .row::before,.js-reveal .quote--sm::before,.js-reveal .bigstat::before{top:auto;bottom:-1px}
.js-reveal .numbered li:last-child::before,.js-reveal .row:last-child::before,.js-reveal .bigstat:last-child::before{display:none}
.js-reveal .goal:last-child{border-bottom-color:var(--rule-dark)}
.js-reveal .division-list li:last-child{border-bottom-color:var(--rule-strong)}
.js-reveal .in .col::before,.js-reveal .col.in::before,.js-reveal .in .step::before,.js-reveal .step.in::before,.js-reveal .in .program::before,.js-reveal .program.in::before,.js-reveal .in .grid-list li::before,.js-reveal .grid-list li.in::before,.js-reveal .in .doc-list li::before,.js-reveal .doc-list li.in::before,.js-reveal .in .numbered li::before,.js-reveal .numbered li.in::before,.js-reveal .in .goal::before,.js-reveal .goal.in::before,.js-reveal .in .division-list li::before,.js-reveal .in .row::before,.js-reveal .in .quote--sm::before,.js-reveal .in .bigstat::before,.js-reveal .bigstat.in::before,.js-reveal .posts-head.in::before,.js-reveal .pagination.in::before{transform:scaleX(1)}
.js-reveal .in .col:nth-child(2)::before,.js-reveal .in .step:nth-child(2)::before,.js-reveal .in .program:nth-child(2)::before{transition-delay:.3s}
.js-reveal .in .col:nth-child(3)::before,.js-reveal .in .step:nth-child(3)::before,.js-reveal .in .program:nth-child(3)::before{transition-delay:.45s}
.js-reveal .in .step:nth-child(4)::before,.js-reveal .in .program:nth-child(4)::before{transition-delay:.6s}

/* Eyebrow lines draw in */
.js-reveal .rv .eyebrow::before,.js-reveal .rv .eyebrow__line{transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease) .2s}
.js-reveal .rv.in .eyebrow::before,.js-reveal .rv.in .eyebrow__line,.js-reveal .in .rv .eyebrow::before{transform:scaleX(1)}
.hero .eyebrow::before,.cta .eyebrow::before{transform-origin:left;animation:drawIn 1.1s var(--ease) .2s both}
@keyframes drawIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Marquee: fade edges, pause on hover */
.marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee:hover .marquee__track{animation-play-state:paused}

/* Buttons: slide fill */
.btn{position:relative;isolation:isolate;overflow:hidden}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.btn:hover::before{transform:scaleX(1)}
.btn--primary::before{background:#b8964f}
.btn--dark::before{background:var(--accent)}
.btn--dark:hover{color:var(--dark)}
.btn--ghost::before{background:#fff}
.btn--ghost:hover{color:var(--dark);border-color:#fff}
.btn--outline::before{background:var(--accent)}
.btn--outline:hover{color:var(--dark)}
.btn--link{overflow:visible}
.btn--link::before{display:none}
.btn--link::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.btn--link:hover::after{transform:scaleX(1);transform-origin:left}
.btn--link{border-bottom-color:transparent;box-shadow:0 1px 0 0 currentColor}
.btn--link:hover{box-shadow:0 1px 0 0 transparent}

/* Hover lift on tiles, cards and people */
.tile,.card,.person,.featured{transition:transform .6s var(--ease)}
.tile:hover,.card:hover,.featured:hover{transform:translateY(-6px)}
.person:hover{transform:translateY(-4px)}
.tile__title,.card__title,.person__name{transition:transform .6s var(--ease)}
.tile:hover .tile__title,.card:hover .card__title{transform:translateX(6px)}
.tile__img,.card__img{position:relative}
.tile__img::after,.card__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,17,19,0) 55%,rgba(15,17,19,.28) 100%);opacity:0;transition:opacity .6s}
.tile:hover .tile__img::after,.card:hover .card__img::after{opacity:1}
.figure{transition:box-shadow .8s var(--ease)}
.figure:hover{box-shadow:0 30px 60px -30px rgba(15,17,19,.45)}

/* Forms: focus sweep and animated notices */
.field{position:relative}
.field::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--accent-deep);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease);pointer-events:none}
.field:focus-within::after{transform:scaleX(1)}
.field label{transition:color .3s}
.field:focus-within label{color:var(--accent-deep)}
.input,.select,.textarea{transition:border-color .4s}
.notice{animation:noticeIn .7s var(--ease) both}
@keyframes noticeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.notice--ok{border-left:3px solid var(--accent);padding-left:21px}

/* Stats band: numbers settle in */
.js-reveal .stat{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js-reveal .stat.in{opacity:1;transform:none}
.js-reveal .stat:nth-child(2){transition-delay:.1s}.js-reveal .stat:nth-child(3){transition-delay:.2s}.js-reveal .stat:nth-child(4){transition-delay:.3s}

@media (prefers-reduced-motion:reduce){
  .w>span{transform:none;animation:none}
  .hero__cue i::after,.hero .eyebrow::before,.cta .eyebrow::before{animation:none}
  .js-reveal .rv .eyebrow::before,.js-reveal .rv .eyebrow__line,.js-reveal .col::before,.js-reveal .step::before,.js-reveal .program::before,.js-reveal .grid-list li::before,.js-reveal .doc-list li::before,.js-reveal .numbered li::before,.js-reveal .goal::before,.js-reveal .division-list li::before,.js-reveal .row::before,.js-reveal .quote--sm::before,.js-reveal .bigstat::before,.js-reveal .posts-head::before,.js-reveal .pagination::before{transition:none;transform:none}
  .js-reveal .stat{opacity:1;transform:none}
  body.is-leaving .site{opacity:1;transform:none}
  .btn::before,.btn--link::after,.tile,.card,.person,.featured{transition:none}
}
