:root{--ink: #1c1b19;--black: #111110;--white: #ffffff;--cream: #f6f4f0;--stone: #ece8e1;--line: #ddd8cf;--muted: #6f6b62;--brass: #9c7c4a;--brass-dk: #856839;--font-serif: "Playfair Display", Georgia, "Times New Roman", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--wrap: 1200px;--gap: clamp(1.5rem, 4vw, 4rem);--radius: 2px;--shadow: 0 18px 50px -24px rgba(17, 17, 16, .35);--ease: cubic-bezier(.22, .61, .36, 1)}*,*:before,*:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--ink);background:var(--white);line-height:1.7;font-size:1rem;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}ul{list-style:none;padding:0}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.12;letter-spacing:-.01em}.eyebrow{font-family:var(--font-sans);font-size:.74rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-dk);display:inline-block}.h1{font-size:clamp(2.6rem,6vw,4.7rem)}.h2{font-size:clamp(2rem,4vw,3.2rem)}.h3{font-size:clamp(1.35rem,2.2vw,1.7rem)}.lead{font-size:clamp(1.05rem,1.5vw,1.28rem);color:var(--muted);line-height:1.65}p{max-width:68ch}strong{font-weight:600}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.section{padding-block:clamp(3.5rem,8vw,7rem)}.section--cream{background:var(--cream)}.section--stone{background:var(--stone)}.section--dark{background:var(--black);color:var(--cream)}.section--tight{padding-block:clamp(2.5rem,5vw,4rem)}.section-head{max-width:56ch;margin-bottom:clamp(2rem,4vw,3.25rem)}.section-head .h2{margin-top:.7rem}.section-head.center{margin-inline:auto;text-align:center}.grid{display:grid;gap:var(--gap)}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.cols-3,.cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-sans);font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:1rem 1.8rem;border:1px solid var(--black);background:var(--black);color:var(--white);transition:background .25s var(--ease),color .25s var(--ease),transform .2s var(--ease)}.btn:hover{background:var(--brass-dk);border-color:var(--brass-dk);transform:translateY(-2px)}.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}.btn--light{background:var(--white);color:var(--black);border-color:var(--white)}.btn--light:hover{background:var(--brass);border-color:var(--brass);color:var(--white)}.btn--lg{padding:1.15rem 2.3rem}.btn-row{display:flex;flex-wrap:wrap;gap:1rem}.textlink{font-family:var(--font-sans);font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--brass);padding-bottom:3px;transition:color .2s var(--ease)}.textlink:hover{color:var(--brass-dk)}.site-header{position:sticky;top:0;z-index:50;background:#fffffff5;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:84px}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{width:42px;height:42px;flex:none;background:var(--black);color:var(--white);display:grid;place-items:center;font-family:var(--font-serif);font-size:1.6rem;font-weight:600}.brand-name{font-family:var(--font-serif);font-size:1.15rem;font-weight:600;line-height:1.05;letter-spacing:.01em}.brand-name span{display:block;font-family:var(--font-sans);font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:1.8rem}.main-nav a{font-size:.82rem;font-weight:500;letter-spacing:.06em;color:var(--ink);padding-block:.4rem;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--brass);transition:right .25s var(--ease)}.main-nav a:hover:after,.main-nav a[aria-current=page]:after{right:0}.header-cta{display:flex;align-items:center;gap:1.1rem}.header-phone{font-family:var(--font-serif);font-size:1.05rem;font-weight:600;white-space:nowrap}.header-phone span{display:block;font-family:var(--font-sans);font-size:.58rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);background:var(--white);flex-direction:column;gap:5px;align-items:center;justify-content:center}.nav-toggle span{width:18px;height:1.5px;background:var(--ink);transition:.25s var(--ease)}@media(max-width:1080px){.main-nav,.header-phone{display:none}.nav-toggle{display:flex}.main-nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:0;position:absolute;left:0;right:0;top:84px;background:var(--white);border-bottom:1px solid var(--line);padding:.5rem clamp(1.25rem,4vw,2.5rem) 1.25rem}.main-nav.open a{width:100%;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:.95rem}.main-nav.open a:after{display:none}}@media(max-width:520px){.header-cta .btn{display:none}}.hero{position:relative;background:var(--black);color:var(--white);overflow:hidden}.hero-img{position:absolute;inset:0}.hero-img img{width:100%;height:100%;object-fit:cover;opacity:.55}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#111110eb,#1111108c 55%,#11111040)}.hero-inner{position:relative;z-index:2;padding-block:clamp(5rem,13vw,9.5rem);max-width:760px}.hero .h1{color:var(--white);margin:1rem 0 1.5rem}.hero .lead{color:#ffffffd1;margin-bottom:2.25rem}.hero .eyebrow{color:#d8b87f}.page-hero{background:var(--black);color:var(--white)}.page-hero .hero-inner{max-width:820px}.page-hero .h1{color:var(--white);margin:.9rem 0 1.1rem}.page-hero .lead{color:#fffc}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.split--reverse .split-media{order:2}.split-media img{width:100%;aspect-ratio:4 / 3;object-fit:cover;box-shadow:var(--shadow)}@media(max-width:820px){.split{grid-template-columns:1fr}.split--reverse .split-media{order:0}}.card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card-img{aspect-ratio:3 / 2;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.card:hover .card-img img{transform:scale(1.05)}.card-body{padding:1.6rem 1.6rem 1.8rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.card-body .h3{margin:0}.card-body p{color:var(--muted);font-size:.96rem}.card-num{font-family:var(--font-serif);font-size:2.4rem;color:var(--brass);line-height:1;margin-bottom:.3rem}.feature{display:flex;flex-direction:column;gap:.55rem;padding:1.9rem;background:var(--white);border:1px solid var(--line)}.feature .h3{font-size:1.25rem}.feature p{color:var(--muted);font-size:.95rem}.section--dark .feature{background:#1b1a18;border-color:#2c2a26}.section--dark .feature p{color:#ffffffa8}.section--dark .feature .h3{color:var(--white)}.step{display:flex;gap:1.4rem}.step-num{font-family:var(--font-serif);font-size:1.6rem;font-weight:600;color:var(--white);background:var(--black);width:58px;height:58px;flex:none;display:grid;place-items:center}.step-body .h3{font-size:1.2rem;margin-bottom:.3rem}.step-body p{color:var(--muted);font-size:.96rem}.checklist{display:grid;gap:.9rem}.checklist li{display:flex;gap:.85rem;align-items:flex-start;font-size:1rem}.checklist li:before{content:"";flex:none;width:22px;height:22px;margin-top:2px;background:var(--brass);-webkit-mask:var(--check) center / 13px no-repeat;mask:var(--check) center / 13px no-repeat}:root{--check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.2 11.8 2.4 8l1.3-1.3 2.5 2.5 6-6L13.6 4.5z'/%3E%3C/svg%3E")}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}.stat-num{font-family:var(--font-serif);font-size:clamp(2.4rem,5vw,3.4rem);line-height:1;color:var(--white)}.stat-label{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#fff9;margin-top:.6rem}@media(max-width:720px){.stats{grid-template-columns:repeat(2,1fr);gap:2.2rem}}.gallery-grid{columns:3;column-gap:1.1rem}.gallery-grid figure{break-inside:avoid;margin-bottom:1.1rem;overflow:hidden}.gallery-grid img{width:100%;transition:transform .6s var(--ease),filter .4s var(--ease)}.gallery-grid figure:hover img{transform:scale(1.04)}@media(max-width:900px){.gallery-grid{columns:2}}@media(max-width:560px){.gallery-grid{columns:1}}.form{display:grid;gap:1.1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}@media(max-width:560px){.form-row{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.field input,.field textarea,.field select{font:inherit;font-size:.98rem;color:var(--ink);padding:.85rem .95rem;border:1px solid var(--line);background:var(--white);border-radius:var(--radius);transition:border-color .2s var(--ease)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brass)}.field textarea{resize:vertical;min-height:130px}.form-note{font-size:.8rem;color:var(--muted);line-height:1.6}.form-status{font-size:.95rem;padding:.9rem 1.1rem;border-radius:var(--radius);display:none}.form-status.ok{display:block;background:#eef3ec;border:1px solid #cdddc6;color:#2f5128}.form-status.err{display:block;background:#f7ecec;border:1px solid #e2c6c6;color:#7a2e2e}.info-card{background:var(--white);border:1px solid var(--line);padding:2rem}.info-card .h3{font-size:1.2rem;margin-bottom:.9rem}.info-line{display:flex;flex-direction:column;gap:.15rem;margin-bottom:1rem}.info-line span{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.info-line a,.info-line p{font-size:1.05rem;font-weight:500}.faq details{border-bottom:1px solid var(--line);padding:1.3rem 0}.faq summary{font-family:var(--font-serif);font-size:1.2rem;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-sans);font-weight:400;color:var(--brass);font-size:1.5rem;line-height:1}.faq details[open] summary:after{content:"–"}.faq details p{margin-top:.8rem;color:var(--muted)}.cta-band{text-align:center}.cta-band .h2{color:var(--white);max-width:22ch;margin:.8rem auto 1.2rem}.cta-band .lead{color:#ffffffb8;max-width:56ch;margin:0 auto 2rem}.site-footer{background:var(--black);color:#ffffffb3;padding-block:clamp(3rem,6vw,4.5rem) 2rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}@media(max-width:760px){.footer-grid{grid-template-columns:1fr;gap:2rem}}.footer-brand .brand-name{color:var(--white)}.footer-brand p{font-size:.92rem;margin-top:1rem;max-width:38ch}.footer-col h4{font-family:var(--font-sans);font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ffffff80;margin-bottom:1rem}.footer-col a,.footer-col p{display:block;font-size:.95rem;padding:.28rem 0;color:#ffffffc7}.footer-col a:hover{color:var(--brass)}.footer-bottom{margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid #2a2825;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:#ffffff80}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}.center{text-align:center}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mb-0{margin-bottom:0}.muted{color:var(--muted)}.maxw{max-width:60ch}.maxw.center{margin-inline:auto}
