/* ══════════════════════════════════════════════
   Zenoni Property Services — Legal pages
   (privacy policy / terms & conditions)
   Design tokens mirror the main site stylesheet.
══════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
:root{--red:#D92B2B;--red-dark:#B01E1E;--red-glow:rgba(217,43,43,0.18);--black:#0D0D0D;--dark:#141414;--dark2:#1C1C1C;--white:#fff}
body{background:var(--black);color:var(--white);font-family:'Barlow',sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

/* ── NAV ── */
.zn{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;height:70px;background:rgba(13,13,13,0.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(217,43,43,0.25)}
.zn-logo{cursor:pointer;display:flex;align-items:center}
.zn-links{display:flex;gap:2rem;list-style:none}
.zn-links a{color:#999;font-size:.82rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;transition:color .2s;cursor:pointer}
.zn-links a:hover,.zn-links a.active{color:var(--red)}
.zn-cta{background:var(--red);color:var(--white);padding:.5rem 1.4rem;font-family:'Black Ops One',cursive;font-weight:700;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);transition:background .2s,transform .15s;cursor:pointer}
.zn-cta:hover{background:var(--red-dark);transform:scale(1.04)}
.zn-ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.zn-ham span{width:24px;height:2px;background:var(--white);border-radius:2px}
.zn-mob{display:none;position:fixed;top:70px;left:0;right:0;z-index:999;background:rgba(13,13,13,.98);backdrop-filter:blur(12px);padding:2rem 5vw;flex-direction:column;gap:1.5rem;border-bottom:1px solid rgba(217,43,43,.2)}
.zn-mob.open{display:flex}
.zn-mob a{color:#ccc;font-size:1.1rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.zn-mob a:hover{color:var(--red)}

/* ── SHARED ── */
.lbl{font-size:.73rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:.8rem}
h2{font-family:'Black Ops One',cursive;font-weight:900;text-transform:uppercase;line-height:.98;letter-spacing:-.01em}
h2 em{color:var(--red);font-style:normal}
.btn-wht{display:inline-flex;align-items:center;gap:.6rem;background:var(--white);color:var(--red);padding:1rem 2.2rem;font-family:'Black Ops One',cursive;font-weight:800;font-size:1.15rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);transition:transform .15s,box-shadow .2s;cursor:pointer}
.btn-wht:hover{transform:scale(1.04);box-shadow:0 8px 30px rgba(0,0,0,.3)}

/* ── PAGE HERO ── */
.pg-hero{padding:140px 5vw 80px;background:var(--dark);position:relative;overflow:hidden}
.pg-hero::before{content:attr(data-word);position:absolute;right:-1rem;top:50%;transform:translateY(-50%);font-family:'Black Ops One',cursive;font-weight:900;font-size:clamp(5rem,14vw,13rem);color:rgba(255,255,255,.025);text-transform:uppercase;line-height:1;pointer-events:none;white-space:nowrap}
.pg-hero-c{position:relative;z-index:1;max-width:700px}
.pg-hero h1{font-family:'Black Ops One',cursive;font-weight:900;font-size:clamp(3rem,7vw,6rem);text-transform:uppercase;line-height:.95;letter-spacing:-.01em}
.pg-hero h1 em{color:var(--red);font-style:normal}
.pg-hero p{color:#777;margin-top:1.4rem;font-size:1rem;line-height:1.7;max-width:520px}
.breadcrumb{display:flex;gap:.6rem;align-items:center;margin-bottom:1.5rem;font-size:.78rem;color:#555;text-transform:uppercase;letter-spacing:.08em}
.breadcrumb a{color:#555;cursor:pointer}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb span{color:var(--red)}
.updated{display:inline-block;margin-top:1.8rem;border:1px solid rgba(217,43,43,.45);background:var(--red-glow);color:var(--red);padding:.35rem 1rem;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}

/* ── LEGAL LAYOUT ── */
.legal{padding:80px 5vw 100px;display:grid;grid-template-columns:250px 1fr;gap:4rem;align-items:start;max-width:1400px}
.toc{position:sticky;top:100px}
.toc h4{font-family:'Black Ops One',cursive;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--red);margin-bottom:1.2rem}
.toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:.55rem}
.toc li{counter-increment:toc}
.toc a{display:block;color:#666;font-size:.84rem;line-height:1.45;transition:color .2s,border-color .2s;border-left:2px solid rgba(255,255,255,.07);padding-left:.8rem}
.toc a::before{content:counter(toc,decimal-leading-zero);color:#3a3a3a;font-size:.7rem;font-weight:600;margin-right:.5rem;letter-spacing:.06em}
.toc a:hover{color:var(--white);border-color:var(--red)}

.legal-body{max-width:760px}
.legal-body>p:first-child{color:#999;font-size:1rem;line-height:1.85}
.legal-sec{padding-top:2.8rem;scroll-margin-top:90px}
.legal-sec:first-of-type{padding-top:0}
.legal-sec h2{font-size:clamp(1.35rem,2.6vw,1.75rem);margin-bottom:1.1rem;padding-bottom:.9rem;border-bottom:1px solid rgba(255,255,255,.08)}
.legal-sec h3{font-family:'Barlow',sans-serif;font-size:1rem;font-weight:600;color:var(--white);text-transform:uppercase;letter-spacing:.08em;margin:1.8rem 0 .7rem}
.legal-sec p{color:#999;font-size:.97rem;line-height:1.85;margin-bottom:1rem}
.legal-sec ul{list-style:none;display:flex;flex-direction:column;gap:.65rem;margin:0 0 1.3rem}
.legal-sec li{color:#999;font-size:.97rem;line-height:1.7;padding-left:1.4rem;position:relative}
.legal-sec li::before{content:'▸';position:absolute;left:0;color:var(--red);font-size:.9rem}
.legal-sec strong{color:#ddd;font-weight:600}
.legal-sec a{color:var(--red);border-bottom:1px solid rgba(217,43,43,.35);transition:border-color .2s}
.legal-sec a:hover{border-color:var(--red)}

/* key-disclosure callout */
.callout{background:var(--dark2);border-left:3px solid var(--red);padding:1.8rem 1.8rem 1.5rem;margin:1.6rem 0 1.8rem;position:relative}
.callout h4{font-family:'Black Ops One',cursive;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--red);margin-bottom:1rem}
.callout ul{margin-bottom:0}
.callout li{color:#bbb}
.kw{font-family:'Black Ops One',cursive;color:var(--white);background:var(--red);padding:.05em .45em;letter-spacing:.06em;font-size:.9em}

/* ── CTA BAND ── */
.cta-band{background:var(--red);padding:80px 5vw;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.cta-band h2{color:var(--white);font-size:clamp(2rem,4.5vw,3.2rem)}
.cta-band>div>p{color:rgba(255,255,255,.72);margin-top:.8rem;font-size:.97rem}
.cta-band>div>p a{color:var(--white);border-bottom:1px solid rgba(255,255,255,.5)}
.cta-acts{display:flex;flex-direction:column;gap:1rem;align-items:center}
.cta-email{color:rgba(255,255,255,.65);font-size:.83rem;transition:color .2s}
.cta-email:hover{color:var(--white)}

/* ── FOOTER ── */
footer{background:var(--dark);border-top:1px solid rgba(255,255,255,.06);padding:55px 5vw 30px}
.ft{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.ft-logo{display:block;line-height:1;margin-bottom:.8rem;cursor:pointer}
.ft-brand p{color:#444;font-size:.85rem;line-height:1.7;max-width:280px}
.ft-col h4{font-family:'Black Ops One',cursive;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--red);margin-bottom:1.2rem}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.ft-col li{color:#444;font-size:.85rem}
.ft-col a{color:#444;transition:color .2s;cursor:pointer}
.ft-col a:hover{color:var(--white)}
.ft-bot{border-top:1px solid rgba(255,255,255,.05);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.ft-bot p{color:#333;font-size:.78rem}

/* ── FLOAT BUTTON ── */
.float-btn{position:fixed;bottom:2rem;right:2rem;z-index:999;display:inline-flex;align-items:center;gap:.6rem;background:var(--red);color:var(--white);padding:.85rem 1.5rem;font-family:'Black Ops One',cursive;font-weight:700;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 30px rgba(217,43,43,.55);clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);transition:transform .15s,box-shadow .2s}
.float-btn:hover{transform:scale(1.05);box-shadow:0 8px 40px rgba(217,43,43,.65)}

/* ── RESPONSIVE ── */
@media(max-width:1040px){
  .legal{grid-template-columns:1fr;gap:2.5rem;padding-top:60px}
  .toc{position:static;border-left:3px solid var(--red);background:var(--dark);padding:1.6rem 1.5rem}
  .toc ol{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.55rem 1.5rem}
  .toc a{border-left:none;padding-left:0}
  .toc a:hover{border-color:transparent}
}
@media(max-width:960px){
  .cta-band{grid-template-columns:1fr}
  .ft{grid-template-columns:1fr 1fr;gap:2.5rem}
}
@media(max-width:640px){
  .zn-links{display:none}
  .zn-ham{display:flex}
  .pg-hero{padding:120px 5vw 60px}
  .legal{padding:50px 5vw 80px}
  .ft{grid-template-columns:1fr}
  .float-btn{bottom:1rem;right:1rem;padding:.7rem 1.1rem;font-size:.88rem}
  .cta-acts{align-items:flex-start}
  .callout{padding:1.4rem 1.2rem 1.2rem}
}
