@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 600;font-display:swap;src:url('fonts/cormorant-garamond-normal-variable.woff2') format('woff2');}
@font-face{font-family:'Karla';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/karla-normal-variable.woff2') format('woff2');}
:root{
  --paper:#f7f7f2;
  --paper-2:#f0efe8;
  --ink:#1c2119;
  --muted:#5c6259;
  --accent:#b4592f;
  --accent-ink:#ffffff;
  --forest:#1e3227;
  --line:#ddd9cd;
  --radius:12px;
  --radius-pill:999px;
  --maxw:1180px;
}

.legal-page{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Karla',sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

.legal-page *{box-sizing:border-box;}
.legal-page a{color:inherit;}
.legal-shell{width:min(100% - 48px, 820px);margin:0 auto;}

.legal-header{
  padding:24px 0;
  background:var(--forest);
  color:#faf5ea;
}
.legal-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.legal-logo{
  color:#faf5ea;
  font-family:'Cormorant Garamond',serif;
  font-size:1.55rem;
  font-weight:600;
  text-decoration:none;
}
.legal-back{color:rgba(255,255,255,.78);font-size:.92rem;text-underline-offset:4px;}
.legal-back:focus-visible,.legal-logo:focus-visible{outline:2px solid #fff;outline-offset:5px;}

.legal-main{padding:72px 0 96px;}
.legal-title{
  margin:0 0 14px;
  color:var(--ink);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.5rem,7vw,4.5rem);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1;
}
.legal-intro{max-width:64ch;margin:0 0 38px;color:var(--muted);}
.legal-updated{margin:0 0 42px;color:var(--muted);font-size:.88rem;}

.legal-section{margin-top:42px;padding-top:32px;border-top:1px solid var(--line);}
.legal-shell>.legal-section:first-child{margin-top:0;}
.legal-section h2{
  margin:0 0 16px;
  color:var(--ink);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.65rem,4vw,2.15rem);
  font-weight:600;
  line-height:1.15;
}
.legal-section h3{margin:26px 0 8px;font-size:1rem;line-height:1.4;}
.legal-section p{margin:0 0 14px;}
.legal-section ul{margin:0 0 16px;padding-left:1.25rem;}
.legal-section li+li{margin-top:7px;}
.legal-section a{text-decoration-thickness:1px;text-underline-offset:3px;}
.legal-data{display:grid;grid-template-columns:minmax(150px,.7fr) 1.3fr;margin:0;}
.legal-data dt,.legal-data dd{margin:0;padding:11px 0;border-bottom:1px solid var(--line);}
.legal-data dt{font-weight:700;padding-right:24px;}
.pending-value{color:#8a3f20;font-weight:700;}

.legal-table-wrap{overflow-x:auto;margin:20px 0;}
.legal-table{width:100%;min-width:650px;border-collapse:collapse;font-size:.92rem;}
.legal-table th,.legal-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);}
.legal-table th{background:var(--paper-2);font-weight:700;}
.legal-table th:nth-child(2){white-space:nowrap;}

.legal-footer{padding:38px 0 calc(38px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper-2);}
.legal-footer__links{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:.9rem;color:var(--muted);}
.legal-footer__links a{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;}

@media (max-width:640px){
  .legal-shell{width:min(100% - 32px,820px);}
  .legal-header__inner{align-items:flex-start;flex-direction:column;gap:6px;}
  .legal-main{padding:52px 0 72px;}
  .legal-data{grid-template-columns:1fr;}
  .legal-data dt{padding-bottom:2px;border-bottom:0;}
  .legal-data dd{padding-top:0;}
}

html{background:#f7f7f2;color-scheme:light;}
.legal-page{overflow-wrap:anywhere;}
.legal-main{padding-top:0;}
.legal-heading{background:var(--forest);padding:44px 0 52px;margin-bottom:48px;}
.legal-heading .legal-title,.legal-heading .legal-intro{color:var(--paper);}
.legal-heading .legal-updated{color:#c7d1bb;margin-bottom:0;}
.legal-page a:focus-visible{outline:3px solid var(--accent);outline-offset:5px;}
.skip-link{position:absolute;top:8px;left:16px;padding:10px 16px;background:var(--paper);color:var(--ink);transform:translateY(-160%);z-index:2;}
.skip-link:focus{transform:none;}
.error-main{padding-top:64px;}
.error-main .legal-back{color:var(--ink);}
