:root{--ink:#17212b;--muted:#586673;--paper:#f7f6f2;--white:#fff;--navy:#15324a;--blue:#1d5d7b;--gold:#d8a13b;--line:#d9e0e4;--soft:#eaf1f4;--ok:#e8f4ed;--warn:#fff4dd;--radius:18px;--shadow:0 16px 40px rgba(21,50,74,.10);--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--blue)}a:hover{text-decoration-thickness:2px}.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:.75rem;z-index:999}.skip:focus{left:.75rem;top:.75rem}.wrap{width:min(calc(100% - 2rem),var(--max));margin:auto}.site-header{background:var(--navy);color:#fff;position:relative;z-index:10}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px}.brand{font-weight:800;color:#fff;text-decoration:none;line-height:1.1;font-size:1.05rem}.brand span{display:block;font-size:.76rem;font-weight:600;color:#cbd9e2;margin-top:.18rem}.nav-toggle{border:1px solid #6f8798;background:transparent;color:#fff;border-radius:9px;padding:.55rem .75rem;font-weight:700}.nav{display:none;padding:0 0 1rem}.nav.open{display:block}.nav a{display:block;color:#fff;text-decoration:none;padding:.65rem 0;font-weight:700}.header-cta{color:#fff;font-weight:800;text-decoration:none;white-space:nowrap}.hero{background:linear-gradient(135deg,#eef4f6 0%,#fff 62%);padding:3.2rem 0}.hero-grid,.two-col,.cards-3,.cards-2,.size-grid,.footer-grid{display:grid;gap:1.25rem}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;font-weight:800;color:var(--blue)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.12;margin:.25em 0 .55em;color:var(--navy)}h1{font-size:clamp(2.25rem,7vw,4.8rem);letter-spacing:-.035em}h2{font-size:clamp(1.75rem,4.5vw,3rem)}h3{font-size:1.35rem}.lead{font-size:1.12rem;color:#344653;max-width:65ch}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.35rem 0}.btn{display:inline-block;border:2px solid var(--navy);border-radius:10px;padding:.8rem 1rem;font-weight:800;text-decoration:none;background:var(--navy);color:#fff;cursor:pointer}.btn.alt{background:#fff;color:var(--navy)}.btn:focus,.nav-toggle:focus,input:focus,select:focus,textarea:focus{outline:3px solid var(--gold);outline-offset:2px}.hero-media{background:#dfe9ed;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);align-self:center}.hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover}.caption{font-size:.78rem;color:var(--muted);padding:.65rem .85rem;background:#fff}.trust{background:var(--navy);color:#fff}.trust .wrap{display:grid;grid-template-columns:1fr;gap:.2rem;padding:1rem}.trust strong{display:block}.section{padding:3.5rem 0}.section.soft{background:var(--paper)}.card,.size-card,.quote-card,.calc-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1.25rem;box-shadow:0 8px 22px rgba(21,50,74,.05)}.card p:last-child,.size-card p:last-child{margin-bottom:0}.icon-number{width:2.2rem;height:2.2rem;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-weight:900;color:var(--blue)}.size-card .capacity{font-size:1.8rem;font-weight:900;color:var(--navy);line-height:1}.size-card .price{font-weight:800;color:var(--blue)}.notice{border-left:5px solid var(--gold);background:var(--warn);padding:1rem 1.1rem;border-radius:8px}.good{border-left-color:#4f8c68;background:var(--ok)}.photo-row{border-radius:var(--radius);overflow:hidden}.photo-row img{width:100%;max-height:440px;object-fit:cover}.quote-section{background:#eaf1f4}.quote-card{max-width:850px;margin:auto}.form-grid{display:grid;gap:1rem}.field label{display:block;font-weight:800;margin-bottom:.3rem}.field input,.field select,.field textarea{width:100%;border:1px solid #aab7c0;border-radius:9px;padding:.75rem;font:inherit;background:#fff}.field textarea{min-height:110px;resize:vertical}.field small{color:var(--muted)}.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status,.calc-status{margin-top:1rem;padding:.85rem;border-radius:9px}.form-status:empty,.calc-status:empty{display:none}.form-status.success,.calc-status.success{background:var(--ok)}.form-status.error,.calc-status.error{background:#fde9e7}.turnstile-placeholder{border:1px dashed #8fa0ab;padding:.85rem;border-radius:9px;background:#f8fafb;color:var(--muted);font-size:.9rem}.calc-grid{display:grid;gap:1rem}.result{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.result strong.big{font-size:1.45rem;color:var(--navy)}.faq details{border-top:1px solid var(--line);padding:1rem 0}.faq summary{font-weight:800;cursor:pointer;color:var(--navy)}.breadcrumbs{font-size:.85rem;padding:1rem 0;color:var(--muted)}.site-footer{background:#102637;color:#dbe6ec;padding:2.5rem 0}.site-footer a{color:#fff}.site-footer h2,.site-footer h3{color:#fff}.footer-nav{display:grid;gap:.4rem}.fine{font-size:.8rem;color:#aebfca}main .fine{color:var(--muted)}.pill{display:inline-block;background:var(--soft);color:var(--navy);border-radius:999px;padding:.28rem .65rem;font-weight:800;font-size:.82rem}.checklist{padding-left:1.2rem}.checklist li{margin:.45rem 0}.material-grid{columns:1}.material-grid li{break-inside:avoid;margin:.5rem 0}.service-list{display:flex;flex-wrap:wrap;gap:.6rem;padding:0;list-style:none}.service-list li{background:var(--soft);border-radius:999px;padding:.45rem .75rem;font-weight:800}.callout{font-size:1.1rem;font-weight:800}.hidden{display:none!important}@media(max-width:759px){.topbar{flex-wrap:wrap}.brand{flex:1}.nav{order:1;flex-basis:100%}}@media(min-width:760px){.nav-toggle{display:none}.topbar{min-height:82px}.nav{display:flex!important;align-items:center;gap:1.1rem;padding:0}.nav a{padding:1.8rem 0;font-size:.88rem}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:center}.two-col{grid-template-columns:1fr 1fr;align-items:start}.cards-3,.size-grid{grid-template-columns:repeat(3,1fr)}.cards-2{grid-template-columns:repeat(2,1fr)}.trust .wrap{grid-template-columns:repeat(3,1fr);gap:1.5rem}.form-grid{grid-template-columns:1fr 1fr}.field.full{grid-column:1/-1}.calc-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.2fr .8fr .8fr}.material-grid{columns:2}.section{padding:5rem 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Quick homepage calculator; shared calculation and quote handoff. */
.calculator-hero{padding:2.5rem 0}
.calculator-hero .hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);grid-template-areas:"intro scene" "contact scene";grid-template-rows:auto 1fr;gap:0 2.5rem;align-items:start}
.hero-scene{grid-area:scene;min-width:0;background:var(--soft);border-radius:var(--radius);overflow:hidden;padding-bottom:1rem}
.hero-intro{grid-area:intro;padding-top:1rem}
.calculator-hero h1{font-size:clamp(2.2rem,3.6vw,3.2rem)}
.calculator-hero .lead{font-size:1.05rem;max-width:42ch}
.calculator-hero .hero-media{grid-area:photo;margin:0;align-self:start;border-radius:var(--radius) var(--radius) 0 0;box-shadow:none}
.calculator-hero .hero-media img{height:330px;aspect-ratio:auto;object-position:center 50%}
.hero-contact{grid-area:contact}
.hero-contact .actions{margin:1rem 0 0}
.hero-calculator{grid-area:calculator;position:relative;justify-self:end;width:calc(100% - 2rem);margin:-24px 1rem 0 auto;padding:1rem;box-shadow:0 6px 18px #15324a14;border:1px solid var(--gold)}
.hero-calculator h2{font:800 .85rem/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .8rem}
.hero-calculator .calc-grid{grid-template-columns:1fr 1fr;gap:.75rem}
.hero-calculator .field label{font-size:.85rem}
.hero-calculator .field input,.hero-calculator .field select{padding:.5rem .65rem;min-height:44px;font-size:16px}
.hero-calculator .field small{font-size:.75rem}
.hero-calculator button{width:100%;margin-top:.85rem;font-size:.95rem;min-height:46px;padding:.6rem}
.hero-calc-note{font-size:.75rem;line-height:1.5;color:var(--muted);margin:.7rem 0 0}
.hero-calculator .calc-status{font-size:.85rem;line-height:1.5;padding:.8rem;margin-top:.8rem}
.hero-calculator .calc-status .big{font-size:1.2rem;color:var(--navy)}
.hero-result-details{display:flex;flex-wrap:wrap;gap:.1rem 1rem;margin:.2rem 0 0;font-size:.82rem}
.hero-calculator .calc-status a[href="#quote"]{display:block;background:var(--navy);color:#fff;border-radius:8px;padding:.65rem;margin-top:.65rem;text-align:center;font-weight:800;text-decoration:none}
@media(max-width:759px){
 .calculator-hero{padding:1.1rem 0 1.5rem}
 .calculator-hero .hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "photo" "calculator" "contact";gap:1rem}
 .hero-scene{display:contents}
 .hero-calculator .calc-grid{grid-template-columns:1fr}
 .calculator-hero .hero-media{border-radius:var(--radius)}
 .hero-intro{padding:0}
 .calculator-hero .eyebrow{font-size:.7rem;letter-spacing:.06em;margin:0 0 .5rem}
 .calculator-hero h1{font-size:2rem;margin:0 0 .6rem}
 .calculator-hero .lead{font-size:.95rem;line-height:1.5;margin:0}
 .hero-calculator{width:100%;margin:0;padding:1rem}
 .calculator-hero .hero-media img{height:180px;object-position:center 50%}
 .hero-contact .actions{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
 .hero-contact .btn{font-size:.8rem;text-align:center;padding:.7rem .4rem}
}
