@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Oswald:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root { --ink:#1c1713; --paper:#f1e7d3; --rust:#bb4a27; --gold:#e2a63b; --night:#221813; --line:rgba(241,231,211,.22); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--paper); background:var(--night); font-family:"DM Mono",monospace; font-size:14px; line-height:1.65; }
a { color:inherit; }
.site-notice { position:relative; z-index:3; padding:9px 5vw; text-align:center; color:#211812; background:var(--gold); font-size:10px; font-weight:500; letter-spacing:.07em; text-transform:uppercase; }
.masthead { position:absolute; top:42px; left:0; right:0; z-index:2; display:flex; justify-content:space-between; align-items:center; padding:24px 5vw; border-bottom:1px solid var(--line); }
.brand { color:var(--paper); font-family:"Oswald",sans-serif; font-size:23px; font-weight:700; letter-spacing:.04em; line-height:.85; text-decoration:none; }
.brand span { display:block; color:var(--gold); font-size:12px; letter-spacing:.3em; }
.header-link { font-size:10px; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.hero { position:relative; isolation:isolate; display:flex; min-height:680px; padding:180px 11vw 95px; flex-direction:column; justify-content:center; overflow:hidden; background:radial-gradient(circle at 78% 30%, rgba(187,74,39,.55), transparent 19%), radial-gradient(circle at 63% 70%, rgba(226,166,59,.19), transparent 22%), linear-gradient(130deg,#17110f 0%,#2d1b16 58%,#15100e 100%); }
.hero::before { position:absolute; z-index:-1; content:"✦"; right:8vw; top:170px; color:var(--gold); font-family:Georgia,serif; font-size:min(30vw,360px); line-height:1; opacity:.14; transform:rotate(13deg); }
.hero::after { position:absolute; z-index:-1; content:""; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.38),transparent 70%); }
.hero-grain { position:absolute; z-index:-1; inset:0; opacity:.18; background-image:repeating-linear-gradient(90deg,transparent 0 5px,rgba(255,255,255,.08) 6px 7px); mix-blend-mode:soft-light; }
.eyebrow,.section-kicker { color:var(--gold); font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:870px; margin:20px 0 23px; font-family:"Oswald",sans-serif; font-size:clamp(54px,9.5vw,136px); font-weight:600; letter-spacing:-.035em; line-height:.87; text-transform:uppercase; }
h1 em { color:var(--gold); font-family:"Playfair Display",serif; font-weight:600; text-transform:none; }
.hero-copy { max-width:520px; color:#ead9bf; font-size:15px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; width:max-content; min-width:205px; margin-top:18px; padding:14px 16px; border:1px solid var(--gold); color:var(--paper); font-size:10px; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; transition:.2s ease; }
.button:hover { background:var(--gold); color:var(--ink); }
.hero-stamp { position:absolute; right:10vw; bottom:75px; display:flex; width:112px; height:112px; align-items:center; justify-content:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold); text-align:center; transform:rotate(-12deg); }
.hero-stamp span { font-family:"Playfair Display",serif; font-size:45px; font-style:italic; }.hero-stamp small { position:absolute; font-size:7px; letter-spacing:.06em; line-height:1.25; }
.statement { display:grid; grid-template-columns:1fr 2fr; gap:8vw; padding:105px 11vw; color:var(--ink); background:var(--paper); }.statement .section-kicker { color:var(--rust); }.statement h2,.visit h2 { margin:0 0 23px; font-family:"Playfair Display",serif; font-size:clamp(34px,5vw,68px); line-height:1.02; }.statement p:last-child { max-width:580px; color:#514238; font-size:16px; }
.visit { padding:100px 11vw; background:linear-gradient(135deg,#281914,#100d0c); }.visit-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:54px; }.visit h2 { margin:0; }.details-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.details-grid article { min-height:160px; padding:23px 20px 18px 0; border-bottom:1px solid var(--line); }.details-grid article+article { padding-left:20px; border-left:1px solid var(--line); }.details-grid h3 { margin-bottom:17px; color:var(--gold); font-size:10px; font-weight:400; letter-spacing:.16em; text-transform:uppercase; }.details-grid p { margin:0; font-size:13px; }.details-grid a { text-underline-offset:4px; }.details-grid small { color:#bcae9c; font-size:10px; }.detail-note { margin-top:25px; color:#bcae9c; font-size:10px; }
.closing { padding:70px 11vw; background:var(--rust); }.closing .section-kicker { color:#2b1710; }.closing p:last-child { max-width:760px; margin:0; color:#f7e7cf; font-family:"Playfair Display",serif; font-size:clamp(20px,2.5vw,31px); line-height:1.3; }
footer { display:flex; justify-content:space-between; padding:24px 5vw; color:#bcae9c; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }footer a { text-decoration:none; }
@media (max-width:700px) { .masthead { padding:18px 6vw; }.header-link { display:none; }.hero { min-height:630px; padding:150px 8vw 70px; }.hero-stamp { right:8vw; bottom:38px; width:84px; height:84px; }.hero-stamp span { font-size:35px; }.statement { display:block; padding:72px 8vw; }.statement .section-kicker { margin-bottom:35px; }.visit,.closing { padding:70px 8vw; }.visit-heading { display:block; }.visit-heading .section-kicker { margin-bottom:20px; }.details-grid { display:block; }.details-grid article,.details-grid article+article { min-height:auto; padding:22px 0; border-left:0; }.closing p:last-child { font-size:22px; } footer { padding:20px 8vw; } }
