:root {
  --ink: #183736;
  --ink-soft: #3d5653;
  --paper: #f6efe2;
  --cream: #fffaf0;
  --sage: #7f9278;
  --clay: #b86749;
  --sand: #ddb980;
  --teal: #174c4b;
  --line: rgba(24, 55, 54, .16);
  --shadow: 0 22px 60px rgba(22, 48, 46, .12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font: 17px/1.72 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image: radial-gradient(rgba(24,55,54,.18) .6px, transparent .6px);
  background-size: 7px 7px;
  z-index: -1;
}
a { color: var(--teal); text-underline-offset: 3px; }
a:hover { color: var(--clay); }
img { max-width: 100%; display: block; }
.skip-link { position: absolute; left: -9999px; top: 0; background: #fff; color: #000; padding: .7rem 1rem; z-index: 99; }
.skip-link:focus { left: 1rem; top: 1rem; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(246,239,226,.94); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
.nav-wrap { max-width: 1180px; margin: auto; min-height: 76px; padding: .75rem 1.2rem; display: flex; align-items: center; gap: 1.2rem; }
.brand { display: flex; align-items: center; gap: .75rem; text-decoration: none; font-weight: 850; letter-spacing: -.02em; }
.brand img { width: 46px; height: 46px; border-radius: 14px; box-shadow: 0 8px 22px rgba(20,54,53,.18); }
.brand span small { display:block; font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--clay); }
.nav-toggle { display:none; margin-left:auto; border:1px solid var(--line); background:var(--cream); border-radius:999px; padding:.55rem .85rem; color:var(--ink); font-weight:750; }
nav { margin-left:auto; }
nav ul { display:flex; gap:.25rem; list-style:none; padding:0; margin:0; flex-wrap:wrap; justify-content:flex-end; }
nav a { display:block; text-decoration:none; font-size:.9rem; font-weight:740; color:var(--ink); padding:.55rem .72rem; border-radius:999px; }
nav a:hover, nav a:focus-visible { background:rgba(184,103,73,.12); color:var(--clay); }
.hero { max-width:1280px; margin:1.25rem auto 0; padding:0 1.2rem; }
.hero-frame { position:relative; min-height:640px; overflow:hidden; border-radius:34px; box-shadow:var(--shadow); background:var(--teal); }
.hero-frame > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(9,45,44,.93) 0%, rgba(9,45,44,.66) 46%, rgba(9,45,44,.12) 78%); }
.hero-copy { position:relative; z-index:2; width:min(660px, 90%); padding:clamp(4rem,9vw,8rem) clamp(1.5rem,6vw,5rem); color:#fff9ed; }
.eyebrow { display:inline-flex; align-items:center; gap:.5rem; text-transform:uppercase; letter-spacing:.13em; font-size:.74rem; font-weight:850; color:#f5c595; }
.eyebrow::before { content:""; width:30px; height:2px; background:currentColor; }
h1,h2,h3 { line-height:1.12; letter-spacing:-.035em; margin-top:0; }
h1 { font-family: Georgia, "Times New Roman", serif; font-size:clamp(3rem,7vw,6.6rem); font-weight:700; margin:.8rem 0 1.2rem; }
h2 { font-family: Georgia, "Times New Roman", serif; font-size:clamp(2rem,4vw,3.45rem); margin-bottom:1rem; }
h3 { font-size:1.25rem; }
.lead { font-size:clamp(1.06rem,2vw,1.3rem); max-width:58ch; }
.actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.7rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.72rem 1.1rem; border-radius:999px; text-decoration:none; font-weight:850; border:1px solid transparent; background:var(--clay); color:#fff; }
.button:hover { color:#fff; background:#9e5137; }
.button.secondary { background:transparent; border-color:rgba(255,255,255,.55); color:#fff; }
main section { padding:clamp(3.7rem,7vw,7rem) 1.2rem; }
.container { max-width:1120px; margin:auto; }
.section-head { display:grid; grid-template-columns:.8fr 1.2fr; gap:2rem; align-items:end; margin-bottom:2rem; }
.section-head p { margin:0; color:var(--ink-soft); font-size:1.08rem; }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.card { background:rgba(255,250,240,.88); border:1px solid var(--line); border-radius:24px; overflow:hidden; box-shadow:0 10px 35px rgba(22,48,46,.07); }
.card img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.card-body { padding:1.35rem; }
.card-kicker { color:var(--clay); font-size:.75rem; text-transform:uppercase; font-weight:850; letter-spacing:.1em; }
.card p { color:var(--ink-soft); }
.ledger { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; counter-reset:item; }
.ledger article { position:relative; padding:1.45rem 1.45rem 1.45rem 4.8rem; border-top:1px solid var(--line); background:rgba(255,250,240,.45); }
.ledger article::before { counter-increment:item; content:counter(item, decimal-leading-zero); position:absolute; left:1.2rem; top:1.15rem; color:var(--clay); font:700 1.7rem Georgia,serif; }
.notice { border-left:5px solid var(--clay); background:#fff8ea; padding:1.2rem 1.35rem; border-radius:0 16px 16px 0; margin:1.5rem 0; }
.facts { background:var(--teal); color:#f9f2e6; }
.facts .section-head p { color:#d8e4de; }
.fact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.fact { padding:1.4rem; border:1px solid rgba(255,255,255,.2); border-radius:22px; background:rgba(255,255,255,.06); }
.fact strong { display:block; color:#f3c08c; margin-bottom:.35rem; }
.page-hero { padding:clamp(4rem,9vw,7rem) 1.2rem 3rem; background:linear-gradient(145deg,var(--teal),#234f4b); color:#fffaf0; }
.page-hero .container { max-width:900px; }
.page-hero h1 { font-size:clamp(2.8rem,6vw,5.2rem); }
.page-main { max-width:900px; margin:auto; padding:3rem 1.2rem 6rem; }
.page-main h2 { margin-top:2.8rem; font-size:clamp(1.7rem,3vw,2.45rem); }
.page-main h3 { margin-top:2rem; }
.page-main li { margin:.45rem 0; }
.policy-index { columns:2; padding:1.3rem 1.5rem; background:var(--cream); border:1px solid var(--line); border-radius:20px; }
.policy-index a { display:block; margin:.35rem 0; }
.meta { color:var(--ink-soft); font-size:.9rem; }
.site-footer { background:#102f2e; color:#dfe9e4; padding:3.2rem 1.2rem 2rem; }
.footer-grid { max-width:1120px; margin:auto; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2rem; }
.site-footer a { color:#f2d0aa; }
.site-footer ul { list-style:none; padding:0; margin:0; }
.site-footer li { margin:.35rem 0; }
.footer-bottom { max-width:1120px; margin:2rem auto 0; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.16); font-size:.86rem; color:#b7cbc5; }
:focus-visible { outline:3px solid #e69c63; outline-offset:3px; }
@media (max-width:850px) {
  .nav-toggle { display:block; }
  nav { display:none; position:absolute; top:72px; left:0; right:0; background:var(--paper); padding:1rem; border-bottom:1px solid var(--line); }
  nav.open { display:block; }
  nav ul { display:grid; grid-template-columns:1fr 1fr; justify-content:stretch; }
  .hero-frame { min-height:600px; }
  .hero-frame::after { background:linear-gradient(0deg,rgba(9,45,44,.94),rgba(9,45,44,.35)); }
  .hero-copy { padding-top:11rem; }
  .section-head,.grid,.fact-grid,.footer-grid { grid-template-columns:1fr; }
  .ledger { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  h1 { font-size:3rem; }
  .hero-frame { border-radius:22px; }
  .policy-index { columns:1; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
