/* Terms helper page: a calm editorial agreement with an explicit reading rail. */
:root {
  --terms-ink: #080808;
  --terms-muted: #4e4a53;
  --terms-line: rgba(8, 8, 8, .18);
  --terms-cyan: #64c9ef;
  --terms-pink: #fa7da9;
  --terms-violet: #9168f3;
  --terms-paper: #fffdfb;
}

html { scroll-behavior: smooth; }
body.terms-page {
  background: var(--terms-paper);
  color: var(--terms-ink);
  font-family: Arial, Helvetica, sans-serif;
}

body.terms-page > [data-helper-shell="header"] {
  position: relative;
  z-index: 4;
  min-height: 154px;
  background: var(--terms-paper);
  color: var(--terms-ink);
  box-shadow: 0 1px 0 rgba(8, 8, 8, .12);
}
body.terms-page > [data-helper-shell="header"] > header {
  min-height: 154px !important;
  background: var(--terms-paper) !important;
  background-image: none !important;
  overflow: visible;
}
body.terms-page > [data-helper-shell="header"] .hero-nav {
  width: min(100%, 1560px);
  min-height: 154px;
  margin: 0 auto;
  padding: 30px clamp(24px, 5vw, 80px);
}
body.terms-page > [data-helper-shell="header"] .nav-panel { align-items: center; }
body.terms-page > [data-helper-shell="header"] .nav-panel a,
body.terms-page > [data-helper-shell="header"] .phone { color: var(--terms-ink); }
body.terms-page > [data-helper-shell="header"] .phone { margin-left: 0; }

.terms-main {
  width: min(100%, 1520px);
  margin: 0 auto;
  padding: clamp(48px, 8vw, 132px) clamp(24px, 7vw, 112px) clamp(80px, 10vw, 160px);
}
.terms-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  align-items: end;
  gap: clamp(40px, 9vw, 160px);
  padding-bottom: clamp(64px, 9vw, 140px);
}
.terms-intro__copy, .terms-contents, .terms-section__body { min-width: 0; }
.terms-eyebrow, .terms-section__kicker, .terms-contents__label {
  margin: 0 0 20px;
  color: var(--terms-violet);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.terms-intro h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(68px, 9vw, 148px);
  font-weight: 700;
  letter-spacing: -.09em;
  line-height: .83;
}
.terms-intro h1 span { color: var(--terms-pink); }
.terms-intro__lede {
  max-width: 640px;
  margin: clamp(36px, 5vw, 72px) 0 0;
  font-size: clamp(20px, 2vw, 29px);
  line-height: 1.18;
}
.terms-intro__updated { margin: 26px 0 0; color: var(--terms-muted); font-size: 15px; }
.terms-contents {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 0 4px 22px;
  border-left: 2px solid var(--terms-cyan);
}
.terms-contents__label { margin-bottom: 4px; color: var(--terms-ink); }
.terms-contents a, .terms-section a, .site-footer a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.terms-contents a { font-size: 15px; line-height: 1.25; text-decoration: none; }
.terms-contents a:hover, .terms-contents a:focus-visible { color: var(--terms-violet); }

.terms-section {
  display: grid;
  grid-template-columns: 86px minmax(0, 760px);
  gap: clamp(20px, 5vw, 84px);
  width: min(100%, 1060px);
  margin: 0 auto;
  padding: clamp(54px, 7vw, 100px) 0;
  border-top: 1px solid var(--terms-line);
  scroll-margin-top: 32px;
}
.terms-section--plain { background: transparent; }
.terms-section--wash { position: relative; }
.terms-section--wash::before {
  position: absolute;
  z-index: -1;
  content: "";
  inset: 24px 0;
  background: linear-gradient(110deg, #effbff 0%, #fff8fb 52%, transparent 100%);
  pointer-events: none;
}
.terms-section--accent { background: linear-gradient(90deg, rgba(247, 240, 255, .7), transparent 76%); }
.terms-section--contact { background: #fff; }
.terms-section__number { margin: 4px 0 0; color: var(--terms-pink); font-size: 18px; font-weight: 700; }
.terms-section__body { max-width: 760px; }
.terms-section h2 {
  max-width: 760px;
  margin: 0 0 2.1rem;
  font-size: clamp(2.5rem, 5vw, 5.4rem);
  letter-spacing: -.07em;
  line-height: .93;
}
.terms-section p { margin: 0 0 1.35rem; color: #36323a; font-size: clamp(1.05rem, 1.5vw, 1.28rem); line-height: 1.48; }
.terms-section p:last-child { margin-bottom: 0; }
.terms-definition {
  margin: 0 0 2rem;
  padding: 1.35rem 1.5rem;
  border-left: 4px solid var(--terms-cyan);
  background: #f0fbff;
}
.terms-definition strong { display: block; margin-bottom: .45rem; font-size: 1.25rem; }
.terms-definition p { margin: 0; font-size: 1.05rem; }
.terms-points { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.terms-points li {
  padding: 1.25rem 1.45rem;
  border: 1px solid var(--terms-line);
  border-radius: .95rem;
  background: rgba(255, 255, 255, .62);
  color: #36323a;
  font-size: clamp(1.05rem, 1.5vw, 1.18rem);
  line-height: 1.45;
}
.terms-points strong { color: var(--terms-ink); }
.terms-points--compact li { padding-block: 1rem; }
.terms-link-list { margin-top: 2rem; }
.terms-link-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 2px solid var(--terms-ink);
  font-size: 1.05rem;
  font-weight: 700;
  text-decoration: none;
}
.terms-link-list a:hover, .terms-link-list a:focus-visible { color: var(--terms-violet); }
.terms-link-list span, .terms-contact__button span { font-size: 1.2rem; }
.terms-inline-link { font-weight: 700; }
.terms-contact { margin-top: 2.1rem; padding-top: 1.5rem; border-top: 1px solid var(--terms-line); }
.terms-contact__actions { display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; margin-top: 2.2rem; }
.terms-contact__button, .terms-contact__phone { font-size: 1.05rem; font-weight: 700; }
.terms-contact__button { display: flex; align-items: center; gap: .8rem; padding: .85rem 0; border-bottom: 2px solid var(--terms-ink); text-decoration: none; }
.terms-contact__phone { align-self: center; }

.terms-consent-panel {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  background: rgba(9, 9, 9, .58);
}
.terms-consent-panel[hidden] { display: none; }
.terms-consent-panel__card { width: min(100%, 560px); padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--terms-ink); border-radius: 1.5rem; background: #fff; box-shadow: 0 1.5rem 4rem rgba(9, 9, 9, .22); }
.terms-consent-panel__card h2 { margin: 0 0 1rem; font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -.06em; line-height: .95; }
.terms-consent-panel__card > p { color: var(--terms-muted); line-height: 1.5; }
.terms-consent-panel__choice { display: flex; gap: .8rem; align-items: flex-start; margin: 1.5rem 0; }
.terms-consent-panel__choice input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; accent-color: var(--terms-violet); }
.terms-consent-panel__choice span { display: grid; gap: .35rem; }
.terms-consent-panel__choice small { color: var(--terms-muted); font-size: .95rem; line-height: 1.35; }
.terms-consent-panel__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.terms-consent-panel__actions button { min-height: 2.75rem; padding: .6rem 1.1rem; border: 1px solid var(--terms-ink); border-radius: 999px; background: var(--terms-ink); color: #fff; cursor: pointer; font: inherit; }
.terms-consent-panel__actions button:last-child { background: #fff; color: var(--terms-ink); }

/* The shared shell supplies the footer grid; these tag-specific rules keep converted labels stable. */
.terms-page .site-footer__topics a { display: block; color: inherit; text-decoration: none; }
.terms-page .site-footer__topics a:hover, .terms-page .site-footer__topics a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.terms-page .site-footer__legal nav a { color: inherit; text-decoration: none; }
.terms-page .site-footer__legal nav a:hover, .terms-page .site-footer__legal nav a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1100px) {
  body.terms-page > [data-helper-shell="header"] .hero-nav { padding-inline: 5vw; }
  .terms-section { grid-template-columns: 60px minmax(0, 1fr); gap: 28px; }
}

@media (max-width: 760px) {
  body.terms-page > [data-helper-shell="header"], body.terms-page > [data-helper-shell="header"] > header { min-height: 100px; }
  body.terms-page > [data-helper-shell="header"] > header, body.terms-page > [data-helper-shell="header"] .hero-nav { min-height: 100px !important; }
  body.terms-page > [data-helper-shell="header"] .hero-nav { padding: 20px; }
  .terms-intro { display: block; }
  .terms-contents { margin-top: 3rem; }
  .terms-intro h1 { font-size: clamp(3.5rem, 16vw, 6rem); }
  .terms-section { display: block; width: min(100% - 0px, 640px); padding-block: 68px; }
  .terms-section__number { margin-bottom: 1.6rem; }
  .terms-section h2 { margin-bottom: 1.6rem; font-size: clamp(2.8rem, 13vw, 4.4rem); }
  .terms-contact__actions { display: grid; gap: .8rem; }
  .terms-contact__phone { align-self: start; }
}

@media (max-width: 600px) {
  body.terms-page > [data-helper-shell="header"] .nav-panel { width: 100%; }
  .terms-main { padding-inline: 20px; }
  .terms-consent-panel { padding: .75rem; }
  .terms-consent-panel__card { border-radius: 1rem; padding: 1.4rem; }
}
