.site-header{padding-left:clamp(24px,8.5vw,140px);padding-right:clamp(24px,8.5vw,140px)}
h1 em,.section h2,.section h2 em,.pillar strong,.result-meta h3,.pillar-description h3{font-family:var(--sans);font-style:normal;font-weight:400}
h1 em,.section h2 em{letter-spacing:inherit}
.section h2{font-size:clamp(55px,5vw,76px);line-height:1.04;letter-spacing:-.06em;white-space:nowrap}
.section h2 em{color:var(--gold)}
.hero-content h1 em{color:var(--gold)}
.hero-side{display:none}

/* The opening paragraph has no stage number. The next two passages are 01 and 02. */
.about-layout{grid-template-columns:minmax(380px,.8fr) minmax(0,1.2fr)}
.about-copy{font-size:18px;line-height:1.6}
.about-copy:first-child{display:block;font-size:21px;line-height:1.58;padding-left:0}
.about-copy:first-child .copy-index{display:none}
.about-copy:not(:first-child){grid-template-columns:32px 1fr}
.about-title h2{font-size:clamp(55px,5vw,76px)}

/* All five dimensions and their methodology now share one viewport. */
.structure-section{padding-top:43px;padding-bottom:36px}
.structure-section .section-kicker{margin-bottom:24px}
.structure-heading{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:start}
.structure-heading h2{font-size:clamp(55px,5vw,76px)}
.structure-heading .lead-copy{font-size:15px;line-height:1.55}
.pillars{margin-top:22px}
.pillar,.pillar:first-child,.pillar:last-child{min-height:132px;padding:11px 16px}
.pillar svg{width:47px;height:47px;margin:4px 0}
.pillar strong{font-size:20px;letter-spacing:-.03em}
.pillar:hover .icon-motion,.pillar[aria-expanded="true"] .icon-motion{animation:none}
.pillar svg .icon-motion{stroke:var(--gold)}
.pillar svg{animation:iconAppear .65s ease both;transition:opacity .25s ease,filter .25s ease}
.pillar:nth-child(2) svg{animation-delay:.1s}
.pillar:nth-child(3) svg{animation-delay:.2s}
.pillar:nth-child(4) svg{animation-delay:.3s}
.pillar:nth-child(5) svg{animation-delay:.4s}
.pillar:hover svg,.pillar[aria-expanded="true"] svg{filter:brightness(1.35)}
@keyframes iconAppear{from{opacity:0}to{opacity:.85}}
.pillar-descriptions{min-height:79px}
.pillar-description{display:block;padding:14px 0;animation:descriptionIn .22s ease both}
.pillar-description>div{max-width:1100px;font-size:15px;line-height:1.52;margin:0}
.structure-method{margin-top:18px}
.method-inline-label{font-size:11px;letter-spacing:.18em;color:var(--gold);margin-bottom:12px}
.structure-method .method-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.structure-method .method-stat{padding:11px 16px 12px}
.structure-method .method-stat:first-child{padding-left:0}
.structure-method .method-stat strong{font-size:clamp(36px,3.7vw,55px)}
.structure-method .method-stat span{font-size:12px;line-height:1.25;margin-top:4px;max-width:190px}
.structure-method .method-note{margin-top:16px;columns:2;column-gap:5vw;font-size:13px;line-height:1.5}
.structure-method .method-note div{margin:0}

/* Three compact rows of city photographs fit a desktop viewport. */
.cities-section{padding-top:45px;padding-bottom:45px}
.cities-section .section-kicker{margin-bottom:25px}
.cities-section .section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px}
.cities-section .section-heading h2{margin:0}
.cities-section .section-heading p{max-width:370px;margin:0;font-size:14px;line-height:1.5}
.city-grid{margin-top:25px;gap:7px}
.city-card{aspect-ratio:2.23}
.city-top,.city-bottom{left:17px;right:17px}
.city-top{top:13px}
.city-bottom{bottom:13px}
.city-bottom strong{font-size:clamp(20px,2vw,29px)}
.city-bottom>span{font-size:31px}

.results-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}
.results-heading h2{margin:0}
.results-heading p{margin:0;max-width:465px}

/* One clear column of questions. */
.faq-section{padding-top:44px;padding-bottom:44px}
.faq-section .section-kicker{margin-bottom:23px}
.faq-section .section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}
.faq-section h2{margin:0;font-size:clamp(55px,5vw,76px)}
.faq-section .section-heading p{margin:0;max-width:455px;font-size:14px}
.faq-list{display:block;margin-top:25px}
.faq-item summary{grid-template-columns:36px 1fr 25px;min-height:63px;padding:10px 0}
.faq-item summary strong{font-size:17px}
.faq-answer{max-width:950px;max-height:260px;margin-left:49px}

@media(max-width:1000px){
  .about-layout{grid-template-columns:1fr 1.2fr}
  .structure-heading{grid-template-columns:1fr 1.2fr}
  .structure-method .method-stat{padding-left:8px;padding-right:8px}
  .city-card{aspect-ratio:1.9}
}
@media(max-width:700px){
  .section h2,.about-title h2,.structure-heading h2,.faq-section h2{font-size:clamp(31px,8vw,54px);white-space:nowrap}
  .about-layout,.structure-heading{display:block}
  .about-copy,.about-copy:first-child{font-size:16px}
  .about-copy:first-child{padding-bottom:18px}
  .structure-section{padding-top:70px;padding-bottom:70px}
  .structure-heading h2{margin-bottom:28px}
  .structure-heading .lead-copy{font-size:15px}
  .pillars{margin-top:32px}
  .pillar,.pillar:first-child,.pillar:last-child{min-height:142px;padding:13px}
  .pillar svg{width:52px;height:52px}
  .pillar strong{font-size:20px}
  .pillar-descriptions{min-height:0}
  .pillar-description{padding:22px 0}
  .pillar-description>div{font-size:14px}
  .structure-method{margin-top:22px}
  .structure-method .method-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .structure-method .method-stat{padding:16px 12px}
  .structure-method .method-note{columns:1;font-size:14px}
  .cities-section{padding-top:70px;padding-bottom:70px}
  .cities-section .section-heading{display:block}
  .cities-section .section-heading h2{margin-bottom:20px}
  .cities-section .section-heading p{max-width:500px;font-size:15px}
  .city-grid{margin-top:35px}
  .city-card{aspect-ratio:1.45}
  .city-bottom strong{font-size:29px}
  .results-heading{display:block}
  .results-heading h2{margin-bottom:20px}
  .faq-section{padding-top:70px;padding-bottom:70px}
  .faq-section .section-heading{display:block}
  .faq-section h2{margin-bottom:20px}
  .faq-list{margin-top:35px}
}
@media(prefers-reduced-motion:reduce){.pillar svg{animation:none}}

/* Fourth pass: clearer vertical rhythm and a visual link to the selected dimension. */
.site-header{align-items:flex-start;padding-top:17px}
.site-header .brand{align-self:flex-start}
.site-header .brand img{display:block}
.main-nav{align-items:flex-start;padding-top:0}
.main-nav a{line-height:1}
.hero-content h1{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 17vw);margin:0;text-align:center}
.hero-bottom{margin-top:auto}
.about-copy-2{font-size:21px;line-height:1.6}
.about-graphic{display:block;width:min(100%,460px);height:auto;margin:auto auto 0;overflow:visible}
.about-graphic .orbit{fill:none;stroke:rgba(194,166,124,.28);stroke-width:1}
.about-graphic .orbit-outer{stroke-dasharray:2 8}
.about-graphic .graphic-link{fill:none;stroke:rgba(194,166,124,.48);stroke-width:1}
.about-graphic .graphic-core{fill:rgba(194,166,124,.05);stroke:var(--gold);stroke-width:1.2}
.about-graphic .graphic-node{fill:#17191c;stroke:var(--gold);stroke-width:1.5}
.about-graphic .graphic-center{fill:var(--gold)}
.structure-section{display:flex;flex-direction:column}
.structure-section .section-kicker{flex:none}
.structure-heading{flex:none}
.structure-section .pillars{flex:none;margin-top:36px}
.structure-section .pillar,.structure-section .pillar:first-child,.structure-section .pillar:last-child{min-height:163px}
.structure-section .pillar svg{width:58px;height:58px;margin:8px 0}
.pillar-descriptions{position:relative;display:grid;grid-template-columns:155px minmax(0,1fr);align-items:center;gap:24px;min-height:102px;margin-top:18px;padding:17px 24px;background:#202326;border:1px solid #45484a}
.pillar-descriptions::before{content:'';position:absolute;left:var(--pillar-anchor);top:-19px;width:1px;height:19px;background:var(--gold);transition:left .25s ease}
.pillar-context{align-self:start;margin-top:3px;color:var(--gold);font-size:11px;letter-spacing:.16em;line-height:1.4}
.pillar-description{padding:0;animation:descriptionIn .22s ease both}
.pillar-description>div{font-size:15px;line-height:1.52}
.structure-method{margin-top:auto;padding-top:25px}
.structure-method .method-stat strong{font-family:var(--sans);font-size:clamp(35px,3.3vw,49px);font-weight:400;letter-spacing:-.06em}
.structure-method .method-note{columns:1;max-width:1050px;font-size:15px;line-height:1.6;margin-top:17px}
.results-interface{margin-top:38px}
.result-row{min-height:41px}
.faq-list{margin-top:42px}
.faq-item summary{min-height:71px}

/* Partner details as one focused screen rather than two generic boxes. */
.contacts-section{height:100svh;min-height:760px;padding-top:45px;padding-bottom:45px;display:flex;flex-direction:column}
.contacts-section .section-kicker{margin-bottom:32px}
.contacts-section .section-grid{grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:start}
.contacts-section .lead-copy{font-size:16px;line-height:1.58;max-width:700px}
.contacts-section .lead-copy div{margin:0}
.contacts-section .contact-grid{flex:1;min-height:0;max-height:490px;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.contacts-section .contact-card{position:relative;min-height:0;display:flex;flex-direction:column;align-items:flex-start;padding:27px 30px 25px;background:#1e2124;border:0;border-top:2px solid var(--gold)}
.contact-card .partner-index{color:var(--gold);font-size:11px;letter-spacing:.17em}
.contact-card img,.contact-grid article:nth-child(2) img{width:auto;height:80px;max-width:220px;max-height:100px;margin:23px 0 18px;object-fit:contain;object-position:left center}
.contact-grid article:nth-child(2) img{height:112px;max-height:112px;margin:5px 0 4px}
.contact-card p{margin:0 0 auto;max-width:560px;font-size:14px;line-height:1.58}
.contact-links{width:100%;display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid #424548;padding-top:14px;margin-top:21px}
.contact-links a{font-size:14px}
.contact-card{overflow:hidden;background:radial-gradient(circle at 85% 10%,rgba(194,166,124,.085),transparent 42%),#1e2124}
.contact-card::after{position:absolute;right:22px;bottom:62px;font-family:var(--sans);font-size:clamp(130px,15vw,230px);font-weight:300;line-height:.75;letter-spacing:-.09em;color:rgba(194,166,124,.055);pointer-events:none}
.contact-card:first-child::after{content:'01'}
.contact-card:nth-child(2)::after{content:'02'}
.contact-card>*{position:relative;z-index:1}

@media(max-width:1000px){
  .structure-section .pillar,.structure-section .pillar:first-child,.structure-section .pillar:last-child{min-height:145px}
  .structure-section .pillar svg{width:50px;height:50px}
  .pillar-descriptions{grid-template-columns:125px 1fr}
  .contacts-section .contact-card{padding:22px}
}
@media(max-width:700px){
  .site-header{padding-top:14px}
  .main-nav{padding-top:18px}
  .hero-content h1{width:calc(100% - 48px)}
  .about-graphic{width:min(100%,360px);margin:35px auto 15px}
  .about-copy-2{font-size:18px}
  .structure-section{display:block}
  .structure-section .pillars{margin-top:32px}
  .structure-section .pillar,.structure-section .pillar:first-child,.structure-section .pillar:last-child{min-height:142px}
  .pillar-descriptions{display:block;min-height:0;padding:20px 18px;margin-top:18px}
  .pillar-context{display:block;margin-bottom:12px}
  .structure-method{padding-top:20px}
  .results-interface{margin-top:25px}
  .result-row{min-height:42px}
  .faq-list{margin-top:35px}
  .faq-item summary{min-height:0}
  .contacts-section{height:auto;min-height:100svh;padding-top:70px;padding-bottom:70px;display:block}
  .contacts-section .section-grid{display:block}
  .contacts-section .contact-grid{display:grid;grid-template-columns:1fr;max-height:none;margin-top:42px}
  .contacts-section .contact-card{min-height:360px;padding:26px}
  .contact-card img,.contact-grid article:nth-child(2) img{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){.pillar-descriptions::before{transition:none}}

/* Final editorial and interaction refinements. */
@media(min-width:701px){
  .hero-bottom{align-items:flex-end}
  .hero-intro{max-width:min(850px,calc(100% - 300px));font-size:16px;line-height:1.55}
  .explore-link{padding-bottom:0;line-height:1.55}
  .structure-section .pillar,.structure-section .pillar:first-child,.structure-section .pillar:last-child{min-height:176px}
}
.about-copy-2{font-size:18px;line-height:1.6}
.structure-method .method-note{max-width:none;width:100%}
.profile,.faq-answer{scrollbar-width:thin;scrollbar-color:var(--gold) #2b2e30}
.profile::-webkit-scrollbar,.faq-answer::-webkit-scrollbar{width:7px}
.profile::-webkit-scrollbar-track,.faq-answer::-webkit-scrollbar-track{background:#2b2e30}
.profile::-webkit-scrollbar-thumb,.faq-answer::-webkit-scrollbar-thumb{background:var(--gold);border-radius:10px}
.faq-answer{max-width:calc(100% - 49px);overflow-y:auto;overflow-x:hidden}
.contacts-section .contact-card{border-top:0;background:radial-gradient(circle at 85% 12%,rgba(194,166,124,.07),transparent 45%),#1e2124}
.contact-card::after{content:none!important}
.contacts-section .contact-mark{width:100%;height:165px;flex:none;display:flex;align-items:center;justify-content:flex-start}
.contacts-section .contact-mark img,.contacts-section .contact-grid article:nth-child(2) .contact-mark img{display:block;height:auto;max-height:none;max-width:none;margin:0;object-fit:contain;object-position:left center}
.contacts-section .contact-card:first-child .contact-mark img{width:min(300px,100%)}
.contacts-section .contact-card:nth-child(2) .contact-mark img{width:min(175px,100%)}
@media(max-width:700px){
  .about-copy-2{font-size:16px}
  .contacts-section .contact-mark{height:155px}
  .contacts-section .contact-card:first-child .contact-mark img{width:min(265px,100%)}
  .contacts-section .contact-card:nth-child(2) .contact-mark img{width:min(155px,100%)}
}

/* Keep the first frame visible until the local background video starts. */
.hero-video video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.hero-video video::-webkit-media-controls{display:none!important}
.hero-video::after{content:'';position:absolute;z-index:1;inset:0;background:#171c20 url('assets/hero-poster.jpg') center/cover no-repeat;pointer-events:none;opacity:1;filter:blur(16px);transform:scale(1.06);transition:filter .7s ease,transform .7s ease,opacity .7s ease .1s}
.hero-video.video-still::after{filter:blur(0);transform:scale(1)}
.hero-video.is-playing::after{filter:blur(0);transform:scale(1);opacity:0}
@media(prefers-reduced-motion:reduce){.hero-video::after{filter:none;transform:none;transition:none}}
.hero-video{z-index:0}
.hero-overlay{z-index:1}
.hero-intro strong:first-child{display:inline}

/* The selected description always begins on the same baseline. */
.pillar-descriptions{align-items:start;min-height:124px}
.pillar-context{align-self:start}
.pillar-description{align-self:start}
.pillar-description[hidden]{display:none!important}
.pillar-description>div{margin:0}
@media(min-width:1200px){.pillar-descriptions{height:124px}}
@media(min-width:701px) and (max-width:1199px){.pillar-descriptions{min-height:154px}}
@media(max-width:700px){.pillar-descriptions{height:auto;min-height:0}}

/* Align the mobile header and the methodology columns to the page grid. */
.pillar-descriptions::before{content:none}
.structure-method .method-stats{align-items:start}
.structure-method .method-stat,.structure-method .method-stat:first-child{padding-left:0;text-align:left}
.structure-method .method-stat strong{line-height:1;font-variant-numeric:tabular-nums}
@media(min-width:701px){
  .structure-method .method-stat:not(:first-child){padding-left:clamp(18px,1.6vw,28px)}
}
@media(max-width:700px){
  .site-header{padding-left:24px;padding-right:24px}
  .menu-toggle{width:44px;height:44px;padding:0;align-items:flex-end;justify-content:center}
}

/* Let the mobile cover flow around its actual text height. */
@media(max-width:700px){
  .hero{height:auto;min-height:100svh}
  .hero-content{height:auto;min-height:100svh;padding:112px 24px 24px;gap:22px;justify-content:space-between}
  .hero-content h1{position:static;top:auto;left:auto;transform:none;width:100%;margin:auto 0;text-align:center;font-size:clamp(36px,min(10.5vw,6.5svh),58px);line-height:.99}
  .hero-bottom{margin:0}
  .hero-intro{font-size:13px;line-height:1.48}
  .explore-link{margin-top:20px}

  .structure-section .pillars > .pillar{box-sizing:border-box;min-width:0;padding:15px 16px}
  .structure-section .pillars > .pillar strong{font-size:clamp(17px,4.8vw,20px);line-height:1.1;overflow-wrap:anywhere}
  .structure-method .method-stat:nth-child(2n){padding-left:18px}
  .structure-method .method-stat:nth-child(5){padding-left:0}
}
@media(max-width:360px){
  .hero-content{padding-top:100px;gap:15px}
  .hero .eyebrow{font-size:10px;letter-spacing:.12em;gap:8px;white-space:nowrap}
  .hero .eyebrow-line{width:24px;flex:none}
  .hero-intro{font-size:12px}
  .structure-section .pillars > .pillar{padding-left:13px;padding-right:13px}
}
