/* Supplemental stylesheet for legal-notice.html, matching the privacy policy.
   Uses the exact colour, typography and navbar/footer classes of the homepage stylesheet. */
:root { --privacy-measure: 790px; }
.privacy-page { background: var(--paper, #f2efe7); }
.privacy-page .site-header { background: rgba(242,239,231,.97); }
.privacy-page .site-header .logo { width: auto; max-height: 78px; object-fit: contain; }
.privacy-page .site-header.menu-active { color: var(--paper, #f2efe7); background: var(--forest-deep, #101914); }
.privacy-page .site-header.menu-active .logo--dark { display: none; }
.privacy-page .site-header.menu-active .logo--light { display: block; }
.privacy-page .site-header.menu-active .menu-toggle { z-index: 2; }
.privacy-page .site-header.menu-active .button--light { color: #fff; border-color: rgba(255,255,255,.55); }
.privacy-hero { position: relative; overflow: hidden; isolation: isolate; padding-top: clamp(10rem, 18vw, 17rem); padding-bottom: clamp(4rem, 7vw, 7rem); }
.privacy-hero::before { content:""; position:absolute; inset:0; z-index:-2; background: radial-gradient(circle at 82% 30%, rgba(58,85,63,.28), transparent 46%), linear-gradient(140deg, #172920 0%, #0d1611 70%); }
.privacy-hero__rings { position:absolute; z-index:-1; width:85vw; height:85vw; min-width:550px; min-height:550px; top:-50%; right:-30%; border:1px solid rgba(255,255,255,.085); border-radius:50%; box-shadow: 0 0 0 8vw rgba(255,255,255,.026), 0 0 0 16vw rgba(255,255,255,.018), 0 0 0 24vw rgba(255,255,255,.012); pointer-events:none; }
.privacy-back { display: inline-flex; gap:.75rem; align-items:center; margin-bottom:clamp(3rem,7vw,6rem); font-size:.72rem; letter-spacing:.11em; text-transform:uppercase; text-decoration:none; color:rgba(255,255,255,.7); font-weight:700; transition:color .2s; }
.privacy-back:hover { color:#fff; }
.privacy-hero .kicker { margin-bottom:1.6rem; color:#e99d7d; }
.privacy-dot { margin-inline:.6rem; color:rgba(255,255,255,.4); }
.privacy-hero h1 { margin:0; font:400 clamp(4.25rem,10.8vw,10.5rem)/.88 var(--display, Georgia, serif); letter-spacing:-.06em; color:var(--paper,#f2efe7); }
.privacy-hero h1 em { color:#d8d0bf; font-weight:400; }
.privacy-hero__bottom { display:flex; justify-content:space-between; align-items:end; gap:3rem; max-width:1050px; margin-top:clamp(3.2rem,7vw,7rem); padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.24); }
.privacy-hero__bottom p { max-width:570px; margin:0; color:rgba(255,255,255,.78); font:400 clamp(1.05rem,1.8vw,1.35rem)/1.58 var(--sans,system-ui); }
.privacy-hero__bottom > span { flex-shrink:0; color:rgba(255,255,255,.55); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.privacy-hero__index { position:absolute; bottom:1.5rem; right:var(--gutter,4vw); color:rgba(255,255,255,.22); font-size:.57rem; letter-spacing:.18em; }
.privacy-layout { display:grid; grid-template-columns:250px minmax(0,1fr); align-items:start; gap:clamp(3rem,7vw,8rem); padding-block:clamp(5rem,10vw,10rem); }
.privacy-sidebar { position:sticky; top:8.8rem; }
.privacy-sidebar__label, .privacy-eyebrow { margin:0 0 1rem; color:var(--rust-dark,#a84b2c); font-size:.69rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.privacy-sidebar__label { margin:0 0 1.2rem; }
.privacy-toc { display:grid; gap:0; border-top:1px solid var(--line,rgba(23,34,29,.18)); }
.privacy-toc a { display:flex; gap:.85rem; align-items:baseline; padding:.75rem .2rem; border-bottom:1px solid var(--line,rgba(23,34,29,.18)); text-decoration:none; color:var(--rust-dark,#a84b2c); font-size:.68rem; letter-spacing:.04em; font-weight:700; }
.privacy-toc a span { font-size:.79rem; color:var(--ink,#17221d); letter-spacing:0; font-weight:530; }
.privacy-toc a:hover span, .privacy-toc a:focus-visible span { text-decoration:underline; }
.privacy-sidebar__contact { margin-top:2.4rem; background:#e8e2d5; padding:1.4rem; }
.privacy-sidebar__contact > span { display:block; color:#5e655f; font-size:.79rem; }
.privacy-sidebar__contact a { display:flex; justify-content:space-between; margin-top:.55rem; color:var(--ink,#17221d); font-size:.77rem; font-weight:800; text-decoration:none; text-transform:uppercase; letter-spacing:.04em; }
.privacy-content { min-width:0; max-width:var(--privacy-measure); }
.privacy-content p { margin:0 0 1.25rem; line-height:1.86; font-size:.985rem; }
.privacy-content a { color:#914323; text-underline-offset:.25em; overflow-wrap:anywhere; }
.privacy-intro { padding:0 0 clamp(4rem,6vw,6.2rem); border-bottom:1px solid var(--line,rgba(23,34,29,.18)); }
.privacy-intro > p:nth-child(2) { font:400 clamp(1.45rem,2.4vw,2.15rem)/1.43 var(--display,Georgia,serif); letter-spacing:-.015em; color:var(--ink,#17221d); }
.privacy-intro > p:last-child { font-size:.94rem; color:#626b64; max-width:690px; margin-bottom:0; }
.privacy-section { scroll-margin-top:8rem; padding-block:clamp(3.5rem,6vw,5.2rem); border-bottom:1px solid var(--line,rgba(23,34,29,.18)); }
.privacy-section--last { border:0; padding-bottom:0; }
.privacy-section__top { display:flex; align-items:start; gap:1.5rem; margin-bottom:2.25rem; }
.privacy-section__top h2 { margin:0; font:400 clamp(2rem,3.3vw,3.2rem)/1.06 var(--display,Georgia,serif); letter-spacing:-.04em; }
.privacy-number { color:var(--rust-dark,#a84b2c); font:800 .74rem/2 var(--sans,system-ui); letter-spacing:.08em; }
.privacy-details { display:grid; grid-template-columns:1fr; margin:2rem 0; border-top:1px solid var(--line); }
.privacy-details > div { display:grid; grid-template-columns:1fr 1.8fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.privacy-details > div > span { color:#747a73; font-size:.78rem; }
.privacy-details strong, .privacy-details a { font-size:.9rem; font-weight:650; }
.privacy-review { color:#9b4428; font-weight:700; }
.privacy-data-list { border-top:1px solid var(--line); margin-top:1.8rem; }
.privacy-data-list > div { display:grid; grid-template-columns:175px 1fr; gap:1.75rem; padding:1.45rem 0; border-bottom:1px solid var(--line); }
.privacy-data-list h3 { margin:0; font:400 1.3rem/1.15 var(--display,Georgia,serif); }
.privacy-data-list p { margin:0; font-size:.9rem; }
.privacy-table-wrap { overflow-x:auto; margin:2rem 0; border:1px solid var(--line); }
.privacy-table { width:100%; border-collapse:collapse; font-size:.84rem; text-align:left; }
.privacy-table th { background:#e8e1d4; font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; padding:1.15rem; }
.privacy-table td { padding:1.1rem; vertical-align:top; line-height:1.65; border-top:1px solid var(--line); }
.privacy-table th:first-child,.privacy-table td:first-child { width:40%; }
.privacy-provider-list { list-style:none; margin:1.7rem 0; padding:0; border-top:1px solid var(--line); }
.privacy-provider-list li { display:grid; grid-template-columns:175px 1fr; gap:1.7rem; border-bottom:1px solid var(--line); padding:1.2rem 0; }
.privacy-provider-list strong { font:400 1.2rem/1.35 var(--display,Georgia,serif); }
.privacy-provider-list span { font-size:.89rem; line-height:1.75; }
.privacy-retention { margin:1.8rem 0; border-top:1px solid var(--line); }
.privacy-retention > div { display:flex; justify-content:space-between; gap:2rem; padding:1.2rem 0; border-bottom:1px solid var(--line); }
.privacy-retention strong { width:45%; font-size:.85rem; font-weight:650; }
.privacy-retention span { width:55%; font-size:.84rem; }
.privacy-small-note { color:#6e746e; font-style:italic; font-size:.83rem !important; }
.privacy-email-link { display:inline-flex; align-items:center; gap:1.4rem; font:400 clamp(1.4rem,2.7vw,2.15rem)/1.35 var(--display,Georgia,serif); overflow-wrap:anywhere; }
.privacy-email-link span { font-size:.95rem; }
.privacy-end { background:var(--forest,#1f3329); color:var(--paper,#f2efe7); padding-block:clamp(4.2rem,7vw,7rem); }
.privacy-end__inner { display:flex; justify-content:space-between; align-items:end; gap:3rem; }
.privacy-end .kicker { color:#eb9d7c; }
.privacy-end h2 { margin:0; font:400 clamp(2.7rem,5vw,5rem)/1.05 var(--display,Georgia,serif); letter-spacing:-.05em; }
.privacy-end h2 em { color:#d7c8b7; font-weight:400; }
.privacy-end .button { flex-shrink:0; }
@media(max-width:1100px) { .privacy-layout { grid-template-columns:200px minmax(0,1fr); gap:3rem; } }
@media(max-width:860px) {
  .privacy-layout { display:block; }
  .privacy-sidebar { position:static; margin-bottom:3.5rem; }
  .privacy-toc { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.25rem; }
  .privacy-sidebar__contact { display:none; }
  .privacy-page .site-header.menu-active .primary-nav { color:#fff; }
}
@media(max-width:620px) {
  .privacy-hero { padding-top:11.5rem; padding-bottom:4rem; }
  .privacy-hero h1 { font-size:clamp(3.9rem,14vw,5.8rem); }
  .privacy-hero__bottom { display:block; }
  .privacy-hero__bottom > span { display:block; margin-top:1.4rem; }
  .privacy-hero__index { display:none; }
  .privacy-toc { grid-template-columns:1fr 1fr; gap:0 1rem; }
  .privacy-data-list > div, .privacy-provider-list li { display:block; }
  .privacy-data-list h3, .privacy-provider-list strong { display:block; margin-bottom:.65rem; }
  .privacy-details > div { grid-template-columns:1fr; gap:.3rem; }
  .privacy-retention > div { display:block; }
  .privacy-retention strong,.privacy-retention span { display:block; width:100%; }
  .privacy-retention span { margin-top:.5rem; }
  .privacy-end__inner { display:block; }
  .privacy-end .button { margin-top:2.5rem; max-width:100%; }
  .privacy-page .site-header .logo { max-height:68px; }
}
@media(max-width:380px) { .privacy-toc { grid-template-columns:1fr; } .privacy-section__top { gap:.85rem; } }
@media(prefers-reduced-motion:reduce) { .privacy-back,.privacy-toc a { transition:none; } }

/* Heading refinements for the longer legal notice title. */
.legal-page .privacy-hero h1 { font-size: clamp(3.5rem, 8.9vw, 8.75rem); }
.legal-condition { margin: 2rem 0; padding: 1.7rem 2rem; background: #e8e1d4; border-left: 3px solid var(--rust-dark, #a84b2c); }
.legal-condition .privacy-eyebrow { margin-bottom: .7rem; }
.legal-condition__title { margin-bottom: .6rem !important; font: 400 1.5rem/1.2 var(--display, Georgia, serif); }
.legal-condition .privacy-review { margin-bottom: 0; font-size: .83rem; line-height: 1.65; overflow-wrap: anywhere; }
@media (max-width: 620px) {
 .legal-page .privacy-hero h1 { font-size: clamp(3.25rem, 11.7vw, 5rem); }
 .legal-condition { padding: 1.25rem; }
}
