/* Island Research — shared styles for the legal/policy pages.
   Mirrors the storefront chrome in v3.html (deep-navy gradient, Geist type, cyan accents),
   but renders the legal prose on a light "paper" card so long text stays readable.
   No build step: each policy page links this file directly. */
:root{--deep:#020b17;--navy:#061a3c;--ink:#071c35;--blue:#0d79bd;--cyan:#48dcff;--aqua:#a2f5ff;--mint:#6fffd2;--paper:#f6fbff;--muted:#6f8da0;--line:rgba(126,224,255,.2);--r:22px;--r-sm:12px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Geist,system-ui,sans-serif;background:var(--deep);color:#f8fdff;overflow-x:hidden;line-height:1.6}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2.5px solid var(--cyan);outline-offset:2px;border-radius:6px}
.bg{position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 18% 12%,rgba(73,215,255,.2),transparent 30%),radial-gradient(circle at 82% 9%,rgba(111,255,210,.1),transparent 32%),linear-gradient(180deg,#061a3c,#020b17 60%,#04152d)}
.bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(160,240,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(160,240,255,.05) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 78%)}
.wrap{width:min(880px,calc(100% - 36px));margin:auto}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:#06245a;color:#fff;padding:10px 16px;border-radius:10px}
.skip:focus{left:12px}
/* top notice + nav */
.top{background:#062e5c;color:#d5f7ff;font-size:12px;text-align:center;padding:8px 12px;border-bottom:1px solid var(--line);letter-spacing:.02em}
.nav{position:sticky;top:0;z-index:30;background:rgba(2,11,23,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.navin{width:min(880px,calc(100% - 36px));margin:auto;height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:44px;height:44px;object-fit:contain}
.brand .bt{display:flex;flex-direction:column;justify-content:center}
.brand b{letter-spacing:.2em;font-size:14px;color:#fff;line-height:1.2}
.brand .bt>span{color:#7de8ff;font-size:9px;letter-spacing:.32em}
.back{border:1px solid var(--line);background:rgba(255,255,255,.05);color:#eaffff;border-radius:999px;padding:9px 15px;font-size:13px;transition:border-color .2s,background .2s;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.back:hover{border-color:var(--cyan);background:rgba(72,220,255,.1)}
.back svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* page header */
.phead{padding:54px 0 22px;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;background:rgba(73,220,255,.08);color:#9af1ff;padding:8px 13px;font:700 11px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase}
.phead h1{font-size:clamp(34px,5vw,52px);line-height:1.02;letter-spacing:-.03em;margin:18px 0 10px;color:#eaf7ff}
.phead .upd{color:#8fb4c9;font-size:13px}
/* reading card */
.doc{background:var(--paper);color:var(--ink);border-radius:var(--r);box-shadow:0 30px 90px rgba(0,25,54,.34);padding:clamp(24px,4vw,48px);margin:8px 0 60px;border:1px solid rgba(126,224,255,.25)}
.doc h2{font-size:21px;letter-spacing:-.02em;margin:36px 0 10px;color:#071c35;scroll-margin-top:90px}
.doc h2:first-of-type{margin-top:4px}
.doc h3{font-size:16px;margin:20px 0 6px;color:#0a2c4b}
.doc p,.doc li{font-size:15.5px;line-height:1.66;color:#33556e}
.doc ul{padding-left:20px;margin:8px 0}
.doc li{margin:5px 0}
.doc a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.doc strong{color:#082544}
.doc .lead{font-size:16.5px;color:#20425c;margin-top:0}
.toc{background:#eef7fc;border:1px solid #d3ebf6;border-radius:var(--r-sm);padding:16px 20px;margin:0 0 26px}
.toc b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#0d79bd;margin-bottom:8px}
.toc ul{columns:2;column-gap:26px;list-style:none;padding:0;margin:0}
.toc li{margin:4px 0}
.toc a{color:#0a2c4b;text-decoration:none;font-size:14px}
.toc a:hover{color:var(--blue);text-decoration:underline}
.ruo{background:#fff6e9;border:1px solid #ffdca8;border-radius:var(--r-sm);padding:14px 18px;color:#7a4b12;font-size:14px;line-height:1.55;margin:18px 0}
.ruo b{color:#5c3708}
.ph{background:#fff3f4;border:1px dashed #f4a3ac;border-radius:6px;padding:0 6px;color:#b4404c;font-weight:600;font-size:.92em;white-space:nowrap}
.contact{background:#f1f8fc;border:1px solid #d7ecf6;border-radius:var(--r-sm);padding:16px 20px;margin-top:8px}
.contact p{margin:4px 0}
/* footer */
.footer{background:#020812;padding:44px 0 40px;color:#9fb8cb;border-top:1px solid var(--line)}
.footer .wrap{width:min(880px,calc(100% - 36px))}
.footerTop{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.footerTop img{width:42px;height:42px;object-fit:contain}
.footerTop b{color:#fff;letter-spacing:.16em;font-size:13px}
.footerNav{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:6px;font-size:13px}
.footerNav a{color:#bfe0ef}.footerNav a:hover{color:var(--cyan)}
.legal{font-size:11.5px;line-height:1.6;color:#6f8da0;margin-top:16px}
.legal b{color:#c7dced}
@media(max-width:560px){.toc ul{columns:1}.navin{height:64px}.brand .bt>span{display:none}}
