/* IdeaConnect — shared legal/marketing-secondary styles */
:root{
  --ink:#0B0B0C; --muted:#6B6B70; --border:#E6E6E8; --accent:#2F6BFF; --surf:#F4F4F6;
  --bg:#FFFFFF; --night:#0B0B0C; --danger:#E5484D; --success:#2E9E5B;
  --maxw:1100px; --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'SF Pro Display',sans-serif;background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
h1,h2,h3{letter-spacing:-0.02em;font-weight:800;line-height:1.1;}

/* nav (shared, simplified) */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--border);}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:19px;letter-spacing:-0.02em;}
.brand .logo{width:32px;height:32px;display:flex;align-items:center;justify-content:center;}
.brand .logo svg{width:32px;height:32px;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{font-size:14.5px;font-weight:600;color:var(--muted);transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--ink);}
.nav .btn{height:42px;padding:0 18px;font-size:14px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 24px;border-radius:999px;
  font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;border:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease);white-space:nowrap;}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(11,11,12,.5);}
.btn svg{width:17px;height:17px;}
.nav-links a.back-link{color:var(--ink);display:inline-flex;align-items:center;gap:6px;}
.nav-links a.back-link svg{width:16px;height:16px;}

/* hero header for legal pages */
.lhero{background:var(--night);color:#fff;padding:138px 0 64px;position:relative;overflow:hidden;}
.lhero::before{content:"";position:absolute;inset:0;background:radial-gradient(560px 340px at 80% 0%,rgba(47,107,255,.18),transparent 60%);pointer-events:none;}
.lhero .wrap{position:relative;z-index:2;}
.lhero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9A9AA0;}
.lhero .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);}
.lhero h1{font-size:clamp(34px,5vw,54px);font-weight:900;letter-spacing:-0.03em;margin-top:16px;}
.lhero p.upd{margin-top:16px;color:#B6B6BB;font-size:15px;font-weight:500;}
.lhero p.upd b{color:#fff;font-weight:700;}

/* disclaimer banner */
.disclaimer{max-width:var(--maxw);margin:-26px auto 0;padding:0 28px;position:relative;z-index:5;}
.disclaimer-in{background:#FFF7E6;border:1px solid #F2D98C;border-radius:16px;padding:16px 18px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 14px 30px -18px rgba(11,11,12,.3);}
.disclaimer-in svg{width:20px;height:20px;color:#B8860B;flex-shrink:0;margin-top:1px;}
.disclaimer-in p{font-size:13.5px;color:#6B5A2E;line-height:1.55;}
.disclaimer-in p b{color:#5A4A1E;}

/* body layout */
.legal{padding:54px 0 90px;}
.legal-grid{display:grid;grid-template-columns:240px 1fr;gap:54px;align-items:start;}
.toc{position:sticky;top:96px;}
.toc h4{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.toc a{display:block;font-size:14px;font-weight:600;color:var(--muted);padding:7px 0 7px 14px;border-left:2px solid var(--border);transition:all .2s;line-height:1.35;}
.toc a:hover{color:var(--ink);border-color:#C2C2C7;}
.toc a.active{color:var(--ink);border-color:var(--ink);}

.content{min-width:0;}
.content .lead{font-size:18px;color:var(--muted);line-height:1.6;margin-bottom:8px;}
.content section{padding-top:38px;scroll-margin-top:96px;}
.content section:first-of-type{padding-top:0;}
.content h2{font-size:24px;display:flex;align-items:baseline;gap:12px;}
.content h2 .num{font-size:14px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;}
.content h3{font-size:17px;margin-top:24px;}
.content p{font-size:15.5px;color:#2A2A2E;margin-top:14px;}
.content ul{margin:14px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.content ul li{position:relative;padding-left:26px;font-size:15.5px;color:#2A2A2E;line-height:1.55;}
.content ul li::before{content:"";position:absolute;left:6px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--ink);}
.content a.inline{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.content .callout{margin-top:18px;background:var(--surf);border-radius:16px;padding:18px 20px;font-size:14.5px;color:#2A2A2E;line-height:1.6;}
.content .callout b{color:var(--ink);}
.divider{height:1px;background:var(--border);margin:40px 0 0;}

/* contact specific */
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px;}
.ccard{border:1px solid var(--border);border-radius:20px;padding:28px 26px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;}
.ccard:hover{transform:translateY(-5px);box-shadow:0 24px 50px -28px rgba(11,11,12,.26);border-color:#D2D2D6;}
.ccard .ci{width:50px;height:50px;border-radius:14px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;}
.ccard .ci svg{width:24px;height:24px;}
.ccard h3{font-size:19px;margin-top:18px;}
.ccard p{font-size:14.5px;color:var(--muted);margin-top:8px;line-height:1.55;}
.ccard a.cmail{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:15px;font-weight:700;color:var(--ink);}
.ccard a.cmail svg{width:16px;height:16px;transition:transform .2s var(--ease);}
.ccard a.cmail:hover svg{transform:translateX(3px);}

.cform{border:1px solid var(--border);border-radius:24px;padding:30px;margin-top:30px;}
.cform h3{font-size:20px;}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:13px;font-weight:700;}
.field input,.field select,.field textarea{font-family:inherit;font-size:15px;color:var(--ink);border:1.5px solid var(--border);border-radius:14px;padding:13px 15px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,11,12,.06);}
.field textarea{min-height:120px;resize:vertical;}
.field.full{margin-top:16px;}
.cform .btn{margin-top:20px;}
.cform .note{font-size:12.5px;color:var(--muted);margin-top:14px;}

/* footer */
footer{padding:64px 0 46px;border-top:1px solid var(--border);}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px;}
.foot-brand p{color:var(--muted);font-size:14px;max-width:300px;line-height:1.6;margin-top:14px;}
.fcol h4{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.fcol a{display:block;font-size:14px;font-weight:600;color:var(--ink);padding:6px 0;transition:color .2s;}
.fcol a:hover{color:var(--accent);}
.foot-bot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:48px;padding-top:26px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;}

html.js .reveal{opacity:0;transform:translateY(22px);}
html.js .reveal.in{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease);}

@media (max-width:860px){
  .nav-links .hide-sm{display:none;}
  .legal-grid{grid-template-columns:1fr;gap:0;}
  .toc{position:static;margin-bottom:36px;padding-bottom:30px;border-bottom:1px solid var(--border);}
  .toc a{display:inline-block;border-left:none;padding:6px 12px;border:1px solid var(--border);border-radius:999px;margin:0 6px 8px 0;}
  .toc a.active{background:var(--ink);color:#fff;}
  .contact-grid{grid-template-columns:1fr;}
  .frow2{grid-template-columns:1fr;}
  .foot-top{grid-template-columns:1fr 1fr;gap:30px 20px;}
}
@media (max-width:560px){
  .wrap{padding:0 20px;}
  .foot-top{grid-template-columns:1fr;}
  .foot-bot{flex-direction:column;align-items:flex-start;gap:12px;}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto;}html.js .reveal{opacity:1!important;transform:none!important;}}
