/* Shared styles for OPENDERM legal / utility pages (privacy, terms, etc.) */
:root{--paper:#ECE7DD;--paper-2:#F5F2EB;--ink:#1c1b16;--soft:#6f6d62;--faint:#9b988c;--line:rgba(28,27,22,.15);--line-2:rgba(28,27,22,.07);--card:#F4F1E9;--maxw:1180px;--ease:cubic-bezier(.16,1,.3,1);--espresso:#181410;--bronze:#9c7a45}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hanken Grotesk",sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;line-height:1.6;letter-spacing:-.01em}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 80% at 50% -10%, rgba(255,253,247,.7), transparent 55%),radial-gradient(100% 60% at 85% 110%, rgba(28,27,22,.05), transparent 60%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
a{color:inherit;text-decoration:none}
::selection{background:var(--ink);color:var(--paper)}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
h1,h2,h3{margin:0;font-weight:300;letter-spacing:-.03em;line-height:1.1}
.kicker{font-size:10.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--soft)}

header.nav{position:sticky;top:0;z-index:50;background:rgba(236,231,221,.78);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-2)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{font-size:20px;font-weight:300;letter-spacing:.01em;text-transform:lowercase;white-space:nowrap}
.logo b{font-weight:300}.logo i{font-style:normal;color:var(--bronze)}
.nav__cta{font-size:13px;font-weight:500;letter-spacing:.04em;border-bottom:1px solid var(--ink);padding-bottom:3px;transition:opacity .2s}
.nav__cta:hover{opacity:.55}
.nav__back{font-size:13px;color:var(--soft)}.nav__back:hover{color:var(--ink)}
@media(max-width:620px){.nav__back{display:none}}

.page{padding:80px 0 96px}
.page .lede{max-width:760px}
.page h1{font-size:clamp(38px,5.5vw,64px);letter-spacing:-.04em;margin:26px 0 18px}
.page .upd{font-size:13px;color:var(--faint);letter-spacing:.02em}
.prose{max-width:760px;margin:56px 0 0}
.prose h2{font-size:22px;font-weight:500;letter-spacing:-.02em;margin:48px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p{font-size:16px;color:var(--ink);margin:0 0 16px}
.prose ul{margin:0 0 16px;padding-left:20px}
.prose li{font-size:16px;color:var(--ink);margin:0 0 8px}
.prose a{border-bottom:1px solid var(--line)}.prose a:hover{border-color:var(--ink)}
.prose .muted{color:var(--soft);font-size:14.5px}
.note{background:var(--card);border:1px solid var(--line-2);border-radius:3px;padding:18px 20px;font-size:14px;color:var(--soft);margin:0 0 8px}

footer{padding:72px 0 52px;border-top:1px solid var(--line-2);margin-top:40px}
.foot{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.foot .logo{font-size:18px}
.foot .brand p{font-size:13px;color:var(--soft);margin:14px 0 0}
.fcol{display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--soft)}
.fcol .fh{color:var(--ink);font-weight:500;margin-bottom:4px;letter-spacing:.02em;font-size:12px;text-transform:uppercase}
.fcol a:hover{color:var(--ink)}
.legal-note{margin-top:56px;padding-top:24px;border-top:1px solid var(--line-2);font-size:12px;color:var(--faint);line-height:1.7;max-width:760px}
