:root {
  --ink:#18201d; --paper:#f2f0e9; --paper-2:#e7e8df; --sage:#9fb49e;
  --sage-dark:#365747; --line:rgba(24,32,29,.18); --muted:#5e6862; --white:#fbfaf6;
  --max:1280px; --radius:2px; --shadow:0 22px 70px rgba(17,25,21,.14);
  --serif:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--sans);overflow-x:hidden}
img{display:block;max-width:100%;height:auto} a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px} button,input,select,textarea{font:inherit} button{cursor:pointer}
.skip-link{position:fixed;left:12px;top:-100px;z-index:999;background:var(--white);padding:12px 18px}.skip-link:focus{top:12px}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.narrow{width:min(calc(100% - 48px),820px);margin-inline:auto}
.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700}.display,h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03;letter-spacing:-.035em;overflow-wrap:anywhere}h1{font-size:clamp(3.1rem,8vw,7.4rem);margin:.2em 0}.page-hero h1{font-size:clamp(3rem,7vw,6rem)}h2{font-size:clamp(2.3rem,5vw,4.8rem);margin:.25em 0 .45em}h3{font-size:clamp(1.45rem,2.4vw,2rem);margin:.3em 0}.lead{font-size:clamp(1.12rem,2vw,1.42rem);line-height:1.5;max-width:690px}.muted{color:var(--muted)}
.site-header{position:fixed;inset:0 0 auto;z-index:100;color:var(--white);transition:.35s;background:linear-gradient(to bottom,rgba(15,21,18,.72),transparent)}.site-header.scrolled,.site-header.inner{background:rgba(242,240,233,.94);backdrop-filter:blur(12px);color:var(--ink);border-bottom:1px solid var(--line)}
.header-inner{height:88px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:205px}.brand img{width:34px;height:34px}.brand-name{font-size:.78rem;font-weight:800;letter-spacing:.08em;line-height:1.2}.nav{display:flex;align-items:center;gap:26px;margin-left:auto}.nav a,.header-phone{font-size:.84rem;text-decoration:none;position:relative}.nav a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:.25s}.nav a:hover::after,.nav a[aria-current="page"]::after{width:100%}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 20px;border:1px solid var(--ink);background:var(--ink);color:var(--white);text-decoration:none;font-size:.82rem;font-weight:750;letter-spacing:.04em;transition:.25s}.button:hover{transform:translateY(-2px);background:var(--sage-dark)}.button.light{background:var(--white);color:var(--ink);border-color:var(--white)}.button.ghost{background:transparent;color:inherit;border-color:currentColor}.button:disabled{opacity:.52;cursor:not-allowed;transform:none}.menu-toggle{display:none;margin-left:auto;border:1px solid currentColor;background:transparent;color:inherit;width:48px;height:48px}.menu-toggle span{display:block;width:21px;height:1px;background:currentColor;margin:5px auto}
.hero{min-height:92svh;position:relative;color:var(--white);display:flex;align-items:flex-end;background:#101613;isolation:isolate}.hero-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,16,14,.87) 0%,rgba(11,16,14,.52) 48%,rgba(11,16,14,.05) 84%)}.hero-content{padding:160px 0 9vh;max-width:900px}.hero h1{max-width:850px}.hero-actions,.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-note{margin-top:48px;display:flex;gap:35px;font-size:.83rem;color:rgba(255,255,255,.78)}
.page-hero{padding:180px 0 90px;background:var(--ink);color:var(--white);position:relative;overflow:hidden}.page-hero::after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.13);right:-80px;top:80px;transform:rotate(25deg)}.page-hero .lead{color:#cbd2cc}.page-hero.image{min-height:68svh;display:flex;align-items:flex-end;background-position:center;background-size:cover}.page-hero.image::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,19,16,.88),rgba(13,19,16,.25))}.page-hero.image .container{position:relative;z-index:1}
.section{padding:clamp(76px,10vw,140px) 0}.section.compact{padding:70px 0}.section.dark{background:var(--ink);color:var(--white)}.section.soft{background:var(--paper-2)}.section-line{border-top:1px solid var(--line)}
.grid-2{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,7vw,110px);align-items:center}.grid-2>*{min-width:0}.grid-2.reverse{grid-template-columns:7fr 5fr}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.aside-title{position:sticky;top:130px;align-self:start}.prose p{max-width:720px}.prose h2{margin-top:1.2em}.prose h3{margin-top:1.7em}.prose ul{padding-left:1.2em}.prose li{margin:.5em 0}
.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:90px 1fr 2fr auto;gap:28px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line);text-decoration:none}.service-row .num{color:var(--muted);font-size:.78rem}.service-row h3{margin:0}.service-row p{margin:0;color:var(--muted)}.arrow{font-size:1.6rem;transition:.25s}.service-row:hover .arrow{transform:translateX(8px)}
.image-frame{overflow:hidden;background:#d5d8d0}.image-frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.image-frame:hover img{transform:scale(1.035)}.landscape{aspect-ratio:3/2}.portrait{aspect-ratio:4/5}.wide{aspect-ratio:16/9}.caption{font-size:.74rem;color:var(--muted);margin-top:10px}
.process-list{counter-reset:step}.process-item{counter-increment:step;display:grid;grid-template-columns:120px 1fr 2fr;gap:30px;padding:35px 0;border-top:1px solid currentColor}.process-item::before{content:"0" counter(step);font-family:var(--serif);font-size:2.2rem}.process-item p{margin:.3em 0;color:inherit;opacity:.72}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.principle{background:var(--paper);padding:35px;min-height:230px}.dark .principle{background:var(--ink)}
.gallery{display:grid;grid-template-columns:1.1fr .8fr 1.1fr;gap:18px;align-items:start}.gallery figure{margin:0}.gallery figure:nth-child(2){margin-top:90px}
.faq{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;align-items:center;padding:24px 0;border:0;background:transparent;text-align:left;color:inherit;font-size:1.08rem}.faq-question span:last-child{font-size:1.5rem;transition:.25s}.faq-question[aria-expanded="true"] span:last-child{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s}.faq-answer>div{overflow:hidden}.faq-answer p{padding:0 45px 24px 0;margin:0;color:var(--muted);max-width:760px}.faq-question[aria-expanded="true"]+.faq-answer{grid-template-rows:1fr}
.contact-grid{display:grid;grid-template-columns:5fr 7fr;min-height:720px}.contact-grid>*{min-width:0}.contact-info{padding:80px max(5vw,30px);background:var(--ink);color:var(--white)}.contact-info h2{font-size:clamp(2.1rem,3.4vw,3.2rem)}.contact-info dl{margin:45px 0}.contact-info dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:#aebbb3;margin-top:22px}.contact-info dd{margin:3px 0;font-size:1.08rem;overflow-wrap:anywhere}.prep{border-top:1px solid rgba(255,255,255,.24);margin-top:45px;padding-top:28px}.contact-form-wrap{padding:80px max(5vw,30px);background:var(--paper-2)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid>*{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:13px 2px;border-radius:0;min-height:50px}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--sage-dark);outline-offset:3px}.field .error{display:block;color:#862f2f;font-size:.78rem;min-height:1.25em}.form-note{font-size:.78rem;color:var(--muted);margin:18px 0}.form-status{font-size:.88rem;min-height:1.5em;margin-top:15px}
.legal-table-wrap{overflow-x:auto}.legal-table{width:100%;border-collapse:collapse;min-width:650px}.legal-table th,.legal-table td{text-align:left;padding:16px;border-bottom:1px solid var(--line);vertical-align:top}.legal-table th{font-size:.73rem;text-transform:uppercase;letter-spacing:.1em}
.cta-band{background:var(--sage);padding:80px 0}.cta-band .container{display:flex;align-items:end;justify-content:space-between;gap:40px}.cta-band h2{max-width:820px;margin:0}
.site-footer{background:#111714;color:#dce2dc;padding:78px 0 30px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:45px}.footer-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#96a49b}.footer-links{display:grid;gap:10px}.footer-links a,.cookie-settings-link{color:inherit;text-align:left;background:none;border:0;padding:0;text-decoration:none;font-size:.9rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:58px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:.76rem;color:#aab5ae}
.cookie-banner{position:fixed;z-index:300;left:20px;right:20px;bottom:20px;background:var(--white);box-shadow:var(--shadow);border:1px solid var(--line);padding:25px;display:none}.cookie-banner.open{display:block}.cookie-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-actions button{min-height:46px;padding:10px 16px;border:1px solid var(--ink);background:transparent}.cookie-actions .primary{background:var(--ink);color:var(--white)}dialog{border:0;padding:0;background:var(--white);color:var(--ink);box-shadow:var(--shadow);width:min(620px,calc(100% - 30px))}dialog::backdrop{background:rgba(11,16,14,.72)}.dialog-content{padding:34px}.setting{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid var(--line)}.setting input{width:22px;height:22px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.not-found{min-height:100svh;display:grid;place-items:center;text-align:center;padding:40px}.not-found .code{font:400 clamp(7rem,22vw,18rem)/.8 var(--serif);color:var(--sage-dark)}
:focus-visible{outline:3px solid #6c9d75;outline-offset:4px}
@media(max-width:1000px){.nav,.header-phone,.header-cta{display:none}.menu-toggle{display:block}.nav.open{display:flex;position:fixed;inset:88px 0 auto;background:var(--paper);color:var(--ink);padding:28px 24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:var(--shadow)}.nav.open a{padding:14px 0;border-bottom:1px solid var(--line)}.grid-2,.grid-2.reverse{grid-template-columns:1fr}.aside-title{position:static}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery figure:nth-child(2){margin-top:0}.gallery figure:last-child{grid-column:1/-1}.cta-band .container{align-items:start;flex-direction:column}}
@media(max-width:1000px){.container,.narrow{width:min(calc(100% - 32px),var(--max))}.header-inner{height:74px}.brand{min-width:0}.brand-name{max-width:155px}.nav.open{inset:74px 0 auto}.hero-content{padding-top:125px}.page-hero h1{font-size:clamp(2.65rem,9vw,3.7rem)}.hero-note{flex-direction:column;gap:5px}.section{padding:72px 0}.grid-3,.principles,.gallery,.form-grid{grid-template-columns:minmax(0,1fr)}.gallery figure:last-child{grid-column:auto}.service-row{grid-template-columns:48px minmax(0,1fr) auto}.service-row p{grid-column:2/-1}.process-item{grid-template-columns:62px minmax(0,1fr)}.process-item p{grid-column:2}.contact-info,.contact-form-wrap{padding:60px 24px}.field.full{grid-column:auto}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.cookie-banner{left:10px;right:10px;bottom:10px;padding:18px}.cookie-inner{grid-template-columns:minmax(0,1fr)}.cookie-actions{display:grid;grid-template-columns:minmax(0,1fr)}.cookie-actions .settings{grid-column:auto}.cookie-actions button{width:100%;white-space:normal}.cta-band{padding:60px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.image-frame img{transform:none!important}}
