:root{
    --cream:#f7eddf; --paper:#fffaf2; --burgundy:#4b0d24; --blue:#b9d1e3;
    --draft-burgundy:#4b0d24;
    --olive:#4b5627; --gold:#a78343; --rose:#e7c3c5; --ink:#2a1d20; --muted:#6d5e60;
    --display:"Cormorant Garamond", Georgia, serif; --sans:Inter, system-ui, sans-serif;
  }
  *{ box-sizing:border-box; }
  html,body{ margin:0; padding:0; }
  body{
    color:var(--ink); font-family:var(--sans); line-height:1.6; -webkit-font-smoothing:antialiased;
    background-color:var(--blue);
    background-image:repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.13) 0,
      rgba(255,255,255,.13) 1px,
      transparent 1px,
      transparent 34px
    );
    background-attachment:fixed;
  }
  a{ color:var(--burgundy); }
  .wrap{ max-width:760px; margin:0 auto; padding:34px 22px 80px; }

  .topbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:26px; }
  .brand{ font-family:var(--display); font-weight:700; font-size:1.5rem; color:var(--burgundy); text-decoration:none; letter-spacing:.01em; }
  .back{ font-size:.85rem; font-weight:600; text-decoration:none; color:var(--burgundy); opacity:.85; }
  .back:hover{ opacity:1; }

  .head{ text-align:center; margin:6px 0 30px; }
  .head .eyebrow{ text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; font-weight:800; color:var(--gold); margin:0 auto 8px; }
  .head h1{ font-family:var(--display); font-weight:700; font-size:clamp(2rem, 4.5vw, 2.9rem); line-height:1.03; color:var(--burgundy); margin:0 0 10px; }
  .head .eff{ color:var(--muted); font-size:.85rem; margin:0; }

  .paper{ background:var(--paper); border:1px solid rgba(74,13,36,.12); border-radius:20px; padding:30px 30px 34px; box-shadow:0 22px 44px rgba(44,24,30,.08); }

  .intro{ font-size:.98rem; color:var(--ink); margin:0 0 22px; }

  section{ margin:26px 0 0; }
  h2{ font-family:var(--display); font-weight:700; font-size:1.4rem; color:var(--burgundy); margin:0 0 8px; display:flex; gap:12px; align-items:baseline; }
  h2 .num{ font-family:var(--sans); font-size:.78rem; font-weight:800; color:var(--gold); letter-spacing:.05em; }
  h3{ font-family:var(--sans); font-weight:700; font-size:.95rem; color:var(--ink); margin:16px 0 4px; }
  p{ margin:0 0 12px; font-size:.92rem; color:var(--ink); }
  ul{ margin:0 0 12px; padding-left:20px; }
  li{ margin:0 0 6px; font-size:.92rem; }
  .muted{ color:var(--muted); }
  .lead-in{ font-weight:600; }

  .callout{ background:#fff; border:1px solid rgba(74,13,36,.14); border-left:4px solid var(--gold); border-radius:12px; padding:14px 16px; margin:14px 0; font-size:.9rem; }

  .foot{ margin-top:34px; text-align:center; color:var(--muted); font-size:.82rem; }

  hr{ border:0; border-top:1px solid rgba(74,13,36,.12); margin:26px 0; }

  /* Footer — matched to the homepage */
  footer{ padding:0; background:transparent; color:var(--cream); margin-top:12px; }
  .footer-inner{ background:#2d0715; color:var(--cream); width:100%; margin:0; padding:clamp(34px,5vw,58px) 0 clamp(26px,4vw,40px); }
  .footer-content{ width:min(1200px, calc(100% - clamp(44px,7vw,88px))); margin:0 auto; }
  .footer-signup{ display:flex; align-items:center; gap:clamp(18px,3vw,44px); flex-wrap:wrap; }
  .footer-signup-q{ font-family:var(--display); font-weight:600; color:var(--cream); margin:0; font-size:clamp(1.15rem,2vw,1.55rem); line-height:1.1; white-space:nowrap; flex:0 1 auto; }
  .footer-signup-form{ display:flex; align-items:center; gap:12px; flex:1 1 420px; }
  .footer-field{ position:relative; flex:1 1 380px; min-width:0; display:flex; }
  .footer-field .footer-email{ width:100%; }
  .footer-email{ flex:1; min-width:0; padding:15px 22px; border-radius:16px; border:1px solid rgba(247,237,223,.3); background:rgba(247,237,223,.06); color:var(--cream); font-family:var(--sans); font-size:1rem; transition:border-color .2s ease, background .2s ease; }
  .footer-email::placeholder{ color:rgba(247,237,223,.5); }
  .footer-email:focus{ outline:none; border-color:rgba(247,237,223,.65); background:rgba(247,237,223,.11); }
  .footer-submit{ padding:15px 30px; border-radius:16px; border:0; cursor:pointer; background:var(--cream); color:var(--draft-burgundy); font-family:var(--sans); font-weight:700; letter-spacing:.14em; font-size:.76rem; text-transform:uppercase; transition:background .2s ease, transform .2s ease; }
  .footer-submit:hover{ background:#fff; transform:translateY(-1px); }
  .footer-rule{ height:1px; background:rgba(247,237,223,.28); margin:clamp(24px,3.4vw,38px) 0 clamp(6px,1.4vw,14px); }
  .footer-wordmark{ font-family:var(--display); font-weight:600; color:var(--cream); font-size:clamp(3rem,12vw,8.4rem); line-height:.92; letter-spacing:-.015em; margin:0 0 clamp(20px,3vw,34px); }
  .footer-nav{ display:flex; justify-content:space-between; align-items:center; gap:20px 30px; flex-wrap:wrap; }
  .footer-links{ display:flex; gap:clamp(16px,2vw,30px); align-items:center; flex-wrap:wrap; margin:0; }
  footer .footer-links a{ color:rgba(247,237,223,.82); text-decoration:none; display:inline; margin:0; font-size:.9rem; transition:color .2s ease, transform .2s ease; }
  footer .footer-links a:hover{ color:var(--cream); transform:translateY(-1px); }
  .footer-social{ display:inline-flex; gap:11px; margin-left:6px; }
  footer .footer-ico{ width:auto; height:auto; padding:0; margin:0; display:inline-flex; align-items:center; justify-content:center; background:none; color:var(--cream); opacity:.9; transition:transform .22s cubic-bezier(.2,.7,.3,1), opacity .22s ease; }
  footer .footer-ico:hover{ transform:translateY(-3px); opacity:1; }
  .footer-ico svg{ width:24px; height:24px; display:block; fill:currentColor; }
  .footer-legal{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:clamp(20px,3vw,30px); color:rgba(247,237,223,.5); font-size:.72rem; }
  .footer-legal a{ color:rgba(247,237,223,.72); }
  @media (max-width:720px){
    .footer-signup{ flex-direction:column; align-items:stretch; }
    .footer-signup-form{ flex-direction:column; align-items:stretch; flex:0 0 auto; }
    .footer-field{ flex:0 0 auto; }
    .footer-email{ height:auto; }
    .footer-submit{ width:100%; }
    .footer-nav{ flex-direction:column; align-items:flex-start; }
    .footer-wordmark{ font-size:clamp(2.8rem,17vw,4.6rem); }
    .footer-legal{ flex-direction:column; gap:6px; }
    .footer-content{ width:calc(100% - 34px); }
  }
  .footer-bloom{
    position:absolute; left:50%; bottom:6px; width:70px; height:70px;
    transform:translate(-50%,0) scale(.06); transform-origin:center bottom;
    background:var(--cream);
    -webkit-mask:url("assets/blue-flower.svg") center/contain no-repeat;
            mask:url("assets/blue-flower.svg") center/contain no-repeat;
    pointer-events:none; opacity:0; z-index:3;
    animation:kg-bloom 1.7s cubic-bezier(.2,.7,.25,1) forwards;
  }
  @keyframes kg-bloom{
    0%   { transform:translate(-50%,0) scale(.05) rotate(-12deg); opacity:0; }
    22%  { opacity:.95; }
    60%  { opacity:.8; }
    100% { transform:translate(-50%,-96px) scale(1.15) rotate(9deg); opacity:0; }
  }
  @media (prefers-reduced-motion:reduce){ .footer-bloom{ animation-duration:.01s; } }

/* WordPress page restoration */
body.br-terms-page{background-color:var(--blue)!important;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.13) 0,rgba(255,255,255,.13) 1px,transparent 1px,transparent 34px)!important;background-attachment:fixed!important;}
.br-terms-page .br-legal-page{min-height:100vh;}
.br-terms-page .topbar .brand{width:174px!important;}

/* v7 — ensure the effective-date line is centered */
.head .eff{ text-align:center !important; }
