/* Reading layout for the bilingual customer booking guide only. */
.terms-page{--terms-space:1.5rem;padding-block:4rem 6rem}
.terms-intro{max-width:44rem;margin-bottom:3rem}
.terms-intro .eyebrow{font-size:.875rem;letter-spacing:.12em;margin-bottom:1rem}
.terms-intro h1{font-size:clamp(2rem,1.4rem + 2.4vw,3.5rem);line-height:1.3;letter-spacing:.02em}
.terms-lead{font-size:1.0625rem;line-height:1.85;margin-top:1.5rem;max-width:36em}
.terms-notice{margin-top:1.5rem;border-left:3px solid var(--accent);padding:.75rem 1rem;background:var(--accent-soft);font-size:1rem;line-height:1.8}
.terms-intro .policy-date{margin-top:1rem;font-size:.875rem;color:var(--muted)}
.terms-layout{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(0,3fr);gap:4rem;align-items:start}
.terms-nav{position:sticky;top:8rem;display:grid;gap:.5rem}
.terms-nav>p{font-size:.875rem;color:var(--muted);margin:0 0 .5rem}
.terms-nav a{display:flex;align-items:baseline;gap:.75rem;padding:.75rem 0;min-height:44px;font-size:.9375rem;line-height:1.6;text-decoration:none;border-bottom:1px solid var(--line)}
.terms-nav a span{font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--muted)}
.terms-nav a:hover{color:var(--accent);text-decoration:underline}
.terms-content{min-width:0;max-width:48rem}
.terms-section{scroll-margin-top:0;padding-top:2rem;border-top:1px solid var(--line)}
.terms-section+.terms-section{margin-top:4rem}
.terms-section-heading{display:flex;align-items:baseline;gap:1rem;margin-bottom:2rem}
.terms-section-heading>span{font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--muted)}
.terms-section-heading h2{font-family:var(--sans);font-size:clamp(1.5rem,1.25rem + .5vw,1.75rem);line-height:1.5;letter-spacing:.02em;margin:0}
.terms-page h3{font-family:var(--sans);font-size:1.125rem;font-weight:600;line-height:1.6;letter-spacing:0}
.terms-content :is(p,li,dd){font-size:1rem;line-height:1.85;max-width:40em;overflow-wrap:anywhere}
.terms-content :is(ul,ol){margin:1rem 0 0;padding-left:1.25rem}
.terms-content li+li{margin-top:.75rem}
.terms-content li::marker{color:var(--muted)}
.terms-block{margin-top:2rem}
.terms-block h3{margin-bottom:.75rem}
.terms-block p{margin:0}
.terms-block .terms-points{margin-top:0}
.terms-content .terms-flow{display:grid;gap:1.5rem;list-style:none;padding:0;margin:0 0 2rem}
.terms-flow li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:1rem;margin:0;max-width:none}
.terms-step{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;font-size:.875rem;font-variant-numeric:tabular-nums;background:var(--accent-soft);border:1px solid var(--line);border-radius:50%}
.terms-flow h3{margin-bottom:.5rem}
.terms-flow p{margin:0}
.terms-payment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.terms-payment article{padding:1.5rem;background:#f4f5f3;border:1px solid var(--line)}
.terms-payment h3{font-size:1rem;font-weight:500}
.terms-payment .terms-key{font-size:1.25rem;font-weight:600;line-height:1.5;margin:.75rem 0 1rem}
.terms-payment p:not(.terms-key){margin:0}
.terms-payment .terms-points{margin:0}
.terms-disclosure-label{margin-top:-1rem;color:var(--muted)}
.terms-disclosure dl{margin:1.5rem 0 0}
.terms-disclosure dl>div{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.terms-disclosure dt{font-size:1rem;font-weight:600;line-height:1.8}
.terms-disclosure dd{margin:0}
.terms-disclosure dd :is(p,ul){margin:0}
.terms-contact{margin-top:4rem;padding:2rem;background:var(--accent-soft)}
.terms-contact h2{font-family:var(--sans);font-size:1.25rem;line-height:1.5;margin:0 0 1rem}
.terms-contact a{display:block;min-height:44px;padding-block:.75rem;overflow-wrap:anywhere;font-size:1rem}
.terms-contact .terms-privacy{font-size:.875rem;width:fit-content}
.terms-page :focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.terms-page:lang(en) :is(p,li,dd){line-height:1.65}
@media(max-width:1000px){
 .terms-layout{grid-template-columns:1fr;gap:2rem}
 .terms-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.5rem}
 .terms-nav>p{grid-column:1/-1}
 .terms-content{max-width:none}
}
@media(max-width:600px){
 .terms-page{width:calc(100% - 40px);padding-block:2rem 4rem}
 .terms-intro{margin-bottom:2rem}
 .terms-lead{font-size:1rem;margin-top:1rem}
 .terms-nav{gap:.5rem 1rem}
 .terms-nav a{font-size:.875rem;gap:.5rem;padding:.75rem 0}
 .terms-nav a:last-child{grid-column:1/-1}
 .terms-section{padding-top:1.5rem;scroll-margin-top:0}
 .terms-section+.terms-section{margin-top:3rem}
 .terms-section-heading{gap:.75rem;margin-bottom:1.5rem}
 .terms-section-heading h2{font-size:1.5rem}
 .terms-payment{grid-template-columns:1fr;gap:1rem}
 .terms-payment article{padding:1.25rem}
 .terms-block{margin-top:1.5rem}
 .terms-disclosure dl>div{grid-template-columns:1fr;gap:.5rem;padding:1.5rem 0}
 .terms-contact{padding:1.5rem;margin-top:3rem}
}
@media(prefers-reduced-motion:reduce){html:has(.terms-page){scroll-behavior:auto}}
@media print{
 .terms-nav,.site-header,.footer,.skip{display:none!important}
 .terms-page{width:100%;padding:0}
 .terms-layout{display:block}
 .terms-section{break-inside:avoid}
 .terms-payment{grid-template-columns:1fr 1fr}
}
