/* Area answer page (North Bangalore pilot; reusable by the other area guides).
   The answer first, the depth folded. Every rule is scoped under .ap / .ap-* so nothing leaks.
   Needs tools-kit.css (navy tokens, .tk-journey strip, .tk-cta block) loaded first. */
.ap{--ap-navy:#102b46;--ap-lime:#b6e477;--ap-amber:#f2a93b;--ap-red:#e5573f;--ap-sand:#b89a64;--ap-mute:#c9d6e2;--ap-grey:#9aa7b3}
.ap .ap-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ap .ap-g-m{--c:var(--ap-navy)}
.ap .ap-g-f{--c:var(--ap-lime)}
.ap .ap-g-l{--c:var(--ap-amber)}
.ap .ap-lab{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:650;color:var(--ap-lime)}
.ap .ap-sechead{margin-bottom:26px}
.ap .ap-sechead .eyebrow{margin-bottom:12px;color:var(--accent)}
.ap .ap-sechead h2{font-size:clamp(1.9rem,3vw,2.6rem)}
.ap .ap-sechead p{margin-top:8px;color:var(--muted)}

/* 0 + 1: hero with the navy answer card */
.ap-hero{padding:40px 0 56px;border-bottom:1px solid var(--line)}
.ap-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}
.ap-hero .crumb{margin-bottom:18px}
.ap-hero .eyebrow{margin-bottom:14px}
.ap-hero h1{font-size:clamp(2.6rem,4.6vw,4.4rem);line-height:1.02}
.ap-hero .lead{margin-top:18px;font-size:1.2rem;max-width:36ch;line-height:1.5}
.ap-hero .actions{margin-top:28px}
.ap-hero .btn.wa{background:#25d366;border-color:#25d366;color:#0b3b22}
.ap-hero .btn.wa:hover{background:#1ebe5b}
.ap-nofee{display:block;margin-top:14px;font-size:.86rem;font-weight:650}
.ap-ans{background:var(--ap-navy);color:#fff;border-radius:6px;padding:30px 32px 22px;box-shadow:0 30px 60px -34px #102b46cc}
.ap-verdict{font-family:var(--serif);font-size:1.5rem;line-height:1.28;letter-spacing:-.02em;margin:12px 0 22px!important}
.ap-nums{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:0;padding:20px 0 0;border-top:1px solid #ffffff26;list-style:none}
.ap-nums b{display:block;font-family:var(--serif);font-weight:400;font-size:2.7rem;line-height:1;letter-spacing:-.04em;color:var(--ap-lime)}
.ap-nums span{font-size:.8rem;color:var(--ap-mute)}
.ap-chkd{margin:18px 0 0!important;font-size:.76rem;color:#9fb3c6;display:flex;gap:8px;align-items:center}
.ap-chkd:before{content:'';flex:0 0 7px;height:7px;border-radius:50%;background:var(--ap-amber)}

/* 2: pocket map */
.ap-map{background:#fff;border-bottom:1px solid var(--line);padding:44px 0 38px}
.ap-maphead{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px 24px;margin-bottom:6px}
.ap-maphead .eyebrow{margin-bottom:10px;color:var(--accent)}
.ap-maphead h2{font-size:clamp(1.6rem,2.4vw,2rem)}
.ap-leg{display:flex;gap:8px 18px;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:.84rem;font-weight:600;color:var(--ap-navy)}
.ap-leg li:before,.ap-key li:before{content:'';display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;vertical-align:-1px;background:var(--c);border:1.5px solid var(--ap-navy)}
.ap-svgwrap{overflow-x:auto;margin:0 -8px;-webkit-overflow-scrolling:touch}
.ap-svg{display:block;width:100%;max-width:1000px;min-width:600px;height:auto;margin:auto}
.ap-svg text{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.ap-svg .ap-svg-s{font-size:10.5px;fill:#586863}
.ap-svg .ap-svg-b{font-size:11px;font-weight:650;fill:var(--ap-navy)}
.ap-svg .ap-svg-l{font-size:12px;font-weight:650;fill:var(--ap-navy)}
.ap-dot{cursor:pointer;outline:none}
.ap-dot .ap-hit{fill:transparent;stroke:none}
.ap-dot circle:last-child{transition:stroke-width .15s}
.ap-dot:hover circle:last-child,.ap-dot:focus-visible circle:last-child,.ap-dot.is-on circle:last-child{stroke-width:3.5}
.ap-dot:focus-visible .ap-hit{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:3 3}
.ap-tip rect{fill:var(--ap-navy)}
.ap-tip .ap-tip-n{font-size:10.5px;font-weight:700;fill:var(--ap-lime);letter-spacing:.06em;text-transform:uppercase}
.ap-tip .ap-tip-l{font-size:10.5px;fill:#fff}
.ap-key{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 22px;list-style:none;margin:16px 0 0;padding:0;font-size:.84rem;color:var(--muted)}
.ap-key li{border-left:3px solid var(--c,#dadbd1);padding-left:10px;line-height:1.45}
.ap-key li:before{display:none}
.ap-key b{color:var(--ap-navy);display:block;font-size:.9rem}
.ap-key .ap-key-note{--c:#dadbd1}
.ap-swipe{display:none;margin-top:6px;font-size:.78rem;font-weight:600;color:var(--accent)}

/* 3: good if / think twice */
.ap-fit-sec{padding:56px 0;background:var(--soft)}
.ap-fit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.ap-fit-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--ap-lime);border-radius:4px;padding:26px 28px 14px}
.ap-twice{border-top-color:var(--ap-amber)}
.ap-fit-t{display:flex;align-items:center;gap:10px;font-size:.78rem!important;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--ap-navy);margin-bottom:8px!important}
.ap-fit-t i{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ap-lime);color:var(--ap-navy);font-style:normal;font-size:.8rem}
.ap-twice .ap-fit-t i{background:var(--ap-amber)}
.ap-fit ul{list-style:none;margin:0;padding:0}
.ap-fit li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:13px 0 13px 22px;border-top:1px solid var(--line);position:relative;font-size:1rem;line-height:1.45}
.ap-fit li:first-child{border-top:0}
.ap-fit li:before{content:'';position:absolute;left:2px;top:21px;width:8px;height:8px;border-radius:50%;background:var(--ap-lime);box-shadow:0 0 0 2px #b6e47744}
.ap-twice li:before{background:var(--ap-amber);box-shadow:0 0 0 2px #f2a93b44}
.ap-fit li span{color:var(--ink)}
.ap-fit li b{font-weight:600;color:var(--muted);font-size:.93rem;text-align:right}
.ap-fit li a{color:var(--ap-navy);font-weight:700;border-bottom:1px solid #102b4640}
.ap-fit li a:hover{border-color:var(--ap-navy)}

/* 4: pick your area */
.ap-cards-sec{padding:64px 0}
.ap-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ap-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--c);border-radius:4px;padding:20px 20px 12px;display:flex;flex-direction:column;scroll-margin-top:90px}
.ap-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ap-card h3{font-size:1.25rem;letter-spacing:-.02em}
.ap-type{flex:0 0 auto;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:4px 8px;border-radius:20px;background:var(--soft);border:1px solid var(--line);color:var(--ap-navy);white-space:nowrap}
.ap-card-line{margin-top:6px!important;font-size:.88rem;color:var(--muted)}
.ap-card .zg-bars{margin-top:14px;padding-top:14px}
.ap-card .zg-more{margin-top:auto;padding-top:6px}
.ap-card .zg-bars+.zg-more{margin-top:14px}
.ap .zg-fill.apt,.ap-bar-leg .apt{background:var(--ap-navy)}
.ap .zg-fill.plot,.ap-bar-leg .plot{background:var(--ap-sand)}
.ap-card:target{box-shadow:0 0 0 3px #b6e47799}
.ap-card-key{background:var(--ap-navy);border-color:var(--ap-navy);border-top-color:var(--ap-lime);color:#fff;justify-content:center;gap:14px;padding:22px}
.ap-bar-leg{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.88rem}
.ap-bar-leg i{display:inline-block;width:26px;height:10px;border-radius:5px;margin-right:10px;vertical-align:0}
.ap-bar-leg .apt{background:#fff}
.ap-card-key p{font-size:.84rem;color:var(--ap-mute);line-height:1.5}

/* 5: timeline */
.ap-time-sec{padding:64px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ap-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 14px;margin-bottom:14px}
.ap-rail span{padding-top:10px;border-top:5px solid;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ap-navy)}
.ap-rail .now{grid-column:1/3;border-color:var(--ap-lime)}
.ap-rail .date{grid-column:3/4;border-color:var(--ap-grey)}
.ap-rail .build{grid-column:4/6;border-color:var(--ap-amber)}
.ap-tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ap-tl li{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:18px 18px 16px}
.ap-tl-ico{width:42px;height:42px;border-radius:10px;background:var(--ap-navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}
.ap-tl-ico svg{width:23px;height:23px}
.ap-tl b{font-size:1rem;line-height:1.3;color:var(--ap-navy)}
.ap-chip{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:20px}
.ap-chip.now{background:var(--ap-lime);color:var(--ap-navy)}
.ap-chip.build{background:var(--ap-amber);color:#3d2600}
.ap-chip.date{background:#e3e8ed;color:var(--ap-navy)}
.ap-tl-when{font-size:.86rem;color:var(--ink);line-height:1.4}
.ap-tl .now .ap-tl-when{color:var(--muted)}
.ap-slip{font-size:.78rem;color:#9a5a00;display:flex;align-items:center;gap:6px}
.ap-slip:before{content:'!';display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--ap-amber);color:#3d2600;font-size:.66rem;font-weight:800}
.ap-src{margin-top:auto;padding-top:6px;font-size:.74rem;color:var(--muted);border-bottom:1px solid #58686355}
.ap-src:hover{color:var(--accent)}
.ap-src-in{border-bottom:1px solid currentColor}
.ap-rule{margin-top:22px!important;font-family:var(--serif);font-size:1.35rem;letter-spacing:-.02em;color:var(--ap-navy)}

/* 6: 8 checks */
.ap-chk-sec{padding:64px 0;background:var(--soft)}
.ap-chk-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:32px 34px 26px}
.ap-chk-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px 24px;margin-bottom:14px}
.ap-chk-head h2{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.ap-chk-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 40px;align-items:start}
.ap-chk{border-top:1px solid var(--line)}
.ap-chk summary{display:flex;align-items:flex-start;gap:14px;padding:14px 0;cursor:pointer;list-style:none;font-size:.98rem;line-height:1.45;color:var(--ink)}
.ap-chk summary::-webkit-details-marker{display:none}
.ap-chk summary:after{content:'+';margin-left:auto;padding-left:10px;font-size:1.3rem;line-height:1;color:var(--muted)}
.ap-chk[open] summary:after{content:'−'}
.ap-chk summary i{flex:0 0 12px;height:12px;border-radius:50%;margin-top:6px;background:var(--ap-red);box-shadow:0 0 0 3px #e5573f2e}
.ap-chk-a summary i{background:var(--ap-amber);box-shadow:0 0 0 3px #f2a93b33}
.ap-chk p{padding:0 0 16px 26px;font-size:.9rem;color:var(--muted);line-height:1.6}
.ap-chk-leg{margin-top:16px!important;padding-top:14px;border-top:1px solid var(--line);font-size:.84rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 22px}
.ap-chk-leg span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;background:var(--ap-red)}
.ap-chk-leg .a:before{background:var(--ap-amber)}

/* 8: tool strip on a navy band */
.ap-tools{background:var(--ap-navy);color:#fff}
.ap-tools .tk-journey{padding:48px 0 44px}
.ap-tools .tk-j-head b{color:#fff}
.ap-tools .tk-j-head span{color:var(--ap-mute)}
.ap-tools .tk-j a{border-color:#ffffff26;border-top-color:#ffffff40}
.ap-tools .tk-j .tk-j-next{border-top-color:var(--ap-lime)}
.ap-plotlink{display:inline-block;text-wrap:balance;margin-top:20px;color:var(--ap-lime);font-weight:600;font-size:.95rem;border-bottom:1px solid #b6e47766;padding:3px 0}
.ap-plotlink:hover{border-color:var(--ap-lime)}

/* 9: read the full guide */
.ap-guide-sec{padding:64px 0}
.ap-guide-h{font-size:clamp(1.7rem,2.6vw,2.2rem);margin-bottom:18px!important}
.ap-guide>details{border-top:1px solid var(--line)}
.ap-guide>details:last-child{border-bottom:1px solid var(--line)}
.ap-guide>details>summary{display:flex;align-items:center;gap:16px;padding:18px 0;cursor:pointer;list-style:none}
.ap-guide>details>summary::-webkit-details-marker{display:none}
.ap-guide>details>summary:before{content:'+';flex:0 0 30px;height:30px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;color:var(--ap-navy);background:#fff}
.ap-guide>details[open]>summary:before{content:'−';background:var(--ap-navy);color:#fff;border-color:var(--ap-navy)}
.ap-guide summary h2{font-family:var(--serif);font-weight:400;font-size:1.3rem;letter-spacing:-.02em;line-height:1.3;color:var(--ap-navy)}
.ap-rt{margin-left:auto;flex:0 0 auto;font-size:.8rem;color:var(--muted)}
.ap-fold{padding:4px 0 30px 46px}
.ap-fold>p{margin-top:14px;color:var(--muted);line-height:1.7}
.ap-fold>p:first-child{margin-top:0}
.ap-fold .lead{font-size:1.05rem;color:var(--ink)}
.ap-fold .scope-strip{margin-top:10px}
.ap-fold .fit-list{margin:14px 0 0}
.ap-fold .zg-drivers{margin-top:20px}
.ap-fold .actions{margin-top:20px}
.ap-fold .zg-legend{margin-top:14px}
.ap-fold .zg-heat-scroll{margin-top:18px}
.ap-fold .zg-more{margin-top:20px}
.ap-fold .comparison{margin-top:14px}
.ap-fold .small{margin-top:18px}

/* 10: FAQ */
.ap-faq-sec{padding:64px 0;background:var(--soft)}
.ap-faq-sec .center-head{margin-bottom:28px}
.ap-faq-sec .center-head h2{font-size:clamp(1.8rem,2.8vw,2.4rem)}
.ap-faq-sec .faq details p{margin-top:12px;color:var(--muted);line-height:1.7}
.ap-faq-sec .ap-more>summary{font-size:.95rem;font-weight:650;color:var(--accent)}
.ap-faq-sec .ap-more>.faq{margin-top:10px}
.ap-faq-sec .ap-more>.faq details:last-child{border-bottom:0;padding-bottom:0}
.ap .ap-proof{gap:26px}

/* responsive */
@media(max-width:1100px){
  .ap-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ap-tl{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ap-rail{display:none}
}
@media(max-width:900px){
  .ap-grid{grid-template-columns:1fr;gap:28px}
  .ap-hero{padding:24px 0 34px}
  .ap-hero h1{font-size:2.5rem}
  .ap-hero .lead{font-size:1.05rem}
  .ap-hero .actions{flex-direction:column;align-items:stretch;gap:12px}
  .ap-hero .actions .btn{justify-content:space-between}
  .ap-ans{padding:24px 20px 18px}
  .ap-verdict{font-size:1.25rem}
  .ap-nums b{font-size:2.2rem}
  .ap-key{grid-template-columns:1fr 1fr}
  .ap-fit{grid-template-columns:1fr}
  .ap-cards{grid-template-columns:1fr 1fr}
  .ap-chk-list{grid-template-columns:1fr}
}
@media(max-width:600px){
  .ap-map,.ap-fit-sec,.ap-cards-sec,.ap-time-sec,.ap-chk-sec,.ap-guide-sec,.ap-faq-sec{padding:40px 0}
  .ap-maphead{margin-bottom:14px}
  .ap-svgwrap{margin:0 -20px;padding:0 12px;position:relative}
  .ap-svg{min-width:700px}
  .ap-swipe{display:block}
  .ap-key{grid-template-columns:1fr;gap:10px}
  .ap-fit-card{padding:20px 18px 8px}
  .ap-fit li{flex-direction:column;gap:2px}
  .ap-fit li b{text-align:left}
  .ap-cards{grid-template-columns:1fr}
  .ap-tl{grid-template-columns:1fr;gap:0;border-left:3px solid var(--line);margin-left:6px}
  .ap-tl li{position:relative;border:0;border-radius:0;background:none;padding:4px 0 22px 26px;display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:4px;align-items:center}
  .ap-tl li:before{content:'';position:absolute;left:-9px;top:12px;width:15px;height:15px;border-radius:50%;background:var(--ap-grey);border:3px solid #fff}
  .ap-tl li.now:before{background:var(--ap-lime)}
  .ap-tl li.build:before{background:var(--ap-amber)}
  .ap-tl-ico{grid-row:1/3;width:38px;height:38px;margin:0}
  .ap-tl li>*:not(.ap-tl-ico){grid-column:2;justify-self:start}
  .ap-src{margin-top:0;padding-top:2px}
  .ap-chk-card{padding:22px 18px 18px}
  .ap-chk p{padding-left:26px}
  .ap-tools .tk-journey{padding:36px 0 32px}
  .ap-guide summary h2{font-size:1.12rem}
  .ap-fold{padding:0 0 24px}
  .ap-rule{font-size:1.15rem}
}
