/* Homepage enhancements — shared styles remain in styles.css. */
.reading-progress { position:fixed; top:0; left:0; height:3px; width:100%; background:var(--red); z-index:100; transform:scaleX(0); transform-origin:left; }
.enhanced-home .home-hero { background:#081b2d; }
.enhanced-home .home-hero .hero-shade { background:linear-gradient(90deg,#0a1a2bee,#0a1a2b66 70%,#0a1a2b20),linear-gradient(0deg,#091925b0,transparent 45%); }
.enhanced-home .services { padding-bottom:85px; }
.enhanced-home .service-card { min-height:310px; background:#112936; color:white; }
.enhanced-home .service-card .card-photo { opacity:.52; transform:scale(1); }
.enhanced-home .service-card:after { opacity:1; background:linear-gradient(0deg,#071722f5,#0a223533 100%); }
.enhanced-home .service-card .card-top>span { color:#fff; }
.enhanced-home .service-icon { filter:invert(1); opacity:1; }
.enhanced-home .service-card:hover .card-photo { opacity:.85; transform:scale(1.045); }
.section-intro { margin-top:25px; max-width:560px; color:var(--muted); font-size:18px; line-height:1.65; }
.finder { background:#e6edf1; display:grid; grid-template-columns:.95fr 1.4fr; gap:8vw; }
.finder-heading .eyebrow { margin-bottom:30px; }
.finder-heading h2 { font-size:clamp(38px,4.5vw,66px); }
.finder-heading>p:last-child { color:var(--muted); margin-top:26px; max-width:400px; }
.choice-buttons { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:30px; }
.choice-buttons button { display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; font-size:14px; line-height:1.4; color:var(--ink); background:transparent; border:1px solid #b7c8d1; padding:18px; border-radius:12px; transition:background .25s,color .25s,border-color .25s; }
.choice-buttons button span { font-size:22px; }
.choice-buttons button[aria-pressed=true] { background:var(--navy); color:white; border-color:var(--navy); }
.choice-buttons button:hover { border-color:var(--red); }
.finder-result { border-top:1px solid #b7c8d1; padding-top:28px; min-height:355px; }
.finder-result>.eyebrow { color:#647984; }
.finder-result h3 { font-size:36px; line-height:1.15; margin:18px 0; max-width:470px; }
.finder-result>p { color:var(--muted); max-width:550px; }
.solution-links { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:24px; }
.solution-links a { font-size:14px; border-bottom:1px solid #8097a5; padding-bottom:5px; }
.solution-links a:hover { color:var(--red); border-color:var(--red); }
.capabilities { padding-top:90px; }
.capabilities .section-heading { display:grid; grid-template-columns:1.2fr .8fr; column-gap:6vw; }
.capabilities .section-heading>.eyebrow { grid-column:1/-1; }
.capabilities .section-intro { align-self:end; margin:0; }
.capability-tabs { display:grid; grid-template-columns:1fr 1fr 1fr; gap:25px; margin-bottom:22px; }
.capability-tabs button { display:flex; align-items:center; gap:22px; padding:20px 0; border:0; border-bottom:2px solid var(--line); background:transparent; color:var(--muted); text-align:left; font-size:13px; }
.capability-tabs button span { font-size:23px; letter-spacing:-.03em; }
.capability-tabs button[aria-selected=true] { border-color:var(--red); color:var(--ink); }
.capability-panel { position:relative; min-height:580px; border-radius:26px; overflow:hidden; color:white; background:var(--navy); isolation:isolate; }
.capability-panel[hidden] { display:none; }
.capability-panel .drive-poster,.market-feature .drive-poster { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; z-index:-2; }
.capability-panel:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#091a2be8,#091a2b88 60%,#091a2b33); z-index:-1; }
.capability-copy { padding:80px 6%; max-width:730px; }
.capability-copy h3 { font-size:clamp(40px,4.6vw,68px); margin:28px 0; }
.capability-copy>p:not(.eyebrow) { color:#c5d4dc; max-width:470px; font-size:18px; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:45px; padding:16px 0; border-bottom:1px solid #ffffff65; margin-top:24px; font-size:15px; }
.text-link span { font-size:25px; transition:transform .25s; }
.text-link:hover span { transform:translate(4px,-4px); }
.sectors { padding-top:20px; }
.sector-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; }
.sector-card { display:block; border-radius:20px; overflow:hidden; background:#e7edf0; transition:transform .35s; }
.sector-card>img { width:100%; height:240px; object-fit:cover; transition:filter .4s; }
.sector-card>div { padding:30px; position:relative; }
.sector-card .eyebrow { color:var(--muted); font-size:11px; }
.sector-card h3 { font-size:30px; margin:18px 0; }
.sector-card p { font-size:15px; color:var(--muted); padding-bottom:50px; }
.sector-arrow { position:absolute; bottom:22px; right:30px; font-size:28px; color:var(--red); }
.sector-card:hover { transform:translateY(-6px); }
.sector-card:hover>img { filter:brightness(1.12); }
.market-feature { position:relative; overflow:hidden; isolation:isolate; background:var(--navy); color:#fff; border-radius:30px; margin:0 14px; min-height:650px; }
.market-feature:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#112331ed,#112331a0 65%,#1123314d); z-index:-1; }
.market-feature-copy { max-width:850px; padding:105px var(--space); }
.market-feature-copy h2 { margin:28px 0; font-size:clamp(46px,5.7vw,80px); }
.market-feature-copy h2 em { color:#aecbdb; }
.market-feature-copy>p:not(.eyebrow) { color:#c7d6df; max-width:500px; font-size:18px; }
.market-feature-copy>.button { margin-top:30px; }
.enhanced-home .stories { margin-top:90px; background:#e5edf1; color:var(--ink); }
.enhanced-home .stories>p:last-child { color:var(--muted); }
.journey { background:var(--navy); color:#fff; }
.journey-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:5vw; }
.journey-grid article { border-top:1px solid #ffffff30; padding-top:26px; }
.step-number { font-size:56px; line-height:1; letter-spacing:-.06em; color:#668496; }
.journey-grid h3 { font-size:32px; margin:28px 0 20px; }
.journey-grid p { font-size:16px; color:#b3c6d2; }
.journey>.text-link { margin-top:45px; }
.faq { display:grid; grid-template-columns:1fr 1.25fr; gap:8vw; }
.faq h2 { margin:28px 0; font-size:clamp(38px,4.5vw,64px); }
.faq>div>p:last-child { color:var(--muted); max-width:350px; }
.faq details { border-bottom:1px solid var(--line); }
.faq details:first-child { border-top:1px solid var(--line); }
.faq summary { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:25px 0; cursor:pointer; font-size:18px; line-height:1.4; list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { color:var(--red); font-size:27px; transition:transform .25s; }
.faq details[open] summary span { transform:rotate(45deg); }
.faq details>p { padding:0 30px 26px 0; color:var(--muted); }
.location-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:45px; }
.location-heading h2 { font-size:clamp(36px,4.2vw,60px); margin-top:25px; }
.location-contact { display:flex; flex-direction:column; gap:7px; font-size:16px; }
.location-contact>span { color:var(--muted); font-size:14px; margin-bottom:8px; }
.location-contact>a:hover { color:var(--red); }
.map-frame { position:relative; border-radius:24px; overflow:hidden; border:1px solid var(--line); background:#dfe8ec; }
.map-frame iframe { display:block; border:0; width:100%; height:480px; }
.map-link { position:absolute; bottom:26px; left:26px; background:var(--navy); color:#fff; padding:14px 22px; border-radius:50px; box-shadow:0 5px 25px #0002; font-size:14px; }
.map-note { font-size:13px; color:var(--muted); margin-top:14px; }
@media(prefers-reduced-motion:no-preference) {
  .finder-result.changing { animation:result-in .35s ease; }
  .capability-panel:not([hidden]) { animation:result-in .5s ease; }
  .faq details[open]>p { animation:result-in .3s ease; }
  @keyframes result-in { from { opacity:.2; transform:translateY(10px); } to { opacity:1; transform:none; } }
}
@media(max-width:1000px) {
  .finder { gap:5vw; grid-template-columns:1fr 1.2fr; }
  .choice-buttons { grid-template-columns:1fr; }
  .sector-card>div { padding:24px; }
  .sector-card h3 { font-size:26px; }
  .sector-card>img { height:190px; }
  .capability-copy { max-width:650px; }
}
@media(max-width:800px) {
  .finder,.faq { grid-template-columns:1fr; gap:40px; }
  .choice-buttons { grid-template-columns:1fr 1fr; }
  .finder-result { min-height:300px; }
  .capabilities .section-heading { grid-template-columns:1fr; gap:22px; }
  .capabilities .section-heading>.eyebrow { margin:0; }
  .capability-tabs { gap:14px; }
  .capability-tabs button { gap:10px; }
  .capability-tabs button span { font-size:17px; }
  .capability-panel { min-height:570px; }
  .capability-copy { padding:65px 28px 95px; }
  .capability-copy h3 { font-size:46px; }
  .sector-grid { grid-template-columns:1fr; }
  .sector-card { display:grid; grid-template-columns:.8fr 1fr; }
  .sector-card>img { height:100%; min-height:280px; }
  .sector-card h3 { font-size:30px; }
  .market-feature { margin:0 10px; min-height:580px; }
  .market-feature-copy { padding:80px 30px 110px; }
  .market-feature-copy h2 { font-size:52px; }
  .journey-grid { grid-template-columns:1fr; gap:35px; }
  .journey-grid article { display:grid; grid-template-columns:65px 1fr; column-gap:20px; }
  .journey-grid h3 { margin:0 0 20px; }
  .journey-grid p { grid-column:2; }
  .location-heading { flex-direction:column; align-items:start; }
  .map-frame iframe { height:380px; }
  .enhanced-home .service-card { min-height:280px; }
}
@media(max-width:480px) {
  .choice-buttons { grid-template-columns:1fr; }
  .finder-result h3 { font-size:30px; }
  .capability-tabs button { display:block; font-size:11px; }
  .capability-tabs button span { display:block; margin-top:8px; font-size:16px; }
  .capability-copy { padding:45px 22px 90px; }
  .capability-copy h3 { font-size:39px; }
  .capability-copy>p:not(.eyebrow) { font-size:16px; }
  .text-link { gap:20px; font-size:14px; }
  .sector-card { display:block; }
  .sector-card>img { height:210px; min-height:0; }
  .market-feature-copy h2 { font-size:44px; }
  .market-feature-copy { padding-left:23px; padding-right:23px; }
  .journey-grid article { grid-template-columns:50px 1fr; gap:14px; }
  .step-number { font-size:45px; }
  .map-link { left:14px; bottom:20px; right:14px; padding:12px; text-align:center; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .reading-progress { display:none; } }
