:root{--ink:#102b33;--ink-2:#173c45;--paper:#f3efe6;--white:#fffdf8;--copper:#bd6748;--sand:#d7c6ad;--line:rgba(16,43,51,.18);--muted:#5d6c6e;--max:1240px;--shadow:0 24px 70px rgba(12,35,41,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;font-size:17px;line-height:1.65;overflow-x:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.skip-link{position:fixed;left:16px;top:-80px;background:var(--white);padding:12px 18px;z-index:200}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:100;background:rgba(243,239,230,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrap{height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.brand-mark{width:35px;height:35px;border:2px solid var(--ink);border-radius:50% 50% 50% 8px;position:relative;transform:rotate(-9deg)}.brand-mark:after{content:"";position:absolute;width:8px;height:8px;background:var(--copper);border-radius:50%;right:5px;bottom:5px}.desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.desktop-nav a{text-decoration:none;font-size:.91rem;font-weight:700}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--copper)}.phone-link{font-weight:800;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--ink);background:var(--ink);color:var(--white);text-decoration:none;font-weight:800;transition:.2s ease}.btn:hover{background:var(--copper);border-color:var(--copper);transform:translateY(-2px)}.btn-light{background:var(--white);color:var(--ink);border-color:var(--white)}.btn-outline{background:transparent;color:var(--ink)}.btn-outline:hover{color:var(--white)}.menu-toggle{display:none;margin-left:auto;width:48px;height:48px;border:1px solid var(--line);background:transparent}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:20px;height:2px;background:var(--ink);margin:auto;position:relative}.menu-toggle span:before,.menu-toggle span:after{content:"";position:absolute;left:0}.menu-toggle span:before{top:-7px}.menu-toggle span:after{top:7px}.mobile-panel{display:none;padding:16px 20px 28px;border-top:1px solid var(--line)}.mobile-panel.open{display:grid;gap:6px}.mobile-panel a{padding:12px 0;text-decoration:none;font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800;color:var(--copper)}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}.display{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,7.4vw,7.7rem);font-weight:400;line-height:.93;letter-spacing:-.055em;margin:.25em 0}.display em{color:var(--copper);font-weight:400}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1.05fr .95fr}.hero-copy{padding:clamp(60px,9vw,130px) max(20px,calc((100vw - var(--max))/2));padding-right:clamp(30px,5vw,85px);display:flex;flex-direction:column;justify-content:center}.hero-copy p{max-width:620px;font-size:1.14rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-media{position:relative;min-height:560px;overflow:hidden}.hero-media img{height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,43,51,.12),transparent 35%)}.floating-note{position:absolute;left:28px;bottom:28px;width:min(300px,calc(100% - 56px));background:var(--white);padding:20px;box-shadow:var(--shadow);font-size:.88rem}.section{padding:clamp(72px,10vw,140px) 0}.section-sm{padding:70px 0}.section-dark{background:var(--ink);color:var(--white)}.section-white{background:var(--white)}.section-copper{background:var(--copper);color:var(--white)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3rem,6vw,6rem);margin:.2em 0}h2{font-size:clamp(2.4rem,4.5vw,4.7rem);margin:.2em 0 .45em}h3{font-size:clamp(1.55rem,2.2vw,2.2rem);margin:.35em 0}.lead{font-size:clamp(1.1rem,1.7vw,1.35rem);max-width:760px}.muted{color:var(--muted)}.section-dark .muted{color:#b8c7c8}.intro-grid,.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,8vw,120px);align-items:start}.split.reverse{grid-template-columns:7fr 5fr}.split.align-center{align-items:center}.metric{padding-top:26px;border-top:1px solid var(--line);font-weight:800}.services-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:80px 1fr auto;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none}.service-row span:first-child{color:var(--copper);font-size:.8rem;font-weight:800}.service-row h3{margin:0}.service-row:hover h3{color:var(--copper)}.arrow{width:46px;height:46px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%}.editorial-image{position:relative;overflow:hidden}.editorial-image img{aspect-ratio:4/3;object-fit:cover;transition:transform .8s ease}.editorial-image:hover img{transform:scale(1.025)}.image-tall img{aspect-ratio:4/5}.caption{font-size:.8rem;margin-top:10px;color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);margin-top:54px}.step{background:var(--ink);padding:34px;min-height:270px}.step-num{font-size:.75rem;letter-spacing:.12em;color:var(--sand);font-weight:800}.step h3{margin-top:60px}.quote-band{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}.quote-band blockquote{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,4rem);line-height:1.1}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;justify-content:space-between;gap:20px;text-align:left;padding:24px 0;border:0;background:transparent;color:inherit;font-weight:800}.faq-question span:last-child{font-size:1.5rem;font-weight:400}.faq-answer{display:none;max-width:800px;padding:0 0 25px}.faq-item.open .faq-answer{display:block}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.gallery figure{margin:0}.gallery figure:nth-child(1){grid-column:span 7}.gallery figure:nth-child(2){grid-column:span 5;margin-top:80px}.gallery figure:nth-child(3){grid-column:2/span 5}.gallery figure:nth-child(4){grid-column:span 6}.gallery img{aspect-ratio:4/3;object-fit:cover}.page-hero{padding:clamp(70px,10vw,140px) 0 70px;border-bottom:1px solid var(--line)}.breadcrumbs{font-size:.82rem;color:var(--muted)}.breadcrumbs a{color:inherit}.page-hero-grid{display:grid;grid-template-columns:8fr 4fr;gap:50px;align-items:end}.service-detail{display:grid;grid-template-columns:1fr 2fr;gap:70px}.sticky{position:sticky;top:120px}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{padding:13px 0 13px 28px;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:"↳";position:absolute;left:0;color:var(--copper)}.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,8vw,100px)}.contact-card{background:var(--ink);color:var(--white);padding:clamp(30px,5vw,60px)}.contact-list{margin:40px 0;display:grid;gap:24px}.contact-list small{display:block;color:#aec0c1;text-transform:uppercase;letter-spacing:.1em}.form-card{background:var(--white);padding:clamp(28px,5vw,60px);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.9rem}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#faf8f2;padding:14px 15px;min-height:52px;color:var(--ink);border-radius:0}.field textarea{min-height:160px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(189,103,72,.25);border-color:var(--copper)}.form-note,.form-status{font-size:.83rem}.form-status{padding:14px;border-left:3px solid var(--copper);display:none}.form-status.show{display:block}.legal{max-width:850px}.legal h2{font-size:2rem;margin-top:2em}.legal h3{font-size:1.3rem;margin-top:1.8em}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:14px;border:1px solid var(--line);vertical-align:top}th{background:rgba(16,43,51,.06)}.cta-band{display:flex;justify-content:space-between;gap:40px;align-items:center}.cta-band h2{max-width:750px}.site-footer{background:#0a2026;color:var(--white);padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-links{display:grid;align-content:start;gap:10px}.footer-links a{color:#cfdbda;text-decoration:none}.footer-links a:hover{color:var(--white)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:45px;margin-top:45px;border-top:1px solid rgba(255,255,255,.14);font-size:.8rem;color:#a9baba}.email-slot[hidden]{display:none!important}.cookie-banner{position:fixed;z-index:180;right:24px;bottom:24px;width:min(520px,calc(100% - 48px));background:var(--white);box-shadow:var(--shadow);padding:26px;border:1px solid var(--line)}.cookie-banner h2{font-size:1.55rem}.cookie-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.cookie-actions .btn{font-size:.82rem;padding:10px 14px}.cookie-modal{position:fixed;z-index:190;inset:0;background:rgba(7,25,29,.72);display:none;place-items:center;padding:20px}.cookie-modal.open{display:grid}.modal-card{width:min(650px,100%);max-height:90vh;overflow:auto;background:var(--white);padding:32px}.setting{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.setting input{width:24px;height:24px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.not-found{text-align:center;padding:15vh 20px}.not-found .display{font-size:clamp(6rem,17vw,14rem);color:var(--copper)}
@media(max-width:1000px){.desktop-nav,.header-phone,.header-cta{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr}.hero-media{min-height:440px}.intro-grid,.split,.split.reverse,.page-hero-grid,.service-detail,.contact-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.sticky{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.quote-band{grid-template-columns:1fr}.gallery figure:nth-child(n){grid-column:span 6;margin-top:0}}
@media(max-width:650px){body{font-size:16px}.container{width:min(calc(100% - 28px),var(--max))}.nav-wrap{height:72px}.brand{font-size:.9rem}.hero{min-height:0}.hero-copy{padding:70px 20px}.hero-media{min-height:360px}.display{font-size:3.4rem}.section{padding:75px 0}.process-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.service-row{grid-template-columns:44px 1fr}.service-row .arrow{display:none}.gallery figure:nth-child(n){grid-column:1/-1}.cta-band,.footer-bottom{align-items:flex-start;flex-direction:column}.contact-card,.form-card{padding:28px 22px}.cookie-banner{right:12px;bottom:12px;width:calc(100% - 24px);padding:20px}.cookie-actions{display:grid}.cookie-actions .btn{width:100%}.page-hero{padding-top:55px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
html{overflow-x:hidden}body{max-width:100%}.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.hero>*,.split>*,.contact-grid>*,.page-hero-grid>*{min-width:0}.check-list li:before{content:">"}
@media(max-width:1000px){.hero{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.container{width:calc(100% - 28px);max-width:var(--max);min-width:0}.brand{min-width:0}.brand span:last-child{overflow:hidden;text-overflow:ellipsis}.menu-toggle{flex:0 0 48px}.hero{width:100%}.hero-copy{max-width:100%;overflow:hidden}.hero-copy p,.display{overflow-wrap:anywhere}.display{font-size:clamp(2.75rem,13vw,3.15rem)}.cookie-banner{left:12px;right:12px;width:auto;max-width:none;overflow:hidden}}
