/* ===== shared polish layer (loaded last on every page) ===== */

/* mobile menu: calmer type, list rhythm, clear CTA */
@media(max-width:900px){
  .mmenu{justify-content:flex-start!important;gap:0!important;padding:92px 22px 28px!important;overflow-y:auto}
  .mmenu a{display:flex;align-items:center;justify-content:space-between;font-family:var(--fd,'Clash Display',sans-serif)!important;font-size:19px!important;font-weight:500;letter-spacing:.005em;padding:14px 2px;border-bottom:1px solid color-mix(in srgb,currentColor 11%,transparent);transform:translateY(8px);opacity:0;transition:opacity .35s ease,transform .35s ease}
  .mmenu a::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);opacity:.45;margin-right:4px}
  .mmenu.open a{opacity:1;transform:none}
  .mmenu.open a:nth-child(2){transition-delay:.03s}.mmenu.open a:nth-child(3){transition-delay:.06s}.mmenu.open a:nth-child(4){transition-delay:.09s}.mmenu.open a:nth-child(5){transition-delay:.12s}.mmenu.open a:nth-child(6){transition-delay:.15s}.mmenu.open a:nth-child(7){transition-delay:.18s}.mmenu.open a:nth-child(8){transition-delay:.21s}.mmenu.open a:nth-child(9){transition-delay:.24s}
  .mmenu a[href$="quote.html"],.mmenu a[href$="/quote"]{margin-top:24px;border:0;justify-content:center;gap:8px;background:#E85828;color:#fff!important;border-radius:999px;font-family:var(--fb,'Satoshi',sans-serif)!important;font-size:16px!important;font-weight:600;padding:15px}
  .mmenu a[href$="quote.html"]::after,.mmenu a[href$="/quote"]::after{display:none}
}

/* home hero */
#hero .sub-short{display:none}
@media(max-width:600px){
  #hero .cap{justify-content:flex-end!important;padding-top:0!important;padding-bottom:calc(30px + env(safe-area-inset-bottom))!important}
  #hero .eyebrow{margin-bottom:14px!important;font-size:11px;letter-spacing:.22em}
  #hero .big{font-size:clamp(34px,10.4vw,44px)!important;line-height:.98!important}
  #hero .sub{margin-top:14px!important;font-size:15px!important;line-height:1.55!important;max-width:34ch!important;color:rgba(255,255,255,.82)}
  #hero .sub-long{display:none}#hero .sub-short{display:inline}
  #hero .cap .row{margin-top:22px!important;flex-wrap:nowrap;gap:10px}
  #hero .cap .row .btn{flex:1 1 0;justify-content:center;padding:14px 12px;font-size:14.5px;white-space:nowrap}
  #hero .cap .row .btn .ico{display:none}
  #hero .cap .row .btn .lg{display:none}
  #hero .htrust{margin-top:20px!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px 12px!important}
  #hero .htrust li{font-size:12px!important;gap:7px!important;line-height:1.3}
  #hero .htrust li svg{width:15px!important;height:15px!important;flex:0 0 15px}
  #hero .vscrim{background:linear-gradient(180deg,rgba(8,7,6,.35) 0%,rgba(8,7,6,.15) 30%,rgba(8,7,6,.7) 62%,rgba(8,7,6,.94) 100%)!important}
}
@media(max-width:600px) and (max-height:700px){#hero .htrust{display:none!important}}
@media(max-width:600px){
  #hero .cap{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
  #hero .htrust .lg{display:none}
  #hero .htrust{grid-template-columns:auto auto!important;justify-content:start;column-gap:22px!important}
}

/* inner page headers: tighter on phones */
@media(max-width:768px){
  body.pnav .phero{padding:96px 0 36px!important}
  .phero .crumbs{font-size:12px}
  .phero .kick{font-size:11px;letter-spacing:.18em}
  .phero h1{font-size:clamp(28px,8.2vw,36px)!important;margin:10px 0 10px!important;line-height:1.08}
  .phero p{font-size:15px!important;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}

/* global mobile rhythm + tap comfort */
@media(max-width:768px){
  html{-webkit-text-size-adjust:100%}
  body{font-size:15.5px}
  h2.disp,.head h2{font-size:clamp(24px,7vw,32px)}
  .btn{min-height:46px}
  input,select,textarea{font-size:16px}
}

/* services index: compact cards on phones */
@media(max-width:600px){
  .svc{padding:18px!important;gap:6px!important;border-radius:16px!important}
  .svc .ic{width:38px!important;height:38px!important;font-size:17px!important;border-radius:10px!important}
  .svc h3{font-size:16.5px!important;margin-top:2px!important}
  .svc p{font-size:14px!important;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .svc .meta{display:none}
  .svc .more{padding-top:10px!important;font-size:13px!important}
  .sec .grid.g3{gap:12px!important}
}

/* in-text links: underline so they are not signalled by colour alone */
p a:not([class]),li a:not([class]),td a:not([class]),.field a:not([class]){text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.sfoot a,.mmenu a,.nav a,.crumbs a{text-decoration:none!important}
.formerr{background:#FFF3EC;border:1px solid #F3C3A6;color:#7A2E0B;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5;margin-bottom:18px}
.formerr a{color:inherit;font-weight:600;text-decoration:underline}
.field select:disabled{opacity:.6;cursor:not-allowed}
