/* ==========================
   PRIVACY PAGE
========================== */

:root{
  --policy-forest:#16452a;
  --policy-forest-dark:#0c2818;
  --policy-forest-soft:#eaf3ec;
  --policy-green:#2f6f45;
  --policy-gold:#c8a45b;
  --policy-gold-soft:#ead7a2;
  --policy-cream:#f8f5ee;
  --policy-paper:#fffdf8;
  --policy-ink:#162018;
  --policy-muted:#5f6d63;
  --policy-line:rgba(22,69,42,.14);
  --policy-shadow:0 18px 45px rgba(12,40,24,.10);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:
    radial-gradient(circle at 12% 8%, rgba(200,164,91,.16), transparent 28%),
    radial-gradient(circle at 90% 18%, rgba(47,111,69,.10), transparent 34%),
    linear-gradient(180deg, #fbf8f0 0%, #edf5ee 100%);
  color:var(--policy-ink);
}

/* ==========================
   PAGE SHELL
========================== */

.policy-page{
  position:relative;
  overflow-x:hidden;
  overflow-y:visible;
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.policy-page::before{
  content:"";
  position:absolute;
  top:220px;
  right:-120px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(200,164,91,.14), transparent 68%);
  pointer-events:none;
}

.policy-page::after{
  content:"✦";
  position:absolute;
  top:360px;
  left:7vw;
  color:rgba(200,164,91,.22);
  font-size:4rem;
  line-height:1;
  pointer-events:none;
}

/* ==========================
   HERO
========================== */

.policy-hero{
  position:relative;
  padding:96px 24px 70px;
  background:
    linear-gradient(135deg, rgba(22,69,42,.96), rgba(12,40,24,.96)),
    radial-gradient(circle at top center, rgba(200,164,91,.32), transparent 45%);
  color:#fff;
  overflow:hidden;
}

.policy-hero::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(234,215,162,.28);
  pointer-events:none;
}

.policy-hero::after{
  content:"";
  position:absolute;
  right:clamp(24px,7vw,110px);
  bottom:-70px;
  width:260px;
  height:260px;
  border:1px solid rgba(234,215,162,.22);
  border-radius:50%;
  box-shadow:
    0 0 0 28px rgba(255,255,255,.025),
    0 0 0 56px rgba(200,164,91,.035);
  pointer-events:none;
}

.policy-hero-inner{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:0 auto;
}

.policy-kicker{
  margin:0 0 18px;
  color:var(--policy-gold-soft);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.34em;
  text-transform:uppercase;
}

.policy-hero h1{
  margin:0;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(3rem,7vw,6.5rem);
  line-height:.92;
  font-weight:600;
  letter-spacing:-.045em;
  text-shadow:0 12px 34px rgba(0,0,0,.22);
}

.policy-subtitle{
  margin:20px 0 0;
  max-width:780px;
  color:rgba(255,255,255,.84);
  font-size:clamp(1.05rem,2vw,1.45rem);
  line-height:1.7;
}

.policy-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:34px;
}

.policy-meta span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid rgba(234,215,162,.28);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.84);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* ==========================
   LAYOUT
========================== */

.policy-shell{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:0 auto;
  padding:58px 24px 88px;
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:34px;
  align-items:start;
}

/* ==========================
   SIDEBAR
========================== */

.policy-sidebar{
  position:sticky;
  top:56px;

  padding:22px;

  background:rgba(255,253,248,.88);

  border:1px solid rgba(22,69,42,.12);

  box-shadow:var(--policy-shadow);

  backdrop-filter:blur(10px);
}

.policy-sidebar::before{
  content:"";

  display:block;

  width:74px;
  height:3px;

  margin-bottom:18px;

  background:
    linear-gradient(
      90deg,
      var(--policy-gold),
      transparent
    );
}

.policy-sidebar a{
  position:relative;

  display:block;

  padding:11px 0;

  color:var(--policy-forest);

  text-decoration:none;

  border-bottom:1px solid rgba(22,69,42,.09);

  font-size:.82rem;

  font-weight:800;

  letter-spacing:.08em;

  text-transform:uppercase;

  transition:
    color .25s ease,
    padding-left .25s ease;
}

.policy-sidebar a:hover,
.policy-sidebar a.active{
  color:var(--policy-gold);
  padding-left:10px;
}


.policy-sidebar a.active::before{
  content:"";

  position:absolute;

  left:0;
  top:50%;

  width:6px;
  height:6px;

  border-radius:50%;

  background:var(--policy-gold);

  transform:translateY(-50%);

  box-shadow:
    0 0 10px rgba(200,164,91,.45);
}

/* ==========================
   CONTENT
========================== */

.policy-content{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.policy-section{
  position:relative;
  padding:34px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,253,248,.96));
  border:1px solid rgba(22,69,42,.12);
  box-shadow:0 16px 36px rgba(12,40,24,.08);
  overflow:hidden;
}

.policy-section::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:5px;
  height:100%;
  background:
    linear-gradient(
      180deg,
      var(--policy-gold),
      rgba(200,164,91,.12)
    );
}

.policy-section::after{
  content:"";
  position:absolute;
  right:18px;
  top:18px;
  width:88px;
  height:88px;
  opacity:.055;
  background:
    radial-gradient(circle at 50% 38%, transparent 24%, var(--policy-forest) 25%, transparent 27%),
    linear-gradient(45deg, transparent 46%, var(--policy-forest) 47%, var(--policy-forest) 53%, transparent 54%);
  pointer-events:none;
}

.policy-section h2{
  margin:0 0 18px;
  color:var(--policy-forest-dark);
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(2rem,3vw,2.8rem);
  line-height:1;
  font-weight:600;
  letter-spacing:-.025em;
}

.policy-section h3{
  margin:26px 0 10px;
  color:var(--policy-green);
  font-size:.92rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.policy-section p{
  margin:0 0 16px;
  color:#324036;
  line-height:1.85;
  font-size:1rem;
}

.policy-section p:last-child{
  margin-bottom:0;
}

.policy-section a{
  color:var(--policy-green);
  font-weight:800;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

.policy-section ul{
  margin:0 0 16px;
  padding-left:0;
  list-style:none;
}

.policy-section li{
  position:relative;
  margin:0 0 12px;
  padding-left:26px;
  color:#324036;
  line-height:1.75;
}

.policy-section li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--policy-gold);
  box-shadow:0 0 0 4px rgba(200,164,91,.14);
}

.policy-section strong{
  color:var(--policy-forest-dark);
}

/* ==========================
   INFO CARDS
========================== */

.policy-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:28px 0;
}

.policy-info-card{
  padding:18px;
  background:var(--policy-forest-soft);
  border:1px solid rgba(22,69,42,.12);
}

.policy-info-card span{
  display:block;
  margin-bottom:8px;
  color:var(--policy-gold);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.policy-info-card strong{
  display:block;
  color:var(--policy-forest-dark);
  font-size:1rem;
  line-height:1.35;
}

/* ==========================
   CALLOUTS
========================== */

.policy-callout,
.policy-card{
  margin-top:24px;
  padding:24px;
  background:
    linear-gradient(135deg, rgba(22,69,42,.96), rgba(47,111,69,.94));
  color:#fff;
  border:1px solid rgba(200,164,91,.35);
  box-shadow:0 18px 35px rgba(12,40,24,.16);
}

.policy-callout strong,
.policy-card h3{
  display:block;
  margin:0 0 10px;
  color:var(--policy-gold-soft);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.2em;
  text-transform:uppercase;
}

.policy-callout p,
.policy-card p{
  color:rgba(255,255,255,.86);
}

.policy-card ul{
  margin-top:12px;
}

.policy-card li{
  color:rgba(255,255,255,.86);
}

.policy-card li::before{
  background:var(--policy-gold-soft);
}

.policy-card strong{
  color:#fff;
}

.policy-callout.summary{
  background:
    linear-gradient(135deg, #123d22, #071b0f);
}

/* ==========================
   DECORATIVE FLOURISH
========================== */

.policy-content::after{
  content:"❦";
  display:block;
  margin:8px auto 0;
  color:rgba(200,164,91,.55);
  font-size:2.2rem;
  line-height:1;
}

/* ==========================
   MOBILE
========================== */

@media(max-width:980px){

  .policy-shell{
    grid-template-columns:1fr;
  }

  .policy-sidebar{
    position:relative;
    top:auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
  }

}

@media(max-width:680px){

  .policy-hero{
    padding:76px 20px 56px;
  }

  .policy-hero::before{
    inset:10px;
  }

  .policy-shell{
    padding:36px 18px 70px;
  }

  .policy-sidebar{
    grid-template-columns:1fr;
    padding:18px;
  }

  .policy-section{
    padding:28px 22px;
  }

  .policy-info-grid{
    grid-template-columns:1fr;
  }

  .policy-meta span{
    width:100%;
    justify-content:center;
    text-align:center;
  }

}