:root{
  --ink:#141527; --ink-soft:#2c2e45;
  --green:#16a34a; --green-2:#22c55e; --green-ink:#0f7a37;
  --bg:#f6f7fb; --card:#ffffff; --line:#eceef4;
  --muted:#5b6270; --muted-2:#737b8e;
  --radius:16px;
  --shadow:0 1px 2px rgba(20,21,39,.04), 0 12px 34px -12px rgba(20,21,39,.14);
  --shadow-lg:0 30px 70px -28px rgba(20,21,39,.35);
  --maxw:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif; color:var(--ink); background:var(--bg); line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
a{color:inherit; text-decoration:none}
img{max-width:100%}
h1,h2,h3{margin:0; letter-spacing:-.03em; line-height:1.1; font-weight:700; text-wrap:balance}
p{margin:0}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:inherit; font-size:15px; font-weight:600; cursor:pointer; padding:13px 22px; border-radius:13px; border:1px solid transparent; transition:.16s ease; white-space:nowrap}
.btn--primary{background:var(--green); color:#fff; box-shadow:0 10px 24px -10px rgba(22,163,74,.7)}
.btn--primary:hover{background:#128a3f; transform:translateY(-1px)}
.btn--ghost{background:#fff; color:var(--ink); border-color:var(--line)}
.btn--ghost:hover{border-color:#d5d9e4; background:#fbfbfd}
.btn--white{background:#fff; color:var(--ink)}
.btn--white:hover{background:#f0f0f4; transform:translateY(-1px)}
.btn--lg{padding:15px 26px; font-size:16px}

/* ---------- Nav (idéntico a la landing principal) ---------- */
header.nav{position:sticky; top:0; z-index:60; background:rgba(246,247,251,.82); backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid transparent; transition:.2s}
header.nav.scrolled{border-color:var(--line); background:rgba(255,255,255,.86)}
.nav__inner{display:flex; align-items:center; justify-content:space-between; height:70px}
.brand{display:flex; align-items:center; gap:11px}
.brand__ico{width:28px; height:40px; flex:none; background:url("img/Logo_WA-Checkin.png") no-repeat; background-size:142px auto; background-position:-5px -3px}
.brand__name{font-weight:700; font-size:19px; letter-spacing:-.02em}
.brand__name b{color:var(--green)}
.brand__tag{display:block; font-size:9.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); margin-top:-2px}
.nav__links{display:flex; align-items:center; gap:30px}
.nav__links a{font-size:14.5px; font-weight:500; color:var(--ink-soft)}
.nav__links a:hover{color:var(--green)}
.nav__cta{display:flex; align-items:center; gap:12px}
.nav__burger{display:none; background:none; border:none; cursor:pointer; padding:8px}
@media(max-width:880px){
  .nav__links{display:none}
  .nav__cta .btn--ghost{display:none}
  .nav__burger{display:inline-flex}
  .brand__tag{display:none}
  .brand__name{font-size:17px}
  .nav__cta .btn--primary{display:none}
  .nav__signin{display:inline-flex; align-items:center; padding:8px 14px; border:1px solid #cfe9d8; border-radius:11px; background:#fff; color:var(--green-ink); font-weight:600; font-size:14px; white-space:nowrap}
  .mega{display:none}
}
.topbar{background:#111228; color:#fff}
.topbar__inner{display:flex; align-items:center; justify-content:center; gap:9px; min-height:38px; padding:7px 0}
.topbar__ic{width:16px; height:16px; color:var(--green-2); flex:none}
.topbar__txt{margin:0; font-size:13px; line-height:1.35; color:#d5d7e6; text-align:center; letter-spacing:-.004em}
.topbar__txt b{color:#fff; font-weight:700; letter-spacing:.01em}
.topbar__txt .hl{color:var(--green-2); font-weight:600}
@media(max-width:600px){.topbar__inner{gap:6px; padding:6px 12px} .topbar__ic{width:15px; height:15px} .topbar__txt{font-size:11px; line-height:1.28; letter-spacing:-.01em}}
.nav__item{position:relative; display:flex; align-items:center}
.nav__trigger{display:inline-flex; align-items:center; gap:5px; font-family:inherit; font-size:14.5px; font-weight:500; color:var(--ink-soft); background:none; border:0; padding:0; cursor:pointer; letter-spacing:-.01em}
.nav__trigger:hover, .nav__item.open .nav__trigger{color:var(--green)}
.nav__chev{transition:transform .2s cubic-bezier(.23,1,.32,1); margin-top:1px}
.nav__item.open .nav__chev{transform:rotate(180deg)}
.nav__trigger:focus-visible{outline:2px solid var(--green); outline-offset:4px; border-radius:6px}
.nav__signin{font-size:14.5px; font-weight:500; color:var(--ink-soft); white-space:nowrap}
.nav__signin:hover{color:var(--green)}
.mega{position:absolute; top:100%; left:0; right:0; z-index:5; padding:8px 22px 0; pointer-events:none; opacity:0; visibility:hidden; transform:translateY(-8px); transform-origin:top center; transition:opacity .18s ease, transform .2s cubic-bezier(.23,1,.32,1), visibility 0s linear .2s}
.mega.open{opacity:1; visibility:visible; transform:none; transition-delay:0s}
.mega.open .mega__panel{pointer-events:auto}
.mega__panel{width:min(1000px, calc(100vw - 44px)); margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-lg); padding:14px; display:grid; grid-template-columns:252px 1fr 288px; gap:12px}
.mega__cats{display:flex; flex-direction:column; gap:2px; background:#f7f8fb; border:1px solid var(--line); border-radius:12px; padding:7px}
.mega__cat{position:relative; display:flex; align-items:center; gap:11px; width:100%; text-align:left; font-family:inherit; color:var(--ink); background:none; border:0; padding:9px 26px 9px 10px; border-radius:9px; cursor:pointer; transition:background .15s ease, box-shadow .15s ease}
.mega__cat:hover{background:#eef1f6}
.mega__cat.active{background:#fff; box-shadow:0 1px 2px rgba(20,21,39,.05), 0 6px 16px -10px rgba(20,21,39,.2)}
.mega__cat-ic{width:34px; height:34px; border-radius:10px; display:grid; place-items:center; flex:none; background:#eef1f6; color:#556074; transition:background .15s, color .15s}
.mega__cat.active .mega__cat-ic{background:#e9f9ef; color:var(--green)}
.mega__cat-tx{flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.2}
.mega__cat-name{font-size:14.5px; font-weight:600; letter-spacing:-.012em}
.mega__cat-sub{font-size:11.5px; color:var(--muted); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.mega__cat-arrow{position:absolute; right:9px; top:50%; flex:none; color:var(--green); opacity:0; transform:translateY(-50%) translateX(-4px); transition:opacity .15s, transform .15s}
.mega__cat.active .mega__cat-arrow{opacity:1; transform:translateY(-50%)}
.mega__cats-foot{display:inline-flex; align-items:center; gap:7px; margin:5px 4px 1px; padding:8px 6px; font-size:13px; font-weight:600; color:var(--green)}
.mega__cats-foot svg{transition:transform .18s}
.mega__cats-foot:hover svg{transform:translateX(3px)}
.mega__panes{padding:6px 8px}
.mega__pane{display:none}
.mega__pane.active{display:block; animation:mega-fade .24s cubic-bezier(.23,1,.32,1) both}
@keyframes mega-fade{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}
.mega__pane-h{font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--muted-2); margin:2px 0 8px 9px}
.mega__links{display:flex; flex-direction:column; gap:1px}
.mega__link{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border-radius:9px; font-size:14px; font-weight:500; color:var(--ink-soft); transition:background .14s ease, color .14s ease}
.mega__link:hover{background:#f4f6fa; color:var(--green)}
.mega__link svg{flex:none; opacity:0; transform:translateX(-4px); transition:opacity .14s, transform .14s}
.mega__link:hover svg{opacity:1; transform:none}
.mega__pane-foot{margin-top:10px; padding-top:11px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:10px}
.mega__pane-foot > span{font-size:12.5px; color:var(--muted)}
.mega__more{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--green); flex:none}
.mega__more svg{transition:transform .18s}
.mega__more:hover svg{transform:translateX(3px)}
.mega__promo{position:relative; display:flex; flex-direction:column; border-radius:12px; overflow:hidden; background:#111228; color:#fff}
.mega__promo::after{content:""; position:absolute; inset:0; background:radial-gradient(60% 55% at 88% 8%, rgba(34,197,94,.34), transparent 60%); pointer-events:none}
.mega__promo-media{height:128px; overflow:hidden; line-height:0; border-bottom:1px solid rgba(255,255,255,.08)}
.mega__promo-media img{width:100%; height:100%; object-fit:cover; object-position:center}
.mega__promo-body{position:relative; z-index:1; padding:15px 16px 17px; display:flex; flex-direction:column; gap:7px}
.mega__promo-eyebrow{font-size:10.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--green-2)}
.mega__promo-title{font-size:16px; font-weight:700; letter-spacing:-.02em; line-height:1.22}
.mega__promo-cta{margin-top:5px; display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; color:#fff}
.mega__promo-cta svg{transition:transform .18s}
.mega__promo:hover .mega__promo-cta svg{transform:translateX(3px)}
.mega__link:focus-visible, .mega__cat:focus-visible, .mega__promo:focus-visible, .mega__more:focus-visible, .mega__cats-foot:focus-visible{outline:2px solid var(--green); outline-offset:2px; border-radius:9px}
.drop{position:absolute; top:100%; left:0; z-index:5; padding-top:8px; pointer-events:none; opacity:0; visibility:hidden; transform:translateY(-8px); transform-origin:top left; transition:opacity .16s ease, transform .18s cubic-bezier(.23,1,.32,1), visibility 0s linear .18s}
.nav__item.open .drop{opacity:1; visibility:visible; transform:none; transition-delay:0s; pointer-events:auto}
.drop__panel{width:266px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-lg); padding:8px}
.drop__link{display:flex; align-items:center; gap:11px; padding:9px 10px; border-radius:10px; color:var(--ink); transition:background .14s ease}
.drop__link:hover{background:#f4f6fa}
.drop__link--hot{background:#eaf7ef}
.drop__link--hot:hover{background:#e0f2e6}
.drop__link--hot .drop__ic{background:var(--green); color:#fff}
.drop__link--hot:hover .drop__ic{background:#128a3f}
.drop__link--hot .drop__tx b{color:var(--green-ink)}
.drop__ic{width:32px; height:32px; border-radius:9px; display:grid; place-items:center; flex:none; background:#eef1f6; color:#556074; transition:background .14s, color .14s}
.drop__link:hover .drop__ic{background:#e9f9ef; color:var(--green)}
.drop__tx{display:flex; flex-direction:column; line-height:1.25; min-width:0}
.drop__tx b{font-size:14px; font-weight:600; letter-spacing:-.01em}
.drop__tx small{font-size:11.5px; color:var(--muted)}
.drop__link:focus-visible{outline:2px solid var(--green); outline-offset:2px; border-radius:10px}
/* "Para quién" como mega ancho de 3 columnas */
.drop--mega{left:50%; right:auto; transform:translateX(-50%) translateY(-8px)}
.nav__item.open .drop--mega{transform:translateX(-50%)}
.drop__panel--mega{width:min(760px, calc(100vw - 44px)); padding:12px; display:grid; grid-template-columns:1fr 1fr 262px; gap:10px}
.mega2__col{padding:4px 2px}
.mega2__col + .mega2__col{border-left:1px solid var(--line); padding-left:12px}
.mega2__head{font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--muted-2); margin:2px 0 6px 10px}
.mega2__promo{position:relative; display:flex; flex-direction:column; justify-content:center; gap:6px; padding:18px; border-radius:12px; background:#111228; color:#fff; overflow:hidden}
.mega2__promo::after{content:""; position:absolute; inset:0; background:radial-gradient(75% 60% at 85% 12%, rgba(34,197,94,.34), transparent 60%); pointer-events:none}
.mega2__promo > *{position:relative; z-index:1}
.mega2__promo-ic{width:40px; height:40px; border-radius:11px; background:rgba(34,197,94,.16); color:var(--green-2); display:grid; place-items:center; margin-bottom:4px}
.mega2__promo-eyebrow{font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--green-2)}
.mega2__promo-title{font-size:17px; font-weight:700; letter-spacing:-.02em; line-height:1.15}
.mega2__promo-sub{font-size:12.5px; color:#c7cbe0; line-height:1.4}
.mega2__promo-cta{margin-top:4px; display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; color:#fff}
.mega2__promo-cta svg{transition:transform .18s}
.mega2__promo:hover .mega2__promo-cta svg{transform:translateX(3px)}
/* ---------- Menú móvil (acordeón con submenús) ---------- */
.mmenu{position:fixed; inset:0; z-index:70; background:rgba(255,255,255,.985); backdrop-filter:blur(8px); display:none; flex-direction:column; overflow-y:auto; overscroll-behavior:contain}
.mmenu.open{display:flex}
.mmenu__top{position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line)}
.mmenu__x{display:inline-grid; place-items:center; width:40px; height:40px; border-radius:11px; background:var(--bg); border:1px solid var(--line); color:var(--ink); cursor:pointer; transition:background .15s ease, transform .12s ease}
.mmenu__x:active{transform:scale(.94)}
.mmenu__nav{width:100%; max-width:560px; margin:0 auto; padding:6px 16px 2px; display:flex; flex-direction:column}
.macc{border-bottom:1px solid var(--line)}
.macc__head{display:flex; align-items:center; justify-content:space-between; width:100%; gap:12px; padding:16px 6px; background:none; border:0; cursor:pointer; font-family:inherit; font-size:17.5px; font-weight:650; color:var(--ink); letter-spacing:-.015em; text-align:left; -webkit-tap-highlight-color:transparent}
.macc__head:active{opacity:.65}
.macc.open .macc__head{color:var(--green-ink)}
.macc__chev{flex:none; color:var(--muted-2); transition:transform .26s cubic-bezier(.23,1,.32,1), color .2s ease}
.macc.open .macc__chev{transform:rotate(180deg); color:var(--green)}
.macc__wrap{display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s cubic-bezier(.23,1,.32,1)}
.macc.open .macc__wrap{grid-template-rows:1fr}
.macc__inner{overflow:hidden; min-height:0}
.macc__pad{padding:1px 0 14px}
.macc__glabel{font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); margin:13px 8px 3px}
.macc__glabel:first-child{margin-top:2px}
.msub{display:flex; align-items:center; gap:12px; padding:10px; border-radius:12px; color:var(--ink-soft); transition:background .15s ease}
.msub:active{background:var(--bg)}
.msub__ic{flex:none; width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:#eef1f6; color:#556074}
.msub__tx{flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.25}
.msub__tx b{font-size:15.5px; font-weight:600; color:var(--ink); letter-spacing:-.01em}
.msub__tx small{font-size:12.5px; color:var(--muted); margin-top:1px}
.msub__go{flex:none; color:var(--muted-2)}
.msub.is-hi .msub__ic{background:#e9f9ef; color:var(--green)}
.msub.is-hi b{color:var(--green-ink)}
.mrow{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 10px; border-radius:10px; font-size:15px; font-weight:550; color:var(--ink-soft); transition:background .15s ease, color .15s ease}
.mrow:active{background:var(--bg); color:var(--green-ink)}
.mrow svg{flex:none; color:var(--muted-2); opacity:.7}
.mmenu__direct{display:flex; align-items:center; justify-content:space-between; padding:16px 6px; font-size:17.5px; font-weight:650; color:var(--ink); letter-spacing:-.015em; border-bottom:1px solid var(--line)}
.mmenu__direct svg{color:var(--muted-2)}
.mmenu__direct:active{color:var(--green-ink)}
.mmenu__foot{width:100%; max-width:560px; margin:auto auto 0; padding:18px 16px calc(20px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:11px}
.mmenu__foot .btn{width:100%}
.mmenu__signin{text-align:center; font-size:15px; font-weight:600; color:var(--ink-soft); padding:2px}
body.mmenu-open{overflow:hidden}
body.mmenu-open .wac-ck{display:none !important}
@media(prefers-reduced-motion:reduce){ .macc__wrap, .macc__chev, .mmenu__x{transition:none} }
@media(prefers-reduced-motion:reduce){.mega, .drop, .nav__chev, .mega__cat-arrow, .mega__link svg, .mega__promo-cta svg, .mega__more svg, .mega__cats-foot svg{transition:none} .mega__pane.active{animation:none}}

/* ---------- Breadcrumb ---------- */
.crumb{font-size:13px; color:var(--muted); padding-top:22px}
.crumb a:hover{color:var(--green)}
.crumb b{color:var(--ink-soft); font-weight:600}

/* ---------- Hero ---------- */
.fhero{position:relative; overflow:hidden; padding:24px 0 58px}
.fhero::before{content:""; position:absolute; inset:0; z-index:0; background:radial-gradient(58% 46% at 10% 8%, rgba(34,197,94,.13), transparent 60%), radial-gradient(50% 42% at 92% 4%, rgba(109,60,235,.07), transparent 60%); pointer-events:none}
.fhero__grid{position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; margin-top:24px}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--green-ink); background:#eaf7ef; border:1px solid #d3ecdc; padding:7px 13px; border-radius:100px}
.fhero h1{font-size:clamp(30px,4vw,48px); letter-spacing:-.038em; margin-top:18px}
.fhero h1 .g{color:var(--green)}
.fhero__lead{margin-top:18px; font-size:clamp(16px,1.5vw,18px); color:var(--ink-soft); max-width:520px}
.fhero__cta{margin-top:26px; display:flex; gap:12px; flex-wrap:wrap}
.fhero__note{margin-top:15px; font-size:13px; color:var(--muted); display:flex; align-items:center; gap:8px}
.fshot{border-radius:16px; overflow:hidden; box-shadow:var(--shadow-lg); border:1px solid var(--line); background:#fff; line-height:0}
.fshot img{width:100%; height:auto; display:block}
@media(max-width:860px){.fhero__grid{grid-template-columns:1fr; gap:32px} .fhero__visual{order:2}}

/* ---------- Sections ---------- */
.sec{padding:58px 0}
.sec--alt{background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.sec__head{max-width:660px; margin:0 auto 40px; text-align:center}
.sec__head h2{font-size:clamp(25px,3vw,36px)}
.sec__head p{margin-top:14px; font-size:16.5px; color:var(--ink-soft)}

/* feature cards */
.fgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.fcard{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:24px; transition:border-color .18s ease, transform .18s ease}
.fcard:hover{border-color:#cdd4e2; transform:translateY(-2px)}
.fcard__ic{width:46px; height:46px; border-radius:13px; display:grid; place-items:center; margin-bottom:15px; background:#e9f9ef; color:var(--green)}
.fcard h3{font-size:18px}
.fcard p{margin-top:9px; font-size:14.5px; color:var(--ink-soft)}
@media(max-width:860px){.fgrid{grid-template-columns:1fr}}

/* feature row */
.frow{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center}
.frow--rev .frow__media{order:2}
.frow__body h2{font-size:clamp(24px,2.8vw,32px)}
.frow__body>p{margin-top:14px; font-size:16px; color:var(--ink-soft)}
.flist{margin:22px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px}
.flist li{display:flex; gap:11px; align-items:flex-start; font-size:15px; color:var(--ink-soft)}
.flist .ck{flex:none; width:22px; height:22px; border-radius:7px; background:#e9f9ef; color:var(--green); display:grid; place-items:center; margin-top:1px}
.flist b{color:var(--ink); font-weight:600}
@media(max-width:860px){.frow{grid-template-columns:1fr; gap:30px} .frow--rev .frow__media{order:0}}

/* CTA band */
.fcta{background:radial-gradient(120% 130% at 15% 0%, #1e2340, #0e0f1d); color:#fff; border-radius:20px; padding:54px 40px; text-align:center; position:relative; overflow:hidden}
.fcta::after{content:""; position:absolute; inset:0; background:radial-gradient(55% 60% at 85% 15%, rgba(34,197,94,.28), transparent 60%), radial-gradient(45% 55% at 8% 95%, rgba(16,143,66,.22), transparent 60%); pointer-events:none}
.fcta h2{font-size:clamp(26px,3.4vw,40px); position:relative}
.fcta p{margin:14px auto 0; max-width:520px; color:#c7cbe0; font-size:16.5px; position:relative}
.fcta__btns{margin-top:26px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; position:relative}

/* explora también */
.also{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.also a{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:14px; padding:19px; transition:border-color .18s ease, transform .18s ease}
.also a:hover{border-color:#cdd4e2; transform:translateY(-2px)}
.also b{font-size:15px}
.also span{font-size:13px; color:var(--muted); margin-top:5px}
.also .ar{margin-top:14px; color:var(--green); font-weight:600; font-size:13.5px}
@media(max-width:860px){.also{grid-template-columns:1fr}}

/* footer */
.ffoot{padding:40px 0 40px; border-top:1px solid var(--line); margin-top:26px; font-size:13px; color:var(--muted-2)}
.ffoot__in{display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; align-items:center}
.ffoot a:hover{color:var(--green)}

/* ===== Páginas legales ===== */
.legal-hero{padding:56px 0 8px}
.legal-hero .eyebrow{display:inline-block; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green-ink); background:#eafaf0; border:1px solid #bfe6cc; border-radius:999px; padding:5px 12px}
.legal-hero h1{margin:16px 0 0; font-size:clamp(28px,4vw,40px); font-weight:700; letter-spacing:-.02em; line-height:1.08}
.legal-hero .legal-upd{margin-top:14px; font-size:14px; color:var(--muted-2)}
.legal-wrap{max-width:820px; margin:0 auto}
.legal{padding:26px 0 44px; font-size:15.5px; color:var(--ink-soft); line-height:1.7}
.legal h2{font-size:clamp(19px,2.2vw,23px); font-weight:700; color:var(--ink); letter-spacing:-.01em; margin:38px 0 12px; scroll-margin-top:96px}
.legal h3{font-size:16.5px; font-weight:700; color:var(--ink); margin:22px 0 8px}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 16px; padding-left:20px}
.legal li{margin:0 0 8px}
.legal a{color:var(--green-ink); text-decoration:underline; text-underline-offset:2px}
.legal a:hover{color:var(--green)}
.legal strong,.legal b{color:var(--ink); font-weight:700}
.legal-card{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px 22px; margin:0 0 18px}
.legal-card p{margin:0 0 6px}
.legal-card p:last-child{margin:0}
.legal-note{display:flex; gap:12px; background:#fffdf3; border:1px solid #f2e6bd; border-radius:14px; padding:16px 18px; margin:22px 0; font-size:14px; color:#7a641d; line-height:1.6}
.legal-note svg{flex:none; margin-top:2px; color:#c99a1e}
.legal-toc{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 22px; margin:8px 0 8px}
.legal-toc b{font-size:12px; text-transform:uppercase; letter-spacing:.07em; color:var(--muted-2)}
.legal-toc ol{margin:12px 0 0; padding-left:20px; columns:2; column-gap:34px}
.legal-toc li{margin:0 0 8px; font-size:14px}
.legal-toc a{color:var(--ink-soft); text-decoration:none}
.legal-toc a:hover{color:var(--green)}
@media(max-width:640px){.legal-toc ol{columns:1}}
table.legal-tbl{width:100%; border-collapse:collapse; margin:6px 0 20px; font-size:13.5px}
table.legal-tbl th,table.legal-tbl td{text-align:left; padding:10px 12px; border:1px solid var(--line); vertical-align:top}
table.legal-tbl th{background:#f7f8fb; font-weight:700; color:var(--ink); font-size:12.5px}
.legal-tbl-wrap{overflow-x:auto}
.ffoot__legal{display:flex; gap:16px; flex-wrap:wrap}
.ffoot__legal a{color:var(--muted-2)}
.ffoot__legal a:hover{color:var(--green)}
.legal-todo{background:#fff3cd;color:#7a641d;padding:0 5px;border-radius:4px;font-weight:600;text-decoration:none}
