.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:42px}.case-item{margin:0;border:1px solid var(--line);background:#fff;box-shadow:0 12px 36px rgba(26,35,92,.08);overflow:hidden}.case-item img{width:100%;aspect-ratio:16/10;object-fit:cover;margin:0;border:0}.case-item figcaption{padding:24px}.case-item figcaption>span{color:var(--blue);font-size:.75rem;font-weight:900;letter-spacing:.12em}.case-item h2{margin:.35rem 0 .2rem;font-size:1.35rem}.case-item p{margin:0;color:var(--muted)}
.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.video-grid article{padding:0;overflow:hidden;border-top:0;background:#fff;border:1px solid var(--line);box-shadow:0 12px 36px rgba(26,35,92,.08)}.video-frame{position:relative;aspect-ratio:16/9;background:#080d2b}.video-frame iframe,.map-frame iframe{width:100%;height:100%;border:0}.video-copy{padding:22px}.video-placeholder{display:grid;place-items:center;aspect-ratio:16/9;background:var(--tint);color:var(--muted)}
.faq-filters{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0 10px}.faq-filters button{padding:.55rem .95rem;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:800}.faq-filters button.active{border-color:var(--blue);background:var(--blue);color:#fff}.faq-meta{display:flex;flex-wrap:wrap;gap:8px}.faq-meta span{padding:.2rem .55rem;background:var(--tint);color:var(--blue);font-size:.8rem;font-weight:800}.faq-list details[hidden]{display:none}
.map-frame{aspect-ratio:16/10;margin-top:18px;overflow:hidden;border:1px solid var(--line);background:var(--tint)}.empty-state{margin-top:32px;padding:34px;border:1px dashed var(--line);background:var(--tint);color:var(--muted);text-align:center}
@media(max-width:720px){.case-gallery,.video-grid{grid-template-columns:1fr}.case-item figcaption,.video-copy{padding:18px}.faq-filters{gap:7px}.faq-filters button{font-size:.88rem}.map-frame{aspect-ratio:4/3}}
.news-row{grid-template-columns:130px minmax(0,1fr);max-width:100%}.news-row>div{min-width:0}.news-row h2,.news-row h2 a,.news-row p,.article-body{max-width:100%;overflow-wrap:anywhere;word-break:break-word}@media(max-width:560px){.news-row{grid-template-columns:minmax(0,1fr)}}

.hero-dots{z-index:3;bottom:18px}.hero-dots button{height:36px;border-block:14px solid transparent;background-clip:content-box}.hero-dots button.active{background-clip:content-box}.hero-slide::after{pointer-events:none}.content-meta{font-size:.9rem;color:var(--muted)}
.hero h1{max-width:100%;white-space:nowrap;font-size:clamp(1rem,8.3vw,5.4rem)}
.news-video{margin:0 0 36px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--tint)}.news-video video{display:block;width:100%;max-height:70vh;background:#0e143a;aspect-ratio:16/9;object-fit:contain}.news-video .video-preview img{margin:0;border:0}.news-video .video-frame iframe{display:block}.video-playback-error{padding:16px;margin:0;color:var(--muted)}
.news-video .video-brand-mark{position:absolute;left:24px;top:20px;color:#fff9;letter-spacing:.2em}
.home-content-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.home-content-card{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 32px rgba(26,35,92,.07);scroll-margin-top:130px}.home-card-image{width:100%;aspect-ratio:16/10;object-fit:contain;background:#f4f5fa}.home-card-copy{padding:24px;overflow-wrap:anywhere}.home-card-copy h3{font-size:1.35rem;line-height:1.4;margin:0 0 16px}.home-card-copy p,.home-card-copy ol{font-size:.94rem;color:var(--muted)}.home-card-copy ol{padding-left:22px}.home-card-copy .text-link{display:inline-block;margin-top:12px}.home-contact a{color:var(--blue)}[data-home-section=reports] .home-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-preview{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:#0e143a}.video-preview img{width:100%;height:100%;object-fit:contain;margin:0;border:0}.video-preview span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;padding:12px 18px;border-radius:100px;background:rgba(15,23,90,.92);color:#fff;font-weight:800;box-shadow:0 5px 25px #0005}.video-preview:hover span,.video-preview:focus-visible span{background:var(--blue-2)}.video-preview:focus-visible{outline:3px solid #839cff;outline-offset:-3px}.video-watch-link{display:block;padding:10px 20px;font-size:.8rem;color:var(--blue);background:var(--tint)}
@media(max-width:1100px){.home-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.home-content-grid,[data-home-section=reports] .home-content-grid{grid-template-columns:minmax(0,1fr)}.home-card-copy{padding:22px}.home-content-section .section-heading h2{font-size:2rem}}

/* Media uses the site's full content width; article typography stays in the CMS introduction. */
.media-hero{min-height:360px}.media-library{padding-top:64px}.media-intro{color:var(--muted);margin-bottom:32px}.media-intro:empty{display:none}.media-intro>p:first-child{margin-top:0}.media-heading{gap:24px;margin-bottom:32px}.media-heading .eyebrow{color:var(--blue-2)}.media-heading h2{font-size:clamp(1.8rem,3vw,2.7rem)}.media-count{flex-shrink:0;margin:0;color:var(--muted);font-size:.9rem}.media-count strong{color:var(--blue);font-size:1.2rem;margin-inline:4px}
.media-grid{margin-top:0;gap:30px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.media-grid .media-card{min-width:0;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 10px 32px rgba(26,35,92,.07);scroll-margin-top:136px;transition:border-color .2s,box-shadow .2s}.media-card:hover,.media-card:focus-within{border-color:#aeb6dc;box-shadow:0 16px 40px rgba(26,35,92,.12)}.media-player{min-width:0;overflow:hidden;background:var(--tint)}.media-card .video-frame{width:100%;overflow:hidden}.media-card .video-frame iframe{display:block}.media-card .video-preview{background:linear-gradient(135deg,#0d154d,var(--blue-2));overflow:hidden}.media-card .video-preview img{transition:opacity .2s}.media-card .video-preview:hover img{opacity:.85}.media-card .video-preview span{font-size:.9rem;padding:12px 22px;border:1px solid #ffffff75;background:rgba(23,31,130,.93)}.media-card .video-brand-mark{position:absolute;left:28px;top:20px;font-size:1.05rem;font-weight:900;letter-spacing:.2em;color:#fff9}.media-card .video-watch-link{display:flex;justify-content:flex-end;align-items:center;min-height:46px;padding:10px 22px;border-top:1px solid var(--line);font-size:.8rem;font-weight:700;text-decoration:none;background:var(--tint)}.media-card .video-watch-link:hover{text-decoration:underline}.media-card .video-watch-link:focus-visible{outline:3px solid var(--blue-2);outline-offset:-4px}
.media-card .video-copy{min-width:0;padding:28px 30px 32px;overflow-wrap:anywhere}.media-card-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;font-size:.74rem;font-weight:800;color:var(--blue);letter-spacing:.1em}.media-card-meta span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}.media-grid .media-card h2{margin:0;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.45;letter-spacing:-.02em}.media-description{margin-top:18px;color:var(--muted);font-size:.95rem;line-height:1.85}.media-description:empty{display:none}.media-description>:first-child{margin-top:0}.media-description>:last-child{margin-bottom:0}.media-description img{max-width:100%;height:auto}.media-description table{display:block;max-width:100%;overflow:auto}.media-description ol,.media-description ul{padding-left:24px}.media-grid .media-card--featured{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;background:linear-gradient(120deg,#fff 65%,var(--tint))}.media-card--featured .video-copy{padding:36px}.media-card--featured h2{font-size:clamp(1.45rem,2.4vw,2rem)!important}.media-card--featured .media-player{align-self:start}
@media(max-width:900px){.media-grid .media-card--featured{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.media-card .video-copy,.media-card--featured .video-copy{padding:24px}.media-card-meta{margin-bottom:12px}}
@media(max-width:720px){.media-hero{min-height:300px}.media-library{padding-top:42px}.media-heading{align-items:center;gap:16px}.media-grid{grid-template-columns:minmax(0,1fr);gap:24px}.media-grid .media-card--featured{display:block}.media-count{font-size:.8rem}.media-card .video-copy{padding:24px}.media-card--featured h2{font-size:1.4rem!important}.media-card{scroll-margin-top:118px}.media-intro{margin-bottom:28px}}
