:root{--ink:#0B1F3A;--ink-2:#13294B;--paper:#FCFBF8;--paper-2:#F3EFE6;--stamp:#D6453D;--approved:#1A7A6E;--graphite:#5A6472;--hairline:#E3E0D8;--gold:#B68A3E;--board:#0A1626}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:"Newsreader",Georgia,serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
.mono{font-family:"Space Mono",monospace}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.flag{border-radius:3px;object-fit:cover;box-shadow:0 1px 2px rgba(0,0,0,.15)}

/* top strip + header */
.topstrip{background:var(--ink);color:#cdd6e4;font-family:"Space Mono",monospace;font-size:11.5px;letter-spacing:.08em}
.topstrip .wrap{display:flex;justify-content:space-between;align-items:center;height:34px;overflow:hidden;white-space:nowrap}
.topstrip .tick span{color:var(--gold)}
header.site{position:sticky;top:0;z-index:50;background:rgba(252,251,248,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand img{height:54px;width:auto;max-width:66vw}
@media(max-width:920px){.brand img{height:46px}}
@media(max-width:480px){.brand img{height:42px}}
@media(max-width:360px){.brand img{height:36px}}
.navlinks{display:flex;gap:28px;font-family:"Archivo";font-weight:600;font-size:14px;letter-spacing:.01em;text-transform:uppercase}
.navlinks a{color:var(--ink-2);transition:.2s}.navlinks a:hover,.navlinks a.active{color:var(--stamp)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer}.burger span{width:24px;height:2px;background:var(--ink)}
.tools-quick{display:none}

/* home hero */
.hero{padding:42px 0 28px}
.hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:34px}
.eyebrow{display:flex;align-items:center;gap:10px;font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.14em;color:var(--stamp);margin-bottom:14px}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--stamp);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.lead-img{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:16/9;background:var(--ink-2)}
.lead-img img{width:100%;height:100%;object-fit:cover}
.route-tag{position:absolute;top:14px;left:14px;z-index:3;background:var(--paper);color:var(--ink);font-family:"Space Mono";font-weight:700;font-size:13px;padding:7px 12px;border-radius:3px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 16px rgba(11,31,58,.22)}
.route-tag .arrow{color:var(--stamp)}
.status-pill{position:absolute;top:14px;right:14px;z-index:3;font-family:"Space Mono";font-weight:700;font-size:11px;letter-spacing:.1em;padding:6px 11px;border-radius:3px;color:#fff;background:var(--approved)}
.status-pill.new{background:var(--stamp)}.status-pill.watch{background:#243d63}.status-pill.hot{background:var(--gold);color:#1a1205}
.lead h1{font-family:"Archivo";font-weight:800;font-size:39px;line-height:1.06;letter-spacing:-.02em;margin:20px 0 12px}
.lead h1 a:hover{color:var(--stamp)}
.lead p.dek{color:var(--graphite);font-size:19px;max-width:54ch}
.byline{font-family:"Space Mono";font-size:12px;color:var(--graphite);margin-top:16px;display:flex;gap:16px;flex-wrap:wrap;letter-spacing:.03em}
.byline b{color:var(--ink)}

/* board panel */
.board{background:var(--board);border-radius:6px;padding:20px 20px 8px;color:#e7ecf5;align-self:start;border:1px solid #1c3358}
.board-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #243d63;padding-bottom:12px;margin-bottom:6px}
.board-head .t{font-family:"Archivo";font-weight:800;font-size:14px;letter-spacing:.16em;text-transform:uppercase}
.board-head .clock{font-family:"Space Mono";font-size:12px;color:var(--gold)}
.dep{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #1a2f4f}
.dep:last-child{border-bottom:0}
.dep .code{font-family:"Space Mono";font-weight:700;font-size:12px;color:#fff;background:#16294a;border-radius:3px;padding:6px 0;text-align:center}
.dep .h{font-family:"Newsreader";font-size:15.5px;line-height:1.3;color:#dde5f1}
.dep:hover .h{color:#fff}
.dep .h small{display:block;font-family:"Space Mono";font-size:10.5px;color:#7e92b4;margin-top:3px}
.flip{font-family:"Space Mono";font-weight:700;font-size:10px;letter-spacing:.08em;padding:5px 8px;border-radius:3px;white-space:nowrap}
.s-open{background:var(--approved);color:#fff}.s-new{background:var(--stamp);color:#fff}.s-watch{background:#243d63;color:#9fb3d6}.s-hot{background:var(--gold);color:#1a1205}

/* section header */
.sec{padding:38px 0}
.sec-head{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.sec-head h2{font-family:"Archivo";font-weight:800;font-size:15px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.sec-head .rule{flex:1;height:1px;background:var(--hairline)}
.sec-head .more{font-family:"Space Mono";font-size:12px;color:var(--stamp);white-space:nowrap}

/* card grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--hairline);border-radius:6px;overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(11,31,58,.12);border-color:#d4cfc2}
.card .ph{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--paper-2)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .ph img{transform:scale(1.05)}
.cat-stamp{position:absolute;left:12px;bottom:12px;font-family:"Space Mono";font-weight:700;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(11,31,58,.82);padding:5px 9px;border-radius:3px}
.card .body{padding:16px 17px 18px;display:flex;flex-direction:column;flex:1}
.card .codes{font-family:"Space Mono";font-size:11px;color:var(--graphite);margin-bottom:9px;display:flex;align-items:center;gap:7px}
.card .codes .arrow{color:var(--stamp);font-weight:700}
.card h3{font-family:"Archivo";font-weight:700;font-size:19px;line-height:1.18;margin-bottom:8px}
.card:hover h3{color:var(--stamp)}
.card p{font-size:15.5px;color:var(--graphite);line-height:1.45}
.card .foot{margin-top:auto;padding-top:13px;font-family:"Space Mono";font-size:11px;color:var(--graphite);display:flex;justify-content:space-between;border-top:1px solid var(--hairline);margin-top:14px}

/* category masthead */
.cmast{background:var(--ink);color:#fff;padding:48px 0 42px;position:relative;overflow:hidden}
.cmast .crumb{font-family:"Space Mono";font-size:12px;color:#7e92b4;letter-spacing:.06em;margin-bottom:16px}
.cmast .sep{color:var(--stamp);margin:0 7px}
.cmast h1{font-family:"Archivo";font-weight:900;font-size:46px;letter-spacing:-.03em;line-height:1;margin-bottom:14px}
.cmast p{color:#9fb3d6;font-size:18px;max-width:60ch}
.cmast .count{font-family:"Space Mono";font-size:12px;color:var(--gold);margin-top:18px}

/* single article */
.crumb-bar{font-family:"Space Mono";font-size:12px;color:var(--graphite);padding:20px 0 0}
.crumb-bar a:hover{color:var(--stamp)}.crumb-bar .sep{color:var(--stamp);margin:0 7px}
.ahead{padding:14px 0 26px;max-width:780px}
.kicker{display:inline-flex;align-items:center;gap:9px;font-family:"Space Mono";font-size:12px;letter-spacing:.1em;color:#fff;background:var(--stamp);padding:6px 11px;border-radius:3px;text-transform:uppercase;margin-bottom:18px}
h1.title{font-family:"Archivo";font-weight:800;font-size:42px;line-height:1.05;letter-spacing:-.025em;margin-bottom:18px}
.standfirst{font-size:21px;color:var(--graphite);line-height:1.5;font-weight:500}
.meta-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;font-family:"Space Mono";font-size:12px;color:var(--graphite);margin-top:22px;padding-top:18px;border-top:1px solid var(--hairline)}
.meta-row b{color:var(--ink)}
.route-chip{background:var(--ink);color:#fff;padding:6px 11px;border-radius:3px;font-weight:700;display:inline-flex;gap:6px}
.route-chip .arrow{color:var(--stamp)}
.status-chip{background:var(--approved);color:#fff;padding:6px 11px;border-radius:3px;font-weight:700}
.hero-figure img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:6px}
.hero-figure figcaption{font-family:"Space Mono";font-size:11.5px;color:var(--graphite);margin-top:9px}
.article-grid{display:grid;grid-template-columns:1fr 300px;gap:48px;padding:36px 0 50px;align-items:start}
.article-body{max-width:740px}
.article-body h2{font-family:"Archivo";font-weight:800;font-size:28px;margin:36px 0 14px}
.article-body h3{font-family:"Archivo";font-weight:700;font-size:21px;margin:26px 0 10px}
.article-body p{margin-bottom:20px}
.article-body ul,.article-body ol{margin:0 0 20px 22px}.article-body li{margin-bottom:9px}
.article-body blockquote{border-left:3px solid var(--stamp);background:#fff;padding:18px 24px;margin:26px 0;font-size:21px;font-style:italic;color:var(--ink-2);border-radius:0 4px 4px 0}
.side{position:sticky;top:90px;display:flex;flex-direction:column;gap:26px}
.toc,.pop{background:#fff;border:1px solid var(--hairline);border-radius:6px;padding:20px}
.pop .h,.toc .h{font-family:"Archivo";font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.pop a{display:grid;grid-template-columns:28px 1fr;gap:11px;padding:11px 0;border-bottom:1px solid var(--hairline)}
.pop a:last-child{border-bottom:0}.pop .n{font-family:"Archivo";font-weight:900;font-size:18px;color:var(--stamp)}
.pop .tt{font-size:15px;line-height:1.25}.pop a:hover .tt{color:var(--stamp)}
.adslot{border:1.5px dashed #cfc8b8;border-radius:6px;padding:22px;text-align:center;margin:30px 0;background:#fff}
.adslot .lbl{font-family:"Space Mono";font-size:10px;letter-spacing:.16em;color:#b3aa96;text-transform:uppercase}
.adslot .box{font-family:"Archivo";font-weight:700;color:#cfc8b8;font-size:14px;margin-top:8px}

/* passport index */
.pp-board{background:var(--board);border:1px solid #1c3358;border-radius:10px;color:#e7ecf5;padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;margin-bottom:22px}
.pp-board .bflag{width:64px;border-radius:5px}
.pp-board .nm{font-family:"Archivo";font-weight:800;font-size:26px;color:#fff}
.pp-board .pp{font-family:"Space Mono";font-size:11px;color:#7e92b4;margin-top:4px}
.pp-board .stats{display:flex;gap:30px;text-align:right}
.pp-board .n{font-family:"Archivo";font-weight:900;font-size:38px;color:#fff;line-height:1}
.pp-board .n.green{color:#48c9a9}
.pp-board .l{font-family:"Space Mono";font-size:10px;color:#7e92b4;text-transform:uppercase;margin-top:6px}
.chartbox{background:#fff;border:1px solid var(--hairline);border-radius:10px;padding:18px 14px 8px}
.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.search{flex:1;min-width:220px;display:flex;align-items:center;gap:9px;border:1.5px solid var(--hairline);border-radius:8px;padding:10px 13px;background:#fff}
.search input{border:none;outline:none;font-size:15px;width:100%;background:none;font-family:"Newsreader"}
.tabs{display:flex;gap:7px;flex-wrap:wrap}
.tab{font-family:"Space Mono";font-size:11px;padding:9px 13px;border:1.5px solid var(--hairline);border-radius:30px;cursor:pointer;color:var(--graphite);white-space:nowrap;display:flex;align-items:center;gap:6px}
.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cdot{width:8px;height:8px;border-radius:50%}
.d-free{background:var(--approved)}.d-voa{background:var(--gold)}.d-eta{background:#3d6fb4}.d-evisa{background:var(--graphite)}.d-req{background:var(--stamp)}
.dlist{background:#fff;border:1px solid var(--hairline);border-radius:10px;overflow:hidden}
.drow{display:grid;grid-template-columns:36px 1fr auto;gap:13px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--hairline)}
.drow:last-child{border-bottom:0}.drow .fl{width:30px;border-radius:3px}
.drow .cn{font-family:"Archivo";font-weight:600;font-size:16px}
.drow .reg{font-family:"Space Mono";font-size:10.5px;color:var(--graphite);margin-top:1px}
.badge{font-family:"Space Mono";font-weight:700;font-size:10.5px;letter-spacing:.05em;padding:6px 11px;border-radius:5px;text-transform:uppercase;white-space:nowrap}
.b-free{background:#e2f2ee;color:var(--approved)}.b-voa{background:#f7eed8;color:#8a6512}.b-eta{background:#e3ecf8;color:#2d5594}.b-evisa{background:#eceef1;color:var(--graphite)}.b-req{background:#fbe6e4;color:var(--stamp)}

/* newsletter + footer */
.news{background:var(--paper-2);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.news .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px 28px;flex-wrap:wrap}
.news h2{font-family:"Archivo";font-weight:800;font-size:27px;max-width:18ch}
.news p{color:var(--graphite);font-size:16px;margin-top:6px;max-width:40ch}
.nform{display:flex;gap:10px}
.nform input{font-family:"Space Mono";font-size:14px;padding:13px 16px;border:1.5px solid var(--ink);border-radius:3px;background:#fff;min-width:240px}
.nform button{font-family:"Archivo";font-weight:700;font-size:14px;text-transform:uppercase;background:var(--stamp);color:#fff;border:none;padding:0 22px;border-radius:3px;cursor:pointer}
footer.site{background:var(--ink);color:#9fb3d6;padding:48px 0 30px;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;margin-bottom:34px}
footer .about{max-width:34ch;line-height:1.55;margin-top:12px}
footer h4{font-family:"Archivo";font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:14px}
footer ul{list-style:none;line-height:2}footer ul a:hover{color:var(--stamp)}
.fbar{border-top:1px solid #1c3358;padding-top:20px;display:flex;justify-content:space-between;font-family:"Space Mono";font-size:11.5px;flex-wrap:wrap;gap:10px}
.disclaimer{color:#5f7196;font-size:11px;max-width:70ch;margin-top:14px;line-height:1.5}

@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}
  .article-grid{grid-template-columns:1fr}.side{position:static}
  .navlinks{display:none}.burger{display:flex}
  .tools-quick{display:inline-flex;align-items:center;gap:6px;margin-left:auto;margin-right:14px;background:#fff;color:var(--ink);border:1.5px solid #d7dbe2;font-family:"Archivo";font-weight:700;font-size:13px;padding:7px 14px;border-radius:9px;text-transform:uppercase;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
  .tools-quick:hover{border-color:var(--ink);background:#f7f7f4}
  .lead h1,h1.title{font-size:32px}.cmast h1{font-size:34px}
  .pp-board{grid-template-columns:auto 1fr}.pp-board .stats{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:560px){body{font-size:17px}.grid{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr 1fr}.news .wrap{flex-direction:column;align-items:flex-start}.nform{width:100%}.nform input{flex:1;min-width:0}}
:focus-visible{outline:2.5px solid var(--stamp);outline-offset:3px}

/* ---- author bio card (end of article) ---- */
.author-card{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--hairline);border-left:4px solid var(--stamp);border-radius:8px;padding:22px 24px;margin:34px 0 8px}
.author-card .au-avatar{flex:none;width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--ink);display:flex;align-items:center;justify-content:center}
.author-card .au-avatar img{width:100%;height:100%;object-fit:cover}
.author-card .au-avatar span{font-family:"Archivo";font-weight:800;font-size:26px;color:#fff;line-height:1}
.author-card .au-h{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);margin-bottom:6px}
.author-card .au-name{font-family:"Archivo";font-weight:800;font-size:18px;color:var(--ink);margin-bottom:4px}
.author-card .au-role{font-size:11px;color:var(--teal);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.author-card .au-bio{font-family:"Newsreader";font-size:14.5px;line-height:1.55;color:#3a4253;margin:0}
@media(max-width:560px){.author-card{flex-direction:column;gap:14px}.author-card .au-avatar{width:54px;height:54px}}

/* ---- country mention chip + country hub ---- */
.country-chip{display:inline-flex;align-items:center;gap:7px;font-family:"Space Mono";font-size:12px;color:var(--ink);text-decoration:none;background:#fff;border:1px solid var(--hairline);padding:4px 10px;border-radius:20px;transition:.12s}
.country-chip:hover{border-color:var(--stamp);color:var(--stamp)}
.country-chip img{width:18px;height:13px;object-fit:cover;border-radius:2px;display:block}
.codes .chip-flag{width:18px;height:13px;object-fit:cover;border-radius:2px;display:inline-block;vertical-align:-2px;margin-right:4px}
.country-head{display:flex;align-items:center;gap:18px;margin:6px 0 4px}
.country-head .country-flag{width:64px;height:46px;object-fit:cover;border-radius:5px;border:1px solid var(--hairline);box-shadow:0 1px 3px rgba(11,31,58,.12)}
.country-head h1{margin:0}
.passport-link{display:inline-block;margin-top:12px;color:var(--teal);text-decoration:none;font-size:13px;border-bottom:1px solid var(--gold);padding-bottom:1px}
.passport-link:hover{color:var(--ink)}

/* ---- nav Tools dropdown ---- */
.navdrop{position:relative;display:inline-block}
.navdrop .caret{font-size:9px;opacity:.7}
.navdrop-menu{position:absolute;top:100%;left:0;min-width:190px;background:#fff;border:1px solid var(--hairline);border-radius:8px;box-shadow:0 8px 24px rgba(11,31,58,.12);padding:6px;opacity:0;visibility:hidden;transform:translateY(4px);transition:.15s;z-index:50}
.navdrop:hover .navdrop-menu,.navdrop:focus-within .navdrop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.navdrop-menu a{display:block;padding:9px 12px;border-radius:6px;font-size:14px;white-space:nowrap;color:var(--ink)}
.navdrop-menu a:hover{background:var(--paper);color:var(--stamp)}
/* ---- mobile nav panel + inline Tools (matches burger breakpoint) ---- */
.site .nav{position:relative}
@media(max-width:920px){
  .navlinks.open{
    display:flex;flex-direction:column;gap:0;
    position:absolute;top:calc(100% + 1px);left:0;right:0;
    background:#fff;border-top:1px solid var(--hairline);
    box-shadow:0 12px 28px rgba(11,31,58,.14);padding:6px 0;z-index:60
  }
  .navlinks.open > a{padding:13px 22px}
  .navlinks.open .navdrop{width:100%}
  .navlinks.open .navdrop-top .caret{display:none}
  .navlinks.open .navdrop-top{padding:13px 22px;display:block}
  .navlinks.open .navdrop-menu{display:none}
}

/* ---- passport photo tool: mobile responsive ---- */
@media(max-width:760px){
  #pgrid{grid-template-columns:1fr !important;gap:16px !important;}
  #photo-app .wrap{padding-left:14px !important;padding-right:14px !important;}
  #photo-app aside{order:2;}
}

/* ---- article body: markdown extras (img, hr, lists) ---- */
.article-body ul{list-style:disc}
.article-body ol{list-style:decimal}
.article-body img{max-width:100%;height:auto;border-radius:8px;margin:22px 0;display:block}
.article-body hr{border:0;border-top:1px solid var(--hairline);margin:34px 0}
.article-body a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}
.article-body strong{font-weight:700;color:var(--ink)}
.ad-zone{margin:18px auto;text-align:center;max-width:100%;overflow:hidden}
.ad-zone.ad-header{margin:0 auto}

/* Auto table of contents + heading polish */
html{scroll-behavior:smooth}
.article-body h2,.article-body h3{scroll-margin-top:90px}
.article-body h2::before{content:"";display:inline-block;width:10px;height:10px;background:var(--stamp);border-radius:2px;margin-right:11px;vertical-align:middle;transform:translateY(-2px)}
.toc{background:#fff;border:1px solid var(--hairline);border-radius:12px;padding:15px 20px;margin:4px 0 30px}
.toc-h{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);margin-bottom:11px}
.toc ol{list-style:none;margin:0;padding:0}
.toc li{margin:0 0 8px;line-height:1.35}
.toc li:last-child{margin-bottom:0}
.toc li.lvl-3{margin-left:20px;font-size:.95em}
.toc a{color:var(--ink);text-decoration:none;font-family:"Newsreader";font-size:16px;border-bottom:1px solid transparent;transition:.12s}
.toc a:hover{color:var(--teal);border-bottom-color:var(--teal)}
.read-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--stamp);z-index:1200;transition:width .08s linear}

/* Tools dropdown group labels */
.navdrop-label{font-family:"Space Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);padding:8px 14px 4px;margin-top:4px;border-top:1px solid var(--hairline)}
.navdrop-label:first-child{border-top:0;margin-top:0}
/* Tools landing page */
.tools-hero{text-align:center;padding:18px 0 8px}
.tools-sec{margin:26px 0}
.tools-sec h2{font-family:"Archivo",sans-serif;font-weight:800;font-size:22px;margin:0 0 4px;display:flex;align-items:center;gap:9px}
.tools-sec .lead{color:var(--graphite);font-family:"Newsreader",serif;margin:0 0 16px}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.tool-card{display:block;background:#fff;border:1px solid var(--hairline);border-radius:13px;padding:17px 18px;text-decoration:none;color:var(--ink);transition:.14s}
.tool-card:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 8px 22px rgba(11,31,58,.08)}
.tool-card .tc-name{font-family:"Archivo",sans-serif;font-weight:700;font-size:16px;margin-bottom:4px}
.tool-card .tc-desc{font-size:13px;color:var(--graphite);line-height:1.45}
.tool-card .tc-new{display:inline-block;font-family:"Space Mono",monospace;font-size:9px;background:var(--stamp);color:#fff;border-radius:10px;padding:1px 7px;margin-left:6px;vertical-align:middle;letter-spacing:.05em}

/* ===== Shared calculator tools (.ctool) ===== */
.ctool{max-width:620px;margin:0 auto;padding:6px 0 30px}
.ctool .chead{text-align:center;margin-bottom:18px}
.ctool .ckick{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite)}
.ctool .ckick b{color:var(--stamp)}
.ctool h1{font-family:"Archivo",sans-serif;font-weight:800;font-size:30px;margin:6px 0 4px}
.ctool .clead{font-family:"Newsreader",serif;color:var(--graphite);max-width:560px;margin:0 auto}
.ctool .cpanel{background:#fff;border:1px solid var(--hairline);border-radius:14px;padding:20px;margin-bottom:16px}
.ctool .cfld{margin-bottom:14px}
.ctool .cfld:last-child{margin-bottom:0}
.ctool .cfld label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--graphite);font-weight:700;margin-bottom:5px}
.ctool input,.ctool select{width:100%;padding:11px 12px;border:1.5px solid var(--hairline);border-radius:9px;font-size:15px;font-family:inherit;background:#fff;color:var(--ink)}
.ctool input:focus,.ctool select:focus{outline:none;border-color:var(--teal)}
.ctool .crow2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ctool .cbtn{width:100%;padding:13px;border:0;border-radius:10px;background:var(--stamp);color:#fff;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit}
.ctool .cbtn.alt{background:var(--ink)}
.ctool .cghost{background:var(--paper);border:1px dashed var(--graphite);color:var(--ink);border-radius:9px;padding:9px 14px;font-weight:600;font-size:14px;cursor:pointer;font-family:inherit}
.ctool .cresult{border-radius:14px;padding:20px;margin-bottom:16px;display:none}
.ctool .cresult.show{display:block}
.ctool .cresult.ok{background:#eef6f1;border:1px solid #bfe0cd}
.ctool .cresult.bad{background:#fdeeee;border:1px solid #f0c4c4}
.ctool .cresult.warn{background:#fff6e4;border:1px solid #ecd28d}
.ctool .cbig{font-family:"Archivo",sans-serif;font-weight:800;font-size:34px;line-height:1.1;margin:2px 0}
.ctool .cstat-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.ctool .cstat{background:rgba(255,255,255,.7);border-radius:10px;padding:10px 14px;flex:1;min-width:120px}
.ctool .cstat b{display:block;font-size:22px;font-family:"Archivo",sans-serif}
.ctool .cstat span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--graphite)}
.ctool .crow-item{display:grid;grid-template-columns:1fr 110px 110px 28px;gap:7px;align-items:center;margin-bottom:8px}
.ctool .crow-item input{padding:8px 9px;font-size:13.5px}
.ctool .cx{cursor:pointer;color:var(--stamp);text-align:center;font-weight:bold;font-size:18px;user-select:none}
.ctool .cnote{font-size:12px;color:var(--graphite);line-height:1.5;margin-top:6px}
.ctool .cdisc{font-size:11.5px;color:var(--graphite);line-height:1.5;border-top:1px solid var(--hairline);padding-top:13px;margin-top:8px}
.ctool .ctimeline{position:relative;margin:6px 0 0;padding-left:22px}
.ctool .ctl-item{position:relative;padding:0 0 16px 14px;border-left:2px solid var(--hairline)}
.ctool .ctl-item:last-child{border-left-color:transparent}
.ctool .ctl-item::before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--teal)}
.ctool .ctl-item .y{font-family:"Archivo";font-weight:800;font-size:16px}
.ctool .ctl-item .d{font-size:13px;color:var(--graphite)}
@media(max-width:560px){.ctool .crow2{grid-template-columns:1fr}.ctool .crow-item{grid-template-columns:1fr 1fr 24px}}
.tool-card .tc-img{margin:-2px -2px 10px;border-radius:9px;overflow:hidden;aspect-ratio:16/9;background:#eef1f5}
.tool-card .tc-img img{width:100%;height:100%;object-fit:cover;display:block}
