/* LOV Wellbeing legal pages (privacy, terms, legal notice). Same tokens as index.html. */
:root{ --white:#FFFFFF; --plum:#3E2740; --ink:#4A3348; --blush:#F7D4DC; --rose:#E79CB0; --mauve:#C58CAE; --coral:#F6A9A2; --lilac:#F0DCEC; --rose-text:#B8506F; --muted:#8a6f82; --line:rgba(62,39,64,.10); --serif:'Fraunces',Georgia,serif; --sans:'Inter',system-ui,sans-serif; --mono:'Space Mono',ui-monospace,monospace; }
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--rose);color:var(--white)}
a{color:var(--rose-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--plum)}
a:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:4px}
.wrap{max-width:1180px;margin:0 auto;padding:0 40px}
.mono{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:var(--mauve)}

/* top bar */
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.top .bar{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.logo{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:21px;color:var(--plum);text-decoration:none}
.logo b{font-weight:400;color:var(--mauve)}
.lovmark{width:28px;height:28px;flex:none}
.top nav{display:flex;gap:26px;font-size:14px}
.top nav a{color:var(--ink);text-decoration:none}
.top nav a[aria-current]{color:var(--rose-text)}

/* page head */
.lhead{position:relative;overflow:hidden;padding:96px 0 56px;border-bottom:1px solid var(--line)}
.lhead .orb{position:absolute;border-radius:50%;filter:blur(46px);pointer-events:none}
.lhead .o1{width:460px;height:460px;top:-180px;right:-60px;background:radial-gradient(circle at 40% 40%,rgba(247,212,220,.95),transparent 68%)}
.lhead .o2{width:300px;height:300px;top:40px;right:260px;background:radial-gradient(circle at 40% 40%,rgba(240,220,236,.9),transparent 68%)}
.lhead .wrap{position:relative}
.lhead h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,6vw,74px);line-height:1.02;color:var(--plum);margin-top:18px;letter-spacing:-.01em;text-wrap:balance}
.lhead h1 i{color:var(--rose-text)}
.lede{max-width:40rem;font-size:clamp(17px,1.4vw,19px);margin-top:20px;color:var(--ink)}
.meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px 22px}

/* layout */
.doc{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;padding:64px 0 110px}
.toc{position:sticky;top:104px;align-self:start;font-size:14px}
.toc ol{list-style:none;display:grid;gap:9px;margin-top:14px;counter-reset:t}
.toc li{counter-increment:t;display:flex;gap:10px}
.toc li::before{content:counter(t,decimal-leading-zero);font-family:var(--mono);font-size:11px;color:var(--mauve);padding-top:3px}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--rose-text)}
article{max-width:68ch}
article section{padding-top:8px;margin-bottom:46px;scroll-margin-top:96px}
article h2{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.3vw,30px);line-height:1.2;color:var(--plum);margin-bottom:14px;display:flex;gap:14px;align-items:baseline;text-wrap:balance}
article h2 .n{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--mauve);flex:none}
article h3{font-family:var(--sans);font-weight:600;font-size:16.5px;color:var(--plum);margin:22px 0 6px}
article p+p{margin-top:12px}
article ul{margin:10px 0 0 0;padding-left:20px;display:grid;gap:7px}
article li::marker{color:var(--rose)}
strong{font-weight:600;color:var(--plum)}

/* fact card */
.facts{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fdf6f9);padding:24px 26px;margin-top:16px;display:grid;grid-template-columns:auto 1fr;gap:10px 22px;font-size:15.5px}
.facts dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mauve);padding-top:3px}
.facts dd{color:var(--plum)}

/* plan table */
.tbl{overflow-x:auto;margin-top:14px;border:1px solid var(--line);border-radius:16px}
table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mauve);font-weight:400;background:#fdf6f9}
tr:last-child td{border-bottom:none}
td.num{white-space:nowrap;color:var(--plum)}

/* notice */
.note{border-left:2px solid var(--rose);background:#fdf5f8;border-radius:0 14px 14px 0;padding:16px 20px;margin-top:16px}
.note p{font-size:15.5px}
.form-box{border:1px dashed rgba(197,140,174,.6);border-radius:14px;padding:18px 20px;margin-top:14px;font-size:15px;background:#fff}

/* footer */
footer{border-top:1px solid var(--line);padding:48px 0 40px;background:#fff;font-size:14px;color:var(--muted)}
footer .fin{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px 30px}
footer nav{display:flex;flex-wrap:wrap;gap:10px 22px}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--plum)}

@media(max-width:900px){
  .doc{grid-template-columns:1fr;gap:28px;padding-top:40px}
  .toc{position:static;border:1px solid var(--line);border-radius:16px;padding:18px 20px}
  .top nav{display:none}
}
@media(max-width:520px){
  .wrap{padding:0 18px}
  .lhead{padding:64px 0 40px}
  .facts{grid-template-columns:1fr;gap:2px}
  .facts dd{margin-bottom:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
