:root{--navy:#0c2f4f;--blue:#0b5c91;--sky:#eaf4fa;--ink:#18212a;--muted:#66727d;--white:#fff;--accent:#f0a629;--line:#d9e3ea;--shadow:0 18px 45px rgba(12,47,79,.15)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6;background:#fff}a{text-decoration:none;color:inherit}img{display:block;width:100%;height:auto}.container{width:min(1140px,calc(100% - 34px));margin:auto}.topbar{background:#09243c;color:#fff;font-size:.93rem}.topbar .container{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:9px 0}.topbar a{font-weight:800}header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;gap:28px}.brand{margin-right:auto;display:flex;align-items:center;gap:12px;color:var(--navy);font-weight:900;line-height:1.1}.logo{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:1.35rem}.brand small{display:block;margin-top:5px;color:var(--muted);font-size:.68rem;letter-spacing:.12em}nav ul{display:flex;gap:25px;list-style:none;margin:0;padding:0}nav a{font-weight:800;color:var(--navy)}nav a:hover,nav a.active{color:var(--blue)}.menu{display:none;border:0;background:none;font-size:1.7rem;color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 19px;border-radius:8px;font-weight:900;border:2px solid transparent}.btn-primary{background:var(--navy);color:#fff}.btn-accent{background:var(--accent);color:#17202a}.btn-outline{border-color:#fff;color:#fff}.hero{position:relative;min-height:620px;display:grid;align-items:center;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,35,59,.94) 0%,rgba(6,35,59,.82) 50%,rgba(6,35,59,.38) 100%)}.hero .container{position:relative;z-index:2}.hero .content{padding:85px 0;max-width:720px}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--accent)}h1,h2,h3{line-height:1.12}.hero h1{font-size:clamp(2.7rem,6vw,5rem);margin:.2em 0}.hero p{font-size:1.2rem;max-width:650px;color:#eef5f9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trustbar{background:var(--navy);color:#fff}.trustgrid{display:grid;grid-template-columns:repeat(4,1fr)}.trustitem{padding:23px;text-align:center;border-right:1px solid rgba(255,255,255,.13)}.trustitem:last-child{border-right:0}.trustitem strong{display:block;font-size:1.18rem}.section{padding:76px 0}.section.light{background:#f5f8fb}.heading{max-width:760px;margin-bottom:34px}.heading h2{font-size:clamp(2rem,4vw,3.2rem);color:var(--navy);margin:.15em 0}.heading p{color:var(--muted);font-size:1.08rem}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(12,47,79,.06)}.card .body{padding:25px}.card h3{color:var(--navy);margin-top:0}.photo-card img{aspect-ratio:4/3;object-fit:cover}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.photo-frame{border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.photo-frame img{aspect-ratio:4/3;object-fit:cover}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;padding:0;list-style:none}.service-list li{padding:11px 0;border-bottom:1px solid var(--line);font-weight:700}.quote{background:var(--navy);color:#fff;padding:38px;border-radius:18px}.quote h2{font-size:2rem;margin-top:0}.pagehero{padding:65px 0;background:linear-gradient(135deg,#edf5f9,#fff);border-bottom:1px solid var(--line)}.pagehero h1{font-size:clamp(2.5rem,5vw,4rem);color:var(--navy);margin:.15em 0}.gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.gallery img{border-radius:15px;object-fit:cover;height:100%}.gallery .large{min-height:440px}.stack{display:grid;gap:18px}.stack img{min-height:210px}.contactgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:35px}.info{border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:15px}.info strong{display:block;color:var(--navy);margin-bottom:4px}.form{display:grid;gap:15px}.field{display:grid;gap:6px}label{font-weight:800;color:var(--navy)}input,textarea{width:100%;padding:13px;border:1px solid #c7d4dd;border-radius:8px;font:inherit}textarea{min-height:150px}.cta{background:#0c2f4f;color:#fff;padding:48px 0}.cta .container{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.cta h2{font-size:clamp(1.8rem,4vw,2.7rem);margin:0}footer{background:#071d2f;color:#dce6ed;padding:46px 0 25px}.footergrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px}.footergrid h4{color:#fff;margin-top:0}.footergrid a{display:block;margin:6px 0}.copyright{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:30px;color:#9fb0bd;font-size:.9rem}.source-note{font-size:.8rem;color:#82909b}.local-photo-note{font-size:.88rem;color:var(--muted);margin-top:12px}@media(max-width:850px){.desktop-call{display:none}.menu{display:block}nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}nav.open{display:block}nav ul{display:block;padding:13px 20px 20px}nav li{padding:10px 0}.grid3,.split,.contactgrid,.gallery{grid-template-columns:1fr}.trustgrid{grid-template-columns:1fr 1fr}.service-list{grid-template-columns:1fr}.gallery .large,.stack img{min-height:280px}.footergrid{grid-template-columns:1fr 1fr}.hero{min-height:560px;background-position:center}}@media(max-width:560px){.topbar .container{justify-content:center;text-align:center}.brand{font-size:.95rem}.logo{width:44px;height:44px}.trustgrid{grid-template-columns:1fr}.trustitem{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.footergrid{grid-template-columns:1fr}.section{padding:58px 0}.hero h1{font-size:2.65rem}}

/* Mobile-focused refinements */
@media (max-width: 700px){
  body{font-size:16px;overflow-x:hidden}
  .container{width:min(100% - 28px,1140px)}
  .topbar{font-size:.84rem}
  .topbar .container{gap:3px;padding:7px 0}
  header{position:sticky;top:0}
  .nav{min-height:68px;gap:12px}
  .brand{gap:9px;font-size:.86rem;max-width:calc(100% - 50px)}
  .brand span:not(.logo){line-height:1.05}
  .brand small{font-size:.58rem;letter-spacing:.08em;margin-top:4px}
  .logo{width:40px;height:40px;font-size:1.05rem;flex:0 0 40px}
  .menu{font-size:1.55rem;padding:8px;line-height:1}
  nav{top:68px}
  nav ul{padding:8px 18px 16px}
  nav li{padding:0}
  nav a{display:block;padding:12px 2px;font-size:1rem}

  .hero{min-height:500px;align-items:end}
  .hero-bg{object-position:58% center}
  .hero-shade{background:linear-gradient(180deg,rgba(6,35,59,.26) 0%,rgba(6,35,59,.62) 39%,rgba(6,35,59,.96) 100%)}
  .hero .content{padding:120px 0 38px;max-width:none}
  .hero h1{font-size:clamp(2.25rem,11vw,3.15rem);margin:.18em 0 .3em}
  .hero p{font-size:1.03rem;line-height:1.48;margin-bottom:0}
  .eyebrow{font-size:.72rem;letter-spacing:.13em}
  .actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px;width:100%}
  .actions .btn{width:100%;min-height:48px;padding:11px 15px}

  .trustgrid{grid-template-columns:1fr 1fr}
  .trustitem{padding:16px 9px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}
  .trustitem:nth-child(2n){border-right:0}
  .trustitem strong{font-size:1rem}
  .trustitem span{font-size:.82rem}

  .section{padding:48px 0}
  .heading{margin-bottom:24px}
  .heading h2,.pagehero h1{font-size:clamp(2rem,9vw,2.65rem)}
  .heading p{font-size:1rem}
  .grid3,.split,.contactgrid,.gallery{grid-template-columns:1fr;gap:18px}
  .card .body{padding:20px}
  .split{gap:28px}
  .photo-frame{border-radius:12px}
  .photo-frame img{aspect-ratio:4/3}
  .service-list{grid-template-columns:1fr;gap:0}
  .service-list li{padding:12px 0}
  .quote{padding:26px 22px;border-radius:13px}
  .quote h2{font-size:1.65rem}

  .pagehero{padding:42px 0}
  .pagehero p{margin-bottom:0}
  .gallery .large,.stack img{min-height:0;height:auto;aspect-ratio:4/3}
  .gallery img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .stack{grid-template-columns:1fr 1fr;gap:12px}
  .stack img{aspect-ratio:1/1}

  .contactgrid{gap:24px}
  .info{padding:18px;margin-bottom:12px}
  input,textarea{font-size:16px;padding:14px}
  .form .btn{width:100%;min-height:50px}

  .cta{padding:34px 0}
  .cta .container{display:block}
  .cta h2{font-size:1.9rem;margin-top:4px}
  .cta .actions{margin-top:20px}
  .cta>.container>.btn{width:100%;margin-top:20px;min-height:48px}

  footer{padding:38px 0 22px}
  .footergrid{grid-template-columns:1fr;gap:22px}
  .footergrid p{margin:.4em 0}
  .footergrid a{padding:3px 0}
}

@media (max-width: 390px){
  .container{width:min(100% - 22px,1140px)}
  .brand{font-size:.79rem}
  .brand small{display:none}
  .hero{min-height:475px}
  .hero-bg{object-position:62% center}
  .hero h1{font-size:2.15rem}
  .trustgrid{grid-template-columns:1fr}
  .trustitem{border-right:0}
  .stack{grid-template-columns:1fr}
  .stack img{aspect-ratio:4/3}
}

/* Modern visual refresh v12 */
:root{--radius:18px;--radius-sm:12px;--soft:#f7f9fb;--shadow-soft:0 12px 32px rgba(12,47,79,.09)}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.006em}
header{background:rgba(255,255,255,.96);backdrop-filter:saturate(150%) blur(12px)}
.nav{min-height:78px}.brand{letter-spacing:.015em}.logo{box-shadow:0 8px 20px rgba(12,47,79,.22)}
nav a{position:relative;padding:27px 0 24px}nav a:after{content:"";position:absolute;left:0;right:0;bottom:17px;height:2px;border-radius:2px;background:var(--blue);transform:scaleX(0);transition:transform .2s ease}nav a:hover:after,nav a.active:after{transform:scaleX(1)}
.btn{border-radius:11px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(12,47,79,.15)}
.hero{min-height:600px}.hero-bg{object-position:center 48%}.hero-shade{background:linear-gradient(90deg,rgba(5,27,46,.92) 0%,rgba(5,27,46,.78) 44%,rgba(5,27,46,.22) 100%)}.hero .content{padding:76px 0;max-width:690px}.hero h1{letter-spacing:-.035em}.hero p{font-size:1.15rem}.hero-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:8px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.11);backdrop-filter:blur(8px);font-size:.82rem;font-weight:800;letter-spacing:.03em;color:#fff}
.trustbar{box-shadow:0 10px 30px rgba(7,29,47,.16)}.trustitem{padding:20px}.trustitem span{opacity:.78}
.section{padding:82px 0}.section.light{background:linear-gradient(180deg,#f7f9fb 0%,#f2f6f8 100%)}.heading h2,.pagehero h1{letter-spacing:-.035em}.heading.compact{margin-bottom:28px}.heading.compact h2{font-size:clamp(1.9rem,3.5vw,2.75rem)}
.card{border:1px solid rgba(217,227,234,.8);border-radius:var(--radius);box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(12,47,79,.12)}.service-card{position:relative;overflow:visible;padding-top:26px}.service-icon{position:absolute;top:-22px;left:24px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(12,47,79,.12);font-size:1.35rem}.service-card .body{padding-top:31px}.card h3{font-size:1.25rem}
.why-section{background:#fff}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.why-item{padding:26px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.why-item>span{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:var(--navy);color:#fff;font-weight:900;font-size:1.05rem;margin-bottom:17px}.why-item strong{display:block;color:var(--navy);font-size:1.05rem;margin-bottom:5px}.why-item p{margin:0;color:var(--muted);font-size:.94rem}
.photo-frame,.gallery img{border-radius:var(--radius)}.showroom-section .gallery,.showroom-section img{filter:saturate(.96)}
.pagehero{padding:72px 0;background:radial-gradient(circle at 90% 10%,rgba(11,92,145,.10),transparent 35%),linear-gradient(135deg,#f3f8fb,#fff)}
.quote{border-radius:var(--radius);box-shadow:0 16px 36px rgba(12,47,79,.18)}
.service-list li{position:relative;padding-left:22px}.service-list li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}
.contact-modern{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:30px;align-items:stretch}.contact-details{display:grid;gap:14px}.contact-card{display:flex;gap:15px;align-items:flex-start;padding:19px 20px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(12,47,79,.05)}.contact-icon{flex:0 0 40px;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--sky);color:var(--navy);font-weight:900}.contact-card strong{display:block;color:var(--navy);margin-bottom:3px}.contact-card a{color:var(--blue);font-weight:700}.hours-card span{color:var(--ink)}.map-panel{min-height:515px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;display:grid;grid-template-rows:1fr auto}.map-panel iframe{border:0;display:block;min-height:400px}.map-action{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line)}.map-action strong{display:block;color:var(--navy)}.map-action span{display:block;color:var(--muted);font-size:.9rem}
.mobile-call-bar{display:none}
footer{padding-bottom:30px}
@media(max-width:980px){.why-grid{grid-template-columns:1fr 1fr}.contact-modern{grid-template-columns:1fr}.map-panel{min-height:470px}}
@media(max-width:700px){header{backdrop-filter:none}.nav{min-height:68px}nav a{padding:12px 2px}nav a:after{display:none}.hero{min-height:510px}.hero-bg{object-position:58% center}.hero-shade{background:linear-gradient(180deg,rgba(5,27,46,.18) 0%,rgba(5,27,46,.56) 37%,rgba(5,27,46,.96) 100%)}.hero .content{padding:112px 0 34px}.hero-badge{margin-bottom:12px;padding:7px 10px}.section{padding:52px 0}.service-card{margin-top:14px}.why-grid{grid-template-columns:1fr 1fr;gap:12px}.why-item{padding:18px 16px}.why-item>span{width:40px;height:40px;margin-bottom:13px}.map-panel{min-height:430px}.map-panel iframe{min-height:330px}.map-action{align-items:flex-start;flex-direction:column}.map-action .btn{width:100%}.mobile-call-bar{position:sticky;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px calc(11px + env(safe-area-inset-bottom));background:var(--accent);color:#17202a;font-size:.88rem;box-shadow:0 -8px 24px rgba(7,29,47,.18)}.mobile-call-bar strong{font-size:1rem}.mobile-call-bar span{font-weight:700}footer{padding-bottom:22px}}
@media(max-width:430px){.why-grid{grid-template-columns:1fr}.hero-badge{font-size:.74rem}.contact-card{padding:16px}.map-panel iframe{min-height:300px}}
