/* Privacy Policy (/privacy/). Paper: "Privacy Policy - Desktop" / "Privacy Policy - Mobile".
   Navy damask hero fading to cream, sticky policy index beside the policy cards, then the footer (no book band). */

.page--privacy{--policy-text:#2e3a55;--policy-label:#8c7752;--policy-card:#fbf8f3;--policy-card-line:rgba(21,35,89,.09);--policy-rule:rgba(21,35,89,.16)}

/* Hero */
.policy-hero{position:relative;isolation:isolate;overflow:clip;min-height:500px;background:var(--navy)}
.policy-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url(../treatments-bg-1600.webp?v=c0ee742e) 0 0/740px 740px repeat}
.policy-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,var(--ground-fade)) bottom/100% 160px no-repeat,linear-gradient(180deg,var(--navy) 0%,rgba(21,35,89,.7) 30%,rgba(21,35,89,.5) 100%)}
.policy-hero__inner{display:flex;flex-direction:column;gap:22px;max-width:calc(800px + 2 * var(--gutter));padding-top:196px;padding-bottom:110px}

/* Body: index + policy */
.policy-body{display:flex;align-items:flex-start;gap:48px;padding-top:64px;padding-bottom:140px;background:var(--cream)}

.policy-nav{position:sticky;top:116px;flex:none;width:280px;display:flex;flex-direction:column;gap:28px}
.policy-nav__label,.policy-picker__label,.policy-others__label{font-family:var(--caps);font-size:13px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--policy-label)}
.policy-nav__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--policy-rule)}
.policy-nav__list li{border-bottom:1px solid var(--policy-rule)}
.policy-nav__list a{display:flex;padding:14px 12px;font-size:15px;line-height:20px;color:var(--navy);text-decoration:none;border-radius:4px;transition:background-color .25s var(--ease-ui)}
.policy-nav__list a:hover{background:rgba(21,35,89,.05)}
.policy-nav__list li:has([aria-current]){border-bottom-color:transparent}
.policy-nav__list a[aria-current]{background:var(--navy);color:var(--cream);font-weight:600}

.policy{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:20px;padding-top:4px}
.policy__toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:4px}
.policy__toolbar h2{font-family:var(--sans);font-size:32px;font-weight:600;line-height:38px;letter-spacing:-.02em;color:var(--navy)}
.policy__updated{font-size:13px;line-height:18px;color:var(--muted)}

.policy-card{display:flex;flex-direction:column;gap:14px;padding:28px 32px;border:1px solid var(--policy-card-line);border-radius:8px;background:var(--policy-card);color:var(--policy-text);font-size:17px;line-height:30px}
.policy-card h3,.policy-contact h3{font-family:var(--sans);font-size:22px;font-weight:600;line-height:28px;letter-spacing:-.02em;color:var(--navy)}
.policy-card__entity{font-size:14px;font-weight:600;line-height:20px;color:var(--policy-label)}
.policy-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.policy-card li{position:relative;padding-left:20px}
.policy-card li::before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;border-radius:50%;background:var(--gold-light)}
.policy-card a,.policy-contact a{color:var(--navy);text-decoration:underline;text-decoration-color:rgba(21,35,89,.35);text-underline-offset:3px;transition:text-decoration-color .25s}
.policy-card a:hover,.policy-contact a:hover{text-decoration-color:currentColor}

.policy-contact{display:flex;align-items:flex-start;gap:24px;padding:32px 36px;border-radius:8px;background:#ede6da;color:var(--policy-text);font-size:17px;line-height:29px}
.policy-contact__icon{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--navy)}
.policy-contact__icon svg{width:18px;height:18px;fill:none;stroke:var(--cream);stroke-width:1.6}
.policy-contact__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.policy-contact__details a{overflow-wrap:anywhere}

/* Mobile-only parts */
.policy-picker,.policy-others{display:none}

@media (max-width:1180px){
  .policy-body{gap:36px}
  .policy-nav{width:220px}
}

@media (max-width:900px){
  .policy-hero{min-height:500px}
  .policy-hero::before{background-size:600px 600px}
  .policy-hero::after{background:linear-gradient(0deg,var(--cream) 0%,rgba(245,240,232,0) 100%) bottom/100% 100px no-repeat,linear-gradient(180deg,var(--navy) 0%,rgba(21,35,89,.7) 40%,rgba(21,35,89,.8) 100%)}
  .policy-hero__inner{gap:18px;padding-top:124px;padding-bottom:120px}
  .policy-hero .page-title{font-size:44px;line-height:46px}
  .policy-hero .page-lede{font-size:16px;line-height:26px}

  .policy-body{display:block;padding-top:8px;padding-bottom:64px}
  .policy-nav{display:none}
  .policy{gap:16px;padding-top:0}

  .policy-picker{display:flex;flex-direction:column;gap:8px}
  .policy-picker__label,.policy-others__label{padding-inline:4px;font-size:12px}
  .policy-picker__menu{position:relative}
  .policy-picker__menu summary{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 16px;border-radius:6px;background:var(--navy);color:var(--cream);font-size:15px;font-weight:600;line-height:20px;cursor:pointer;list-style:none}
  .policy-picker__menu summary::-webkit-details-marker{display:none}
  .policy-picker__menu summary svg{flex:none;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .3s var(--ease-out)}
  .policy-picker__menu[open] summary svg{transform:rotate(180deg)}
  .policy-picker__menu ul{list-style:none;margin:6px 0 0;padding:6px;border:1px solid var(--policy-card-line);border-radius:6px;background:var(--policy-card)}
  .policy-picker__menu a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:4px;font-size:15px;line-height:20px;color:var(--navy);text-decoration:none}
  .policy-picker__menu a[aria-current]{font-weight:600;background:rgba(21,35,89,.06)}

  .policy__toolbar{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 4px 0}
  .policy__toolbar h2{font-size:22px;line-height:28px}

  .policy-card{gap:12px;padding:22px 20px;font-size:15px;line-height:25px}
  .policy-card h3{font-size:19px;line-height:25px}
  .policy-card li::before{top:10px}

  .policy-contact{gap:14px;padding:22px 20px;font-size:15px;line-height:25px}
  .policy-contact__icon{width:40px;height:40px}
  .policy-contact__body{gap:6px}
  .policy-contact h3{font-size:18px;line-height:24px}
  .policy-contact__details{font-size:14px;line-height:23px}
  .policy-contact__details>span:not(.policy-contact__sep){display:block}
  .policy-contact__sep{display:none}

  .policy-others{display:flex;flex-direction:column;gap:8px;padding-top:12px}
  .policy-others ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--policy-rule)}
  .policy-others li{border-bottom:1px solid rgba(21,35,89,.13)}
  .policy-others a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:14px 4px;font-size:15px;line-height:20px;color:var(--navy);text-decoration:none}
  .policy-others svg{flex:none;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .3s var(--ease-out)}
  .policy-others a:hover svg{transform:translateX(3px)}
}

/* Phone gutters as designed: 24px in the hero, 16px around the policy cards */
@media (max-width:600px){
  .policy-hero__inner{padding-inline:var(--gutter)}
  .policy-body{padding-inline:var(--gutter)}
}

@media (prefers-reduced-motion:reduce){
  .policy-picker__menu summary svg,.policy-others svg{transition:none}
}
