/* Home page theme (layout + brand accents). Colors come from --lab-* tokens. */
.site-header{border-bottom-color:rgba(23,50,77,.1)}
.brand-copy small,.global-nav li a{color:var(--lab-ink-soft)}
.global-nav li a:hover{color:var(--lab-navy)}
.button{background:var(--lab-navy);border-color:var(--lab-navy);box-shadow:0 8px 22px rgba(23,50,77,.1)}
.button:hover{background:var(--lab-navy-deep);border-color:var(--lab-navy-deep)}
.button--outline{background:transparent;color:var(--lab-navy);border-color:var(--lab-navy)}
.button--outline:hover{background:var(--lab-navy);border-color:var(--lab-navy);color:#fff}
.analysis-card{box-shadow:0 14px 34px rgba(23,50,77,.06)}
.analysis-card__type{background:var(--lab-surface-soft);color:var(--lab-teal)}
.analysis-card>p:not(.analysis-card__type){color:var(--lab-ink-soft)}
.analysis-card--featured{background:var(--lab-navy);border-color:var(--lab-navy)}
.analysis-card--featured .button{background:#fff;border-color:#fff;color:var(--lab-navy)}
.analysis-card--featured .button:hover{background:var(--lab-surface);border-color:var(--lab-surface)}
.tool-group__index{color:var(--lab-teal)}
.site-footer{background:var(--lab-navy-deep)}
.brand--footer .brand-copy small,.footer-bottom,.footer-note-link{color:#b9c8d4}
.footer-note-link:hover{color:#fff}
a:focus-visible,button:focus-visible{outline:2px solid var(--lab-focus);outline-offset:4px}

body{font-size:16px;font-weight:400;line-height:1.95;letter-spacing:.015em}
.container{width:min(calc(100% - 96px),1180px)}
.site-header{background:rgba(245,247,248,.95);border-color:var(--line)}
.header-inner{height:92px}
.brand-copy strong{font-size:18px;font-weight:700;letter-spacing:.04em}
.brand-copy small{font-size:10px;letter-spacing:.04em}
.global-nav ul{gap:30px}
.global-nav li a{font-size:13px;letter-spacing:.04em}
.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.19em;font-weight:500;color:var(--lab-ink-soft)}
.home-hero{min-height:630px;background:var(--paper);border-bottom:0}
.home-hero:before{display:none}
.home-hero__inner{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:80px;padding:84px 0 98px;align-items:center}
.home-hero__copy{padding:0}
.home-hero__copy:before{display:none}
.home-hero .eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:34px;color:var(--lab-ink-soft)}
.home-hero .eyebrow:before{content:"";width:36px;height:1px;background:#9fb0bf}
.home-hero h1{font-size:clamp(36px,3.5vw,48px);font-weight:700;line-height:1.6;letter-spacing:-.02em}
.home-hero__message{display:block;text-wrap:balance}
.home-hero__phrase,.title-phrase{display:inline-block}
.home-hero__lead{max-width:450px;margin-top:28px;font-size:16px;line-height:2;letter-spacing:.025em}
.home-hero__visual{max-width:390px;justify-self:end}
.button{border-radius:2px;box-shadow:none;font-weight:500;font-size:14px;letter-spacing:.045em}
.home-hero .button{margin-top:30px;padding:0 0 12px;min-width:236px;min-height:52px;justify-content:space-between;gap:30px;background:transparent;color:var(--lab-navy);border:0;border-bottom:1px solid #8a9cad;box-shadow:none}
.home-hero .button:hover{background:transparent;border-color:var(--lab-navy);transform:none}
.button>span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid currentColor;border-radius:50%;font-size:16px;line-height:1;flex:0 0 auto;transition:transform .2s}
.button:hover>span{transform:translateX(3px)}
.home-news{position:relative;padding:18px 0 76px;border-top:1px solid #d3e1eb;background:#eaf2f7}
.home-news:before{content:"";position:absolute;top:-1px;left:max(48px,calc((100% - 1180px)/2));width:4px;height:30px;background:#d76b3b}
.home-news__grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px}
.home-news__heading{padding-top:25px}
.home-news__heading .eyebrow{margin:0 0 13px;color:#c65a2e;font-size:11px}
.home-news__heading h2{margin:0;color:#172f4d;font-family:var(--lab-font-sans);font-size:28px;font-weight:700;line-height:1.45;letter-spacing:-.01em}
.home-news__heading>p:last-child{margin:5px 0 0;color:var(--lab-ink-soft);font-size:13px;line-height:1.6}
.news-list{margin:0;padding:0;border-top:1px solid #c8d8e3;list-style:none}
.news-list__item{margin:0;border-bottom:1px solid #c8d8e3}
.news-list__link{display:grid;grid-template-columns:190px minmax(0,1fr) 20px;gap:22px;align-items:center;min-width:0;padding:20px 2px;color:var(--lab-ink);transition:color .2s}
.news-list__link:hover{color:var(--lab-teal)}
.news-list__link:focus-visible{outline:2px solid var(--lab-focus);outline-offset:5px}
.news-list__meta{display:grid;grid-template-columns:90px 78px;gap:12px;align-items:center}
.news-list__date{color:var(--lab-ink-soft);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}
.news-list__category{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:2px 8px;border-radius:2px;font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.08em}
.news-list__category--new{background:#ffe2c5;color:#b74400;font-weight:700}
.news-list__category--update{background:#d8e3ee;color:#284767;font-weight:700}
.news-list__category--note{background:#f0ece2;color:#725f37}
.news-list__title{min-width:0;font-size:15px;font-weight:500;line-height:1.65;overflow-wrap:anywhere}
.news-list__arrow{font-size:16px;line-height:1;text-align:right;transition:transform .2s}
.news-list__link:hover .news-list__arrow{transform:translateX(3px)}
.home-section{padding:80px 0 104px}
.home-section__heading{margin-bottom:56px;display:flex;align-items:baseline;gap:42px;padding-top:34px;border-top:1px solid #a9b8c5}
.home-section__heading .eyebrow{margin:0;min-width:178px}
.home-section__heading h2,.about-lab h2{font-size:38px;font-weight:700;line-height:1.55;letter-spacing:-.01em}
.tool-group{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0 0;margin:0;padding:48px 0;border-top:1px solid var(--line)}
.tool-group h3[id]{scroll-margin-top:190px}
.tool-group__heading{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin:0;padding:0 30px 0 0}
.tool-group__index{width:auto;margin:0;color:var(--lab-teal);font-family:var(--lab-font-dot);font-size:48px;font-weight:400;font-synthesis:none;line-height:1;letter-spacing:0;white-space:nowrap}
.tool-group__heading h3{font-size:23px;font-weight:700;line-height:1.65;letter-spacing:0}
.tool-group-row{display:block;margin:0}
.tool-group-row .tool-group{margin:0}
.analysis-grid{gap:0 42px}
.analysis-grid--single{grid-template-columns:minmax(0,1fr)}
.analysis-grid--regional,.analysis-grid--market{grid-template-columns:repeat(2,minmax(0,1fr))}
.analysis-card{min-height:244px;padding:12px 0 32px;border:0;border-radius:0;background:transparent;box-shadow:none;align-items:flex-start}
.analysis-grid--regional .analysis-card:nth-child(n+3){border-top:1px solid var(--line);padding-top:30px}
.analysis-card__type{background:transparent;padding:0;margin:0 0 16px;color:var(--lab-ink-soft);font-size:11px;font-weight:400;letter-spacing:.05em;border-radius:0}
.analysis-card h4{margin-bottom:14px;font-size:23px;font-weight:700;line-height:1.65;letter-spacing:-.015em;text-wrap:pretty}
.analysis-card>p:not(.analysis-card__type){max-width:380px;margin-bottom:24px;font-size:15px;line-height:1.9;color:var(--lab-ink-soft)}
.analysis-card .button{width:100%;min-height:44px;padding:0;background:transparent;border:0;border-radius:0;color:var(--lab-navy);justify-content:space-between;box-shadow:none;font-size:13px;font-weight:500;letter-spacing:.04em}
.analysis-card .button:hover{color:var(--lab-navy-deep);background:transparent;transform:none}
.analysis-card .button>span{width:30px;height:30px;border-color:#b3c1cc;font-size:15px}
.analysis-card--featured{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 30px;align-items:center;min-height:206px;padding:34px 38px;background:var(--lab-navy);border-radius:3px;color:#fff}
.analysis-card--featured h4{margin:0;grid-column:1;font-size:25px;letter-spacing:.01em;color:#fff}
.analysis-card--featured>p{max-width:none;margin:0!important;grid-column:1;font-size:15px!important}
.analysis-card--featured .button{grid-column:2;grid-row:1/3;align-self:center;gap:24px;margin:0;padding:0;width:auto;background:transparent;border:0;color:#fff;white-space:nowrap}
.analysis-card--featured .button:hover{background:transparent;color:#fff;border:0}
.analysis-card--featured .button>span{width:42px;height:42px;border-color:#8fa7b8}
.about-lab{padding:90px 0 100px;background:var(--lab-surface-soft);border-top:0}
.about-lab__grid{grid-template-columns:220px minmax(0,1fr);gap:0}
.about-lab h2{font-size:32px}
.about-lab__body{max-width:710px}
.about-lab__body p{font-size:17px;font-weight:400;line-height:2.15;letter-spacing:.025em}
.about-lab__questions{margin:30px 0;padding:0;border:0;font-size:24px;font-weight:500;line-height:1.9;letter-spacing:.01em}
.about-lab__body .about-lab__closing{font-size:17px;font-weight:500;margin-top:26px}
.site-footer{padding:58px 0 24px;background:var(--lab-navy-deep)}
.footer-grid{padding-bottom:40px}
.site-footer .brand-copy strong{font-size:24px;font-weight:700}
.footer-bottom{font-size:11px;letter-spacing:.03em}
a:focus-visible,button:focus-visible{outline:2px solid var(--lab-focus);outline-offset:5px}
@media(max-width:1050px){
 .global-nav ul{gap:18px}.global-nav li a{font-size:12px}
 .home-hero__inner{gap:40px}
 .tool-group{grid-template-columns:180px minmax(0,1fr)}
 .home-section__heading .eyebrow{min-width:138px}
 .analysis-card--featured{grid-template-columns:1fr;padding:30px}
 .analysis-card--featured .button{grid-column:1;grid-row:auto;margin-top:14px;justify-self:start}
 .about-lab__grid{grid-template-columns:180px minmax(0,1fr)}
}
@media(max-width:900px){
 .container{width:calc(100% - 48px)}.header-inner{height:74px}
 .home-news:before{left:24px}
 .home-hero{min-height:0}.home-hero__inner{padding:65px 0 72px;gap:28px}
 .home-hero h1{font-size:34px}.home-hero__visual{max-width:300px}
 .tool-group{grid-template-columns:1fr;gap:28px}
 .tool-group__heading{flex-direction:row;align-items:center;gap:22px;padding:0}
 .tool-group__index{font-size:32px}.tool-group h3[id]{scroll-margin-top:110px}
 .home-section__heading{gap:24px}.home-section__heading .eyebrow{min-width:0}
 .about-lab__grid{grid-template-columns:1fr;gap:36px}
}
@media(max-width:768px){
 .home-news{padding:10px 0 58px}
 .home-news__grid{grid-template-columns:1fr;gap:28px}
 .home-news__heading{padding-top:22px}
 .home-news__heading h2{font-size:24px}
 .news-list__link{grid-template-columns:minmax(0,1fr) 20px;gap:8px 14px;padding:18px 0}
 .news-list__meta{grid-column:1;grid-row:1;display:flex;gap:14px}
 .news-list__title{grid-column:1;grid-row:2;font-size:14px;line-height:1.65}
 .news-list__arrow{grid-column:2;grid-row:1/3;align-self:center}
}
@media(max-width:620px){
 .container{width:calc(100% - 40px)}
 .home-news:before{left:20px}
 .brand-copy strong{font-size:16px}.brand__mark{width:32px;height:32px}
 .home-hero__inner{grid-template-columns:1fr;padding:30px 0 54px;gap:32px}
 .home-hero__visual{width:190px;max-width:75%;grid-row:1;justify-self:center}
 .home-hero__copy{padding:0;overflow-wrap:normal}
 .home-hero .eyebrow{margin-bottom:22px;font-size:9px;gap:12px}
 .home-hero h1{font-size:clamp(26px,7.3vw,32px);line-height:1.65;letter-spacing:-.035em}
 .home-hero__lead{margin-top:22px;font-size:15px;line-height:2}
 .home-hero .button{width:auto;min-width:224px;margin-top:26px}
 .home-section{padding:30px 0 54px}.home-section__heading{display:block;margin-bottom:30px;padding-top:26px}
 .home-section__heading .eyebrow{margin-bottom:12px}
 .home-section__heading h2{font-size:30px}
 .tool-group{padding:30px 0;gap:24px}.tool-group__heading{gap:18px}
 .tool-group__index{font-size:32px}.tool-group__heading h3{font-size:22px}
 .analysis-grid--regional,.analysis-grid--market{grid-template-columns:1fr;gap:0}
 .analysis-card{padding:26px 0;min-height:0}
 .analysis-card+.analysis-card{border-top:1px solid var(--line)}
 .analysis-card h4{font-size:22px;line-height:1.6}.analysis-card__type{margin-bottom:12px}
 .analysis-card .button{margin-top:0}
 .analysis-card--featured{padding:27px 24px;gap:16px}
 .analysis-card--featured h4{font-size:23px}
 .analysis-card--featured .button{margin-top:6px;justify-self:stretch;justify-content:space-between}
 .about-lab{padding:52px 0 60px}.about-lab h2{font-size:28px}
 .about-lab__body p{font-size:16px}.about-lab__questions{font-size:19px}
 .about-lab__body .about-lab__closing{font-size:16px}
 .site-footer{padding:42px 0 24px}.footer-grid{padding-bottom:30px}
}
@media(prefers-reduced-motion:reduce){.button>span,.news-list__link,.news-list__arrow{transition:none}}

body.home-page .tool-group__heading h3{font-weight:700}
body.home-page .analysis-card .tool-heading-row{
 display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;
 width:100%;min-width:0;box-sizing:border-box;margin:0 0 14px;
}
body.home-page .analysis-card .tool-heading-row img{
 display:block;grid-column:1;grid-row:1;width:48px;height:48px;object-fit:contain;
}
body.home-page .analysis-card .tool-heading-row h4{
 grid-column:2;grid-row:1;min-width:0;max-width:100%;box-sizing:border-box;margin:0;
 color:var(--lab-navy);font-size:22px;font-weight:700;line-height:1.65;letter-spacing:-.015em;text-wrap:pretty;
}
body.home-page .analysis-card .tool-heading-row .title-phrase{max-width:100%;overflow-wrap:anywhere}
body.home-page .analysis-card--featured{
 display:block;min-height:0;padding:12px 0 32px;background:transparent;border:0;
 border-radius:0;color:var(--ink);
}
body.home-page .analysis-card--featured .tool-heading-row{margin-bottom:14px}
body.home-page .analysis-card--featured .tool-heading-row h4{
 width:fit-content;padding:8px 14px;background:var(--lab-navy);color:#fff;
}
body.home-page .analysis-card--featured>p{
 max-width:380px;margin:0 0 24px!important;color:var(--lab-ink-soft)!important;font-size:15px!important;
 line-height:1.9;text-align:left;
}
body.home-page .analysis-card--featured .button{
 display:flex;grid-column:auto;grid-row:auto;align-self:auto;justify-self:auto;
 width:100%;min-height:44px;margin:0;padding:0;background:transparent;border:0;
 border-radius:0;color:var(--lab-navy);white-space:normal;text-align:left;
}
body.home-page .analysis-card--featured .button:hover{background:transparent;color:var(--lab-navy-deep)}
body.home-page .analysis-card--featured .button>span{
 width:30px;height:30px;border-color:#b3c1cc;
}
@media(max-width:620px){
 body.home-page .analysis-card .tool-heading-row{grid-template-columns:40px minmax(0,1fr);gap:12px}
 body.home-page .analysis-card .tool-heading-row img{width:40px;height:40px}
 body.home-page .analysis-card .tool-heading-row h4{font-size:20px;line-height:1.6}
 body.home-page .analysis-card--featured{padding:26px 0}
}
