.site-header .brand{align-items:center;gap:12px}
.brand__mark{display:block;flex:0 0 auto;object-fit:contain}

.home-hero{
  position:relative;
  isolation:isolate;
  min-height:540px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.home-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 84% 45%,rgba(43,100,116,.06),transparent 58%);
}
.home-hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:52px;padding:72px 0 80px}
.home-hero__copy{position:relative;min-width:0;padding-left:26px}
.home-hero__copy:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;border-radius:4px;background:var(--gold)}
.home-hero .eyebrow{margin-bottom:17px;color:var(--signal)}
.home-hero h1{margin:0;color:var(--accent);font-family:var(--serif);font-size:clamp(32px,3vw,42px);font-weight:500;line-height:1.55;letter-spacing:.025em}
.home-hero__message{display:block;text-wrap:balance}
.home-hero__lead{max-width:680px;margin:25px 0 0;color:var(--ink-soft);font-size:16px;line-height:1.9}
.home-hero .button{margin-top:31px}
.home-hero .button:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
/* Keep the supplied artwork intact; frame its generous outer whitespace in CSS. */
.home-hero__visual{position:relative;width:100%;max-width:490px;aspect-ratio:1.05;justify-self:center;overflow:hidden;mix-blend-mode:multiply}
.home-hero__logo{position:absolute;display:block;width:140%;max-width:none;height:auto;left:-20%;top:-27%}

.home-section{padding:108px 0;scroll-margin-top:82px}
.home-section__heading{margin-bottom:56px}
.home-section__heading h2{margin:0;color:var(--accent);font-family:var(--serif);font-size:clamp(36px,4.5vw,58px);font-weight:500;line-height:1.42}

.tool-group{margin-top:70px}
.tool-group h3[id]{scroll-margin-top:110px}
.tool-group:first-of-type{margin-top:0}
.tool-group__heading{display:flex;align-items:flex-start;gap:20px;margin-bottom:25px}
.tool-group__index{width:34px;margin:10px 0 0;color:#7a878f;font:600 10px/1 var(--latin);letter-spacing:.14em;flex:0 0 auto}
.tool-group__heading h3{margin:0;color:var(--accent);font-family:var(--serif);font-size:clamp(27px,3vw,37px);font-weight:500;line-height:1.45}
.tool-group__heading p:not(.tool-group__index){margin:7px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.7}
.tool-group-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:70px}
.tool-group-row .tool-group{margin-top:0}

.analysis-grid{display:grid;gap:18px}
.analysis-grid--single{grid-template-columns:minmax(0,580px)}
.analysis-grid--market{grid-template-columns:repeat(2,minmax(0,1fr))}
.analysis-grid--regional{grid-template-columns:repeat(4,minmax(0,1fr))}
.analysis-card{display:flex;min-height:285px;padding:31px 28px;border:1px solid var(--line);border-radius:16px;background:var(--paper-light);box-shadow:0 14px 34px rgba(23,50,77,.06);flex-direction:column;align-items:flex-start}
.analysis-card--featured{border-color:var(--accent-deep);background:var(--accent-deep);color:#fff}
.analysis-card__type{display:inline-flex;margin:0 0 18px;padding:4px 9px;border-radius:99px;background:#e7f1f3;color:var(--signal);font-size:10px;font-weight:700;line-height:1.5}
.analysis-card h4{margin:0 0 14px;color:var(--accent);font-family:var(--serif);font-size:clamp(23px,2vw,29px);font-weight:500;line-height:1.5}
.analysis-card>p:not(.analysis-card__type){margin:0 0 25px;color:#5e6662;font-size:14px;line-height:1.8}
.analysis-card .button{margin-top:auto}
.analysis-card--featured h4{color:#fff}
.analysis-card--featured>p{color:#d8e0dc!important}
.analysis-card--featured .button{border-color:#fff;background:#fff;color:var(--accent-deep)}
.analysis-card--featured .button:hover{border-color:#e9e7e1;background:#e9e7e1}

.about-lab{padding:84px 0;border-top:1px solid var(--line);background:var(--paper-light);scroll-margin-top:82px}
.about-lab__grid{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:clamp(48px,9vw,125px)}
.about-lab h2{margin:0;color:var(--accent);font-family:var(--serif);font-size:clamp(36px,4.3vw,56px);font-weight:500;line-height:1.45}
.about-lab__body{max-width:720px}
.about-lab__body p{margin:0 0 18px;color:var(--ink-soft);font-family:var(--serif);font-size:clamp(17px,1.6vw,21px);line-height:1.9}
.about-lab__body p:last-child{margin-bottom:0}
.about-lab__questions{display:block;margin:14px 0;padding-left:18px;border-left:2px solid var(--gold);color:var(--accent)}
.about-lab__body .about-lab__closing{margin-top:32px;color:var(--accent);font-size:clamp(19px,1.9vw,24px)}

.site-footer .brand--footer+small{display:block;margin-top:22px}
.footer-note-link+.footer-note-link{margin-left:24px}

@media(max-width:1080px){
  .analysis-grid--regional{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .home-hero{min-height:520px}
  .home-hero__inner{gap:26px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding:56px 0 64px}
  .home-hero__copy{padding-left:20px}
  .home-hero h1{font-size:32px}
  .about-lab__grid{grid-template-columns:1fr;gap:28px}
  .tool-group-row{grid-template-columns:1fr;gap:58px}
  .analysis-grid--single{grid-template-columns:1fr}
}
@media(max-width:620px){
  .site-header .brand{gap:9px}
  .brand__mark{width:36px;height:36px}
  .home-hero{min-height:0}
  .home-hero:before{background:radial-gradient(ellipse at 50% 12%,rgba(157,183,152,.16),transparent 58%)}
  .home-hero__copy{min-width:0;padding-left:20px;overflow-wrap:anywhere}
  .home-hero__inner{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 0 48px}
  .home-hero__visual{grid-row:1;width:220px;max-width:76%}
  .home-hero h1{font-size:clamp(25px,7.2vw,30px);line-height:1.5;overflow-wrap:anywhere}
  .home-hero__lead{font-size:15px;line-height:1.8}
  .home-hero .button{width:100%}
  .home-section{padding:76px 0}
  .about-lab{padding:64px 0}
  .footer-note-link+.footer-note-link{margin-left:auto}
  .home-section__heading{margin-bottom:48px}
  .tool-group{margin-top:58px}
  .tool-group-row{margin-top:58px}
  .tool-group__heading{gap:10px;margin-bottom:20px}
  .tool-group__index{width:26px;margin-top:8px}
  .analysis-grid--regional{grid-template-columns:1fr}
  .analysis-grid--market{grid-template-columns:1fr}
  .analysis-card{min-height:auto;padding:27px 24px}
  .analysis-card .button{width:100%;margin-top:4px}
}

@media print{
  .site-header,.site-footer{display:none!important}
  .home-section,.home-hero{min-height:0;padding:28px 0;background:#fff!important;color:#111!important}
  *{box-shadow:none!important}
}
