:root{--navy:#092f66;--blue:#09a8e8;--amber:#f5a510;--ink:#122038;--cream:#f7f2e9;--white:#fff;--muted:#556374;--line:#d7dfe3;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;background:var(--cream)}a{color:inherit}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem 1rem}.site-header{background:rgba(255,255,255,.98);border-bottom:4px solid var(--blue);position:sticky;top:0;z-index:10}.header-inner{max-width:1200px;margin:auto;min-height:83px;padding:10px 28px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:max-content}.brand img{width:52px;height:52px;object-fit:contain;border-radius:5px}.brand-name,.footer-brand span{line-height:1;display:grid;gap:5px}.brand-name strong,.footer-brand strong{font-size:1.28rem;letter-spacing:.11em;color:var(--navy)}.brand-name small,.footer-brand small{font-size:.52rem;letter-spacing:.16em;font-weight:700;color:var(--amber)}nav{margin-left:auto;display:flex;gap:26px}nav a{font-size:.8rem;letter-spacing:.08em;font-weight:700;text-decoration:none;text-transform:uppercase}nav a:hover,.text-link:hover{color:var(--blue)}.header-phone{font-weight:800;font-size:1.05rem;text-decoration:none;color:var(--navy);border-left:1px solid var(--line);padding-left:24px;line-height:1.1}.header-phone span{display:block;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:4px}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:var(--navy);color:var(--white);min-height:575px}.hero-pattern{position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 57%,rgba(9,168,232,.17) 57% 58%,transparent 58% 63%,rgba(245,165,16,.16) 63% 64%,transparent 64%),radial-gradient(circle at 87% 67%,rgba(255,255,255,.14) 0 2px,transparent 3px);background-size:auto,28px 28px}.hero:after{content:'';position:absolute;right:-7rem;bottom:-13rem;width:35rem;height:35rem;border:2px solid rgba(255,255,255,.17);border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.05),0 0 0 80px rgba(255,255,255,.035)}.hero-inner{position:relative;z-index:1;max-width:1200px;margin:auto;padding:100px 28px 88px;display:grid;grid-template-columns:1.3fr .7fr;gap:72px;align-items:center}.eyebrow{color:var(--amber);font-weight:800;letter-spacing:.12em;font-size:.71rem;margin:0 0 18px}.eyebrow.dark{color:var(--navy)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);line-height:1.02}h1{font-size:clamp(3rem,6vw,5.7rem);max-width:800px;letter-spacing:-.055em;margin-bottom:25px}.hero-text{font-size:1.15rem;max-width:565px;color:#e5edf8;margin-bottom:30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:15px;padding:14px 20px;text-decoration:none;font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:2px solid transparent}.button-amber{background:var(--amber);color:#142137}.button-amber:hover{background:#ffc544}.button-outline{border-color:rgba(255,255,255,.7);color:#fff}.button-outline:hover{border-color:var(--blue);background:var(--blue)}.trust-list{list-style:none;padding:0;margin:32px 0 0;display:flex;gap:22px;flex-wrap:wrap;font-size:.88rem;font-weight:700}.trust-dot{display:inline-grid;place-items:center;width:19px;height:19px;margin-right:7px;border-radius:50%;background:var(--blue);font-size:.72rem}.hero-panel{align-self:stretch;min-height:315px;padding:33px;background:rgba(4,25,57,.7);border:1px solid rgba(255,255,255,.24);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.hero-panel:before{content:'';position:absolute;left:0;top:0;width:100%;height:7px;background:var(--amber)}.hero-panel p{font-family:var(--serif);font-size:2.1rem;line-height:1.04;margin:0}.hero-panel em{font-style:normal;color:var(--blue)}.hero-panel span{font-size:.9rem;letter-spacing:.25em;font-weight:700;margin-top:22px}.panel-lines{position:absolute;top:30px;right:-22px;transform:rotate(-22deg);display:flex;gap:7px}.panel-lines i{width:7px;height:220px;background:var(--blue);display:block}.panel-lines i:last-child{background:var(--amber)}.intro{max-width:1200px;margin:auto;padding:92px 28px 100px}.section-kicker{display:flex;align-items:center;gap:12px;font-size:.7rem;font-weight:800;letter-spacing:.15em;color:var(--navy)}.section-kicker span{width:42px;height:3px;background:var(--amber)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;margin-top:28px}.intro h2,.section-heading h2,.areas h2,.quote h2{font-size:clamp(2.5rem,4.2vw,4.35rem);letter-spacing:-.055em;margin-bottom:0}.intro-grid p{color:var(--muted);font-size:1.08rem;margin:5px 0 22px}.text-link{font-size:.8rem;color:var(--navy);font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.services{background:#fff;padding:95px max(28px,calc((100vw - 1144px)/2)) 110px}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end;margin-bottom:46px}.section-heading>p{color:var(--muted);max-width:345px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.service-card{min-height:325px;padding:27px 22px;background:var(--cream);border-top:5px solid var(--blue);grid-column:span 2;display:flex;flex-direction:column}.service-card.featured{background:var(--navy);color:#fff;border-top-color:var(--amber)}.service-card:nth-child(4){grid-column:2/span 2}.service-card:nth-child(5){grid-column:4/span 2}.service-icon{width:52px;height:52px;margin-bottom:auto;color:var(--navy)}.featured .service-icon{color:var(--amber)}.service-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}.card-number{font-size:.7rem;letter-spacing:.13em;font-weight:800;color:var(--blue);margin:22px 0 10px}.featured .card-number{color:var(--amber)}.service-card h3{font-size:1.65rem;letter-spacing:-.04em;margin:0 0 10px}.service-card>p:last-child{font-size:.88rem;line-height:1.5;color:var(--muted);margin:0}.featured>p:last-child{color:#d3dfef}.areas{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.areas-copy{padding:110px max(28px,calc((100vw - 1144px)/2)) 110px 70px;max-width:670px}.areas-copy>p:not(.eyebrow){color:#dbe7f6;max-width:490px}.areas-copy ul{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;font-size:.88rem;font-weight:700}.areas-copy li:before{content:'+';color:var(--amber);margin-right:10px}.areas-art{position:relative;min-height:430px;background:linear-gradient(135deg,#0a426f,#087dae);overflow:hidden}.ring{position:absolute;border:1px solid rgba(255,255,255,.3);border-radius:50%}.ring-a{width:330px;height:330px;left:16%;top:10%}.ring-b{width:500px;height:500px;left:4%;top:-10%}.ring-c{width:680px;height:680px;left:-10%;top:-25%}.map-pin{position:absolute;width:34px;height:34px;border:8px solid var(--amber);border-radius:50% 50% 50% 0;transform:rotate(-45deg);left:44%;top:37%;box-shadow:0 0 0 12px rgba(245,165,16,.16)}.quote{position:relative;background:var(--cream);overflow:hidden}.quote-inner{position:relative;z-index:1;max-width:900px;margin:auto;text-align:center;padding:110px 28px}.quote-inner>p:not(.eyebrow){font-size:1.08rem;color:var(--muted);max-width:620px;margin:23px auto 34px}.quote-lines{position:absolute;inset:0;background:linear-gradient(70deg,transparent 0 8%,rgba(9,168,232,.11) 8% 8.35%,transparent 8.35% 11%,rgba(245,165,16,.14) 11% 11.35%,transparent 11.35% 100%)}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left}.contact-card{background:#fff;border-bottom:4px solid var(--blue);text-decoration:none;padding:20px 23px;display:grid;gap:5px}.contact-card:hover{border-color:var(--amber);transform:translateY(-2px)}.contact-card span{font-size:.68rem;font-weight:800;letter-spacing:.13em;color:var(--muted)}.contact-card strong{font-size:clamp(.93rem,2.2vw,1.22rem);color:var(--navy);overflow-wrap:anywhere}.site-footer{background:#061f46;color:#fff}.footer-inner{max-width:1200px;margin:auto;padding:34px 28px;display:flex;align-items:center;gap:34px;flex-wrap:wrap}.footer-brand img{width:45px;height:45px}.footer-brand strong{color:#fff}.footer-brand small{color:var(--amber)}.footer-inner p{margin:0;font-size:.79rem;color:#c8d4e4}.footer-inner p:last-child{margin-left:auto}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:800px){.header-inner{min-height:73px;padding:9px 20px;gap:12px}.brand img{width:45px;height:45px}.brand-name strong{font-size:1.07rem}.header-phone{display:none}.menu-toggle{display:flex;margin-left:auto;width:43px;height:43px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px;padding:10px}.menu-toggle span:not(.visually-hidden){width:100%;height:2px;background:var(--navy);display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;padding:17px 20px;background:#fff;border-bottom:3px solid var(--blue);flex-direction:column;gap:14px}nav.open{display:flex}.hero{min-height:auto}.hero-inner{padding:70px 24px 60px;grid-template-columns:1fr;gap:35px}.hero-panel{min-height:190px}.hero-panel p{font-size:1.7rem}.intro{padding:70px 24px}.intro-grid,.section-heading{grid-template-columns:1fr;gap:25px}.services{padding:70px 24px}.service-grid{grid-template-columns:1fr;gap:12px}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto;min-height:235px}.areas{grid-template-columns:1fr}.areas-art{min-height:280px;order:2}.areas-copy{padding:70px 24px;max-width:none}.quote-inner{padding:70px 24px}.contact-actions{grid-template-columns:1fr}.footer-inner{padding:31px 24px;display:grid;gap:17px}.footer-inner p:last-child{margin-left:0}h1{font-size:3.2rem}.trust-list{gap:12px 18px}}
.map-panel{position:relative;min-height:430px;overflow:hidden;background:#dfe7e9}.coverage-map{width:100%;height:100%;min-height:430px;border:0;display:block;filter:saturate(.8) contrast(1.04)}.map-label{position:absolute;padding:8px 10px;background:rgba(9,47,102,.93);border-left:4px solid var(--amber);color:#fff;font-size:.67rem;line-height:1.18;font-weight:800;letter-spacing:.09em;box-shadow:0 5px 16px rgba(0,0,0,.2);pointer-events:none}.label-east{left:10%;top:22%}.label-north{right:8%;bottom:23%}.map-credit{position:absolute;right:8px;bottom:5px;font-size:.62rem;background:rgba(255,255,255,.8);padding:2px 4px}.map-credit a{color:#20354f;text-decoration:none}@media(max-width:800px){.map-panel{min-height:310px;order:2}.coverage-map{min-height:310px}}

.breadcrumbs { display:flex; gap:12px; max-width:1200px; margin:0 auto; padding:18px 28px; color:var(--muted); font-size:.8rem; position:static; background:transparent; border:0; flex-direction:row; }
.breadcrumbs a { font-size:inherit; text-transform:none; letter-spacing:0; text-decoration:underline; text-underline-offset:3px; font-weight:400; }
.service-hero { background:var(--navy); color:#fff; }
.service-hero-inner { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:64px; max-width:1200px; padding:64px 28px; margin:auto; }
.service-heading h1 { font-size:clamp(3.2rem,5.8vw,5.5rem); margin:0 0 20px; }
.service-tagline { font-family:var(--serif); font-size:clamp(1.55rem,2.6vw,2.1rem); line-height:1.16; margin-bottom:18px; }
.service-location { font-size:.85rem; font-weight:700; color:var(--amber); margin-bottom:16px; }
.service-lead { color:#e5edf8; margin-bottom:26px; max-width:38rem; }
.service-launch { font-size:.79rem; color:#d3dfef; margin:17px 0 0; }
.service-hero-image { display:block; width:100%; height:470px; object-fit:cover; object-position:center; border-top:5px solid var(--amber); box-shadow:16px 16px 0 rgba(0,0,0,.14); }
.service-container { max-width:1200px; padding-left:28px; padding-right:28px; margin:auto; }
.service-body { display:grid; grid-template-columns:1.5fr 1fr; gap:72px; max-width:1200px; margin:auto; padding:80px 28px; align-items:start; }
.service-explanation section + section { margin-top:44px; }
.service-explanation h2, .service-local h2, .service-faq h2, .service-process h2, .service-related h2 { font-size:clamp(2rem,3.4vw,3rem); letter-spacing:-.04em; margin-bottom:23px; }
.service-explanation p, .service-local p, .service-faq details p, .service-process li p { color:var(--muted); line-height:1.7; }
.service-explanation p:last-child { margin-bottom:0; }
.service-scope { background:#fff; padding:30px; border-top:5px solid var(--blue); }
.service-scope h2 { font-size:2rem; letter-spacing:-.04em; }
.service-scope ul { list-style:none; margin:24px 0; padding:0; }
.service-scope li { padding:13px 0 13px 24px; border-bottom:1px solid var(--line); position:relative; font-size:.92rem; }
.service-scope li::before { content:'✓'; position:absolute; left:0; color:var(--navy); font-weight:700; }
.service-scope .text-link { line-height:1.7; }
.service-process { padding:64px 0; background:#fff; }
.service-process ol { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; padding:0; margin:36px 0 0; }
.step-number { display:block; color:var(--navy); font-size:.8rem; font-weight:800; margin-bottom:16px; border-bottom:3px solid var(--amber); padding-bottom:12px; }
.service-process h3 { font-size:1.65rem; margin-bottom:14px; letter-spacing:-.035em; }
.service-process li p { margin-bottom:0; font-size:.95rem; }
.service-local { display:grid; grid-template-columns:1fr 1.2fr; gap:70px; padding-top:72px; padding-bottom:56px; }
.service-faq { padding-top:20px; padding-bottom:80px; }
.service-faq details { border-bottom:1px solid var(--line); }
.service-faq summary { cursor:pointer; padding:22px 0; font-weight:700; font-size:1rem; }
.service-faq details p { margin:0 0 24px; max-width:850px; }
.service-contact { padding:72px 0; background:var(--navy); color:#fff; scroll-margin-top:110px; }
.service-contact .service-container { max-width:920px; }
.service-contact h2 { font-size:clamp(2.4rem,4vw,3.8rem); letter-spacing:-.045em; margin-bottom:24px; }
.service-contact p:not(.eyebrow) { color:#e5edf8; max-width:730px; }
.service-contact .contact-actions { margin-top:30px; }
.service-related { padding-top:68px; padding-bottom:72px; }
.service-related > div { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-related a { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:24px; background:#fff; border-bottom:4px solid var(--blue); font-weight:700; text-decoration:none; }
.service-related a:hover { border-color:var(--amber); }
.service-related a span { font-size:1.3rem; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.service-hero a:focus-visible { outline-color:#fff; }
#resanding { scroll-margin-top:110px; }
@media(max-width:800px) {
  .breadcrumbs { padding:16px 24px; display:flex; }
  .service-hero-inner { grid-template-columns:1fr; gap:34px; padding:46px 24px; }
  .service-hero-image { height:340px; box-shadow:10px 10px 0 rgba(0,0,0,.14); }
  .service-body { grid-template-columns:1fr; gap:35px; padding:52px 24px; }
  .service-container { padding-left:24px; padding-right:24px; }
  .service-process { padding:50px 0; }
  .service-process ol, .service-related > div { grid-template-columns:1fr; }
  .service-local { grid-template-columns:1fr; gap:10px; padding-top:52px; padding-bottom:30px; }
  .service-faq { padding-bottom:52px; }
  .service-contact { padding:52px 0; }
  .service-related { padding-top:52px; padding-bottom:52px; }
  .service-scope { padding:26px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.site-header { background:#fff; border-bottom:0; box-shadow:0 3px 18px rgba(6,31,70,.09); }
.site-header::after { content:""; position:absolute; bottom:0; left:0; right:0; height:4px; background:linear-gradient(110deg,var(--blue) 0 73%,var(--amber) 73% 100%); pointer-events:none; }
.site-header .header-inner { min-height:98px; max-width:1240px; gap:28px; padding:0 28px; }
.site-header .brand { gap:13px; position:relative; isolation:isolate; align-self:stretch; padding:18px 0; }
.site-header .brand::before { content:""; position:absolute; inset:0 -60px 0 -50vw; z-index:-1; background:var(--navy); clip-path:polygon(0 0,100% 0,calc(100% - 34px) 100%,0 100%); pointer-events:none; }
.site-header .brand img { width:57px; height:57px; border-radius:7px; }
.site-header .brand-name strong { font-family:"Segoe UI Variable Display","Segoe UI",system-ui,sans-serif; font-size:1.8rem; font-weight:800; letter-spacing:-.045em; line-height:1; color:#fff; }
.site-header .brand-name small { font-size:.56rem; letter-spacing:.12em; }
.site-header #site-nav { align-items:center; gap:4px; }
.site-header #site-nav a { position:relative; padding:12px 11px; font-size:.78rem; letter-spacing:0; text-transform:none; white-space:nowrap; border-radius:4px; transition:color .18s ease; }
.site-header #site-nav a::after { content:""; position:absolute; left:11px; right:11px; bottom:5px; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .18s ease; }
.site-header #site-nav a:hover,.site-header #site-nav a:focus-visible { color:var(--navy); }
.site-header #site-nav a:hover::after,.site-header #site-nav a:focus-visible::after { transform:scaleX(1); }
.site-header #site-nav a:last-child { padding:14px 18px; margin-left:7px; background:var(--amber); color:var(--ink); box-shadow:0 3px 8px rgba(245,165,16,.16); transition:background .18s ease,transform .18s ease,box-shadow .18s ease; }
.site-header #site-nav a:last-child::after { display:none; }
.site-header #site-nav a:last-child:hover { background:#ffc544; transform:translateY(-2px); box-shadow:0 5px 12px rgba(245,165,16,.22); }
.site-header .header-phone { position:relative; border:1px solid #dbe7f1; border-radius:5px; background:#f2f7fb; padding:12px 14px 12px 46px; font-size:.95rem; white-space:nowrap; transition:background .18s ease,border-color .18s ease; }
.site-header .header-phone::before { content:""; position:absolute; left:14px; top:50%; width:20px; height:20px; transform:translateY(-50%); background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23092f66' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8 10a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.site-header .header-phone:hover { background:#e6f3fc; border-color:#9bcced; }
.site-header .header-phone span { font-size:.58rem; letter-spacing:.1em; margin-bottom:6px; }
.site-header a:focus-visible,.site-header button:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.launch-banner { margin:0; padding:12px 24px; background:#edf5fb; color:var(--navy); font-size:.82rem; display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; border-bottom:1px solid #d5e5f2; }
.launch-date { padding:5px 10px; background:var(--navy); color:#fff; font-size:.7rem; font-weight:800; letter-spacing:.035em; border-left:3px solid var(--amber); }
.launch-banner a { font-weight:700; text-decoration:none; white-space:nowrap; }
.launch-banner a:hover { text-decoration:underline; text-underline-offset:3px; }
.about-panel,.inspiration-panel { max-width:1200px; margin:auto; padding:80px 28px; }
.about-layout,.inspiration-layout { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:72px; }
.about-panel h2,.inspiration-panel h2 { font-size:clamp(2.5rem,4.2vw,4.35rem); letter-spacing:-.055em; margin-bottom:24px; }
.about-copy > p:not(.eyebrow),.inspiration-copy > p:not(.eyebrow) { color:var(--muted); font-size:1.04rem; }
.about-card { padding:38px; background:var(--navy); color:#fff; border-top:5px solid var(--amber); }
.about-card img { width:72px; height:72px; margin-bottom:24px; }
.about-card h3 { font-size:2.4rem; margin-bottom:12px; }
.about-card p { color:#dce7f6; margin-bottom:0; }
.about-card .about-signoff { margin-top:26px; font-weight:700; color:#fff; }
.about-copy .about-owner-quote { margin:26px 0; padding:26px 28px; border-top-width:3px; }
.about-owner-quote h3 { font-size:1.75rem; line-height:1.2; margin:0 0 16px; }
.about-owner-quote blockquote { margin:0; }
.about-owner-quote blockquote p { font-size:1rem; line-height:1.7; }
.about-owner-quote .about-signoff { margin-top:18px; font-size:.9rem; }
.about-portrait { width:100%; max-width:430px; margin:0 auto; background:var(--navy); border-top:5px solid var(--amber); box-shadow:0 16px 38px rgba(9,47,102,.13); overflow:hidden; }
.about-portrait picture,.about-portrait img { display:block; width:100%; }
.about-portrait img { height:auto; }
.about-portrait figcaption { padding:20px 24px; color:#fff; }
.about-portrait figcaption strong { display:block; font-size:1.25rem; margin-bottom:4px; }
.about-portrait figcaption span { display:block; font-size:.82rem; color:#dce7f6; line-height:1.5; }
.inspiration-panel { border-top:1px solid var(--line); }
.inspiration-panel figure { margin:0; min-width:0; }
.inspiration-panel figure img { width:100%; height:auto; display:block; border-top:5px solid var(--blue); }
.inspiration-panel figcaption { font-size:.8rem; color:var(--muted); margin-top:13px; }
.quote .quote-inner { max-width:1050px; }
.quote .contact-actions { margin-top:28px; }
.quote-form { margin:34px auto 0; padding:34px; background:#fff; border-top:5px solid var(--amber); text-align:left; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.quote-form label,.quote-form legend { display:block; font-size:.91rem; font-weight:700; margin-bottom:7px; }
.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea { display:block; width:100%; padding:13px 12px; border:1px solid #aab8c8; border-radius:2px; background:#fff; color:var(--ink); font:inherit; font-size:1rem; }
.quote-form textarea { resize:vertical; min-height:104px; }
.quote-form input:focus-visible,.quote-form select:focus-visible,.quote-form textarea:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.quote-form fieldset { border:0; padding:0; margin:25px 0; min-width:0; }
.quote-form .service-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.quote-form .service-choice { display:flex; align-items:center; gap:10px; padding:12px; margin:0; background:var(--cream); cursor:pointer; font-size:.86rem; }
.service-choice input { flex:none; width:18px; height:18px; accent-color:var(--navy); }
.form-hint,.form-privacy,.photo-followup { font-size:.83rem; color:var(--muted); line-height:1.6; }
.form-hint { margin:0 0 13px; }
.form-privacy { margin:22px 0 16px; }
.form-privacy a,.photo-followup a { color:var(--navy); text-underline-offset:3px; }
.photo-followup { margin:18px 0 0; }
.quote-form button { cursor:pointer; }
.quote-form button:disabled { opacity:.65; cursor:wait; }
.form-status { padding:14px; background:#edf7fc; color:var(--navy); font-size:.91rem; margin:18px 0 0; }
.form-status:empty { display:none; }
.form-status[data-state=error] { background:#fff0ec; color:#832616; }
.form-trap { display:none; }
.form-preview-note { background:#fff6df; padding:10px 13px; color:#5b4107; font-size:.83rem; }
.form-preview-note[hidden] { display:none; }
#quote-form,#about,#inspiration { scroll-margin-top:110px; }
.online-quote-link { margin:18px 0 4px; }
.service-contact .button-amber { color:var(--ink); }
.footer-details { max-width:1200px; margin:auto; padding:0 28px 28px; color:#c8d4e4; font-size:.78rem; display:flex; flex-wrap:wrap; align-items:center; gap:12px 26px; }
.footer-details p { margin:0; }
.footer-details a { color:#fff; text-underline-offset:3px; }
.footer-details .footer-links { display:flex; gap:20px; flex-wrap:wrap; }
.mobile-contact { display:none; }
.privacy-content { max-width:880px; margin:auto; padding:65px 28px 80px; }
.privacy-content h1 { font-size:clamp(2.7rem,5vw,4.4rem); }
.privacy-content h2 { font-size:1.9rem; margin:35px 0 16px; }
.privacy-content p,.privacy-content li { color:var(--muted); line-height:1.75; }
.privacy-content a { color:var(--navy); text-underline-offset:3px; }
.map-panel .map-label { pointer-events:none; }
.service-card:not(.featured) .card-number { color:#006797; }
.service-hero-media { display:block; min-width:0; width:100%; }
.footer-services { max-width:1200px; margin:auto; padding:0 28px 28px; display:flex; flex-wrap:wrap; gap:12px 24px; font-size:.8rem; }
.footer-services a { color:#fff; text-underline-offset:3px; }
@media(max-width:1080px) { .site-header .header-phone { display:none; } }
@media(max-width:960px) {
  .site-header .header-inner { min-height:82px; padding:0 24px; }
  .site-header .brand { padding:12px 0; }
  .site-header .brand::before { right:-48px; }
  .site-header .menu-toggle { display:flex; margin-left:auto; width:44px; height:44px; flex-direction:column; justify-content:center; gap:5px; padding:11px; border:1px solid #d7e3ef; border-radius:5px; background:#edf5fb; cursor:pointer; }
  .site-header .menu-toggle span:not(.visually-hidden) { display:block; width:100%; height:2px; background:var(--navy); }
  .site-header #site-nav { display:none; position:absolute; left:0; right:0; top:100%; margin:0; padding:16px 24px; background:#fff; border-bottom:3px solid var(--blue); flex-direction:column; align-items:stretch; gap:5px; }
  .site-header #site-nav.open { display:flex; }
  .site-header #site-nav a { padding:13px; font-size:.95rem; }
  .site-header #site-nav a:last-child { margin:5px 0 0; text-align:center; }
}
@media(max-width:800px) {
  html { scroll-padding-bottom:85px; }
  .site-header .header-inner { gap:10px; padding:0 20px; }
  .site-header .brand { padding:16px 0; }
  .site-header .brand::before { right:-34px; clip-path:polygon(0 0,100% 0,calc(100% - 24px) 100%,0 100%); }
  .site-header .brand img { width:46px; height:46px; }
  .site-header .brand-name strong { font-size:1.55rem; }
  .site-header .brand-name small { font-size:.49rem; letter-spacing:.08em; }
  .launch-banner { font-size:.77rem; padding:12px 20px; gap:8px 12px; }
  .launch-banner > span:nth-child(2) { display:none; }
  .about-panel,.inspiration-panel { padding:52px 24px; }
  .about-layout,.inspiration-layout { grid-template-columns:1fr; gap:30px; }
  .about-card { padding:28px; }
  .quote-form { padding:24px 18px; }
  .form-grid { grid-template-columns:1fr; gap:18px; }
  .footer-details { padding:0 24px 28px; }
  body { padding-bottom:calc(75px + env(safe-area-inset-bottom,0px)); }
  .mobile-contact { position:fixed; display:grid; grid-template-columns:1fr 1.5fr; gap:10px; bottom:0; left:0; right:0; z-index:30; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); background:#fff; border-top:1px solid var(--line); box-shadow:0 -3px 14px rgba(9,47,102,.1); }
  .mobile-contact a { text-align:center; padding:13px 12px; text-decoration:none; font-size:.83rem; font-weight:800; background:var(--navy); color:#fff; }
  .mobile-contact a:last-child { background:var(--amber); color:var(--ink); }
  .mobile-contact:has(a:focus-visible) { outline:2px solid var(--blue); outline-offset:-2px; }
  body:has(.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus) .mobile-contact { display:none; }
  .privacy-content { padding:45px 24px 55px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header #site-nav a,.site-header #site-nav a::after,.site-header .header-phone { transition:none; }
  .site-header #site-nav a:last-child:hover { transform:none; }
}
@media(max-width:380px) {
  .site-header .brand { gap:9px; }
  .site-header .brand-name strong { font-size:1.4rem; }
  .site-header .brand-name small { font-size:.44rem; }
  .site-header .brand img { width:42px; height:42px; }
  .site-header .menu-toggle { flex:none; }
  .quote-form .service-choices { grid-template-columns:1fr; }
  .service-heading h1 { font-size:2.5rem; overflow-wrap:anywhere; }
  .service-contact .button-amber { max-width:100%; font-size:.72rem; letter-spacing:.025em; }
}
