/* Photographic rhythm: original field images, readable overlays, no fixed backgrounds. */
.home-page .home-opening--focused{background:linear-gradient(95deg,rgba(10,29,47,.97) 10%,rgba(10,29,47,.88) 55%,rgba(10,29,47,.58)),url('/assets/detection.webp') center/cover;padding-block:64px;border-bottom:0}
.home-page .home-opening--focused .home-lead-visual{border-radius:16px;transform:rotate(1deg);box-shadow:0 24px 64px #0005}
.home-page .home-opening--focused h1{font-size:clamp(40px,4.5vw,64px);letter-spacing:-.045em}
.home-page .home-audiences{padding-block:42px}
.home-page .home-process{background-image:linear-gradient(90deg,rgba(10,29,47,.95),rgba(10,29,47,.65)),url('/assets/terrain.webp');background-size:cover;background-position:center 48%;padding-block:80px}
.home-page .home-process .home-section-heading{margin-bottom:42px}
.home-page .home-process .home-step-grid{gap:20px}
.home-page .home-process .home-step-grid article{background:rgba(12,32,52,.9);padding:28px;border:1px solid #ffffff29;border-radius:14px;box-shadow:0 12px 30px #0002}
.home-page .home-process .home-process-icon{background:transparent;border:0;width:58px;height:58px;margin-bottom:22px;justify-content:flex-start}
.home-page .home-process .home-step-grid h3{font-size:23px}
.home-page .home-process .home-step-grid p{font-size:16px;line-height:1.7}
.home-page .home-region{min-height:490px;grid-template-columns:1.1fr 1fr;align-content:center;gap:24px 60px;padding-block:80px;background:linear-gradient(90deg,rgba(8,27,43,.94),rgba(8,27,43,.70) 48%,rgba(8,27,43,.12)),url('/assets/video/cabane-haute-montagne-drone.webp') center 45%/cover;color:#fff}
.home-page .home-region>div{grid-column:1}
.home-page .home-region h2{color:#fff;font-size:clamp(34px,3.8vw,52px);line-height:1.08;max-width:18ch}
.home-page .home-region p,.home-page .home-region .home-coverage-summary{color:#edf4ff}
.home-page .home-region .eyebrow{color:#c2daff;letter-spacing:.16em}
.home-page .home-region .text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:18px;color:#fff;border-color:#c2daff}
.home-page .home-contact{background:radial-gradient(ellipse at top right,#345b80 0,transparent 65%),#112b46;padding-block:80px}
.home-page .home-contact .response-note{background:transparent;border:0;padding:0}
.home-page .home-case{border-radius:14px;overflow:hidden}
@media(max-width:900px){
 .home-page .home-opening--focused{padding-block:36px}
 .home-page .home-opening--focused .home-lead-visual{transform:none}
 .home-page .home-process{padding-block:52px;background-position:65% center}
 .home-page .home-process .home-step-grid{grid-template-columns:1fr;gap:16px}
 .home-page .home-process .home-step-grid article{padding:22px;gap:12px 16px;border:1px solid #ffffff29}
 .home-page .home-process .home-step-grid article:last-child{padding:22px;border:1px solid #ffffff29}
 .home-page .home-process .home-process-icon{width:48px;height:48px;margin:0}
 .home-page .home-process .home-step-grid article>a{grid-column:1/-1}
 .home-page .home-region{grid-template-columns:1fr;min-height:480px;background-position:60% center}
 .home-page .home-region>div{max-width:520px}
}
@media(max-width:600px){
 .home-page .home-opening--focused{background-image:linear-gradient(110deg,rgba(10,29,47,.96),rgba(10,29,47,.84)),url('/assets/detection.webp')}
 .home-page .home-opening--focused h1{font-size:42px}
 .home-page .home-process .home-step-grid h3{font-size:21px;margin:0}
 .home-page .home-region{min-height:590px;padding-top:190px;padding-bottom:44px;background-image:linear-gradient(0deg,rgba(8,27,43,.98),rgba(8,27,43,.85) 55%,rgba(8,27,43,.12)),url('/assets/video/cabane-haute-montagne-drone.webp');background-position:65% top}
 .home-page .home-region h2{font-size:36px}
 .home-page .home-contact{padding-block:50px}
}

/* Mountain panorama and full-size correlation photograph. */
.home-page .home-opening--focused{position:relative;isolation:isolate;background:#10283f;min-height:680px;padding-block:56px;overflow:hidden;align-items:start}
.home-opening-scene{position:absolute;inset:0;z-index:-2;display:block}
.home-opening-scene img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.home-page .home-opening--focused::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(9,29,47,.94) 0%,rgba(9,29,47,.89) 36%,rgba(9,29,47,.38) 62%,rgba(9,29,47,.08) 100%)}
.home-page .home-opening--focused .home-lead-copy{max-width:550px;align-self:start}
.home-page .home-opening--focused .home-lead-visual{display:block;align-self:end;min-height:0;height:auto;width:100%;max-width:540px;margin:64px 0 0;justify-self:end;transform:none;border:1px solid #ffffff88;border-radius:14px;background:#f7f9fc;box-shadow:0 16px 45px #0004}
.home-page .home-opening--focused .hero-photo-frame{min-height:0;height:auto;background:#10283f}
.home-page .home-opening--focused .home-lead-visual img{position:static;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.home-page .home-opening--focused .home-lead-visual figcaption{position:static;padding:22px 24px;border:0;border-top:3px solid #496ebf;border-radius:0;background:#f7f9fc}
.home-page .home-opening--focused .home-lead-visual figcaption strong{font-size:22px;line-height:1.25}
.home-page .home-opening--focused .home-lead-visual .detail-link{font-size:15px;margin-top:8px;display:inline-flex;min-height:36px;align-items:center}
.home-page .home-opening--focused .home-photo-note{display:block;margin-top:8px}
@media(max-width:1100px) and (min-width:901px){
 .home-page .home-opening--focused{grid-template-columns:1.1fr 1fr;gap:28px}
 .home-page .home-opening--focused .home-lead-visual{align-self:center;margin-top:80px}
}
@media(max-width:900px){
 .home-page .home-opening--focused{padding:0 0 32px;min-height:0;grid-template-columns:1fr;grid-template-areas:"scene" "copy" "visual";gap:26px;background:#10283f}
 .home-opening-scene{position:relative;inset:auto;grid-area:scene;z-index:auto;width:100%;height:clamp(220px,49vw,390px)}
 .home-opening-scene img{object-fit:cover;object-position:center 42%}
 .home-page .home-opening--focused::before{display:none}
 .home-page .home-opening--focused .home-lead-copy{max-width:none;margin-inline:6%}
 .home-page .home-opening--focused .home-lead-visual{width:88%;max-width:620px;justify-self:center;margin:0}
 .home-page .home-opening--focused .home-lead-visual figcaption{padding:18px}
 .home-page .home-opening--focused .home-lead-visual figcaption strong{font-size:20px}
}
/* Field photographs shape the page, with quieter surfaces for practical information. */
.home-page .home-cases .home-case-image{height:280px}
.home-page .home-cases .home-case-image img{object-fit:contain;background:#e8edf3}
.home-page .home-field-selection{padding-top:72px;padding-bottom:64px;background:#fff}
.home-page .home-field-grid{grid-template-columns:1fr;gap:30px}
.home-page .home-field-card:first-child{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch;min-height:360px;border-radius:18px;background:#edf2f8;box-shadow:none}
.home-page .home-field-card:first-child .home-field-image{display:flex;align-items:center;background:#e7edf3}
.home-page .home-field-card:first-child .home-field-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.home-page .home-field-card:first-child .home-case-copy{justify-content:center;padding:42px}
.home-page .home-field-card:first-child .home-case-copy h3{font-size:clamp(27px,2.8vw,38px);line-height:1.12;max-width:18ch}
.home-page .home-field-card:first-child .home-case-copy p{max-width:42ch;font-size:16px;line-height:1.75}
.home-page .home-field-card:first-child .home-case-copy>span{margin-top:4px}
.home-page .home-field-card:last-child{display:grid;grid-template-columns:1fr;position:relative;isolation:isolate;min-height:470px;background:#10283f;border-radius:18px;box-shadow:none}
.home-page .home-field-card:last-child .home-field-image{position:absolute;inset:0;z-index:-2}
.home-page .home-field-card:last-child .home-field-image img{width:100%;height:100%;object-fit:cover;object-position:center 57%;aspect-ratio:auto}
.home-page .home-field-card:last-child::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,26,43,.96),rgba(8,26,43,.78) 37%,rgba(8,26,43,.1) 72%)}
.home-page .home-field-card:last-child .home-case-copy{width:48%;min-width:0;justify-content:center;padding:52px;background:transparent}
.home-page .home-field-card:last-child .home-case-copy h3{font-size:clamp(28px,3.1vw,42px);line-height:1.08;color:#fff;max-width:18ch}
.home-page .home-field-card:last-child .home-case-copy p{font-size:17px;line-height:1.7;color:#edf4ff;max-width:34ch}
.home-page .home-field-card:last-child .home-case-copy>span{margin-top:6px;color:#fff;min-height:44px;display:flex;align-items:center}
.home-page .home-field-card:focus-visible{outline:3px solid #496ebf;outline-offset:5px}
@media(max-width:1000px){
 .home-page .home-field-card:first-child .home-case-copy{padding:28px}
 .home-page .home-field-card:last-child .home-case-copy{width:58%;padding:34px}
}
@media(max-width:700px){
 .home-page .home-cases .home-case-image{height:auto;aspect-ratio:4/3}
 .home-page .home-field-selection{padding-block:44px}
 .home-page .home-field-grid{gap:24px}
 .home-page .home-field-card:first-child{grid-template-columns:1fr;min-height:0}
 .home-page .home-field-card:first-child .home-case-copy{padding:26px}
 .home-page .home-field-card:first-child .home-case-copy h3{font-size:28px}
 .home-page .home-field-card:last-child{min-height:550px;align-items:end}
 .home-page .home-field-card:last-child .home-field-image img{object-position:70% center}
 .home-page .home-field-card:last-child::before{background:linear-gradient(0deg,rgba(8,26,43,.98),rgba(8,26,43,.88) 42%,rgba(8,26,43,.04) 85%)}
 .home-page .home-field-card:last-child .home-case-copy{width:100%;padding:28px 26px 24px}
 .home-page .home-field-card:last-child .home-case-copy h3{font-size:32px;max-width:16ch}
 .home-page .home-field-card:last-child .home-case-copy p{font-size:16px}
}

/* Optional film: the poster remains the baseline on slow or restricted connections. */
.home-page .home-region{position:relative;isolation:isolate;overflow:hidden;background-image:url('/assets/video/cabane-haute-montagne-drone.webp')}
.home-region::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(8,27,43,.94),rgba(8,27,43,.70) 48%,rgba(8,27,43,.12))}
.home-region-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 45%;pointer-events:none;opacity:0}
.region-video-ready .home-region-video{opacity:1}
.home-region .home-field-film-toggle{z-index:1}
@media(max-width:900px){.home-region-video{object-position:60% center}}
@media(max-width:600px){
 .home-page .home-region{padding-bottom:88px}
 .home-region::before{background:linear-gradient(0deg,rgba(8,27,43,.98),rgba(8,27,43,.85) 55%,rgba(8,27,43,.12))}
 .home-region-video{object-position:65% top}
}
@media(prefers-reduced-motion:reduce){.home-region-video{display:none}.home-page .home-region{padding-bottom:44px}}
