/* ==========================================================================
   BodyHouse - Center of Oneness · the legal pages (/privacy/, /terms/)
   The landing page's system: black bars top and bottom, cream paper, Playfair
   in Klein Blue, Instrument Sans, hairlines, air. The title and the contents
   sit in a rail on the left; the text runs beside it and, on very wide screens,
   in two columns, so the page uses the screen instead of a narrow middle strip.
   ========================================================================== */
:root{
  color-scheme: light;
  --cream:#EDE7DA; --taupe:#B7AE9F; --black:#0B0B0B; --ink:#171717; --charcoal:#5F6264;
  --gold:#C9881E; --gold-deep:#A96F12; --blue:#1E22AA; --blue-deep:#16197F; --oxide:#9B2C1C;
  --rule:var(--taupe); --rule-on-black:rgba(237,231,218,.2);
  --font-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-text:"Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(1.25rem,6vw,10rem);
  --header-h:clamp(4rem,4.8vw,5.75rem);
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:clamp(16px,calc(.42vw + 10px),21px);scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1.5rem);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-text);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:var(--blue);color:var(--cream)}
h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0;text-wrap:balance}
p{margin:0}
a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.24em;transition:color 200ms var(--ease)}
@media (hover:hover) and (pointer:fine){a:hover{color:var(--blue-deep)}}
:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.on-black :focus-visible{outline-color:var(--gold)}
button{font:inherit;color:inherit}
.container{width:min(calc(100% - (var(--gutter) * 2)),150rem);margin-inline:auto}
.byline{font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;line-height:1.6;color:var(--charcoal)}

/* --- the bar ------------------------------------------------------------------ */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:var(--black);color:var(--cream);border-bottom:1px solid var(--rule-on-black)}
.bar__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:var(--header-h);padding-inline:var(--gutter)}
.lockup{font-family:var(--font-display);font-weight:600;font-size:.9375rem;letter-spacing:.18em;text-transform:uppercase;line-height:1.55;color:var(--cream);text-decoration:none;white-space:nowrap}
.lockup span{display:block}
.lockup:hover{color:var(--cream)}
.bar__right{display:flex;align-items:center;gap:clamp(1.25rem,2.4vw,3.25rem)}
.bar__link{font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(237,231,218,.78);text-decoration:none;padding-block:.4rem;border-bottom:1px solid transparent;transition:color 200ms var(--ease),border-color 200ms var(--ease)}
@media (hover:hover) and (pointer:fine){.bar__link:hover{color:var(--cream);border-color:rgba(237,231,218,.6)}}
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:.71875rem;letter-spacing:.18em;text-transform:uppercase;line-height:1;
  padding:.95rem 1.5rem;border:1px solid var(--cream);border-radius:0;background:var(--cream);color:var(--black);text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:background-color 220ms var(--ease),border-color 220ms var(--ease),color 220ms var(--ease),transform 160ms var(--ease)}
.btn:active{transform:scale(.97);background:var(--gold);border-color:var(--gold);color:#fff}
@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--gold);border-color:var(--gold);color:#fff}}
@media (max-width:760px){.bar__link{display:none}.lockup{font-size:.78rem;letter-spacing:.15em}.btn{padding:.8rem 1rem;font-size:.6875rem;letter-spacing:.14em}}

/* --- the page ----------------------------------------------------------------- */
.legal{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2.5rem,5vw,7rem);padding-block:clamp(3.5rem,6vw,8rem) clamp(4.5rem,8vw,10rem);align-items:start}
.legal__rail{position:sticky;top:calc(var(--header-h) + 2rem)}
.legal h1{font-size:clamp(2.5rem,4.2vw,6rem);line-height:1.04;letter-spacing:-.012em;color:var(--blue)}
.legal h1 + .byline{margin-top:clamp(1.1rem,1.6vw,1.75rem)}
.legal__draft{margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--oxide);max-width:28rem;font-size:.875rem;line-height:1.55;color:var(--oxide)}
.legal__toc{margin-top:clamp(2rem,3vw,3.25rem);padding-top:1.25rem;border-top:1px solid var(--rule)}
.legal__toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;counter-reset:toc}
.legal__toc li{counter-increment:toc;display:grid;grid-template-columns:2.2rem minmax(0,1fr);font-size:.9375rem}
.legal__toc li::before{content:counter(toc,decimal-leading-zero);font-family:var(--font-display);font-style:italic;color:var(--charcoal)}
.legal__toc a{color:var(--ink);text-decoration:none}
@media (hover:hover) and (pointer:fine){.legal__toc a:hover{color:var(--blue);text-decoration:underline}}
.legal__intro{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.25rem,1.5vw,1.9rem);line-height:1.45;color:var(--ink);max-width:40ch;margin-bottom:clamp(2.5rem,3.6vw,4.5rem)}
/* two columns of sections once there is room for two readable measures */
.legal__sections{columns:2 30rem;column-gap:clamp(2.5rem,4vw,6rem)}
.legal__sections section{break-inside:avoid;padding-block:1.6rem 2.4rem;border-top:1px solid var(--rule)}
.legal__sections h2{font-size:clamp(1.35rem,1.6vw,2rem);line-height:1.2;color:var(--blue);margin-bottom:1rem}
.legal__sections h3{font-family:var(--font-text);font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--charcoal);margin:1.5rem 0 .5rem}
.legal__sections p{max-width:44rem}
.legal__sections p + p{margin-top:.9rem}
.legal__sections ul{margin:.9rem 0 0;padding-left:1.15rem;max-width:44rem;display:grid;gap:.45rem}
.legal__sections code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
.todo{color:var(--oxide);font-weight:500;text-decoration:underline dotted;text-underline-offset:.24em;background:none}
/* the cookie list: rows and hairlines, no boxes */
.legal__sections .rows{display:block;margin:1rem 0 0;padding:0;list-style:none;max-width:44rem;border-bottom:1px solid var(--rule)}
.rows li{padding:.9rem 0;border-top:1px solid var(--rule);display:grid;gap:.2rem}
.rows strong{font-weight:600}
.rows span{font-size:.9375rem;color:var(--charcoal)}
.textbtn{margin-top:1.25rem;background:none;border:0;border-bottom:1px solid var(--blue);border-radius:0;padding:0 0 .3rem;cursor:pointer;
  font-size:.8125rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);transition:color 200ms var(--ease),border-color 200ms var(--ease)}
@media (hover:hover) and (pointer:fine){.textbtn:hover{color:var(--blue-deep);border-color:var(--blue-deep)}}
@media (max-width:1020px){
  .legal{grid-template-columns:1fr}
  .legal__rail{position:static}
}

/* --- the foot: the landing page's black close, in brief ---------------------------- */
.foot{background:var(--black);color:var(--cream);padding-block:clamp(3rem,4.5vw,5.5rem) calc(2rem + var(--consent-h,0px))}
.foot__grid{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem clamp(2rem,4vw,6rem)}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem clamp(1.5rem,2.4vw,3rem)}
.foot ul a,.foot ul button{color:rgba(237,231,218,.9);text-decoration:none;font-size:.9375rem;font-family:inherit;background:none;border:0;border-radius:0;padding:0;cursor:pointer;transition:color 200ms var(--ease)}
@media (hover:hover) and (pointer:fine){.foot ul a:hover,.foot ul button:hover{color:var(--cream);text-decoration:underline;text-underline-offset:.24em}}
.foot__bottom{margin-top:clamp(2.5rem,3.6vw,4.5rem);padding-top:1.25rem;border-top:1px solid var(--rule-on-black);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 2rem;font-size:.8125rem;color:rgba(237,231,218,.62)}
.foot__bottom a{color:rgba(237,231,218,.9)}
.foot__reg{display:inline-block;margin-left:1rem;font-size:.6875rem;letter-spacing:.06em;color:rgba(237,231,218,.55)}
@media (max-width:620px){.foot__reg{display:block;margin:.35rem 0 0}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:0ms!important}}
@media print{.bar,.foot,.legal__toc,.consent-bar{display:none}.legal{display:block;padding:0}.legal__sections{columns:1}}
