@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url('fonts/cormorant-garamond-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 600;font-display:swap;src:url('fonts/dm-sans-normal.woff2') format('woff2')}
:root{color-scheme:light;--ink:#26322f;--deep:#18211e;--paper:#f4f1e9;--paper-light:#fbfaf6;--stone:#e9e5da;--muted:#68716b;--line:#d8d4c8;--accent:#a48a5d;--accent-deep:#796544;--white:#fff}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:7rem}
body{overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.hero{position:relative;height:100vh;height:100svh;min-height:620px;overflow:hidden;background:var(--deep);color:var(--white)}
.bg{position:absolute;left:0;right:0;top:-15%;bottom:-15%}
.bg img,.slides,.slide,.shade1,.shade2{position:absolute;inset:0}
.base,.slide img{width:100%;height:100%;object-fit:cover}
.slide img{position:absolute;inset:0}
.slide{opacity:0;transition:opacity 1.5s ease-in-out;overflow:hidden}
.slide.on{opacity:1}
.shade1{background:rgba(13,19,17,.45)}
.shade2{background:linear-gradient(180deg,rgba(12,18,15,.38),rgba(12,18,15,.03) 38%,rgba(12,18,15,.48))}
.slide img{animation:kenburns 12s ease-in-out forwards}
.slide.alt img{animation-name:kenburns-alt}
.paused .slide img{animation-play-state:paused}
@keyframes kenburns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.12) translate(-2%,-1.5%)}}
@keyframes kenburns-alt{0%{transform:scale(1.08) translate(-1%,0)}100%{transform:scale(1) translate(1%,1%)}}
.hero-nav{position:fixed;z-index:40;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1.25rem,5vw,5.5rem);border-bottom:1px solid #e2ded6;background:#f7f5f1;color:#282724}
.hero-brand{display:inline-flex;align-items:center;gap:.75rem;min-height:3.25rem;flex-shrink:0}
.hero-monogram{width:3.25rem;height:3.25rem;object-fit:contain;filter:brightness(0);opacity:.78}
.hero-wordmark{width:12.5rem;height:auto;object-fit:contain}
.hero-nav-links{display:flex;align-items:center;gap:clamp(1.2rem,3vw,3rem)}
.hero-nav-links a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:.7rem 0;color:#796544;font-size:.68rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase;transition:color .25s}
.hero-nav-links a::after{position:absolute;right:0;bottom:.35rem;left:0;height:1px;background:var(--accent);content:"";transform:scaleX(0);transform-origin:left;transition:transform .25s}
.hero-nav-links a:hover{color:#3f382c}
.hero-nav-links a:hover::after,.hero-nav-links a:focus-visible::after{transform:scaleX(1)}
.content{position:relative;z-index:10;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5.5rem 1.5rem 4rem}
.content .logo{width:6.25rem;height:6.25rem;object-fit:contain;margin-bottom:1.35rem}
h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;text-transform:uppercase;margin-bottom:1.8rem;color:#fff}
h1 span{display:block}
.name{font-size:1.65rem;line-height:2rem;letter-spacing:.12em;white-space:nowrap}
.sub{margin-top:.75rem;font-size:11px;letter-spacing:.32em;color:rgba(255,255,255,.85)}
.tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin-bottom:1.4rem;padding:0 1rem}
.contact{display:flex;flex-direction:column;align-items:center;gap:.375rem;color:rgba(255,255,255,.82);font-size:12px;letter-spacing:.025em;font-weight:300}
.phones{display:flex;align-items:center;gap:.75rem}
.dot{color:rgba(255,255,255,.45)}
.contact a{transition:color .2s;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.contact a:hover{color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.hero a:focus-visible,.hero button:focus-visible{outline-color:#fff}
.hero .hero-nav a:focus-visible{outline-color:#796544}
.content h1,.content .tag,.content .contact,.content .logo{opacity:1;animation:rise 1.2s cubic-bezier(.25,.46,.45,.94) both}
.content .logo{animation:none}
.content h1{animation-duration:1.3s;animation-delay:.7s}
.content .tag{animation-delay:1.1s}
.content .contact{animation-delay:1.3s}
@keyframes rise{from{opacity:.85;transform:translateY(20px)}to{opacity:1;transform:none}}
.scroll-cue{position:absolute;z-index:12;bottom:1.9rem;left:50%;display:flex;flex-direction:column;align-items:center;gap:.5rem;transform:translateX(-50%);color:rgba(255,255,255,.87);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase}
.scroll-cue::after{width:1px;height:2.5rem;background:linear-gradient(var(--accent),rgba(255,255,255,.3));content:"";transform-origin:top;animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.65);opacity:.6}50%{transform:scaleY(1);opacity:1}}
.toggle{position:absolute;bottom:1.5rem;left:1.5rem;z-index:30;min-height:2.75rem;padding:0 1rem;border:1px solid rgba(255,255,255,.6);background:rgba(24,33,30,.58);color:#fff;font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-radius:1px;cursor:pointer;transition:background .25s,border-color .25s}
.toggle:hover{background:rgba(24,33,30,.9);border-color:#fff}
.toggle[hidden]{display:none}
@media (min-width:640px){.name{font-size:2.25rem;line-height:2.5rem;letter-spacing:.22em}}
@media (min-width:768px){.content .logo{width:7rem;height:7rem}.name{font-size:3rem;line-height:1}.sub{font-size:13px;letter-spacing:.45em}.tag{font-size:15px;letter-spacing:.3em}.contact{font-size:14px}}
@media (min-width:1024px){.name{font-size:3.75rem}}
@media (max-width:640px){.hero-nav{flex-wrap:wrap;justify-content:space-between;row-gap:.2rem;padding:.65rem 1rem}.hero-brand{min-height:2.9rem;gap:.65rem}.hero-monogram{width:2.55rem;height:2.55rem}.hero-wordmark{width:min(11.75rem,calc(100vw - 6.2rem))}.hero-nav-links{width:100%;justify-content:flex-end;gap:clamp(1rem,5vw,1.5rem)}.hero-nav-links a{min-height:2.5rem;padding:.45rem 0;font-size:.59rem;letter-spacing:.1em}.hero-nav-links a::after{bottom:.15rem}html{scroll-padding-top:7.5rem}}
@media (max-width:520px){.content{padding-top:6rem}.name{font-size:1.4rem;letter-spacing:.1em}.sub{font-size:.57rem;letter-spacing:.2em}.toggle{left:.75rem;bottom:.75rem;font-size:10px}.scroll-cue{bottom:1rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide img,.scroll-cue::after{animation:none!important}.slide{transition:none}.content h1,.content .tag,.content .contact{animation:none;opacity:1}.hero-nav-links a::after{transition:none}}