:root{--ink:#183346;--ink-2:#315164;--muted:#596b73;--paper:#faf9f5;--white:#fffefa;--line:#d5ddd9;--wash:#eaf0ed;--gold:#e8aa4f;--gold-dark:#b87722;--focus:#226682;--font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",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)}}