/* URSPT Premium 2026 — V7 production polish pass
 * Focus: readable institutional UI, reliable media, bounded news grids,
 * larger desktop header, strong dark-section contrast and consistent interiors.
 */
:root{
  --v7-section-space:72px;
  --v7-shell:min(1380px,calc(100vw - 64px));
  --v7-content:900px;
  --v7-radius:18px;
  --v7-shadow:0 22px 60px rgba(9,14,22,.12);
}
html{font-size:15.5px;}
body{background:#fff;color:#141922;line-height:1.62;}
.shell-container{width:var(--v7-shell);}
.section-space{padding:var(--v7-section-space) 0;}

/* 01. HEADER — intentionally larger than V5, still compact on scroll. */
.site-shell{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 1px 0 rgba(9,14,22,.09);}
.admin-bar .site-shell{top:32px;}
.top-signal{height:32px;background:#0b0f15;color:#e7ebf0;font-size:11px;}
.top-signal__links a,.top-signal__links button{font-size:11px;color:#d7dce3;}
.top-signal__112{height:32px;}
.site-shell.is-scrolled .top-signal{height:0;opacity:0;}
.site-header{height:88px!important;position:relative!important;top:auto!important;background:rgba(255,255,255,.98)!important;border-bottom:0!important;box-shadow:none!important;backdrop-filter:blur(20px);}
.site-header.is-scrolled{height:76px!important;box-shadow:0 14px 36px rgba(9,14,22,.09)!important;}
.site-header__inner{grid-template-columns:auto minmax(0,1fr) auto!important;gap:26px!important;}
.site-brand{gap:12px!important;}
.site-brand__mark{width:50px;height:50px;border-radius:14px;padding:9px;}
.site-brand__copy{gap:12px!important;}
.site-brand__copy strong{font-size:18px!important;line-height:1;letter-spacing:-.035em;}
.site-brand__copy small{display:block!important;font-size:10px!important;line-height:1.35!important;max-width:190px!important;color:#626a75!important;padding-left:12px!important;}
.header-action{width:44px!important;height:44px!important;}
.header-menu-trigger{height:44px!important;}
.mega-nav--header .mega-nav__toggle,.mega-nav--header .mega-nav__direct{padding:0 11px!important;font-size:11.5px!important;font-weight:750!important;color:#222933!important;}
.mega-nav--header .mega-nav__toggle:hover,.mega-nav--header .mega-nav__direct:hover{color:#b51220!important;}
.mega-panel{box-shadow:0 28px 70px rgba(9,14,22,.16)!important;border-top:1px solid #eceef1!important;}
.mega-panel__inner{padding-top:34px!important;padding-bottom:38px!important;}
.mega-panel__intro h2{font-size:31px!important;line-height:1.02!important;}
.mega-panel__intro p{font-size:13px!important;line-height:1.6!important;}
.mega-panel__primary strong{font-size:13px!important;}
.mega-panel__subgrid a{font-size:12px!important;min-height:42px!important;}

/* 02. HERO — photo remains emotional, 112/actions float independently below it. */
.hero-cinematic{height:590px!important;min-height:590px!important;max-height:590px!important;overflow:visible!important;margin-bottom:48px;}
.hero-cinematic__media,.hero-cinematic__media img,.hero-cinematic__veil,.hero-cinematic__grain{border-radius:0;}
.hero-cinematic__media img{object-position:center 46%!important;}
.hero-cinematic__layout{grid-template-columns:minmax(0,1fr) minmax(320px,.42fr)!important;gap:52px!important;padding:64px 0 84px!important;align-items:center!important;}
.hero-cinematic__copy{max-width:720px!important;}
.hero-cinematic h1{font-size:clamp(52px,5vw,70px)!important;line-height:.94!important;letter-spacing:-.052em!important;margin:14px 0 18px!important;}
.hero-cinematic__copy>p{font-size:15px!important;line-height:1.65!important;max-width:650px!important;color:#eef1f5!important;}
.hero-cinematic__collage{transform:none!important;gap:10px!important;}
.hero-shot{border-radius:16px!important;box-shadow:0 18px 48px rgba(0,0,0,.25);}
.hero-shot img{min-height:100%;object-fit:cover;}
.hero-cinematic__utility{position:absolute!important;left:0!important;right:0!important;bottom:-48px!important;background:transparent!important;border:0!important;backdrop-filter:none!important;}
.hero-utility__grid{height:auto!important;display:grid!important;grid-template-columns:1.08fr repeat(3,1fr)!important;gap:10px!important;}
.hero-utility__grid>a{min-height:96px!important;border:0!important;border-radius:18px!important;background:#111720!important;color:#fff!important;padding:17px 20px!important;box-shadow:0 16px 42px rgba(9,14,22,.18)!important;}
.hero-utility__grid>a:hover{background:#1a222d!important;transform:translateY(-3px);}
.hero-utility__grid>a>span{font-size:10px!important;color:#b7c0cb!important;}
.hero-utility__grid>a>strong{font-size:13px!important;line-height:1.3!important;}
.hero-utility__grid .hero-emergency{background:#d91f2c!important;}
.hero-utility__grid .hero-emergency strong{font-size:40px!important;line-height:1!important;}
.hero-utility__grid .hero-emergency span,.hero-utility__grid .hero-emergency small{color:#fff!important;}
.photo-story{padding-top:calc(var(--v7-section-space) + 64px)!important;}

/* 03. MEDIA — no visual holes, consistent crops. */
.hero-cinematic img,.photo-story img,.team-section img,.emotion-band img,.news-card img,.inner-visual-hero img,.service-page-hero img,.team-detail-hero img,.leader-hero img,.single-news-hero img{background:#cbd1d8;}
.has-fallback-image{filter:saturate(.82) contrast(1.03);}
.photo-story__grid{gap:12px!important;}
.photo-story__item{border-radius:18px!important;overflow:hidden!important;}
.photo-story__item img{width:100%!important;height:100%!important;object-fit:cover!important;}
.photo-story__item figcaption strong{font-size:18px!important;line-height:1.2!important;color:#fff!important;}
.photo-story__item figcaption small{font-size:12px!important;color:#e5e9ee!important;}

/* 04. DARK BLOCKS — explicit AA-friendly text, not inherited gray. */
.section-space--dark,.team-section--photo,.site-footer,.emotion-band{color:#fff!important;}
.section-space--dark h1,.section-space--dark h2,.section-space--dark h3,.section-space--dark strong,.section-space--dark a,
.team-section--photo h1,.team-section--photo h2,.team-section--photo h3,.team-section--photo strong,.team-section--photo a,
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer strong,.site-footer a,
.emotion-band h1,.emotion-band h2,.emotion-band h3,.emotion-band strong,.emotion-band a{color:#fff!important;}
.section-space--dark p,.team-section--photo p,.site-footer p,.emotion-band p{color:#e0e5eb!important;font-size:15px!important;}
.section-head--light .section-kicker,.team-section--photo .section-kicker{color:#f3f5f7!important;}
.team-section--photo{background:#090d13!important;}
.team-section--photo:before{background:linear-gradient(90deg,rgba(7,10,15,.98) 0%,rgba(7,10,15,.92) 44%,rgba(7,10,15,.62) 100%)!important;}
.team-section__photo{opacity:.46!important;}
.team-row{min-height:72px!important;color:#fff!important;}
.team-row strong{font-size:14px!important;color:#fff!important;}
.team-row>span{font-size:11px!important;color:#c5ccd5!important;}
.district-pin{font-size:12px!important;color:#fff!important;}
.district-pin b{width:38px!important;height:38px!important;font-size:12px!important;}

/* 05. HOME TYPOGRAPHY + RHYTHM */
.photo-story__intro h2,.section-head h2,.mission-compact__copy h2,.emotion-band__copy h2,.footer-intro h2{font-size:clamp(38px,4vw,56px)!important;line-height:.98!important;letter-spacing:-.045em!important;}
.photo-story__intro>p,.section-head>p,.mission-compact__copy p{font-size:14px!important;line-height:1.68!important;}
.mission-compact__grid{min-height:330px!important;}
.mission-compact__copy{padding:48px 7vw 48px 0!important;}
.mission-compact__stats strong{font-size:42px!important;}
.mission-compact__stats span{font-size:11px!important;}
.emotion-band{min-height:520px!important;}
.emotion-band__copy{padding:58px 0!important;}

/* 06. NEWS — bound every card so imported titles/images cannot stretch layout. */
.news-feature--v7{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(440px,.88fr)!important;gap:14px!important;align-items:stretch!important;}
.news-feature--v7 .news-feature__main{min-width:0;height:620px;}
.news-feature--v7 .news-feature__main .news-card{height:620px!important;display:grid!important;grid-template-rows:340px minmax(0,1fr)!important;}
.news-feature--v7 .news-feature__main .news-card__media{height:340px!important;aspect-ratio:auto!important;}
.news-feature--v7 .news-feature__stack{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:14px!important;height:620px;overflow:visible!important;}
.news-feature--v7 .news-feature__stack>div{min-width:0!important;min-height:0!important;height:100%!important;}
.news-feature--v7 .news-feature__stack .news-card{height:100%!important;display:grid!important;grid-template-rows:138px minmax(0,1fr)!important;}
.news-feature--v7 .news-feature__stack .news-card__media{height:138px!important;aspect-ratio:auto!important;}
.news-feature--v7 .news-card__media img{width:100%!important;height:100%!important;object-fit:cover!important;}
.news-feature--v7 .news-card__body{padding:15px 16px 16px!important;min-height:0!important;}
.news-feature--v7 .news-card h3{font-size:16px!important;line-height:1.2!important;margin:10px 0 12px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.news-feature--v7 .news-card--feature h3{font-size:29px!important;line-height:1.08!important;-webkit-line-clamp:3;}
.news-feature--v7 .news-card--feature p{font-size:13px!important;line-height:1.55!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.news-card__meta{font-size:10px!important;}
.news-card__action{margin-top:auto!important;font-size:11px!important;}
.news-archive-grid{gap:16px!important;}
.news-archive-grid .news-card__media{max-height:250px!important;}

/* 07. INTERIORS — same scale across every content family. */
.inner-visual-hero,.inner-doc-hero,.service-page-hero,.legal-hero,.links-hero,.faq-hero{min-height:0!important;max-height:none!important;}
.inner-visual-hero{height:390px!important;min-height:390px!important;}
.inner-visual-hero__content{padding:56px 0 44px!important;}
.inner-doc-hero,.legal-hero,.links-hero,.faq-hero{padding:52px 0 46px!important;}
.service-page-hero{height:390px!important;min-height:390px!important;}
.service-page-hero__content{padding:56px 0 44px!important;}
.inner-visual-hero__content h1,.inner-doc-hero h1,.service-page-hero h1,.legal-hero h1,.links-hero h1,.faq-hero h1,.inner-hero h1,
.contact-hero h1,.teams-hero h1,.leader-hero h1,.team-detail-hero h1,.news-index-hero h1,.single-news-hero h1{font-size:clamp(38px,4vw,54px)!important;line-height:.98!important;letter-spacing:-.045em!important;max-width:20ch!important;margin:12px 0 14px!important;}
.inner-visual-hero__content>p,.inner-doc-hero p,.service-page-hero__content>p,.legal-hero p,.links-hero p,.faq-hero p{font-size:14px!important;line-height:1.65!important;max-width:760px!important;}
.inner-premium-grid,.content-grid,.article-grid{grid-template-columns:minmax(0,var(--v7-content)) minmax(240px,300px)!important;gap:56px!important;align-items:start!important;}
.entry-content{font-size:15px!important;line-height:1.72!important;color:#303741!important;max-width:var(--v7-content)!important;}
.entry-content>p{max-width:78ch!important;}
.entry-content h2{font-size:30px!important;line-height:1.12!important;margin-top:1.55em!important;}
.entry-content h3{font-size:22px!important;line-height:1.18!important;}
.entry-content h4{font-size:18px!important;}
.entry-content img{width:auto;max-width:100%;max-height:560px!important;object-fit:cover;border-radius:14px!important;}
.inner-editorial-media__rail{gap:10px!important;}
.inner-editorial-media__item{height:270px!important;border-radius:14px!important;overflow:hidden!important;}
.inner-editorial-media__item img{width:100%!important;height:100%!important;object-fit:cover!important;}
.inner-premium-aside{top:110px!important;}
.inner-info-card,.inner-context,.aside-panel{font-size:13px!important;}
.document-center__toolbar{font-size:13px!important;}
.document-card{min-height:70px!important;}
.document-card__copy strong{font-size:13px!important;}
.document-card__copy small{font-size:11px!important;}
.contact-hero__grid,.teams-hero__grid{min-height:360px!important;}
.leader-hero__grid,.team-detail-hero__grid,.single-news-hero__grid{min-height:440px!important;gap:46px!important;}
.leader-hero__portrait,.team-detail-hero__media,.single-news-hero__media{height:350px!important;}
.contact-dashboard,.team-directory,.leader-body,.team-detail-body,.article-body{padding-top:58px!important;padding-bottom:72px!important;}

/* 08. FOOTER — readable, white, not tiny gray legal copy. */
.site-footer{background:#080c12!important;color:#fff!important;padding:82px 0 26px!important;}
.site-footer__top{grid-template-columns:minmax(0,1fr) 260px!important;gap:70px!important;padding-bottom:54px!important;}
.footer-intro h2{font-size:clamp(42px,4.5vw,62px)!important;color:#fff!important;margin:12px 0 20px!important;}
.footer-intro p{font-size:15px!important;line-height:1.65!important;color:#e3e7ed!important;max-width:720px!important;}
.footer-emergency{height:210px!important;border-radius:20px!important;}
.footer-emergency span{font-size:11px!important;color:#fff!important;}
.footer-emergency strong{font-size:70px!important;color:#fff!important;}
.footer-grid{grid-template-columns:1fr 1fr 1.6fr!important;gap:42px!important;padding:42px 0!important;}
.footer-card{gap:11px!important;}
.footer-card small{font-size:11px!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#fff!important;font-weight:800!important;margin-bottom:4px!important;}
.footer-card a,.footer-card span{font-size:14px!important;line-height:1.5!important;color:#edf1f5!important;}
.footer-card a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:4px;}
.site-footer__bottom{padding-top:22px!important;font-size:12px!important;line-height:1.5!important;color:#d3d9e1!important;}
.site-footer__bottom a{color:#fff!important;}

@media(max-width:1180px){
  :root{--v7-shell:min(100% - 42px,1120px);}
  .site-brand__copy small{display:none!important;}
  .mega-nav--header .mega-nav__toggle,.mega-nav--header .mega-nav__direct{padding-inline:8px!important;font-size:10.5px!important;}
  .news-feature--v7{grid-template-columns:1fr 1fr!important;}
  .news-feature--v7 .news-feature__stack{grid-template-columns:1fr!important;grid-template-rows:1fr 1fr!important;overflow:hidden!important;}
  .news-feature--v7 .news-feature__stack>div:nth-child(n+3){display:none!important;}
  .news-feature--v7 .news-feature__stack .news-card{grid-template-rows:155px minmax(0,1fr)!important;}
}

@media(max-width:980px){
  :root{--v7-shell:min(100% - 32px,920px);--v7-section-space:58px;}
  .admin-bar .site-shell{top:46px;}
  .top-signal{display:none!important;}
  .site-header,.site-header.is-scrolled{height:76px!important;}
  .site-brand__mark{width:46px;height:46px;}
  .site-brand__copy strong{font-size:17px!important;}
  .mega-nav--header{display:none!important;}
  .header-menu-trigger{display:flex!important;}
  .hero-cinematic{height:560px!important;min-height:560px!important;max-height:560px!important;margin-bottom:46px;}
  .hero-cinematic__layout{grid-template-columns:1fr .38fr!important;padding:60px 0 82px!important;}
  .hero-cinematic h1{font-size:clamp(48px,7vw,62px)!important;}
  .hero-utility__grid{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;gap:8px!important;padding-inline:16px;}
  .hero-utility__grid>a{min-width:43vw!important;scroll-snap-align:start;}
  .photo-story{padding-top:calc(var(--v7-section-space) + 58px)!important;}
  .news-feature--v7{grid-template-columns:1fr!important;}
  .news-feature--v7 .news-feature__main{height:auto!important;}
  .news-feature--v7 .news-feature__main .news-card{height:auto!important;grid-template-rows:300px auto!important;}
  .news-feature--v7 .news-feature__stack{height:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;overflow:visible!important;}
  .news-feature--v7 .news-feature__stack>div:nth-child(n+3){display:block!important;}
  .news-feature--v7 .news-feature__stack .news-card{grid-template-rows:150px auto!important;}
  .inner-premium-grid,.content-grid,.article-grid{grid-template-columns:1fr!important;gap:34px!important;}
  .inner-premium-aside{position:static!important;grid-template-columns:1fr 1fr!important;}
  .footer-grid{grid-template-columns:1fr 1fr!important;}
  .footer-card--wide{grid-column:1/-1;}
}

@media(max-width:760px){
  :root{--v7-shell:calc(100vw - 28px);--v7-section-space:48px;}
  .admin-bar .site-shell{top:0;}
  html{font-size:15px;}
  .site-header,.site-header.is-scrolled{height:72px!important;}
  .site-header__inner{grid-template-columns:1fr auto!important;gap:12px!important;}
  .site-brand__mark{width:43px;height:43px;border-radius:12px;}
  .site-brand__copy strong{font-size:16px!important;}
  .header-action{width:40px!important;height:40px!important;}
  .header-menu-trigger{height:40px!important;padding-inline:13px!important;}
  .hero-cinematic{height:520px!important;min-height:520px!important;max-height:520px!important;margin-bottom:42px;}
  .hero-cinematic__layout{display:block!important;padding:74px 0 82px!important;}
  .hero-cinematic__collage{display:none!important;}
  .hero-cinematic h1{font-size:clamp(38px,11vw,46px)!important;line-height:.96!important;}
  .hero-cinematic__copy>p{font-size:13px!important;line-height:1.58!important;max-width:94%!important;}
  .hero-cinematic__utility{bottom:-42px!important;}
  .hero-utility__grid{padding-inline:14px!important;}
  .hero-utility__grid>a{min-width:72vw!important;min-height:84px!important;border-radius:15px!important;padding:13px 15px!important;}
  .hero-utility__grid .hero-emergency{min-width:58vw!important;}
  .hero-utility__grid .hero-emergency strong{font-size:34px!important;}
  .photo-story{padding-top:calc(var(--v7-section-space) + 52px)!important;}
  .photo-story__intro h2,.section-head h2,.mission-compact__copy h2,.emotion-band__copy h2,.footer-intro h2{font-size:36px!important;line-height:1!important;}
  .photo-story__grid{height:300px!important;}
  .photo-story__item,.photo-story__item--wide{height:300px!important;min-width:84vw!important;}
  .mission-compact__grid{min-height:0!important;}
  .mission-compact__copy{padding:42px 0 30px!important;}
  .mission-compact__stats{grid-template-columns:repeat(3,minmax(145px,1fr))!important;overflow-x:auto;}
  .mission-compact__stats>div{padding:18px!important;}
  .emotion-band{min-height:440px!important;}
  .emotion-band__copy{padding:42px 14px!important;}
  .news-feature--v7 .news-feature__main .news-card{grid-template-rows:230px auto!important;}
  .news-feature--v7 .news-feature__main .news-card__media{height:230px!important;}
  .news-feature--v7 .news-feature__stack{display:flex!important;height:auto!important;overflow-x:auto!important;scroll-snap-type:x mandatory;gap:10px!important;margin-inline:-14px;padding-inline:14px;}
  .news-feature--v7 .news-feature__stack>div{min-width:82vw!important;scroll-snap-align:start;}
  .news-feature--v7 .news-feature__stack .news-card{grid-template-rows:180px auto!important;}
  .news-feature--v7 .news-feature__stack .news-card__media{height:180px!important;}
  .news-feature--v7 .news-card--feature h3{font-size:24px!important;}
  .inner-visual-hero{height:320px!important;min-height:320px!important;}
  .service-page-hero{height:330px!important;min-height:330px!important;}
  .inner-visual-hero__content{padding:44px 0 34px!important;}
  .inner-doc-hero,.legal-hero,.links-hero,.faq-hero{padding:42px 0 34px!important;}
  .service-page-hero__content{padding:44px 0 34px!important;}
  .inner-visual-hero__content h1,.inner-doc-hero h1,.service-page-hero h1,.legal-hero h1,.links-hero h1,.faq-hero h1,.inner-hero h1,
  .contact-hero h1,.teams-hero h1,.leader-hero h1,.team-detail-hero h1,.news-index-hero h1,.single-news-hero h1{font-size:36px!important;line-height:1!important;max-width:100%!important;}
  .entry-content{font-size:14px!important;line-height:1.68!important;}
  .entry-content h2{font-size:25px!important;}
  .entry-content h3{font-size:20px!important;}
  .inner-editorial-media__rail{display:flex!important;height:190px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;}
  .inner-editorial-media__item{height:190px!important;min-width:82vw!important;scroll-snap-align:start;}
  .inner-premium-aside{grid-template-columns:1fr!important;}
  .leader-hero__grid,.team-detail-hero__grid,.single-news-hero__grid{padding:38px 0!important;gap:20px!important;}
  .leader-hero__portrait,.team-detail-hero__media,.single-news-hero__media{height:280px!important;}
  .contact-dashboard,.team-directory,.leader-body,.team-detail-body,.article-body{padding-top:42px!important;padding-bottom:52px!important;}
  .site-footer{padding-top:58px!important;padding-bottom:calc(96px + var(--safe-bottom))!important;}
  .site-footer__top{grid-template-columns:1fr!important;gap:28px!important;padding-bottom:36px!important;}
  .footer-intro p{font-size:14px!important;}
  .footer-emergency{height:160px!important;max-width:none!important;}
  .footer-emergency strong{font-size:58px!important;}
  .footer-grid{grid-template-columns:1fr!important;gap:26px!important;padding:34px 0!important;}
  .footer-card--wide{grid-column:auto;}
  .footer-card a,.footer-card span{font-size:14px!important;}
  .site-footer__bottom{font-size:12px!important;gap:8px!important;}
}

/* V7 contrast hardening for every dark hero / information panel. */
.inner-doc-hero,.legal-hero,.links-hero,.faq-hero,.news-index-hero,.single-news-hero,.team-detail-hero,.leader-hero,.inner-info-card--dark{
  color:#fff!important;
}
.inner-doc-hero h1,.inner-doc-hero h2,.inner-doc-hero strong,.inner-doc-hero a,
.legal-hero h1,.legal-hero h2,.legal-hero strong,.legal-hero a,
.links-hero h1,.links-hero h2,.links-hero strong,.links-hero a,
.faq-hero h1,.faq-hero h2,.faq-hero strong,.faq-hero a,
.news-index-hero h1,.news-index-hero h2,.news-index-hero strong,.news-index-hero a,
.single-news-hero h1,.single-news-hero h2,.single-news-hero strong,.single-news-hero a,
.team-detail-hero h1,.team-detail-hero h2,.team-detail-hero strong,.team-detail-hero a,
.leader-hero h1,.leader-hero h2,.leader-hero strong,.leader-hero a,
.inner-info-card--dark h1,.inner-info-card--dark h2,.inner-info-card--dark strong,.inner-info-card--dark a{color:#fff!important;}
.inner-doc-hero p,.legal-hero p,.links-hero p,.faq-hero p,.news-index-hero p,.single-news-hero p,.team-detail-hero p,.leader-hero p,.inner-info-card--dark p{color:#e4e9ef!important;}
.story-training img{object-position:center 38%!important;}
.story-truck img{object-position:center 52%!important;}
.story-community img{object-position:center 45%!important;}
.story-fire img{object-position:center 52%!important;}
