/* ==========================================================================
   compact.css: layout & spacing layer (redesign 2026-11, prototype)
   Rules: NO colour changes (only existing var(--…) tokens), NO font-family,
   weight or type-scale changes. Spacing, layout, visibility and density only.
   ========================================================================== */
:root{--sp-sec:56px;--sp-sec-m:40px;--sp-gap:16px}

/* ---- Global rhythm ---- */
.sec{padding:var(--sp-sec) 0}
.hx-sec{padding:var(--sp-sec) 20px}
h2{margin-bottom:24px}
.head{gap:8px}
.sec-emblem{display:none}                        /* decorative repeat of the logo under every heading */
.cta-band{padding:40px 0}
footer{padding:36px 0 20px}
@media(max-width:680px){
  .sec,.cv-section{padding:var(--sp-sec-m) 0 !important}
  .hx-sec{padding:var(--sp-sec-m) 16px}
  .cta-band{padding:28px 0}
  footer{padding:28px 0 88px}                     /* room for the sticky action bar */
  .fgrid{grid-template-columns:1fr 1fr !important;gap:6px 18px}
  .fgrid .about-col{grid-column:1/-1}
  .fgrid h4{margin-bottom:6px}
  .fgrid a{padding:4px 0}
}

/* ---- Sticky mobile action bar (Call · WhatsApp · Book) ---- */
.mbar{display:none}
@media(max-width:680px){
  .mbar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:90;
    background:var(--ink2);border-top:1px solid var(--line2);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin:0 4px;border-radius:10px;
    font-size:14px;color:var(--white);border:1px solid var(--line)}
  .mbar a.gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}
  .aala-chat-root{bottom:72px !important}
}

/* ---- HOME: hero ---- */
.home .hero{padding:40px 0 28px}
.home .hero .hero-emblem,.home .hero .tag2{display:none}
.home .hero .lead{max-width:34rem}
.home .hero .ctas{flex-wrap:wrap;gap:10px}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0;padding:0;font-size:13.5px;color:var(--muted)}
.trust li{display:flex;align-items:center;gap:6px}
.trust li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:0 0 auto}
.trust b{color:var(--white);font-weight:inherit}
.trust a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:680px){
  .home .hero .portrait{display:none}            /* portrait stays in the About block below */
  .home .hero{padding:24px 0 20px}
  .home .hero .ctas .btn{flex:1 1 100%;justify-content:center}
}

/* ---- HOME: urgent strip ---- */
.home .hx-urgent{padding:16px 20px}
@media(max-width:680px){.home .hx-urgent{padding:16px}}
.home .hx-urgent small{display:none}
.home .hx-urgent h2{margin-bottom:8px}
.home .hx-urgent .hx-tags{gap:6px}

/* ---- HOME: practice tiles ---- */
.home .practice{grid-template-columns:repeat(4,1fr) !important;gap:12px !important;margin-top:20px !important}
.home .pcard{padding:18px !important;gap:6px !important}
.home .pcard .more{display:none}
.home .pcard p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home .hub-guides{margin:20px auto 0 !important;text-align:center}
@media(max-width:1024px){.home .practice{grid-template-columns:repeat(3,1fr) !important}}
@media(max-width:680px){
  .home .practice{grid-template-columns:1fr 1fr !important;gap:8px !important}
  .home .pcard{padding:14px 12px !important}
  .home .pcard p{display:none}
  .home .pcard svg{width:22px;height:22px}
}

/* ---- HOME: merged About / Why / How / Abroad ---- */
.pillars{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:18px 0 0;padding:0}
.pillars li{border-inline-start:2px solid var(--gold);padding-block:2px;padding-inline:12px 0;color:var(--muted);font-size:14.5px;line-height:1.5}
.pillars b{display:block;color:var(--white)}
.tabs{margin-top:32px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tabs [role=tablist]{display:flex;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs [role=tab]{flex:1 0 auto;background:none;border:0;color:var(--muted);padding:14px 18px;cursor:pointer;font:inherit;border-bottom:2px solid transparent}
.tabs [role=tab][aria-selected=true]{color:var(--white);border-bottom-color:var(--gold)}
.tabs [role=tabpanel]{padding:20px}
.tabs [role=tabpanel][hidden]{display:none}
.tabs .lead-s{color:var(--muted);margin-bottom:14px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:0;margin:0}
.steps li{border-top:2px solid var(--gold);padding-top:10px}
.steps h3,.abroad h3{color:var(--white);font-size:inherit;margin-bottom:4px}
.steps p,.abroad p{color:var(--muted);font-size:14px;line-height:1.55}
.steps .n{color:var(--gold);font-size:13px;letter-spacing:.1em}
.abroad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:680px){
  .pillars{grid-template-columns:1fr 1fr;gap:8px 12px}
  .steps,.abroad{grid-template-columns:1fr}
  .home .about-visual .av-photo{max-height:300px;overflow:hidden}
}

/* ---- HOME: articles: filter + show more ---- */
.ins-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 20px}
.ins-filter button{background:none;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 14px;font:inherit;font-size:13.5px;cursor:pointer}
.ins-filter button[aria-pressed=true]{border-color:var(--gold);color:var(--white)}
.home .insights{margin-top:0 !important;gap:14px !important}
.home .ic-card.is-hidden{display:none}
.more-wrap{text-align:center;margin-top:20px}
.more-btn{background:none;border:1px solid var(--line2);color:var(--white);border-radius:999px;padding:10px 20px;font:inherit;cursor:pointer}
.home .ic-card .top{height:auto !important;min-height:0 !important;padding:14px 18px 0 !important;background:none !important}
.home .ic-card .body{padding-top:8px !important}
.home .ic-card .top .tag{position:static !important;display:inline-block}
@media(max-width:680px){
  .home .ic-card .body p{display:none}
  .ins-filter{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:6px;margin-inline:-16px;padding-inline:16px}
  .ins-filter button{flex:0 0 auto}
}

/* ---- HOME: FAQ show-more ---- */
.home .faq{margin-top:0 !important}
.home .faq-item.is-hidden{display:none}

/* ---- HOME: Google preferred-source strip ---- */
.home .gps-cta{padding:22px 16px !important}

/* ---- ARTICLE / PRACTICE TEMPLATE ---- */
.page-hero{padding-bottom:36px}
@media(max-width:680px){
  .page-hero{padding:150px 0 24px}
  .page-hero .tldr ~ p.lead{display:none}        /* duplicate of the Key takeaway on small screens */
  .page-hero .ctas{display:none}                 /* replaced by the sticky action bar */
}
.toc{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;margin:0 0 8px;scrollbar-width:thin}
.toc a{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--muted);white-space:nowrap}
.toc a:hover{color:var(--white);border-color:var(--line2)}
.rw h2{margin-top:32px}
.table-wrap{margin-bottom:24px}
.process-list{margin-bottom:24px;gap:8px}
.process-list li{padding:14px 16px;gap:14px}
@media(max-width:680px){
  .process-list li{flex-direction:row}           /* number beside text instead of stacked above it */
  .process-list li::before{width:32px;height:32px}
  .compare-table{min-width:0}
  .compare-table thead{display:none}
  .compare-table tr{display:block;padding:12px 14px;border-bottom:1px solid var(--line)}
  .compare-table tbody th,.compare-table td{display:block;padding:2px 0;border:0;white-space:normal}
  .compare-table td[data-label]::before{content:attr(data-label) ": ";color:var(--white)}
  .service-list li{padding:16px;gap:10px}
}

/* ---- HOME: stats band + 98% card (restored 13 Nov 2026 at the owner's request) ---- */
.home .stats{padding:0 0 8px}
.home .stats .row{padding:18px 12px}
.home .cred{margin-top:16px}
@media(max-width:680px){
  .home .stats .row{grid-template-columns:1fr 1fr !important;gap:14px 8px !important;padding:16px 10px}
  .home .stat{flex-direction:column;align-items:center;text-align:center;gap:8px;padding:4px !important;border:0 !important;margin:0 !important}
  .home .stat .ic{width:44px;height:44px}
  .home .stat .ic svg{width:20px;height:20px}
  .home .cred{grid-template-columns:1fr 1fr}
}
