
:root{
  --black:#070706;
  --ink:#0d0c0a;
  --panel:#12100e;
  --cream:#f1e8dc;
  --muted:#b9aa98;
  --gold:#b59657;
  --gold-light:#ddc48d;
  --line:rgba(181,150,87,.38);
  --white:#fffaf3;
  --max:1240px;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--cream);font-family:var(--sans);line-height:1.6}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit}
.skip-link{position:absolute;left:-9999px;top:10px;background:var(--cream);color:#000;padding:.75rem 1rem;z-index:999}
.skip-link:focus{left:10px}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.section{padding:clamp(72px,8vw,118px) 0}
.section-tight{padding:54px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.71rem;color:var(--gold-light)}
h1,h2,h3,.brand,.display{font-family:var(--serif);font-weight:400}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.25rem,8.5vw,8rem);line-height:.94;letter-spacing:.08em}
h2{font-size:clamp(2.3rem,5vw,4.7rem);line-height:1.05;letter-spacing:.08em}
h3{font-size:clamp(1.35rem,2vw,2rem);letter-spacing:.05em}
.lede{font-family:var(--serif);font-size:clamp(1.05rem,1.7vw,1.32rem);font-style:italic;color:#d5c9bb;max-width:700px}
.muted{color:var(--muted)}
.gold{color:var(--gold-light)}
.center{text-align:center}
.rule{width:70px;height:1px;background:var(--gold);margin:20px auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:0 24px;border:1px solid var(--gold);background:transparent;color:var(--cream);text-decoration:none;text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;cursor:pointer;transition:.25s}
.btn:hover,.btn:focus{background:var(--gold);color:#080706}
.btn-light{background:var(--cream);border-color:var(--cream);color:#0a0908}
.btn-light:hover{background:var(--gold);border-color:var(--gold)}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.actions.center{justify-content:center}
.site-header{position:fixed;inset:0 0 auto;z-index:50;background:linear-gradient(#050504ee,#050504aa 72%,transparent);border-bottom:1px solid rgba(255,255,255,.03)}
.nav-wrap{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;letter-spacing:.2em;font-size:1.15rem;white-space:nowrap}
.brand small{display:block;font:500 .54rem var(--sans);letter-spacing:.35em;color:var(--muted);margin-top:3px}
.nav{display:flex;align-items:center;gap:24px}
.nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.64rem;color:#ded3c6}
.nav a:hover,.nav a[aria-current="page"]{color:var(--gold-light)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--cream);padding:9px 11px;cursor:pointer}
.hero{min-height:100svh;display:grid;align-items:center;position:relative;overflow:hidden;padding:125px 0 70px;background:
linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.78)),
url("../images/hero.svg") center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:170px;background:linear-gradient(transparent,var(--black))}
.hero-content{position:relative;z-index:2;max-width:850px;margin-left:auto;text-align:center}
.hero h1 span{display:block;font-size:.28em;letter-spacing:.42em;margin-bottom:18px;color:var(--gold-light)}
.hero .lede{margin:25px auto}
.intro-band{background:linear-gradient(90deg,#0b0a09,#16130f,#0b0a09);border-block:1px solid rgba(255,255,255,.05)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.feature-card,.journal-card,.info-card{position:relative;border:1px solid var(--line);background:var(--panel);overflow:hidden}
.feature-card{min-height:380px;display:grid;align-items:end;text-decoration:none}
.feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.58) saturate(.78);transition:.4s}
.feature-card:hover img{transform:scale(1.025);filter:brightness(.72) saturate(.95)}
.card-overlay{position:relative;z-index:2;padding:35px;text-align:center;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.card-overlay p{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#d5c8b6}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gallery figure{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;background:#171410}
.gallery img{width:100%;height:100%;object-fit:cover;filter:brightness(.82) saturate(.78);transition:.35s}
.gallery figure:hover img{transform:scale(1.025);filter:brightness(.95) saturate(.98)}
.gallery figcaption{position:absolute;inset:auto 14px 12px;font-size:.66rem;text-transform:uppercase;letter-spacing:.15em;text-shadow:0 2px 8px #000}
.journal-card img{aspect-ratio:4/3;width:100%;object-fit:cover;filter:brightness(.75) saturate(.72)}
.journal-body{padding:24px}
.journal-body .meta{font-size:.65rem;color:var(--gold-light);text-transform:uppercase;letter-spacing:.16em}
.text-link{text-decoration:none;color:var(--gold-light);text-transform:uppercase;letter-spacing:.12em;font-size:.67rem}
.text-link:hover{text-decoration:underline}
.icon-row{border-block:1px solid var(--line);background:#0d0b09}
.icon-card{text-align:center;padding:28px 18px}
.icon{font-family:var(--serif);font-size:2rem;color:var(--gold-light)}
.page-hero{padding:155px 0 75px;background:radial-gradient(circle at 50% 20%,#282117,#090807 65%);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(3rem,7vw,6.6rem)}
.about-photo{min-height:610px;border:1px solid var(--line);background:url("../images/about.svg") center/cover no-repeat}
.prose{max-width:790px}
.prose h2{font-size:2rem;letter-spacing:.04em;margin-top:2.5rem}
.prose p,.prose li{color:#d1c5b8}
.prose a{color:var(--gold-light)}
.form-shell{border:1px solid var(--line);background:#0e0c0a;padding:clamp(24px,5vw,50px)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:.67rem;text-transform:uppercase;letter-spacing:.14em;color:#d4c7b8}
input,select,textarea{width:100%;border:1px solid #4a4032;background:#080706;color:var(--cream);padding:13px 14px;border-radius:0}
textarea{min-height:145px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.checkbox{display:flex;align-items:flex-start;gap:10px}
.checkbox input{width:auto;margin-top:5px}
.checkbox label{text-transform:none;letter-spacing:0;font-size:.9rem;line-height:1.45;color:#d2c5b6}
.notice{border-left:3px solid var(--gold);background:#15120e;padding:18px 20px;color:#cfc2b2}
.contract{counter-reset:clause}
.contract section{padding:0;margin:28px 0}
.contract h2{font-size:1.35rem;letter-spacing:.03em}
.signature-box{border:1px solid var(--line);padding:24px;margin-top:26px}
.footer{border-top:1px solid var(--line);background:#060605;padding:62px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.2fr;gap:40px}
.footer h3{font-size:1rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-light)}
.footer a{text-decoration:none;color:var(--muted)}
.footer a:hover{color:var(--gold-light)}
.footer ul{padding:0;margin:0;list-style:none}
.footer li{margin:.4rem 0}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.07);margin-top:40px;padding-top:22px;color:#8f8375;font-size:.7rem}
.tag-list{display:flex;gap:8px;flex-wrap:wrap}
.tag{border:1px solid var(--line);padding:5px 10px;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}
.post-hero{min-height:58vh;display:grid;align-items:end;padding:140px 0 65px;background-position:center;background-size:cover;position:relative}
.post-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 5%,rgba(0,0,0,.9))}
.post-hero .container{position:relative;z-index:2}
.post-body{max-width:760px;margin:auto}
.post-body p{font-family:var(--serif);font-size:1.1rem;color:#d9cdbf}
.print-actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}
@media print{
  .site-header,.footer,.print-actions,.page-hero .eyebrow{display:none!important}
  body{background:white;color:black}
  .page-hero{padding:20px 0;background:white;border:0}
  .page-hero h1{font-size:28pt}
  .contract,.contract p,.contract li,.notice{color:black!important;background:white!important}
  .form-shell,.signature-box{border:1px solid #777;background:white}
  input,textarea,select{border:0;border-bottom:1px solid #333;color:black;background:white}
}
@media(max-width:960px){
  .nav{position:fixed;inset:74px 0 auto;background:#070706f7;border-bottom:1px solid var(--line);display:none;flex-direction:column;padding:30px}
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .hero-content{margin:auto}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .container{width:min(100% - 28px,var(--max))}
  .grid-2,.grid-3,.gallery,.form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .grid-4{grid-template-columns:1fr}
  .hero h1{letter-spacing:.035em}
  .feature-card{min-height:330px}
  .footer-grid{grid-template-columns:1fr}
  .about-photo{min-height:430px}
}
