/* Managed legal Pages — a shared editorial system for terms and privacy. */
.zogana-legal-page {
  --legal-ink:#143b33;
  --legal-green:#153c34;
  --legal-sage:#a8b99b;
  --legal-cream:#f8f6f0;
  --legal-pale:#e7ede3;
  --legal-line:#d8ded8;
  color:var(--legal-ink);
  background:#fffefa;
}
.zogana-legal-page :where(.legal-hero-grid,.legal-notice-inner,.legal-body-grid,.legal-contact-inner) { margin-block:0; }
.zogana-legal-page .legal-hero {
  position:relative;
  overflow:hidden;
  margin:0;
  padding:clamp(105px,10vw,160px) 0 clamp(85px,9vw,135px);
  color:#fff;
  background:var(--legal-green);
}
.zogana-legal-page .legal-hero::before {
  position:absolute;
  inset:0;
  opacity:.05;
  background:radial-gradient(circle at 30% 35%,#fff 0 1px,transparent 1.5px) 0 0/25px 25px;
  content:"";
  pointer-events:none;
}
.zogana-legal-page .legal-hero-grid {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(270px,.36fr);
  gap:clamp(60px,9vw,145px);
  align-items:end;
}
.zogana-legal-page .legal-hero h1 {
  max-width:980px;
  margin:26px 0 28px;
  color:#fff;
  font-size:clamp(66px,7.2vw,108px);
  line-height:.94;
  letter-spacing:-.035em;
}
.zogana-legal-page .legal-intro {
  max-width:780px;
  margin:0;
  color:#c1cfca;
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.75;
}
.zogana-legal-page .legal-hero-meta {
  position:relative;
  z-index:1;
  padding:8px 0 8px 30px;
  border-left:1px solid rgba(255,255,255,.24);
}
.zogana-legal-page .legal-hero-meta > p {
  display:flex;
  margin:0;
  padding:20px 0;
  flex-direction:column;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.zogana-legal-page .legal-hero-meta small {
  margin-bottom:7px;
  color:#b8c8c3;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.zogana-legal-page .legal-hero-meta strong {
  color:#fff;
  font-family:var(--wp--preset--font-family--serif,Georgia,serif);
  font-size:20px;
  font-weight:400;
}
.zogana-legal-page .legal-hero-orbit {
  position:absolute;
  right:-170px;
  top:-230px;
  width:380px;
  height:380px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  animation:legal-orbit 15s ease-in-out infinite;
}
.zogana-legal-page .legal-hero-orbit::before,
.zogana-legal-page .legal-hero-orbit::after {
  position:absolute;
  border-radius:50%;
  content:"";
}
.zogana-legal-page .legal-hero-orbit::before { inset:70px; border:1px solid rgba(201,185,138,.25); animation:legal-orbit-inner 9s ease-in-out infinite -2.6s; }
.zogana-legal-page .legal-hero-orbit::after { inset:145px; background:rgba(168,185,155,.2); animation:legal-orbit-core 5.5s ease-in-out infinite -1.4s; }
.zogana-legal-page .legal-notice { margin:0; padding:34px 0; background:var(--legal-pale); }
.zogana-legal-page .legal-notice-inner {
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:24px;
  align-items:center;
}
.zogana-legal-page .legal-notice-icon {
  display:grid;
  width:42px;
  height:42px;
  margin:0;
  place-items:center;
  border:1px solid rgba(20,59,51,.45);
  border-radius:50%;
  font-family:var(--wp--preset--font-family--serif,Georgia,serif);
  font-size:18px;
  font-style:italic;
}
.zogana-legal-page .legal-notice h2 {
  margin:0 0 5px;
  font-family:var(--wp--preset--font-family--sans,sans-serif);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.zogana-legal-page .legal-notice p:not(.legal-notice-icon) { max-width:1050px; margin:0; color:#566a63; font-size:12px; line-height:1.65; }
.zogana-legal-page .legal-body { margin:0; padding:clamp(85px,9vw,145px) 0; background:#fffefa; }
.zogana-legal-page .legal-body-grid {
  display:grid;
  grid-template-columns:minmax(210px,260px) minmax(0,850px);
  gap:clamp(70px,10vw,165px);
  justify-content:start;
  align-items:start;
}
.zogana-legal-page .legal-toc {
  position:sticky;
  top:120px;
  padding-top:16px;
  border-top:1px solid var(--legal-line);
}
.zogana-legal-page .legal-toc-label {
  margin:0 0 22px;
  color:#5f706a;
  font-size:12px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.zogana-legal-page .legal-toc-list { margin:0; padding:0; list-style:none; }
.zogana-legal-page .legal-toc-list li { margin:0; border-bottom:1px solid var(--legal-line); }
.zogana-legal-page .legal-toc-list a {
  display:grid;
  grid-template-columns:26px 1fr;
  gap:10px;
  padding:11px 0;
  color:#80908b;
  font-size:12px;
  line-height:1.4;
  transition:color .25s ease,transform .25s ease;
}
.zogana-legal-page .legal-toc-list a span { color:#5f7358; font-size:12px; letter-spacing:.08em; }
.zogana-legal-page .legal-toc-list a:hover { color:var(--legal-ink); transform:translateX(4px); }
.zogana-legal-page .legal-section {
  position:relative;
  margin:0;
  padding:0 0 clamp(58px,6vw,82px) 76px;
  scroll-margin-top:130px;
}
.zogana-legal-page .legal-section + .legal-section { padding-top:clamp(58px,6vw,82px); border-top:1px solid var(--legal-line); }
.zogana-legal-page .legal-section-index {
  position:absolute;
  left:0;
  top:8px;
  margin:0;
  color:#5f7358;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
}
.zogana-legal-page .legal-section + .legal-section .legal-section-index { top:calc(clamp(58px,6vw,82px) + 8px); }
.zogana-legal-page .legal-section h2 {
  max-width:720px;
  margin:0 0 27px;
  color:var(--legal-ink);
  font-size:clamp(36px,4vw,52px);
  line-height:1.05;
  letter-spacing:-.025em;
}
.zogana-legal-page .legal-section > p:not(.legal-section-index) {
  max-width:800px;
  margin:0 0 18px;
  color:#596c66;
  font-size:15px;
  line-height:1.85;
}
.zogana-legal-page .legal-section a { color:#315f54; text-decoration:underline; text-decoration-color:#a8b99b; text-underline-offset:4px; }
.zogana-legal-page .legal-section a:hover { color:#0d2b25; text-decoration-color:#0d2b25; }
.zogana-legal-page .legal-section ul {
  display:grid;
  gap:13px;
  max-width:800px;
  margin:28px 0 0;
  padding:25px 28px 25px 48px;
  border-left:2px solid var(--legal-sage);
  background:var(--legal-cream);
}
.zogana-legal-page .legal-section li { padding-left:4px; color:#596c66; font-size:14px; line-height:1.75; }
.zogana-legal-page .legal-contact { margin:0; padding:clamp(75px,8vw,110px) 0; background:var(--legal-green); }
.zogana-legal-page .legal-contact-inner {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:50px;
}
.zogana-legal-page .legal-contact h2 { margin:20px 0 0; color:#fff; font-size:clamp(46px,5.5vw,76px); line-height:1; }
.zogana-legal-page .legal-contact h2 em { color:var(--legal-sage); }
.zogana-legal-page .legal-contact .wp-block-button__link {
  min-width:210px;
  padding:20px 26px;
  border-color:rgba(255,255,255,.5);
  color:#fff;
  text-align:center;
}
.zogana-legal-page .legal-contact .wp-block-button__link:hover { color:var(--legal-green); background:#fff; }
.zogana-legal-page .legal-hero .eyebrow.light,.zogana-legal-page .legal-contact .eyebrow.light { color:#c3d0cc; }
@keyframes legal-orbit { 0%,100% { transform:rotate(-2deg) scale(.985); } 50% { transform:rotate(3deg) scale(1.02); } }
@keyframes legal-orbit-inner { 0%,100% { transform:scale(.94); opacity:.58; } 50% { transform:scale(1.06); opacity:1; } }
@keyframes legal-orbit-core { 0%,100% { transform:scale(.84); opacity:.48; } 50% { transform:scale(1.1); opacity:.9; } }
@media (max-width:980px) {
  .zogana-legal-page .legal-hero-grid { grid-template-columns:1fr; gap:55px; }
  .zogana-legal-page .legal-hero-meta { max-width:520px; }
  .zogana-legal-page .legal-body-grid { grid-template-columns:190px minmax(0,1fr); gap:55px; }
}
@media (max-width:720px) {
  .zogana-legal-page .legal-hero { padding:88px 0 75px; }
  .zogana-legal-page .legal-hero h1 { font-size:clamp(50px,15vw,68px); overflow-wrap:normal; word-break:normal; }
  .zogana-legal-page .legal-intro { font-size:15px; }
  .zogana-legal-page .legal-hero-meta { padding-left:20px; }
  .zogana-legal-page .legal-notice-inner { grid-template-columns:38px 1fr; gap:16px; }
  .zogana-legal-page .legal-notice-icon { width:36px; height:36px; }
  .zogana-legal-page .legal-body-grid { grid-template-columns:1fr; gap:62px; }
  .zogana-legal-page .legal-toc { position:relative; top:auto; }
  .zogana-legal-page .legal-toc-list { display:grid; grid-template-columns:1fr 1fr; column-gap:22px; }
  .zogana-legal-page .legal-section { padding-left:34px; }
  .zogana-legal-page .legal-section h2 { font-size:clamp(34px,10vw,44px); }
  .zogana-legal-page .legal-section > p:not(.legal-section-index) { font-size:14px; }
  .zogana-legal-page .legal-section ul { padding:22px 20px 22px 36px; }
  .zogana-legal-page .legal-contact-inner { align-items:flex-start; flex-direction:column; }
  .zogana-legal-page .legal-contact .wp-block-button__link { min-width:0; }
}
@media (max-width:440px) {
  .zogana-legal-page .legal-toc-list { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .zogana-legal-page .legal-hero-orbit,.zogana-legal-page .legal-hero-orbit::before,.zogana-legal-page .legal-hero-orbit::after { animation:none; }
}
