:root{
  --bg:oklch(.995 .003 264);--surface:oklch(.978 .01 265);--fg:oklch(.355 .053 276);
  --muted:oklch(.535 .045 267);--border:oklch(.884 .018 267);--accent:oklch(.456 .061 268);
  --soft-blue:oklch(.665 .045 267);--lilac:oklch(.58 .085 302);--ivory:oklch(.965 .025 105);
  --white:oklch(1 0 0);--font:"Plus Jakarta Sans","Avenir Next",sans-serif;
  --gutter:clamp(1.25rem,5vw,5rem);--max:82rem;--curve:cubic-bezier(.32,.72,0,1)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit}
.shell{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}
.eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;color:var(--accent);font-size:.73rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.eyebrow::before{content:"";width:2rem;height:1px;background:currentColor}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .7s var(--curve),transform .7s var(--curve)}
.reveal.is-visible{opacity:1;transform:none}

.pr-hero{position:relative;overflow:hidden;padding:clamp(3.75rem,7vw,6rem) 0 clamp(3.25rem,6vw,5rem);background:linear-gradient(120deg,color-mix(in oklch,var(--soft-blue) 13%,var(--bg)),var(--bg) 62%);border-bottom:1px solid color-mix(in oklch,var(--border) 70%,transparent)}
.pr-hero::after{content:"";position:absolute;width:23rem;height:23rem;right:-9rem;top:-11rem;border-radius:50%;border:1px solid color-mix(in oklch,var(--lilac) 22%,transparent);pointer-events:none}
.pr-hero-copy{position:relative;z-index:1;max-width:54rem}
.pr-hero h1{margin:0;font-size:clamp(2.8rem,6vw,5.2rem);font-weight:550;letter-spacing:-.045em;line-height:1.02}
.pr-hero p:last-child{max-width:65ch;margin:1.35rem 0 0;color:var(--muted);font-size:clamp(1rem,1.5vw,1.13rem);line-height:1.75}

.pr-section{padding:clamp(4rem,7vw,6.5rem) 0;border-bottom:1px solid color-mix(in oklch,var(--border) 65%,transparent)}
.pr-section.is-white{background:var(--white)}
.pr-section.is-soft{background:color-mix(in oklch,var(--soft-blue) 5%,var(--bg))}
.pr-section-head{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,6rem);align-items:start;margin-bottom:clamp(2rem,4vw,3.5rem)}
.pr-section h2{margin:0;font-size:clamp(2rem,4vw,3.25rem);font-weight:550;letter-spacing:-.035em;line-height:1.08}
.pr-section-intro{margin:.25rem 0 0;max-width:66ch;color:var(--muted);font-size:1.03rem;line-height:1.75}
.pr-section-intro p{margin:0}
.pr-section-intro p+p{margin-top:1rem}
.pr-text-link{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;color:var(--accent);font-weight:600;text-decoration:none;border-bottom:1px solid color-mix(in oklch,var(--accent) 30%,transparent)}
.pr-text-link:hover{border-color:var(--accent)}

.legal-prose{max-width:74rem;margin-inline:auto}
.legal-block{display:grid;grid-template-columns:minmax(13rem,.58fr) minmax(0,1.42fr);gap:clamp(2rem,6vw,6rem);padding:clamp(2.1rem,4vw,3.5rem) 0;border-top:1px solid var(--border)}
.legal-block:first-child{padding-top:0;border-top:0}
.legal-block h2{margin:0;font-size:clamp(1.55rem,2.8vw,2.2rem);font-weight:550;letter-spacing:-.025em;line-height:1.15}
.legal-copy{max-width:66ch;color:var(--muted);font-size:1rem;line-height:1.75}
.legal-copy p{margin:0}
.legal-copy p+p{margin-top:1rem}
.legal-copy ul{margin:1rem 0 0;padding-left:1.2rem}
.legal-copy li{padding-left:.35rem;margin:.45rem 0}
.legal-address{margin-top:1.15rem;padding:1.25rem 1.35rem;border-radius:1rem;background:var(--surface);color:var(--fg)}
.legal-address strong{display:block;margin-bottom:.4rem;color:var(--accent);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}

.cookie-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.cookie-category{padding:1.5rem;border-radius:1.2rem;background:var(--white);border:1px solid var(--border)}
.cookie-category span{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;margin-bottom:1rem;border-radius:50%;background:color-mix(in oklch,var(--lilac) 12%,var(--white));color:var(--accent);font-size:.72rem;font-weight:600}
.cookie-category h3{margin:0 0 .65rem;font-size:1rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.cookie-category p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.65}

.cookie-inventory{max-width:74rem;margin-inline:auto;border:1px solid var(--border);border-radius:1.25rem;overflow:hidden;background:var(--white)}
.cookie-inventory-head{display:grid;grid-template-columns:1.05fr 1fr 1.6fr .85fr .85fr;background:color-mix(in oklch,var(--soft-blue) 11%,var(--surface))}
.cookie-inventory-head span{padding:1rem;color:var(--accent);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-right:1px solid var(--border)}
.cookie-inventory-head span:last-child{border-right:0}
.cookie-inventory-empty{padding:1.5rem;color:var(--muted);line-height:1.7;border-top:1px solid var(--border)}

.legal-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,.75fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.legal-contact-card{padding:1.6rem;border-radius:1.2rem;background:var(--white);border:1px solid var(--border)}
.legal-contact-card p{margin:0 0 1rem;line-height:1.7}
.legal-contact-card p:last-child{margin-bottom:0}
.legal-contact-card a{text-decoration:none;overflow-wrap:anywhere}
.legal-contact-card a:hover{text-decoration:underline;text-underline-offset:.2em}
.related-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.related-links a{display:inline-flex;padding:.7rem 1rem;border-radius:999px;background:var(--surface);color:var(--accent);font-size:.86rem;font-weight:600;text-decoration:none}
.related-links a:hover{background:color-mix(in oklch,var(--soft-blue) 16%,var(--surface))}

@media(max-width:900px){
  .legal-block{grid-template-columns:minmax(0,1fr);gap:1rem}
  .cookie-categories{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:780px){
  .pr-section-head,.legal-contact{grid-template-columns:minmax(0,1fr)}
  .pr-section-head{gap:1.25rem}
}
@media(max-width:640px){
  .pr-hero{padding:3.25rem 0}
  .pr-hero h1{font-size:clamp(2.45rem,12vw,3.4rem)}
  .pr-section{padding:3.5rem 0}
  .legal-block{padding:2rem 0}
  .cookie-inventory{border:0;border-radius:0;background:transparent;overflow:visible}
  .cookie-inventory-head{display:none}
  .cookie-inventory-empty{padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:var(--white)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
