/* Legal pages: Terms, Privacy, Refund and Cancellation. Calm, readable, sticky outline on the left. */
.lg-hero .h-hero{font-size:clamp(2.6rem,6.4vw,6rem)}
.lg-hero .h-hero .line{display:block}
.lg-hero .lede{max-width:58ch}
.lg-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:26px;font-size:.92rem;color:var(--mute)}
.lg-meta b{font-weight:500;color:var(--ink)}
.draft-note{display:inline-flex;align-items:center;gap:10px;margin-top:26px;padding:9px 16px;border-radius:999px;background:#FDE8E1;color:#8A2A12;font-size:.88rem}
.draft-note::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange)}

.lg-body{padding:clamp(70px,8vw,110px) 0 clamp(90px,10vw,140px)}
.lg{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(48px,7vw,110px);align-items:start}

/* outline */
.lg > aside{position:sticky;top:110px}
.toc{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:16px 0}
.toc ol,.toc-m ol{list-style:none;padding:0;margin:0}
.toc a,.toc-m a{display:block;padding:9px 0 9px 16px;font-size:.95rem;line-height:1.35;color:var(--ink);text-decoration:none;border-left:2px solid transparent;transition:color .2s,border-color .2s}
.toc a:hover,.toc-m a:hover{color:var(--orange)}
.toc a.on{color:var(--orange);border-left-color:var(--orange)}
.toc-side{margin-top:24px;font-size:.88rem;color:var(--mute)}
.toc-side a{display:block;padding:4px 0;text-decoration:none;color:var(--mute)}
.toc-side a:hover{color:var(--orange)}
.toc-m{display:none}

/* text */
.lg-text{max-width:70ch;min-width:0}
.clause{padding:0 0 46px}
.clause+.clause{padding-top:40px;border-top:1px solid var(--rule)}
.clause h2{display:flex;gap:16px;align-items:baseline;max-width:none;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;letter-spacing:-.03em;line-height:1.15;scroll-margin-top:120px}
.clause h2 .n{flex:none;min-width:1.6em;font:400 italic 1em var(--serif);color:var(--orange)}
.clause h3{font-size:1.08rem;font-weight:600;margin-top:24px}
.clause p,.clause li{font-size:1.04rem;line-height:1.7;color:#2C3B37}
.clause p{margin-top:14px}
.clause ul{list-style:none;padding:0;margin-top:14px}
.clause li{position:relative;padding-left:22px;margin-top:8px}
.clause li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.clause a{color:inherit;text-decoration-color:var(--orange);text-underline-offset:3px}
.clause a:hover{color:var(--orange)}
.clause strong{font-weight:600;color:var(--ink)}

/* "in short" cards */
.short{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.short div{background:var(--paper);border-radius:18px;padding:20px 22px}
.short b{display:block;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}
.short div > span{display:block;margin-top:6px;font-size:.95rem;color:var(--mute);line-height:1.5}

/* refund table */
.rtab{margin-top:22px;border-radius:18px;overflow:hidden;background:var(--paper)}
.rtab div{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;padding:15px 22px;border-top:1px solid var(--rule);font-size:.98rem}
.rtab div:first-child{border-top:0;background:var(--tint);font-size:.85rem;color:var(--mute)}
.rtab .yes{color:#1F6B45;font-weight:500}
.rtab .no{color:var(--mute)}

/* cancellation timeline */
.tline{margin-top:30px;padding:30px 28px 26px;border-radius:22px;background:var(--night);color:#ECEDF2}
.tline .bar{position:relative;height:16px}
.tline .bar i{position:absolute;left:8px;width:calc((100% + 18px) * .75);top:7px;height:2px;background:linear-gradient(90deg,var(--orange) 0 33.3%,#ECEDF2 33.3% 100%);transform-origin:left}
.tline .bar b{position:absolute;top:0;width:16px;height:16px;border-radius:50%;background:var(--night);box-shadow:inset 0 0 0 2px #ECEDF2}
.tline .bar b:first-of-type{background:var(--orange);box-shadow:none}
.tline .bar b:last-of-type{background:#ECEDF2}
.tline ol{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tline li{padding:0;margin:0;font-size:.92rem;line-height:1.5;color:var(--mist)}
.tline li::before{display:none}
.tline li small{display:block;font-size:.8rem;color:var(--mist);opacity:.8}
.tline li strong{display:block;color:#ECEDF2;font-weight:600;font-size:1rem;margin:4px 0 4px}
.tline .ex{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule-d);font-size:.92rem;color:var(--mist)}
.js .tline .bar i{transform:scaleX(0)}
.js .tline .bar b{opacity:0;transform:scale(.4)}
.tline.in .bar i{transform:none;transition:transform 1.6s cubic-bezier(.6,0,.2,1) .2s}
.tline.in .bar b{opacity:1;transform:none;transition:opacity .4s,transform .5s var(--ease)}
.tline.in .bar b:nth-of-type(2){transition-delay:.6s}
.tline.in .bar b:nth-of-type(3){transition-delay:1.1s}
.tline.in .bar b:nth-of-type(4){transition-delay:1.6s}

/* contact box and policy links */
.lg-contact{margin-top:20px;padding:22px 24px;border-radius:18px;background:var(--paper);display:grid;gap:8px;font-size:1rem}
.lg-contact > div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px}
.lg-contact > div > span:first-child{color:var(--mute)}
.pol{margin-top:20px;padding-top:40px;border-top:1px solid var(--ink)}
.pol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:4px}
.pol-grid a{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:18px;background:var(--paper);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s}
.pol-grid a:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(18,36,32,.08)}
.pol-grid b{font-weight:600}
.pol-grid span{font-size:.9rem;color:var(--mute)}
.pol-grid a[aria-current]{background:var(--ink);color:var(--salt)}
.pol-grid a[aria-current] span{color:#B8C4BF}

@media (max-width:1020px){
  .lg{grid-template-columns:1fr;gap:28px}
  .toc{display:none}
  .lg > aside{display:none}
  .rtab div:first-child{display:none}
  .rtab div:nth-child(2){border-top:0}
  .toc-m{display:block;border:1px solid var(--rule);border-radius:16px;background:var(--paper)}
  .toc-m summary{padding:16px 46px 16px 18px;font-size:1rem}
  .toc-m ol{padding:0 10px 12px}
  .toc-m a{border-left:0;padding:9px 8px}
  .short,.pol-grid{grid-template-columns:1fr}
  .tline .bar{display:none}
  .tline ol{grid-template-columns:1fr;gap:16px;margin-top:0}
  .tline li{padding-left:18px;border-left:2px solid #3A4466}
  .tline li:first-child{border-left-color:var(--orange)}
  .rtab div{grid-template-columns:1fr;gap:4px}
}
@media (prefers-reduced-motion:reduce){
  html.js:not(.force-motion) .tline .bar i,html.js:not(.force-motion) .tline .bar b{transform:none;opacity:1;transition:none}
}
