/* ============================================================
   SiliconPath Law - legal pages, v2 (Privacy, Terms, Pricing T&C, Cookies).

   Loads AFTER about-v2.css (tokens, .wrap). One calm reading layout:
   a compact paper header, then a sticky section list beside the policy.
   The policy markup is the source's own (extracted verbatim), so this file
   styles its existing classes: .policy-block, .policy-list, .policy-table,
   .notice-box, .contact-block, .contact-details-card.
   Motion only under html.lg-js (set by legal-toc.js, never under reduced
   motion); without it the document is plain and complete.
   ============================================================ */

/* ---- HEADER ----------------------------------------------------------- */
.lgh{position:relative;isolation:isolate;overflow:hidden;
  padding:calc(var(--header-h,73px) + clamp(40px,6vw,72px)) 0 clamp(36px,5vw,60px);
  background:radial-gradient(90% 120% at 0% 0%,var(--brand-wash,#F3E8E5) 0%,transparent 55%),var(--paper,#F7F4EF);
  border-bottom:1px solid var(--line,#E4DAD0)}
.lgh__grid{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.6;
  background-image:linear-gradient(rgba(90,31,27,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(90,31,27,.05) 1px,transparent 1px);
  background-size:64px 64px;-webkit-mask:linear-gradient(100deg,transparent 20%,#000 100%);mask:linear-gradient(100deg,transparent 20%,#000 100%)}
.lgh__crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;color:var(--ink-2,#4A3F3A)}
.lgh__crumbs a{color:var(--brand,#5A1F1B);font-weight:700;text-decoration:none}
.lgh__crumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.lgh__crumbs .bi{font-size:.7rem;opacity:.6}
.lgh__h{margin:16px 0 0;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;color:var(--ink,#1F1714)}
.lgh__upd{margin:20px 0 0;display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:999px;
  background:var(--white,#fff);border:1px solid var(--line,#E4DAD0);box-shadow:0 10px 24px -18px rgba(62,20,17,.4)}
.lgh__upd span{padding:4px 10px;border-radius:999px;font-family:var(--mono);font-size:.62rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:#fff;background:var(--brand,#5A1F1B)}
.lgh__upd time{font-weight:800;font-size:.92rem;color:var(--ink,#1F1714)}
html.lg-js .lgh__in > *{animation:lg-up .8s cubic-bezier(.2,.8,.2,1) both}
html.lg-js .lgh__h{animation-delay:.08s}
html.lg-js .lgh__upd{animation-delay:.16s}
@keyframes lg-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---- BODY ------------------------------------------------------------- */
.lgb{position:relative;padding-block:clamp(36px,5vw,72px) clamp(56px,7vw,100px);background:var(--paper,#F7F4EF)}
/* Reading progress, pinned just under the site header. */
.lgb__bar{position:sticky;top:var(--header-h,73px);z-index:5;height:3px;margin-top:calc(-1 * clamp(36px,5vw,72px));
  margin-bottom:clamp(33px,5vw,69px);background:transparent}
.lgb__bar i{display:block;height:100%;transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--brand-2,#7C2E28),var(--brand,#5A1F1B))}
.lgb__in{display:grid;gap:clamp(20px,3vw,48px);align-items:start}
@media(min-width:960px){.lgb__in{grid-template-columns:minmax(0,300px) minmax(0,1fr)}}

/* Section list. Desktop: sticky card. Phones: a disclosure. */
.lgb__aside{min-width:0}
@media(min-width:960px){.lgb__aside{position:sticky;top:calc(var(--header-h,73px) + 28px)}}
.lgt{border-radius:20px;background:var(--white,#fff);border:1px solid var(--line,#E4DAD0);
  box-shadow:0 24px 50px -40px rgba(62,20,17,.45);overflow:hidden}
.lgt__sum{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;font-weight:800;color:var(--ink,#1F1714)}
.lgt__sum::-webkit-details-marker{display:none}
.lgt__sum .bi{transition:rotate .3s ease;color:var(--brand,#5A1F1B)}
.lgt[open] .lgt__sum .bi{rotate:180deg}
@media(min-width:960px){.lgt__sum{display:none}}
.lgt__nav{padding:8px;max-height:calc(100svh - var(--header-h,73px) - 80px);overflow:auto;overscroll-behavior:contain}
.lgt__nav ol{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.lgt__nav a{display:flex;gap:12px;align-items:baseline;padding:9px 12px;border-radius:12px;text-decoration:none;
  font-size:.92rem;font-weight:600;line-height:1.4;color:var(--ink-2,#4A3F3A);transition:background .25s ease,color .25s ease}
.lgt__nav a:hover{background:var(--paper,#F7F4EF);color:var(--ink,#1F1714)}
.lgt__n{flex:none;font-family:var(--mono);font-size:.68rem;font-weight:800;color:var(--ink-3,#8A7A73)}
.lgt__nav a.is-on{background:var(--brand-wash,#F3E8E5);color:var(--brand,#5A1F1B);font-weight:800}
.lgt__nav a.is-on .lgt__n{color:var(--brand,#5A1F1B)}
.lgt__nav a:focus-visible{outline:3px solid var(--brand,#5A1F1B);outline-offset:-3px}

/* The policy document. */
.lgc{min-width:0;padding:clamp(24px,3.4vw,52px);border-radius:24px;background:var(--white,#fff);
  border:1px solid var(--line,#E4DAD0);box-shadow:0 30px 70px -56px rgba(62,20,17,.45);
  color:var(--ink-2,#4A3F3A);font-size:1.02rem;line-height:1.78}
.lgc .main-card{display:contents}
.lgc p{margin:0 0 14px}
.lgc a{color:var(--brand,#5A1F1B);font-weight:700;text-decoration:underline;text-decoration-color:rgba(90,31,27,.3);
  text-underline-offset:3px;overflow-wrap:anywhere}
.lgc a:hover{text-decoration-color:var(--brand,#5A1F1B)}
.lgc strong,.lgc b{color:var(--ink,#1F1714)}
.lgc .policy-intro-text{font-size:1.08rem;color:var(--ink,#1F1714)}
.lgc .policy-block{padding-top:clamp(26px,3vw,36px);margin-top:clamp(26px,3vw,36px);border-top:1px solid var(--line,#E4DAD0);
  scroll-margin-top:calc(var(--header-h,73px) + 24px)}
.lgc h2{margin:0 0 14px;font-size:clamp(1.3rem,2vw,1.6rem);font-weight:800;letter-spacing:-.025em;line-height:1.25;color:var(--ink,#1F1714)}
.lgc h3{margin:22px 0 10px;font-size:1.08rem;font-weight:800;letter-spacing:-.015em;color:var(--ink,#1F1714)}
.lgc h5{margin:18px 0 8px;font-size:.98rem;font-weight:800;color:var(--ink,#1F1714)}
/* Lists: a small oxblood ring marker (the source's check icon is drawn here). */
.lgc .policy-list,.lgc ul{margin:6px 0 16px;padding:0;list-style:none;display:grid;gap:8px}
.lgc .policy-list li,.lgc ul li{position:relative;padding-left:26px}
.lgc .policy-list li::before,.lgc ul li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;
  background:var(--brand,#5A1F1B);box-shadow:0 0 0 4px var(--brand-wash,#F3E8E5)}
/* Tables (the cookie inventory and fee examples). */
.lgc .policy-table{width:100%;margin:10px 0 20px;border-collapse:separate;border-spacing:0;font-size:.92rem;line-height:1.55;
  border:1px solid var(--line,#E4DAD0);border-radius:16px;overflow:hidden}
.lgc .policy-table th{padding:12px 14px;text-align:left;font-family:var(--mono);font-size:.66rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;background:var(--brand,#5A1F1B)}
.lgc .policy-table td{padding:12px 14px;vertical-align:top;border-top:1px solid var(--line,#E4DAD0)}
.lgc .policy-table tbody tr:nth-child(even) td{background:var(--paper,#F7F4EF)}
.lgc .policy-table td:first-child{font-weight:700;color:var(--ink,#1F1714)}
@media(max-width:700px){.lgc .policy-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .lgc .policy-table th,.lgc .policy-table td{min-width:150px}}
/* Notice box. */
.lgc .notice-box{display:flex;gap:12px;align-items:flex-start;margin:16px 0;padding:16px 18px;border-radius:16px;
  background:var(--brand-wash,#F3E8E5);border:1px solid rgba(90,31,27,.16);color:var(--ink,#1F1714)}
.lgc .notice-box .bi{flex:none;margin-top:3px;color:var(--brand,#5A1F1B);font-size:1.05rem}
/* Contact block (the closing "Contact Us" section). */
.lgc .contact-block .row{display:grid;gap:14px;margin:0}
@media(min-width:760px){.lgc .contact-block .row{grid-template-columns:1fr 1fr}}
.lgc .contact-block [class*="col-"]{min-width:0}
.lgc .contact-block-label{font-family:var(--mono);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand,#5A1F1B)}
.lgc .contact-details-card{padding:20px;border-radius:18px;background:var(--paper,#F7F4EF);border:1px solid var(--line,#E4DAD0)}
.lgc .firm-name{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--ink,#1F1714)}
.lgc .firm-name .bi{color:var(--brand,#5A1F1B)}
.lgc .contact-row{display:flex;gap:12px;align-items:flex-start;padding-top:12px;margin-top:12px;border-top:1px solid var(--line,#E4DAD0)}
.lgc .icon-wrap{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:var(--brand,#5A1F1B);background:var(--white,#fff);border:1px solid var(--line,#E4DAD0)}
.lgc .contact-details-inner{font-family:var(--mono);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3,#8A7A73)}
/* Sections settle in as they arrive. */
html.lg-js .lgc .policy-block,html.lg-js .lgc .notice-box{opacity:0;transform:translateY(16px);
  transition:opacity .6s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
html.lg-js .lgc .lg-in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  .lgt__sum .bi,.lgt__nav a{transition:none}
}
