.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-privacy-link{margin:15px 0 0;color:#456077;font-size:14px;line-height:1.5}
.form-privacy-link a{text-decoration:underline;text-underline-offset:3px}

/* Give display type room to breathe without reducing its size or weight. */
.hero h1{letter-spacing:-.02em}
.section-intro h2,.portfolio-heading h2,.studio h2,.review h2,.portfolio-work .case h3{letter-spacing:-.025em}
.service-name,.form-heading h3{letter-spacing:-.02em}

/* Keep the business number within reach in both full and compact headers. */
.site-header{gap:clamp(14px,2vw,30px)}
.site-nav{margin-left:auto;gap:clamp(14px,1.8vw,28px)}
.header-actions{display:flex;align-items:center;flex:none;gap:clamp(18px,2vw,28px)}
@media(min-width:821px){.header-actions{margin-left:clamp(18px,2.2vw,36px)}}
.header-phone{position:relative;z-index:42;display:flex;align-items:center;gap:8px;flex:none;min-height:44px;white-space:nowrap;font:500 14px/1.2 var(--body);text-decoration:none}
.header-phone svg{width:16px;height:16px;flex:none}
.header-phone:hover{opacity:.7}
.header-call-label,.site-nav .nav-call-mobile,.site-nav .nav-cta-mobile{display:none}
.site-header .nav-cta-desktop{min-height:44px;padding:0 17px;border:0;border-radius:3px;background:#172a3d;color:#f6f9fc;font-size:15px;gap:14px}
.site-header .nav-cta-desktop:hover{background:#294b66;color:#fff;opacity:1}
.contact-phone{white-space:nowrap}
.form-preview-note a{text-decoration:underline;text-underline-offset:3px}
.footer-contact{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
@media(max-width:820px){
  .site-header{gap:10px}
  .header-actions{position:relative;z-index:42;margin-left:auto}
  .header-phone{padding:0 13px;border:1px solid rgba(255,255,255,.7);border-radius:0;background:rgba(14,31,49,.12);color:#fff;font-size:14px;font-weight:600}
  .site-header.is-compact .header-phone{background:rgba(20,40,59,.04);border-color:rgba(20,40,59,.4);color:#14283b}
  .site-header.menu-expanded .header-phone,.site-header.is-compact.menu-expanded .header-phone{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.65);color:#fff}
  .header-phone-number{display:none}
  .header-call-label{display:inline}
  .site-header .site-nav .nav-call-mobile{display:flex;align-items:center;justify-content:space-between;min-height:52px;gap:12px;margin-top:28px;padding:14px 16px;border:1px solid rgba(255,255,255,.3);border-radius:0;background:rgba(255,255,255,.04);color:#f5f9fc;font-size:16px}
  .site-header .site-nav .nav-call-mobile span{color:#c7d9e8;font-size:14px;font-weight:500;line-height:1.2}
  .site-header .nav-cta-desktop{display:none}
  .site-nav .nav-cta-mobile{display:flex}
  .menu-toggle{flex:none}
  .site-nav{margin-left:0;gap:0}
}

/* Keep content aligned on wide monitors while section colors and hero imagery remain full bleed. */
@media(min-width:1528px){
  :root{--wide-gutter:calc((100vw - 1360px)/2)}
  .site-header,.section-pad,.footer{padding-inline:var(--wide-gutter)}
  .hero-content{max-width:calc(816px + var(--wide-gutter));padding-left:var(--wide-gutter)}
  .photo-credit{right:var(--wide-gutter)}
}

/* Keep the unscrolled desktop navigation readable against every part of the hero photo. */
@media(min-width:821px){
  .site-header:not(.is-compact):not(.menu-expanded){background:rgba(241,247,251,.96);border-bottom-color:rgba(31,58,82,.16);color:#14283b;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}
  .site-header:not(.is-compact):not(.menu-expanded) .brand img{filter:brightness(0) saturate(100%) invert(12%) sepia(24%) saturate(1250%) hue-rotate(169deg) brightness(92%) contrast(94%)}
  .site-header:not(.is-compact):not(.menu-expanded) .site-nav>a:not(.nav-cta){display:flex;align-items:center;min-height:44px;font-size:15px}
  .site-header:not(.is-compact):not(.menu-expanded) .nav-cta{font-size:15px}
  .site-header:not(.is-compact):not(.menu-expanded) .site-nav>a:hover{opacity:1;color:#2d5879}
}
