@import url('https://fonts.googleapis.com/css2?family=Bitter:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700;800&display=swap');
.site-header .header-nav a[aria-current="page"],.site-header .mobile-menu nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold-dark);text-decoration-thickness:2px;text-underline-offset:.35em}
@media(max-width:760px){.site-header .mobile-menu nav{top:100%;max-height:calc(100dvh - 70px);overflow-y:auto;z-index:1}.site-header .mobile-menu nav a[aria-current="page"]{background:var(--wash)}.site-header .menu-toggle{position:relative;z-index:2;min-height:44px;font:inherit;font-weight:700;cursor:pointer}}
@media(min-width:981px) and (max-width:1100px){.site-header .header-inner{gap:1rem}.site-header .header-nav{gap:.65rem}.site-header .header-nav a{font-size:.8rem}.site-header .header-nav+.header-actions{margin-left:0}.site-header .header-actions .button{white-space:nowrap;padding-inline:.8rem}}
@media(min-width:981px){.site-header .brand,.site-footer .footer-brand{max-width:none;white-space:nowrap;flex-shrink:0}}
.site-footer .footer-brand .brand-mark{color:var(--gold);align-self:center}
.areas-list.areas-list-static li:before{content:"•"}
.privacy-contact{background:#edf1ed;scroll-margin-top:1rem}.privacy-contact-card{background:#fff;border:1px solid var(--line);padding:clamp(1.25rem,3vw,2.5rem)}.privacy-message-form{display:grid;gap:1rem}.privacy-message-form .field{display:grid;gap:.4rem}.privacy-message-form input,.privacy-message-form select,.privacy-message-form textarea{width:100%;max-width:100%;border:1px solid var(--line);border-radius:2px;padding:.8rem;font:inherit;background:#fff;color:var(--ink)}.privacy-message-form textarea{resize:vertical}.privacy-message-form .button{justify-self:start}.privacy-confirmation{font-size:1.1rem;font-weight:700;color:var(--ink)}
:root{--ink:#173f41;--ink-2:#315455;--muted:#526564;--paper:#f2eee3;--white:#fbf8ef;--line:#c7c9ba;--wash:#e5e6d9;--gold:#b84c2c;--gold-dark:#963a21;--focus:#126b71;--font:"DM Sans",sans-serif;--serif:"Bitter",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");z-index:20}a{color:var(--ink);text-underline-offset:3px}a:hover{color:var(--gold-dark)}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2.65rem,6vw,5.9rem);font-weight:720;max-width:13ch;margin-bottom:1.3rem}h2{font-size:clamp(2rem,3.2vw,3.3rem);font-weight:680;margin-bottom:1.2rem}h3{font-size:1.32rem;letter-spacing:-.02em;margin-bottom:.55rem}p{margin-bottom:1.1rem}strong{font-weight:680}.container{width:min(100% - 40px,1180px);margin-inline:auto}.narrow{max-width:780px}.eyebrow{font-size:.72rem;line-height:1.4;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#a56518;margin-bottom:1rem}.muted{color:var(--muted)}.small{font-size:.86rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-5rem;background:var(--gold);padding:.7rem 1rem;z-index:99}.skip-link:focus{top:1rem}
.site-header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{display:flex;align-items:center;gap:2rem;min-height:88px}.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);font-weight:800;line-height:1.05;letter-spacing:-.045em;font-size:1.16rem;max-width:220px}.brand:hover{color:var(--ink)}.brand-mark{width:38px;height:38px;flex:none;color:var(--ink)}.header-nav{display:flex;align-items:center;gap:1.5rem;margin-left:auto}.header-nav a,.header-actions a:not(.button){font-size:.88rem;font-weight:700;text-decoration:none;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:1.2rem;margin-left:auto}.header-nav+.header-actions{margin-left:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid transparent;background:var(--gold);color:var(--ink);padding:.85rem 1.25rem;min-height:48px;text-decoration:none;font-weight:800;line-height:1.2;border-radius:3px;box-shadow:inset 0 -2px 0 rgba(24,51,70,.15);transition:transform .2s ease,opacity .2s ease}.button:hover{color:var(--ink);transform:translateY(-2px);background:#f0b863}.button:active{transform:translateY(0)}.button-outline{background:transparent;border-color:var(--ink);box-shadow:none}.button-outline:hover{background:var(--wash)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);padding:.5rem .7rem;font-weight:700;border-radius:3px}.mobile-cta{display:none}
.hero{background:var(--white);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;right:-8%;top:-30%;width:57%;height:140%;background:repeating-linear-gradient(90deg,transparent 0 49px,rgba(49,81,100,.065) 50px 51px),repeating-linear-gradient(0deg,transparent 0 49px,rgba(49,81,100,.065) 50px 51px);transform:rotate(-13deg);pointer-events:none}.hero-inner{position:relative;padding:clamp(4rem,8vw,8rem) 0 clamp(4rem,8vw,7rem);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);align-items:center;gap:7%}.hero-copy{max-width:700px}.hero-copy .lead{font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.55;max-width:55ch;color:var(--ink-2)}.hero-kicker{display:flex;align-items:center;gap:.7rem;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--ink-2);margin-bottom:1.6rem}.hero-kicker:before{content:"";width:30px;height:1px;background:var(--gold-dark)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:2rem}.hero-actions .text-link{font-size:.87rem;font-weight:750}.hero-art{position:relative;min-height:350px;display:flex;align-items:center;justify-content:center}.art-frame{background:#dfe8e4;width:min(100%,430px);aspect-ratio:1.12;display:flex;flex-direction:column;justify-content:space-between;padding:2rem;position:relative;overflow:hidden;box-shadow:24px 24px 0 #d0dcd5}.art-frame:before,.art-frame:after{content:"";position:absolute;border:2px solid rgba(24,51,70,.25);transform:rotate(45deg)}.art-frame:before{width:280px;height:280px;top:14%;right:-15%}.art-frame:after{width:170px;height:170px;bottom:-24%;left:9%}.art-line{height:2px;background:var(--ink);width:80%;position:absolute;top:48%;left:10%;transform:rotate(-13deg);z-index:1}.art-line:after{content:"";position:absolute;height:2px;background:var(--gold-dark);width:48%;top:16px;right:0;transform:rotate(18deg)}.art-label{font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;position:relative;z-index:2}.art-frame p{font:italic 1.3rem/1.2 var(--serif);max-width:180px;position:relative;z-index:2;margin:0}.photo-slot{border:1px dashed #9baea8;background:repeating-linear-gradient(135deg,transparent 0 12px,rgba(24,51,70,.035) 12px 13px);padding:2rem;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:.83rem;min-height:190px}.photo-slot strong{display:block;color:var(--ink);margin-bottom:.35rem}
.breadcrumb{padding:1rem 0;font-size:.78rem;color:var(--muted)}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0}.breadcrumb li:not(:last-child):after{content:"/";margin-left:.45rem;color:#9aaba8}.breadcrumb a{color:var(--muted)}.page-hero{background:var(--white);border-bottom:1px solid var(--line)}.page-hero-inner{padding:3.5rem 0 4rem;display:grid;grid-template-columns:1.1fr .55fr;gap:7%;align-items:end}.page-hero h1{font-size:clamp(2.75rem,5vw,5rem);margin-bottom:0}.page-hero .lead{font-size:1.18rem;color:var(--ink-2);margin:0;line-height:1.55}.section{padding:clamp(4rem,7vw,7rem) 0}.section-tight{padding:3.5rem 0}.section-wash{background:var(--wash)}.section-ink{background:var(--ink);color:var(--white)}.section-ink .eyebrow{color:var(--gold)}.section-ink .muted{color:#b8cbc8}.section-ink a:not(.button){color:#f4bf72}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.2rem}.section-head h2{margin-bottom:0}.section-head p{max-width:38ch;margin:0;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%}.intro-grid .intro-title{max-width:430px}.prose{max-width:780px}.prose p,.prose li{color:#3b5260}.prose h2{margin-top:3.5rem}.prose h3{margin-top:2rem}.prose ul,.prose ol{padding-left:1.3rem}.prose li{margin:.4rem 0}.prose a{font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.split-wide{grid-template-columns:.85fr 1.15fr}.line-list{border-top:1px solid var(--line)}.line-item{display:grid;grid-template-columns:65px 1fr;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}.line-item .num{font:italic 1.5rem var(--serif);color:var(--gold-dark)}.line-item p{margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.service-tile{background:var(--white);padding:2.3rem;min-height:245px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;transition:background .2s ease}.service-tile:hover{background:#f5f2e9;color:var(--ink)}.service-tile:first-child{grid-row:span 2;background:#e5ebe6}.service-tile:first-child:hover{background:#d9e5de}.service-tile h3{font-size:clamp(1.6rem,2.5vw,2.3rem);max-width:12ch}.service-tile p{color:var(--muted);max-width:36ch}.arrow{font-size:1.4rem;line-height:1}.callout{border-left:4px solid var(--gold);background:#f4f0e5;padding:1.5rem 1.75rem;margin:2rem 0}.callout p:last-child{margin-bottom:0}.dark-callout{background:#24485b;border-color:var(--gold);color:var(--white)}.dark-callout p{color:#d3e2df}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:1.4rem 0}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;font-weight:750;font-size:1.12rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-size:1.6rem;font-weight:400;color:var(--gold-dark)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:var(--muted);max-width:740px;margin:1rem 0 0}.areas-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3rem;list-style:none;padding:0}.areas-list li{padding:1.1rem 0;border-bottom:1px solid var(--line);font-weight:700}.areas-list li:before{content:"↗";font-weight:400;color:var(--gold-dark);margin-right:1rem}.cost-table-wrap{overflow-x:auto;margin:2rem 0}.cost-table{width:100%;border-collapse:collapse;min-width:620px;text-align:left}.cost-table th{background:var(--ink);color:var(--white);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.cost-table td,.cost-table th{padding:1rem;border-bottom:1px solid var(--line);vertical-align:top}.cost-table tbody tr:nth-child(even){background:var(--wash)}.cost-table td:nth-child(2){font-weight:800;white-space:nowrap}.next-step{background:var(--ink);color:var(--white);padding:clamp(2rem,5vw,4.5rem);display:flex;justify-content:space-between;align-items:center;gap:3rem}.next-step h2{max-width:600px;margin-bottom:.6rem}.next-step p{color:#cbdad7;margin:0}.next-step .button{flex:none}
.form-section{background:#e3ebe6;padding:clamp(3rem,6vw,6rem) 0}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:start}.form-intro{position:sticky;top:2rem}.form-intro h2{max-width:12ch}.form-intro p{max-width:34ch;color:var(--ink-2)}.form-trust{padding-top:1rem;border-top:1px solid #b9c9c0;font-size:.86rem}.estimate-form{background:var(--white);border:1px solid #cbd8cf;box-shadow:12px 12px 0 rgba(24,51,70,.07);padding:clamp(1.35rem,3vw,2.5rem)}.form-topline{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.4rem}.form-topline strong{font-size:.79rem;letter-spacing:.13em;text-transform:uppercase}.form-step-count{font-size:.76rem;color:var(--muted);font-weight:750}.progress-track{height:4px;background:#dce5df;margin-bottom:2rem}.progress-fill{height:100%;background:var(--gold-dark);width:20%;transition:width .25s ease}.estimate-form fieldset{border:0;padding:0;margin:0 0:2rem;min-width:0}.estimate-form legend{font-size:1.4rem;line-height:1.2;font-weight:750;letter-spacing:-.03em;margin-bottom:.45rem;padding:0}.field-hint{color:var(--muted);font-size:.85rem;margin-bottom:1.2rem}.choices{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.choice{position:relative;display:flex;align-items:center;gap:.75rem;min-height:54px;padding:.8rem;border:1px solid #c8d4ce;background:var(--white);font-size:.91rem;font-weight:650;cursor:pointer;line-height:1.35}.choice:has(input:checked){border-color:var(--ink);background:#e9eee8;box-shadow:inset 0 0 0 1px var(--ink)}.choice input{width:18px;height:18px;accent-color:var(--ink);flex:none;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-size:.83rem;font-weight:750}.field input,.field select,.field textarea,.notes-input{min-height:49px;width:100%;padding:.75rem .85rem;border:1px solid #aebfb8;border-radius:2px;background:var(--white);color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus,.notes-input:focus{border-color:var(--focus);box-shadow:0 0 0 2px rgba(34,102,130,.18)}.field textarea{min-height:110px;resize:vertical}.upload-box{border:1px dashed #98afa7;background:#f5f8f5;padding:1.4rem}.upload-box input{max-width:100%}.consent-row{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;line-height:1.45;margin:1rem 0}.consent-row input{width:18px;height:18px;flex:none;margin:.15rem 0 0;accent-color:var(--ink)}.form-actions{display:flex;gap:.7rem;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:1.4rem}.form-actions .button{min-width:165px}.form-error{background:#f9e9e2;color:#873d27;border-left:3px solid #b95135;padding:.85rem 1rem;margin-bottom:1rem;font-weight:650}.form-fineprint{font-size:.76rem;color:var(--muted);margin:1rem 0 0}.form-enhanced .form-step[hidden],.form-enhanced [hidden]{display:none!important}.form-enhanced .form-step{margin-bottom:0}.form-enhanced .form-step:not([hidden]){animation:rise .32s ease both}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}@keyframes rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.site-footer{background:#142f3e;color:#edf3ef;padding:4.5rem 0 2rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:5%}.footer-brand{color:#edf3ef;margin-bottom:1.4rem}.footer-brand:hover{color:#edf3ef}.footer-about{color:#b8ccc6;max-width:36ch;font-size:.91rem}.footer-title{color:var(--gold);font-weight:800;font-size:.73rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.footer-links a{color:#e0eae5;text-decoration:none;font-size:.89rem}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid #426170;margin-top:3.5rem;padding-top:1.5rem;color:#a8beb8;font-size:.79rem}.footer-bottom p{margin:0}.footer-bottom a{color:#cddbd4}.admin-shell{min-height:100dvh;background:#edf1ed}.admin-header{background:var(--ink);color:var(--white);padding:1rem 0}.admin-header .container{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-header a{color:var(--white)}.admin-main{padding:3rem 0 6rem}.admin-card{background:var(--white);border:1px solid var(--line);padding:2rem}.admin-login{max-width:460px;margin:7vh auto}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.summary-item{background:var(--white);border:1px solid var(--line);padding:1.3rem}.summary-item span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.summary-item strong{display:block;font-size:2.2rem;line-height:1.2;margin-top:.5rem}.admin-table-wrap{overflow-x:auto;background:var(--white);border:1px solid var(--line)}.admin-table{border-collapse:collapse;width:100%;min-width:900px;font-size:.87rem}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{background:#e3ebe6;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.admin-table a{font-weight:750}.admin-table select{padding:.35rem;border:1px solid var(--line);background:var(--white)}.admin-actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}.admin-actions .button{min-height:40px;padding:.55rem .8rem}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem}.detail-list{display:grid;grid-template-columns:160px 1fr;gap:.8rem;border-bottom:1px solid var(--line);padding:.75rem 0;margin:0}.detail-list dt{color:var(--muted);font-weight:700}.detail-list dd{margin:0;overflow-wrap:anywhere}
.mobile-menu{display:none}.mobile-menu summary{list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{display:none}
@media(max-width:980px){.header-nav{gap:.9rem}.header-nav a{font-size:.8rem}.header-actions{margin-left:.5rem!important}.header-inner{gap:1rem}.brand{font-size:1rem}}
@media(max-width:760px){body{padding-bottom:64px}.container{width:min(100% - 36px,1180px)}.header-inner{min-height:70px}.brand{margin-right:auto}.menu-toggle{display:block}.header-actions{display:none}.header-nav{display:none;position:absolute;top:69px;left:0;right:0;margin:0;background:var(--white);padding:1rem 18px 1.4rem;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(24,51,70,.12);flex-direction:column;align-items:stretch;gap:0}.header-nav.is-open{display:flex}.header-nav a{font-size:1rem;padding:.75rem;border-bottom:1px solid var(--line)}.mobile-cta{position:fixed;display:flex;bottom:0;left:0;right:0;z-index:15;background:var(--white);border-top:1px solid var(--line);padding:8px 12px;gap:8px;box-shadow:0 -7px 25px rgba(24,51,70,.1)}.mobile-cta .button{flex:1;min-height:48px}.hero-inner,.page-hero-inner,.intro-grid,.split,.split-wide,.form-layout,.footer-grid,.detail-grid{grid-template-columns:1fr}.hero-inner{padding:3.6rem 0 4rem;gap:3rem}.hero-art{min-height:260px}.art-frame{max-width:390px;aspect-ratio:1.45;box-shadow:14px 14px 0 #d0dcd5}.page-hero-inner{padding:2.5rem 0 3rem;gap:1.4rem}.page-hero .lead{max-width:630px}.section-head{display:block}.section-head p{margin-top:1rem}.form-intro{position:static}.form-intro h2{max-width:none}.form-layout{gap:1.4rem}.service-grid{grid-template-columns:1fr}.service-tile:first-child{grid-row:auto}.service-tile{min-height:190px}.next-step{display:block}.next-step .button{margin-top:1.5rem}.footer-grid{gap:2.5rem}.footer-bottom{display:block}.footer-bottom p+p{margin-top:.7rem}}
@media(max-width:520px){h1{font-size:clamp(2.75rem,11vw,4rem)}h2{font-size:2.2rem}.hero-art{min-height:220px}.art-frame{aspect-ratio:1.55}.art-frame:before{width:200px;height:200px}.choices,.form-grid,.areas-list,.summary-grid{grid-template-columns:1fr}.choice{min-height:48px}.form-actions .button{min-width:0}.section{padding:3.7rem 0}.form-section{padding:3.5rem 0}.line-item{grid-template-columns:42px 1fr}.detail-list{grid-template-columns:1fr;gap:.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:760px){.mobile-menu{display:block}.mobile-menu nav{display:flex;position:absolute;top:69px;left:0;right:0;margin:0;background:var(--white);padding:1rem 18px 1.4rem;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(24,51,70,.12);flex-direction:column;align-items:stretch}.mobile-menu:not([open]) nav{display:none}.mobile-menu nav a{font-size:1rem;font-weight:700;text-decoration:none;padding:.75rem;border-bottom:1px solid var(--line)}}

/* Estimate request: a quiet, guided four-step card. The full form stays usable without JS. */
.form-intro .form-promise{font-size:.82rem;font-weight:800;letter-spacing:.015em;color:var(--gold-dark);margin:-.35rem 0 1.7rem;max-width:none;white-space:nowrap}
.estimate-form{border-radius:12px;box-shadow:0 18px 42px rgba(24,51,70,.075),9px 9px 0 rgba(24,51,70,.045)}
.estimate-form .progress-track{height:5px;border-radius:5px;overflow:hidden}
.estimate-form .progress-fill{width:25%;border-radius:5px}
.estimate-form fieldset{padding-bottom:1.5rem;border-bottom:1px solid var(--line);margin-bottom:1.8rem}
.estimate-form fieldset:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.estimate-form legend{font-size:clamp(1.45rem,2.3vw,1.8rem);margin-bottom:1.25rem;color:var(--ink)}
.estimate-form .field-hint{margin-top:-.55rem}
.estimate-form .choices{grid-template-columns:1fr;gap:.65rem}
.estimate-form .choice{width:100%;min-height:58px;padding:1rem 1.15rem;border-radius:10px;gap:1rem;background:#fcfdf9;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.estimate-form .choice:hover{border-color:var(--gold-dark);background:#fcf5e8;transform:translateY(-1px)}
.estimate-form .choice:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.estimate-form .choice input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.estimate-form .choice span{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}
.estimate-form .choice span:after{content:"";display:block;flex:none;width:19px;height:19px;border:1.5px solid #9aaea4;border-radius:50%}
.estimate-form .choice:has(input:checked){background:#fff3d9;border-color:var(--gold-dark);box-shadow:inset 0 0 0 1px var(--gold-dark);color:var(--ink)}
.estimate-form .choice:has(input:checked) span:after{content:"✓";border-color:var(--gold-dark);background:var(--gold);color:var(--ink);font-size:13px;font-weight:900;line-height:17px;text-align:center}
.estimate-form .other-problem{margin-top:1.1rem}
.estimate-form .other-problem[hidden],.estimate-form .step-error[hidden]{display:none}
.estimate-form .field label,.estimate-form .upload-box>label:first-child{font-size:.86rem;font-weight:760}
.estimate-form .field input:not([type="file"]),.estimate-form .field textarea{border-radius:8px;min-height:54px;padding:.85rem 1rem;background:#fffefa}
.estimate-form .field input::placeholder{color:#788c87}
.estimate-form .field textarea{min-height:96px;line-height:1.5}
.estimate-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.estimate-form .upload-box{border-radius:10px;padding:1.15rem;background:#f5f8f4;gap:.65rem}
.estimate-form .photo-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;align-self:flex-start;min-height:47px;padding:.65rem 1.1rem;border:1px solid var(--ink-2);border-radius:7px;background:var(--white);font-size:.85rem;font-weight:800;cursor:pointer;transition:transform .18s ease,background-color .18s ease}
.estimate-form .photo-trigger:hover{background:var(--wash);transform:translateY(-1px)}
.estimate-form .photo-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.estimate-form .upload-box:focus-within .photo-trigger{outline:3px solid var(--focus);outline-offset:2px}
.estimate-form .photo-previews:empty{display:none}
.estimate-form .photo-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.75rem;margin-top:.4rem}
.estimate-form .photo-preview{position:relative;min-width:0}
.estimate-form .photo-visual{height:84px;display:grid;place-items:center;overflow:hidden;border-radius:7px;border:1px solid var(--line);background:#e5ece6}
.estimate-form .photo-visual img{width:100%;height:100%;object-fit:cover;grid-area:1/1;position:relative;z-index:1}
.estimate-form .photo-fallback{grid-area:1/1;font-size:.67rem;letter-spacing:.12em;font-weight:800;color:var(--ink-2)}
.estimate-form .photo-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;color:var(--ink-2);margin-top:.3rem}
.estimate-form .photo-remove{position:absolute;z-index:2;right:-7px;top:-7px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--ink);font-size:1.2rem;line-height:1;box-shadow:0 2px 7px rgba(24,51,70,.15)}
.estimate-form .photo-remove:hover{background:#f9e9e2}
.estimate-form .consent-row{padding:1rem 0;margin:1rem 0 0;border-top:1px solid var(--line)}
.estimate-form .consent-row input{width:20px;height:20px;accent-color:var(--gold-dark)}
.estimate-form .step-controls{display:none}
.estimate-form .form-submit{display:flex;width:100%}
.estimate-form .step-notice{font-size:.75rem;line-height:1.55;color:var(--muted);margin:1rem 0 0}
.estimate-form .step-notice a{font-weight:750;color:var(--ink-2)}
.estimate-form .step-error,.estimate-form .input-error{display:block;color:#963c27;font-size:.8rem;font-weight:700;line-height:1.35;margin:.35rem 0 .7rem}
.estimate-form .field .input-error{margin:0}
.estimate-form [aria-invalid="true"]{border-color:#b95135!important}
.estimate-form .form-enhanced [hidden]{display:none}
.estimate-form.form-enhanced .step-controls{display:flex;align-items:center;gap:1rem;margin-top:1.6rem}
.estimate-form.form-enhanced .step-one-controls{display:none}
.estimate-form.form-enhanced .has-other .step-one-controls{display:flex}
.estimate-form.form-enhanced .form-back{border:0;background:transparent;padding:.55rem 0;color:var(--ink-2);font-size:.82rem;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.estimate-form.form-enhanced .form-back:hover{color:var(--gold-dark)}
.estimate-form.form-enhanced .step-controls .button{margin-left:auto;min-width:175px;border-radius:7px}
.estimate-form.form-enhanced .final-controls{display:grid;grid-template-columns:1fr}
.estimate-form.form-enhanced .final-controls .form-back{justify-self:start}
.estimate-form.form-enhanced .final-controls .button{margin:0;width:100%;min-height:54px}
.estimate-form .button:disabled{opacity:.65;cursor:wait}
@media(max-width:760px){.estimate-form .form-grid{grid-template-columns:1fr;gap:0}.estimate-form.form-enhanced .step-controls:not(.final-controls){display:flex;flex-direction:column;align-items:stretch;gap:.7rem}.estimate-form.form-enhanced .step-controls:not(.final-controls) .form-back{align-self:flex-start}.estimate-form.form-enhanced .step-controls .button{width:100%;margin-left:0}.estimate-form.form-enhanced .step-one-controls:not(.final-controls){display:none}.estimate-form.form-enhanced .has-other .step-one-controls:not(.final-controls){display:flex}}
@media(max-width:520px){.estimate-form{padding:1.35rem}.estimate-form .choice{min-height:56px}.estimate-form .photo-previews{grid-template-columns:repeat(auto-fill,minmax(83px,1fr))}}
@media(max-width:360px){.form-intro .form-promise{white-space:normal}}

/* Lawrence / river-country field guide */
h1,h2,h3,.brand,.estimate-form legend{font-family:var(--serif);letter-spacing:-.045em}
h1{font-weight:700}h2{font-weight:700}.eyebrow{color:#8b3923}
.button{background:var(--gold);color:#fff8ec;box-shadow:none;border-radius:2px}.button:hover{background:var(--gold-dark);color:#fff8ec}.button-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button-outline:hover{color:var(--ink)}
.site-header{background:#f5f1e6}.header-inner{min-height:82px}.brand{font-size:1.12rem;letter-spacing:-.035em}.brand-mark{width:43px;height:43px;color:var(--ink)}.site-header .header-nav a[aria-current="page"]{text-decoration-color:var(--gold)}
.hero{background:#e8e7d9}.hero:before{display:none}.hero-inner{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:5%;padding:clamp(5rem,10vw,9rem) 0}.hero h1{font-size:clamp(3.35rem,6.5vw,7rem);max-width:12ch;margin-bottom:1.7rem}.hero-copy .lead{max-width:56ch}.hero-kicker{color:var(--ink);letter-spacing:.15em}.hero-kicker:before{background:var(--gold)}.hero-art{min-height:490px}.river-art{width:100%;min-height:490px;position:relative;background:#174c4d;color:#f6efdd;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:2.2rem;box-shadow:16px 16px 0 #c7c8b8}.river-art:before{content:"";position:absolute;width:130%;height:65%;left:-15%;top:26%;border-top:2px solid #bbd1bd;border-bottom:2px solid #bbd1bd;border-radius:50%;transform:rotate(-19deg);opacity:.7}.river-art:after{content:"";position:absolute;width:115%;height:48%;left:2%;top:47%;border-top:2px solid #b0c6b5;border-bottom:2px solid #b0c6b5;border-radius:50%;transform:rotate(-19deg);opacity:.48}.river-art .art-label,.river-art .art-foot{position:relative;z-index:2;font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.river-art .art-foot{max-width:18ch;line-height:1.5}.river-art svg{position:relative;z-index:2;align-self:center;width:80%;max-width:310px;color:#f1e6c9;filter:drop-shadow(0 10px 0 rgba(0,0,0,.08))}.river-art .art-coordinate{position:absolute;right:2rem;top:2rem;writing-mode:vertical-rl;font-size:.65rem;letter-spacing:.2em;opacity:.8}
.hero-disclosure{border-left:3px solid var(--gold);padding-left:1rem;margin-top:2rem;color:var(--ink-2);font-size:.88rem;max-width:54ch}.field-note{display:inline-flex;align-items:center;gap:.6rem;text-transform:uppercase;font-size:.68rem;letter-spacing:.15em;font-weight:800;color:var(--ink-2)}
.page-hero{background:#e8e7d9}.page-hero-inner{padding:4.3rem 0 5rem}.page-hero h1{max-width:15ch}.section-ink{background:#173f41;color:#f8f2e4}.section-ink .eyebrow{color:#e9b79d}.section-ink a:not(.button){color:#f4c0a7}.section-ink .muted,.dark-callout p{color:#e0e8df}.dark-callout{background:#285356;border-color:#df8c66}.prose p,.prose li{color:#334d4c}.service-grid{background:#c5cbbd}.service-tile{background:#f8f4e9}.service-tile:first-child{background:#dce2d4}.service-tile:hover{background:#efeadc}.service-tile:first-child:hover{background:#d1dbcc}.service-tile h3{max-width:17ch}.callout{border-color:var(--gold);background:#eae4d5}.form-section{background:#dce2d7}.estimate-form{background:#faf7ee;border-color:#bdc9bc;box-shadow:10px 10px 0 #c3cdbf;border-radius:2px}.estimate-form .choice{background:#faf7ee;border-radius:2px}.estimate-form .choice:hover{background:#edeadd;border-color:var(--gold-dark)}.estimate-form .choice:has(input:checked){background:#e8e2d3;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.estimate-form .choice:has(input:checked) span:after{background:var(--ink);border-color:var(--ink);color:#fff}.estimate-form .field input:not([type="file"]),.estimate-form .field textarea{background:#fcf9f1;border-radius:2px}.estimate-form .upload-box{background:#f1efe3;border-radius:2px}.form-intro .form-promise{color:#873920}.form-trust{border-color:#abbcaf}.privacy-contact{background:#e5e6d9}.privacy-contact-card{background:#fbf8ef}.privacy-message-form input,.privacy-message-form select,.privacy-message-form textarea{background:#fbf8ef}.site-footer{background:#143637}.footer-brand,.footer-brand:hover{color:#f8f1e4}.footer-title{color:#efb398}.footer-about,.footer-bottom{color:#d7e1d7}.footer-links a{color:#f3eee2}.footer-bottom a{color:#f3eee2}.mobile-cta{background:#f5f1e6}
@media(max-width:760px){.hero-inner{grid-template-columns:1fr;padding:3.4rem 0 4rem;gap:2.5rem}.hero h1{font-size:clamp(3rem,10vw,5.5rem)}.hero-art,.river-art{min-height:360px}.river-art{box-shadow:10px 10px 0 #c7c8b8}.page-hero-inner{padding:2.6rem 0 3.5rem}.brand{font-size:.95rem}.brand-mark{width:36px;height:36px}.mobile-menu nav{background:#f5f1e6}}
@media(max-width:520px){.hero-art,.river-art{min-height:310px}.river-art{padding:1.4rem}.river-art svg{width:63%}.hero h1{font-size:clamp(2.9rem,11vw,4.1rem)}.hero-actions .button{width:100%}.site-footer{padding-bottom:3rem}}
.mobile-cta.mobile-cta-hidden{display:none}