/* Shared styles for the Privacy Policy and Terms pages (matches the portal look) */
html,body{margin:0;padding:0;background:#053d2f;}
*{box-sizing:border-box;}
a{color:#a7f3d0;text-decoration:none;}
a:hover{color:#ffffff;}

.page{position:relative;min-height:100vh;color:#ffffff;font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;overflow-x:clip;-webkit-font-smoothing:antialiased;}
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(32deg,#021f17 0%,#04392b 30%,#065f46 58%,#0b7a5a 82%,#1f9a72 100%);}
.bg-glow{position:absolute;inset:0;background:radial-gradient(900px 520px at 50% -12%,rgba(150,240,200,0.3),transparent 62%),radial-gradient(700px 500px at -10% 110%,rgba(1,14,10,0.6),transparent 60%);}
.bg-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,0.16) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 15%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 60% 50% at 50% 15%,#000 0%,transparent 75%);opacity:0.45;}
.shell{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh;}

.header{width:100%;max-width:1160px;margin:0 auto;padding:32px clamp(20px,5vw,48px) 0;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{display:flex;align-items:center;min-width:0;padding:8px 0;}
.brand img{height:26px;width:auto;max-width:100%;object-fit:contain;display:block;filter:drop-shadow(0 2px 10px rgba(1,16,12,0.35));}
.brand:focus-visible{outline:2px solid #a7f3d0;outline-offset:6px;border-radius:6px;}
.back{flex:0 0 auto;display:flex;align-items:center;gap:10px;min-height:40px;padding:0 16px 0 12px;border-radius:999px;border:1px solid rgba(255,255,255,0.26);background:rgba(2,32,24,0.32);color:#ffffff;font-size:13px;font-weight:700;transition:background 200ms ease,border-color 200ms ease;}
.back:hover{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.5);color:#ffffff;}
.back:focus-visible{outline:2px solid #ffffff;outline-offset:2px;}

.main{flex:1;width:100%;max-width:860px;margin:0 auto;padding:clamp(40px,8vh,80px) clamp(20px,5vw,48px) 80px;}
.eyebrow{margin:0 0 14px;font-size:clamp(16px,1.8vw,20px);font-weight:700;color:#a7f3d0;letter-spacing:-0.01em;}
.h1{margin:0;font-size:clamp(38px,6vw,64px);line-height:1.04;font-weight:800;letter-spacing:-0.03em;text-wrap:balance;}
.updated{margin:16px 0 0;font-size:13px;font-weight:600;color:rgba(255,255,255,0.72);letter-spacing:0.04em;}
.intro{margin:22px 0 0;font-size:clamp(16px,1.6vw,18px);line-height:1.6;font-weight:500;color:rgba(255,255,255,0.88);text-wrap:pretty;}

.toc{margin:36px 0 0;padding:20px 24px;border-radius:20px;background:rgba(2,32,24,0.32);border:1px solid rgba(255,255,255,0.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.toc-title{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.72);}
.toc ol{margin:0;padding:0 0 0 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:6px 24px;font-size:14px;font-weight:600;}
.toc a{color:#ffffff;}
.toc a:hover{color:#a7f3d0;}

.card{margin:20px 0 0;padding:clamp(22px,3vw,32px);border-radius:20px;background:rgba(2,32,24,0.32);border:1px solid rgba(255,255,255,0.16);box-shadow:0 1px 0 rgba(255,255,255,0.06) inset;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);scroll-margin-top:24px;}
.card h2{margin:0 0 12px;font-size:20px;line-height:1.3;font-weight:800;letter-spacing:-0.01em;}
.card h2 span{color:#a7f3d0;margin-right:8px;}
.card p,.card li{font-size:15.5px;line-height:1.65;color:rgba(255,255,255,0.86);}
.card p{margin:0 0 12px;}
.card p:last-child{margin-bottom:0;}
.card ul{margin:0 0 12px;padding-left:20px;}
.card ul:last-child{margin-bottom:0;}
.card li{margin:4px 0;}
.card strong{color:#ffffff;}
.card a{text-decoration:underline;text-underline-offset:3px;}

.footer{width:100%;max-width:1160px;margin:0 auto;padding:24px clamp(20px,5vw,48px) 32px;border-top:1px solid rgba(255,255,255,0.14);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;font-size:13px;font-weight:500;color:rgba(255,255,255,0.8);}
.footer nav{display:flex;gap:20px;}
.footer nav a{color:rgba(255,255,255,0.88);}
.footer nav a:hover,.footer nav a[aria-current="page"]{color:#ffffff;}
.footer nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px;}

@media (max-width:480px){
  .brand img{height:auto;width:100%;}
  .back{min-height:34px;padding:0 12px 0 10px;font-size:12px;}
}
