/* Shared spacing and hierarchy. Loaded after section styles. */
.container{max-width:1160px;width:calc(100% - 80px)}
.nav-wrap{height:84px;gap:26px}
.nav-tools{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nav-search{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 13px;border:1px solid #dce9f5;border-radius:10px;color:var(--blue);background:#f7fbff;font-size:12px;font-weight:600}
.nav-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.nav-search:hover{background:#eaf5ff}
#main-nav{gap:24px;margin-left:auto}
.section{padding-block:100px}
.section-heading{margin-bottom:42px;gap:32px}
.section-heading h2{font-size:clamp(30px,3.4vw,42px);max-width:650px;line-height:1.17}
.section-heading p:not(.eyebrow){max-width:580px;line-height:1.85;margin-top:18px;font-size:14px}
.hero-description{max-width:390px;line-height:1.9}
.hero-copy .hero-foot{display:none}
.hero-copy h1{font-size:clamp(48px,5.1vw,68px);line-height:1.13;margin-block:24px 26px}
.hero-actions{gap:24px;flex-wrap:wrap}
.home-find-form{display:flex;gap:12px;max-width:790px;margin:30px 0 36px}
.home-find-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;color:#5e748b;font-size:12px}
.home-find-field input{min-height:58px;width:100%;border:1px solid #cfdfef;border-radius:10px;background:#f9fcff;padding:16px 18px;font-size:15px;color:var(--ink)}
.home-find-form .btn{align-self:end;min-height:58px;border-radius:10px}
.home-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.home-task-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:30px;min-height:210px;border:1px solid #dce9f5;border-radius:16px;background:#fff;transition:background .2s,border-color .2s}
.home-task-card:hover{background:#f6fbff;border-color:#91c4f4}
.home-task-card svg{width:30px;height:30px;fill:none;stroke:#1478e8;stroke-width:1.7}
.home-task-card strong{font:700 23px/1.25 var(--font);letter-spacing:-.035em}
.home-task-card p{max-width:260px;font-size:13px;color:#657b91;line-height:1.8}
.home-task-card>span{margin-top:auto;color:#1478e8;font-size:13px;font-weight:600}
.home-registry{margin-top:34px;border-top:1px solid #e2ecf5;padding-top:20px}
.home-registry>summary{display:flex;align-items:center;gap:12px;cursor:pointer;color:#496a88;font-size:13px;min-height:44px;list-style:none}
.home-registry>summary::after{content:'+';margin-left:auto;color:#1478e8;font-size:22px}
.home-registry[open]>summary::after{content:'−'}
.data-home-access{padding-block:76px;background:#f4f9ff}
.data-home-access .data-cards{margin-top:32px}
.data-home-access h2{font-size:36px;line-height:1.22}
.data-cards{gap:24px}
.data-card{padding:32px;border-radius:16px;min-height:230px}
.data-card .data-card-label{margin-bottom:23px}
.data-card h2,.data-card h3{margin-bottom:16px;font-size:24px}
.data-card p{font-size:13px;line-height:1.85;max-width:36em}
.data-card .data-card-link{padding-top:30px}
.services-grid{gap:24px}
.service-card{padding:34px;border-radius:16px}
.service-card h3{margin-top:28px;margin-bottom:16px}
.service-card p{font-size:14px;line-height:1.85;max-width:28em}
.service-link{margin-top:26px}
.products-home-section{padding-block:100px;background:#fff}
.products-section-heading{margin-bottom:42px;gap:28px}
.products-section-heading h2{font-size:clamp(30px,3.4vw,42px);line-height:1.2}
.products-section-heading p:not(.eyebrow){max-width:560px;line-height:1.85}
.products-grid{gap:24px}
.product-card{padding:32px;border-radius:16px}
.product-card .product-eyebrow{display:none}
.product-card h3{font-size:25px;line-height:1.23;min-height:0;margin-top:24px}
.product-card .product-description{font-size:14px;line-height:1.8;min-height:0;margin-top:16px}
.product-card .product-price{margin-block:28px}
.product-card .product-price strong{font-size:32px}
.product-card .product-card-action{padding-top:26px}
.product-card .product-card-action .btn{width:100%;gap:15px;line-height:1.5}
.product-summary-facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px;padding:0;list-style:none}
.product-summary-facts li{padding:7px 10px;background:#f0f7fe;color:#54728f;border-radius:6px;font-size:11px;line-height:1.5}
.home-product-details{font-size:12px;color:#1478e8;margin-top:14px;display:inline-block}
.product-details{border-top:1px solid #e0ebf5;margin-top:8px;padding-top:18px}
.product-details summary{min-height:44px;color:#52738f;font-size:13px}
.product-details-content{padding-top:16px}
.product-details-content .product-audience,.product-details-content .product-value{min-height:0}
.products-proposal-note{max-width:850px;margin-top:24px;line-height:1.85}
.products-hero{padding-block:76px}
.products-hero h1{font-size:clamp(38px,4.5vw,60px);line-height:1.15}
.products-hero-description{max-width:520px;line-height:1.85}
.products-packages{padding-block:90px}
.products-process{padding-block:80px}
.products-steps{gap:28px}
.products-step{padding:28px;border:1px solid #e2ecf6;border-radius:14px;background:#fff}
.products-step p{font-size:14px;line-height:1.9;margin-top:16px}
.products-faq{padding-block:80px}
.products-faq-item{padding-block:22px}
.products-faq-item p{max-width:55em;line-height:1.95}
.research-card{border-radius:16px;overflow:hidden}
.research-card h3{line-height:1.35;margin-top:20px}
.about-section{padding-block:100px}
.about-grid{gap:80px}
.about-grid p{max-width:460px;line-height:1.9}
.principles>div{padding-block:24px}
.contact-section{margin-block:90px;padding:48px;border-radius:18px}
.data-hero{padding-block:58px 46px}
.data-hero h1{margin-block:16px 22px;max-width:900px;line-height:1.2}
.data-hero .data-intro{max-width:660px;line-height:1.9}
.data-content{padding-block:56px 90px}
.data-section{margin-top:52px}
.data-stat-grid{gap:22px;margin-block:36px}
.data-stat{padding:28px;border-radius:14px}
.data-prose>section:not(.data-table-widget){padding:30px;border:1px solid #e3edf6;border-radius:14px;background:#fff;margin-bottom:28px}
.data-prose h2{margin-bottom:22px;line-height:1.32}
.data-prose p,.data-prose li{line-height:1.95;font-size:15px;max-width:68ch;margin-bottom:20px}
.data-toc{top:110px}
.data-table-widget{border-radius:14px;margin-block:28px}
.data-table-heading{padding:26px 26px 8px}
.data-table-controls{padding:20px 26px;gap:14px}
.data-table-meta{padding:17px 26px}
.data-table-widget td{padding:20px 18px;line-height:1.8}
.data-subnav{margin-top:28px;gap:9px}
.data-subnav a{padding:10px 14px;border-radius:8px}
.data-doc-list{gap:14px}
.data-doc-item{padding:20px 24px;border-radius:10px;line-height:1.8}
.data-related{gap:20px;margin-top:30px}
.profile-summary-top h2{font-size:27px;line-height:1.25}
.profile-overview{padding-top:36px}
.profile-history{border-radius:14px;margin-bottom:24px}
.profile-history>summary{padding:22px 26px}
.compare-candidates{border-top:1px solid #dce8f4;margin-top:22px;padding-top:14px}
.compare-candidates>summary{cursor:pointer;color:#1478e8;font-size:13px;padding:12px 0;min-height:44px}
.compare-candidates[open]>summary{margin-bottom:14px}
.footer{padding-top:70px}
.footer-grid{gap:50px}
.footer-note{padding-top:30px;padding-bottom:32px;gap:16px;align-items:flex-start}
.site-provenance{max-width:650px;color:#71849a;font-size:11px;line-height:1.85}
.site-provenance summary{cursor:pointer;color:#526e8b;min-height:32px}
.site-provenance p{margin-top:12px}
.prototype{min-height:28px;font-size:10px}
@media(min-width:821px){.hero-grid{min-height:610px;padding-block:54px 65px;gap:60px}}
@media(max-width:1120px){
 .nav-wrap{height:76px;gap:20px}
 #menu-toggle{display:block}
 #main-nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;padding:22px 30px;box-shadow:0 14px 25px #12365412;flex-direction:column;align-items:stretch;font-size:14px;gap:2px;margin-left:0}
 #main-nav.is-open{display:flex}
 #main-nav a{padding:13px}
 .nav-tools{margin-left:auto}
 .nav-search span{display:none}
 .nav-search{width:44px;padding:10px}
 .products-grid{gap:18px}
 .product-card{padding:24px}
 .product-card h3{font-size:23px}
}
@media(max-width:820px){
 .container{width:calc(100% - 40px)}
 .section{padding-block:70px}
 .section-heading{margin-bottom:30px}
 .hero-copy h1{font-size:clamp(38px,8vw,54px)}
 .hero-grid{gap:36px}
 .home-task-grid{grid-template-columns:1fr;gap:16px}
 .home-task-card{min-height:0;padding:26px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px 16px}
 .home-task-card svg{grid-row:1/4}
 .home-task-card strong{font-size:22px}
 .home-task-card p{max-width:none}
 .home-task-card>span{grid-column:2}
 .data-home-access{padding-block:60px}
 .data-card{padding:28px;min-height:220px}
 .services-grid{gap:18px}
 .service-card{padding:28px}
 .products-home-section,.products-packages{padding-block:70px}
 .products-hero{padding-block:52px}
 .products-process,.products-faq{padding-block:64px}
 .about-section{padding-block:70px}
 .about-grid{gap:40px}
 .contact-section{margin-block:65px;padding:34px}
 .data-hero{padding-block:40px 34px}
 .data-content{padding-block:36px 65px}
 .data-prose>section:not(.data-table-widget){padding:24px}
 .data-stat{padding:22px}
 .data-toc{position:static}
 .profile-summary-top h2{font-size:25px}
 .footer-grid{gap:36px}
}
@media(max-width:620px){
 .nav-wrap{gap:12px;height:72px}
 #main-nav{top:72px}
 .nav-tools{gap:8px}
 .nav-search{min-height:40px;width:40px;border-radius:9px}
 .brand{gap:9px}.brand strong{font-size:27px}.brand small{font-size:7px;max-width:145px}
 .brand-symbol{width:35px;height:40px;font-size:28px}
 .prototype{font-size:9px;padding:5px 15px}
 .home-find-form{flex-direction:column;margin-block:24px 28px}
 .home-find-form .btn{align-self:stretch;min-height:48px}
 .home-find-field input{font-size:14px;min-height:54px}
 .section-heading h2,.products-section-heading h2,.data-home-access h2{font-size:31px;line-height:1.23}
 .products-grid{gap:22px}
 .product-card{padding:28px}
 .product-card h3{font-size:26px}
 .product-card .product-price strong{font-size:33px}
 .products-section-heading{margin-bottom:32px}
 .data-cards{gap:20px}
 .data-card{min-height:210px}
 .data-prose>section:not(.data-table-widget){padding:22px 20px}
 .data-prose p,.data-prose li{font-size:14px}
 .data-table-heading{padding:22px 20px 4px}
 .data-table-controls{padding:18px 20px}
 .data-table-meta{padding:16px 20px}
 .profile-overview{padding-top:28px}
 .profile-summary-top h2{font-size:25px}
 .profile-history>summary{padding:20px}
 .footer{padding-top:52px}
 .footer-note{display:block}
 .site-provenance{margin-top:15px}
}
@media(max-width:360px){.brand small{max-width:120px;font-size:6.5px}.brand strong{font-size:25px}.nav-tools{gap:5px}.nav-search{width:35px}.nav-wrap{gap:8px}.hero-actions{gap:18px}.hero-actions .btn{padding:14px 17px}.home-task-card{padding:22px}.product-card{padding:24px}}
@media print{.nav-tools,.home-find-form,.home-task-grid{display:none}.container{width:100%;max-width:none}.data-prose>section{border:0;padding:0!important}}
