.legal-page { --legal-ink:#10243d; --legal-green:#244d3b; --legal-gold:#b88b4d; --legal-paper:#f7f4ed; --legal-line:#dcd9d0; background:radial-gradient(circle at 85% 18%,rgba(184,139,77,.08),transparent 24%),#f8f5ef; color:#25364c; }
.legal-page .site-header { position: relative; z-index: 90; }
.legal-hero { position: relative; isolation:isolate; overflow: hidden; min-height:520px; display:grid; align-items:center; padding:76px 0 64px; background:linear-gradient(135deg,#07192f 0%,#0d2b3a 58%,#315343 100%); color:#fff; }
.legal-hero::after { content:""; position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(5,20,39,.98),rgba(7,30,50,.88) 55%,rgba(7,30,50,.28)),url("assets/images/sections/principles-bedroom-v1.webp") right center/auto 100% no-repeat; opacity:.9; }
.legal-hero::before { content:""; position:absolute; width:470px; height:470px; right:-130px; top:-190px; border:1px solid rgba(210,177,115,.22); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.02),0 0 0 140px rgba(255,255,255,.015); }
.legal-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:70px; align-items:end; }
.legal-eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 18px; color:#dab97d; font-size:13px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.legal-eyebrow::before { content:""; width:34px; height:1px; background:currentColor; }
.legal-hero h1 { max-width:850px; margin:0; font-family:var(--serif); font-size:clamp(48px,6vw,78px); font-weight:500; line-height:1; letter-spacing:-.045em; overflow-wrap:anywhere; hyphens:auto; }
.legal-hero-copy > p:last-child { max-width:720px; margin:24px 0 0; color:rgba(255,255,255,.76); font-size:15px; line-height:1.75; }
.legal-summary { padding:30px; border:1px solid rgba(255,255,255,.16); border-top:2px solid #cba766; border-radius:16px; background:rgba(5,19,35,.5); box-shadow:0 28px 68px rgba(0,0,0,.24); backdrop-filter:blur(14px); }
.legal-summary span,.legal-summary small { display:block; color:#d4b473; font-size:13px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.legal-summary strong { display:block; margin:12px 0 14px; font-family:var(--serif); font-size:26px; font-weight:500; line-height:1.15; }
.legal-summary p { margin:0; color:rgba(255,255,255,.72); font-size:13px; line-height:1.65; }
.legal-switcher { border-bottom:1px solid var(--legal-line); background:#fff; }
.legal-switcher .container { display:flex; gap:4px; overflow-x:auto; scrollbar-width:none; }
.legal-switcher a { min-height:54px; display:flex; align-items:center; padding:0 18px; border-bottom:2px solid transparent; color:#596679; font-size:13px; font-weight:800; white-space:nowrap; }
.legal-switcher a[aria-current="page"] { border-color:var(--legal-gold); color:var(--legal-ink); background:#faf8f3; }
.legal-shell { display:grid; grid-template-columns:245px minmax(0,1fr); gap:58px; padding-top:68px; padding-bottom:88px; }
.legal-toc { position:sticky; top:22px; align-self:start; padding:24px; border:1px solid var(--legal-line); border-radius:15px; background:rgba(255,255,255,.9); box-shadow:0 18px 45px rgba(15,35,56,.07); backdrop-filter:blur(10px); }
.legal-toc > span { display:block; margin-bottom:13px; color:#a8783b; font-size:13px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.legal-toc a { min-height:42px; display:flex; align-items:center; border-top:1px solid #e8e5dd; color:#425269; font-size:13px; font-weight:750; }
.legal-toc a:hover,.legal-toc a:focus-visible { color:#9b6c35; }
.legal-document { min-width:0; display:grid; gap:24px; }
.legal-block { position:relative; display:grid; grid-template-columns:52px minmax(0,1fr); gap:22px; padding:38px; overflow:hidden; border:1px solid var(--legal-line); border-radius:17px; background:rgba(255,255,255,.92); box-shadow:0 20px 50px rgba(15,35,56,.065); scroll-margin-top:24px; }
.legal-block::after { content:""; position:absolute; width:130px; height:130px; right:-75px; top:-80px; border-radius:50%; background:rgba(184,139,77,.055); pointer-events:none; }
.legal-block > div { min-width:0; }
.legal-block-featured { border-top:3px solid var(--legal-gold); background:linear-gradient(145deg,#fff,#faf7ef); }
.legal-block-accent { border-color:#cbd7cc; background:linear-gradient(145deg,#f5f8f3,#fff); }
.legal-block-warning { border-color:#e4cfb9; background:linear-gradient(145deg,#fff8f1,#fff); }
.legal-block-dark { border:0; background:linear-gradient(145deg,#0c223b,#173d3a); color:#fff; }
.legal-number { width:44px; height:44px; display:grid; place-items:center; border:1px solid #cfb078; border-radius:50%; color:#9c7139; font:700 13px var(--serif); }
.legal-block-dark .legal-number { color:#e2c78e; border-color:rgba(226,199,142,.48); }
.legal-kicker { margin:0 0 8px !important; color:#a77537 !important; font-size:13px !important; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.legal-block-dark .legal-kicker { color:#e2c78e !important; }
.legal-block h2 { margin:0 0 17px; color:var(--legal-ink); font-family:var(--serif); font-size:clamp(27px,3vw,39px); font-weight:500; line-height:1.08; letter-spacing:-.025em; }
.legal-block-dark h2 { color:#fff; }
.legal-block h3 { margin:0 0 8px; color:var(--legal-ink); font-size:14px; }
.legal-block p,.legal-block li,.legal-block dd { color:#566377; font-size:14px; line-height:1.82; }
.legal-block-dark p,.legal-block-dark li,.legal-block-dark dd { color:rgba(255,255,255,.76); }
.legal-block p { margin:0 0 14px; }
.legal-block p:last-child { margin-bottom:0; }
.legal-block a { color:#956833; text-decoration:underline; text-underline-offset:3px; }
.legal-block-dark a { color:#f0d49a; }
.legal-block code { padding:2px 5px; border-radius:4px; background:#f0ede6; color:#7d5428; font-size:13px; overflow-wrap:anywhere; }
.legal-address { margin:20px 0; padding:20px 22px; border-left:3px solid var(--legal-gold); background:#f5f2ea; color:#36485e; font-style:normal; font-size:13px; line-height:1.8; }
.legal-facts { display:grid; grid-template-columns:repeat(3,1fr); margin:18px 0 0; border:1px solid #dfddd5; }
.legal-facts div { min-width:0; padding:15px; border-left:1px solid #dfddd5; }
.legal-facts div:first-child { border-left:0; }
.legal-facts dt { margin-bottom:4px; color:#9d7138; font-size:13px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.legal-facts dd { margin:0; overflow-wrap:anywhere; }
.cookie-control { margin-top:22px; padding:22px; border:1px solid #d9d5ca; background:#f8f5ee; }
.cookie-status { margin-bottom:17px; color:#163c31; font-size:13px; font-weight:850; }
.cookie-actions { display:flex; flex-wrap:wrap; gap:10px; }
.cookie-actions button { min-height:48px; padding:0 18px; border:1px solid #173d36; background:#173d36; color:#fff; cursor:pointer; font-size:13px; font-weight:850; }
.cookie-actions button.is-secondary { background:#fff; color:#173d36; }
.cookie-actions button:hover { transform:translateY(-1px); box-shadow:0 9px 20px rgba(15,45,38,.12); }
.cookie-actions button:focus-visible { outline:3px solid rgba(184,139,77,.38); outline-offset:3px; }
.cookie-feedback { min-height:24px; margin-top:12px !important; color:#647064 !important; font-size:13px !important; }
.cookie-category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.cookie-category-grid article { padding:20px; border:1px solid #ddd9d0; background:#faf9f5; }
.cookie-state { display:inline-flex; min-height:28px; align-items:center; margin-bottom:14px; padding:0 9px; border-radius:999px; font-size:13px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.cookie-state.is-on { background:#dfece2; color:#1e593b; }
.cookie-state.is-off { background:#eeeae2; color:#6c6963; }
.legal-table-wrap { max-width:100%; overflow-x:auto; border:1px solid #ddd9d0; }
.legal-table { width:100%; min-width:700px; border-collapse:collapse; }
.legal-table th,.legal-table td { padding:15px; border-bottom:1px solid #e4e1d9; text-align:left; vertical-align:top; }
.legal-table th { background:#f2efe8; color:#27394f; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.legal-table td { color:#596579; font-size:13px; line-height:1.65; }
.legal-noscript { margin:0; padding:10px 15px; background:#7c2d24; color:#fff; text-align:center; font-size:13px; }
@media (max-width:900px) {
  .legal-hero-grid { grid-template-columns:1fr; gap:34px; }
  .legal-summary { max-width:620px; }
  .legal-shell { grid-template-columns:1fr; gap:30px; }
  .legal-toc { position:static; display:grid; grid-template-columns:repeat(2,1fr); gap:0 18px; }
  .legal-toc > span { grid-column:1/-1; }
}
@media (max-width:620px) {
  .legal-hero { min-height:480px; padding:54px 0 44px; }
  .legal-hero::after { background:linear-gradient(180deg,rgba(5,20,39,.58),rgba(5,20,39,.97) 52%),url("assets/images/sections/principles-bedroom-v1.webp") 28% top/auto 340px no-repeat; }
  .legal-hero-grid { gap:28px; }
  .legal-hero h1 { font-size:clamp(40px,13vw,54px); }
  .legal-hero-copy > p:last-child { font-size:13px; }
  .legal-summary { padding:22px; }
  .legal-switcher .container { padding-inline:0; }
  .legal-shell { padding-top:38px; padding-bottom:56px; }
  .legal-toc { grid-template-columns:1fr; padding:19px; }
  .legal-block { grid-template-columns:1fr; gap:15px; padding:24px 20px; }
  .legal-number { width:38px; height:38px; }
  .legal-facts,.cookie-category-grid { grid-template-columns:1fr; }
  .legal-facts div { border-left:0; border-top:1px solid #dfddd5; }
  .legal-facts div:first-child { border-top:0; }
  .cookie-actions { flex-direction:column; }
  .cookie-actions button { width:100%; }
}
