:root{
  --saffron:#E85D04;
  --deep-orange:#C2410C;
  --vermillion:#D9381E;
  --gold:#D4A72C;
  --cream:#FFF8EC;
  --warm-white:#FFFCF7;
  --charcoal:#171717;
  --muted:#6B6258;
  --green:#2F7D5A;
  --line: rgba(23,17,10,0.09);
  --accent: var(--saffron);
  --accent-wash: rgba(232,93,4,0.12);
  --max: 1280px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--charcoal);
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Newsreader',Georgia,serif;margin:0;}
p{margin:0;}
img{max-width:100%;display:block;}
a{color:var(--deep-orange);text-decoration:none;}
a:hover{color:var(--vermillion);}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
ul{list-style:none;margin:0;padding:0;}
::selection{background:var(--gold);color:var(--charcoal);}

.mr{font-family:'Noto Sans Devanagari','Plus Jakarta Sans',sans-serif;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
.section{padding:80px 0;}
.section-tight{padding:80px 0 0;}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--vermillion);}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.section-head h2{font-size:32px;font-weight:500;}
.section-head p{margin-top:8px;font-size:15px;color:var(--muted);}
.section-link{font-size:13px;font-weight:700;white-space:nowrap;}

.card{background:var(--warm-white);border:1px solid var(--line);border-radius:16px;}
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600;border:1px solid var(--line);background:var(--warm-white);color:var(--charcoal);white-space:nowrap;}
.btn-primary{border-radius:999px;padding:14px 26px;font-size:14px;font-weight:700;color:var(--warm-white);background:var(--accent);}
.btn-primary:hover{background:var(--deep-orange);}
.btn-outline{border-radius:999px;padding:13px 25px;font-size:14px;font-weight:700;border:1.5px solid var(--charcoal);color:var(--charcoal);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;}
.dot--green{background:var(--green);}
.dot--gold{background:var(--gold);}
.dot--orange{background:#E8853A;}
.dot--vermillion{background:var(--vermillion);}

.hscroll{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.hscroll::-webkit-scrollbar{display:none;}

/* ---------- HEADER ---------- */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,248,236,0.92);backdrop-filter:blur(8px);z-index:50;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-lock{display:flex;flex-direction:column;line-height:1.1;}
.brand-name{font-family:'Newsreader',serif;font-size:19px;font-weight:600;}
.brand-sub{font-size:10px;font-weight:700;letter-spacing:0.22em;color:var(--muted);}
.nav-links{display:flex;align-items:center;gap:22px;flex-wrap:nowrap;}
.nav-links a{font-size:14px;font-weight:600;color:var(--charcoal);}
.nav-links a:hover{color:var(--deep-orange);}
.header-right{display:flex;align-items:center;gap:18px;}
.lang-switch{font-size:13px;font-weight:600;color:var(--muted);display:flex;gap:6px;}
.lang-switch b{color:var(--charcoal);font-weight:700;}
.nav-toggle{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);align-items:center;justify-content:center;background:var(--warm-white);}
.mobile-menu{display:none;}

/* ---------- HERO ---------- */
.hero{display:grid;grid-template-columns:1.08fr 0.92fr;gap:56px;align-items:center;padding:64px 0 88px;}
.hero h1{font-size:54px;font-weight:500;line-height:1.07;letter-spacing:-0.01em;}
.hero-sub{margin-top:22px;font-size:17px;line-height:1.6;color:var(--muted);max-width:480px;}
.search-bar{margin-top:32px;display:flex;align-items:center;gap:10px;background:var(--warm-white);border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 20px;max-width:540px;box-shadow:0 1px 2px rgba(23,17,10,0.04);}
.search-bar input{border:none;outline:none;background:none;font-size:14px;font-family:inherit;flex:1;color:var(--charcoal);min-width:0;}
.search-bar .btn-primary{padding:12px 22px;flex:0 0 auto;}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.hero-ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.hero-eyebrow-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap;}

.hero-art{position:relative;height:500px;border-radius:24px;overflow:hidden;background:linear-gradient(175deg,#F2C46B 0%,#E8853A 32%,#C2401E 62%,#241512 100%);}
.hero-lights{position:absolute;top:20px;left:14px;right:14px;display:flex;justify-content:space-between;}
.light{width:6px;height:6px;border-radius:50%;background:#FFE8B0;box-shadow:0 0 8px 2px rgba(255,232,176,0.8);}
.skyline{position:absolute;left:0;right:0;bottom:0;height:58%;background:#1B1310;clip-path:polygon(0% 100%,0% 62%,4% 62%,4% 40%,9% 40%,9% 55%,14% 55%,14% 30%,19% 30%,19% 50%,24% 50%,24% 18%,26% 18%,26% 12%,28% 12%,28% 18%,30% 18%,30% 48%,36% 48%,36% 35%,41% 35%,41% 58%,47% 58%,47% 22%,52% 22%,52% 45%,58% 45%,58% 60%,63% 60%,63% 32%,68% 32%,68% 50%,74% 50%,74% 15%,76% 15%,76% 10%,78% 10%,78% 15%,80% 15%,80% 48%,86% 48%,86% 60%,92% 60%,92% 38%,96% 38%,96% 58%,100% 58%,100% 100%);}
.pandal{position:absolute;bottom:0;clip-path:polygon(50% 0%,0% 100%,100% 100%);}
.pandal--1{left:8%;width:120px;height:90px;background:rgba(217,56,30,0.85);}
.pandal--2{left:22%;width:96px;height:70px;background:rgba(232,93,4,0.8);}
.pandal--3{right:10%;width:110px;height:82px;background:rgba(217,56,30,0.85);}
.hero-badge{position:absolute;left:20px;bottom:20px;right:20px;background:rgba(255,252,247,0.92);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:12px;backdrop-filter:blur(6px);}
.hero-badge strong{font-size:13px;font-weight:700;display:block;}
.hero-badge span{font-size:12px;color:var(--muted);}

/* ---------- FESTIVAL BAR ---------- */
.festival-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:26px 32px;}
.festival-info{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.divider-v{width:1px;height:34px;background:var(--line);}
.field-label{font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
.field-value{font-size:14px;font-weight:600;margin-top:2px;}
.pill--status{background:rgba(47,125,90,0.08);border-color:rgba(47,125,90,0.25);color:var(--green);}

/* ---------- DISCOVERY GRID ---------- */
.discovery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:36px;}
.discovery-card{padding:24px;}
.icon-circle{width:44px;height:44px;border-radius:12px;background:var(--accent-wash);display:flex;align-items:center;justify-content:center;}
.discovery-card .title{font-size:15px;font-weight:700;margin-top:18px;}
.discovery-card .desc{font-size:13px;color:var(--muted);margin-top:4px;}

/* ---------- FEATURED GANPATIS ---------- */
.g-card{width:296px;flex:0 0 auto;overflow:hidden;}
.g-art{height:168px;position:relative;}
.g-badge{position:absolute;top:14px;left:14px;background:rgba(255,252,247,0.92);border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700;}
.g-silhouette{position:absolute;left:0;right:0;bottom:0;height:44%;background:#241512;opacity:0.55;}
.g-body{padding:18px 20px 20px;}
.g-name{font-size:17px;font-weight:700;}
.g-area{display:flex;align-items:center;gap:5px;margin-top:4px;font-size:13px;color:var(--muted);}
.g-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.g-crowd{display:flex;align-items:center;gap:6px;}
.g-crowd span{font-size:12px;color:var(--muted);}
.g-foot-actions{display:flex;align-items:center;gap:10px;}
.g-directions{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--charcoal);flex:0 0 auto;}
.g-directions:hover{border-color:var(--accent);color:var(--accent);}
.g-route-btn{font-size:12px;font-weight:700;color:var(--accent);}

/* ---------- PLAN MY DARSHAN ---------- */
.plan-section{background:var(--charcoal);color:var(--warm-white);padding:80px 0;}
.plan-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:56px;align-items:center;}
.plan-section h2{color:var(--warm-white);font-size:34px;font-weight:500;margin-top:16px;line-height:1.15;}
.plan-section .lede{margin-top:16px;font-size:16px;line-height:1.6;color:rgba(255,252,247,0.7);max-width:440px;}
.plan-fields{display:flex;flex-direction:column;gap:12px;margin-top:28px;max-width:420px;}
.plan-field{display:flex;align-items:center;justify-content:space-between;background:rgba(255,252,247,0.07);border:1px solid rgba(255,252,247,0.14);border-radius:12px;padding:14px 18px;}
.plan-field .k{font-size:12px;color:rgba(255,252,247,0.55);}
.plan-field .v{font-size:14px;font-weight:600;}

.route-card{background:var(--warm-white);color:var(--charcoal);border-radius:20px;padding:28px 30px;}
.route-card-head{display:flex;align-items:center;justify-content:space-between;}
.route-title{font-family:'Newsreader',serif;font-size:20px;font-weight:600;}
.timeline{margin-top:22px;display:flex;flex-direction:column;}
.tl-row{display:flex;gap:14px;}
.tl-dotwrap{display:flex;flex-direction:column;align-items:center;}
.tl-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);flex:0 0 auto;}
.tl-line{width:1.5px;flex:1;background:var(--line);}
.tl-content{padding-bottom:20px;}
.tl-name{font-size:14px;font-weight:700;color:var(--charcoal);display:inline-block;}
.tl-name:hover{color:var(--accent);}
.tl-meta{font-size:12px;color:var(--muted);margin-top:2px;}
.route-stats{display:flex;gap:22px;margin-top:4px;padding-top:18px;border-top:1px solid var(--line);flex-wrap:wrap;}
.stat-k{font-size:11px;color:var(--muted);}
.stat-v{font-size:14px;font-weight:700;}

/* ---------- AREAS ---------- */
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px;}
.area-card{overflow:hidden;}
.area-bar{height:5px;}
.area-body{padding:22px 24px;}
.area-name{font-family:'Newsreader',serif;font-size:19px;font-weight:600;}
.area-desc{font-size:13px;color:var(--muted);margin-top:6px;}
.area-link{display:inline-block;margin-top:16px;font-size:13px;font-weight:700;}

/* ---------- ROUTES ---------- */
.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px;}
.route-preview-card{padding:26px;}
.route-name{font-family:'Newsreader',serif;font-size:19px;font-weight:600;margin-top:16px;}
.route-meta{display:flex;gap:16px;margin-top:12px;font-size:12px;color:var(--muted);flex-wrap:wrap;}
.route-diff{margin-top:14px;padding:5px 12px;font-size:11px;}

/* ---------- TODAY STRIP ---------- */
.today-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px 28px;}

/* ---------- VISARJAN ---------- */
.visarjan-banner{background:rgba(217,56,30,0.07);border:1px solid rgba(217,56,30,0.18);border-radius:20px;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.visarjan-left{display:flex;align-items:center;gap:20px;}
.visarjan-title{font-family:'Newsreader',serif;font-size:22px;font-weight:600;}
.visarjan-desc{font-size:14px;color:var(--muted);margin-top:6px;max-width:520px;}

/* ---------- MAP ---------- */
.map-card{overflow:hidden;}
#leafletMap{height:440px;width:100%;background:#F2E6CE;}
.map-legend{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.map-legend .note{font-size:12px;color:var(--muted);}
.leaflet-popup-content-wrapper{border-radius:12px;font-family:'Plus Jakarta Sans',sans-serif;}
.leaflet-popup-content b{font-family:'Newsreader',serif;font-size:15px;}
.popup-directions{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;color:var(--accent);}

/* ---------- STORIES ---------- */
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px;}
.story-card{overflow:hidden;}
.story-art{height:150px;}
.story-body{padding:20px 22px;}
.story-title{font-family:'Newsreader',serif;font-size:18px;font-weight:600;margin-top:8px;line-height:1.3;}
.story-desc{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5;}
.story-read{font-size:12px;color:var(--muted);margin-top:12px;}

/* ---------- FOOTER ---------- */
.site-footer{border-top:1px solid var(--line);padding:60px 0 36px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.footer-brand p{font-size:13px;color:var(--muted);margin-top:14px;max-width:280px;line-height:1.6;}
.footer-col{display:flex;flex-direction:column;gap:10px;}
.footer-col .head{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;}
.footer-col a{font-size:13px;color:var(--charcoal);}
.footer-bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);}
.disclaimer{font-size:12px;color:var(--muted);line-height:1.6;max-width:820px;}
.footer-meta{display:flex;align-items:center;justify-content:space-between;margin-top:18px;flex-wrap:wrap;gap:12px;}
.footer-meta span{font-size:12px;color:var(--muted);}

/* ---------- MOBILE BOTTOM NAV ---------- */
.bottom-nav{display:none;}

/* ================= RESPONSIVE ================= */
@media (max-width:1080px){
  .lang-switch{display:none;}
}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding:40px 0 56px;gap:36px;}
  .hero h1{font-size:38px;}
  .hero-art{height:320px;order:-1;}
  .nav-links{display:none;}
  .lang-switch{display:none;}
  .nav-toggle{display:flex;}
  .header-right .btn-primary{padding:11px 18px;font-size:13px;}

  .discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .plan-grid{grid-template-columns:1fr;gap:32px;}
  .area-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .route-grid{grid-template-columns:1fr;}
  .story-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}

  .festival-info{gap:16px;}
  .section{padding:56px 0;}
  .section-tight{padding:56px 0 0;}
  #leafletMap{height:340px;}

  body{padding-bottom:76px;}
  .bottom-nav{
    display:flex;justify-content:space-around;align-items:center;
    position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:var(--warm-white);border-top:1px solid var(--line);
    padding:10px 6px calc(10px + env(safe-area-inset-bottom));
  }
  .bn-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;color:var(--muted);}
  .bn-item.active{color:var(--accent);background:var(--accent-wash);}
  .bn-item span{font-size:10px;font-weight:700;}
}

@media (max-width:560px){
  .hero h1{font-size:32px;}
  .discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .discovery-card{padding:18px;}
  .footer-grid{grid-template-columns:1fr;}
  .festival-bar{padding:20px;}
  .visarjan-banner{padding:26px;}
  .g-card{width:250px;}
}

.mobile-menu.open{
  display:flex;flex-direction:column;gap:2px;
  position:absolute;top:100%;left:0;right:0;
  background:var(--warm-white);border-bottom:1px solid var(--line);
  padding:8px 24px 18px;z-index:49;
}
.mobile-menu.open a{padding:12px 0;font-size:15px;font-weight:600;color:var(--charcoal);border-bottom:1px solid var(--line);}
.mobile-menu.open a:last-child{border-bottom:none;}

/* ---------- scroll offset for sticky header ---------- */
section[id]{scroll-margin-top:86px;}

/* ---------- active nav state (scrollspy) ---------- */
.nav-links a.active{color:var(--deep-orange);}
.bn-item.active{color:var(--accent);background:var(--accent-wash);}

/* ---------- visit counter ---------- */
.visit-counter{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:7px 12px;}
.visit-counter svg{flex:0 0 auto;opacity:0.7;}
.visit-counter b{color:var(--charcoal);font-weight:700;}

/* ---------- card hover ---------- */
.g-card,.area-card,.route-preview-card,.story-card,.discovery-card,.update-card{transition:transform .18s ease,box-shadow .18s ease;}
.g-card:hover,.area-card:hover,.route-preview-card:hover,.story-card:hover,.discovery-card:hover,.update-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(23,17,10,0.08);}
.discovery-card,.area-card{cursor:pointer;}
.area-card.is-empty{cursor:pointer;opacity:0.72;}
.area-mapped-tag{display:inline-block;margin-top:12px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;}
.area-mapped-tag.has{background:rgba(47,125,90,0.1);color:var(--green);}
.area-mapped-tag.soon{background:rgba(107,98,88,0.1);color:var(--muted);}
.area-maps-link{display:block;margin-top:10px;font-size:12px;font-weight:700;color:var(--accent);}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;}
.reveal.in-view{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ---------- distance chip (near me) ---------- */
.g-distance{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-wash);border-radius:999px;padding:3px 9px;margin-left:auto;}

/* ---------- no-results state ---------- */
.no-results{padding:32px;text-align:center;color:var(--muted);font-size:14px;}
.no-results button{color:var(--accent);font-weight:700;}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--charcoal);color:var(--warm-white);font-size:13px;font-weight:600;padding:12px 20px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,0.2);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;max-width:calc(100% - 48px);text-align:center;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ---------- + Route button state ---------- */
.g-route-btn.added{color:var(--green);}

/* ---------- floating route button ---------- */
.route-fab{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;align-items:center;gap:8px;background:var(--charcoal);color:var(--warm-white);border-radius:999px;padding:14px 20px;font-size:13px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,0.25);}

/* ---------- credit badge ---------- */
.credit-badge{position:fixed;left:20px;bottom:20px;z-index:70;display:flex;align-items:center;gap:7px;background:var(--warm-white);border:1px solid var(--line);color:var(--charcoal);border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700;box-shadow:0 6px 20px rgba(23,17,10,0.12);}
.credit-badge:hover{color:var(--accent);border-color:var(--accent);}
.route-fab-count{background:var(--accent);color:var(--warm-white);border-radius:50%;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;padding:0 4px;}

/* ---------- route drawer ---------- */
.drawer-backdrop{position:fixed;inset:0;background:rgba(23,17,10,0.45);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.drawer-backdrop.open{opacity:1;pointer-events:auto;}
.route-drawer{position:fixed;right:0;top:0;bottom:0;width:380px;max-width:92vw;background:var(--warm-white);z-index:91;box-shadow:-12px 0 30px rgba(0,0,0,0.15);transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column;}
.route-drawer.open{transform:translateX(0);}
.rd-head{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 16px;border-bottom:1px solid var(--line);}
.rd-head h3{font-family:'Newsreader',serif;font-size:19px;font-weight:600;}
.rd-close{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--cream);}
.rd-list{padding:12px 22px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px;}
.rd-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--cream);border-radius:12px;}
.rd-item-name{font-size:13px;font-weight:700;}
.rd-item-area{font-size:11px;color:var(--muted);margin-top:2px;}
.rd-item-directions{font-size:11px;font-weight:700;color:var(--accent);margin-top:4px;display:inline-block;}
.rd-remove{font-size:12px;font-weight:700;color:var(--vermillion);flex:0 0 auto;}
.rd-empty{padding:40px 22px;text-align:center;color:var(--muted);font-size:13px;}
.rd-foot{padding:16px 22px 22px;border-top:1px solid var(--line);}

/* ---------- updates / aagman ---------- */
.update-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px;}
.update-card{padding:24px;}
.update-date{font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--vermillion);}
.update-title{font-family:'Newsreader',serif;font-size:17px;font-weight:600;margin-top:10px;}
.update-desc{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.55;}

/* ---------- safety ---------- */
.safety-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;}
.safety-item{display:flex;gap:12px;padding:18px;background:var(--warm-white);border:1px solid var(--line);border-radius:14px;}
.safety-item svg{flex:0 0 auto;margin-top:2px;}
.safety-item p{font-size:13px;color:var(--muted);line-height:1.5;}

/* ---------- about / faq ---------- */
.about-lede{font-size:15px;color:var(--muted);line-height:1.65;max-width:680px;margin-top:14px;}
.faq{margin-top:32px;max-width:760px;border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;text-align:left;font-size:15px;font-weight:700;}
.faq-q svg{flex:0 0 auto;transition:transform .2s ease;}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .22s ease;}
.faq-item.open .faq-a{max-height:220px;}
.faq-a p{font-size:14px;color:var(--muted);line-height:1.6;padding:0 4px 20px;max-width:640px;}

/* ---------- contribute ---------- */
.contribute-card{background:var(--charcoal);color:var(--warm-white);border-radius:20px;padding:48px;text-align:center;}
.contribute-card h2{color:var(--warm-white);font-size:30px;font-weight:500;}
.contribute-card p{color:rgba(255,252,247,0.7);font-size:15px;margin-top:12px;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.6;}
.social-btns{display:flex;gap:14px;justify-content:center;margin-top:28px;flex-wrap:wrap;}
.social-btn{display:flex;align-items:center;gap:10px;background:rgba(255,252,247,0.08);border:1px solid rgba(255,252,247,0.18);border-radius:999px;padding:13px 24px;font-size:14px;font-weight:700;color:var(--warm-white);}
.social-btn:hover{background:rgba(255,252,247,0.16);color:var(--warm-white);}
.footer-social{display:flex;gap:10px;margin-top:16px;}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--charcoal);}
.footer-social a:hover{border-color:var(--accent);color:var(--accent);}

@media (max-width:900px){
  .update-grid{grid-template-columns:1fr;}
  .safety-list{grid-template-columns:1fr;}
  .route-fab{display:none;}
  .credit-badge{display:none;}
  .contribute-card{padding:36px 24px;}
}
