/* legal.css — shared styles for RURINFRA compliance pages
   (Privacy, Terms, Refund). Mirrors the design tokens of index-d.html. */

:root{
  --paper:#EDEFEA; --card:#FBFBF8; --pine:#0E3B2E; --pine-2:#134C3B;
  --pine-ink:#0B241B; --ink:#0E1A15; --slate:#586158; --slate-2:#8C968C;
  --line:#DBE0D8; --line-2:#E6E9E2; --marigold:#DE8A0C; --marigold-t:#F8EBD3;
  --t-patri:#C2571A; --t-onecheck:#2C8C46; --t-opdesk:#12758F;
  --maxw:1160px; --docw:872px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Instrument Sans",system-ui,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;letter-spacing:-0.02em;margin:0;line-height:1.1;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;}
.docwrap{max-width:var(--docw);margin:0 auto;padding:0 26px;}
.mono{font-family:"IBM Plex Mono",monospace;}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--pine);}
.dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block;}
.d-patri{background:var(--t-patri);} .d-onecheck{background:var(--t-onecheck);} .d-opdesk{background:var(--t-opdesk);}

/* nav */
header.nav{position:sticky;top:0;z-index:50;background:rgba(237,239,234,.85);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px;}
.brand{display:flex;align-items:center;gap:10px;font-family:"Bricolage Grotesque";font-weight:800;font-size:20px;letter-spacing:-0.01em;color:var(--pine);}
.brand .mk{width:17px;height:17px;border-radius:5px;background:var(--pine);position:relative;flex:none;}
.brand .mk::after{content:"";position:absolute;left:4px;top:4px;width:5px;height:5px;border-radius:50%;background:var(--marigold);}
nav.links{display:flex;gap:24px;align-items:center;flex-wrap:wrap;}
nav.links a{font-size:14.5px;color:var(--slate);font-weight:500;transition:color .15s;}
nav.links a:hover{color:var(--ink);}
nav.links a.cta{color:#fff;background:var(--pine);padding:10px 17px;border-radius:8px;font-weight:600;}
nav.links a.cta:hover{background:var(--pine-2);}

/* document hero */
.doc-hero{padding:52px 0 8px;}
.doc-hero h1{font-size:clamp(32px,5vw,50px);margin:14px 0 0;letter-spacing:-0.03em;}
.doc-hero .meta{margin-top:16px;font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--slate-2);display:flex;flex-wrap:wrap;gap:6px 20px;}
.doc-hero .meta b{color:var(--slate);font-weight:500;}

/* review banner (removed before production go-live) */
.banner{margin:22px 0 0;background:var(--marigold-t);border:1px solid #E8CE9A;border-left:4px solid var(--marigold);border-radius:10px;padding:14px 18px;font-size:14px;line-height:1.55;color:#6b4e15;}
.banner b{color:#5a3f0e;}

/* table of contents */
.toc{margin:24px 0 0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;}
.toc h4{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-2);font-weight:500;margin:0 0 10px;}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:34px;font-size:14.5px;color:var(--slate);}
.toc li{margin-bottom:6px;break-inside:avoid;}
.toc a:hover{color:var(--pine);text-decoration:underline;}

/* document body */
.doc{padding:8px 0 64px;}
.doc h2{font-size:22px;margin:40px 0 10px;scroll-margin-top:82px;}
.doc h2 .n{font-family:"IBM Plex Mono";font-size:14px;color:var(--slate-2);font-weight:500;margin-right:8px;}
.doc h3{font-size:16.5px;font-family:"Instrument Sans";font-weight:700;margin:22px 0 6px;letter-spacing:0;}
.doc p{margin:0 0 14px;color:#26322b;}
.doc ul,.doc ol{margin:0 0 14px;padding-left:22px;color:#26322b;}
.doc li{margin-bottom:7px;}
.doc .lead{font-size:18.5px;color:var(--slate);margin-bottom:18px;}
.doc a.inline{color:var(--pine);text-decoration:underline;text-underline-offset:2px;}
.doc strong{font-weight:600;color:var(--ink);}
.doc .ph{color:#8a5a12;background:#F6E6CC;border:1px dashed #D9A64E;border-radius:5px;padding:1px 7px;font-family:"IBM Plex Mono";font-size:13px;}
.doc .contact-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:6px 0 16px;font-size:15px;line-height:1.7;}
.doc .contact-card .k{font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);display:block;}
.doc .prod-tag{display:inline-flex;align-items:center;gap:7px;font-family:"IBM Plex Mono";font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:6px;margin-bottom:4px;}
.tt-patri{color:var(--t-patri);background:#F6E6DA;} .tt-onecheck{color:var(--t-onecheck);background:#E1F0E4;} .tt-opdesk{color:var(--t-opdesk);background:#DDEEF3;}

/* footer */
footer.site{background:var(--pine-ink);color:#9FB6AC;padding:44px 0 30px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;}
footer .brand{color:#fff;margin-bottom:12px;}
footer .brand .mk{background:#fff;} footer .brand .mk::after{background:var(--marigold);}
footer .legal-name{color:#EAF2ED;font-size:13.5px;font-weight:600;font-family:"IBM Plex Mono";}
footer .addr{font-size:13.5px;line-height:1.7;margin-top:9px;max-width:34ch;color:#9FB6AC;}
footer .fcol h5{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7EA394;margin:0 0 13px;font-weight:500;}
footer .fcol a,footer .fcol .fi{display:flex;align-items:center;gap:9px;font-size:14px;color:#B4C9BD;margin-bottom:9px;font-weight:500;}
footer .fcol a:hover{color:#fff;}
.foot-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-family:"IBM Plex Mono";font-size:12px;color:#7EA394;}
.foot-meta b{color:#B4C9BD;font-weight:400;}

a:focus-visible{outline:2.5px solid var(--pine);outline-offset:3px;border-radius:6px;}

@media (max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:26px;}
  nav.links{gap:14px;font-size:13.5px;}
  nav.links a:not(.cta){display:none;}
  .toc ol{columns:1;}
}
