:root{--bg:#f7f3ee;--surface:#efe8df;--ink:#2b2622;--muted:#7a6f66;--accent:#a0613f;--accent-dark:#834c30;--line:#ddd3c7;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, sans-serif;--gutter:clamp(16px, 5vw, 64px);--header-h:76px}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:300 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);margin:0 0 .5em;font-weight:500;line-height:1.15}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{z-index:20;height:var(--header-h);padding:0 var(--gutter);background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.site-header--overlay{color:#fff;background:0 0;border-bottom:0;position:fixed;inset:0 0 auto}.site-header--overlay:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#00000080,#0000);height:180px;position:absolute;inset:0 0 auto}.brand{font:500 1.9rem/1 var(--serif);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}#main-nav{gap:2.2rem;display:flex}#main-nav a{letter-spacing:.18em;text-transform:uppercase;padding:6px 0;font-size:.78rem;text-decoration:none;position:relative}#main-nav a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .35s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}#main-nav a:hover:after,#main-nav a.active:after{transform:scaleX(1)}.menu-toggle{display:none}@media (width<=720px){.menu-toggle{width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:0;display:block;position:relative}.menu-toggle span[aria-hidden],.menu-toggle span[aria-hidden]:before,.menu-toggle span[aria-hidden]:after{content:"";background:currentColor;width:22px;height:1.5px;transition:transform .3s;position:absolute;left:9px}.menu-toggle span[aria-hidden]{top:19px}.menu-toggle span[aria-hidden]:before{top:-7px;left:0}.menu-toggle span[aria-hidden]:after{top:7px;left:0}.menu-toggle[aria-expanded=true] span[aria-hidden]{background:0 0}.menu-toggle[aria-expanded=true] span[aria-hidden]:before{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] span[aria-hidden]:after{transform:translateY(-7px)rotate(-45deg)}#main-nav{top:var(--header-h);padding:8px var(--gutter) 20px;background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line);opacity:0;pointer-events:none;flex-direction:column;gap:0;transition:opacity .25s,transform .25s;position:absolute;left:0;right:0;transform:translateY(-8px)}#main-nav.open{opacity:1;pointer-events:auto;transform:none}#main-nav a{border-bottom:1px solid var(--line);padding:14px 0}#main-nav a:after{display:none}}.carousel{color:#fff;background:#1d1a17;height:100dvh;position:relative;overflow:hidden}.slide{opacity:0;pointer-events:none;margin:0;transition:opacity 1.4s;position:absolute;inset:0}.slide.is-active{opacity:1;z-index:1}.slide img{object-fit:cover;width:100%;height:100%;transform:scale(1.12)}.slide.is-active img{animation:9s ease-out forwards kenburns}.slide:after{content:"";background:linear-gradient(#0000 40%,#000000a6),linear-gradient(90deg,#00000059,#0000 60%);position:absolute;inset:0}.slide figcaption{text-shadow:0 2px 18px #00000059}@keyframes kenburns{0%{transform:scale(1.12)translate(1.5%,1%)}to{transform:scale(1)translate(0)}}.slide figcaption{z-index:2;left:var(--gutter);max-width:560px;position:absolute;bottom:110px}.slide figcaption>*{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(24px)}.slide.is-active figcaption>*{opacity:1;transform:none}.slide.is-active figcaption>:nth-child(2){transition-delay:.35s}.slide.is-active figcaption>:nth-child(3){transition-delay:.55s}.slide-count{letter-spacing:.25em;margin-bottom:1rem;font-size:.75rem;transition-delay:.15s;display:block}.slide h2{margin:0 0 .25em;font-size:clamp(2.6rem,7vw,5.5rem);font-weight:400}.slide p{letter-spacing:.04em;opacity:.9;margin:0;font-size:1.05rem}.carousel-arrow{z-index:3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;background:#0000001a;border:1px solid #ffffff80;border-radius:50%;width:56px;height:56px;font-size:2rem;line-height:1;transition:background .3s,border-color .3s;position:absolute;top:50%;translate:0 -50%}.carousel-arrow:hover{background:#fff3;border-color:#fff}.carousel-arrow.prev{left:var(--gutter)}.carousel-arrow.next{right:var(--gutter)}.carousel-dots{z-index:3;left:var(--gutter);right:var(--gutter);gap:10px;display:flex;position:absolute;bottom:48px}.carousel-dots button{cursor:pointer;background:0 0;border:0;flex:1;max-width:64px;height:20px;padding:0;position:relative}.carousel-dots button:before,.carousel-dots button span{content:"";background:#ffffff59;height:2px;position:absolute;top:9px;left:0;right:0}.carousel-dots button span{transform-origin:0;background:#fff;transform:scaleX(0)}.carousel-dots button.is-active span{animation:linear forwards progress}@keyframes progress{to{transform:scaleX(1)}}@media (width<=720px){.carousel-arrow{display:none}.slide figcaption{bottom:96px}}.page{padding:0 var(--gutter);max-width:1200px;margin:0 auto}.page-hero{max-width:820px;padding:clamp(56px,10vw,120px) 0 clamp(40px,6vw,72px)}.page-hero h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:400}.eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem;font-size:.75rem}.lead{color:var(--muted);margin:0;font-size:1.15rem}.page section,.contact-grid{animation:.8s both rise}.page section:nth-child(2){animation-delay:.1s}.page section:nth-child(3){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(20px)}}.button{background:var(--ink);color:var(--bg);cursor:pointer;font:400 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;border:0;border-radius:0;padding:15px 34px;text-decoration:none;transition:background .3s;display:inline-block}.button:hover{background:var(--accent)}.button:disabled{opacity:.6;cursor:wait}.about-split{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(32px,6vw,88px);margin-bottom:clamp(64px,10vw,128px);display:grid}.about-split img{aspect-ratio:4/5;object-fit:cover;width:100%}.about-split.reverse img{aspect-ratio:1;order:2}.about-split h2{font-size:clamp(2rem,4vw,2.8rem)}.about-split p{color:var(--muted)}.values{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:clamp(64px,10vw,128px);padding:clamp(48px,7vw,80px) 0;display:grid}.value-num{font:400 1rem var(--serif);color:var(--accent)}.values h3{margin-top:.4rem;font-size:1.7rem}.values p{color:var(--muted);margin:0}.services{margin:0 0 2rem;padding:0;list-style:none}.services li{border-bottom:1px solid var(--line);padding:12px 0}@media (width<=820px){.about-split{grid-template-columns:1fr}.about-split.reverse img{order:0}.values{grid-template-columns:1fr}}.contact-grid{grid-template-columns:1fr 2fr;gap:clamp(32px,6vw,96px);padding-bottom:clamp(64px,10vw,128px);display:grid}.contact-info{flex-direction:column;gap:28px;display:flex}.contact-info h3{font:400 .72rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 .3rem}.contact-info p,.contact-info a{margin:0;font-size:1.05rem;text-decoration:none}.contact-info a:hover{color:var(--accent)}.contact-form{flex-direction:column;gap:24px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.contact-form label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:8px;font-size:.72rem;display:flex}.optional{text-transform:none;letter-spacing:0}.contact-form input,.contact-form select,.contact-form textarea{font:300 1rem/1.5 var(--sans);color:var(--ink);border:0;border-bottom:1px solid var(--line);resize:vertical;background:0 0;border-radius:0;outline:none;width:100%;padding:12px 0;transition:border-color .3s}.contact-form select{appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237a6f66'/%3E%3C/svg%3E") 100% no-repeat}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--ink)}:is(.contact-form input:user-invalid,.contact-form textarea:user-invalid){border-color:#b3412f}.contact-form .button{align-self:flex-start}.honeypot{position:absolute;left:-9999px}.form-error{color:#b3412f;margin:0}.form-success{background:var(--surface);align-self:start;padding:clamp(32px,5vw,56px)}.form-success h2{font-size:2.4rem}.form-success p{color:var(--muted);margin:0 0 1.5rem}@media (width<=820px){.contact-grid{grid-template-columns:1fr}.contact-grid .contact-form,.contact-grid .form-success{order:-1}.field-row{grid-template-columns:1fr}}.site-footer{padding:28px var(--gutter);border-top:1px solid var(--line);letter-spacing:.1em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.78rem;display:flex}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
