:root {
  --policy-ink: #253542;
  --policy-ink-deep: #172733;
  --policy-copy: #536571;
  --policy-muted: #71808a;
  --policy-ivory: #f6f1e8;
  --policy-paper: #fffdf8;
  --policy-line: rgba(63, 89, 107, 0.19);
  --policy-accent: #456f89;
  --policy-accent-deep: #315a74;
  --policy-accent-soft: #dce8ee;
  --policy-shadow: 0 24px 68px rgba(31, 47, 58, 0.12);
  --policy-soft-shadow: 0 12px 34px rgba(31, 47, 58, 0.075);
}

html { scroll-behavior: smooth; }
body { min-height: 100vh !important; }
.policy-main, .policy-main *, .policy-main *::before, .policy-main *::after { box-sizing: border-box; }

.policy-main { position: relative; isolation: isolate; min-height: 100vh; overflow: hidden; color: var(--policy-ink) !important; background: radial-gradient(780px 460px at 88% 8%, color-mix(in srgb, var(--policy-accent-soft) 76%, transparent), transparent 72%), linear-gradient(180deg, #eef2f3 0, #f6f1e8 490px, #f9f7f1 100%); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; }
.policy-main::before { content: ""; position: absolute; z-index: -1; top: 72px; right: -230px; width: 690px; height: 690px; border: 1px solid color-mix(in srgb, var(--policy-accent) 18%, transparent); border-radius: 50%; box-shadow: 0 0 0 70px color-mix(in srgb, var(--policy-accent) 3%, transparent), 0 0 0 140px color-mix(in srgb, var(--policy-accent) 2%, transparent); opacity: .82; }
.policy-main--privacy { --policy-accent: #397489; --policy-accent-deep: #29596c; --policy-accent-soft: #d9e9ed; }
.policy-main--terms { --policy-accent: #566f82; --policy-accent-deep: #3d5669; --policy-accent-soft: #e0e6ea; }
.policy-main--shipping { --policy-accent: #3c6d96; --policy-accent-deep: #2d5474; --policy-accent-soft: #d9e5ef; }
.policy-main--returns { --policy-accent: #60778a; --policy-accent-deep: #465e72; --policy-accent-soft: #e2e8ec; }
.policy-shell { position: relative; z-index: 1; width: min(calc(100% - 48px), 1280px); margin: 0 auto; padding: 34px 0 92px; }

.policy-context { display: flex; min-height: 46px; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--policy-line); color: var(--policy-muted); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.policy-context strong { color: var(--policy-accent-deep); }
.policy-context__status { display: inline-flex; align-items: center; gap: 8px; }
.policy-context__status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--policy-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--policy-accent) 12%, transparent); }

.policy-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(320px, .84fr); gap: clamp(36px, 5vw, 72px); align-items: center; min-height: 465px; margin-top: 24px; padding: clamp(42px, 5vw, 68px); overflow: hidden; border: 1px solid rgba(91, 110, 122, .22); border-radius: 22px; background: linear-gradient(105deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .97) 58%, color-mix(in srgb, var(--policy-accent-soft) 42%, #fffdf8) 100%); box-shadow: var(--policy-shadow); }
.policy-hero::before { content: attr(data-mark); position: absolute; right: -.04em; bottom: -.13em; color: color-mix(in srgb, var(--policy-accent) 8%, transparent); font-family: "Arial Black", Arial, sans-serif; font-size: clamp(72px, 10vw, 150px); font-weight: 900; letter-spacing: -.08em; line-height: .8; text-transform: uppercase; pointer-events: none; }
.policy-hero::after { content: ""; position: absolute; inset: 20px; border: 1px solid rgba(255, 255, 255, .66); border-radius: 15px; pointer-events: none; }
.policy-hero__copy, .policy-brief { position: relative; z-index: 1; }
.policy-eyebrow { margin: 0 0 15px; color: var(--policy-accent-deep) !important; font-size: 11px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.policy-title { max-width: 760px; margin: 0 !important; color: var(--policy-ink-deep) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(52px, 6.2vw, 84px) !important; font-weight: 700 !important; line-height: .94 !important; letter-spacing: -.047em !important; }
.policy-title span { display: block; color: var(--policy-accent-deep); }
.policy-lede { max-width: 680px; margin: 24px 0 0 !important; color: var(--policy-copy) !important; font-size: 16px !important; line-height: 1.72 !important; }
.policy-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 29px; }
.policy-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 21px; border: 1px solid rgba(68, 91, 108, .32); border-radius: 4px; background: rgba(255, 255, 255, .73); color: var(--policy-ink-deep) !important; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-decoration: none !important; text-transform: uppercase; transition: transform 180ms ease, border-color 180ms ease, background 180ms ease; }
.policy-button--primary { border-color: var(--policy-accent); background: var(--policy-accent); color: #fff !important; box-shadow: 0 10px 24px color-mix(in srgb, var(--policy-accent) 22%, transparent); }
.policy-button:hover, .policy-button:focus-visible { transform: translateY(-2px); border-color: var(--policy-accent-deep); outline: none; }
.policy-button--primary:hover, .policy-button--primary:focus-visible { background: var(--policy-accent-deep); }

.policy-brief { padding: 31px 30px 28px; border: 1px solid color-mix(in srgb, var(--policy-accent) 32%, #d8d4cc); border-radius: 14px; background: rgba(255, 253, 248, .88); box-shadow: 0 20px 46px rgba(39, 55, 65, .1); }
.policy-brief__label { color: var(--policy-accent-deep); font-size: 10px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.policy-brief h2 { margin: 10px 0 9px !important; color: var(--policy-ink-deep) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(27px, 3vw, 35px) !important; line-height: 1.02 !important; letter-spacing: -.025em; }
.policy-brief > p { margin: 0 !important; color: var(--policy-copy) !important; font-size: 13px !important; line-height: 1.62 !important; }
.policy-brief__points { display: grid; gap: 0; margin-top: 22px; border-top: 1px solid var(--policy-line); }
.policy-brief__point { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 11px; align-items: center; min-height: 51px; border-bottom: 1px solid var(--policy-line); color: var(--policy-ink); font-size: 12px; font-weight: 750; letter-spacing: .025em; }
.policy-brief__point span:first-child { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid color-mix(in srgb, var(--policy-accent) 44%, transparent); border-radius: 50%; color: var(--policy-accent-deep); background: color-mix(in srgb, var(--policy-accent-soft) 48%, #fff); font-size: 10px; }

.policy-switcher { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 26px 0 0; overflow: hidden; border: 1px solid var(--policy-line); border-radius: 13px; background: rgba(255, 253, 248, .8); box-shadow: var(--policy-soft-shadow); }
.policy-switcher a { position: relative; display: flex; min-height: 75px; align-items: center; justify-content: center; padding: 15px; color: var(--policy-muted) !important; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-align: center; text-decoration: none !important; text-transform: uppercase; }
.policy-switcher a + a { border-left: 1px solid var(--policy-line); }
.policy-switcher a::after { content: ""; position: absolute; right: 20%; bottom: 0; left: 20%; height: 3px; border-radius: 3px 3px 0 0; background: transparent; }
.policy-switcher a:hover, .policy-switcher a:focus-visible { color: var(--policy-accent-deep) !important; background: color-mix(in srgb, var(--policy-accent-soft) 24%, transparent); outline: none; }
.policy-switcher a[aria-current="page"] { color: var(--policy-ink-deep) !important; background: color-mix(in srgb, var(--policy-accent-soft) 42%, #fffdf8); }
.policy-switcher a[aria-current="page"]::after { background: var(--policy-accent); }

.policy-highlight { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; margin: 22px 0 0; padding: 18px 20px; border: 1px solid color-mix(in srgb, var(--policy-accent) 28%, transparent); border-radius: 10px; background: linear-gradient(90deg, color-mix(in srgb, var(--policy-accent-soft) 48%, #fff), rgba(255, 253, 248, .88)); color: var(--policy-copy); font-size: 13px; line-height: 1.58; }
.policy-highlight__mark { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid color-mix(in srgb, var(--policy-accent) 50%, transparent); border-radius: 50%; color: var(--policy-accent-deep); font: 700 13px/1 Georgia, serif; }
.policy-highlight strong { color: var(--policy-ink-deep); }
.policy-highlight a { white-space: nowrap; }

.policy-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(30px, 4vw, 56px); align-items: start; margin-top: 46px; }
.policy-toc { position: sticky; top: 24px; padding: 23px 21px; border: 1px solid var(--policy-line); border-radius: 13px; background: rgba(255, 253, 248, .79); box-shadow: var(--policy-soft-shadow); backdrop-filter: blur(10px); }
.policy-toc__label { margin: 0 0 14px; color: var(--policy-accent-deep); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.policy-toc nav { display: grid; }
.policy-toc a { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 9px; align-items: center; min-height: 43px; border-top: 1px solid var(--policy-line); color: var(--policy-copy) !important; font-size: 12px; font-weight: 700; line-height: 1.25; text-decoration: none !important; }
.policy-toc a span { color: var(--policy-accent); font: 700 12px/1 Georgia, serif; }
.policy-toc a:hover, .policy-toc a:focus-visible { color: var(--policy-accent-deep) !important; outline: none; }
.policy-toc__updated { margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--policy-line); color: var(--policy-muted); font-size: 10px; font-weight: 700; letter-spacing: .06em; line-height: 1.5; text-transform: uppercase; }
.policy-content { min-width: 0; }

.policy-chapter { position: relative; margin: 0 0 30px; padding: clamp(30px, 4vw, 44px); overflow: hidden; border: 1px solid var(--policy-line); border-radius: 18px; background: rgba(255, 253, 248, .93); box-shadow: var(--policy-soft-shadow); scroll-margin-top: 24px; }
.policy-chapter::after { content: attr(data-chapter); position: absolute; top: -.14em; right: .12em; color: color-mix(in srgb, var(--policy-accent) 6%, transparent); font-family: Georgia, "Times New Roman", serif; font-size: 130px; font-weight: 700; line-height: 1; pointer-events: none; }
.policy-chapter__head { position: relative; z-index: 1; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 17px; align-items: start; margin-bottom: 29px; }
.policy-chapter__number { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid color-mix(in srgb, var(--policy-accent) 42%, transparent); border-radius: 50%; color: var(--policy-accent-deep); background: color-mix(in srgb, var(--policy-accent-soft) 48%, #fff); font: 700 17px/1 Georgia, serif; }
.policy-chapter__eyebrow { margin: 1px 0 7px; color: var(--policy-accent-deep); font-size: 9px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.policy-chapter h2 { margin: 0 !important; color: var(--policy-ink-deep) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(28px, 3.5vw, 42px) !important; line-height: 1.04 !important; letter-spacing: -.025em; }
.policy-chapter__intro { max-width: 750px; margin: 12px 0 0 !important; color: var(--policy-copy) !important; font-size: 14px !important; line-height: 1.68 !important; }
.policy-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; border-top: 1px solid var(--policy-line); }
.policy-grid--single { grid-template-columns: 1fr; }
.policy-item { position: relative; padding: 25px 0 23px; border-bottom: 1px solid var(--policy-line); }
.policy-item h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px !important; color: var(--policy-ink-deep) !important; font-size: 15px !important; font-weight: 800 !important; line-height: 1.28; letter-spacing: .018em; }
.policy-item h3::before { content: ""; width: 18px; height: 2px; flex: 0 0 auto; background: var(--policy-accent); }
.policy-item p { margin: 0 0 11px !important; color: var(--policy-copy) !important; font-size: 14px !important; line-height: 1.72 !important; }
.policy-item p:last-child { margin-bottom: 0 !important; }
.policy-item ul { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.policy-item li { position: relative; padding-left: 19px; color: var(--policy-copy); font-size: 13.5px; line-height: 1.5; }
.policy-item li::before { content: ""; position: absolute; top: .62em; left: 1px; width: 6px; height: 6px; border: 1px solid var(--policy-accent); border-radius: 50%; }
.policy-item--feature { margin: 20px 0 4px; padding: 24px 25px; border: 1px solid color-mix(in srgb, var(--policy-accent) 28%, transparent); border-radius: 12px; background: linear-gradient(135deg, color-mix(in srgb, var(--policy-accent-soft) 46%, #fff), rgba(255, 255, 255, .8)); }
.policy-item--feature h3 { color: var(--policy-accent-deep) !important; }

.policy-process { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 4px 0 29px; border: 1px solid var(--policy-line); border-radius: 12px; background: #fff; }
.policy-process__step { position: relative; min-height: 132px; padding: 22px 18px; }
.policy-process__step + .policy-process__step { border-left: 1px solid var(--policy-line); }
.policy-process__step span { color: var(--policy-accent); font: 700 26px/1 Georgia, serif; }
.policy-process__step h3 { margin: 14px 0 6px !important; color: var(--policy-ink-deep) !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .12em; text-transform: uppercase; }
.policy-process__step p { margin: 0 !important; color: var(--policy-muted) !important; font-size: 12px !important; line-height: 1.52 !important; }

.policy-note { position: relative; z-index: 1; margin-top: 22px; padding: 21px 23px 21px 56px; border-left: 3px solid var(--policy-accent); border-radius: 0 10px 10px 0; background: color-mix(in srgb, var(--policy-accent-soft) 48%, #fff); color: var(--policy-copy); font-size: 13px; line-height: 1.65; }
.policy-note::before { content: "i"; position: absolute; top: 22px; left: 20px; display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid var(--policy-accent); border-radius: 50%; color: var(--policy-accent-deep); font: 700 12px/1 Georgia, serif; }

.policy-assurance { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 31px 34px; border: 1px solid color-mix(in srgb, var(--policy-accent) 32%, transparent); border-radius: 16px; background: linear-gradient(115deg, color-mix(in srgb, var(--policy-accent-soft) 52%, #fffdf8), rgba(255, 253, 248, .96) 62%); box-shadow: var(--policy-soft-shadow); }
.policy-assurance h2 { margin: 0 0 7px !important; color: var(--policy-ink-deep) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(25px, 3vw, 34px) !important; line-height: 1.05 !important; }
.policy-assurance p { max-width: 720px; margin: 0 !important; color: var(--policy-copy) !important; font-size: 13.5px !important; line-height: 1.6 !important; }
.policy-main a:not(.policy-button) { color: var(--policy-accent-deep) !important; text-decoration-color: color-mix(in srgb, var(--policy-accent) 42%, transparent); text-underline-offset: 3px; }
.policy-back-home { margin: 34px 0 0; text-align: center; }
.policy-back-home a { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-decoration: none !important; text-transform: uppercase; }

@media (hover: hover) {
  .policy-brief, .policy-chapter, .policy-assurance { transition: transform 190ms ease, box-shadow 190ms ease, border-color 190ms ease; }
  .policy-brief:hover, .policy-chapter:hover, .policy-assurance:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--policy-accent) 34%, transparent); box-shadow: var(--policy-shadow); }
}

@media (max-width: 1040px) {
  .policy-hero { grid-template-columns: 1fr; min-height: 0; }
  .policy-brief { max-width: 720px; }
  .policy-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 28px; }
  .policy-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .policy-process__step:nth-child(3) { border-left: 0; border-top: 1px solid var(--policy-line); }
  .policy-process__step:nth-child(4) { border-top: 1px solid var(--policy-line); }
}

@media (max-width: 760px) {
  .policy-main::before { top: 160px; right: -410px; }
  .policy-shell { width: min(calc(100% - 30px), 700px); padding: 24px 0 70px; }
  .policy-context { min-height: 42px; font-size: 9px; letter-spacing: .08em; }
  .policy-context__status { max-width: 46%; text-align: right; }
  .policy-hero { gap: 30px; margin-top: 17px; padding: 34px 22px 28px; border-radius: 17px; }
  .policy-hero::after { inset: 11px; border-radius: 11px; }
  .policy-hero::before { right: 0; bottom: -.1em; font-size: 70px; }
  .policy-title { font-size: clamp(43px, 13vw, 61px) !important; }
  .policy-lede { margin-top: 19px !important; font-size: 14.5px !important; }
  .policy-actions { display: grid; grid-template-columns: 1fr; margin-top: 23px; }
  .policy-button { width: 100%; }
  .policy-brief { padding: 25px 21px 22px; }
  .policy-switcher { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .policy-switcher a { min-height: 61px; padding: 10px 8px; font-size: 9px; letter-spacing: .08em; }
  .policy-switcher a:nth-child(3) { border-top: 1px solid var(--policy-line); border-left: 0; }
  .policy-switcher a:nth-child(4) { border-top: 1px solid var(--policy-line); }
  .policy-highlight { grid-template-columns: auto minmax(0, 1fr); padding: 16px; }
  .policy-highlight a { grid-column: 2; white-space: normal; }
  .policy-layout { grid-template-columns: 1fr; margin-top: 31px; }
  .policy-toc { position: relative; top: 0; padding: 18px; overflow: hidden; }
  .policy-toc nav { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 5px; scroll-snap-type: x proximity; }
  .policy-toc a { grid-template-columns: auto; min-width: max-content; min-height: 35px; padding: 0 12px; border: 1px solid var(--policy-line); border-radius: 999px; background: #fff; scroll-snap-align: start; }
  .policy-toc a span { display: none; }
  .policy-toc__updated { margin-top: 12px; }
  .policy-chapter { padding: 27px 21px; border-radius: 15px; }
  .policy-chapter::after { font-size: 92px; }
  .policy-chapter__head { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; margin-bottom: 22px; }
  .policy-chapter__number { width: 39px; height: 39px; font-size: 14px; }
  .policy-chapter h2 { font-size: clamp(27px, 8vw, 36px) !important; }
  .policy-grid { grid-template-columns: 1fr; }
  .policy-item { padding: 21px 0; }
  .policy-item p { font-size: 13.5px !important; }
  .policy-process { grid-template-columns: 1fr; }
  .policy-process__step { min-height: 0; }
  .policy-process__step + .policy-process__step { border-top: 1px solid var(--policy-line); border-left: 0; }
  .policy-note { padding: 19px 18px 19px 49px; }
  .policy-note::before { left: 16px; }
  .policy-assurance { grid-template-columns: 1fr; padding: 27px 23px; }
}

@media (max-width: 390px) {
  .policy-shell { width: calc(100% - 24px); }
  .policy-context { align-items: flex-start; flex-direction: column; justify-content: center; gap: 3px; }
  .policy-context__status { max-width: 100%; }
  .policy-hero { padding-inline: 19px; }
  .policy-title { font-size: 42px !important; }
  .policy-chapter { padding-inline: 18px; }
  .policy-item--feature { padding: 20px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .policy-button, .policy-brief, .policy-chapter, .policy-assurance { transition: none; }
}
