@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400&family=Jost:wght@300;400;500;600&display=swap');

:root{
  --bg: #F1E7D2;
  --bg-alt: #EADFC6;
  --paper: #FBF6E9;
  --ink: #241F16;
  --ink-soft: #4A4131;
  --indigo-deep: #1B2340;
  --navy: #14192B;
  --navy-soft: #1D2338;
  --brass: #AE8A3D;
  --brass-deep: #8B6C27;
  --brass-light: #D9BB74;
  --hairline: #D9C79E;
  --max: 1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Jost', sans-serif;
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  color:var(--indigo-deep);
  font-weight:600;
  line-height:1.15;
  margin:0 0 .4em;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
p{max-width:66ch;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}

/* ---------- Banner ---------- */
.site-banner{width:100%; line-height:0; background:var(--navy);}
.site-banner img{width:100%; height:auto;}

/* ---------- Disclaimer gate ---------- */
.disclaimer-gate{
  position:fixed; inset:0; z-index:999;
  background:var(--navy);
  display:flex; align-items:center; justify-content:center;
  padding:32px;
}
.disclaimer-gate[hidden]{display:none;}
body.gate-locked{overflow:hidden; height:100vh;}
.disclaimer-gate-panel{
  max-width:640px;
  border:1px solid rgba(174,138,61,.55);
  padding:44px 40px;
  background:var(--navy-soft);
  color:#D9D3C4;
  max-height:86vh;
  overflow-y:auto;
}
.disclaimer-gate-panel .emblem{margin-bottom:20px;}
.disclaimer-gate-panel .emblem circle{fill:none; stroke:var(--brass); stroke-width:1.2;}
.disclaimer-gate-panel .emblem text{fill:#fff; font-family:'Fraunces',serif; font-size:13px;}
.disclaimer-gate-panel h2{color:#fff; font-size:26px; margin-bottom:16px;}
.disclaimer-gate-panel p, .disclaimer-gate-panel li{font-size:14.5px; color:#D9D3C4; font-weight:300;}
.disclaimer-gate-panel ul{padding-left:18px; margin:14px 0;}
.disclaimer-gate-panel li{margin-bottom:8px;}
.disclaimer-gate-panel a{color:var(--brass-light); border-bottom:1px solid rgba(217,187,116,.5);}
.disclaimer-gate-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:24px;}
#gate-disagree-msg{display:none; margin-top:16px; font-size:13px; color:var(--brass-light);}

.btn{
  font-family:'Jost',sans-serif;
  font-size:13.5px; letter-spacing:.03em;
  padding:13px 30px;
  border:1px solid var(--brass);
  background:transparent;
  color:#fff;
  cursor:pointer;
  transition:background .2s ease, color .2s ease;
  display:inline-block;
}
.btn-solid{background:var(--brass); color:var(--navy); border-color:var(--brass);}
.btn-solid:hover{background:var(--brass-deep); border-color:var(--brass-deep);}
.btn:not(.btn-solid):hover{background:rgba(255,255,255,.08);}

/* ---------- Header / nav ---------- */
.site-header{background:var(--navy); border-top:1px solid rgba(174,138,61,.35);}
.nav-row{
  max-width:var(--max); margin:0 auto; padding:0 32px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
}
.wordmark{display:flex; align-items:center; gap:10px; padding:16px 0;}
.wordmark .emblem circle{fill:none; stroke:var(--brass); stroke-width:1.2;}
.wordmark .emblem text{fill:#fff; font-family:'Fraunces',serif; font-size:13px;}
.wordmark-text{display:flex; flex-direction:column; line-height:1.2;}
.wordmark-text strong{font-family:'Fraunces',serif; color:#fff; font-size:19px; font-weight:600;}
.wordmark-text small{color:var(--brass-light); font-size:11px; letter-spacing:.05em;}
.nav-toggle{
  display:none;
  background:transparent; border:1px solid rgba(174,138,61,.5); color:#fff;
  font-family:'Jost',sans-serif; font-size:13px; padding:8px 16px; cursor:pointer;
}
.nav-links{list-style:none; display:flex; gap:2px; flex-wrap:wrap; margin:0; padding:0;}
.nav-links a{
  display:block; padding:18px 16px; font-size:13px; letter-spacing:.04em;
  color:#D9D3C4; border-bottom:2px solid transparent;
  transition:color .2s ease, border-color .2s ease;
}
.nav-links a:hover, .nav-links a.active{color:#fff; border-color:var(--brass);}
@media (max-width:860px){
  .nav-toggle{display:block; margin:14px 0;}
  .nav-links{display:none; flex-direction:column; width:100%; padding-bottom:14px;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:12px 4px;}
}

/* ---------- Hero ---------- */
.hero{padding:80px 0 56px; position:relative; overflow:hidden;}
.hero::after{
  content:""; position:absolute; top:0; right:-6%; width:46%; height:100%;
  background:linear-gradient(180deg, rgba(174,138,61,.14), rgba(174,138,61,0));
  clip-path:polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
  pointer-events:none;
}
.hero-kicker{color:var(--brass-deep); font-size:13px; letter-spacing:.05em; margin-bottom:14px;}
.hero h1{font-size:clamp(32px,4.2vw,50px); max-width:16ch; font-style:italic; font-weight:500;}
.hero-sub{font-size:17px; color:var(--ink-soft); max-width:62ch; margin-top:18px;}
.hero-grid{display:grid; grid-template-columns:1.5fr 1fr; gap:56px; align-items:start;}
.hero-aside{padding-top:8px;}
.hero-aside dl{margin:0;}
.hero-aside dt{font-size:12px; letter-spacing:.04em; color:var(--brass-deep); margin-bottom:6px;}
.hero-aside dd{margin:0 0 18px; font-family:'Fraunces',serif; font-size:19px; color:var(--indigo-deep);}
@media (max-width:820px){.hero-grid{grid-template-columns:1fr;}}

/* ---------- Sections ---------- */
section{padding:60px 0;}
.section-border{border-top:1px solid var(--hairline);}
.section-alt{background:var(--paper);}
.section-dark{background:var(--navy); color:#EFE9D8;}
.section-dark h2{color:#fff; font-style:italic;}
.section-dark p{color:#C7C1AE;}
.section-tight{padding-top:30px; padding-bottom:30px;}

.section-head{display:grid; grid-template-columns:220px 1fr; gap:40px; margin-bottom:36px; align-items:start;}
.section-num{
  font-size:12.5px; letter-spacing:.04em; color:var(--brass-deep);
  padding-top:6px; border-top:1px solid var(--brass);
}
.section-head h2{font-size:clamp(24px,2.8vw,34px); font-style:italic; font-weight:500;}
@media (max-width:760px){.section-head{grid-template-columns:1fr;}}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--hairline);}
.grid-tile{padding:26px 24px; border-right:1px solid var(--hairline); border-bottom:1px solid var(--hairline);}
.grid-tile:nth-child(3n){border-right:none;}
.grid-tile h3{font-size:18px; font-weight:500; margin:0;}
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr;} .grid-tile:nth-child(3n){border-right:1px solid var(--hairline);} .grid-tile:nth-child(2n){border-right:none;}}
@media (max-width:600px){.grid-3{grid-template-columns:1fr;} .grid-tile{border-right:none;}}

.clauses{border-top:1px solid var(--hairline);}
.clause{
  display:grid; grid-template-columns:180px 1fr; gap:24px;
  padding:20px 0; border-bottom:1px solid var(--hairline);
}
.clause-num{font-family:'Fraunces',serif; color:var(--brass-deep); font-size:16px; font-style:italic;}
.clause-plain{grid-template-columns:1fr;}
.clause p{color:var(--ink-soft); font-size:15px; margin:0;}
@media (max-width:640px){.clause{grid-template-columns:1fr; gap:6px;}}

.values{border-top:1px solid rgba(217,187,116,.25);}
.value{padding:22px 0; border-bottom:1px solid rgba(217,187,116,.25);}
.value h3{color:#fff; font-size:18px; font-weight:500; margin-bottom:6px;}
.value p{color:#C7C1AE; font-size:14.5px; margin:0;}

.locations{display:flex; flex-wrap:wrap; margin-top:20px;}
.locations span{
  font-family:'Fraunces',serif; font-size:20px; color:var(--indigo-deep);
  padding:8px 24px 8px 0; margin-right:24px; border-right:1px solid var(--hairline);
}
.locations span:last-child{border-right:none;}

/* ---------- Contact ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
@media (max-width:800px){.contact-grid{grid-template-columns:1fr;}}
.field{margin-bottom:18px;}
.field label{display:block; font-size:12.5px; letter-spacing:.03em; color:var(--brass-deep); margin-bottom:6px;}
.field input, .field textarea{
  width:100%; background:var(--paper); border:1px solid var(--hairline);
  padding:13px 14px; font-family:'Jost',sans-serif; font-size:14.5px; color:var(--ink);
}
.field textarea{min-height:120px; resize:vertical;}
.field input:focus, .field textarea:focus{outline:2px solid var(--brass); outline-offset:1px;}
.form-note{font-size:13px; color:var(--ink-soft); margin-top:14px;}

/* ---------- Legal pages ---------- */
.legal-updated{font-size:13px; color:var(--brass-deep); margin-bottom:24px;}
.legal-body h2{font-size:21px; font-style:italic; margin-top:36px;}
.legal-body p, .legal-body li{color:var(--ink-soft); font-size:15px;}
.legal-body ul{padding-left:20px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy); color:#B9B2A0; padding:56px 0 0;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:36px; border-bottom:1px solid rgba(174,138,61,.25);}
.site-footer h4{color:#fff; font-family:'Jost',sans-serif; font-weight:500; font-size:13px; letter-spacing:.04em; margin-bottom:14px;}
.site-footer p{font-size:13.5px; color:#9A947F; margin-top:10px;}
.site-footer ul{list-style:none; padding:0; margin:0;}
.site-footer li{margin-bottom:8px; font-size:13.5px;}
.site-footer a:hover{color:var(--brass);}
.footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:18px 0; font-size:12.5px; color:#7C7761;}
.footer-bottom a{margin-right:14px; color:#9A947F;}
.footer-bottom a:hover{color:var(--brass);}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr;}}
