/* fonts:start (tools/fonts_prep.py; the fonts are served from this site, no third-party stylesheet) */
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/notosans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:400 700;font-display:optional;src:url(fonts/notosans-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Noto Sans Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/notosansmono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Noto Sans Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/notosansmono-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/script-devanagari.woff2) format("woff2");unicode-range:U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A}
@font-face{font-family:"Noto Sans Tamil";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/script-tamil.woff2) format("woff2");unicode-range:U+0964-0965, U+0B82-0BFA, U+200C-200D, U+20B9, U+25CC}
@font-face{font-family:"Noto Sans Bengali";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/script-bengali.woff2) format("woff2");unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1}
@font-face{font-family:"Noto Sans Telugu";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/script-telugu.woff2) format("woff2");unicode-range:U+0951-0952, U+0964-0965, U+0B83, U+0C00-0C7F, U+1CD5-1CD6, U+1CD8, U+1CDA, U+1CF2, U+200C-200D, U+25CC}
@font-face{font-family:"Noto Sans Gujarati";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/script-gujarati.woff2) format("woff2");unicode-range:U+0951-0952, U+0964-0965, U+0A80-0AFF, U+200C-200D, U+20B9, U+25CC, U+A830-A839}
@font-face{font-family:"Noto Sans Malayalam";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/script-malayalam.woff2) format("woff2");unicode-range:U+0307, U+0323, U+0951-0952, U+0964-0965, U+0B83, U+0D00-0D7F, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC, U+A830-A832}
@font-face{font-family:"Noto Sans Kannada";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/script-kannada.woff2) format("woff2");unicode-range:U+0951-0952, U+0964-0965, U+0B83, U+0C80-0CF3, U+1CD0, U+1CD2-1CD3, U+1CDA, U+1CF2, U+1CF4, U+200C-200D, U+20B9, U+25CC, U+A830-A835}
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:400 700;font-display:optional;src:url(fonts/rupee.woff2) format("woff2");unicode-range:U+20B9,U+20A8}
html[lang="hi"]{--sans:"Noto Sans","Noto Sans Devanagari","Noto Sans Fallback","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}
html[lang="ta"]{--sans:"Noto Sans","Noto Sans Tamil","Noto Sans Fallback","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}
@font-face{font-family:"Noto Sans Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/rupee-mono.woff2) format("woff2");unicode-range:U+20B9,U+20A8}
@font-face{font-family:"Noto Sans Fallback";src:local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:107.2%;ascent-override:99.7%;descent-override:27.3%;line-gap-override:0%}
/* fonts:end */
/* GovtLicense: shared styles. Light, formal, single theme by design. */
:root{
  color-scheme: light;
  --navy:#0B2A55; --navy-2:#153C75; --navy-ink:#DCE5F2;
  --blue:#1A5BB8; --blue-dark:#12458E; --blue-soft:#E9F0FA;
  --bg:#F3F5F8; --surface:#FFFFFF; --ink:#18222F; --muted:#556172; --line:#D8DDE5; --line-2:#E7EBF0;
  --saffron:#C96A00; --saffron-soft:#FFF3DF; --notice:#FFF7E6; --notice-ink:#6B4700;
  --green:#1C7A3A; --green-soft:#E5F3EA; --amber:#8F5600; --amber-soft:#FBEFD9; --grey-pill:#EEF1F5;
  --red:#B42318;
  --sans:"Noto Sans","Noto Sans Fallback","Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --mono:"Noto Sans Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --fs:100%;
}
html{font-size:var(--fs)}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:.95rem;line-height:1.6}
a{color:var(--blue)}
a:hover{color:var(--blue-dark)}
:focus-visible{outline:3px solid var(--saffron);outline-offset:2px}
h1,h2,h3,h4{line-height:1.25;text-wrap:balance;color:var(--ink)}
.wrap{max-width:1240px;margin:0 auto;padding-inline:24px}
@media (max-width:640px){.wrap{padding-inline:16px}}
/* readable line length for running text inside the wider container */
.prose p,.prose li,.ganswer p,.lead,.gcols p,.gcols li,.faq .a,.note{max-width:75ch}
.skip{position:absolute;left:-9999px;top:0;background:var(--surface);color:var(--blue);padding:8px 12px;z-index:100}
.skip:focus{left:8px;top:8px}

/* Utility bar */
.util{background:#071E3F;color:var(--navy-ink);font-size:.8rem}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-block:6px}
.util strong{color:#FFD591;font-weight:600}
.util .tools{display:flex;align-items:center;gap:14px}
.util .tools a{color:var(--navy-ink);text-decoration:none}
.util .tools a:hover{text-decoration:underline}
.fsz{display:flex;gap:2px}
.fsz button{font:inherit;font-size:.78rem;background:transparent;border:1px solid #3A5680;color:var(--navy-ink);padding:1px 7px;cursor:pointer;border-radius:3px}
.fsz button[aria-pressed="true"]{background:var(--navy-ink);color:#071E3F}

/* Masthead */
.mast{background:var(--surface);border-bottom:1px solid var(--line)}
.mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand svg{flex:0 0 auto}
.brand .nm{display:flex;flex-direction:column;line-height:1.15}
.brand b{font-size:1.45rem;letter-spacing:-.01em;color:var(--navy)}
.brand b span{color:var(--blue)}
.brand small{font-size:.8rem;color:var(--muted)}
.mast-r{display:flex;align-items:center;gap:10px}
.greet{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;text-decoration:none;border:1px solid var(--blue);color:var(--blue);border-radius:6px;padding:7px 14px;background:var(--surface)}
.greet:hover{background:var(--blue-soft)}
.greet.in{border-color:var(--green);color:var(--green)}

/* Main navigation */
.mainnav{background:var(--navy);position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
.mainnav .wrap{display:flex;align-items:center}
.mainnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.mainnav a{display:block;color:#fff;text-decoration:none;font-size:.92rem;font-weight:500;padding:12px 12px;border-bottom:3px solid transparent}
@media (min-width:861px){.mainnav a{padding-inline:5px;font-size:.82rem}}
.mainnav a:hover{background:var(--navy-2)}
.mainnav a[aria-current="page"]{border-bottom-color:#FFB547;background:var(--navy-2)}
/* Breadcrumb + page head */
.crumbs{background:var(--surface);border-bottom:1px solid var(--line-2);font-size:.82rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding-block:9px;padding-inline:0}
.crumbs li+li::before{content:"›";margin-right:6px;color:var(--muted)}
.crumbs a{text-decoration:none}
.pagehead{background:var(--surface);border-bottom:1px solid var(--line)}
.pagehead .wrap{padding-block:26px 22px}
.pagehead h1{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 6px}
.pagehead p{margin:0;color:var(--muted);max-width:70ch}
.updated{font-size:.8rem;color:var(--muted);margin-top:8px!important}
main{display:block}
.section{padding-block:36px}
.section.alt{background:var(--surface);border-block:1px solid var(--line)}
.section h2{font-size:1.4rem;margin:0 0 6px}
.lead{color:var(--muted);margin:0 0 20px;max-width:68ch}

/* Buttons + forms */
.btn{font:inherit;font-weight:600;font-size:.9rem;border-radius:6px;padding:9px 16px;cursor:pointer;border:1px solid var(--blue);background:var(--blue);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.btn:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
.btn.ghost{background:var(--surface);color:var(--blue)}
.btn.ghost:hover{background:var(--blue-soft);color:var(--blue-dark)}
.btn.big{font-size:1rem;padding:12px 22px}
.btn.disabled{opacity:.45;cursor:not-allowed}
.linkbtn{font:inherit;font-size:.85rem;background:none;border:0;color:var(--blue);text-decoration:underline;cursor:pointer;padding:0}
.linkbtn:disabled{color:var(--muted);text-decoration:none;cursor:default}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field > label,.field > .lbl,.lbl{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
select,input[type=text],input[type=email],input[type=password],input[type=tel],textarea{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid #B9C2CF;border-radius:6px;padding:9px 11px;width:100%}
select:focus,input:focus,textarea:focus{border-color:var(--blue)}
textarea{resize:vertical}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.toast{font-size:.85rem;color:var(--green);font-weight:600}
.warn{color:var(--red)!important;font-weight:600}
.hint2{font-size:.8rem;color:var(--muted)}
.note{font-size:.82rem;color:var(--muted);margin:10px 0 0}
.box{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.two .field{margin-bottom:0}
.notice-box{background:var(--notice);border:1px solid #F0D9A8;border-left:4px solid var(--saffron);color:var(--notice-ink);border-radius:6px;padding:12px 14px;font-size:.88rem}

/* Home */
.hero{background:linear-gradient(180deg,var(--navy) 0%, #0F3566 100%);color:#fff}
.hero .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:center;padding-block:44px}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;padding-block:30px}}
.hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 12px}
.hero p{color:#D4DEEC;margin:0 0 18px;max-width:56ch}
.hero .facts-row{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.85rem;color:#C8D4E6}
.hero .facts-row b{color:#fff;font-family:var(--mono);font-size:1.05rem}
.quick{background:var(--surface);color:var(--ink);border-radius:10px;padding:22px;box-shadow:0 10px 30px rgba(3,15,35,.28)}
.quick h2{font-size:1.1rem;margin:0 0 14px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.step{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px;position:relative}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-weight:700;margin-bottom:10px}
.step h3{font-size:1rem;margin:0 0 4px}
.step p{margin:0;color:var(--muted);font-size:.9rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.tile{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;text-decoration:none;color:var(--ink)}
.tile:hover{border-color:var(--blue);box-shadow:0 2px 0 var(--blue)}
.tile .t{font-weight:600}
.tile .m{font-size:.82rem;color:var(--muted)}
.updates{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.updates li{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line-2)}
.updates li:last-child{border-bottom:0}
.updates time{font-family:var(--mono);font-size:.8rem;color:var(--muted)}
@media (max-width:560px){.updates li{grid-template-columns:1fr;gap:2px}}
.cta{background:var(--blue-soft);border:1px solid #C9D9F1;border-radius:10px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.cta h2{margin:0 0 4px;font-size:1.2rem}
.cta p{margin:0;color:var(--muted)}

/* Checklist tool */
.layout{display:grid;grid-template-columns:330px 1fr;gap:26px;align-items:start;padding-block:26px 48px}
@media (max-width:900px){.layout{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 64px)}
@media (max-width:900px){.panel{position:static}}
.panel h2{font-size:1.05rem;margin:0 0 4px}
.panel .hint{color:var(--muted);font-size:.82rem;margin:0 0 16px}
.toggles{display:flex;flex-direction:column;gap:9px}
.toggle{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;cursor:pointer}
.toggle input{margin-top:4px;accent-color:var(--blue)}
.results-head{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}
.crumb{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.results-head h2{font-size:1.45rem;margin:0}
.summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}
@media (max-width:560px){.summary{grid-template-columns:1fr}}
.summary > div{padding:14px 16px;border-right:1px solid var(--line)}
.summary > div:last-child{border-right:0}
@media (max-width:560px){.summary > div{border-right:0;border-bottom:1px solid var(--line)}.summary > div:last-child{border-bottom:0}}
.summary .k{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.summary .v{font-family:var(--mono);font-size:1.4rem;font-variant-numeric:tabular-nums;color:var(--navy)}
.summary .s{font-size:.78rem;color:var(--muted)}
.sendbox{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:14px 16px}
.sender{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;font-size:.9rem}
.sender.need{flex-direction:column;align-items:stretch}
.sender .row{display:flex;gap:8px}
.group{margin-bottom:26px}
.group h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:1.05rem;margin:0 0 10px}
.group h3 .step-l{font-family:var(--mono);font-size:.75rem;color:#fff;background:var(--navy);border-radius:4px;padding:1px 7px;letter-spacing:.05em}
.group h3 .why{font-weight:400;font-size:.85rem;color:var(--muted)}
.cards{display:flex;flex-direction:column;gap:10px}
details.card{background:var(--surface);border:1px solid var(--line);border-radius:8px}
details.card[open]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
details.card summary{list-style:none;cursor:pointer;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:start}
details.card summary::-webkit-details-marker{display:none}
.c-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;font-size:1rem;min-width:0;overflow-wrap:anywhere}
.c-sub{grid-column:1/2;color:var(--muted);font-size:.88rem;min-width:0;overflow-wrap:anywhere}
.c-fee{grid-row:1/3;grid-column:2;text-align:right;min-width:0;max-width:min(300px,45vw)}
.c-fee .amt{font-family:var(--mono);font-size:.95rem;font-variant-numeric:tabular-nums;color:var(--navy);font-weight:500;overflow-wrap:anywhere}
.c-fee .amt.short{white-space:nowrap}   /* short amounts like ₹2,800 stay on one line; long fee text wraps */
.c-fee .per{font-size:.75rem;color:var(--muted);max-width:26ch;margin-left:auto;overflow-wrap:anywhere}
/* Phones: the fee goes below the licence name instead of beside it */
@media (max-width:640px){
  details.card summary{grid-template-columns:minmax(0,1fr)}
  .c-fee{grid-row:auto;grid-column:1;text-align:left;max-width:none}
  .c-fee .per{max-width:none;margin-left:0}
}
.stampmark{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);border:1px solid var(--navy);border-radius:3px;padding:0 6px}
.pill{font-size:.72rem;font-weight:700;border-radius:999px;padding:2px 9px}
.pill.req{background:var(--green-soft);color:var(--green)}
.pill.cond{background:var(--amber-soft);color:var(--amber)}
.pill.opt{background:var(--grey-pill);color:var(--muted)}
.c-body{border-top:1px solid var(--line-2);padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
@media (max-width:640px){.c-body{grid-template-columns:1fr}}
.c-body .full{grid-column:1/-1}
.c-body h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 6px}
dl.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:.88rem}
dl.facts dt{color:var(--muted)}
dl.facts dd{margin:0}
ul.docs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:.88rem}
ul.docs label{display:flex;gap:8px;align-items:flex-start;cursor:pointer}
ul.docs input{margin-top:5px;accent-color:var(--green)}
.why-box{background:var(--amber-soft);border-radius:6px;padding:10px 12px;font-size:.88rem}
.verify{font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.verify .ok{color:var(--green);font-weight:600}
.verify .pending{color:var(--amber);font-weight:600}
.nofee{color:var(--amber);font-weight:600}
.fee-note{margin:6px 0 0}
.c-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.report{background:var(--bg);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px}
.report .row{display:flex;gap:8px;flex-wrap:wrap}
.report select{width:auto}
.empty{color:var(--muted);font-size:.9rem}

/* Tables */
.cover{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
table.cov{border-collapse:collapse;width:100%;min-width:780px;font-size:.87rem}
table.cov th,table.cov td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}
table.cov th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#fff;font-weight:600;background:var(--navy)}
table.cov tr:nth-child(even) td{background:#F8FAFC}
table.cov tr:last-child td{border-bottom:0}
table.cov td:first-child{font-weight:600}
table.cov .small{color:var(--muted);font-size:.8rem;display:block}

/* Licence directory */
.dir{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (max-width:760px){.dir{grid-template-columns:1fr}}
.lic{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.lic h3{font-size:1rem;margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lic p{margin:0;font-size:.88rem;color:var(--muted)}
.lic dl.facts{font-size:.85rem}
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.chip{font:inherit;font-size:.85rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 12px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}

/* Account */
.authbox{max-width:460px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px}
.tabs{display:flex;gap:4px;background:var(--bg);border-radius:8px;padding:4px;margin-bottom:16px}
.tab{flex:1;font:inherit;font-weight:600;font-size:.9rem;border:0;background:transparent;color:var(--muted);padding:8px;border-radius:6px;cursor:pointer}
.tab[aria-selected="true"]{background:var(--surface);color:var(--navy);box-shadow:0 1px 2px rgba(0,0,0,.1)}
#auth-body form,#pform{display:flex;flex-direction:column}
#auth-body .actions,#pform .actions,.pcard .actions{margin-top:4px}
.ph{font-size:1.02rem;margin:0 0 12px}
.pwrap{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;align-items:start}
@media (max-width:860px){.pwrap{grid-template-columns:1fr}}
.pform{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:560px){.pgrid{grid-template-columns:1fr}}
.side{display:flex;flex-direction:column;gap:16px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:12px}
.avatar{width:50px;height:50px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:1.1rem;font-weight:700}
.vbadge{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--green);background:var(--green-soft);border-radius:999px;padding:3px 10px}
.vbadge.no{color:var(--amber);background:var(--amber-soft)}
.phone-row{display:flex;gap:8px}
.phone-row .cc{flex:0 0 auto;display:grid;place-items:center;padding:0 12px;border:1px solid #B9C2CF;border-radius:6px;background:var(--bg);font-family:var(--mono);font-size:.9rem}
.phone-row input{flex:1;min-width:0;font-family:var(--mono);letter-spacing:.04em}
input.otp{font-family:var(--mono);font-size:1.35rem;letter-spacing:.5em;text-align:center}
.demo-code{background:var(--notice);border:1px dashed #E3B45C;color:var(--notice-ink);border-radius:6px;padding:10px 12px;font-size:.82rem}
.demo-code b{font-family:var(--mono);font-size:1rem;letter-spacing:.2em}
.returnbar{background:var(--green-soft);border:1px solid #BFE0C9;border-radius:8px;padding:12px 16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}

/* Prose pages (legal, about, FAQ) */
.prose-wrap{display:grid;grid-template-columns:230px 1fr;gap:30px;align-items:start;padding-block:28px 48px}
@media (max-width:860px){.prose-wrap{grid-template-columns:1fr}}
.toc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 64px);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;font-size:.85rem}
@media (max-width:860px){.toc{position:static}}
.toc h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}
.toc ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px}
.toc a{text-decoration:none}
.prose{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:26px 30px;max-width:78ch}
@media (max-width:560px){.prose{padding:20px}}
.prose h2{font-size:1.15rem;margin:26px 0 8px;padding-top:4px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1rem;margin:18px 0 6px}
.prose p,.prose li{font-size:.93rem}
.prose ul,.prose ol{padding-left:22px}
.prose table{border-collapse:collapse;width:100%;font-size:.87rem;margin:10px 0}
.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.prose th{background:var(--bg)}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:8px}
.faq summary{cursor:pointer;padding:14px 16px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";color:var(--blue);font-weight:700}
.faq details[open] summary::after{content:"−"}
.faq summary::-webkit-details-marker{display:none}
.faq .a{padding:0 16px 14px;color:var(--ink);font-size:.92rem}
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:start;padding-block:28px 48px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.copyrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:.9rem}

/* Footer */
footer.site{background:var(--navy);color:var(--navy-ink);font-size:.85rem;margin-top:0}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px;padding-block:34px 24px}
@media (max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer.site .cols{grid-template-columns:1fr}}
footer.site h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0 0 10px}
footer.site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
footer.site a{color:var(--navy-ink);text-decoration:none;display:inline-block;min-height:24px;padding-block:4px;line-height:1.3}
footer.site a:hover{color:#fff;text-decoration:underline}
footer.site p{margin:0 0 8px}
footer.site .base{border-top:1px solid #24497F;padding-block:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.8rem;color:#A9BBD6}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.quick p.note{color:var(--muted)}
.toc ol{list-style:none;padding-left:0}
.panel .two{grid-template-columns:1fr;gap:0}
.panel .two .field{margin-bottom:16px}
.panel .two[style]{margin-top:0!important}
/* Compact tiles */
.tiles{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.tile{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:6px}
.tile .t{font-size:.86rem;line-height:1.3}
.tile .m{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg);border-radius:4px;padding:1px 6px;white-space:nowrap;flex:0 0 auto}
.tile:hover{box-shadow:none;background:var(--blue-soft)}
#citycards .tile{flex-direction:column;align-items:flex-start;gap:0}
#citycards .tile .m{background:none;padding:0;text-transform:none;letter-spacing:0;font-size:.75rem;white-space:normal}
/* Business picker on home */
#biztiles{display:flex;flex-direction:column;gap:12px}
.bgroup{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:start}
@media (max-width:560px){.bgroup{grid-template-columns:1fr;gap:6px}}
.bg-h{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding-top:7px}
.bg-row{display:flex;flex-wrap:wrap;gap:8px}
.bpill{font-size:.86rem;font-weight:500;text-decoration:none;color:var(--navy);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px;white-space:nowrap}
.bpill:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark)}
.bpill.rv{white-space:normal;max-width:100%}
/* Social login buttons */
.social-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.sbtn{display:flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-weight:600;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid #B9C2CF;border-radius:6px;padding:11px 16px;cursor:pointer;width:100%}
.sbtn:hover{background:var(--bg);border-color:var(--navy)}
.sbtn:disabled{opacity:.6;cursor:wait}
.mast-r{flex-wrap:wrap}
.logout-top{padding:7px 14px}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem;margin:14px 0}
.or::before,.or::after{content:"";flex:1;border-top:1px solid var(--line)}
.auth-form{display:flex;flex-direction:column}
.auth-form .field{margin-bottom:12px}
.check-mail{background:var(--green-soft);border:1px solid #BFE0C9;border-radius:6px;padding:12px 14px;font-size:.9rem}
/* Share menu */
.sharemenu{position:absolute;z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px rgba(3,15,35,.18);padding:6px;display:flex;flex-direction:column}
.sm-h{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 10px}
.sm-i{display:flex;flex-direction:column;align-items:flex-start;gap:1px;font:inherit;font-size:.92rem;font-weight:600;color:var(--ink);text-decoration:none;background:none;border:0;border-radius:6px;padding:8px 10px;cursor:pointer;text-align:left}
.sm-i:hover,.sm-i:focus-visible{background:var(--blue-soft);color:var(--blue-dark)}
.sm-i small{font-weight:400;font-size:.75rem;color:var(--muted)}
.sm-t{padding:4px 10px}

/* ===================== v3: mobile + motion ===================== */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
html{scroll-behavior:smooth;scroll-padding-top:72px;-webkit-text-size-adjust:100%}
body{-webkit-tap-highlight-color:rgba(26,91,184,.12);overflow-x:hidden}
img,svg{max-width:100%}
/* grids: never let a long select or label push the page wider than the screen */
.layout,.contact-grid,.pwrap,.prose-wrap,.hero .wrap{grid-template-columns:minmax(0,1fr)}
@media (min-width:901px){.layout{grid-template-columns:330px minmax(0,1fr)}.hero .wrap{grid-template-columns:1.15fr 1fr}}
@media (min-width:861px){.contact-grid{grid-template-columns:1.3fr 1fr}.pwrap{grid-template-columns:1.4fr 1fr}.prose-wrap{grid-template-columns:230px minmax(0,1fr)}}
.layout>*,.contact-grid>*,.pwrap>*,.prose-wrap>*,.two>*,.pgrid>*{min-width:0}
select{max-width:100%;text-overflow:ellipsis}

/* smooth, consistent interactions */
.btn,.greet,.sbtn,.chip,.bpill,.tile,.tab,.mainnav a,.sm-i,.fsz button,.linkbtn,details.card,.lic,.step{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .2s ease,transform .18s ease}
.btn:active,.sbtn:active,.chip:active,.bpill:active,.tile:active,.greet:active,.tab:active{transform:scale(.97)}
select,input,textarea{transition:border-color .15s ease,box-shadow .15s ease}
select:focus,input:focus,textarea:focus{box-shadow:0 0 0 3px rgba(26,91,184,.16);outline:none}
@media (hover:hover){
  .tile:hover,.lic:hover,.step:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(11,42,85,.08)}
  .bpill:hover{transform:translateY(-1px)}
}

/* hamburger (mobile only) */
.menubtn{display:none;width:44px;height:44px;border:1px solid var(--line);background:var(--surface);border-radius:8px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0}
.menubtn span{display:block;width:18px;height:2px;background:var(--navy);border-radius:2px;transition:transform .25s ease,opacity .2s ease}
body.nav-open .menubtn span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.nav-open .menubtn span:nth-child(2){opacity:0}
body.nav-open .menubtn span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.drawer-h,.drawer-f,.navscrim{display:none}

@media (max-width:860px){
  /* compact sticky header: logo, login, menu on one row */
  .util{font-size:.72rem}
  .util .wrap{padding-block:5px;justify-content:center;text-align:center}
  .util .tools,.util-more{display:none}
  .mast{position:sticky;top:0;z-index:30;padding-top:env(safe-area-inset-top,0px);transition:box-shadow .2s ease}
  body.scrolled .mast{box-shadow:0 2px 12px rgba(11,42,85,.12)}
  .mast .wrap{flex-wrap:nowrap;padding-block:8px;gap:10px}
  .brand{gap:9px;min-width:0}
  .brand svg{width:36px;height:36px}
  .brand b{font-size:1.2rem}
  .brand small{display:none}
  .mast-r{flex-wrap:nowrap;gap:8px;flex:0 0 auto}
  .greet{padding:0 12px;height:44px;font-size:.85rem;max-width:40vw;overflow:hidden;white-space:nowrap}
  .lg-more,.logout-top{display:none!important}
  .menubtn{display:inline-flex}

  /* slide-in drawer */
  .mainnav{position:fixed;top:0;right:0;bottom:0;width:min(84vw,320px);z-index:60;background:var(--navy);transform:translateX(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);overflow-y:auto;overscroll-behavior:contain;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:-12px 0 32px rgba(3,15,35,.3);visibility:hidden}
  .mainnav.open{transform:none;visibility:visible}
  .mainnav .wrap{flex-direction:column;align-items:stretch;padding-inline:0;min-height:100%}
  .drawer-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px 20px;color:#fff;border-bottom:1px solid #24497F}
  .drawer-x{width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:1.1rem;cursor:pointer;border-radius:8px}
  .drawer-x:active{background:var(--navy-2)}
  .mainnav ul{flex-direction:column;display:flex;padding:8px 0}
  .mainnav li{opacity:0;transform:translateX(16px);transition:opacity .25s ease,transform .3s ease}
  .mainnav.open li{opacity:1;transform:none}
  .mainnav.open li:nth-child(2){transition-delay:.03s}.mainnav.open li:nth-child(3){transition-delay:.06s}.mainnav.open li:nth-child(4){transition-delay:.09s}.mainnav.open li:nth-child(5){transition-delay:.12s}.mainnav.open li:nth-child(6){transition-delay:.15s}.mainnav.open li:nth-child(7){transition-delay:.18s}
  .mainnav a{border-bottom:0;border-left:3px solid transparent;padding:14px 20px;font-size:1rem}
  .mainnav a[aria-current="page"]{border-left-color:#FFB547}
  .drawer-f{display:flex;flex-direction:column;gap:8px;padding:16px 20px 24px;margin-top:auto;border-top:1px solid #24497F}
  .drawer-f .btn{width:100%;height:46px}
  .navscrim{display:block;position:fixed;inset:0;z-index:55;background:rgba(3,15,35,.45);opacity:0;transition:opacity .25s ease}
  .navscrim.on{opacity:1}
  body.nav-open{overflow:hidden}

  .toc,.panel{top:calc(env(safe-area-inset-top,0px) + 70px)}
}

@media (max-width:640px){
  body{font-size:.97rem}
  .wrap{padding-inline:16px}
  /* 16px inputs stop iPhone zooming in when a field is tapped */
  select,input[type=text],input[type=email],input[type=password],input[type=tel],textarea{font-size:16px;padding:11px 12px;min-height:46px}
  .btn{min-height:44px;padding:10px 16px}
  .btn.big{min-height:50px}
  .chip{padding:9px 14px}
  .bpill{padding:9px 14px}
  .toggle{padding:4px 0}
  .toggle input,ul.docs input{width:20px;height:20px;margin-top:2px;flex:0 0 auto}
  .section{padding-block:28px}
  .pagehead .wrap{padding-block:18px 16px}
  .hero .wrap{padding-block:24px 28px;gap:22px}
  .quick{padding:18px}
  .quick .btn{width:100%}
  .cta{flex-direction:column;align-items:stretch;text-align:left}
  .cta .btn{width:100%}
  .sendbox .actions .btn{flex:1 1 140px}
  .c-foot .btn,.c-foot .linkbtn{min-height:40px}
  details.card summary{padding:14px}
  .c-body{padding:14px}
  .box,.pform,.pcard,.authbox,.panel{padding:16px}
  .authbox{max-width:none}
  .summary .v{font-size:1.25rem}
  footer.site .cols{padding-block:28px 18px;gap:20px}
  footer.site ul{gap:10px}
  /* share menu becomes a bottom sheet */
  .sharemenu{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:auto!important;border-radius:16px 16px 0 0;padding:8px 8px calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 0 0 100vmax rgba(3,15,35,.45);animation:sheetUp .28s cubic-bezier(.2,.8,.2,1);max-height:80vh;overflow-y:auto}
  .sharemenu::before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:var(--line);margin:4px auto 6px}
  .sm-i{padding:12px 14px;font-size:1rem}
}
/* tables: show there is more to scroll sideways */
.cover{-webkit-overflow-scrolling:touch;background:linear-gradient(90deg,var(--surface) 30%,rgba(255,255,255,0)) left/40px 100% no-repeat local,linear-gradient(270deg,var(--surface) 30%,rgba(255,255,255,0)) right/40px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(11,42,85,.18),transparent) left/12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(11,42,85,.18),transparent) right/12px 100% no-repeat scroll,var(--surface)}
table.cov tr:nth-child(even) td{background:rgba(243,245,248,.6)}
.swipe-hint{display:none;font-size:.78rem;color:var(--muted);margin:0 0 8px}
@media (max-width:860px){.swipe-hint{display:block}}

/* checklist: floating summary bar on phones */
.mbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:25;display:none;align-items:center;justify-content:space-between;gap:12px;background:var(--navy);color:#fff;border-radius:12px;padding:10px 10px 10px 16px;box-shadow:0 10px 28px rgba(3,15,35,.35);transform:translateY(140%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.mbar.show{transform:none}
.mbar .mt{font-size:.85rem;line-height:1.3}
.mbar .mt b{font-family:var(--mono);font-size:1rem}
.mbar .btn{background:#fff;color:var(--navy);border-color:#fff;min-height:40px}
@media (max-width:900px){.mbar{display:flex}}

/* details open animation */
details.card[open] .c-body,.faq details[open] .a{animation:openDown .28s ease both}
.faq summary::after{transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(180deg)}

/* no scroll reveals: content is visible without JS or animation */
.js-motion .hero h1,.js-motion .hero .wrap>div>p,.js-motion .hero .facts-row,.js-motion .quick{animation:rise .7s cubic-bezier(.2,.8,.2,1) both}
.js-motion .hero .wrap>div>p{animation-delay:.08s}
.js-motion .hero .facts-row{animation-delay:.16s}
.js-motion .quick{animation-delay:.2s}
.fresh{animation:rise .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0s)}
.bump{animation:bump .4s ease}
.hero{position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-200px;border-radius:50%;background:radial-gradient(closest-side,rgba(90,150,235,.22),transparent);pointer-events:none;animation:drift 14s ease-in-out infinite alternate}
.hero .wrap{position:relative;z-index:1}

@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes openDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(-60px,50px)}}
.sharemenu{animation:pop .18s ease both;transform-origin:top left}
@keyframes pop{from{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:none}}
@media (max-width:640px){.sharemenu{animation:sheetUp .28s cubic-bezier(.2,.8,.2,1)}}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .js-motion .rv{opacity:1;transform:none}
  .hero::after{animation:none}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}
}
dl.facts{grid-template-columns:auto minmax(0,1fr)}
dl.facts dd{overflow-wrap:anywhere;min-width:0}
.copyrow{flex-wrap:wrap;overflow-wrap:anywhere}
@media (max-width:420px){dl.facts{grid-template-columns:1fr;gap:0}dl.facts dt{font-size:.75rem;margin-top:8px}dl.facts dt:first-child{margin-top:0}}
.drawer-f .btn{display:flex;justify-content:center;align-items:center;color:var(--blue);padding:10px 16px;border:1px solid #fff}
/* tables on phones: up to 4 columns become one card per row (label in bold, value below); 5 or more columns (fees by city) stay a table in a scroll box with a swipe hint and a fixed first column */
@media (max-width:640px){
  .swipe-hint{display:none}
  .swipe-hint:has(+ .cover th:nth-child(5)){display:block}
  .cover:not(:has(th:nth-child(5))){overflow:visible;border:0;background:none}
  table.cov:not(:has(th:nth-child(5))){min-width:0!important;display:block}
  table.cov:not(:has(th:nth-child(5))) thead{display:none}
  table.cov:not(:has(th:nth-child(5))) tbody{display:flex;flex-direction:column;gap:10px}
  table.cov:not(:has(th:nth-child(5))) tr{display:block;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
  table.cov:not(:has(th:nth-child(5))) td{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:10px;padding:10px 14px;border-bottom:1px solid var(--line-2);background:none!important;white-space:normal!important;min-width:0!important}
  table.cov:not(:has(th:nth-child(5))) td::before{content:attr(data-label);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-top:2px}
  table.cov:not(:has(th:nth-child(5))) td:first-child{display:block;background:var(--navy)!important;color:#fff;font-size:1rem;padding:11px 14px}
  table.cov:not(:has(th:nth-child(5))) td:first-child::before{display:none}
  table.cov:not(:has(th:nth-child(5))) td:last-child{border-bottom:0}
  table.cov:not(:has(th:nth-child(5))).ctx td,table.cov:not(:has(th:nth-child(5))).ctx td:first-child{display:block;background:none!important;color:var(--ink);font-size:.95rem;font-weight:400;padding:12px 14px}
  table.cov:not(:has(th:nth-child(5))).ctx td::before,table.cov:not(:has(th:nth-child(5))).ctx td:first-child::before{display:block;content:attr(data-label);font-size:.8rem;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ink);padding:0 0 4px}
  table.cov:has(th:nth-child(5)){min-width:720px}
  table.cov.ptab:not(:has(th:nth-child(5))) tr:has(>th){display:none}
}
/* every content table: sensible columns, text wraps, nothing clipped (the first column used to be nowrap and took the whole width) */
table.cov th,table.cov td{min-width:120px}
table.cov th{white-space:normal}
table.cov:not(:has(th:nth-child(3))){min-width:0}
table.cov:not(:has(th:nth-child(3))) th:first-child{width:45%}
table.cov:not(:has(th:nth-child(3))) th:last-child{width:55%}
@media (min-width:641px){table.gtab:not(:has(th:nth-child(3))){min-width:0}}
@media (max-width:860px){.swipe-hint:not(:has(+ .cover th:nth-child(3))){display:none}}
table.cov:has(th:nth-child(5)) td:first-child,table.cov:has(th:nth-child(5)) th:first-child{position:sticky;left:0;z-index:2;white-space:nowrap}
table.cov:has(th:nth-child(5)) td:first-child{background:var(--surface)}
table.cov:has(th:nth-child(5)) tr:nth-child(even) td:first-child{background:#F8FAFC}
table.cov:has(th:nth-child(5)) th:first-child{background:var(--navy)}
@media (max-width:640px){table.cov td > *{grid-column:2}}
.greet{gap:0}
@media (max-width:640px){
  .auth-form .actions,#pform .actions{flex-direction:column;align-items:stretch;gap:12px}
  .auth-form .actions .btn,#pform .actions .btn{width:100%}
  .auth-form .actions .linkbtn{align-self:center;padding:6px}
}
/* Guide landing pages */
.gsum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.gsum>div{padding:16px 18px;border-right:1px solid var(--line)}
.gsum>div:last-child{border-right:0}
.gsum .k{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.gsum .v{font-family:var(--mono);font-size:1.5rem;color:var(--navy);font-variant-numeric:tabular-nums}
.gsum .v.sm{font-family:var(--sans);font-size:.98rem;font-weight:600;line-height:1.35;margin-top:4px}
.gsum .s{font-size:.78rem;color:var(--muted)}
@media (max-width:640px){.gsum{grid-template-columns:1fr 1fr}.gsum>div:nth-child(2){border-right:0}.gsum>div:last-child{grid-column:1/-1;border-top:1px solid var(--line)}}
.gcols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
@media (max-width:860px){.gcols{grid-template-columns:minmax(0,1fr)}}
.gsteps{padding-left:20px;display:flex;flex-direction:column;gap:10px}
.gsteps .hint2{display:block}
.gdocs,.gother{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.gdocs li,.gother li{font-size:.92rem}
@media (min-width:641px){table.gtab{min-width:720px}}
.greet{display:inline-block}
@media (max-width:860px){.greet{display:inline-flex}}
@media (max-width:640px){table.cov td{overflow-wrap:anywhere}}
.box.pick{border-style:dashed;text-align:center;padding:28px 20px}
.box.pick p{margin:0 0 6px}
#q-msg{margin:-4px 0 10px}
select:invalid,select option[value=""]{color:var(--muted)}
/* Personal documents */
.dgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:860px){.dgrid{grid-template-columns:minmax(0,1fr)}}
.dside{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px}
table.dfees{min-width:0}
table.dfees td.fee{font-family:var(--mono);color:var(--navy);font-weight:500;overflow-wrap:break-word}
@media (max-width:640px){table.dfees td{grid-template-columns:minmax(0,1fr)}table.dfees td::before{display:none}table.dfees td:first-child{background:var(--bg)!important;color:var(--ink);font-size:.92rem;font-weight:600}}
.dcard{text-decoration:none;color:var(--ink)}
.dcard h3{color:var(--navy)}
.dfee{align-self:flex-start;font-family:var(--mono);font-size:.85rem;background:var(--blue-soft);color:var(--navy);border-radius:4px;padding:2px 8px}
.dcard:hover{border-color:var(--blue)}
.dside .btn{white-space:normal;text-align:center;line-height:1.3}
@media (max-width:640px){table.dfees td.fee{white-space:normal}}
/* Hero switch */
.qtabs{margin:0 0 16px}
.qtabs .tab{font-size:.88rem;padding:9px 6px}
.quick form h2{font-size:1.1rem;margin:0 0 14px}
.quick > form{display:block}
@media (max-width:420px){.tl-more{display:none}}
/* Personal documents: state picker, share, checklist */
.spick{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2)}
.spick label{display:block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
.spick-out{margin-top:10px;background:var(--blue-soft);border-radius:8px;padding:12px 14px;animation:rise .3s ease both}
.spick-out .k{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.spick-out .v{font-weight:700;color:var(--navy);margin:2px 0 4px}
.spick-out .s{font-size:.8rem;color:var(--muted);margin-top:4px}
.spick-out a{font-size:.88rem;font-weight:600}
.dshare{margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2)}
.dshare .hint2{margin:8px 0 0}
.dchk{margin-top:10px}
.dchk li{font-size:.92rem}
table.stab tr.hl td{background:#FFF7E6!important}
table.stab tr.hl td:first-child{box-shadow:inset 4px 0 0 var(--saffron)}
.rowv{display:flex;margin-top:4px;font-size:.75rem}
@media (max-width:640px){table.stab tr.hl{outline:2px solid var(--saffron)}table.stab tr.hl td:first-child{box-shadow:none}}
/* Vehicle transfer calculator */
.tgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:start}
.tgrid .tside{grid-column:2;grid-row:1}
.tgrid .tres{grid-column:2;grid-row:1}
.tgrid .tres:not([hidden]) ~ .tside{display:none}
@media (max-width:900px){.tgrid{grid-template-columns:minmax(0,1fr)}.tgrid .tside,.tgrid .tres{grid-column:1;grid-row:auto}}
.tform h2{font-size:1.15rem;margin:0 0 14px}
.tform .field > label,.tform .lbl{text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--ink)}
.tpick{display:flex;gap:10px}
.tpick label{flex:1;cursor:pointer}
.tpick input{position:absolute;opacity:0;pointer-events:none}
.tpick span{display:block;text-align:center;border:1.5px solid #B9C2CF;border-radius:8px;padding:11px;font-weight:600;background:var(--surface);transition:all .15s ease}
.tpick input:checked + span{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark)}
.tpick input:focus-visible + span{outline:3px solid var(--saffron);outline-offset:2px}
.tres{background:var(--surface);border:2px solid var(--blue);border-radius:12px;padding:20px;animation:rise .35s ease both}
.tr-big .k{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tr-big .v{font-size:2rem;font-weight:700;color:var(--navy);line-height:1.2;margin:4px 0 6px}
.tr-big .s{font-size:.95rem}
.sure{display:inline-block;margin-top:10px;font-size:.82rem;font-weight:600;border-radius:6px;padding:4px 10px}
.sure-high{background:var(--green-soft);color:var(--green)}
.sure-medium{background:var(--blue-soft);color:var(--blue-dark)}
.sure-low{background:var(--amber-soft);color:var(--amber)}
.tr-tab{width:100%;border-collapse:collapse;margin-top:16px;font-size:.92rem}
.tr-tab td{padding:10px 0;border-bottom:1px solid var(--line-2);vertical-align:top}
.tr-tab td:last-child{text-align:right;white-space:nowrap;padding-left:12px;font-family:var(--mono);color:var(--navy)}
.tr-tab td span{display:block;font-size:.82rem;color:var(--muted);margin-top:2px}
.tr-tab tr.tot td{border-bottom:0;font-size:1.02rem;padding-top:12px}
.tr-ref{margin-top:14px;background:var(--green-soft);border-radius:8px;padding:12px 14px;font-size:.9rem}
.tsteps{list-style:none;counter-reset:ts;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.tsteps li{counter-increment:ts;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 16px 16px 58px;position:relative}
.tsteps li::before{content:counter(ts);position:absolute;left:16px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700}
.tsteps strong{display:block;margin-bottom:4px}
.tsteps span{display:block;font-size:.9rem;color:var(--ink)}
.tsteps em{display:inline-block;margin-top:8px;font-style:normal;font-size:.78rem;color:var(--muted);background:var(--bg);border-radius:4px;padding:1px 8px}
.twords{margin:10px 0 0;display:flex;flex-direction:column;gap:10px}
.twords dt{font-weight:700;color:var(--navy)}
.twords dd{margin:0;font-size:.92rem}
.tr-warn{margin-top:12px;background:#FDECEA;border-left:4px solid var(--red);border-radius:6px;padding:10px 12px;font-size:.9rem}
.tpick2 span{font-size:.9rem;padding:10px 8px;line-height:1.3;height:100%}
.tpick2 label{display:flex}
.tpick2 label span{flex:1;display:flex;align-items:center;justify-content:center}
/* Cleaner mode toggle on the vehicle transfer calculator */
.tpick2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tpick2 label{display:block}
.tpick2 label span{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;height:100%;text-align:left;padding:12px 14px;min-height:64px}
.tpick2 b{font-size:.95rem}
.tpick2 small{font-weight:400;font-size:.8rem;color:var(--muted)}
.tpick2 input:checked + span small{color:var(--blue-dark)}
.tpick input:focus-visible + span{outline:2px solid var(--blue);outline-offset:2px}
.tpick input:checked + span{box-shadow:inset 0 0 0 1px var(--blue)}
@media (max-width:380px){.tpick2{grid-template-columns:1fr}}
/* Select all / Clear all bar above document lists */
.doctools{display:flex;align-items:center;gap:8px;margin:6px 0 8px;font-size:.85rem;color:var(--muted)}
.doctools .linkbtn{font-size:.85rem;font-weight:600;text-decoration:none}
.doctools .linkbtn:hover{text-decoration:underline}
.doctools .dcount{margin-left:auto;font-size:.8rem;color:var(--green);font-weight:600}
.ucol{columns:2 280px;column-gap:28px}
.ucol li{break-inside:avoid;margin-bottom:6px}

/* Long words, URLs and codes wrap instead of widening the page */
p,li,dd,dt,td,th,h1,h2,h3,h4,summary,.a,.note,.lead{overflow-wrap:break-word}
img,svg,video,iframe{max-width:100%}

/* Free formats */
.fmt-wrap{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:960px){.fmt-wrap{grid-template-columns:1fr}}
.fmt-form{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}
.fmt-formhead{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:1rem;color:var(--navy)}
.fmt-form .fp,.fmt-form .fl{border:1px solid var(--line-2);border-radius:10px;padding:10px 12px 12px;margin:0;min-width:0;background:#FAFBFD}
.fmt-form legend{font-weight:700;font-size:.84rem;color:var(--navy);padding:0 6px}
.fmt-form .fh{font-size:.9rem;margin:6px 0 0;color:var(--navy)}
.fmt-form .ff{margin:8px 0 0}
.fmt-form .ff label{display:block;font-size:.8rem;font-weight:600;color:var(--navy);margin-bottom:3px}
.fmt-form .req{color:#B42318;font-weight:700}
.fmt-form input[type=text],.fmt-form input[type=number],.fmt-form input[type=date],.fmt-form select,.fmt-form textarea{width:100%;font:inherit;font-size:.92rem;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);min-height:42px}
.fmt-form textarea{resize:vertical;min-height:62px}
.fmt-form ::placeholder{color:#9AA5B4;opacity:1;font-style:italic}
.fmt-form select:invalid,.fmt-form select:has(option[value=""]:checked){color:#5B6677}
.fmt-form select option{color:var(--ink)}
.fmt-form .words{display:block;font-size:.78rem;color:var(--green);font-weight:600;margin-top:3px;min-height:1em}
.fmt-form .fl-item{border-top:1px dashed var(--line);margin-top:8px;padding-top:4px}
.fmt-form .fl-item:first-child{border-top:0;margin-top:0}
.fmt-form .fl-h{display:flex;justify-content:space-between;align-items:center;font-size:.84rem;color:var(--navy)}
.fmt-form .fl-add{margin-top:10px;width:100%}
.fmt-form .chk{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;margin-top:10px;font-weight:500;color:var(--ink)}
.fmt-form .chk input{margin-top:3px;width:18px;height:18px;flex:none}
.fmt-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.fmt-msg{font-size:.85rem;color:var(--green);font-weight:600}
.fmt-prev{margin:0 0 8px}
.fmt-sheet{background:#fff;color:#111;border:1px solid var(--line);border-radius:6px;padding:28px 26px;font-family:"Times New Roman","Liberation Serif","Noto Serif",Georgia,serif;font-size:1.02rem;line-height:1.6;overflow-wrap:anywhere;box-shadow:0 1px 8px rgba(11,42,85,.06)}
.fmt-sheet.gap{padding-top:70px;background-image:linear-gradient(to bottom,#F3F5F8 0,#F3F5F8 44px,transparent 44px)}
.fmt-sheet p{margin:0 0 .75em}
.fmt-sheet .h1{text-align:center;font-weight:700;font-size:1.2em;letter-spacing:.02em;margin-bottom:.9em;text-decoration:underline;text-underline-offset:3px}
.fmt-sheet .h2{font-weight:700}
.fmt-sheet .ct{text-align:center}
.fmt-sheet .cl{padding-left:1.7em;text-indent:-1.7em}
.fmt-sheet .cl2{padding-left:2.6em;text-indent:-1.4em}
.fmt-sheet .sg{margin-bottom:1.1em}
.fmt-sheet .fv{white-space:pre-line}
.fmt-sheet .fv.on{font-weight:600}
.fmt-sheet .fv.empty{background:#FFF3B0;border-radius:2px;color:#6B5A00}
.fmt-sheet .fb{background:#FFF3B0;border-radius:2px;color:#6B5A00;cursor:text;display:inline-block;min-width:3.2ch;padding:0 2px;outline:0;white-space:pre-wrap}
.fmt-sheet .fb[data-kind=select],.fmt-sheet .fb[data-kind=date]{cursor:pointer}
.fmt-sheet .fb:hover{background:#FFE98A}
.fmt-sheet .fb:focus,.fmt-sheet .fb.typing{background:#FFE98A;box-shadow:0 0 0 2px #E0A800;color:#111}
.fmt-sheet .fb.typing:empty::before{content:"________";color:#6B5A00;opacity:.55}
.fmt-sheet .fb.pulse{animation:fbpulse 1.8s ease-in-out infinite}
@keyframes fbpulse{0%,100%{box-shadow:0 0 0 0 rgba(224,168,0,0)}50%{box-shadow:0 0 0 4px rgba(224,168,0,.45)}}
.fmt-sheet .fv.on{cursor:pointer}
.fmt-sheet .fv.on:hover{background:#F4F7FB}
.fmt-form .ff.hl{animation:ffhl 1.5s ease-out}
@keyframes ffhl{0%{box-shadow:0 0 0 3px #FFC83D;background:#FFF3B0}100%{box-shadow:0 0 0 3px rgba(255,200,61,0);background:transparent}}
.fmt-edithint{margin:0 0 6px;font-weight:600;color:var(--navy)}
.fb-pop{position:fixed;z-index:60;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(15,30,60,.22);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:170px;max-width:calc(100vw - 16px);font-family:system-ui,sans-serif}
.fb-pop button{font:inherit;font-size:.92rem;text-align:left;padding:9px 12px;border:0;background:transparent;border-radius:7px;cursor:pointer;color:var(--ink)}
.fb-pop button:hover,.fb-pop button:focus-visible{background:#EEF3FB;outline:0}
.fb-pop input{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:7px}
.fmt-viewdoc{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:55;box-shadow:0 6px 20px rgba(15,30,60,.3)}
.fmt-viewdoc[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.fmt-sheet .fb.pulse,.fmt-form .ff.hl{animation:none}.fmt-form .ff.hl{background:#FFF3B0}}
.fmt-sheet p:has(> .cx[hidden]:only-child){display:none}
.stamp-card{margin-top:18px;background:var(--saffron-soft);border:1px solid #F0D5A8;border-left:6px solid #FFB547;border-radius:10px;padding:14px 18px}
.stamp-card h2{margin:0 0 6px;font-size:1.1rem}
.stamp-card p{font-size:.92rem;margin:0 0 8px}
.legal-box{border-left-color:#B42318!important;background:#FFF1EE!important;color:#5B1A12!important}
#fmt-printcopy{display:none}
@media print{
  html.fmt-printing body > *:not(#fmt-printcopy){display:none!important}
  html.fmt-printing #fmt-printcopy{display:block!important;position:static;border:0;box-shadow:none;border-radius:0;padding:0;margin:0;background:#fff!important;font-size:12pt;line-height:1.5;color:#000;max-width:none}
  html.fmt-printing #fmt-printcopy.gap{padding-top:55mm;background-image:none}
  html.fmt-printing #fmt-printcopy .fv,html.fmt-printing #fmt-printcopy .fv.empty,html.fmt-printing #fmt-printcopy .fv.on,html.fmt-printing #fmt-printcopy .fb{background:none!important;color:#000!important;font-weight:400;box-shadow:none!important;animation:none!important;padding:0;min-width:0}
  html.fmt-printing #fmt-printcopy p{orphans:3;widows:3}
  html.fmt-printing #fmt-printcopy .sg{break-inside:avoid}
}
#after-you-apply h3{font-size:1rem;color:var(--navy);margin-bottom:6px}

/* Renewal reminders: My licences */
.rm-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 4px}
.rm-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.rm-form{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px;max-width:640px}
.rm-form .field{margin:0}
.rm-form input[type=text],.rm-form input[type=date],.rm-form select{width:100%;font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.rm-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.rm-dates{grid-template-columns:1fr}}
.rm-check label{display:flex;gap:8px;align-items:flex-start;font-weight:500}
.rm-check input{margin-top:4px}
.rm-group{margin:0 0 22px}
.rm-group>h2{font-size:1.1rem;color:var(--navy);margin-bottom:8px}
.rm-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px}
.rm-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:flex-start}
.rm-top h3{font-size:1rem;margin:0;color:var(--ink)}
.rm-meta,.rm-exp,.rm-fee{margin:6px 0 0;font-size:.9rem;overflow-wrap:anywhere}
.rm-chip{font-size:.78rem;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap}
.rm-chip.ok{background:var(--green-soft);color:var(--green)}
.rm-chip.warn{background:var(--amber-soft);color:var(--amber)}
.rm-chip.bad{background:#FDECEA;color:var(--red)}
.rm-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.rm-empty{background:var(--blue-soft);border-radius:10px;padding:18px}

/* My licences: simple form, searchable picker, quick dates, colour coded cards */
.rm-combo{position:relative}
.rm-combo input{width:100%}
#rm-listbox{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:min(50vh,320px);overflow:auto;margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(11,42,85,.15)}
#rm-listbox li{padding:10px 12px;font-size:.95rem;cursor:pointer}
#rm-listbox li[role=option][aria-selected=true],#rm-listbox li[role=option]:hover{background:var(--blue-soft)}
#rm-listbox li.rm-head{cursor:default;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 12px 4px}
#rm-listbox li.rm-custom{border-top:1px solid var(--line-2);color:var(--navy);font-weight:600}
.rm-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rm-quick:empty{display:none}
.rm-quick button{font:inherit;font-size:.9rem;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid var(--blue);background:var(--blue-soft);color:var(--blue-dark);cursor:pointer}
.rm-quick button:hover{background:#DCE8F8}
.rm-morebtn{align-self:flex-start;font-size:.9rem}
.rm-more{display:flex;flex-direction:column;gap:12px;border-left:3px solid var(--line);padding-left:12px}
.rm-note{margin:-4px 0 0;color:var(--muted)}
.rm-card{border-left-width:5px}
.rm-card.t-bad{border-left-color:var(--red)}
.rm-card.t-warn{border-left-color:#E0A100}
.rm-card.t-ok{border-left-color:var(--green)}
.rm-chip{font-size:.85rem}
.rm-new{box-shadow:0 0 0 3px rgba(26,91,184,.25)}

/* Header menus: name menu and notification bell */
.ugrp{position:relative;display:inline-flex}
.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--navy);cursor:pointer}
.bell:hover{background:var(--blue-soft)}
.bell[hidden]{display:none}
.bell-n{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-sizing:border-box}
.greet[data-menu="1"]::after{content:"";width:7px;height:7px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.dd{position:absolute;right:0;top:calc(100% + 6px);z-index:70;width:min(340px,92vw);background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(11,42,85,.18);overflow:hidden}
.dd[hidden]{display:none}
.umenu{width:220px}
.umenu a,.umenu button{display:block;width:100%;text-align:left;padding:12px 16px;font:inherit;font-size:.95rem;color:var(--ink);text-decoration:none;background:none;border:0;border-bottom:1px solid var(--line-2);cursor:pointer}
.umenu a[hidden]{display:none}
.umenu a:hover,.umenu button:hover{background:var(--blue-soft)}
.umenu button{border-bottom:0;color:var(--red)}
.dd-h{padding:10px 16px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line-2)}
.dd-empty,.dd-more{margin:0;padding:12px 16px;font-size:.9rem;color:var(--muted)}
.dd-list{list-style:none;margin:0;padding:0;max-height:55vh;overflow:auto}
.dd-i a{display:block;padding:11px 16px 11px 20px;font-size:.9rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2);border-left:4px solid transparent}
.dd-i a:hover{background:var(--blue-soft)}
.dd-i.bad a{border-left-color:var(--red)}
.dd-i.warn a{border-left-color:#E0A100}
.dd-i.ok a{border-left-color:var(--green)}
.dd-i.new a{background:#F6F9FE;font-weight:600}
.dd-i a strong{color:var(--blue-dark);white-space:nowrap}
.dd-foot{display:block;padding:12px 16px;font-weight:700;font-size:.9rem;color:var(--blue-dark);text-decoration:none;background:var(--blue-soft)}
@media (max-width:860px){
  .dd{position:fixed;left:12px;right:12px;width:auto;top:72px}
  .umenu{left:auto;width:220px}
  .bell{width:44px;height:44px}
}
/* Account page: My reminders */
.rem-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:10px}
.rem-i{border:1px solid var(--line);border-left-width:5px;border-radius:8px;padding:10px 12px;background:#fff}
.rem-i.t-bad{border-left-color:var(--red)}
.rem-i.t-warn{border-left-color:#E0A100}
.rem-i.t-ok{border-left-color:var(--green)}
.rem-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:flex-start}
.rem-meta,.rem-mail{margin-top:4px;font-size:.88rem;color:var(--muted);overflow-wrap:anywhere}
@media (max-width:860px){
  /* on a phone the reminders card comes first, above the profile form */
  .side{display:contents}
  .side>.pcard{order:2}
  .side>#l-card{order:-1}
  .side>#l-card[hidden]{display:none}
}
.stamp{color:var(--muted);font-size:.8rem}
.gother .stamp,.gdocs .stamp{display:block}
.stamp a{color:inherit;text-decoration:underline}

/* ---------- Logged-in experience: login, onboarding, dashboard, settings ---------- */
.hg-line{display:block;font-size:.8rem;color:var(--muted);font-style:italic;margin-top:2px;line-height:1.35}
.login-wrap{display:grid;grid-template-columns:1fr;gap:20px;max-width:880px}
@media (min-width:860px){.login-wrap{grid-template-columns:1fr 1fr;align-items:start}}
.benefits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.benefits li{display:flex;gap:12px;align-items:flex-start}
.benefits .ic{flex:none;width:40px;height:40px;border-radius:10px;background:var(--blue-soft);color:var(--blue-dark);display:flex;align-items:center;justify-content:center}
.benefits strong{display:block;color:var(--navy)}
.benefits span.t{font-size:.92rem;color:var(--muted)}
.free-line{font-weight:600;color:var(--green);margin:14px 0 0}
.login-card{max-width:none}
.login-card .sbtn.primary{background:var(--navy);color:#fff;border-color:var(--navy);min-height:48px}
.login-card .sbtn.primary:hover{background:var(--navy-2)}
.login-card details{margin-top:14px;border-top:1px solid var(--line-2);padding-top:12px}
.login-card summary{cursor:pointer;color:var(--blue-dark);font-weight:600;font-size:.92rem;min-height:36px;display:flex;align-items:center}
.mlink{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.mlink input{width:100%;font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:8px}
.privline{font-size:.85rem;color:var(--muted);margin-top:14px}
.set-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}
.set-card h2{font-size:1.05rem;color:var(--navy);margin:0}
.set-card input[type=text],.set-card input[type=email],.set-card input[type=tel]{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px}
.set-card input[readonly]{background:var(--bg);color:var(--muted)}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;min-height:40px}
.chk input{margin-top:5px;width:18px;height:18px;flex:none}
.set-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.set-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line-2)}
.set-list li:first-child{border-top:0}
.danger{border-color:#F1C5C0}
.danger h2{color:var(--red)}
.btn.red{background:var(--red);border-color:var(--red);color:#fff}
.btn.red:disabled{opacity:.5}
.setup-banner{background:var(--blue-soft);border:1px solid #C9DAF3;border-radius:10px;padding:14px 16px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
/* onboarding */
.ob{max-width:640px;margin:0 auto}
.ob-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.ob-dots{display:flex;gap:6px}
.ob-dots i{width:28px;height:6px;border-radius:3px;background:var(--line)}
.ob-dots i.on{background:var(--blue)}
.ob-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:14px}
.ob-card h2{font-size:1.2rem;color:var(--navy);margin:0}
.ob-card input[type=text],.ob-card select,.ob-card input[type=date]{width:100%;font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.ob-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ob-lic{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}
.ob-lic h3{font-size:1rem;margin:0;color:var(--ink)}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg button{font:inherit;font-size:.9rem;font-weight:600;padding:9px 12px;min-height:40px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.ob-date{display:flex;flex-direction:column;gap:8px}
.score{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:14px}
.ring{--p:0;width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--p)*1%),var(--line-2) 0);display:flex;align-items:center;justify-content:center;flex:none}
.ring b{width:50px;height:50px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:.95rem;color:var(--navy)}
.score h2{font-size:1.05rem;margin:0;color:var(--navy)}
.score p{margin:2px 0 0;color:var(--muted);font-size:.9rem}
.dtop{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.dtop h2{font-size:1.25rem;margin:0;color:var(--navy)}
.dtop .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dtop select{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;min-height:42px;max-width:100%}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{font:inherit;font-size:.85rem;font-weight:600;padding:7px 12px;min-height:36px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-dark)}
.stat4{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
@media (min-width:700px){.stat4{grid-template-columns:repeat(4,1fr)}}
.stat{font:inherit;text-align:left;border:1px solid var(--line);border-left-width:5px;border-radius:10px;background:var(--surface);padding:12px;cursor:pointer;min-height:76px;color:var(--ink)}
.stat .n{font-size:1.6rem;font-weight:700;font-family:var(--mono);display:block}
.stat .l{font-size:.82rem;color:var(--muted);display:block}
.stat.s-bad{border-left-color:var(--red)}.stat.s-bad .n{color:var(--red)}
.stat.s-warn{border-left-color:#E0A100}.stat.s-warn .n{color:var(--amber)}
.stat.s-ok{border-left-color:var(--green)}.stat.s-ok .n{color:var(--green)}
.stat.s-grey{border-left-color:#8A94A3}
.stat[aria-pressed="true"]{outline:2px solid var(--blue);outline-offset:1px}
.rm-chip.grey{background:var(--grey-pill);color:var(--muted)}
.rm-card.t-grey{border-left-color:#8A94A3}
.rm-card.t-ok{border-left-color:var(--green)}
.renew-box{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:10px;background:var(--blue-soft);border-radius:8px}
.renew-box input[type=date]{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:8px;width:100%}
.tl{list-style:none;margin:0;padding:0}
.tl li{display:flex;gap:12px;padding:8px 0;border-top:1px solid var(--line-2);align-items:baseline}
.tl li:first-child{border-top:0}
.tl .d{flex:none;width:64px;font-weight:700;color:var(--navy)}
.tl .m{font-weight:700;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin:12px 0 2px}
.quick-add{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.quick-add .btn{justify-content:flex-start;text-align:left}
.rm-form .hg-line{margin-top:0}
.login-card .btn,.ob-card .btn,.set-card .btn,.rm-card .btn,.setup-banner .btn,.renew-box .btn,.quick-add .btn{min-height:44px}

/* logged-in phase 2: saved guides, document vault, fee change line, calendar */
.save-btn{display:inline-flex;align-items:center;gap:8px;margin:12px 0 14px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--blue-dark);font:inherit;font-weight:600;font-size:.9rem;cursor:pointer}
.save-btn:hover{background:var(--blue-soft)}
.save-btn[aria-pressed="true"]{background:var(--blue-soft);border-color:var(--blue);color:var(--navy)}
.save-btn[aria-pressed="true"] .bm{fill:currentColor}
.vault-box{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:10px;background:var(--blue-soft);border-radius:8px}
.vault-box input[type=file]{font:inherit;max-width:100%;padding:6px 0}
.vault-warn{margin:0;font-size:.85rem;color:var(--notice-ink);background:var(--notice);border-radius:6px;padding:8px 10px}
.rm-feechg{margin:8px 0 0;padding:8px 10px;font-size:.88rem;background:var(--amber-soft);color:var(--amber);border-radius:6px}
.rm-feechg a{color:inherit;font-weight:600}
.rm-file{margin:6px 0 0;overflow-wrap:anywhere}
#dpers .quick-add,#dsaved .set-list{margin-top:8px}
#dsaved .set-list li{display:flex;justify-content:space-between;gap:10px;align-items:center}
#dsaved .set-list a{overflow-wrap:anywhere}
.rm-acts .linkbtn,#dsaved .linkbtn,.rm-file .linkbtn,.vault-box .linkbtn{min-height:44px;padding-inline:6px}

/* regional language FAQ blocks (tools/regional.py): the Noto Sans font for the script loads only on pages that have the block */
.rg{margin-top:34px}
.rg .rg-h{margin-top:0}
.rg .rg-n{margin:-4px 0 12px}
.rg .a{line-height:1.8}
.rg summary{line-height:1.6}
.rg[lang="ta"]{font-family:"Noto Sans Tamil","Noto Sans",system-ui,sans-serif}
.rg[lang="te"]{font-family:"Noto Sans Telugu","Noto Sans",system-ui,sans-serif}
.rg[lang="kn"]{font-family:"Noto Sans Kannada","Noto Sans",system-ui,sans-serif}
.rg[lang="bn"]{font-family:"Noto Sans Bengali","Noto Sans",system-ui,sans-serif}
.rg[lang="mr"]{font-family:"Noto Sans Devanagari","Noto Sans",system-ui,sans-serif}
.rg[lang="gu"]{font-family:"Noto Sans Gujarati","Noto Sans",system-ui,sans-serif}
.rg[lang="ml"]{font-family:"Noto Sans Malayalam","Noto Sans",system-ui,sans-serif}
.rg .a,.rg summary{overflow-wrap:anywhere}

/* translated pages (tools/translate.py): language switcher in the top bar, one-line note, suggestion bar */
.langsw{display:inline-flex;align-items:center;gap:2px;margin-right:6px}
.langsw a,.langsw span{padding:2px 8px;border-radius:12px;font-size:.78rem;line-height:1.5;text-decoration:none;white-space:nowrap}
.langsw a{color:inherit;border:1px solid transparent}
.langsw a:hover,.langsw a:focus-visible{border-color:currentColor}
.langsw span[aria-current]{font-weight:700;background:rgba(255,255,255,.18)}
.trnote{background:var(--alt,#f3f6fb);border-bottom:1px solid var(--line)}
.trnote p{margin:0;padding:7px 0;font-size:.82rem;color:var(--muted)}
.langbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:8px 40px 8px 16px;background:#fff7e0;border-bottom:1px solid #ead9a0;color:#3b3000;font-size:.9rem;position:relative;text-align:center}
.langbar a{font-weight:700;color:#0B2A55}
.langbar button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;font-size:1rem;cursor:pointer;color:inherit;padding:6px 8px}
html[lang="hi"] body{font-family:"Noto Sans Devanagari","Noto Sans","Segoe UI",system-ui,sans-serif;line-height:1.75}
html[lang="ta"] body{font-family:"Noto Sans Tamil","Noto Sans","Segoe UI",system-ui,sans-serif;line-height:1.8}
html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] h3,html[lang="ta"] h1,html[lang="ta"] h2,html[lang="ta"] h3{line-height:1.45}

/* ---------- Updates: shared pieces (cards on the home page and the updates pages, the "Latest updates on this" box on guides) ---------- */
.upd-pill{display:inline-flex;align-items:center;background:var(--blue-soft);color:var(--blue-dark);font-weight:700;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border-radius:999px;text-decoration:none;line-height:1.2;min-height:28px}
a.upd-pill:hover{background:#D8E5F8;color:var(--blue-dark)}
.upd-pill.sm{min-height:0;padding:3px 10px;font-size:.68rem;align-self:flex-start}
.ugrid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin-top:18px}
@media (min-width:640px){.ugrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.ugrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ucard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.ucard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(11,42,85,.12);border-color:#B9C8DE;color:var(--ink)}
.ucard:active{transform:translateY(0) scale(.99);box-shadow:0 3px 10px rgba(11,42,85,.1)}
.ucard .uimg{display:block;aspect-ratio:16/9;background:var(--navy);overflow:hidden}
.ucard .uimg img{display:block;width:100%;height:100%;object-fit:cover}
.ucard .ubody{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px;flex:1}
.ucard .uh{font-weight:700;font-size:1.02rem;line-height:1.3;color:var(--navy);text-wrap:balance}
.ucard .us{color:var(--muted);font-size:.88rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ucard .ud{margin-top:auto;font-size:.78rem;color:var(--muted)}
.upd-homehead{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.upd-homehead h2{margin:0}
.upd-homehead a{font-weight:600;text-decoration:none;white-space:nowrap}
.updbox{background:var(--surface);border:1px solid var(--line);border-left:5px solid #FFB547;border-radius:10px;padding:16px 20px}
.updbox h2{margin:0 0 8px;font-size:1.05rem}
.updbox ul{list-style:none;margin:0;padding:0}
.updbox li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line-2)}
.updbox li:first-child{border-top:0}
.updbox li a{font-weight:600;text-decoration:none}
.updbox li span{color:var(--muted);font-size:.8rem;white-space:nowrap;padding-top:2px}
.updbox .more{display:inline-block;margin-top:6px;font-size:.88rem;font-weight:600}
@media (max-width:560px){.updbox li{flex-direction:column;gap:2px}}
@media (prefers-reduced-motion:reduce){.ucard,.ucard:hover,.ucard:active{transition:none;transform:none}}

/* Chips and pill rows (see also, topic chips, related licences): wrap with an 8px gap, no negative margins, no absolute positioning, tap targets of at least 40px */
.bg-row,.chips{display:flex;flex-wrap:wrap;gap:8px;margin-inline:0;padding:0;align-items:flex-start}
.bpill,.chip,.chips button,.uchip{display:inline-flex;align-items:center;justify-content:center;min-height:40px;line-height:1.3;margin:0;position:static;text-align:center;box-sizing:border-box;max-width:100%}
.bpill{padding:8px 14px;white-space:normal;overflow-wrap:anywhere}
.chip{padding:8px 14px}
.chips button{min-height:40px;padding:8px 14px}
.bpill.rv{max-width:100%}
.langsw .lang-off{opacity:.45;cursor:not-allowed;border:1px solid transparent}
@media (max-width:640px){
  .langsw{gap:4px}
  .langsw a,.langsw span{padding:8px 10px;min-height:36px;display:inline-flex;align-items:center;font-size:.85rem}
}
.fmt-sheet[data-doclang="hi"]{font-family:"Noto Sans Devanagari","Mangal","Kokila",sans-serif;line-height:1.75}
.fmt-sheet[data-doclang="ta"]{font-family:"Noto Sans Tamil","Latha",sans-serif;line-height:1.75}

/* Plain tables on text pages (privacy, terms) never widen the page on a phone: a long Tamil or Hindi cell scrolls inside the table */
main table:not([class]){display:block;max-width:100%;overflow-x:auto}
/* A long web address or Tamil word in a key-fact tile wraps instead of widening the page */
.v,.k{overflow-wrap:anywhere;min-width:0}
.btn{max-width:100%;overflow-wrap:anywhere}
.btn{white-space:normal;word-break:break-word}
/* Download PDF guides and the PDF password finder (tools/gen_downloads.py) */
.dl-scam{margin:0}
.dl-pw{background:var(--blue-soft);border:1px solid var(--line-2);border-radius:10px;padding:18px}
.dl-pw h2{margin-top:0}
.dl-prob td,.dl-prob th{vertical-align:top}
.dl-src{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.dl-src li{font-size:.92rem;overflow-wrap:anywhere}
.pw-box{max-width:640px}
.pw-rule{background:var(--blue-soft);border-radius:8px;padding:14px 16px;margin-bottom:14px}
.pw-rule p{margin:4px 0 0;font-size:.92rem}
.pw-res{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pw-lbl{font-weight:600;color:var(--navy)}
.pw-val{font-size:1.3rem;letter-spacing:.04em;background:#fff;border:1px solid var(--line-2);border-radius:8px;padding:8px 12px;overflow-wrap:anywhere}
.pw-priv{margin-top:12px;max-width:640px}
/* Main menu: five groups with dropdowns (gen_chrome.py NAVGROUPS, assets/core.js) */
.mainnav .ng-top{font:inherit;font-size:.95rem;font-weight:600;color:#fff;background:transparent;border:0;border-bottom:3px solid transparent;cursor:pointer;display:flex;align-items:center;gap:7px;padding:13px 16px;text-decoration:none;white-space:nowrap}
.mainnav .ng-top svg{transition:transform .2s ease}
.mainnav .ng-top:hover,.mainnav .ng-top[aria-expanded="true"]{background:var(--navy-2)}
.mainnav .ng-top[aria-expanded="true"] svg{transform:rotate(180deg)}
.mainnav .ng.cur>.ng-top,.mainnav a.ng-top[aria-current="page"]{border-bottom-color:#FFB547;background:var(--navy-2)}
.mainnav .ng-dd{list-style:none;margin:0;padding:6px}
.mainnav .ng-dd a{display:block;padding:10px 12px;border:0;border-radius:6px;color:var(--ink);font-size:.9rem;white-space:normal}
.mainnav .ng-dd a b{display:block;font-weight:600;color:var(--navy);font-size:.92rem}
.mainnav .ng-dd a span{display:block;color:var(--muted);font-size:.8rem;font-weight:400;margin-top:2px;line-height:1.35}
.mainnav .ng-dd a:hover,.mainnav .ng-dd a:focus-visible{background:var(--blue-soft)}
.mainnav .ng-dd a[aria-current="page"]{background:var(--blue-soft);box-shadow:inset 3px 0 0 #FFB547}
.mainnav .ng-cta{background:#FFB547;color:#0B2A55;border:0;font-weight:600;border-radius:999px;text-decoration:none;transition:background-color .18s ease,box-shadow .18s ease}
.mainnav .ng-cta:hover{background:#FFC46B;box-shadow:0 0 0 3px rgba(255,181,71,.28)}
.mainnav .ng-cta:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (min-width:861px){
  .mainnav .wrap{position:relative}
  .mainnav .ng-list{flex-wrap:nowrap}
  .mainnav .ng{position:relative}
  .mainnav .ng-dd{display:none;position:absolute;top:100%;left:0;min-width:300px;max-width:340px;background:#fff;border:1px solid var(--line);border-radius:0 0 10px 10px;box-shadow:0 14px 32px rgba(11,42,85,.22);z-index:40}
  .mainnav .ng:last-child .ng-dd,.mainnav .ng:nth-last-child(2) .ng-dd{left:auto;right:0}
  .mainnav .ng.open>.ng-dd,.mainnav .ng.hov>.ng-dd{display:block}
  .mainnav .ng.hov>.ng-top,.mainnav .ng.open>.ng-top{background:var(--navy-2)}
  .mainnav .ng-cta-d{display:inline-flex;align-items:center;justify-content:center;margin:8px 0 8px auto;align-self:center;height:36px;padding:8px 16px;font-size:.95rem;line-height:1;white-space:nowrap}
  .mainnav .ng-cta-m{display:none}
}
@media (min-width:861px) and (max-width:1180px){.mainnav .ng-top{padding:13px 9px;font-size:.86rem;gap:5px}.mainnav .ng-cta-d{padding:8px 14px;font-size:.86rem}}
@media (max-width:860px){
  .mainnav .ng-cta-d{display:none}
  .mainnav .ng-cta-m{display:flex;justify-content:center;align-items:center;margin:14px 20px 4px;min-height:48px;border-radius:999px;font-size:1rem;padding:10px 16px}
  .mainnav .ng-list{padding:6px 0}
  .mainnav .ng-top{width:100%;justify-content:space-between;min-height:52px;padding:14px 20px;border-bottom:0;border-left:3px solid transparent;font-size:1.02rem;white-space:normal;text-align:left}
  .mainnav .ng.cur>.ng-top,.mainnav a.ng-top[aria-current="page"]{border-bottom:0;border-left-color:#FFB547}
  .mainnav .ng-dd{display:none;background:#0A2347;padding:2px 0 8px}
  .mainnav .ng.open>.ng-dd{display:block}
  .mainnav .ng-dd a{color:#fff;padding:12px 20px 12px 32px;border-radius:0;min-height:48px}
  .mainnav .ng-dd a b{color:#fff;font-weight:500;font-size:.98rem}
  .mainnav .ng-dd a span{color:#B9C8E0}
  .mainnav .ng-dd a:hover,.mainnav .ng-dd a:focus-visible{background:var(--navy-2)}
  .mainnav .ng-dd a[aria-current="page"]{background:var(--navy-2);box-shadow:inset 3px 0 0 #FFB547}
}
/* pages we push up in Google: answer first box, numbered step cards */
.answer-box{background:var(--blue-soft);border:1px solid var(--line-2);border-left:4px solid var(--blue);border-radius:10px;padding:18px 20px;max-width:860px}
.answer-box h2{margin:0 0 8px;font-size:1.15rem}
.answer-box p{margin:0 0 8px}
.gsteps.cards{list-style:none;padding:0;counter-reset:gs}
.gsteps.cards>li{counter-increment:gs;position:relative;background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:12px 14px 12px 54px;min-height:48px}
.gsteps.cards>li::before{content:counter(gs);position:absolute;left:12px;top:10px;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}

/* sign-up offers (assets/signup.js): a small card, a bottom sheet on a phone */
.su-card{position:fixed;right:16px;bottom:16px;z-index:58;width:min(360px,calc(100vw - 32px));background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 34px rgba(15,30,60,.26);padding:16px 18px 14px;animation:suin .28s ease-out}
.su-card .su-t{display:block;font-size:1rem;line-height:1.35;color:var(--navy);padding-right:26px}
.su-card .su-p{margin:6px 0 12px;font-size:.88rem;color:var(--muted)}
.su-card .su-x{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;background:transparent;border-radius:50%;font-size:1rem;color:var(--muted);cursor:pointer}
.su-card .su-x:hover{background:#EEF3FB}
.su-card .su-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.su-card .su-go{flex:1 1 100%;justify-content:center}
.su-card .su-more{font-size:.85rem}
@keyframes suin{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:640px){.su-card{left:0;right:0;bottom:0;width:auto;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
.su-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:59;background:#0B2A5B;color:#fff;border-radius:10px;padding:10px 16px;font-size:.9rem;box-shadow:0 6px 20px rgba(15,30,60,.3);max-width:calc(100vw - 32px)}
.su-toast a{color:#FFC83D;font-weight:600;margin-left:6px}
@media (prefers-reduced-motion:reduce){.su-card{animation:none}}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Consent and privacy (assets/consent.js): the analytics bar, the sign-up consent box and the check after login */
.cbar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;color:var(--ink);border-top:3px solid var(--navy);box-shadow:0 -8px 28px rgba(15,30,60,.22);padding:14px max(16px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));max-height:70vh;overflow:auto}
.cbar>*{max-width:900px;margin-left:auto;margin-right:auto}
.cbar-h{display:block;color:var(--navy);font-size:1rem;line-height:1.35}
.cbar-p{margin:6px auto 0;font-size:.9rem;line-height:1.5;color:var(--ink)}
.cbar-p.small{font-size:.82rem;color:var(--muted)}
.cbar-a{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center}
.cbar-a .btn{flex:1 1 140px;min-height:44px;justify-content:center;text-align:center}
.has-cbar .su-card{display:none}
.has-cbar main{scroll-padding-bottom:200px}
.cblock{margin:14px 0 4px;text-align:left}
.cblock fieldset{border:0;margin:0 0 6px;padding:0}
.cblock legend{font-weight:600;font-size:.9rem;margin-bottom:4px;padding:0}
.cblock .chk{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-size:.92rem;line-height:1.45}
.cblock .chk input{margin-top:3px;flex:0 0 auto;width:20px;height:20px}
.cblock .cb-read{margin:2px 0 8px 30px}
.cblock .toast{display:block;margin-top:8px}
.cgate-wrap{position:fixed;inset:0;z-index:90;background:rgba(11,30,60,.62);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.cgate{background:#fff;color:var(--ink);border-radius:14px;max-width:480px;width:100%;padding:20px 20px 16px;box-shadow:0 14px 44px rgba(0,0,0,.35)}
.cgate h2{margin:0 0 6px;font-size:1.2rem;color:var(--navy)}
.cgate .actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 6px}
body.cgate-open{overflow:hidden}
.pglance{border:2px solid var(--navy);border-radius:12px;background:var(--blue-soft);padding:14px 16px;margin:0 0 22px}
.pglance h2{margin:0 0 6px;font-size:1.05rem;color:var(--navy)}
.pglance ul{margin:6px 0 0;padding-left:20px}
.pglance li{margin:4px 0}
.set-card .ck-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line-2)}
.set-card .ck-row:first-of-type{border-top:0}
.set-card .ck-row small{display:block;color:var(--muted)}
.set-card dl.held{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:8px 0}
.set-card dl.held dt{color:var(--muted)}
.set-card dl.held dd{margin:0;font-weight:600;text-align:right}
.ganswer{border:2px solid var(--navy);border-radius:12px;background:var(--blue-soft);padding:14px 16px;margin:0 0 18px}
.ganswer h2{margin:0 0 6px;font-size:1.05rem;color:var(--navy)}
.ganswer p{margin:6px 0}
.ganswer ul{margin:6px 0;padding-left:20px}
.ganswer li{margin:3px 0}
.gnear{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.gnear li a{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none}
.langline{margin:12px 0 0;font-size:.9rem;color:var(--muted)}
.ganswer li .gfee::before{content:": "}

/* Home: hero with search, three paths, popular links, trust strip */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero-min .wrap{display:block;padding-block:60px 56px;text-align:center}
.hero-min .hero-main{max-width:760px;margin-inline:auto;min-width:0}
.hero-min h1{margin:0 0 12px;font-size:clamp(1.75rem,4.2vw,2.6rem);line-height:1.18}
.hero-min .hero-sub{margin:0 auto 26px;color:#C9D6EA;font-size:1rem;max-width:none}
.hs-hero{margin:0 0 16px;text-align:left}
.hs-box{position:relative}
.hs-ic{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:#5B6B82;pointer-events:none}
#hs-q{width:100%;box-sizing:border-box;font:inherit;font-size:1.1rem;height:64px;padding:0 20px 0 56px;border:2px solid #fff;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 10px 28px rgba(3,15,35,.3);-webkit-appearance:none;appearance:none}
#hs-q::placeholder{color:#6B7A90;opacity:1}
#hs-q:focus{outline:none;border-color:#8FB6F0;box-shadow:0 0 0 4px rgba(143,182,240,.45),0 10px 28px rgba(3,15,35,.3)}
.hs-r{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:8;list-style:none;margin:0;padding:6px;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 14px 34px rgba(3,15,35,.35);text-align:left}
.hs-r[hidden]{display:none}
.hs-r li a{display:block;padding:12px;border-radius:8px;text-decoration:none;color:var(--ink);overflow-wrap:anywhere}
.hs-r li a:hover,.hs-r li a[aria-selected="true"]{background:var(--blue-soft)}
.hs-none{padding:12px;color:var(--muted)}
.hs-none a{color:var(--blue)}
.hs-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.hs-chips a{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border:1px solid rgba(255,255,255,.32);border-radius:999px;color:#fff;background:rgba(255,255,255,.07);font-size:.85rem;text-decoration:none;white-space:nowrap}
.hs-chips a:hover{background:rgba(255,255,255,.18);border-color:#fff;color:#fff}
.paths{padding-block:40px 8px}
.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.path-c{display:flex;align-items:center;gap:16px;min-width:0;min-height:112px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none}
.path-c:hover{border-color:var(--blue);box-shadow:0 4px 16px rgba(15,53,102,.12)}
.path-i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:12px;background:var(--blue-soft);color:var(--blue)}
.path-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
.path-t b{font-size:1.05rem;line-height:1.25}
.path-t span{font-size:.9rem;color:var(--muted);line-height:1.4}
.path-a{flex:none;color:var(--blue);font-size:1.3rem}
.pop-row{padding-block:30px 8px}
.pop-h{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.pop-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px}
.pop-list a{display:inline-block;padding:6px 0;color:var(--ink);font-size:.95rem;font-weight:600;text-decoration:none}
.pop-list a::after{content:"\2192";color:var(--blue);margin-left:8px}
.pop-list a:hover{color:var(--blue)}
.trust{margin-top:36px;padding:24px 0;background:var(--blue-soft);text-align:center}
.trust p{margin:0}
.trust-l,.trust-s{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 20px}
.trust-l{font-size:.95rem;font-weight:600;color:var(--navy)}
.trust i{display:none}
.trust-s{margin-top:4px;font-size:.85rem;color:var(--muted)}
.trust i{font-style:normal;margin:0 6px;opacity:.55}
.hs-chips a,.pop-list a{min-height:44px}
.pop-list a{display:inline-flex;align-items:center;padding:0}
.pop-row .pop-h{font-size:.85rem;letter-spacing:.06em}
.brand,.greet{min-height:44px}
.util .tools a,.langsw a,.langsw span{display:inline-flex;align-items:center;min-height:44px}
.util .wrap{padding-block:0}
@media (max-width:900px){.path-grid{grid-template-columns:minmax(0,1fr)}.path-c{min-height:0}}
@media (max-width:560px){
  .hero-min .wrap{padding-block:34px 32px}
  .hero-min .hero-sub{margin-bottom:20px}
  #hs-q{height:58px;font-size:1rem;padding-left:50px}
  .hs-chips{gap:8px}.hs-chips a{padding:0 14px;font-size:1rem}
  .paths{padding-block:26px 8px}.path-c{padding:18px}
  .path-t b{font-size:1.1rem}.path-t span{font-size:1rem}
  .pop-row .pop-h{font-size:1rem}.pop-list{flex-direction:column;gap:0}.pop-list a{font-size:1rem}
  .trnote p{font-size:1rem}
  .trust{margin-top:28px}.trust-l,.trust-s{font-size:1rem}
}

/* Header on a phone: logo, bell, account and menu on one line, the logo never wraps */
@media (max-width:640px){
  .mast .wrap{flex-wrap:nowrap;gap:8px;padding-block:10px}
  .brand{min-width:0;flex:1 1 auto;gap:8px}
  .brand svg{width:36px;height:36px}
  .brand .nm{min-width:0}
  .brand b{font-size:1.2rem;white-space:nowrap}
  .brand small{display:none}
  .mast-r{flex:none;gap:6px}
  .greet{white-space:nowrap}
  .greet .lg-more{display:none}
}
/* Formats: honest notice under the download buttons, review line, "How to execute" box */
.fmt-notice{margin:10px 0 2px;font-size:.9rem;color:var(--muted);max-width:75ch}
.fmt-rev{margin:0 0 8px}
.fmt-adv{display:inline-block;margin-right:8px;padding:2px 10px;border-radius:999px;background:#E3F4E8;color:#1B6B3A;font-weight:600}
.exec-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px 24px}
.exec-box h2{margin:0 0 12px}.exec-box h3{margin:18px 0 8px;font-size:1rem}
.exec-box li{max-width:75ch}

/* ===== Search layer, city picker, "for you" strip ===== */
#hs-q{padding-right:52px}
.hs-x{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#5B6B82;font-size:1.7rem;line-height:1;cursor:pointer}
.hs-x:hover{background:#EEF3FA}.hs-x[hidden]{display:none}
.hs-hero{text-align:center}.hs-hero .hs-box{text-align:left}
.sr-layer{position:fixed;z-index:1000;left:0;top:0;width:360px;background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 18px 44px rgba(3,15,35,.35),0 2px 8px rgba(3,15,35,.15);overflow:auto;overscroll-behavior:contain;padding:6px;text-align:left}
.sr-layer[hidden]{display:none}
.sr-i{display:block;padding:10px 12px;min-height:44px;border-radius:10px;text-decoration:none;color:var(--ink)}
.sr-i:hover,.sr-i[aria-selected="true"]{background:var(--blue-soft)}
.sr-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sr-t{font-weight:600;overflow-wrap:anywhere}
.sr-l{flex:none;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 9px;border-radius:999px;background:#EEF3FA;color:var(--navy)}
.sr-l-d{background:#E8F4EA;color:#1B5E32}.sr-l-f{background:#FFF2DC;color:#7A4B00}.sr-l-k{background:#EFE9FB;color:#4B2E8A}.sr-l-c{background:#E6F2F7;color:#0C5468}
.sr-h{display:block;margin-top:2px;font-size:.85rem;line-height:1.35;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.sr-more{display:flex;align-items:center;min-height:44px;margin-top:4px;padding:0 12px;border-top:1px solid var(--line);font-weight:600;color:var(--blue);text-decoration:none}
.sr-more:hover{background:var(--blue-soft)}
.sr-sec{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 2px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sr-clear{min-height:44px;padding:0 8px;border:0;background:none;color:var(--blue);font:inherit;font-size:.8rem;text-transform:none;letter-spacing:0;cursor:pointer}
.sr-chips{display:flex;flex-wrap:wrap;gap:8px;padding:6px 10px 8px}
.sr-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:.9rem;text-decoration:none;cursor:pointer}
.sr-chip:hover{border-color:var(--blue);color:var(--blue)}
.sr-none{padding:14px 12px}.sr-none p,.sr-tip{margin:0 0 6px;color:var(--muted)}.sr-tip{padding:4px 12px 10px}
.sr-fix{padding:8px 12px 2px;font-size:.85rem;color:var(--muted)}
.hs-page{max-width:640px;margin:0 0 20px}.hs-page #hs-q{border:2px solid var(--line);box-shadow:none}
ol.sr-all{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:720px}
ol.sr-all .sr-i{border:1px solid var(--line);background:#fff}
.cont{padding-block:28px 0}.cont .wrap{display:flex;flex-wrap:wrap;gap:14px}
.cont-c{display:flex;flex-direction:column;gap:4px;flex:1 1 280px;min-width:0;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none}
a.cont-c:hover{border-color:var(--blue)}.cont-k{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.cont-c b{font-size:1rem}.cont .sr-chips{padding:4px 0 0}
@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}

/* ===== Design polish, step 1 ===== */
.util .wrap{padding-block:8px;align-items:center}
.langsw a,.langsw span{display:inline-flex;align-items:center;min-height:30px;position:relative}
.langsw a::after{content:"";position:absolute;inset:-7px 0}
.mainnav{border-bottom:1px solid rgba(255,255,255,.1)}
.hero.hero-min{overflow:visible;background:linear-gradient(180deg,#14427A 0%,#0F3566 100%);border-top:1px solid rgba(255,255,255,.14)}
.hero-min::after{display:none}
.hero-min h1,.hero-min .hero-sub,.pagehead h1,.pagehead p{text-wrap:balance}
.trust-l{align-items:center;gap:6px 22px}.trust-l span{display:inline-flex;align-items:center;gap:6px}.trust-l svg{flex:none;color:var(--blue)}
.trust-s{display:block;text-align:center}.trust-s i{display:inline;margin:0 8px}
.trust i{display:inline}
footer.site details.fcol>summary{list-style:none;cursor:default}
footer.site details.fcol>summary::-webkit-details-marker{display:none}
footer.site details.fcol>summary h2{margin:0 0 10px}
@media (max-width:640px){
  footer.site details.fcol{border-top:1px solid #24497F}
  footer.site details.fcol>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;cursor:pointer}
  footer.site details.fcol>summary h2{margin:0}
  footer.site details.fcol>summary::after{content:"+";font-size:1.3rem;color:#fff}
  footer.site details.fcol[open]>summary::after{content:"\2212"}
  footer.site details.fcol>ul{padding-bottom:12px}
}

#hs-q::-webkit-search-cancel-button,#hs-q::-webkit-search-decoration{-webkit-appearance:none;display:none}

/* Your next step / People also check (tools/gen_related.py): plain links, no pop-up */
.nextstep.wrap{border-top:1px solid var(--line,#e3e8f0);padding-top:20px}
.nextstep h2{margin:0 0 10px;font-size:1.15rem;color:var(--navy)}
.nextstep h3{margin:18px 0 6px;font-size:1rem;color:var(--navy)}
.nextstep .nsmain{margin:0 0 8px}
.nextstep .nsmain a{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;border-radius:12px;background:var(--navy);color:#fff;font-weight:700;text-decoration:none;line-height:1.3}
.nextstep .nssub{margin:12px 0 2px;font-size:1rem;color:var(--muted,#51607a)}
.nextstep ul{list-style:none;margin:0;padding:0}
.nextstep li a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;line-height:1.35}
.nextstep p,.nextstep li,.nextstep a{font-size:1rem}
.yourcity{padding:10px 0 0}.yourcity .wrap{background:var(--blue-soft);border:1px solid var(--navy);border-radius:12px;padding:12px 16px;font-size:1rem}.yourcity a{display:inline-block;min-height:44px;line-height:44px;font-weight:700}

/* State and City dropdowns under the hero search (native selects) */
.hs-geo{display:flex;gap:12px;margin-top:12px;text-align:left}
.hs-sel{flex:1;min-width:0}
.hs-sel select{width:100%;height:48px;padding:0 44px 0 16px;border:1px solid #B9C2CF;border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23102A4C' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px;-webkit-appearance:none;appearance:none;font:inherit;font-size:1rem;color:var(--ink);cursor:pointer}
.hs-sel select:focus-visible{outline:3px solid #FFC94D;outline-offset:2px;border-color:#fff}
.hs-note{margin:8px 0 0;font-size:.9rem;color:#fff;text-align:center}
.hs-change{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;border:0;background:none;color:#fff;font:inherit;text-decoration:underline;cursor:pointer}
.hs-change:focus-visible{outline:3px solid #FFC94D;outline-offset:2px}

/* the save button is added by saved.js under the page heading: its space is reserved from the start so the text below does not jump */
html.js-motion:has(script[src*="assets/saved.js"]) main .pagehead h1:not(.sv)::after{content:"";display:block;height:70px}

/* continue where you left off: one compact row (icon, title, arrow) */
.cont-link{flex-direction:row;align-items:center;gap:12px;min-height:64px}
.cont-link:hover{background:var(--blue-soft)}
.cont-i{flex:0 0 auto;color:var(--blue)}
.cont-t{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.cont-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cont-a{flex:0 0 auto;color:var(--blue);font-size:1.2rem}
.cont .wrap{align-items:stretch}
.hs-note{max-width:100%}

/* header menus (name menu, bell): anchored under their button by placeMenu() in core.js */
#umenu.dd,#bell-menu.dd{position:fixed;overflow:visible}
#umenu.dd::before,#bell-menu.dd::before{content:"";position:absolute;top:-6px;right:var(--caret,24px);width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.greet:focus:not(:focus-visible),.bell:focus:not(:focus-visible){outline:none}
.greet{cursor:pointer;caret-color:transparent;user-select:none}

/* continue strip: one card per row, each as tall as its content; the city chips scroll sideways on a phone instead of stacking */
.cont .wrap{flex-direction:column;gap:12px}
.cont-c{flex:0 0 auto}
.cont-city .sr-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.cont-city .sr-chips a,.cont-city .sr-chips button{flex:0 0 auto;white-space:nowrap}
.hs-note{display:block;width:100%;box-sizing:border-box}
.hero .hs-note{max-width:none;margin:8px 0 0}
/* the caret on the name button is a small chevron (it showed as a thin bar because the pseudo-element was inline) */
.greet[data-menu="1"]::after{display:inline-block;vertical-align:middle;box-sizing:border-box;margin-top:-3px}
.cont .wrap>*{min-width:0;width:100%;box-sizing:border-box}

/* design pass 2026-10-31: phone text and tap sizes (body text 16px, tap targets 44px) */
@media (max-width:600px){
  body{font-size:1rem}
  main p:not([class]),main li,main .lead{font-size:1rem}
  select,.linkbtn,.tab,.qtabs .tab,.btn{min-height:44px}
  .linkbtn{display:inline-flex;align-items:center;padding-inline:6px}
  footer.site ul{gap:0}
  footer.site ul a{display:flex;align-items:center;min-height:44px}
  footer.site .base a{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:600px){
  .fmt-form select,.fmt-form input:not([type=checkbox]):not([type=radio]),.fmt-form textarea{min-height:44px}
  .upd p:not(.upd-meta),.upd li{font-size:1rem}
}

/* ===== Phone header (480px and narrower): logo left, three equal 44px round controls right (bell, account avatar, menu), 8px apart, centred ===== */
.greet .av{display:none}
@media (max-width:480px){
  .mast .wrap{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;padding-block:8px}
  .brand{flex:1 1 auto;min-width:0;gap:8px;margin-right:4px}
  .brand .nm{min-width:0}.brand b{white-space:nowrap}
  .mast-r{display:flex;align-items:center;flex:0 0 auto;gap:8px}
  .ugrp{display:inline-flex;align-items:center}
  .bell,.greet,.menubtn{box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;margin:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--navy);display:inline-flex;align-items:center;justify-content:center}
  .bell[hidden]{display:none}
  .greet.in{color:var(--navy);border-color:var(--line)}
  .greet.in .gtxt{display:none}
  .greet.in .av{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;font-weight:700;font-size:1rem;color:var(--blue)}
  .greet[data-menu="1"]::after{display:none}
  .greet:not(.in){width:auto;padding:0 16px;font-size:.9rem;color:var(--blue);border-color:var(--blue)}
  .greet{max-width:none;overflow:visible}
  .bell-n{top:-4px;right:-4px}
}
@media (max-width:359px){ .brand .nm{display:none} }

/* state and city on the formats (geo): the selector box and the lines at the top of How to execute */
.fmt-geo{display:grid;gap:8px}
.fmt-geo .ff{margin:0}
.fmt-geo select,.fmt-geo input{font-size:16px;min-height:48px}
.geo-exec{margin:0 0 16px;padding:16px;border:1px solid var(--line,#dcd7cc);border-radius:12px;background:var(--card,#fff)}
.geo-exec h3{margin:0 0 8px;font-size:1.0625rem}
.geo-exec .gdocs{margin:0}
.geo-exec .geo-check{color:#8a5a00}
.geo-sfx{font-weight:inherit}

/* "Your city" link on all-India licence pages: one clean line */
.yourcity{padding:8px 0 0}
.yourcity .wrap{background:none;border:0;border-radius:0;padding:0 16px}
.yourcity a{display:block;min-height:44px;line-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}

/* city hubs: search box, your city, most searched cities, one closed section per state; ONE row of about 56px per city, the whole row is the link */
.cityhub{margin:16px 0}
.ch-find{margin:0 0 8px}
.ch-find label{display:block;font-weight:600;margin:0 0 8px;color:#0f1d33}
.ch-find input{width:100%;min-height:48px;font-size:16px;padding:0 14px;border:1px solid #b9c3d6;border-radius:12px;background:#fff;color:#0f1d33}
.ch-h{margin:20px 0 8px;font-size:1.0625rem;color:#0f1d33}
.ch-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid #dde3ef;border-radius:12px;overflow:hidden}
.ch-list li{border-top:1px solid #e3e8f2}
.ch-list li:first-child{border-top:0}
.ch-list li[hidden],.ch-st[hidden]{display:none}
.ch-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 16px;color:#0f1d33;text-decoration:none}
a.ch-row:hover,a.ch-row:focus-visible{background:#eef3fb}
.ch-c{flex:1 1 auto;min-width:0;font-weight:700;font-size:1rem;color:#0f1d33;line-height:1.3}
.ch-f{flex:0 1 46%;text-align:right;font-size:.9375rem;font-weight:600;color:#33415c;line-height:1.3}
.ch-go{flex:0 0 auto;font-size:1.5rem;line-height:1;color:#33415c}
.ch-st{border:1px solid #dde3ef;border-radius:12px;margin:0 0 8px;background:#fff}
.ch-st>summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 16px;cursor:pointer;font-weight:700;color:#0f1d33;list-style:none}
.ch-st>summary::-webkit-details-marker{display:none}
.ch-st>summary::after{content:"+";font-weight:700;font-size:1.25rem;margin-left:4px;color:#33415c}
.ch-st[open]>summary::after{content:"\2212"}
.ch-n{margin-left:auto;font-weight:400;font-size:.875rem;color:#33415c}
.ch-st .ch-list{border:0;border-top:1px solid #e3e8f2;border-radius:0}
.ch-none{margin:12px 0;font-weight:600;color:#0f1d33}

/* ---- Professionals portal (Phase 1): pages under /professionals/ ---- */
.pro-app{min-height:80vh}   /* the footer stays below the first screen while the page fills in, so nothing visible jumps */
.pro-two{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:900px){.pro-two{grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}}
.pro-auth{max-width:none}
.pro-stack .btn{width:100%}
.pro-or{text-align:center;margin:12px 0}
.pro-links{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.pro-links a{display:flex;align-items:center;min-height:44px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:6px;text-decoration:none;font-weight:600}
.pro-links a:hover{background:var(--blue-soft)}
.pro-cities{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.pro-top{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.pro-top h2{margin:0}
.pro-status{background:var(--blue-soft);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:6px;padding:12px 14px;margin-bottom:16px}
.pro-status.pro-st-verified{background:var(--green-soft);border-left-color:var(--green)}
.pro-status.pro-st-pending,.pro-status.pro-st-draft{background:var(--notice);border-left-color:var(--saffron)}
.pro-status.pro-st-rejected,.pro-status.pro-st-suspended{background:#FDECEA;border-left-color:var(--red)}
.pro-snote{display:block;margin-top:6px}
.pro-tabs{flex-wrap:wrap}
.pro-tabs .tab{min-height:44px;flex:1 1 auto;white-space:nowrap}
.pro-form{max-width:640px}
.pro-form input[type=text],.pro-form input[type=email],.pro-form input[type=tel],.pro-form input[type=url],.pro-form input[type=number],.pro-form input[type=file],.pro-form select,.pro-form textarea,.pro-modal input[type=text],.pro-modal input[type=email],.pro-modal input[type=tel],.pro-modal select,.pro-modal textarea,.pro-upload select,.pro-upload input[type=file],.pro-app .authbox input[type=email],.pro-svc input[type=number]{font:inherit;font-size:1rem;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);width:100%;max-width:100%;box-sizing:border-box}
.pro-fs{border:1px solid var(--line);border-radius:6px;padding:8px 12px;margin:0 0 16px}
.pro-fs legend{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 6px}
.pro-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 12px}
.pro-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.chip.pro-chip,.pro-chips .chip{min-height:44px;font:inherit;font-size:1rem;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer}
.pro-chips .chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pro-svc{display:grid;grid-template-columns:1fr;gap:6px;padding:8px 0;border-bottom:1px solid var(--line-2)}
@media (min-width:640px){.pro-svc{grid-template-columns:1fr 200px;align-items:center;gap:16px}}
.pro-upload{display:grid;gap:8px;max-width:640px;margin-bottom:12px}
.pro-file{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line-2)}
.pro-file .linkbtn,.pro-files .linkbtn{min-height:44px;font-size:1rem}
.pro-list,.pro-enq{display:grid;grid-template-columns:1fr;gap:16px;margin:16px 0}
@media (min-width:900px){.pro-list{grid-template-columns:1fr 1fr;align-items:stretch}}
.pro-card2{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 20px;margin-bottom:12px}
.pro-list .pro-card2,.pro-enq .pro-card2{margin-bottom:0}
.pro-card2 h3,.pro-card2 h4{margin:0 0 4px;font-size:1.1rem}
.pro-dl{display:grid;grid-template-columns:1fr;gap:2px 16px;margin:8px 0 0}
.pro-dl dt{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:8px}
.pro-dl dd{margin:0;overflow-wrap:anywhere}
.pro-err{color:var(--red);font-weight:600}
.pro-okmsg{color:var(--green);font-weight:600}
.notice-box.pro-ok{background:var(--green-soft);border-left-color:var(--green);color:var(--green)}
.pro-doc{max-width:760px}
.pro-doc h2{margin-top:28px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.pro-del summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
.pro-modal-bg{position:fixed;inset:0;background:rgba(7,30,63,.6);z-index:200;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:16px}
.pro-modal{background:var(--surface);border-radius:8px;padding:20px;max-width:560px;width:100%;box-sizing:border-box;margin:auto}
.pro-modal h2{margin-top:0}
.pro-lock{overflow:hidden}
.pro-card .pcard{max-width:760px}
.pro-app .btn,.pro-modal .btn,.pro-card .btn,.pro-doc .btn,.section .btn.big{min-height:44px}
.notice-box.pro-n,.pro-app .notice-box,.pro-modal .small,.pro-app .small,.pro-doc .small,.pro-two .small,.pro-card .small{font-size:1rem}
.pro-links a,.pro-cities a{min-height:44px}
.pro-app .stat .l{font-size:1rem}
.pro-app .cover{overflow-x:auto;max-width:100%}
.pro-app select,.pro-app .actions select{min-height:44px;font:inherit;font-size:1rem}

/* folded sections under a long city list (tools/compact_hub.py) */
.section:has(>.wrap>.sec-fold){padding-top:8px;padding-bottom:8px}
.sec-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;cursor:pointer;list-style:none}
.sec-fold>summary::-webkit-details-marker{display:none}
.sec-fold>summary h2{margin:0;font-size:1.125rem}
.sec-fold>summary::after{content:"+";font-weight:700;font-size:1.5rem;flex:0 0 auto}
.sec-fold[open]>summary::after{content:"\2212"}
.sec-fold[open]>summary{margin-bottom:8px}
.ch-st>summary,.ch-row{min-height:52px}

.ch-all{border:1px solid #dde3ef;border-radius:12px;background:#fff;margin:16px 0 8px}
.ch-all>summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 16px;cursor:pointer;list-style:none}
.ch-all>summary::-webkit-details-marker{display:none}
.ch-all>summary .ch-h{margin:0;font-size:1.0625rem}
.ch-all>summary::after{content:"+";font-weight:700;font-size:1.5rem;color:#33415c}
.ch-all[open]>summary::after{content:"\2212"}
.ch-all>.ch-st{margin:0 12px 8px}
.ch-all>.ch-st:last-child{margin-bottom:12px}

/* stacked tables on a phone: the first cell is a navy bar, so its links and small text are light (4.5:1 or better); on a wide screen that cell is on white and keeps the normal colours */
@media (max-width:640px){
  table.cov:not(.dfees):not(.ctx):not(:has(th:nth-child(5))) td:first-child a,table.cov:not(.dfees):not(.ctx):not(:has(th:nth-child(5))) td:first-child a:visited{color:#fff;text-decoration:underline}
  table.cov:not(.dfees):not(.ctx):not(:has(th:nth-child(5))) td:first-child .small{color:#DCE5F2}
  table.cov:not(.dfees):not(.ctx):not(:has(th:nth-child(5))) td:first-child .verify a,table.cov:not(.dfees):not(.ctx):not(:has(th:nth-child(5))) td:first-child .ok{color:#DCE5F2}
}

/* a row heading cell (th inside a row) on a phone: a bar like the first cell of the other cards */
@media (max-width:640px){
  table.cov:not(:has(th:nth-child(5))) tbody th{display:block;width:auto;min-width:0!important;background:var(--navy);color:#fff;padding:11px 14px;font-size:1rem;font-weight:600;text-transform:none;letter-spacing:0;white-space:normal}
  table.cov:not(:has(th:nth-child(5))).ctx tbody th{background:none;color:var(--ink);padding:12px 14px 0;font-size:.95rem;font-weight:700}
  table.cov:not(:has(th:nth-child(5))) tbody th a{color:#fff;text-decoration:underline}
  table.cov:not(:has(th:nth-child(5))).ctx tbody th a{color:var(--blue)}
}

/* formats: bar with progress and downloads, preview tab, sections, saved draft (assets/formats.js) */
.fmt-bar{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:0 6px 18px rgba(11,42,85,.12);display:grid;gap:8px;margin:0 0 12px}
.fmt-bar-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.9rem;font-weight:600;color:var(--navy)}
.fmt-saved{color:var(--green);font-weight:600;white-space:nowrap}
.fmt-bar.warn .fmt-count{color:#B42318}
.fmt-bar.done .fmt-count{color:var(--green)}
.fmt-bar-btns{display:flex;gap:8px;flex-wrap:wrap}
.fmt-bar-btns .btn{min-height:44px;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px}
.fmt-barmsg{margin:0;font-size:.85rem;color:#B42318;font-weight:600}
.fmt-barmsg .linkbtn{color:#B42318;text-decoration:underline;min-height:44px;font-weight:600}
.fmt-tabs{display:none}
@media (min-width:961px){.fmt-bar{position:sticky;top:68px;z-index:15}}
@media (max-width:960px){
  .fmt-tabs{display:flex;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:12px}
  .fmt-tabs button{flex:1;min-height:44px;border:0;border-radius:8px;background:transparent;font:inherit;font-weight:600;color:var(--navy);cursor:pointer}
  .fmt-tabs button[aria-selected="true"]{background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.18)}
  .fmt-wrap[data-tab="preview"] .fmt-form{display:none}
  .fmt-wrap[data-tab="form"] .fmt-prevbox{display:none}
  .fmt-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;margin:0;border-radius:12px 12px 0 0;border-width:1px 0 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));transform:translateY(115%);transition:transform .2s ease}
  .fmt-bar.on{transform:none}
  .fmt-wrap{padding-bottom:140px}
}
.fsec{border:1px solid var(--line-2);border-radius:10px;background:#FAFBFD}
.fsec>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;cursor:pointer;font-weight:700;color:var(--navy);list-style:none}
.fsec>summary::-webkit-details-marker{display:none}
.fsec>summary::after{content:"+";font-size:1.25rem;font-weight:700;margin-left:4px}
.fsec[open]>summary::after{content:"\2212"}
.fsec-n{margin-left:auto;font-weight:600;font-size:.85rem;color:var(--muted)}
.fsec-tick{display:none;color:var(--green);font-weight:700}
.fsec.ok .fsec-tick{display:inline}
.fsec-b{display:flex;flex-direction:column;gap:10px;padding:0 10px 10px}
.fmt-form .ff.bad label{color:#B42318}
.fmt-form .ff.bad input,.fmt-form .ff.bad select,.fmt-form .ff.bad textarea{border-color:#B42318;background:#FFF5F4}
.fmt-resume{background:var(--blue-soft);border:1px solid var(--blue);border-radius:10px;padding:12px;margin:0}
.fmt-resume p{margin:0 0 8px;font-weight:600;color:var(--navy)}
.fmt-resume-b{display:flex;gap:8px;flex-wrap:wrap}
.fmt-resume-b .btn{min-height:44px}
.fmt-acctnote{margin:0 0 8px}

@media (max-width:960px){
  .fmt-bar-btns{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:8px}
  .fmt-bar-btns .btn{font-size:.9rem;padding:8px 6px;min-width:0}
}

/* HTML site map and "More like this" */
.sm-sec{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;background:var(--surface)}
.sm-sec>summary{display:flex;align-items:center;min-height:56px;padding:0 16px;cursor:pointer;list-style:none}
.sm-sec>summary::-webkit-details-marker{display:none}
.sm-sec>summary h2{margin:0;font-size:1.0625rem}
.sm-sec>summary::after{content:"+";margin-left:auto;font-size:1.5rem;font-weight:700}
.sm-sec[open]>summary::after{content:"\2212"}
.sm-n{font-weight:400;color:var(--muted);font-size:.9rem}
.sm-list{list-style:none;margin:0;padding:0 16px 12px;columns:2 280px;column-gap:24px}
.sm-list li{break-inside:avoid;padding:6px 0;border-top:1px solid var(--line-2)}
.sm-list a{display:block;min-height:32px;line-height:1.35}
