/* Shared layout for the privacy policy and terms pages.
   Uses the same type, colour and footer as the marketing site. */
:root{
  --ink:#16261b;
  --ink-soft:#4b564c;
  --cream:#f5efe3;
  --cream-raised:#fffdf8;
  --meadow:#6ea457;
  --meadow-deep:#587f46;
  --charcoal:#332f28;
  --terracotta:#c9703f;
  --sage-border:#b9c3ab;
  --line:#d9d0bc;
  --maxw:1180px;
  --font-display:'Oswald', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-serif:'Instrument Serif', serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--cream); color:var(--charcoal); font-family:var(--font-body); font-size:1.02rem; line-height:1.65; -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:var(--meadow-deep); text-decoration-thickness:1px; text-underline-offset:3px;}
a:hover{color:var(--ink);}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}

header.site-nav{position:sticky; top:0; z-index:60; background:color-mix(in srgb, var(--cream) 97%, transparent); backdrop-filter:blur(16px) saturate(160%); border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);}
.nav-row{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 24px; max-width:var(--maxw); margin:0 auto;}
.brand{display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--ink); text-decoration:none; white-space:nowrap;}
.brand .logo-mark{height:32px; width:auto; display:block; flex-shrink:0;}
nav.links{display:flex; gap:26px; font-size:0.9rem; font-weight:500;}
nav.links a{color:var(--ink-soft); text-decoration:none;}
nav.links a:hover{color:var(--ink);}
nav.links a[aria-current="page"]{color:var(--ink); box-shadow:inset 0 -2px 0 var(--meadow);}
.nav-cta{display:flex; gap:10px; flex-shrink:0;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 20px; border-radius:999px; font-weight:600; font-size:0.9rem; text-decoration:none; border:1px solid transparent; white-space:nowrap;}
.btn-primary{background:var(--meadow); color:var(--ink);}
.btn-primary:hover{background:var(--meadow-deep); color:var(--ink);}
@media (max-width:860px){ nav.links{display:none;} }
@media (max-width:600px){
  .nav-row{padding:12px 16px;}
  .brand{font-size:1rem;}
  .nav-cta .btn{padding:9px 14px; font-size:0.82rem;}
}

.legal{padding:48px 0 88px;}
.legal-card{max-width:780px; margin:0 auto; background:var(--cream-raised); border:1px solid var(--line); border-radius:28px; padding:clamp(28px, 5vw, 56px); box-shadow:0 24px 50px -32px rgba(22,38,27,0.35);}
.kicker{font-size:0.78rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--meadow-deep); margin:0 0 12px;}
h1{font-family:var(--font-serif); font-style:italic; font-weight:400; font-size:clamp(2.4rem, 5vw, 3.5rem); line-height:1.05; letter-spacing:0; margin:0 0 12px; color:var(--ink);}
.updated{margin:0 0 22px; font-size:0.92rem; font-weight:600; color:var(--ink-soft);}
.lede{font-size:1.08rem; color:var(--ink); margin:0 0 18px;}
h2{font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:-0.01em; font-size:1.35rem; line-height:1.15; margin:2.2rem 0 0.7rem; padding-top:1.4rem; border-top:1px solid var(--line); color:var(--ink); scroll-margin-top:88px;}
h3{font-family:var(--font-body); font-size:1.05rem; font-weight:700; margin:1.3rem 0 0.4rem; color:var(--ink); scroll-margin-top:88px;}
p{margin:0 0 0.9rem; color:var(--ink-soft);}
ul, ol{margin:0 0 1rem; padding-left:1.25rem; color:var(--ink-soft);}
li{margin:0.35rem 0;}
li strong, p strong{color:var(--ink); font-weight:650;}
.toc{background:var(--cream); border:1px solid var(--line); border-radius:18px; padding:18px 20px 8px; margin:22px 0 8px;}
.toc p{margin:0 0 8px; font-size:0.78rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink);}
.toc ol{margin:0; padding-left:1.2rem; columns:1;}
.toc a{text-decoration:none;}
.toc a:hover{text-decoration:underline;}
@media (min-width:640px){ .toc ol{columns:2; column-gap:28px;} .toc li{break-inside:avoid;} }
.note{background:var(--cream); border-left:4px solid var(--terracotta); border-radius:0 16px 16px 0; padding:14px 16px; margin:0 0 16px;}
.note p:last-child{margin-bottom:0;}
.part-switch{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 8px;}
.part-switch a{display:inline-flex; align-items:center; padding:8px 14px; border-radius:999px; border:1px solid var(--sage-border); background:var(--cream); color:var(--ink); text-decoration:none; font-weight:600; font-size:0.88rem;}
.part-switch a:hover, .part-switch a[aria-current="true"]{background:var(--ink); color:var(--cream); border-color:var(--ink);}
.clause{scroll-margin-top:88px;}

footer{background:#0f1a13; color:#dfe3d8; padding:64px 0 32px; position:relative; overflow:hidden;}
footer a{color:#cfd4c5; text-decoration:none;}
footer a:hover{color:#fff;}
.footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.12);}
.footer-brand .brand{color:#fff;}
.footer-brand p{color:#aab09f; font-size:0.92rem; line-height:1.55; margin:14px 0 0; max-width:280px;}
.footer-col h4{font-family:var(--font-body); font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; color:#8d9383; margin:0 0 16px; display:flex; align-items:center; gap:8px;}
.footer-col h4 .hire-icon{width:20px; height:20px; border-radius:50%; object-fit:cover; flex-shrink:0;}
.footer-col ul{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.footer-col a{font-size:0.92rem;}
.social-links{display:flex; gap:10px; margin-top:2px;}
.social-icon{display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,0.18); color:#dfe3d8;}
.social-icon:hover{border-color:rgba(255,255,255,0.4); background:rgba(255,255,255,0.08); color:#fff;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:24px; flex-wrap:wrap; gap:12px;}
.footer-bottom p{color:#8d9383; font-size:0.85rem; margin:0;}
.store-badges{display:flex; gap:10px; flex-wrap:wrap;}
.store-pill{display:flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,0.18); border-radius:12px; padding:8px 14px; font-size:0.82rem; color:#dfe3d8;}
.store-pill:hover{color:#fff;}
@media (max-width:860px){ .footer-top{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .footer-top{grid-template-columns:1fr;} .legal{padding-top:28px;} }
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
