/* Readable copy, predictable navigation and fewer steps to contact. */
html{scroll-padding-top:112px}
.header{position:sticky;top:0;height:94px;box-shadow:0 2px 16px #13172512}
.brand img{height:68px;width:108px}
.desktop-nav{gap:25px;margin-right:35px}
.desktop-nav a{font-size:13px;opacity:1;padding:12px 0}
.desktop-nav a[aria-current=location]{color:#bad7f4}
.desktop-nav a[aria-current=location]:after{width:100%;bottom:5px;background:#bad7f4}
.button,.button-small{font-size:14px;min-height:48px}
.hero-description{font-size:22px;max-width:470px}
.hero-detail{font-size:15px;max-width:390px;color:#d5d8e2}
.hero-assurance{font-size:12px;color:#bdc9da;margin-top:14px}
.hero-actions .text-link{font-size:14px;min-height:48px}
.eyebrow{font-size:11px}
.facts>div>span:last-child{font-size:13px}
.intro-copy{font-size:15px;max-width:440px}
.intro-copy .lead{font-size:22px}
.underlined-link{font-size:14px;min-height:44px}
.address-line p,.address-line p span{font-size:13px}
.faces-info #face-description{font-size:15px;max-width:370px}
.face-tabs button{font-size:15px;min-height:52px}
.face-tabs button span{font-size:12px}
.face-footnote{font-size:12px}
.campaign-heading>p,.row-description{font-size:14px}
.gallery-item>span{font-size:13px;min-height:48px;align-items:center}
.gallery-arrows button{width:48px;height:48px}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;margin:24px var(--gutter) 0;gap:20px}
.gallery-hint{margin:0;font-size:12px;letter-spacing:0;color:#c6cddd}
.touch-hint{display:none}
#gallery-position{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
.specs-note{font-size:14px}
.spec-table dt,.spec-table dd{font-size:14px}
summary{font-size:14px;min-height:56px}
details p{font-size:14px}
.journey-steps p{font-size:13px}
.contact-grid>div>p{font-size:16px}
.contact-grid>div>p.contact-small{font-size:12px;color:#c1c9da}
.footer-top>p,.footer-ds>span{font-size:13px}
.footer-ds small,.footer-bottom{font-size:11px}
.footer-bottom a{display:flex;align-items:center;min-height:44px}
.footer-bottom{align-items:center}
.contact-dialog{padding:38px 40px;width:min(640px,calc(100% - 32px))}
.contact-dialog .eyebrow{font-size:10px}
.contact-dialog .dialog-intro{font-size:14px;margin-top:18px}
.contact-dialog h2{padding-right:16px}
.contact-dialog label{position:relative;font-size:13px;margin-bottom:20px}
.optional{font-size:10px;color:var(--muted);position:absolute;right:0;top:3px;font-weight:400}
.contact-dialog input,.contact-dialog select,.contact-dialog textarea{font-size:16px;min-height:48px}
.contact-dialog form>.button{font-size:14px}
.form-note{font-size:12px;line-height:1.6}
.copy-alternative{display:block;width:100%;border:1px solid #c8cbd0;background:transparent;padding:12px 16px;min-height:48px;margin-top:18px;font-size:13px}
.copy-alternative:hover{background:#e9eae6}
#direct-copy-status{font-size:12px;line-height:1.6;margin-top:10px;color:var(--blue)}
#direct-copy-status:empty{margin:0}
.contact-dialog #email-fallback{font-size:13px}
.contact-dialog #copy-status{font-size:12px}
.lightbox figcaption{font-size:14px}
.lightbox-prev,.lightbox-next,.dialog-close{min-height:48px;min-width:48px}
.mobile-contact-bar{display:none}
.reveal{opacity:1;transform:none}
@media(max-width:1100px){.desktop-nav{gap:18px;margin-right:24px}.desktop-nav a{font-size:12px}.hero-actions .button{font-size:13px}.campaign-heading>p{max-width:300px}.row-description{font-size:13px}.specs{gap:7%}}
@media(max-width:800px){
  html{scroll-padding-top:94px}
  .header{height:78px}
  .brand img{height:57px;width:90px}
  .header-cta{min-height:44px;font-size:13px;margin-right:15px;padding:11px 15px}
  .menu-toggle{min-width:44px;min-height:44px;align-items:center}
  .mobile-menu:not([hidden]){top:77px;gap:4px;padding-top:16px}
  .mobile-menu>a{padding:12px 0;min-height:48px;font-size:16px}
  .mobile-menu>a[aria-current=location]{color:#bad7f4}
  .mobile-menu .button{margin-top:12px}
  .hero-description{font-size:20px}
  .hero-detail{font-size:14px}
  .hero-actions .text-link{font-size:13px}
  .facts>div>span:last-child{font-size:12px}
  .intro-copy{font-size:15px}
  .intro-copy .lead{font-size:20px}
  .campaign-heading>p{max-width:460px;font-size:14px}
  .specs-note{max-width:460px}
  .journey-steps h3{font-size:15px}
  .journey-steps p{font-size:12px}
  .gallery-arrows button{width:44px;height:44px}
  .touch-hint{display:inline}.desktop-hint{display:none}
  .mobile-contact-bar:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:12;align-items:center;justify-content:space-between;gap:16px;background:#f4f3eff5;border-top:1px solid #ccd0d8;box-shadow:0 -4px 24px #1b1e2d12;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}
  .mobile-contact-bar>div{display:flex;flex-direction:column;gap:1px}
  .mobile-contact-bar strong{font-size:12px;font-weight:500}
  .mobile-contact-bar>div>span{font-size:11px;color:var(--muted)}
  .mobile-contact-bar .button{font-size:12px;gap:16px;padding:13px 16px}
  body.modal-open .mobile-contact-bar{display:none}
  .gallery-section{scroll-margin-bottom:90px}
}
@media(max-width:520px){
  .header{padding:0 20px}
  .hero{padding-top:32px;padding-bottom:290px;min-height:710px}
  .hero .eyebrow,.eyebrow{font-size:10px;letter-spacing:.1em}
  .hero h1{font-size:clamp(44px,12vw,62px)}
  .hero-description{font-size:19px;margin-top:24px}
  .hero-detail{font-size:14px;line-height:1.7;max-width:330px}
  .hero-actions{gap:16px;flex-wrap:wrap;margin-top:24px}
  .hero-actions .button{font-size:13px;min-height:50px;padding:14px 17px;gap:18px}
  .hero-actions .text-link{font-size:12px;min-height:48px}
  .hero-assurance{font-size:11px;margin-top:12px}
  .section-pad{padding-top:46px;padding-bottom:46px}
  .intro h2{font-size:34px}
  .intro-copy{font-size:15px}
  .intro-copy .lead{font-size:20px}
  .address-line p,.address-line p span{font-size:12px}
  .faces-info{padding-top:30px;padding-bottom:32px}
  .faces-info h2{font-size:32px}
  .faces-info #face-description{font-size:15px}
  .face-footnote{font-size:12px}
  .face-tabs{margin-top:20px}
  .face-tabs button{font-size:14px}
  .campaign-heading h2{font-size:29px}
  .campaign-heading>p{font-size:14px}
  .row-description{font-size:13px;max-width:280px}
  .gallery-heading{align-items:flex-end}
  .gallery-heading .eyebrow{font-size:9px;max-width:190px}
  .gallery-heading h2{font-size:28px}
  .gallery-item>span{font-size:12px}
  .gallery-toolbar{gap:12px;margin-top:18px}
  .gallery-hint{font-size:11px}
  .specs h2{font-size:31px}
  .specs-note{font-size:14px}
  .spec-table dt{font-size:13px}
  .spec-table dd{font-size:13px}
  summary,details p{font-size:14px}
  .journey-steps h3{font-size:15px}
  .journey-steps p{font-size:12px}
  .contact-grid>div>p{font-size:15px}
  .contact-grid .button{font-size:14px}
  .contact-grid>div>p.contact-small{font-size:12px}
  .footer-top>p,.footer-ds>span{font-size:12px}
  .footer-bottom{font-size:11px}
  .contact-dialog{padding:34px 24px 24px;width:calc(100% - 20px)}
  .contact-dialog h2{font-size:26px;margin-top:20px}
  .contact-dialog .eyebrow{font-size:9px}
  .contact-dialog .dialog-intro{font-size:13px}
  .contact-dialog form{margin-top:22px}
  .form-grid{grid-template-columns:1fr;gap:0}
  .contact-dialog label{font-size:13px;margin-bottom:16px}
  .contact-dialog form>.button{font-size:14px}
  .contact-dialog textarea{min-height:80px}
  .form-note{font-size:11px}
  .lightbox figcaption{font-size:12px}
  .mobile-contact-bar:not([hidden]){padding-left:20px;padding-right:20px;gap:10px}
  .mobile-contact-bar .button{font-size:12px;gap:10px;padding:12px}
}
@media(max-width:350px){.mobile-contact-bar>div>span{display:none}.mobile-contact-bar strong{font-size:11px}.hero-actions{gap:7px}.hero-actions .button{font-size:12px;padding:13px}.hero-actions .text-link{font-size:11px}.gallery-heading h2{font-size:24px}.spec-table>div{gap:10px}.spec-table dd{max-width:180px}}
