/* PropertyHub — Landing Page CSS */
/* SLV Group © 2025                  */

:root {
  --g: #00b14f;
  --g-dark: #008f3f;
  --g-light: #e8f8ef;
  --g-pale: #f4fbf7;
  --ink: #0b0f0d;
  --text: #111827;
  --text2: #4b5563;
  --muted: #9ca3af;
  --border: #e5e7eb;
  --white: #ffffff;
  --bg: #f8fafb;
  --amber: #f59e0b;
  --sky: #0ea5e9;
  --rose: #f43f5e;
  --purple: #8b5cf6;
  --shadow-s: 0 1px 4px rgba(0,0,0,.07);
  --shadow-m: 0 4px 20px rgba(0,0,0,.09);
  --shadow-l: 0 10px 40px rgba(0,0,0,.13);
  --shadow-g: 0 4px 24px rgba(0,177,79,.25);
  --r: 14px; --r-l: 22px; --r-pill: 100px;
  --max: 1140px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Plus Jakarta Sans',sans-serif; background:var(--bg); color:var(--text); overflow-x:hidden; }

.container { max-width:var(--max); margin:0 auto; padding:0 24px; }

/* ═══ NAVBAR ═══ */
.navbar { position:fixed; top:0; left:0; right:0; z-index:200;
  background:rgba(255,255,255,.92); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.06); transition:box-shadow .2s; }
.navbar.scrolled { box-shadow:var(--shadow-m); }
.nav-inner { display:flex; align-items:center; justify-content:space-between;
  height:64px; gap:20px; }
.nav-logo { font-family:'Bricolage Grotesque',sans-serif; font-size:1.15rem;
  font-weight:800; color:var(--text); text-decoration:none;
  display:flex; align-items:center; gap:7px; letter-spacing:-.3px; }
.nav-logo sup { font-size:.5rem; font-weight:700; color:var(--g);
  letter-spacing:.06em; vertical-align:super; }
.logo-dot { width:10px; height:10px; background:var(--g); border-radius:50%;
  box-shadow:0 0 8px rgba(0,177,79,.5); flex-shrink:0;
  animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.6;transform:scale(1.3)} }
.nav-links { display:flex; align-items:center; gap:28px; }
.nav-links a { font-size:.875rem; font-weight:600; color:var(--text2);
  text-decoration:none; transition:color .15s; }
.nav-links a:hover { color:var(--g); }
.nav-cta { display:flex; align-items:center; gap:10px; }
.btn-nav-outline { border:1.5px solid var(--border); border-radius:var(--r-pill);
  padding:8px 16px; font-size:.82rem; font-weight:700; color:var(--text2);
  text-decoration:none; transition:all .15s; }
.btn-nav-outline:hover { border-color:var(--g); color:var(--g); }
.btn-nav-solid { background:var(--g); border-radius:var(--r-pill);
  padding:8px 18px; font-size:.82rem; font-weight:700; color:#fff;
  text-decoration:none; transition:all .15s; box-shadow:var(--shadow-g); }
.btn-nav-solid:hover { background:var(--g-dark); transform:translateY(-1px); }
.hamburger { display:none; background:none; border:none;
  font-size:1.5rem; cursor:pointer; color:var(--text); }

@media(max-width:900px) {
  .nav-links { display:none; position:fixed; top:64px; left:0; right:0;
    background:#fff; border-bottom:1px solid var(--border);
    flex-direction:column; padding:20px; gap:16px; z-index:199; }
  .nav-links.open { display:flex; }
  .hamburger { display:block; }
  .nav-cta { gap:8px; }
  .btn-nav-outline { display:none; }
}

/* ═══ HERO ═══ */
.hero { background:linear-gradient(165deg,#f0fdf6 0%,#e8f8ef 40%,#f8fafb 100%);
  padding:120px 0 0; overflow:hidden; position:relative; }
.hero-bg-grid { position:absolute; inset:0;
  background-image:linear-gradient(rgba(0,177,79,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,177,79,.04) 1px,transparent 1px);
  background-size:40px 40px; pointer-events:none; }
.hero-inner { text-align:center; position:relative; z-index:1; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:8px;
  background:#fff; border:1px solid var(--border); border-radius:var(--r-pill);
  padding:7px 16px; font-size:.8rem; font-weight:600; color:var(--text2);
  margin-bottom:24px; box-shadow:var(--shadow-s); }
.eyebrow-dot { width:7px; height:7px; background:var(--g); border-radius:50%;
  box-shadow:0 0 6px rgba(0,177,79,.5); flex-shrink:0; animation:pulse 2s infinite; }
.hero-title { font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(2.4rem,6vw,4rem); font-weight:800; line-height:1.12;
  letter-spacing:-.03em; margin-bottom:20px; color:var(--ink); }
.hero-highlight { color:var(--g); position:relative; display:inline-block; }
.hero-highlight::after { content:''; position:absolute; bottom:-4px; left:0; right:0;
  height:4px; background:linear-gradient(90deg,var(--g),rgba(0,177,79,.2));
  border-radius:2px; }
.hero-sub { font-size:1.1rem; color:var(--text2); max-width:600px;
  margin:0 auto 32px; line-height:1.7; }
.hero-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:44px; }
.btn-hero-primary { background:var(--g); border-radius:var(--r-pill);
  padding:14px 28px; font-size:.95rem; font-weight:800; color:#fff;
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  box-shadow:var(--shadow-g); transition:all .2s; }
.btn-hero-primary:hover { background:var(--g-dark); transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(0,177,79,.32); }
.btn-hero-ghost { border:2px solid var(--border); border-radius:var(--r-pill);
  padding:14px 24px; font-size:.95rem; font-weight:700; color:var(--text);
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  transition:all .2s; background:#fff; }
.btn-hero-ghost:hover { border-color:var(--g); color:var(--g); }
.hero-stats { display:flex; align-items:center; justify-content:center;
  gap:0; background:#fff; border:1px solid var(--border);
  border-radius:var(--r-l); padding:20px 32px; max-width:680px;
  margin:0 auto 0; box-shadow:var(--shadow-m); flex-wrap:wrap; gap:0; }
.hs-item { text-align:center; padding:8px 24px; }
.hs-num { font-family:'Bricolage Grotesque',sans-serif; font-size:1.5rem;
  font-weight:800; color:var(--g); }
.hs-lbl { font-size:.72rem; color:var(--muted); margin-top:2px; font-weight:500; }
.hs-div { width:1px; height:40px; background:var(--border); flex-shrink:0; }
@media(max-width:600px) { .hero-stats { padding:16px; }
  .hs-item { padding:6px 14px; } .hs-div { height:30px; }
  .hs-num { font-size:1.2rem; } }

/* Phone Mockup */
.hero-phone-wrap { display:flex; justify-content:center; align-items:flex-end;
  padding-top:48px; position:relative; }
.hero-phone { width:220px; background:#0b0f0d; border-radius:32px;
  padding:12px; box-shadow:0 24px 80px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.06);
  position:relative; z-index:1; }
.phone-notch { width:60px; height:20px; background:#1a1f1d;
  border-radius:0 0 14px 14px; margin:0 auto 10px; }
.phone-screen { background:#f5f6f8; border-radius:20px; overflow:hidden; }
.phone-topbar { background:var(--g); padding:10px 12px 8px;
  display:flex; justify-content:space-between; align-items:center; }
.phone-logo { font-size:.68rem; font-weight:800; color:#fff; }
.phone-loc { font-size:.6rem; color:rgba(255,255,255,.85);
  display:flex; align-items:center; gap:3px; }
.phone-card { background:#fff; margin:8px; border-radius:10px;
  overflow:hidden; box-shadow:var(--shadow-s); }
.phone-card-img { width:100%; height:70px; object-fit:cover; display:block; }
.phone-card-body { padding:8px 10px; }
.phone-cat { font-size:.58rem; color:var(--g); font-weight:700;
  text-transform:uppercase; margin-bottom:2px; }
.phone-title { font-size:.78rem; font-weight:800; margin-bottom:4px; }
.phone-price { font-size:.72rem; font-weight:700; display:flex;
  justify-content:space-between; align-items:center; }
.phone-book { background:var(--g); color:#fff; border-radius:4px;
  padding:2px 8px; font-size:.65rem; }
.phone-row { display:flex; gap:5px; margin:0 8px 8px; }
.phone-mini { flex:1; background:#fff; border-radius:8px; padding:7px 6px;
  display:flex; align-items:center; gap:5px; box-shadow:var(--shadow-s);
  font-size:.6rem; font-weight:600; line-height:1.3; }
.phone-mini-icon { font-size:.95rem; flex-shrink:0; }
.phone-bottom-nav { background:#fff; display:flex; justify-content:space-around;
  padding:7px 0 5px; border-top:1px solid var(--border); }
.pbn { font-size:1rem; color:var(--muted); }
.pbn.active { color:var(--g); }
.phone-glow { position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:280px; height:100px;
  background:radial-gradient(ellipse,rgba(0,177,79,.2) 0%,transparent 70%);
  pointer-events:none; }

/* ═══ TRUSTED ═══ */
.trusted { background:#fff; border-top:1px solid var(--border);
  border-bottom:1px solid var(--border); padding:18px 0; }
.trusted-label { text-align:center; font-size:.78rem; color:var(--muted);
  font-weight:600; letter-spacing:.05em; text-transform:uppercase; margin-bottom:14px; }
.trusted-list { display:flex; flex-wrap:wrap; justify-content:center;
  gap:12px 28px; }
.trusted-list span { font-size:.82rem; font-weight:600; color:var(--text2); }

/* ═══ SECTIONS COMMON ═══ */
section { padding:88px 0; }
.section-tag { display:inline-block; background:var(--g-light); color:var(--g);
  font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  border-radius:var(--r-pill); padding:5px 14px; margin-bottom:14px; }
.white-tag { background:rgba(255,255,255,.15); color:#fff; }
.section-title { font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(1.7rem,4vw,2.6rem); font-weight:800; letter-spacing:-.02em;
  line-height:1.15; margin-bottom:14px; }
.white-title { color:#fff; }
.section-sub { font-size:1rem; color:var(--text2); max-width:580px;
  line-height:1.7; margin-bottom:44px; }

/* ═══ FEATURES ═══ */
.features { background:var(--bg); }
.features .section-title, .features .section-sub { max-width:none; }
.features > .container > * { text-align:center; }
.features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  margin-top:44px; text-align:left; }
@media(max-width:900px) { .features-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:580px) { .features-grid { grid-template-columns:1fr; } }

.feat-card { background:#fff; border-radius:var(--r-l); padding:26px;
  border:1px solid var(--border); box-shadow:var(--shadow-s);
  transition:all .2s; }
.feat-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-l); }
.feat-card.big-card { grid-column:span 1; }
@media(min-width:900px) { .feat-card.big-card { grid-column:span 2; } }
.feat-icon-wrap { width:48px; height:48px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; margin-bottom:16px; }
.green-bg { background:var(--g-light); }
.amber-bg { background:#fef3c7; }
.sky-bg   { background:#e0f2fe; }
.rose-bg  { background:#ffe4e6; }
.purple-bg{ background:#ede9fe; }
.feat-card h3 { font-size:1.05rem; font-weight:800; margin-bottom:9px; }
.feat-card p { font-size:.875rem; color:var(--text2); line-height:1.65; }
.feat-tag-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.ftag { background:var(--g-light); color:var(--g); font-size:.72rem;
  font-weight:700; border-radius:var(--r-pill); padding:4px 12px; }
.ai-pill-row { display:flex; gap:10px; margin-top:16px; flex-wrap:wrap; }
.ai-pill { background:#ede9fe; color:var(--purple); font-size:.76rem; font-weight:700;
  border-radius:var(--r-pill); padding:5px 13px;
  display:flex; align-items:center; gap:6px; }

/* ═══ HOW IT WORKS ═══ */
.how-it-works { background:#fff; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:48px; }
@media(max-width:768px) { .steps-grid { grid-template-columns:1fr; gap:28px; } }
.step-item { position:relative; }
.step-num { font-family:'Bricolage Grotesque',sans-serif;
  font-size:3.5rem; font-weight:800; color:var(--g-light);
  line-height:1; margin-bottom:14px; }
.step-body h3 { font-size:1.08rem; font-weight:800; margin-bottom:10px; }
.step-body p { font-size:.875rem; color:var(--text2); line-height:1.68; margin-bottom:14px; }
.step-list { list-style:none; display:flex; flex-direction:column; gap:7px; }
.step-list li { font-size:.85rem; color:var(--text2); display:flex;
  align-items:center; gap:8px; }
.step-list li i { color:var(--g); font-size:.9rem; flex-shrink:0; }

/* ═══ FOR PARTNERS ═══ */
.for-partners { background:linear-gradient(140deg,var(--g-deeper,#006b30) 0%,var(--g) 100%); }
.for-partners .section-sub { margin:0 auto 44px; }
.partner-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:768px) { .partner-grid { grid-template-columns:1fr; } }
.partner-card { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r-l); padding:28px; transition:all .2s; }
.partner-card:hover { background:rgba(255,255,255,.13); transform:translateY(-3px); }
.partner-card.featured-partner { background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.4); }
.partner-icon { font-size:2.4rem; margin-bottom:16px; }
.partner-card h3 { font-size:1.05rem; font-weight:800; color:#fff; margin-bottom:9px; }
.partner-card p { font-size:.875rem; color:rgba(255,255,255,.72); line-height:1.65; margin-bottom:16px; }
.partner-earn { background:rgba(0,0,0,.15); border-radius:var(--r-pill);
  padding:7px 15px; font-size:.78rem; font-weight:700; color:rgba(255,255,255,.9);
  display:inline-block; }
.partner-cta { text-align:center; margin-top:36px; }
.btn-partner { background:#fff; color:var(--g); border-radius:var(--r-pill);
  padding:14px 30px; font-size:.95rem; font-weight:800; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
  transition:all .2s; box-shadow:0 6px 24px rgba(0,0,0,.2); }
.btn-partner:hover { transform:translateY(-2px); box-shadow:0 10px 32px rgba(0,0,0,.25); }

/* ═══ TRIBUNAL SECTION ═══ */
.tribunal-section { background:var(--bg); }
.tribunal-inner { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
@media(max-width:900px) { .tribunal-inner { grid-template-columns:1fr; gap:36px; } }
.tribunal-stats-row { display:flex; gap:24px; margin-top:28px; flex-wrap:wrap; }
.ts { }
.ts-num { font-family:'Bricolage Grotesque',sans-serif; font-size:2rem;
  font-weight:800; color:var(--g); }
.ts-lbl { font-size:.75rem; color:var(--muted); margin-top:2px; }
.trib-card { background:#fff; border-radius:var(--r-l); padding:24px;
  box-shadow:var(--shadow-l); border:1px solid var(--border); }
.trib-card-hdr { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.trib-badge { background:#fef3c7; color:#b45309; font-size:.7rem; font-weight:700;
  border-radius:var(--r-pill); padding:4px 10px; }
.trib-card-title { font-size:1rem; font-weight:800; margin-bottom:4px; }
.trib-card-sub { font-size:.78rem; color:var(--muted); margin-bottom:14px; }
.trib-divider { height:1px; background:var(--border); margin:14px 0; }
.te-label { font-size:.78rem; font-weight:700; color:var(--text2);
  display:flex; align-items:center; gap:6px; margin-bottom:8px; }
.te-row { font-size:.78rem; color:var(--text2); display:flex; align-items:center;
  gap:7px; margin-bottom:5px; }
.te-row i { color:var(--g); }
.trib-ai-msg { background:var(--g-pale); border-radius:var(--r);
  padding:12px 14px; margin-top:14px; display:flex; gap:10px; align-items:flex-start; }
.ai-avatar { font-size:1.3rem; flex-shrink:0; }
.ai-text { font-size:.8rem; color:var(--text2); line-height:1.55; font-style:italic; }
.trib-ref { font-size:.68rem; color:var(--muted); font-family:monospace;
  text-align:right; margin-top:10px; }

/* ═══ PRICING ═══ */
.pricing { background:#fff; }
.pricing .section-title, .pricing .section-sub { text-align:center; max-width:none; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
@media(max-width:768px) { .pricing-grid { grid-template-columns:1fr; } }
.price-card { background:var(--bg); border:1.5px solid var(--border);
  border-radius:var(--r-l); padding:30px 26px; transition:all .2s; position:relative; }
.price-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-l); }
.price-card.featured-price { background:var(--g); border-color:var(--g);
  box-shadow:var(--shadow-g); }
.price-popular { position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:#fff; color:var(--g); font-size:.72rem; font-weight:800;
  border:2px solid var(--g); border-radius:var(--r-pill); padding:4px 14px;
  white-space:nowrap; }
.price-label { font-size:.8rem; font-weight:700; color:var(--muted);
  text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px; }
.featured-price .price-label { color:rgba(255,255,255,.7); }
.price-amt { font-family:'Bricolage Grotesque',sans-serif; font-size:2.4rem;
  font-weight:800; color:var(--text); margin-bottom:8px; line-height:1; }
.featured-price .price-amt { color:#fff; }
.price-amt small { font-size:1rem; font-weight:500; }
.price-desc { font-size:.83rem; color:var(--text2); line-height:1.6; margin-bottom:22px; }
.featured-price .price-desc { color:rgba(255,255,255,.8); }
.price-list { list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:26px; }
.price-list li { font-size:.85rem; color:var(--text2); display:flex; align-items:center; gap:8px; }
.price-list li i { color:var(--g); font-size:.88rem; flex-shrink:0; }
.white-list li { color:rgba(255,255,255,.9); }
.white-list li i { color:#fff; }
.btn-price-outline { display:block; text-align:center; border:2px solid var(--border);
  border-radius:var(--r-pill); padding:12px; font-size:.88rem; font-weight:700;
  color:var(--text); text-decoration:none; transition:all .15s; }
.btn-price-outline:hover { border-color:var(--g); color:var(--g); }
.btn-price-solid { display:block; text-align:center; background:#fff;
  border-radius:var(--r-pill); padding:12px; font-size:.88rem; font-weight:800;
  color:var(--g); text-decoration:none; transition:all .15s;
  box-shadow:0 3px 12px rgba(0,0,0,.15); }
.btn-price-solid:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,.2); }

/* ═══ WAITLIST ═══ */
.waitlist { background:linear-gradient(140deg,#006b30 0%,var(--g) 100%); }
.waitlist-inner { text-align:center; max-width:680px; margin:0 auto; }
.wl-success { background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3);
  border-radius:var(--r); padding:12px 20px; color:#fff; font-weight:600;
  font-size:.88rem; margin-bottom:20px; display:flex; align-items:center;
  justify-content:center; gap:8px; }
.wl-error { background:rgba(239,68,68,.2); border:1px solid rgba(239,68,68,.4);
  border-radius:var(--r); padding:12px 20px; color:#fff; font-weight:600;
  font-size:.88rem; margin-bottom:20px; }
.waitlist-form { text-align:left; }
.wl-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
@media(max-width:600px) { .wl-row { grid-template-columns:1fr; } }
.wl-group { display:flex; flex-direction:column; gap:6px; }
.wl-group.full { margin-bottom:14px; }
.wl-group label { font-size:.75rem; font-weight:700; color:rgba(255,255,255,.8);
  text-transform:uppercase; letter-spacing:.05em; }
.wl-group input, .wl-group select {
  background:rgba(255,255,255,.12); border:1.5px solid rgba(255,255,255,.25);
  border-radius:var(--r); padding:12px 14px; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.9rem; color:#fff; outline:none; transition:border-color .15s; }
.wl-group input::placeholder { color:rgba(255,255,255,.45); }
.wl-group input:focus, .wl-group select:focus {
  border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.18); }
.role-row { display:flex; gap:12px; flex-wrap:wrap; }
.role-opt { display:flex; align-items:center; gap:7px; background:rgba(255,255,255,.1);
  border:1.5px solid rgba(255,255,255,.2); border-radius:var(--r-pill);
  padding:7px 16px; cursor:pointer; font-size:.82rem; font-weight:600; color:#fff;
  transition:all .13s; }
.role-opt:has(input:checked) { background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.6); }
.role-opt input { accent-color:#fff; }
.btn-waitlist { width:100%; margin-top:18px; background:#fff; border:none;
  border-radius:var(--r-pill); padding:15px; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1rem; font-weight:800; color:var(--g); cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:8px;
  box-shadow:0 4px 20px rgba(0,0,0,.2); transition:all .2s; }
.btn-waitlist:hover { transform:translateY(-1px); box-shadow:0 8px 28px rgba(0,0,0,.25); }
.waitlist-note { font-size:.76rem; color:rgba(255,255,255,.6);
  margin-top:14px; display:flex; align-items:center; justify-content:center; gap:5px; }

/* ═══ FOOTER ═══ */
.footer { background:var(--ink); padding:60px 0 0; }
.footer-inner { display:grid; grid-template-columns:1.5fr 2fr; gap:48px;
  padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.08); }
@media(max-width:768px) { .footer-inner { grid-template-columns:1fr; gap:32px; } }
.footer-logo { font-family:'Bricolage Grotesque',sans-serif; font-size:1.2rem;
  font-weight:800; color:#fff; margin-bottom:12px; }
.footer-logo sup { font-size:.5rem; color:var(--g); vertical-align:super; letter-spacing:.05em; }
.footer-brand p { font-size:.82rem; color:rgba(255,255,255,.5);
  line-height:1.65; margin-bottom:18px; }
.footer-socials { display:flex; gap:12px; }
.footer-socials a { width:34px; height:34px; background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.6); font-size:.95rem; text-decoration:none;
  transition:all .15s; }
.footer-socials a:hover { background:var(--g); color:#fff; border-color:var(--g); }
.footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:580px) { .footer-links { grid-template-columns:1fr 1fr; } }
.fl-title { font-size:.75rem; font-weight:800; color:rgba(255,255,255,.4);
  text-transform:uppercase; letter-spacing:.07em; margin-bottom:14px; }
.fl-col { display:flex; flex-direction:column; gap:8px; }
.fl-col a { font-size:.83rem; color:rgba(255,255,255,.5); text-decoration:none; transition:color .13s; }
.fl-col a:hover { color:var(--g); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center;
  padding:16px 0; font-size:.75rem; color:rgba(255,255,255,.3);
  flex-wrap:wrap; gap:8px; }
