:root{--night:#0b1211;--night-2:#111b19;--night-3:#16221f;--night-line:#2a3b37;--paper:#f4f7f6;--paper-2:#e8efed;--white:#fff;--line:#d3dedb;--line-strong:#6b7d79;--ink:#0e1715;--ink-muted:#46575a;--ink-soft:#5c6f6b;--on-night:#f2f6f5;--on-night-muted:#a9bab6;--on-night-soft:#8da09c;--teal:#16c69a;--teal-bright:#5fe0bc;--teal-deep:#0b6e58;--teal-ink:#085a48;--teal-tint:#e3f3ee;--error:#b3261e;--error-dark:#ff8a80;--fg:var(--ink);--fg-muted:var(--ink-muted);--fg-soft:var(--ink-soft);--link:var(--teal-deep);--link-hover:var(--teal-ink);--rule:var(--line);--focus:var(--teal-deep);--heading:var(--ink);--btn2-fg:var(--ink);--btn2-border:var(--ink);--btn2-hover-bg:var(--ink);--btn2-hover-fg:var(--paper);--btn-ring:inset 0 0 0 1px var(--teal-deep);--step--1:.8125rem;--step-0:1.0625rem;--step-1:clamp(1.1875rem, 1.1rem + .4vw, 1.375rem);--step-2:clamp(1.5rem, 1.3rem + .9vw, 1.875rem);--step-3:clamp(2rem, 1.5rem + 2.2vw, 3.25rem);--step-4:clamp(2.75rem, 1.9rem + 4.2vw, 5.5rem);--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--section:clamp(4rem, 3rem + 5vw, 7.5rem);--r-1:4px;--r-2:8px;--r-3:14px;--measure:34rem;--tap:52px;--font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;--font-body:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--wash-night:radial-gradient(120% 90% at 85% -10%, #16c69a24 0%, #16c69a00 60%), linear-gradient(165deg, #0b1211 0%, #0d1a17 55%, #0e2a25 100%);--wash-paper:radial-gradient(90% 70% at 0% 0%, #16c69a12 0%, #16c69a00 60%), linear-gradient(180deg, #f7faf9 0%, #f1f6f4 100%)}.surface-night,.section-night,.hero,.cta-band,.site-header,.site-footer,.top-strip,.sticky-cta{--fg:var(--on-night);--fg-muted:var(--on-night-muted);--fg-soft:var(--on-night-soft);--link:var(--teal-bright);--link-hover:var(--on-night);--rule:var(--night-line);--focus:var(--teal-bright);--heading:var(--on-night);--btn2-fg:var(--on-night);--btn2-border:var(--on-night-soft);--btn2-hover-bg:#ffffff0f;--btn2-hover-fg:var(--on-night);--btn-ring:none;color:var(--fg)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--night);scroll-padding-top:6rem}body{background:var(--wash-paper), var(--paper);color:var(--fg);font-family:var(--font-body);font-size:var(--step-0);padding-bottom:calc(68px + env(safe-area-inset-bottom));margin:0;line-height:1.6}body.no-sticky-cta{padding-bottom:0}img,picture,video{max-width:100%;display:block}picture{display:block}img{background:var(--paper-2);border-radius:var(--r-1);height:auto}h1,h2,h3{font-family:var(--font-display);color:var(--heading);margin:0 0 var(--s-4);text-wrap:balance;font-weight:400}h1{font-size:var(--step-4);letter-spacing:-.01em;max-width:18ch;line-height:1.04}h2{font-size:var(--step-3);max-width:22ch;line-height:1.1}h3{font-size:var(--step-2);line-height:1.2}h4{font-family:var(--font-body);font-size:var(--step-0);margin:0 0 var(--s-2);font-weight:600}p{margin:0 0 var(--s-4);max-width:var(--measure);text-wrap:pretty}a{color:var(--link);text-underline-offset:3px}a:hover{color:var(--link-hover)}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-1)}.wrap{width:100%;max-width:72rem;margin:0 auto;padding:0 1.25rem}@media (width>=900px){.wrap{padding:0 2rem}}.narrow{max-width:44rem}.wrap.narrow{max-width:72rem}.wrap.narrow>*{max-width:40rem}.wrap.narrow>.grid,.wrap.narrow>.gallery,.wrap.narrow>form{max-width:none}.section{padding:var(--section) 0}.section-warm{background:var(--paper-2)}.section-night,.surface-night{background:var(--wash-night)}.eyebrow{font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--link);margin:0 0 var(--s-3);font-weight:600}.lede{font-size:var(--step-1);color:var(--fg-muted);line-height:1.5}.top-strip{background:var(--night-2);text-align:center}.top-strip a{color:var(--on-night);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;padding:.7rem 1rem;font-weight:600;text-decoration:none;display:block}.top-strip a:hover{color:var(--teal-bright)}.site-header{z-index:50;background:var(--wash-night);border-bottom:1px solid var(--night-line);position:sticky;top:0}@supports (backdrop-filter:blur(1px)){.site-header{backdrop-filter:saturate(140%)blur(10px);background:linear-gradient(165deg,#0b1211e6,#0e2a25e0)}}.site-header .bar{align-items:center;gap:var(--s-4);min-height:68px;display:flex}.logo{color:var(--fg);white-space:nowrap;text-decoration:none}.logo-img{padding:var(--s-2) 0;align-items:center;line-height:0;display:inline-flex}.logo-img img{background:0 0;border-radius:0;width:auto;height:52px}.site-footer .logo-img img{height:76px}@media (width>=900px){.logo-img img{height:60px}.site-header .bar{min-height:76px}}.site-header nav{gap:var(--s-5);margin-left:auto;display:none}.site-header nav a{min-height:44px;color:var(--on-night-muted);border-bottom:2px solid #0000;align-items:center;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.site-header nav a:hover{color:var(--on-night)}.site-header nav a[aria-current=page]{color:var(--on-night);border-bottom-color:var(--teal)}.site-header .header-cta{min-height:44px;padding:0 var(--s-4);margin-left:auto}.site-header nav+.header-cta{margin-left:0}@media (width>=900px){.site-header nav{display:flex}.site-header nav+.header-cta{margin-left:var(--s-4)}}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);border:1.5px solid var(--btn2-border);border-radius:var(--r-2);color:var(--btn2-fg);font-family:var(--font-body);cursor:pointer;background:0 0;padding:0 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out,transform .18s ease-out;display:inline-flex}.btn:hover{background:var(--btn2-hover-bg);color:var(--btn2-hover-fg);border-color:var(--btn2-border)}.btn:active{transform:translateY(1px)}.btn [aria-hidden=true]{transition:transform .18s ease-out;display:inline-block}.btn:hover [aria-hidden=true]{transform:translate(4px)}.btn-primary{background:var(--teal);border-color:var(--teal);color:var(--night);box-shadow:var(--btn-ring)}.btn-primary:hover{background:var(--teal-bright);border-color:var(--teal-bright);color:var(--night)}.btn-light{--btn2-border:var(--on-night-soft);--btn2-fg:var(--on-night);--btn2-hover-bg:#ffffff0f;--btn2-hover-fg:var(--on-night)}.btn-light:hover{border-color:var(--teal-bright)}.btn-lg{min-height:56px;padding:0 2rem;font-size:1rem}.btn-row{gap:var(--s-3);flex-wrap:wrap;display:flex}.hero{background:var(--wash-night);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.hero-media{aspect-ratio:4/3;order:-1;max-height:62vh;position:relative}.hero-media picture,.hero-media img{width:100%;height:100%;display:block}.hero-media img{object-fit:cover;background:var(--night-2);border-radius:0}.hero-media:after{content:"";pointer-events:none;background:linear-gradient(#0b121100 55%,#0b1211 100%);position:absolute;inset:0}.hero-inner{padding:var(--s-6) 1.25rem var(--s-8);max-width:40rem;position:relative}.hero-inner:before{content:"";background:var(--teal);width:56px;height:3px;margin-bottom:var(--s-5);display:block}.hero h1{color:var(--on-night);max-width:16ch;font-size:clamp(2.5rem,1.7rem + 3.6vw,4.5rem)}.hero p{color:var(--on-night-muted);font-size:var(--step-1);max-width:34rem;line-height:1.5}.hero .eyebrow{color:var(--teal-bright);font-size:var(--step--1)}.hero .btn-row{margin-top:var(--s-5)}.hero .btn-row .btn{flex:100%}.hero-call{margin:var(--s-4) 0 0;color:var(--on-night-muted);font-size:.9375rem}.hero-call a,.cta-band .hero-call a{color:var(--on-night)}@media (width>=900px){.hero{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:stretch;min-height:640px}.hero-media{aspect-ratio:auto;order:2;max-height:none}.hero-media:after{background:linear-gradient(90deg,#0b1211 0%,#0b121100 32%)}.hero-inner{max-width:none;padding:var(--s-9) var(--s-6) var(--s-9) max(2rem, calc((100vw - 72rem) / 2 + 2rem));order:1;align-self:center}.hero .btn-row .btn{flex:0 auto}}.reviews{gap:var(--s-5);margin-top:var(--s-6);display:grid}.review{padding:var(--s-5);background:var(--white);border:1px solid var(--rule);border-radius:var(--r-3);margin:0}.review[hidden]{display:none}.review-stars{margin:0 0 var(--s-3);color:var(--teal-deep);letter-spacing:.1em;font-size:1.05rem}.review blockquote{margin:0 0 var(--s-4);font-family:var(--font-display);font-size:var(--step-1);color:var(--fg);max-width:none;line-height:1.35}.review figcaption{font-size:var(--step--1);color:var(--fg-muted);font-weight:600}.reviews-more{margin-top:var(--s-5)}@media (width>=900px){.reviews{grid-template-columns:repeat(3,1fr)}}.consult-grid{gap:var(--s-7);align-items:center;display:grid}.consult-photo{margin:0}.consult-photo img{aspect-ratio:4/3;object-fit:cover;width:100%}@media (width>=900px){.consult-grid{gap:var(--s-8);grid-template-columns:5fr 4fr}}.card-service{background:0 0}.card-service picture{border-radius:var(--r-1);display:block;overflow:hidden}.card-service img{aspect-ratio:1.38;object-fit:cover;width:100%;transition:transform .4s ease-out}.card-service:hover img{transform:scale(1.03)}.card-service-body{padding:var(--s-5) 0 var(--s-2)}.card-service h3{margin-bottom:var(--s-2)}.card-service p{color:var(--fg-muted);max-width:36ch;margin-bottom:0;font-size:.9375rem;line-height:1.6}.text-link{min-height:44px;margin-top:var(--s-2);border-bottom:2px solid var(--teal-deep);color:var(--link);align-items:center;padding:0;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--link-hover)}.text-link-light,.section-night .text-link{border-bottom-color:var(--teal)}.portfolio-split-inner{gap:var(--s-7);padding:var(--section) 0;grid-template-columns:1fr;align-items:center;display:grid}@media (width>=900px){.portfolio-split-inner{gap:var(--s-8);grid-template-columns:1fr 2.2fr}}.portfolio-images{gap:var(--s-3);grid-template-columns:repeat(3,1fr);display:grid}.portfolio-photo{border-radius:var(--r-1);margin:0;overflow:hidden}.portfolio-photo img{object-fit:cover;width:100%;height:360px;transition:transform .4s ease-out}.portfolio-photo:hover img{transform:scale(1.03)}@media (width<=700px){.portfolio-photo img{height:200px}}.section-night p{color:var(--fg-muted)}.grid{gap:var(--s-5);display:grid}.grid>*{min-width:0}.grid-2,.grid-3{grid-template-columns:1fr}@media (width>=640px){.grid-3,.grid-2{grid-template-columns:repeat(2,1fr)}}@media (width>=980px){.grid-3{grid-template-columns:repeat(3,1fr)}}.card{background:var(--white);border:1px solid var(--rule);border-radius:var(--r-3);padding:var(--s-5)}.card h3{font-size:var(--step-2);margin-bottom:var(--s-2)}.card p{color:var(--fg-muted);margin-bottom:var(--s-3);font-size:.9375rem}a.card{color:inherit;text-decoration:none;transition:border-color .18s ease-out,transform .18s ease-out;display:block}a.card:hover{border-color:var(--teal-deep);transform:translateY(-2px)}a.card .more{color:var(--link);font-size:.9375rem;font-weight:600}.gallery{columns:2;column-gap:var(--s-4)}.gallery figure{margin:0 0 var(--s-4);break-inside:avoid}.gallery img{width:100%}.gallery figcaption{font-size:var(--step--1);color:var(--fg-muted);margin-top:var(--s-2)}@media (width>=760px){.gallery{columns:3;column-gap:var(--s-5)}.gallery figure{margin-bottom:var(--s-5)}}figure{margin:0}figcaption{font-size:var(--step--1);color:var(--fg-muted);margin-top:var(--s-2)}.checklist{margin:0 0 var(--s-5);max-width:var(--measure);padding:0;list-style:none}.checklist li{margin-bottom:var(--s-2);padding-left:1.5rem;position:relative}.checklist li:before{content:"";background:var(--teal-deep);width:.4rem;height:.4rem;position:absolute;top:.6em;left:0}.step-list{margin:var(--s-6) 0 0;border-top:1px solid var(--ink);padding:0;list-style:none}.step-list li{gap:var(--s-4);padding:var(--s-5) 0;border-bottom:1px solid var(--rule);grid-template-columns:3.5rem 1fr;display:grid}.step-n{font-family:var(--font-display);font-size:var(--step-3);color:var(--teal-deep);font-variant-numeric:tabular-nums;line-height:1}.step-list h3{font-size:var(--step-2);margin-bottom:var(--s-2)}.step-list p{color:var(--fg-muted);margin:0}@media (width>=760px){.step-list{column-gap:var(--s-7);grid-template-columns:repeat(2,1fr);display:grid}.step-list li:nth-last-child(-n+2){border-bottom:0}}.faq-item{border-bottom:1px solid var(--rule)}.faq-item summary{cursor:pointer;min-height:var(--tap);padding:var(--s-4) 2.5rem var(--s-4) var(--s-2);font-family:var(--font-display);font-size:var(--step-2);border-radius:var(--r-2);line-height:1.2;list-style:none;transition:background-color .18s ease-out;position:relative}.faq-item summary:hover{background:#0b6e580f}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";right:var(--s-3);color:var(--teal-deep);font-size:1.6rem;font-family:var(--font-body);transition:transform .2s ease-out;position:absolute;top:50%;transform:translateY(-50%)}.faq-item[open] summary:after{transform:translateY(-50%)rotate(45deg)}.faq-item .answer{padding:0 var(--s-2) var(--s-4)}.faq-item .answer p{color:var(--fg-muted);margin-bottom:0}.cta-band{background:var(--wash-night);padding:var(--section) 0;border-radius:0}.cta-band>.wrap,.cta-band-inner{max-width:72rem}.cta-band h2{color:var(--on-night)}.cta-band p{color:var(--on-night-muted)}.cta-band .btn-row{margin-top:var(--s-5)}.section:has(>.wrap>.cta-band){padding:0}.section:has(>.wrap>.cta-band)>.wrap{max-width:none;padding:0}.cta-band{padding-left:max(1.25rem,50vw - 34.75rem);padding-right:max(1.25rem,50vw - 34.75rem)}@media (width>=900px){.cta-band{column-gap:var(--s-8);grid-template-columns:1fr auto;align-items:center;padding-left:max(2rem,50vw - 34rem);padding-right:max(2rem,50vw - 34rem);display:grid}.cta-band h2,.cta-band p{grid-column:1}.cta-band .btn-row{flex-direction:column;grid-area:1/2/span 3;align-items:stretch;margin-top:0}.cta-band .hero-call{grid-column:1}}.placeholder-note{border:1px dashed var(--line-strong);border-radius:var(--r-3);padding:var(--s-5);background:var(--white);color:var(--ink-muted);font-size:.9375rem}.site-footer{background:var(--wash-night);color:var(--on-night-muted);padding:var(--s-8) 0 var(--s-6);font-size:.9375rem}.site-footer a{color:var(--on-night);text-decoration:none}.site-footer a:hover{color:var(--teal-bright);text-decoration:underline}.site-footer h2{font-family:var(--font-body);font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--on-night-soft);margin:0 0 var(--s-3);max-width:none;font-weight:600}.site-footer p{color:var(--on-night-muted)}.footer-grid{gap:var(--s-6);display:grid}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid li a{align-items:center;min-height:44px;display:inline-flex}.footer-bottom{border-top:1px solid var(--night-line);margin-top:var(--s-7);padding-top:var(--s-5);color:var(--on-night-soft);font-size:var(--step--1)}@media (width>=760px){.footer-grid{gap:var(--s-7);grid-template-columns:1.4fr 1fr 1fr}}.sticky-cta{z-index:60;background:var(--night-2);border-top:1px solid var(--night-line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:1fr 1fr 1.4fr;display:grid;position:fixed;bottom:0;left:0;right:0}.sticky-cta a{min-height:64px;color:var(--on-night);border-right:1px solid var(--night-line);justify-content:center;align-items:center;font-size:.9375rem;font-weight:600;text-decoration:none;display:flex}.sticky-cta a:last-child{background:var(--teal);color:var(--night);border-right:0}@media (width>=900px){.sticky-cta{display:none}body{padding-bottom:0}}.preview-ribbon{color:var(--ink);text-align:center;font-size:var(--step--1);letter-spacing:.04em;background:#f2c94c;padding:.4rem 1rem;font-weight:600}.js-steps .form-step{display:none}.js-steps .form-step.is-active{display:block}.form-step+.form-step{margin-top:var(--s-7)}.js-steps .form-step+.form-step{margin-top:0}.form-step>h2{font-size:var(--step-2)}form:not(.js-steps) .js-only{display:none}.field{margin-bottom:var(--s-5);max-width:var(--measure)}.field>label{margin-bottom:var(--s-2);font-size:.9375rem;font-weight:600;display:block}.field .hint{font-size:var(--step--1);color:var(--ink-soft);margin:var(--s-2) 0 0}input[type=text],input[type=tel],input[type=email],input[type=file],select,textarea{width:100%;min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--white);color:var(--ink);padding:.75rem .9rem;font-family:inherit;font-size:16px}input::placeholder,textarea::placeholder{color:var(--ink-soft);opacity:1}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--teal-deep);outline:3px solid var(--teal-deep);outline-offset:0}textarea{resize:vertical;min-height:8rem}.choices{gap:var(--s-3);max-width:var(--measure);grid-template-columns:repeat(2,1fr);display:grid}.field .choice,.choice{align-items:center;gap:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-2);padding:var(--s-3);background:var(--white);cursor:pointer;min-height:var(--tap);margin:0;font-size:.9375rem;font-weight:600;transition:border-color .18s ease-out,background-color .18s ease-out;display:flex}.choice:hover{border-color:var(--teal-deep)}.choice:has(input:checked){border-color:var(--teal-deep);background:var(--teal-tint)}.choice input,.consent input{-webkit-appearance:none;appearance:none;border:1.5px solid var(--line-strong);background:var(--white);cursor:pointer;border-radius:6px;flex:none;place-content:center;width:22px;height:22px;margin:0;display:grid}.choice input:checked,.consent input:checked{background:var(--teal-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;border-color:var(--teal-deep)}.consent{gap:var(--s-3);color:var(--ink-muted);max-width:var(--measure);align-items:flex-start;font-size:.9375rem;display:flex}.consent input{margin-top:.1rem}.steps-progress{gap:var(--s-2);margin-bottom:var(--s-5);display:flex}.steps-progress span{background:var(--line);border-radius:2px;flex:1;height:4px}.steps-progress span.done{background:var(--teal-deep)}.error-text{color:var(--error);font-size:.9375rem;font-weight:600}.prose h2{margin-top:var(--s-7)}.prose h3{margin-top:var(--s-6)}.prose ul{max-width:var(--measure)}.prose li{margin-bottom:var(--s-2)}.skip-link{background:var(--teal);color:var(--night);z-index:100;padding:.75rem 1rem;font-weight:600;position:absolute;left:-9999px}.skip-link:focus{top:1rem;left:1rem}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes settle{0%{transform:scale(1.04)}to{transform:none}}.hero-inner>*{animation:.56s cubic-bezier(.16,1,.3,1) both rise}.hero-inner>:nth-child(2){animation-delay:70ms}.hero-inner>:nth-child(3){animation-delay:.14s}.hero-inner>:nth-child(4){animation-delay:.21s}.hero-inner>:nth-child(5){animation-delay:.28s}.hero-media img{animation:1.2s cubic-bezier(.16,1,.3,1) both settle}@supports (animation-timeline:view()){.gallery figure,.step-list li,.card-service,.portfolio-photo,.consult-photo{animation:.48s ease-out both rise view();animation-range:entry entry 35%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation:none!important}.hero-inner>*,.hero-media img,.gallery figure,.step-list li,.card-service,.portfolio-photo,.consult-photo{opacity:1;transform:none}}
