/* WorthHerWhile.com privacy page
   Asset assumptions:
   - CSS path: /privacy/privacy.css or /privacy.css
   - Images path: same directory or shared public image directory
*/

:root {
  --whw-max: 1360px;
  --whw-header-max: 1540px;

  --whw-bg: #fff8f2;
  --whw-bg-soft: #fffaf6;
  --whw-panel: #fffdf9;
  --whw-panel-warm: #fff7f0;

  --whw-ink: #12110f;
  --whw-ink-soft: #2b241d;
  --whw-muted: #6f6252;
  --whw-soft-muted: #9b8b77;

  --whw-gold: #c89655;
  --whw-gold-deep: #a87335;
  --whw-gold-soft: #d8b37d;

  --whw-border: rgba(200, 150, 85, 0.24);
  --whw-border-soft: rgba(200, 150, 85, 0.13);
  --whw-border-strong: rgba(200, 150, 85, 0.48);
  --whw-line: rgba(200, 150, 85, 0.25);

  --whw-shadow: 0 18px 45px rgba(80, 55, 30, 0.055);
  --whw-shadow-soft: 0 22px 70px rgba(80, 55, 30, 0.07);

  --whw-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  --whw-sans: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(200, 150, 85, 0.045), transparent 34rem),
    linear-gradient(180deg, var(--whw-bg) 0%, #fff5ec 100%);
  color: var(--whw-ink);
  font-family: var(--whw-sans);
  font-size: 16px;
  line-height: 1.55;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

.whw-shell {
  width: min(calc(100% - 56px), var(--whw-max));
  margin-inline: auto;
}

.whw-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

/* Header */

.whw-header {
  position: relative;
  z-index: 20;
  background: rgba(255, 248, 242, 0.96);
  border-bottom: 1px solid rgba(200, 150, 85, 0.18);
}

.whw-header .whw-shell {
  width: min(calc(100% - 56px), var(--whw-header-max));
}

.whw-header__inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.whw-logo-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.whw-logo {
  width: 230px;
  height: auto;
}

.whw-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(18px, 2vw, 36px);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

.whw-nav a,
.whw-footer__column a {
  transition: color 160ms ease, opacity 160ms ease;
}

.whw-nav a:hover,
.whw-footer__column a:hover {
  color: var(--whw-gold-deep);
}

.whw-nav__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 24px;
  background: var(--whw-gold);
  border: 1px solid var(--whw-gold);
  color: #fff;
  box-shadow: 0 14px 26px rgba(200, 150, 85, 0.14);
}

.whw-nav__button:hover {
  background: var(--whw-gold-deep);
  border-color: var(--whw-gold-deep);
  color: #fff;
  opacity: 0.92;
}

.whw-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  padding: 0;
}

.whw-menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  margin: 5px auto;
  background: var(--whw-ink);
}

/* Legal hero */

.whw-legal-hero {
  position: relative;
  width: min(calc(100% - 56px), var(--whw-header-max));
  min-height: 430px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(200, 150, 85, 0.16);
  border-radius: 18px;
  box-shadow: 0 24px 76px rgba(80, 55, 30, 0.06);
}

.whw-legal-hero__image {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      var(--whw-bg) 0%,
      rgba(255, 248, 242, 0.99) 31%,
      rgba(255, 248, 242, 0.77) 47%,
      rgba(255, 248, 242, 0.30) 66%,
      rgba(255, 248, 242, 0.02) 82%),
    url("/images/privacy-hero.webp") center right / cover no-repeat;
}

.whw-legal-hero__content {
  position: relative;
  z-index: 2;
  min-height: 430px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: clamp(54px, 5.2vw, 96px);
}

.whw-eyebrow,
.whw-footer h3,
.whw-policy-item h3,
.whw-policy-updated,
.whw-subscribe-modal__eyebrow {
  color: var(--whw-gold-deep);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.whw-eyebrow {
  margin: 0 0 17px;
  font-size: 11px;
}

.whw-legal-hero h1 {
  max-width: 420px;
  margin: 0;
  font-family: var(--whw-serif);
  font-size: clamp(58px, 6vw, 84px);
  font-weight: 650;
  line-height: 0.88;
  letter-spacing: -0.055em;
}

.whw-small-rule {
  width: 56px;
  height: 2px;
  margin: 28px 0 20px;
  background: var(--whw-gold);
}

.whw-legal-hero p:not(.whw-eyebrow) {
  max-width: 470px;
  margin: 0;
  color: var(--whw-ink-soft);
  font-family: Georgia, serif;
  font-size: 15px;
  line-height: 1.62;
}

/* Policy body */

.whw-policy-section {
  padding: 56px 0 64px;
}

.whw-policy-card {
  max-width: 1040px;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 72px);
  border: 1px solid rgba(200, 150, 85, 0.16);
  border-radius: 18px;
  background:
    radial-gradient(circle at 85% 0%, rgba(216, 179, 125, 0.10), transparent 24rem),
    rgba(255, 253, 249, 0.82);
  box-shadow: var(--whw-shadow-soft);
}

.whw-policy-intro {
  max-width: 760px;
  padding-bottom: 34px;
  margin-bottom: 34px;
  border-bottom: 1px solid rgba(200, 150, 85, 0.16);
}

.whw-policy-intro h2 {
  margin: 0 0 16px;
  font-family: var(--whw-serif);
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.04em;
}

.whw-policy-intro p,
.whw-policy-item p {
  margin: 0;
  color: var(--whw-ink-soft);
  font-family: Georgia, serif;
  font-size: 16px;
  line-height: 1.72;
}

.whw-policy-list {
  display: grid;
  gap: 30px;
}

.whw-policy-item {
  max-width: 860px;
}

.whw-policy-item h3 {
  margin: 0 0 9px;
  font-size: 12px;
  line-height: 1.35;
}

.whw-policy-item a {
  color: var(--whw-gold-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.whw-policy-updated {
  margin: 38px 0 0;
  padding-top: 26px;
  border-top: 1px solid rgba(200, 150, 85, 0.16);
  font-size: 10px;
}

/* Footer */

.whw-footer {
  padding: 0 0 32px;
}

.whw-footer__inner {
  display: grid;
  grid-template-columns: 1.35fr 0.55fr 0.8fr 0.62fr 1fr;
  gap: clamp(30px, 4vw, 70px);
  padding: 48px 52px 50px;
  border: 1px solid rgba(200, 150, 85, 0.18);
  border-radius: 18px;
  background: rgba(255, 253, 249, 0.78);
  box-shadow: var(--whw-shadow-soft);
  overflow: hidden;
}

.whw-footer__brand {
  text-align: center;
  padding-right: 22px;
}

.whw-footer__crest {
  width: 85px;
  margin: 0 auto 8px;
}

.whw-footer__logo {
  width: 220px;
  margin: 0 auto 18px;
}

.whw-footer__brand p,
.whw-footer__subscribe p {
  margin: 0;
  color: var(--whw-muted);
  font-family: Georgia, serif;
  font-size: 13px;
  line-height: 1.5;
}

.whw-footer h3 {
  margin: 0 0 16px;
  font-size: 11px;
}

.whw-footer__column,
.whw-footer__subscribe {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.whw-footer__column a {
  margin-bottom: 9px;
  color: #2d2b28;
  font-size: 13px;
}

.whw-footer__subscribe form {
  width: 100%;
  margin-top: 19px;
}

.whw-footer__subscribe input {
  width: 100%;
  height: 48px;
  padding: 0 17px;
  border: 1px solid var(--whw-border);
  background: rgba(255, 250, 246, 0.9);
  color: var(--whw-ink);
  outline: none;
}

.whw-footer__subscribe input:focus {
  border-color: var(--whw-gold);
}

.whw-footer__subscribe button {
  width: 100%;
  height: 48px;
  margin-top: 8px;
  border: 0;
  background: var(--whw-gold);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 14px 26px rgba(200, 150, 85, 0.14);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.whw-footer__subscribe button:hover {
  background: var(--whw-gold-deep);
}

.whw-socials {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  color: var(--whw-gold-deep);
}

.whw-socials img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.whw-copyright {
  padding-top: 26px;
  color: var(--whw-soft-muted);
  text-align: center;
  font-size: 12px;
}

/* Subscribe modal */

body.modal-open {
  overflow: hidden;
}

.whw-subscribe-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.whw-subscribe-modal.is-open {
  display: flex;
}

.whw-subscribe-modal__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 25%, rgba(200, 150, 85, 0.18), transparent 30rem),
    rgba(18, 17, 15, 0.48);
  backdrop-filter: blur(8px);
}

.whw-subscribe-modal__panel {
  position: relative;
  width: min(100%, 520px);
  max-height: min(90vh, 720px);
  overflow-y: auto;
  padding: clamp(34px, 5vw, 52px);
  border: 1px solid rgba(200, 150, 85, 0.28);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(216, 179, 125, 0.16), transparent 18rem),
    rgba(255, 253, 249, 0.98);
  box-shadow:
    0 28px 80px rgba(18, 17, 15, 0.30),
    0 18px 44px rgba(80, 55, 30, 0.18);
  color: var(--whw-ink);
  text-align: center;
}

.whw-subscribe-modal__close {
  position: absolute;
  top: 14px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(200, 150, 85, 0.22);
  border-radius: 999px;
  background: rgba(255, 250, 246, 0.9);
  color: var(--whw-muted);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.whw-subscribe-modal__close:hover {
  transform: translateY(-1px);
  background: var(--whw-gold);
  color: #fff;
}

.whw-subscribe-modal__crest {
  width: 92px;
  height: auto;
  margin: 0 auto 12px;
}

.whw-subscribe-modal__eyebrow {
  margin: 0 0 12px;
  font-size: 10px;
}

.whw-subscribe-modal h2 {
  margin: 0 0 12px;
  font-family: var(--whw-serif);
  font-size: clamp(44px, 7vw, 64px);
  font-weight: 600;
  line-height: 0.9;
  letter-spacing: -0.055em;
}

.whw-subscribe-modal__text {
  max-width: 390px;
  margin: 0 auto 26px;
  color: var(--whw-muted);
  font-family: Georgia, serif;
  font-size: 15px;
  line-height: 1.55;
}

.whw-subscribe-modal__form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  max-width: 390px;
  margin: 0 auto;
}

.whw-subscribe-modal__form input {
  width: 100%;
  min-height: 52px;
  padding: 0 17px;
  border: 1px solid rgba(200, 150, 85, 0.28);
  border-radius: 0;
  background: rgba(255, 250, 246, 0.95);
  color: var(--whw-ink);
  outline: none;
}

.whw-subscribe-modal__form input:focus {
  border-color: var(--whw-gold);
  box-shadow: 0 0 0 3px rgba(200, 150, 85, 0.13);
}

.whw-subscribe-modal__form button {
  min-height: 52px;
  border: 1px solid var(--whw-gold);
  background: var(--whw-gold);
  color: #fff;
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  box-shadow: 0 14px 26px rgba(200, 150, 85, 0.16);
  transition: transform 170ms ease, background 170ms ease, border-color 170ms ease;
}

.whw-subscribe-modal__form button:hover {
  transform: translateY(-1px);
  background: var(--whw-gold-deep);
  border-color: var(--whw-gold-deep);
}

.whw-subscribe-modal__fineprint {
  max-width: 360px;
  margin: 16px auto 0;
  color: var(--whw-soft-muted);
  font-family: Georgia, serif;
  font-size: 12px;
  line-height: 1.45;
}

/* Responsive */

@media (max-width: 1180px) {
  .whw-footer__inner {
    grid-template-columns: 1.3fr 1fr 1fr;
  }

  .whw-footer__subscribe {
    grid-column: 2 / 4;
  }
}

@media (max-width: 900px) {
  .whw-shell,
  .whw-header .whw-shell,
  .whw-legal-hero {
    width: min(calc(100% - 36px), var(--whw-header-max));
  }

  .whw-logo {
    width: 220px;
  }

  .whw-menu-toggle {
    display: block;
  }

  .whw-nav {
    display: none;
  }

  .whw-legal-hero,
  .whw-legal-hero__content {
    min-height: 390px;
  }

  .whw-legal-hero__content {
    padding-left: 38px;
    padding-right: 38px;
  }

  .whw-legal-hero__image {
    background:
      linear-gradient(90deg,
        var(--whw-bg) 0%,
        rgba(255, 248, 242, 0.98) 50%,
        rgba(255, 248, 242, 0.42) 100%),
      url("privacy-hero.png") 72% center / cover no-repeat;
  }

  .whw-policy-section {
    padding: 40px 0 52px;
  }

  .whw-policy-card {
    padding: 38px 30px;
  }

  .whw-footer__inner {
    grid-template-columns: 1fr 1fr;
    padding: 38px 30px;
  }

  .whw-footer__brand,
  .whw-footer__subscribe {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .whw-shell,
  .whw-header .whw-shell {
    width: min(calc(100% - 28px), var(--whw-max));
  }

  .whw-logo {
    width: 190px;
  }

  .whw-legal-hero {
    width: 100%;
    min-height: 430px;
    border-inline: 0;
    border-radius: 0 0 18px 18px;
  }

  .whw-legal-hero__content {
    min-height: 430px;
    padding: 42px 24px;
  }

  .whw-legal-hero__image {
    background:
      linear-gradient(90deg,
        rgba(255, 248, 242, 1) 0%,
        rgba(255, 248, 242, 0.98) 52%,
        rgba(255, 248, 242, 0.58) 100%),
      url("privacy-hero.png") 76% center / cover no-repeat;
  }

  .whw-legal-hero h1 {
    font-size: clamp(48px, 15vw, 64px);
  }

  .whw-legal-hero p:not(.whw-eyebrow) {
    max-width: 330px;
    font-size: 14px;
  }

  .whw-policy-section {
    padding: 34px 0 42px;
  }

  .whw-policy-card {
    padding: 30px 22px;
    border-radius: 16px;
  }

  .whw-policy-intro {
    padding-bottom: 26px;
    margin-bottom: 28px;
  }

  .whw-policy-intro h2 {
    font-size: clamp(34px, 11vw, 46px);
  }

  .whw-policy-intro p,
  .whw-policy-item p {
    font-size: 14px;
    line-height: 1.65;
  }

  .whw-policy-list {
    gap: 25px;
  }

  .whw-policy-item h3 {
    font-size: 10px;
  }

  .whw-footer {
    padding-bottom: 24px;
  }

  .whw-footer__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 30px 22px;
    border-radius: 16px;
  }

  .whw-footer__brand {
    padding-right: 0;
  }

  .whw-footer__crest {
    width: 78px;
    margin-bottom: 8px;
  }

  .whw-footer__logo {
    width: 190px;
    margin-bottom: 13px;
  }

  .whw-footer__brand p,
  .whw-footer__subscribe p {
    font-size: 12px;
    line-height: 1.45;
  }

  .whw-footer h3 {
    margin-bottom: 10px;
    font-size: 10px;
  }

  .whw-footer__column a {
    margin-bottom: 7px;
    font-size: 12px;
  }

  .whw-footer__subscribe form {
    margin-top: 14px;
  }

  .whw-footer__subscribe input,
  .whw-footer__subscribe button {
    height: 44px;
  }

  .whw-socials {
    margin-top: 15px;
    gap: 16px;
  }

  .whw-copyright {
    padding-top: 20px;
    font-size: 11px;
  }

  .whw-subscribe-modal {
    padding: 18px;
  }

  .whw-subscribe-modal__panel {
    padding: 36px 22px 28px;
    border-radius: 18px;
  }

  .whw-subscribe-modal__crest {
    width: 78px;
  }

  .whw-subscribe-modal h2 {
    font-size: clamp(38px, 13vw, 50px);
  }
}

/* --------------------------------------------------------------------------
   WorthHerWhile.com mockup color/font sync
   Muted ivory/champagne palette, deeper left-to-right button gradient,
   softer panels/footers, and section-title color tuning.
   Hero "well." italic styling is intentionally left unchanged.
-------------------------------------------------------------------------- */

:root {
  --whw-bg: #f7eee5;
  --whw-bg-soft: #fbf5ee;
  --whw-panel: #fffaf3;
  --whw-panel-warm: #f8efe6;

  --whw-ink: #12110f;
  --whw-ink-soft: #2b241d;
  --whw-muted: #6d604f;
  --whw-soft-muted: #917f6b;

  --whw-gold: #c7924f;
  --whw-gold-deep: #9d6632;
  --whw-gold-soft: #d2ae78;

  --whw-border: rgba(158, 103, 50, 0.22);
  --whw-border-soft: rgba(158, 103, 50, 0.12);
  --whw-border-strong: rgba(158, 103, 50, 0.42);
  --whw-line: rgba(158, 103, 50, 0.25);

  --whw-shadow: 0 18px 45px rgba(74, 49, 27, 0.055);
  --whw-shadow-soft: 0 22px 70px rgba(74, 49, 27, 0.075);

  --whw-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  --whw-sans: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;
}

body {
  background:
    radial-gradient(circle at 50% 0%, rgba(158, 103, 50, 0.045), transparent 34rem),
    linear-gradient(180deg, #fbf6ef 0%, #f7eee5 46%, #fbf1e8 100%);
  color: var(--whw-ink);
}

.whw-header {
  background: rgba(251, 246, 239, 0.96);
  border-bottom-color: rgba(158, 103, 50, 0.16);
}

.whw-eyebrow,
.whw-hero__note,
.whw-footer h3,
.whw-policy-item h3,
.whw-policy-updated,
.whw-contact-card__eyebrow,
.whw-contact-method h3,
.whw-contact-lower h3,
.whw-subscribe-modal__eyebrow {
  color: var(--whw-gold-deep);
}

.whw-section-title h2,
.whw-section-title--compact h2 {
  color: var(--whw-gold-deep);
  font-weight: 800;
}

.whw-section-title span {
  background: var(--whw-gold-deep);
  opacity: 0.35;
}

.whw-small-rule {
  background: var(--whw-gold);
}

.whw-nav__button,
.whw-button,
.whw-footer__subscribe button,
.whw-subscribe-modal__form button {
  background:
    linear-gradient(90deg, #9a622f 0%, #b87a3a 48%, #d09a55 100%);
  border-color: #9a622f;
  color: #fff;
  box-shadow:
    0 14px 26px rgba(113, 72, 34, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.whw-nav__button:hover,
.whw-button:hover,
.whw-footer__subscribe button:hover,
.whw-subscribe-modal__form button:hover {
  background:
    linear-gradient(90deg, #805020 0%, #9f642c 50%, #bd7c37 100%);
  border-color: #805020;
  color: #fff;
  opacity: 0.98;
}

.whw-footer__inner {
  background:
    radial-gradient(circle at 50% 0%, rgba(210, 174, 120, 0.10), transparent 22rem),
    rgba(255, 250, 243, 0.86);
  border-color: rgba(158, 103, 50, 0.16);
  box-shadow: var(--whw-shadow-soft);
}

.whw-footer__brand p,
.whw-footer__subscribe p,
.whw-footer__column a {
  color: var(--whw-muted);
}

.whw-footer__subscribe input,
.whw-subscribe-modal__form input {
  background: rgba(255, 250, 243, 0.94);
  border-color: rgba(158, 103, 50, 0.22);
}

.whw-subscribe-modal__panel {
  background:
    radial-gradient(circle at 50% 0%, rgba(210, 174, 120, 0.16), transparent 18rem),
    rgba(255, 250, 243, 0.98);
  border-color: rgba(158, 103, 50, 0.24);
}

/* Legal/contact page panel tuning */

.whw-policy-section,
.whw-contact-section {
  background: linear-gradient(180deg, #f8efe6 0%, #fbf1e8 100%);
}

.whw-policy-card,
.whw-contact-info,
.whw-contact-card,
.whw-contact-lower article {
  background:
    radial-gradient(circle at 84% 0%, rgba(210, 174, 120, 0.10), transparent 24rem),
    rgba(255, 250, 243, 0.86);
  border-color: rgba(158, 103, 50, 0.14);
  box-shadow: var(--whw-shadow-soft);
}

.whw-legal-hero {
  border-color: rgba(158, 103, 50, 0.15);
  box-shadow: 0 24px 76px rgba(74, 49, 27, 0.06);
}

.whw-legal-hero__image {
  background:
    linear-gradient(90deg,
      rgba(251, 246, 239, 0.94) 0%,
      rgba(248, 239, 230, 0.90) 28%,
      rgba(238, 219, 199, 0.58) 48%,
      rgba(222, 194, 166, 0.20) 67%,
      rgba(222, 194, 166, 0.03) 82%);
}

.whw-legal-hero__image {
  background:
    linear-gradient(90deg,
      rgba(251, 246, 239, 0.94) 0%,
      rgba(248, 239, 230, 0.90) 28%,
      rgba(238, 219, 199, 0.58) 48%,
      rgba(222, 194, 166, 0.20) 67%,
      rgba(222, 194, 166, 0.03) 82%),
    url("/images/privacy-hero.webp") center right / cover no-repeat;
}
