/* Homepage composition. Brand tokens and shared components live in mockup.css. */
.hero.home {
  background: linear-gradient(105deg,#fff 0%,#f6fbff 36%,#eaf6ff 68%,#d9eeff 100%);
}
.hero.home .hero-inner {height:clamp(540px,46.9vw,668px)}
.hero.home .hero-copy {width:54%;top:16%}
.hero.home h1 {font-size:clamp(52px,4.8vw,76px)}
.hero.home .hero-art {
  position:absolute;left:54%;right:calc((100% - 100vw)/2);top:0;bottom:0;
  width:auto;height:100%;max-width:none;margin:0;display:flex;align-items:end;
}
.hero.home .hero-art img {
  width:100%;height:100%;margin:0;max-width:none;object-fit:contain;object-position:right bottom;
  mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 91%,transparent 100%),linear-gradient(180deg,#000 94%,transparent 100%);
  mask-composite:intersect;mix-blend-mode:normal;
}
.hero.home .hero-art::before,.hero.home .hero-art::after {display:none}
.hero.home .hero-copy p:not(.eyebrow) {max-width:93%;font-size:clamp(16px,1.25vw,20px)}
.hero.home .hero-highlights {gap:24px;flex-wrap:wrap}
.home-intro,.home-industries,.home-insights,.home-faq,.home-measurement {padding:76px 0}
.intro-layout {display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:start}
.intro-copy .lead {font-size:19px;line-height:1.65}
.intro-copy>p:not(.lead) {font-size:15px;line-height:1.75}
.intro-links {display:flex;flex-wrap:wrap;gap:15px 28px;margin-top:25px}
.text-link {display:inline-flex;gap:9px;align-items:center}
.text-link>.icon {width:18px;height:18px;margin:0}
.home-services {padding-top:38px;padding-bottom:76px}
.home-service-grid .service-arrow>.icon {width:18px;height:18px;margin:0}
.home-discovery {position:relative;overflow:hidden;padding:67px 0;background:linear-gradient(110deg,#091b5c,#0d2d83)}
.home-discovery::after {content:"";position:absolute;width:420px;height:420px;right:-300px;top:-70px;border:45px solid #476fe124;border-radius:50%;pointer-events:none}
.discovery-layout {display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:center;position:relative;z-index:1}
.home-discovery h2 {font-size:clamp(30px,3vw,44px);max-width:580px}
.home-discovery h2+p {margin-top:22px;line-height:1.6}
.home-discovery .eyebrow,.home-discovery .text-link,.home-discovery .text-link>.icon {color:#fff}
.discovery-features {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.discovery-features .icon-bubble {margin-bottom:22px}
.discovery-features .icon-bubble .icon {color:#1244bf;stroke-width:1.7;margin:0}
.discovery-features h3 {font-size:20px;margin-bottom:12px;line-height:1.2}
.discovery-features p {font-size:14px;line-height:1.65;margin:0}
.industries-layout {display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:start}
.industry-intro>p:not(.eyebrow) {margin-top:24px;max-width:425px;line-height:1.7}
.industry-row {display:grid;grid-template-columns:32px 1fr 25px;gap:20px;padding:25px 0;border-top:1px solid var(--line)}
.industry-row:last-child {border-bottom:1px solid var(--line)}
.industry-row:hover {text-decoration:none}
.industry-number {font-size:12px;letter-spacing:1px;font-weight:600;padding-top:4px}
.industry-row h3 {font-size:22px;margin-bottom:10px}
.industry-row p {font-size:14px;margin:0;line-height:1.65}
.industry-row>.icon {width:22px;height:22px;transition:transform .2s}
.industry-row:hover>.icon {transform:translate(3px,-3px)}
.measurement-steps {list-style:none;padding:0;margin:42px 0 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.measurement-steps li {border-top:2px solid #c6dafa;padding-top:22px}
.measurement-steps li>span {color:var(--blue);font-size:13px;letter-spacing:1px}
.measurement-steps h3 {font-size:21px;margin:12px 0}
.measurement-steps p {font-size:14px;line-height:1.7;margin:0}
.source-note {font-size:12px;line-height:1.6;max-width:890px}
.insight-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.insight-card {padding:30px 0 12px;border-top:2px solid var(--blue)}
.insight-category {font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--blue);font-weight:650}
.insight-card h3 {font-size:25px;line-height:1.25;margin-bottom:15px}
.insight-card h3 a {color:var(--navy)}
.insight-card>p:not(.insight-category) {font-size:14px;line-height:1.7;min-height:74px}
.faq-layout {display:grid;grid-template-columns:.75fr 1.25fr;gap:85px;align-items:start}
.faq-layout>div>p:not(.eyebrow) {max-width:350px;line-height:1.7;margin-top:22px}
.home-faq-list details {border-bottom:1px solid #d0def3}
.home-faq-list details:first-child {border-top:1px solid #d0def3}
.home-faq-list summary {list-style:none;display:flex;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer;font-size:16px;line-height:1.5;font-weight:600;color:var(--navy)}
.home-faq-list summary::-webkit-details-marker {display:none}
.home-faq-list summary>span {font-size:23px;font-weight:400;color:var(--blue);line-height:1.2;transition:transform .2s}
.home-faq-list details[open] summary>span {transform:rotate(45deg)}
.home-faq-list details>p {padding:0 35px 23px 0;margin:0;font-size:14px;line-height:1.8}
@media (min-width:1700px) {.hero.home .hero-art img {object-position:center bottom}}
@media (max-width:1050px) {
  .hero.home .hero-inner {height:auto;min-height:0;display:grid;grid-template-columns:1.05fr 1fr;padding:90px 0 35px}
  .hero.home .hero-copy {position:relative;top:auto;left:auto;width:100%}
  .hero.home h1 {font-size:clamp(39px,5.1vw,54px)}
  .hero.home .hero-art {position:relative;inset:auto;width:110%;height:auto;margin:0 -10% 0 0}
  .hero.home .hero-art img {height:auto;object-fit:contain}
  .hero.home .hero-highlights {gap:12px;font-size:10px}
  .intro-layout,.industries-layout,.faq-layout {gap:40px}
  .discovery-layout {grid-template-columns:1fr;gap:36px}
  .discovery-features {gap:35px}
  .home-intro,.home-industries,.home-insights,.home-faq,.home-measurement {padding:58px 0}
  .measurement-steps {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px) {
  .hero.home .hero-inner {grid-template-columns:1fr;padding:76px 0 0;gap:14px}
  .hero.home .hero-copy {width:100%}
  .hero.home h1 {font-size:clamp(32px,8.5vw,60px);line-height:1.06}
  .hero.home .hero-copy p:not(.eyebrow) {font-size:15px;max-width:100%}
  .hero.home .hero-art {width:calc(100% + 36px);height:auto;inset:auto;margin:0 -18px}
  .hero.home .hero-art img {width:100%;height:auto;mask-image:linear-gradient(180deg,transparent,#000 6%,#000 94%,transparent);mask-composite:add}
  .hero.home .hero-highlights {gap:14px;font-size:10px}
  .intro-layout,.industries-layout,.faq-layout {grid-template-columns:1fr;gap:28px}
  .intro-copy .lead {font-size:17px}
  .intro-links {display:grid;gap:16px}
  .discovery-features {grid-template-columns:1fr;gap:28px}
  .discovery-features article {display:grid;grid-template-columns:48px 1fr;column-gap:20px;align-items:start}
  .discovery-features .icon-bubble {grid-row:span 2;width:48px;height:48px;margin:0}
  .discovery-features h3 {margin:0 0 7px}
  .home-discovery {padding:47px 0}
  .industry-row {gap:13px;grid-template-columns:26px 1fr 18px}
  .industry-row h3 {font-size:21px}
  .industry-intro>p:not(.eyebrow),.faq-layout>div>p:not(.eyebrow) {max-width:none}
  .measurement-steps {gap:28px 20px;margin-top:30px}
  .measurement-steps h3 {font-size:19px}
  .measurement-steps p {font-size:13px}
  .insight-grid {grid-template-columns:1fr;gap:20px}
  .insight-card>p:not(.insight-category) {min-height:0}
  .home-faq-list summary {font-size:15px;gap:18px}
}
@media (prefers-reduced-motion:reduce) {.industry-row>.icon,.home-faq-list summary>span {transition:none}}
