.oasi-legal { --legal-ink:#201915; --legal-rust:var(--oasi-color-primary,#9d3e2c); --legal-gold:var(--oasi-color-secondary,#c99a21); --legal-paper:#f8f3e9; color:var(--legal-ink); background:var(--oasi-color-bg); }
.oasi-legal__hero { padding:clamp(7rem,12vw,11rem) 0 clamp(4rem,7vw,6.5rem); color:#fff; background:radial-gradient(circle at 80% 20%,rgba(201,154,33,.18),transparent 28%),#201b18; }
.oasi-legal__hero-inner { max-width:1040px; }
.oasi-legal__breadcrumb { display:flex; gap:.65rem; margin-bottom:2.5rem; font-size:.82rem; color:#c9c0ba; }
.oasi-legal__breadcrumb a { color:inherit; }
.oasi-legal__kicker,.oasi-legal__aside>p { display:block; color:#e3b93d; font-size:.75rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.oasi-legal__hero h1 { max-width:850px; margin:.7rem 0 1rem; font-size:clamp(2.8rem,6.2vw,6.2rem); line-height:.94; letter-spacing:-.055em; }
.oasi-legal__hero p { max-width:760px; margin:0 0 1.5rem; color:#ddd5d0; font-size:clamp(1.05rem,1.8vw,1.35rem); line-height:1.65; }
.oasi-legal__hero small { color:#a99f98; }
.oasi-legal__layout { display:grid; grid-template-columns:minmax(230px,290px) minmax(0,780px); gap:clamp(3rem,7vw,8rem); align-items:start; padding-block:clamp(4rem,8vw,8rem); }
.oasi-legal__aside { position:sticky; top:8rem; }
.oasi-legal__pages { display:grid; margin-top:1rem; border-top:1px solid #ddd4c8; }
.oasi-legal__pages a { display:flex; justify-content:space-between; gap:1rem; padding:.95rem 0; border-bottom:1px solid #ddd4c8; color:#635a54; text-decoration:none; font-weight:650; }
.oasi-legal__pages a[aria-current="page"] { color:var(--legal-rust); }
.oasi-legal__toc { display:grid; gap:.55rem; margin-top:2rem; padding:1.3rem; border-radius:14px; background:var(--legal-paper); }
.oasi-legal__toc strong { margin-bottom:.3rem; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; }
.oasi-legal__toc a { color:#6d625b; text-decoration:none; font-size:.88rem; line-height:1.35; }
.oasi-legal__toc a.is-current { color:var(--legal-rust); font-weight:700; }
.oasi-legal__content { min-width:0; }
.oasi-legal__notice,.oasi-legal__certificate { margin-bottom:2rem; padding:clamp(1.4rem,3vw,2.2rem); border:1px solid #e4d8c6; border-radius:20px; background:var(--legal-paper); }
.oasi-legal__notice strong { color:var(--legal-rust); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; }
.oasi-legal__notice p { margin:.55rem 0 0; }
.oasi-legal__certificate { display:flex; justify-content:space-between; align-items:center; gap:2rem; background:#201b18; color:#fff; }
.oasi-legal__certificate figure{flex:0 1 260px;margin:0;overflow:hidden;border:3px solid #fff;border-radius:14px;background:#f8e5ae}.oasi-legal__certificate figure img{display:block;width:100%;height:auto;max-height:280px;object-fit:contain}
.oasi-legal__certificate div { display:grid; gap:.2rem; }
.oasi-legal__certificate span,.oasi-legal__certificate small { color:#d6cbbf; }
.oasi-legal__certificate strong { font-size:clamp(1.5rem,3vw,2.4rem); }
.oasi-legal__button { display:inline-flex; align-items:center; gap:.6rem; min-height:48px; padding:.8rem 1.1rem; border-radius:999px; background:var(--legal-rust); color:#fff; text-decoration:none; font-weight:700; }
.oasi-legal__section { scroll-margin-top:8rem; padding:clamp(1.8rem,4vw,3.2rem) 0; border-top:1px solid #e4ddd4; }
.oasi-legal__section:first-of-type { border-top:0; padding-top:0; }
.oasi-legal__section h2 { margin:0 0 1.35rem; font-size:clamp(1.55rem,3vw,2.35rem); letter-spacing:-.035em; }
.oasi-legal__section p,.oasi-legal__section li { color:#5e554f; font-size:1.03rem; line-height:1.82; }
.oasi-legal__section p { margin:0 0 1rem; }
.oasi-legal__section ul { margin:1.2rem 0; padding-left:1.2rem; }
.oasi-legal__section li { margin:.55rem 0; padding-left:.35rem; }
.oasi-legal__section a,.oasi-legal__support a { color:var(--legal-rust); text-underline-offset:3px; }
.oasi-legal__faq { border-top:1px solid #ded6cc; }
.oasi-legal__faq details { border-bottom:1px solid #ded6cc; }
.oasi-legal__faq summary { display:grid; grid-template-columns:40px 1fr 28px; gap:1rem; align-items:center; padding:1.5rem 0; cursor:pointer; list-style:none; font-size:1.08rem; font-weight:750; }
.oasi-legal__faq summary::-webkit-details-marker { display:none; }
.oasi-legal__faq summary span { color:var(--legal-gold); font-size:.78rem; }
.oasi-legal__faq summary i { width:18px; height:18px; position:relative; }
.oasi-legal__faq summary i::before,.oasi-legal__faq summary i::after { content:""; position:absolute; inset:8px 0 auto; height:2px; background:currentColor; transition:transform .25s ease; }
.oasi-legal__faq summary i::after { transform:rotate(90deg); }
.oasi-legal__faq details[open] summary i::after { transform:rotate(0); }
.oasi-legal__faq details>div { padding:0 3rem 1.5rem 3.5rem; color:#655b54; line-height:1.75; }
.oasi-legal__support { display:grid; gap:.4rem; margin-top:3rem; padding:2rem; border-radius:20px; background:#9d3e2c; color:#fff; }
.oasi-legal__support span { opacity:.78; }
.oasi-legal__support strong { font-size:1.35rem; }
.oasi-legal__support a { width:max-content; margin-top:.8rem; color:#fff; font-weight:750; }
.oasi-legal a:focus-visible,.oasi-legal summary:focus-visible { outline:3px solid var(--legal-gold); outline-offset:4px; border-radius:4px; }
@media (max-width: 1024px) { .oasi-legal__layout { grid-template-columns:minmax(0,1fr); gap:3rem; } .oasi-legal__aside { position:static; } .oasi-legal__pages { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.5rem; } .oasi-legal__toc { display:none; } }
@media (max-width: 767px) { .oasi-legal__hero { padding:6rem 0 3.5rem; } .oasi-legal__hero h1 { font-size:clamp(2.5rem,13vw,4rem); } .oasi-legal__layout { padding-block:3rem; } .oasi-legal__pages { grid-template-columns:minmax(0,1fr); } .oasi-legal__certificate { align-items:flex-start; flex-direction:column; } .oasi-legal__button { width:100%; justify-content:center; } .oasi-legal__faq summary { grid-template-columns:30px 1fr 22px; gap:.55rem; } .oasi-legal__faq details>div { padding-left:0; } }
@media (prefers-reduced-motion:reduce) { .oasi-legal__faq summary i::after { transition:none; } }
