@font-face { font-family:"Cormorant"; src:url("assets/fonts/Cormorant.woff2") format("woff2"); font-weight:300 700; font-style:normal; font-display:swap; }
@font-face { font-family:"Inter"; src:url("assets/fonts/Inter.woff2") format("woff2"); font-weight:100 900; font-style:normal; font-display:swap; }

:root{
  --ivory:#EEECD3;
  --green:#00402F;
  --green-deep:#002A1F;
  --green-deeper:#001B14;
  --line-light:rgba(238,236,211,0.16);
  --ink:#3F2F39;
  --ink-strong:#2A1F26;
  --slate:#788D9E;
  --gold:#C9B25E;
  --gold-soft:#D0C777;
  --line:rgba(63,47,57,0.16);
  --serif:"Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --container:1280px;
  --gutter:clamp(1.25rem,5vw,4.5rem);
  --header-h:80px;
  --ease:cubic-bezier(0.22,0.61,0.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
*{ margin:0; }
html{ -webkit-text-size-adjust:100%; }
body{ font-family:var(--sans); background:var(--ivory); color:var(--ink); line-height:1.65; font-size:17px; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
::selection{ background:rgba(201,178,94,0.32); color:var(--ink-strong); }

.pageveil{ position:fixed; inset:0; z-index:9500; background:var(--green); opacity:0; pointer-events:none; }
.pageveil.is-leaving{ opacity:1; pointer-events:auto; transition:opacity .5s var(--ease); }
.pv-entering .pageveil{ animation:veil-reveal .75s var(--ease) forwards; }
@keyframes veil-reveal{ 0%{ opacity:1; } 100%{ opacity:0; } }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.brand{ display:inline-flex; align-items:center; }
.legal-header .brand img{ height:35px; width:auto; display:block; }
@media (max-width:760px){ .legal-header .brand img{ height:28px; } }
.muted{ color:color-mix(in srgb,var(--ink) 78%,transparent); }

.eyebrow{ font-family:var(--sans); font-size:0.72rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--green); display:inline-flex; align-items:center; gap:0.85rem; }
.eyebrow::before{ content:""; width:30px; height:1px; background:var(--gold); }

.legal-header{ position:sticky; top:0; z-index:100; background:var(--ivory); border-bottom:1px solid var(--line); height:var(--header-h); display:flex; align-items:center; }
.legal-header .header__inner{ width:100%; display:flex; align-items:center; justify-content:space-between; }
.legal-header .back{ font-size:0.76rem; letter-spacing:0.13em; text-transform:uppercase; font-weight:500; color:var(--ink); display:inline-flex; align-items:center; gap:0.5rem; transition:gap 0.3s var(--ease), color 0.3s var(--ease); }
.legal-header .back:hover{ gap:0.8rem; color:var(--green); }

.legal{ max-width:760px; margin-inline:auto; padding:clamp(3rem,8vw,6rem) var(--gutter) clamp(1.6rem,3.5vw,2.4rem); }
.legal__eyebrow{ margin-bottom:1rem; }
.legal h1{ font-family:var(--serif); font-weight:500; line-height:1.05; font-size:clamp(2.2rem,5vw,3.2rem); color:var(--ink-strong); letter-spacing:-0.01em; }
.legal__updated{ margin-top:1rem; color:var(--slate); font-size:0.9rem; }
.legal h2{ font-family:var(--serif); font-weight:600; font-size:clamp(1.4rem,2.6vw,1.85rem); color:var(--ink-strong); margin-top:2.8rem; margin-bottom:0.9rem; letter-spacing:-0.005em; }
.legal h3{ font-family:var(--sans); font-weight:600; font-size:1.02rem; color:var(--ink-strong); margin-top:1.6rem; margin-bottom:0.4rem; }
.legal p{ color:color-mix(in srgb,var(--ink) 88%,transparent); margin-bottom:1rem; }
.legal ul{ margin:0 0 1.2rem 0; padding-left:1.1rem; }
.legal li{ margin-bottom:0.5rem; color:color-mix(in srgb,var(--ink) 88%,transparent); }
.legal a{ color:var(--green); border-bottom:1px solid var(--gold); transition:color 0.3s var(--ease); }
.legal a:hover{ color:var(--ink-strong); }
.legal__lead{ font-size:1.12rem; line-height:1.65; color:var(--ink); margin-top:1.6rem; }
.legal__divider{ height:1px; background:var(--line); border:0; margin:2.6rem 0; }

/* Data controller / company block */
.legal__meta{ margin-top:1.8rem; padding:1.3rem 1.5rem; background:color-mix(in srgb,var(--green) 5%,transparent); border:1px solid var(--line); border-radius:4px; }
.legal__meta p{ margin:0; font-size:0.94rem; color:color-mix(in srgb,var(--ink) 82%,transparent); }
.legal__meta p strong{ color:var(--ink-strong); font-weight:600; }
.legal__meta p + p{ margin-top:0.2rem; }

/* Callout box (At a glance / boxed notes) */
.legal__callout{ margin:1.6rem 0; padding:1.3rem 1.5rem; background:color-mix(in srgb,var(--gold) 9%,transparent); border:1px solid color-mix(in srgb,var(--gold) 40%,transparent); border-radius:4px; }
.legal__callout > *:last-child{ margin-bottom:0; }
.legal__callout ul{ margin-bottom:0; }

/* Data tables */
.legal__tablewrap{ margin:1.6rem 0; overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--line); border-radius:4px; }
.legal__table{ width:100%; border-collapse:collapse; font-size:0.9rem; min-width:520px; }
.legal__table th,.legal__table td{ text-align:left; padding:0.8rem 1rem; vertical-align:top; border-bottom:1px solid var(--line); }
.legal__table thead th{ font-weight:600; color:var(--ink-strong); background:color-mix(in srgb,var(--green) 6%,transparent); letter-spacing:0.01em; white-space:nowrap; }
.legal__table tbody tr:last-child td{ border-bottom:0; }
.legal__table td{ color:color-mix(in srgb,var(--ink) 86%,transparent); }
.legal__table a{ word-break:break-word; }

/* Site footer (same as home page) */
.footer{ background:var(--green-deep); color:rgba(238,236,211,.72); padding-block:clamp(3.5rem,7vw,5rem); }
.footer__top{ display:flex; justify-content:space-between; gap:2.5rem; flex-wrap:wrap; align-items:flex-start; }
.footer__brand{ color:var(--ivory); max-width:46ch; }
.footer__brand svg{ height:30px; width:auto; margin-bottom:1.2rem; }
.footer__brand p{ font-size:.9rem; color:rgba(238,236,211,.6); line-height:1.6; }
.footer__addr{ font-style:normal; margin-top:1.3rem; font-size:.8rem; line-height:1.75; color:rgba(238,236,211,.5); }
.footer__addr a{ color:rgba(238,236,211,.68); transition:color .3s var(--ease); }
.footer__addr a:hover{ color:var(--gold-soft); }
.footer__nav{ display:flex; gap:clamp(1.4rem,3vw,3rem); flex-wrap:wrap; }
.footer__nav a{ font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(238,236,211,.78); transition:color .3s var(--ease); }
.footer__nav a:hover{ color:var(--gold-soft); }
.footer__bottom{ margin-top:clamp(2.5rem,5vw,3.5rem); padding-top:1.8rem; border-top:1px solid var(--line-light); display:flex; justify-content:space-between; gap:1rem 2rem; flex-wrap:wrap; font-size:.78rem; color:rgba(238,236,211,.55); }
.footer__bottom a{ color:rgba(238,236,211,.7); transition:color .3s var(--ease); }
.footer__bottom a:hover{ color:var(--gold-soft); }
.footer__legal{ display:flex; gap:1.5rem; flex-wrap:wrap; }
@media (max-width:640px){ .footer__bottom{ flex-direction:column; } }

/* Disclaimer band below footer (same as home) */
.site-disclaimer{ background:var(--green-deeper); text-align:center; padding:1.4rem var(--gutter); }
.site-disclaimer p{ margin:0 auto; font-size:.78rem; line-height:1.6; color:rgba(238,236,211,.5); }

:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
