:root{--ink:#0b0d0c;--paper:#f6f4ef;--gold:#c49a45;--green:#174438;--muted:#69716d;--line:rgb(11 13 12 / 14%);font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y mandatory;scroll-padding-top:0}body{margin:0;line-height:1.55}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:10;padding:.7rem 1rem;background:#fff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{position:fixed;inset:0 0 auto;z-index:5;height:76px;max-width:none;padding:1rem max(1.5rem,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:2rem;background:linear-gradient(to bottom,rgb(246 244 239 / 94%),rgb(246 244 239 / 0));backdrop-filter:blur(3px)}.brand{display:flex;align-items:center;gap:.75rem;text-transform:uppercase;line-height:1.05}.brand-mark{color:var(--gold);font:700 1.75rem/1 "Playfair Display",serif;letter-spacing:-.15em}.brand strong,.brand small{display:block}.brand strong{font-size:.76rem;letter-spacing:.08em}.brand small{margin-top:.25rem;color:var(--green);font-size:.58rem;font-weight:700;letter-spacing:.17em}nav{display:flex;align-items:center;gap:1.7rem;font-size:.87rem;font-weight:600}nav a:not(.nav-cta){border-bottom:1px solid transparent}nav a:not(.nav-cta):hover{border-color:var(--gold)}.nav-cta{padding:.68rem 1rem;border:1px solid var(--ink);border-radius:999px}.nav-toggle{display:none}
main>section{min-height:100svh;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}main>section>*{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}main>section.is-active>*{opacity:1;transform:none}main>section.is-active>*:nth-child(2){transition-delay:.13s}main>section.is-active>*:nth-child(3){transition-delay:.24s}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);max-width:1440px;margin:auto;padding:6.8rem max(2rem,calc((100vw - 1240px)/2)) 3rem;align-items:center;gap:clamp(2rem,6vw,7rem)}.eyebrow{margin:0 0 1rem;color:var(--green);text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:700}.hero h1,.section h2{margin:.1rem 0 1.4rem;font:600 clamp(2.8rem,5.8vw,5.5rem)/.99 "Playfair Display",serif;letter-spacing:-.045em}.hero h1 em{color:var(--gold);font-style:normal}.hero-intro{max-width:35rem;color:#4c5550;font-size:1.1rem}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin:2rem 0}.button{display:inline-flex;justify-content:center;gap:1.2rem;border:0;border-radius:2px;padding:.95rem 1.25rem;font:700 .84rem "DM Sans",sans-serif;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold)}.button-dark{width:100%;background:var(--ink);color:#fff}.text-link{font-size:.88rem;font-weight:700}.text-link span{color:var(--gold);margin-left:.35rem}.trust-list{display:flex;flex-wrap:wrap;padding:0;margin:2.3rem 0 0;list-style:none;color:var(--muted);font-size:.76rem}.trust-list li+li:before{content:"•";padding:0 .6rem;color:var(--gold)}.hero-portrait{position:relative;max-width:540px;justify-self:end}.hero-portrait:before{content:"";position:absolute;inset:-1.1rem 1.1rem 1.1rem -1.1rem;z-index:-1;border:1px solid var(--gold)}.hero-portrait img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.portrait-note{position:absolute;bottom:1.3rem;left:-2rem;padding:.9rem 1.1rem;background:var(--green);color:#fff;box-shadow:0 10px 25px rgb(0 0 0 / 18%)}.portrait-note span,.portrait-note strong{display:block}.portrait-note span{color:#d9c491;font-size:.63rem;letter-spacing:.12em;text-transform:uppercase}.portrait-note strong{margin-top:.15rem;font-size:.82rem}
.section{padding:7.2rem max(2rem,calc((100vw - 1240px)/2)) 3rem}.services{background:#111412;color:#fff;display:grid;align-content:center}.services .eyebrow{color:#d8b46b}.services h2{font-size:clamp(2.5rem,5vw,4.6rem)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgb(255 255 255 / 17%);margin-top:2.2rem}.service-grid article{min-height:142px;padding:1rem 1.2rem 1rem 0;border-right:1px solid rgb(255 255 255 / 17%);border-bottom:1px solid rgb(255 255 255 / 17%)}.service-grid article:nth-child(4n){border-right:0}.service-grid span{color:#d8b46b;font-size:.7rem}.service-grid h3{margin:1rem 0 .35rem;font:600 1.2rem "Playfair Display",serif}.service-grid p{margin:0;max-width:16rem;color:#bac0ba;font-size:.78rem}.about{display:grid;grid-template-columns:.45fr 1.25fr 1fr;gap:2.2rem;align-items:center}.about h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:0}.about-accent{color:var(--gold);font:700 clamp(4rem,9vw,8rem)/1 "Playfair Display",serif;letter-spacing:-.2em}.about-copy{margin:0;color:#4c5550;font-size:1.05rem}.gold-link{grid-column:2}.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,10rem);align-content:center;background:#e7e1d4}.contact h2{font-size:clamp(2.45rem,4vw,4.3rem)}.contact-copy>p:not(.eyebrow){color:#536058;max-width:32rem}.contact-methods{display:grid;gap:.2rem;margin:1.6rem 0}.contact-methods a{display:flex;align-items:center;gap:.8rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.88rem}.contact-methods a>span:first-child{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--gold);border-radius:50%;color:var(--green)}.contact-methods small{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.09em}address{color:#4c5550;font-size:.88rem;font-style:normal}.contact-form{align-self:center;padding:clamp(1.5rem,3vw,2.25rem);background:#fff;box-shadow:0 18px 40px rgb(44 43 34 / 9%)}.form-header{margin-bottom:1.2rem}.form-header span{color:var(--green);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.form-header p{margin:.3rem 0 0;color:var(--muted);font-size:.87rem}.contact-form label{display:block;margin-top:.75rem;color:#313a34;font-size:.76rem;font-weight:700}.contact-form input,.contact-form textarea{width:100%;margin-top:.3rem;padding:.55rem 0;border:0;border-bottom:1px solid #c9cbc7;outline:0;color:var(--ink);background:transparent;font:400 .9rem "DM Sans",sans-serif;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green)}.form-status{min-height:1.1rem;margin:.7rem 0 0;color:#a4342c;font-size:.75rem}.form-note{color:var(--muted);font-size:.7rem;line-height:1.4}footer{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem max(2rem,calc((100vw - 1240px)/2));background:var(--ink);color:#d6d8d4;font-size:.75rem}
@media(max-width:850px){html{scroll-snap-type:y proximity}.site-header{height:72px;padding:1rem 1.35rem}.nav-toggle{display:block;border:0;background:transparent;cursor:pointer}.nav-toggle span:not(.sr-only){display:block;width:22px;height:1px;margin:5px;background:var(--ink)}nav{display:none;position:absolute;top:62px;left:1rem;right:1rem;z-index:5;flex-direction:column;align-items:stretch;padding:1.3rem;background:#fff;box-shadow:0 15px 30px rgb(0 0 0 / 12%)}nav.is-open{display:flex}.nav-cta{text-align:center}main>section{min-height:100svh;overflow:visible}.hero{grid-template-columns:1fr;padding:6.5rem 1.5rem 4rem}.hero-portrait{width:min(100%,500px);justify-self:center;margin-top:1rem}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article:nth-child(4n){border-right:1px solid rgb(255 255 255 / 17%)}.service-grid article:nth-child(2n){border-right:0}.about,.contact{grid-template-columns:1fr}.about-accent{display:none}.gold-link{grid-column:auto}.section{padding:6rem 1.5rem 4rem}.contact{gap:2rem}footer{scroll-snap-align:start}}
@media(max-width:480px){.brand strong{font-size:.65rem}.hero h1{font-size:2.85rem}.hero-actions{align-items:flex-start;flex-direction:column}.portrait-note{left:0}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:nth-child(2n){border-right:0}.contact-methods a{align-items:flex-start}.contact-methods a span:last-child{overflow-wrap:anywhere}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}main>section>*{opacity:1;transform:none;transition:none}}
