:root{--surface: #F5F7FA;--surface-alt: #ECEFF4;--surface-card: #FFFFFF;--ink: #14223F;--ink-2: #2A3A5C;--muted: #515C70;--border: #D7DCE5;--border-strong:#C2C9D6;--gold: #C39A3E;--gold-bright: #D8B45A;--gold-deep: #8A6716;--navy: #14223F;--navy-deep: #0F1A30;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-6: 24px;--s-8: 32px;--s-12: 48px;--s-16: 64px;--s-24: 96px;--s-32: 128px;--radius: 12px;--radius-sm: 8px;--maxw: 1200px;--measure: 65ch;--header-h: 84px;--shadow-sm: 0 1px 2px rgba(20,34,63,.06), 0 2px 8px rgba(20,34,63,.05);--shadow-md: 0 8px 24px rgba(20,34,63,.1), 0 2px 6px rgba(20,34,63,.06);--shadow-lg: 0 18px 50px rgba(20,34,63,.16), 0 6px 16px rgba(20,34,63,.08);--ease: cubic-bezier(.22,.61,.36,1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface);color:var(--ink);font-family:Open Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:Montserrat,system-ui,sans-serif;color:var(--ink);margin:0;letter-spacing:-.01em}:focus-visible{outline:3px solid var(--gold-deep);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;left:var(--s-4);top:-60px;background:var(--navy);color:#fff;padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm);z-index:200;transition:top .2s var(--ease);font-weight:600}.skip-link:focus{top:var(--s-4)}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,40px)}.section{padding-block:clamp(64px,9vw,128px)}.section--alt{background:var(--surface-alt)}.section-head{max-width:60ch;margin-inline:auto;text-align:center;margin-bottom:var(--s-12)}.section-head--left{margin-inline:0;text-align:left;margin-bottom:var(--s-8)}.eyebrow{display:inline-flex;align-items:center;gap:var(--s-2);font-family:Montserrat,sans-serif;font-weight:700;font-size:.8125rem;line-height:1.23;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 var(--s-4)}.eyebrow .ic{width:16px;height:16px}.eyebrow--light{color:var(--gold-bright)}.section-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.13;margin-bottom:var(--s-4)}.section-lede{color:var(--muted);font-size:1.125rem;line-height:1.5556;max-width:var(--measure);margin:0 auto}.section-head--left .section-lede{margin-inline:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:48px;padding:var(--s-3) var(--s-6);border-radius:var(--radius-sm);font-family:Montserrat,sans-serif;font-weight:700;font-size:1rem;line-height:1.5;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease);white-space:nowrap}.btn .ic{width:20px;height:20px;transition:transform .18s var(--ease)}.btn:hover{transform:translateY(-2px)}.btn:hover .ic{transform:translate(3px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--gold);color:var(--navy);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:#b88e30;box-shadow:var(--shadow-md)}.btn-secondary{background:var(--navy);color:#fff}.btn-secondary:hover{background:var(--navy-deep);box-shadow:var(--shadow-md)}.btn-ghost{background:#ffffff0f;color:#fff;border-color:#ffffff8c;backdrop-filter:blur(2px)}.btn-ghost:hover{background:#ffffff29;border-color:#fff}.btn-ghost .ic,.btn-ghost:hover .ic{transform:none}.btn-block{width:100%}.site-header{position:sticky;top:0;z-index:100;background:#f5f7fadb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:box-shadow .25s var(--ease),background-color .25s var(--ease)}.site-header.scrolled{box-shadow:var(--shadow-sm);background:#f5f7faf2}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:var(--header-h)}.brand{display:inline-flex;align-items:center;gap:var(--s-3);text-decoration:none;flex-shrink:0}.brand-logo{height:56px;width:auto;display:block}.brand--footer{background:var(--surface);padding:var(--s-4) var(--s-6);border-radius:var(--radius)}.brand--footer .brand-logo{height:76px}.brand-mark{width:40px;height:40px;flex-shrink:0}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:Montserrat,sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:-.02em;color:var(--ink)}.brand-gold{color:var(--gold-deep)}.brand-tag{font-family:Montserrat,sans-serif;font-weight:600;font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:5px}.nav{display:flex;align-items:center;gap:var(--s-2);margin-left:auto}.nav>a{text-decoration:none;color:var(--ink-2);font-family:Montserrat,sans-serif;font-weight:600;font-size:.9375rem;padding:10px var(--s-3);min-height:44px;display:inline-flex;align-items:center;border-radius:var(--radius-sm);transition:color .15s var(--ease),background-color .15s var(--ease)}.nav>a:hover{color:var(--ink);background:#14223f0d}.nav-cta{background:var(--gold);color:var(--navy)!important;gap:var(--s-2);margin-left:var(--s-2)}.nav-cta:hover{background:#b88e30!important}.nav-cta .ic{width:18px;height:18px}.header-phone{display:none;align-items:center;gap:var(--s-2);text-decoration:none;font-family:Montserrat,sans-serif;font-weight:700;color:var(--ink);min-height:44px;padding-inline:var(--s-2)}.header-phone .ic{width:18px;height:18px;color:var(--gold-deep)}.header-phone:hover{color:var(--gold-deep)}.nav-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;flex-shrink:0}.nav-toggle .ic-menu,.nav-toggle .ic-close{width:24px;height:24px}.nav-toggle .ic-close,.nav-toggle[aria-expanded=true] .ic-menu{display:none}.nav-toggle[aria-expanded=true] .ic-close{display:block}.hero{position:relative;min-height:clamp(580px,88vh,840px);display:flex;align-items:center;overflow:hidden;isolation:isolate}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:-2}.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,#0f1a30eb,#0f1a30a8 42%,#0f1a302e 78%,#0f1a300d),linear-gradient(0deg,#0f1a308c,#0f1a3000 40%)}.hero-inner{padding-block:clamp(64px,12vh,120px)}.hero-inner>*{max-width:680px}.hero-title{color:#fff;font-size:clamp(3rem,9vw,5.5rem);font-weight:800;line-height:1.04;letter-spacing:-.025em;margin-bottom:var(--s-6);text-shadow:0 2px 30px rgba(0,0,0,.25)}.hero-accent{color:var(--gold-bright)}.hero-sub{color:#ffffffeb;font-size:clamp(1.0625rem,2.2vw,1.3125rem);line-height:1.5;max-width:56ch;margin:0 0 var(--s-8)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s-4);margin-bottom:var(--s-8)}.hero-points{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);list-style:none;margin:0;padding:0}.hero-points li{display:inline-flex;align-items:center;gap:var(--s-2);color:#fff;font-weight:600;font-size:.9375rem}.hero-points .ic{width:20px;height:20px;color:var(--gold-bright);background:#d8b45a24;border-radius:999px;padding:3px}.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6)}.reason-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s-8) var(--s-6);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.reason-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.reason-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-sm);background:#c39a3e1f;color:var(--gold-deep);margin-bottom:var(--s-6)}.reason-icon svg{width:30px;height:30px}.reason-title{font-size:1.1875rem;font-weight:700;line-height:1.26;margin-bottom:var(--s-3)}.reason-body{color:var(--muted);margin:0;font-size:.9375rem;line-height:1.5715}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}.service-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.service-media{aspect-ratio:16 / 11;overflow:hidden}.service-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.service-card:hover .service-media img{transform:scale(1.05)}.service-body{padding:var(--s-6)}.service-title{font-size:1.25rem;font-weight:700;line-height:1.2;margin-bottom:var(--s-2)}.service-text{color:var(--muted);margin:0;font-size:.9375rem;line-height:1.5715}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}.split-media{position:relative}.split-media img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-lg);aspect-ratio:3 / 2;object-fit:cover}.split--reverse .split-media{order:2}.media-badge{position:absolute;left:var(--s-6);bottom:var(--s-6);display:inline-flex;align-items:center;gap:var(--s-2);background:var(--navy);color:#fff;padding:var(--s-3) var(--s-4);border-radius:999px;font-family:Montserrat,sans-serif;font-weight:700;font-size:.875rem;box-shadow:var(--shadow-md)}.media-badge .ic{width:18px;height:18px;color:var(--gold-bright)}.steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-6)}.step{display:grid;grid-template-columns:auto 1fr;gap:var(--s-4);align-items:start}.step-num{font-family:Montserrat,sans-serif;font-weight:800;font-size:1rem;color:var(--navy);background:var(--surface-card);border:2px solid var(--gold);width:48px;height:48px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.section--alt .step-num{background:var(--surface-alt)}.step-title{font-size:1.125rem;font-weight:700;line-height:1.26;margin-bottom:var(--s-1)}.step-body{color:var(--muted);margin:0;font-size:.9375rem;line-height:1.5715}.check-list{list-style:none;margin:0 0 var(--s-8);padding:0;display:grid;gap:var(--s-4)}.check-list li{display:grid;grid-template-columns:auto 1fr;gap:var(--s-3);align-items:start;font-size:1rem;line-height:1.5;color:var(--ink-2)}.check-list .ic{width:24px;height:24px;color:var(--gold-deep);background:#c39a3e24;border-radius:999px;padding:3px;flex-shrink:0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4)}.gallery-item{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:4 / 3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.gallery-item:hover img{transform:scale(1.06)}.gallery-item figcaption{position:absolute;inset:auto 0 0;padding:var(--s-8) var(--s-4) var(--s-3);background:linear-gradient(0deg,#0f1a30d9,#0f1a3000);color:#fff;font-family:Montserrat,sans-serif;font-weight:600;font-size:.8125rem;letter-spacing:.01em}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}.review-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s-8);box-shadow:var(--shadow-sm);margin:0;display:flex;flex-direction:column;gap:var(--s-4)}.stars{display:inline-flex;gap:3px;color:var(--gold)}.stars svg{width:20px;height:20px}.review-card blockquote{margin:0;font-size:1.0625rem;line-height:1.6471;color:var(--ink-2)}.review-card figcaption{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding-top:var(--s-2)}.review-name{font-family:Montserrat,sans-serif;font-weight:700;color:var(--ink)}.review-place{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.875rem}.review-place .ic{width:15px;height:15px;color:var(--gold-deep)}.cta-band{background:radial-gradient(120% 140% at 85% 0%,rgba(195,154,62,.2),transparent 55%),var(--navy);color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-12);padding-block:clamp(56px,8vw,96px);flex-wrap:wrap}.cta-title{color:#fff;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.1;margin-bottom:var(--s-3)}.cta-sub{color:#ffffffd9;margin:0;max-width:48ch;font-size:1.0625rem;line-height:1.5}.cta-actions{display:flex;flex-direction:column;gap:var(--s-3);flex-shrink:0}.quote-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,88px);align-items:start}.contact-list{list-style:none;margin:var(--s-8) 0 0;padding:0;display:grid;gap:var(--s-6)}.contact-list li{display:grid;grid-template-columns:auto 1fr;gap:var(--s-4);align-items:center}.contact-ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-sm);background:#c39a3e1f;color:var(--gold-deep);flex-shrink:0}.contact-ic .ic{width:24px;height:24px}.contact-label{display:block;font-family:Montserrat,sans-serif;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:2px}.contact-list a{text-decoration:none;font-weight:600;color:var(--ink)}.contact-list a:hover{color:var(--gold-deep)}.quote-form{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(24px,4vw,40px);box-shadow:var(--shadow-md);display:grid;gap:var(--s-4)}.field{display:grid;gap:var(--s-2)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}.quote-form label{font-family:Montserrat,sans-serif;font-weight:600;font-size:.8125rem;color:var(--ink-2);letter-spacing:.01em}.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-height:48px;padding:var(--s-3) var(--s-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:Open Sans,sans-serif;font-size:1rem;line-height:1.5;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.quote-form textarea{resize:vertical;min-height:112px}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#939bab}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c39a3e38}.form-note{color:var(--muted);font-size:.8125rem;margin:0;text-align:center}.form-success{display:flex;align-items:center;gap:var(--s-2);justify-content:center;margin:0;padding:var(--s-3) var(--s-4);background:#c39a3e1f;border:1px solid var(--gold);border-radius:var(--radius-sm);color:var(--gold-deep);font-weight:600}.form-success .ic{width:20px;height:20px}.site-footer{background:var(--navy-deep);color:#ffffffc7}.footer-top{display:grid;grid-template-columns:1.4fr 2fr;gap:clamp(32px,5vw,80px);padding-block:clamp(56px,7vw,88px) var(--s-12)}.brand--footer .brand-name{color:#fff}.brand--footer .brand-gold{color:var(--gold-bright)}.brand--footer .brand-tag{color:#fff9}.footer-blurb{margin:var(--s-6) 0;max-width:42ch;line-height:1.5;font-size:.9375rem}.socials{display:flex;gap:var(--s-3)}.socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.18);color:#fffc;transition:color .15s var(--ease),border-color .15s var(--ease),background-color .15s var(--ease),transform .15s var(--ease)}.socials svg{width:22px;height:22px}.socials a:hover{color:var(--navy);background:var(--gold-bright);border-color:var(--gold-bright);transform:translateY(-2px)}.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-8)}.footer-nav h3{font-family:Montserrat,sans-serif;color:#fff;font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--s-4)}.footer-nav a{display:block;text-decoration:none;color:#ffffffb8;padding:7px 0;font-size:.9375rem;transition:color .15s var(--ease)}.footer-nav a:hover{color:var(--gold-bright)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:var(--s-6)}.footer-bottom p{margin:0;font-size:.8125rem;color:#fff9}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:var(--d, 0ms);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}.load-1,.load-2,.load-3,.load-4,.load-5{opacity:0;transform:translateY(20px);animation:heroIn .8s var(--ease) forwards}.load-1{animation-delay:.1s}.load-2{animation-delay:.22s}.load-3{animation-delay:.36s}.load-4{animation-delay:.5s}.load-5{animation-delay:.62s}@keyframes heroIn{to{opacity:1;transform:none}}@media (max-width: 1024px){.reason-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.review-grid{grid-template-columns:1fr;max-width:640px;margin-inline:auto}.gallery{grid-template-columns:repeat(2,1fr)}.header-phone{display:none}}@media (min-width: 901px){.header-phone{display:inline-flex}}@media (max-width: 900px){.nav{position:fixed;inset:var(--header-h) 0 auto 0;flex-direction:column;align-items:stretch;gap:var(--s-1);background:var(--surface);padding:var(--s-4) clamp(20px,5vw,40px) var(--s-8);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease)}.nav.open{transform:none;opacity:1;pointer-events:auto}.nav>a{min-height:52px;font-size:1.0625rem;padding-inline:var(--s-4)}.nav-cta{justify-content:center;margin-left:0;margin-top:var(--s-2)}.nav-toggle{display:inline-flex}}@media (max-width: 768px){.hero{min-height:auto;max-height:80vh}.hero-img{object-position:78% 50%}.hero-inner{padding-block:clamp(48px,14vh,96px)}.split{grid-template-columns:1fr;gap:var(--s-8)}.split--reverse .split-media{order:0}.cta-inner{flex-direction:column;align-items:flex-start;gap:var(--s-8)}.cta-actions,.cta-actions .btn{width:100%}.quote-grid,.footer-top{grid-template-columns:1fr}.hero-actions{width:100%}.hero-actions .btn{flex:1 1 auto}}@media (max-width: 560px){.reason-grid,.service-grid,.gallery,.field-row{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr 1fr;gap:var(--s-6)}:root{--header-h: 72px}.brand-logo{height:46px}.brand--footer .brand-logo{height:64px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}.reveal,.load-1,.load-2,.load-3,.load-4,.load-5{opacity:1;transform:none}}
