@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Montserrat:wght@400;500&display=swap');

:root { --ink:#272522; --sand:#a89b89; --cream:#f8f5f1; --line:#cec5ba; --footer:#aaa08f; --content: min(100%, 57rem); }
* { box-sizing:border-box; }
html { background:var(--cream); scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Montserrat,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-shell { min-height:calc(100svh - 5.5rem); display:grid; grid-template-columns:minmax(0, 1.85fr) minmax(25rem, 1fr); }
.content { grid-column:1; grid-row:1; display:grid; place-items:center; padding:clamp(2rem, 5vw, 5.25rem); }
.content-inner { width:var(--content); text-align:center; display:flex; min-height:100%; flex-direction:column; align-items:center; justify-content:space-between; gap:2.75rem; }
.hero { grid-column:2; grid-row:1; overflow:hidden; background:#d8d0c5; }
.hero picture,.hero img { width:100%; height:100%; display:block; }
.hero img { object-fit:cover; transform:scale(1.001); }
.brand { margin-top:auto; }
.brand-name { margin:0; font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(3.1rem, 6vw, 6.4rem); font-weight:400; letter-spacing:.26em; line-height:.78; text-indent:.26em; text-transform:uppercase; }
.brand-subline { display:flex; align-items:center; justify-content:center; gap:clamp(1rem, 2vw, 2.75rem); margin-top:clamp(.9rem, 1.5vw, 1.4rem); color:var(--sand); }
.brand-subline span { display:block; height:2px; width:clamp(3.5rem, 6vw, 5.5rem); background:var(--line); }
.brand-subline p { margin:0; font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(1.55rem, 2.6vw, 2.7rem); letter-spacing:.34em; line-height:1; text-indent:.34em; text-transform:uppercase; }
.announcement { animation:rise .8s both; }
.eyebrow { margin:0 0 .72rem; font-size:.71rem; letter-spacing:.38em; line-height:1.5; text-indent:.38em; text-transform:uppercase; }
h1 { margin:0; color:var(--sand); font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(3rem, 5.1vw, 5.5rem); font-weight:500; letter-spacing:.23em; line-height:.95; text-indent:.23em; text-transform:uppercase; }
.intro { margin:clamp(1.65rem, 3vw, 2.4rem) auto 1.4rem; max-width:38rem; font-size:clamp(.72rem, .9vw, .84rem); letter-spacing:.04em; line-height:1.6; }
.button { min-height:3rem; min-width:min(100%, 15.7rem); display:inline-flex; align-items:center; justify-content:center; gap:.8rem; padding:.85rem 1.25rem; border:1px solid #ded7d0; box-shadow:inset 2px 0 #e7e0d8,inset -2px 0 #e7e0d8; color:var(--sand); font-size:.68rem; letter-spacing:.34em; text-indent:.34em; text-transform:uppercase; transition:background .25s,color .25s,transform .25s; }
.button span { font-size:1rem; line-height:0; }
.button:hover,.button:focus-visible { color:var(--cream); background:var(--sand); transform:translateY(-2px); }
.button:focus-visible,.social-links a:focus-visible,.contact a:focus-visible { outline:2px solid var(--sand); outline-offset:4px; }
.contact { margin-top:auto; display:flex; flex-wrap:wrap; justify-content:center; gap:.65rem 1.05rem; font-style:normal; font-size:clamp(.62rem,.75vw,.72rem); letter-spacing:.14em; line-height:1.6; text-transform:uppercase; }
.contact a { transition:color .2s; }.contact a:hover { color:var(--sand); }
.social-links { display:flex; align-items:center; gap:2.2rem; }
.social-links a { color:var(--sand); transition:transform .2s,color .2s; }.social-links a:hover { color:var(--ink); transform:translateY(-3px); }.social-links svg { width:1.5rem; height:1.5rem; fill:none; stroke:currentColor; stroke-width:1.8; }
footer { min-height:5.5rem; display:flex; align-items:center; justify-content:center; gap:clamp(2rem,9vw,10rem); padding:1rem 2rem; background:var(--footer); color:#fcfbf8; font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(1rem,1.45vw,1.35rem); letter-spacing:.27em; text-align:center; text-transform:uppercase; }
footer i { width:1px; height:2.5rem; background:rgba(255,255,255,.5); }
@keyframes rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media (max-width:1023px) { .site-shell { min-height:auto; grid-template-columns:1fr; grid-template-rows:minmax(19rem,46svh) auto; } .hero { grid-column:1; grid-row:1; } .content { grid-column:1; grid-row:2; padding:clamp(3rem,8vw,5rem) clamp(1.5rem,7vw,4.5rem); } .content-inner { gap:3rem; } .brand { margin-top:0; } .contact { margin-top:0; } }
@media (max-width:599px) { .site-shell { grid-template-rows:43svh auto; } .content { padding:3rem 1.4rem 2.5rem; } .content-inner { gap:2.7rem; } .brand-name { font-size:clamp(2.85rem,14vw,4.2rem); } .brand-subline { gap:1rem; }.brand-subline span { width:3.2rem; }.brand-subline p { font-size:1.42rem; } .intro br { display:none; } .contact { flex-direction:column; gap:.3rem; }.contact [aria-hidden="true"] { display:none; } footer { min-height:7.5rem; flex-direction:column; gap:.45rem; font-size:1.05rem; letter-spacing:.2em; } footer i { display:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }
