/* FPB mobile conversion and form polish — October 2026 */
.mobile-menu-toggle{display:none}
@media (max-width:1050px){
  .two-col{gap:34px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .form-shell{max-width:760px;margin-inline:auto}
  .page-hero .container{padding:4rem 0}
  .site-header .nav{position:relative}
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.68rem .78rem;border:1px solid rgba(15,45,82,.18);border-radius:4px;background:#fff;color:var(--navy);font-weight:800;font-size:.78rem;cursor:pointer;flex:0 0 auto}
  .mobile-menu-icon{display:inline-flex;flex-direction:column;gap:3px;width:18px}
  .mobile-menu-icon span{display:block;height:2px;background:currentColor;border-radius:99px;transition:.2s ease;transform-origin:center}
  .mobile-menu-toggle.is-open .mobile-menu-icon span:nth-child(1){transform:translateY(5px) rotate(45deg)}
  .mobile-menu-toggle.is-open .mobile-menu-icon span:nth-child(2){opacity:0}
  .mobile-menu-toggle.is-open .mobile-menu-icon span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
  .nav-links{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;z-index:120;background:#fff;border:1px solid rgba(15,45,82,.12);border-top:3px solid var(--gold);box-shadow:0 16px 34px rgba(7,27,49,.14);padding:.6rem}
  .nav-links.is-open{display:grid;grid-template-columns:1fr 1fr;gap:2px}
  .nav-links a{display:flex;align-items:center;min-height:46px;padding:.7rem .8rem;border-radius:3px;font-size:.9rem;color:var(--navy)}
  .nav-links a:hover,.nav-links a.active{background:#F6F1E7}
  .nav-links a:after{display:none}
}

@media (max-width:680px){
  html{scroll-padding-top:84px}
  body{overflow-x:hidden}
  .container{width:min(94%,1180px)}
  .site-header{position:sticky;top:0}
  .nav{min-height:68px;gap:.45rem}
  .brand{gap:.5rem;min-width:0;flex:1 1 auto;overflow:hidden}
  .site-header .monogram{width:58px!important;height:44px!important;flex:0 0 58px!important;padding-right:.5rem!important}
  .site-header .monogram .fpb-brand-mark{height:41px!important;max-width:50px!important}
  .brand-copy{min-width:0}
  .brand-copy strong{font-size:.74rem;line-height:1.08;overflow-wrap:anywhere}
  .brand-copy small{display:none}
  .mobile-menu-toggle{min-width:44px;padding:.66rem .64rem}
  .mobile-menu-label{display:none}
  .site-header .cta{flex:0 0 auto;min-height:44px;padding:.7rem .72rem;font-size:.7rem;white-space:nowrap}
  .nav-links.is-open{grid-template-columns:1fr}
  .nav-links a{font-size:.94rem;min-height:48px}

  .hero-home{min-height:auto;background-position:65% center}
  .hero-inner{padding:4rem 0 3.6rem}
  .hero-home h1{font-size:clamp(2.8rem,13vw,4.15rem)}
  .hero-home .lead{font-size:1.03rem}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:.7rem;margin-top:1.35rem}
  .hero-actions .cta{width:100%;min-height:48px;text-align:center;white-space:normal}
  .hero-note{margin-top:2rem;font-size:1.18rem}

  .page-hero{min-height:auto!important}
  .page-hero .container{padding:3.2rem 0!important}
  .page-hero h1{font-size:clamp(2.45rem,12vw,3.65rem);line-height:1.04}
  .page-hero p{font-size:1rem;line-height:1.6}
  .page-hero .cta{width:100%;min-height:48px;text-align:center;white-space:normal}

  .section{padding:54px 0}
  .section h2{font-size:clamp(2rem,10vw,3rem);line-height:1.08}
  .section-intro{font-size:1rem}
  .two-col{gap:26px}
  .grid{gap:14px}
  .card,.path-card{padding:1.2rem}
  .card h3,.path-card h3{font-size:1.2rem}
  .card p,.path-card p{font-size:.98rem}
  .path-card .cta,.card .cta{width:100%;min-height:48px;white-space:normal;text-align:center}
  .fpb-route-link{display:inline-block;padding:.12rem 0;line-height:1.45}

  .steps,.steps[style]{grid-template-columns:1fr!important;gap:10px!important}
  .step{padding:1rem}
  .step .num{width:38px;height:38px;margin-bottom:.6rem}
  .step strong{font-size:1rem}
  .step span{font-size:.95rem;line-height:1.5}

  .form-shell{padding:1rem;border-radius:6px;width:100%;box-shadow:0 8px 22px rgba(11,32,55,.07)}
  .form-shell h2[style]{font-size:clamp(1.9rem,9vw,2.45rem)!important;line-height:1.08}
  .form-section{padding:.9rem 0 1.05rem}
  .field-grid,.field-grid.three{grid-template-columns:1fr!important;gap:12px}
  label{font-size:.9rem;margin-bottom:.4rem}
  input,select,textarea{font-size:16px!important;min-height:48px;padding:.82rem .85rem}
  textarea{min-height:135px}
  .form-shell .cta[type="submit"],.form-shell button[type="submit"]{width:100%!important;min-height:50px;margin-top:14px!important;white-space:normal;text-align:center}
  .notice{padding:1rem;font-size:.94rem}
  .small{font-size:.86rem;line-height:1.55}
  [id$="-form"],[id="enquiry"]{scroll-margin-top:86px}

  .footer{padding:46px 0 24px}
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .footer-grid>div:first-child{grid-column:auto}
  .footer .brand{overflow:visible}
  .footer .monogram{width:68px!important;height:48px!important;flex:0 0 68px!important;padding-right:.6rem!important}
  .footer .monogram .fpb-brand-mark{height:45px!important;max-width:58px!important}
  .footer .brand-copy strong{font-size:.9rem;color:#fff}
  .footer .brand-copy small{display:block;font-size:.72rem}
  .footer a{font-size:.92rem;overflow-wrap:anywhere}
  .legal-line{display:grid;gap:8px;font-size:.78rem}

  .order-row,.receipt-head{flex-direction:column;gap:.25rem}
  .receipt{margin:22px auto;padding:1.2rem}
}

@media (max-width:390px){
  .container{width:94%}
  .site-header .monogram{width:52px!important;flex-basis:52px!important}
  .site-header .monogram .fpb-brand-mark{height:38px!important;max-width:44px!important}
  .brand-copy strong{font-size:.68rem}
  .site-header .cta{padding:.64rem .55rem;font-size:.64rem}
  .mobile-menu-toggle{padding:.61rem .55rem}
  .page-hero h1{font-size:2.35rem}
  .form-shell{padding:.9rem}
}
