:root{--bg:#fff8f0;--card:#fff;--ink:#2b2118;--muted:#5c4a3b;--accent:#9a3412;--accent-deep:#7c2d12;--accent2:#1e3a8a;--warn:#fef3c7;--warnb:#b45309;--line:#ead9c6}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow-wrap:anywhere}
a{color:var(--accent2)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{max-width:860px;margin:0 auto;padding:0 18px}
header.site{background:linear-gradient(135deg,var(--accent),var(--warnb));color:#fff;padding:28px 0 22px}
header.site a{color:#fff}header.site h1{margin:.2em 0;font-size:1.7rem;line-height:1.25}header.site p{margin:0;opacity:.95}
.disclaimer{background:var(--warn);border:2px solid var(--warnb);border-radius:12px;padding:12px 16px;margin:18px 0;font-size:.95rem}
.badge{display:inline-block;background:var(--accent-deep);color:#fff;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;margin-right:6px}
.updated{color:var(--muted);font-size:.9rem}
.cards{display:grid;gap:16px;grid-template-columns:1fr;margin:20px 0}
@media(min-width:700px){.cards{grid-template-columns:1fr 1fr}header.site h1{font-size:2.1rem}}
.card{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:16px;padding:18px;box-shadow:0 2px 8px rgba(80,40,10,.07);display:flex;flex-direction:column}
.card h2{font-size:1.2rem;margin:.4em 0;line-height:1.3}.card p{margin:.3em 0 1em;color:var(--muted)}
.btn{display:inline-block;margin-top:auto;background:var(--accent);color:#fff;text-decoration:none;padding:10px 16px;border-radius:10px;font-weight:600;align-self:flex-start}
.btn.alt{background:var(--accent2)}
.donate{background:#fff;border:1px dashed var(--accent);border-radius:16px;padding:18px;margin:24px 0;text-align:center}
.toc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 16px;margin:16px 0}
.toc summary{font-weight:700;cursor:pointer}
article{background:#fff;border-radius:16px;padding:8px 18px 18px;border:1px solid var(--line)}
article h1{font-size:1.6rem;line-height:1.3}article h2{margin-top:1.6em;border-top:1px solid var(--line);padding-top:.8em}article h2::before{content:"";display:block;width:2.25rem;height:3px;background:var(--accent);border-radius:999px;margin:0 0 .55em}
article table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%}article td,article th{border:1px solid var(--line);padding:6px 8px;vertical-align:top}
article blockquote{margin:1em 0;padding:8px 14px;border-left:5px solid var(--warnb);background:var(--warn)}
article pre{overflow-x:auto}
footer{color:var(--muted);font-size:.9rem;padding:24px 0 40px}
.ai{background:#fff;border:2px solid var(--accent);border-radius:20px;padding:18px;margin:18px 0;box-shadow:0 4px 16px rgba(154,52,18,.12)}
.ai h2{margin:.2em 0;font-size:1.6rem}.demo-label{display:inline-block;background:var(--accent2);color:#fff;border-radius:999px;padding:3px 12px;font-size:.85rem;font-weight:700;margin:0}
.chips{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.chip{font:inherit;font-size:.98rem;text-align:left;background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--ink);border:1.5px solid var(--accent);border-radius:14px;padding:10px 14px;cursor:pointer}
.chip[aria-pressed=true]{background:var(--accent);color:#fff}
.answer{background:#fffaf4;border-left:5px solid var(--accent2);border-radius:12px;padding:10px 14px;margin:10px 0}.answer.refusal{border-left-color:#b91c1c}
.answer .you{color:var(--muted)}.cites,.demo-note,.small{font-size:.9rem;color:var(--muted)}
.ask label{font-weight:600;display:block;margin-top:8px}.askrow{display:flex;gap:8px;margin-top:6px}
.askrow input{flex:1;min-width:0;font:inherit;padding:10px;border:1.5px solid var(--line);border-radius:10px}.askrow .btn{border:0;cursor:pointer;font:inherit;font-weight:600}
.sec{margin-top:28px}.how{background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 18px;margin:20px 0}
html:not([lang=fil]) .l-fil{display:none!important}html[lang=fil] .l-en{display:none!important}
.answer[data-ov=fil] .l-en{display:none!important}
.answer[data-ov=en] .l-fil{display:none!important}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.langtog{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.15);border-radius:999px;padding:3px}
.langtog button{font:inherit;font-size:.9rem;font-weight:600;background:transparent;color:#fff;border:0;border-radius:999px;padding:5px 12px;cursor:pointer}
.langtog button[aria-pressed=true]{background:#fff;color:var(--accent-deep)}
.card h3{font-size:1.2rem;margin:.4em 0;line-height:1.3}.fil-note{background:color-mix(in srgb,var(--accent2) 16%,#fff);border-radius:10px;padding:8px 12px}
.tr{font:inherit;font-size:.9rem;font-weight:600;background:#fff;color:var(--accent2);border:1.5px solid var(--accent2);border-radius:999px;padding:5px 12px;cursor:pointer;margin:2px 0 6px}
/* v3 friendliness: tap targets via padding only; font sizes = v2 */
.btn,.chip,.tr,.langtog button,.micbtn,.askrow input{min-height:48px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px}
.btn.cta{background:#fff;color:var(--accent-deep);margin-top:6px}
.btn.primary{background:var(--accent-deep)}
.langtog button{min-width:48px}.langtog svg{color:#fff;margin-left:6px}
.chip{padding:12px 16px}
.chip::before{content:"\201C";font-weight:700;margin-right:4px;color:var(--accent)}
.chip[aria-pressed=true]::before{color:#fff}
.answer{background:transparent;border:0;padding:0;margin:14px 0}
.bubble{border-radius:18px;padding:12px 16px;margin:8px 0;max-width:100%}
.bubble .who{display:block;font-size:.85rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.bubble.you{background:var(--accent-deep);color:#fff;margin-left:12%;border-bottom-right-radius:4px}.bubble.you .who{color:color-mix(in srgb,var(--bg) 80%,#fff)}
.bubble.botb{background:#fffaf4;border:1.5px solid var(--line);border-left:6px solid var(--accent2);margin-right:4%;border-bottom-left-radius:4px}
.answer.refusal .botb{border-left-color:#b91c1c}
.tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tools>div{display:contents}.answer[data-ov=en] .tools>div.l-en,.answer[data-ov=fil] .tools>div.l-fil{display:inline-block!important}
.tr{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;margin:0}
.tr.soon small{font-weight:400;color:var(--muted)}
.soon-note{background:color-mix(in srgb,var(--accent2) 16%,#fff);color:var(--accent2);border-radius:12px;padding:10px 14px;margin:8px 0}
.askrow{align-items:stretch;flex-wrap:wrap}.askrow input{flex:1 1 180px}
.micbtn{min-width:48px;border:1.5px solid var(--accent2);background:#fff;color:var(--accent2);border-radius:12px;cursor:pointer}
.cites a,.toc a{display:inline-block;padding:4px 0}
.card h3 svg{vertical-align:-4px;color:var(--accent);margin-right:.2em}
/* cross-device: safe areas (notch) + fallbacks for older browsers */
header.site{padding-top:calc(28px + env(safe-area-inset-top,0px))}
.wrap{padding-left:18px;padding-right:18px;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
footer{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}
.answer[data-ov=fil] div.l-fil,.answer[data-ov=en] div.l-en{display:block!important}
.answer[data-ov=fil] span.l-fil,.answer[data-ov=en] span.l-en{display:inline!important}
.tools .tr,.askrow>*{margin:4px 4px 4px 0}
html{-webkit-tap-highlight-color:rgba(154,52,18,.2)}
.quick{background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 18px 10px;margin:20px 0}
.qa{border-top:1px solid var(--line);padding-top:4px}.qa h3{margin:.6em 0 .2em;line-height:1.35}.qa-a{margin:.2em 0}
/* v6 fix pass: layout only, font sizes unchanged from v2 */
.tbr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
header.site .btn.cta{margin-top:0}
.backlinks{margin:1.2em 0 0}.backlinks a,.totop{display:inline-flex;align-items:center;min-height:48px}
.answer{scroll-margin-top:8px}.answer>.demo-label{margin:0 0 4px}
article blockquote.taglish{border-left-color:var(--accent2);background:#eef2ff}
/* Tables: cells wrap at spaces, not mid-number or mid-word (overrides body overflow-wrap:anywhere); wide tables scroll inside themselves */
article th,article td{overflow-wrap:normal}
/* "Your next step" callout: teal border and tint, CSS arrow marker (hidden from screen readers) */
article blockquote.nextstep{border-left-color:#0f766e;background:#f0fdfa;border-radius:0 10px 10px 0}
article blockquote.nextstep>p:first-child>strong:first-child::before{content:"\2192\00a0";content:"\2192\00a0"/"";color:#0f766e;font-weight:800}
.about{background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 18px 10px;margin:20px 0}
@media(max-width:600px){header.site{padding:12px 0 14px;padding-top:calc(12px + env(safe-area-inset-top,0px))}header.site h1{margin:.3em 0 .1em}.topbar{gap:6px}
.ai{padding:14px 12px}.bubble{padding:10px 12px}.bubble.you{margin-left:0}.bubble.botb{margin-right:0;border-left-width:4px}
article{padding:6px 12px 14px}article blockquote{margin:1em 0;padding:6px 10px;border-left-width:4px}.wrap{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}}
@media(max-height:500px) and (orientation:landscape){header.site{padding:8px 0 10px;padding-top:calc(8px + env(safe-area-inset-top,0px))}header.site h1{margin:.15em 0}header.site .sub{display:none}}
@media(max-width:600px){.langtog svg{display:none}.langtog button{padding:5px 9px}header.site .btn.cta{padding:10px 12px;gap:6px}.tbr{gap:6px}}
/* Visa Bulletin explainer (v6.2): compact 3-col table, fits 320px */
.vb{background:#fffaf4;border:1.5px solid var(--line);border-radius:14px;padding:4px 14px 8px;margin:1em 0}
.vb h3{margin:.6em 0 .3em;line-height:1.3}.vb ul{padding-left:1.2em;margin:.4em 0}.vb li{margin:.25em 0}
article table.vbt{display:table;width:100%;table-layout:fixed;margin:.6em 0}.vbt caption{text-align:left;font-weight:700;padding:4px 0}
.vbt th,.vbt td{padding:6px 5px;overflow-wrap:normal;word-break:normal}.vbt thead th{text-align:left;line-height:1.3}.vbt th[scope=row]{width:22%}
/* v7 brand + tagline */
.topbar .home{display:flex;flex-direction:column;line-height:1.15}.topbar .home .brand{font-weight:800}.topbar .home .tagline{font-size:.8em;font-weight:500;opacity:.92}
/* v8 read-aloud */
.listen.on{background:var(--accent,#9a3412);color:#fff}.tts-note{margin:.5em 0 0;font-size:.95em}.tts-note span{display:block}
[hidden]{display:none!important}
.listen[hidden]{display:none!important}
.is-hidden{display:none!important}
/* v8.1 per-section Listen */
.sec-listen{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin:-.4em 0 .6em}
.sec-listen .tts-note{flex-basis:100%;text-align:left}
.sec-btn{min-height:48px;padding:6px 14px;font-size:.95rem}
.sec-btn svg{width:18px;height:18px}

/* mobile-pass1: compact sticky header + guides above Ask on phone fold */
header.site{position:sticky;top:0;z-index:30;box-shadow:0 1px 0 rgba(0,0,0,.08)}
@media(max-width:600px){
header.site{padding:8px 0 10px;padding-top:calc(8px + env(safe-area-inset-top,0px))}
header.site h1{font-size:1.25rem;margin:.15em 0 .05em;line-height:1.2}
header.site .tagline,header.site .sub{display:none}
body.home .disclaimer{margin:10px 0;padding:8px 12px;font-size:.9rem}
body.home .disclaimer + p{margin:8px 0}
body.home #guides.sec{margin-top:12px;font-size:1.15rem}
body.home #guides + .sec-listen{margin:-.2em 0 .3em}
body.home .home-guides{gap:10px;margin:8px 0 14px}
body.home .home-guides .card{padding:12px 14px;border-radius:12px}
body.home .home-guides .card > p:first-child{margin:0 0 2px;font-size:.85rem}
body.home .home-guides .card h3{font-size:1.05rem;margin:.15em 0}
body.home .home-guides .card h3 + p{display:none}
body.home .home-guides .card .btn{margin-top:8px;padding:10px 14px}
/* Collapse Ask demo chrome on narrow screens; chips stay reachable below guides */
body.home .ai{margin:12px 0;padding:12px}
body.home .ai > p.demo-label{font-size:.75rem;padding:2px 8px}
body.home .ai h2{font-size:1.25rem}
}

/* pass2-5: brand tokens, guide icons, section breaks, QA search, trimmed chrome disclaimers */
header.site h1{display:flex;align-items:flex-start;gap:.4rem}
header.site h1 .gico{flex:0 0 auto;margin-top:.18em;color:#fff;line-height:0}
header.site h1 .gico svg{width:1.15em;height:1.15em;display:block}
.how,.quick,.about{border-top:3px solid var(--accent)}
.qa-tools{margin:8px 0 14px}
.qa-label{display:block;font-weight:600;margin:6px 0 4px}
.qa-searchrow{display:flex;align-items:center;gap:8px;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:0 12px}
.qa-searchrow:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.qa-searchrow svg{flex:0 0 auto;color:var(--accent);pointer-events:none}
.qa-searchrow input{flex:1;min-width:0;font:inherit;border:0;background:transparent;padding:12px 0;min-height:48px;color:var(--ink);touch-action:manipulation}
.qa-searchrow input:focus{outline:0}
.qa-searchrow input::placeholder{color:var(--muted)}
.qa-topics-h{font-weight:600;margin:.85em 0 .4em;font-size:.95rem}
.qa-topics{display:flex;flex-wrap:wrap;gap:8px}
.qa-topic{font:inherit;font-size:.95rem;font-weight:600;min-height:48px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff);color:var(--ink);cursor:pointer;touch-action:manipulation}
.qa-topic[aria-pressed=true]{background:var(--accent);color:#fff}
.qa-empty{background:color-mix(in srgb,var(--accent) 8%,#fff);border:1px dashed var(--line);border-radius:12px;padding:12px 14px;margin:10px 0}
.disclaimer.disc-top{margin:14px 0 16px}
.disclaimer.disc-bot{margin:16px 0 8px}
@media(max-width:600px){
.disclaimer.disc-top,.disclaimer.disc-bot{padding:8px 12px;font-size:.9rem;margin:10px 0}
header.site h1 .gico{margin-top:.12em}
}

/* predictive quick search */
.qa-searchwrap{position:relative}
.qa-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:6px;list-style:none;background:var(--card);border:1.5px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(80,40,10,.16);overflow-y:auto;-webkit-overflow-scrolling:touch}
.qa-suggest.qa-suggest-up{top:auto;bottom:calc(100% + 4px)}
.qa-suggest-item{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:48px;padding:8px 12px;border-radius:10px;cursor:pointer;touch-action:manipulation}
.qa-suggest-item.is-active,.qa-suggest-item:hover{background:color-mix(in srgb,var(--accent) 12%,#fff)}
.qa-suggest-kicker{font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--accent-deep)}
.qa-suggest-title{font-weight:600;line-height:1.3}
.qa-suggest-sub{font-size:.85rem;color:var(--muted);line-height:1.3}
.qa-suggest mark,.qa-nearby mark{background:color-mix(in srgb,var(--warn) 85%,#fff);color:inherit;padding:0 .1em;border-radius:2px}
.qa-nearby{background:color-mix(in srgb,var(--accent) 8%,#fff);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0}
.qa-nearby-lead{margin:0 0 8px;font-weight:600}
.qa-nearby-list{margin:0;padding-left:1.1em}
.qa-nearby-list a{display:inline-flex;align-items:center;min-height:44px}
