/*
Theme Name: AI Digital Guides
Description: Board-of-tiles theme for AI Digital Guides with Motion (Framer Motion) and GSAP animation. Pair it with the "AI Digital Guides Tools" plugin.
Version: 3.0.0
Requires PHP: 7.4
Text Domain: utilityhub
*/

/* ---------- fonts (self-hosted, no third-party requests) ---------- */
@font-face{font-family:'League Spartan';font-weight:700;font-style:normal;font-display:swap;src:url(assets/fonts/league-spartan-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'League Spartan';font-weight:800;font-style:normal;font-display:swap;src:url(assets/fonts/league-spartan-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/figtree-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/figtree-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-weight:700;font-style:normal;font-display:swap;src:url(assets/fonts/figtree-latin-700-normal.woff2) format('woff2')}

/* ---------- tokens ---------- */
:root{
  --ground:#eef2f7;      /* page */
  --tile:#dfe7f1;        /* one step from the page */
  --paper:#ffffff;
  --ink:#14253d;         /* text and ink tiles */
  --soft:#41536b;        /* secondary text */
  --navy:#1f4572;        /* brand field */
  --blue:#8cc2e8;        /* brand field */
  --yellow:#fcdf5b;      /* brand field */
  --accent:#f28f4f;      /* the action, nothing else */
  --gap:8px;
  --edge:8px;
  --r:0;
  --fd:'League Spartan','Arial Narrow',Arial,sans-serif;
  --fb:'Figtree',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --step-small:clamp(.8125rem,.79rem + .1vw,.875rem);
  --step-body:clamp(var(--step-body),1rem + .25vw,1.1875rem);
  --step-lead:clamp(1.25rem,1.1rem + .7vw,1.625rem);
  --ease:cubic-bezier(.22,1,.36,1);
  --fs-h3:clamp(1.375rem,1.15rem + .9vw,1.875rem);
  --fs-d2:clamp(2rem,1.2rem + 3.2vw,3.6rem);
  --fs-d1:clamp(2.6rem,1.4rem + 5vw,6rem);
  --fs-xl:clamp(3.4rem,8vw,9.5rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--fb);font-size:var(--step-body);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.t-ink :focus-visible,.t-navy :focus-visible,.uh-footer :focus-visible{outline-color:#fff}
::selection{background:var(--accent);color:var(--ink)}
.screen-reader-text{position:absolute;left:-9999px}
.material-symbols-outlined{display:none}
h1,h2,h3,h4{font-family:var(--fd);font-weight:700;letter-spacing:-.04em;line-height:.92;margin:0}

/* ---------- frame ---------- */
.uh-wrap{width:100%;margin:0 auto;padding:0 var(--edge);overflow-x:clip}
.board{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.tile{position:relative;background:var(--tile);padding:24px;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;min-width:0}
.t-paper{background:var(--paper)}.t-ink{background:var(--ink);color:#fff}.t-navy{background:var(--navy);color:#fff}
.t-blue{background:var(--blue)}.t-yellow{background:var(--yellow)}.t-accent{background:var(--accent)}.t-ground{background:var(--ground)}
.tile.t-navy,.tile.t-ink{color:#fff}.soft{color:var(--soft)}.t-ink .soft,.t-navy .soft{color:#d6e2f2}
.section{margin-top:clamp(56px,8vw,120px)}
.sec-head{padding:0 24px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:end;margin:0 0 var(--gap)}
.sec-head h2{grid-column:span 7;font-size:var(--fs-d1);text-transform:lowercase}
.sec-head p{grid-column:span 5;margin:0;font-size:var(--step-lead);line-height:1.3;color:var(--soft);max-width:34ch;justify-self:end}
@media(max-width:820px){.sec-head h2,.sec-head p{grid-column:1/-1;justify-self:start}.sec-head p{margin-top:12px}}

/* ---------- buttons ---------- */
.uh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border:0;border-radius:var(--r);background:var(--ink);color:#fff;font:600 1rem/1 var(--fb);text-decoration:none;cursor:pointer;min-height:48px}
.uh-btn:hover{background:#000}
.uh-btn.accent{background:var(--accent);color:var(--ink)}.uh-btn.accent:hover{background:#ffa469}
.uh-btn.paper{background:var(--paper);color:var(--ink)}.uh-btn.paper:hover{background:var(--yellow)}
.uh-btns{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- top row ---------- */
.uh-top{position:sticky;top:0;z-index:60;background:var(--ground);padding:var(--edge) var(--edge) 0}
.uh-top .row{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:var(--gap);height:60px}
.uh-top .logo{background:var(--paper);display:grid;place-items:center}
.uh-top .logo img{width:42px;height:42px;display:block}
.uh-top .links{background:var(--tile);display:flex;align-items:center;padding:0 12px;min-width:0;overflow:hidden}
.uh-nav{flex:1;min-width:0}
.uh-nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;align-items:center;flex-wrap:nowrap}
.uh-nav li{flex:0 0 auto}
.uh-nav a{display:block;padding:8px 12px;font-size:.875rem;font-weight:600;text-decoration:none;color:var(--ink);white-space:nowrap}
.uh-nav a:hover{background:var(--paper)}
.uh-top .act{background:var(--ink);color:#fff;display:flex;align-items:center;padding:0 24px;font-weight:700;text-decoration:none}
.uh-top .act:hover{background:#000}
.uh-burger{display:none;background:var(--ink);color:#fff;border:0;font:700 1rem var(--fb);padding:0 22px;cursor:pointer}
@media(max-width:1180px){.uh-nav li:nth-child(n+6){display:none}}
@media(max-width:900px){
  .uh-top .links{padding:0}
  .uh-nav{display:none;position:absolute;left:var(--edge);right:var(--edge);top:calc(60px + var(--edge) + var(--gap));background:var(--tile);padding:var(--gap);z-index:70}
  .uh-nav.open{display:block}.uh-nav ul{flex-direction:column;align-items:stretch;gap:var(--gap)}.uh-nav li:nth-child(n+6){display:block}
  .uh-nav a{background:var(--paper);padding:16px 18px;font-size:var(--step-body)}
  .uh-top .act{display:none}.uh-burger{display:block}
}

/* ---------- hero board ---------- */
.hero{margin-top:var(--gap);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:1.15fr .85fr;gap:var(--gap);min-height:calc(100svh - 84px)}
.hero .name{grid-column:1/7;background:var(--paper);justify-content:flex-end;padding:32px 28px}
.hero h1{font-size:var(--fs-xl);font-weight:800;line-height:.86;text-transform:lowercase;margin:0 0 24px}
.hero .lead{font-size:var(--step-lead);line-height:1.3;margin:0;max-width:30ch}
.hero .live{grid-column:7/-1;grid-row:1/3;background:var(--navy);color:#fff;padding:20px}
.hero .act{grid-column:1/4;background:var(--accent);color:var(--ink);justify-content:space-between}
.hero .facts{grid-column:4/7;background:var(--yellow);color:var(--ink);justify-content:space-between}
.hero .act h2{font-size:var(--fs-d2);text-transform:lowercase}
.hero .facts b{font:800 var(--fs-d2)/.9 var(--fd);letter-spacing:-.04em;display:block}
.hero .facts span{font-size:var(--step-small);font-weight:600;display:block;margin-bottom:10px}
.search{display:flex;margin-top:16px}
.search input{flex:1;min-width:0;border:0;background:var(--paper);padding:0 16px;font:600 1rem var(--fb);color:var(--ink);min-height:52px;border-radius:0}
.search input::placeholder{color:var(--soft)}
.search button{border:0;background:var(--ink);color:#fff;padding:0 18px;font:700 1rem var(--fb);cursor:pointer;min-height:52px}
@media(max-width:1023px){
  .hero{grid-template-rows:none;min-height:0}
  .hero .name{grid-column:1/-1;min-height:46svh}.hero .live{grid-column:1/-1;grid-row:auto}
  .hero .act,.hero .facts{grid-column:1/-1}
}
/* live invoice fragment (data-ui) */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.chip{border:0;background:rgba(255,255,255,.14);color:#fff;font:600 .875rem var(--fb);padding:10px 14px;cursor:pointer;min-height:44px}
.chip[aria-pressed=true]{background:var(--yellow);color:var(--ink)}
.chip:hover{background:rgba(255,255,255,.28)}.chip[aria-pressed=true]:hover{background:var(--yellow)}
.doc{background:var(--paper);color:var(--ink);padding:22px 24px;font-size:.875rem;line-height:1.45;flex:1;display:flex;flex-direction:column;min-height:0}
.doc .top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.doc .ttl{font:800 var(--fs-h3)/.9 var(--fd);letter-spacing:-.03em}
.doc .num{color:var(--soft);font-size:.875rem;text-align:right}
.doc .pty{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.doc .pty b{display:block}.doc .pty span{color:var(--soft);font-size:.875rem;display:block}
.doc table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.doc th{font-weight:600;color:var(--soft);font-size:.875rem;text-align:right;padding:6px 8px;background:var(--ground)}
.doc th:first-child,.doc td:first-child{text-align:left}
.doc td{padding:7px 8px;text-align:right}.doc tbody tr:nth-child(even) td{background:#f6f8fb}
.doc .pay{margin-top:auto;background:var(--ground);padding:10px 12px;font-size:.875rem;color:var(--soft)}
.doc .pay b{color:var(--ink)}
.doc .sum{margin:12px 0 0 auto;width:min(100%,300px);font-variant-numeric:tabular-nums}
.doc .sum div{display:flex;justify-content:space-between;padding:4px 8px}
.doc .sum .tot{background:var(--ink);color:#fff;font:700 1rem var(--fd);padding:10px 8px;margin-top:6px}
.live .cap{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px;font-size:var(--step-small)}
.live .cap a{font-weight:700;color:var(--ink);background:var(--accent);padding:10px 14px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.live .cap a:hover{background:#ffa469}

/* ---------- tools board ---------- */
.catboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);margin-bottom:var(--gap)}
.cat{grid-column:span 3;min-height:150px;justify-content:space-between}
.cat h3{font-size:var(--fs-d2);text-transform:lowercase}
.cat span{font-size:var(--step-small);font-weight:600}
.tool{grid-column:span 3;min-height:150px;background:var(--paper);text-decoration:none;color:var(--ink);justify-content:space-between}
.tool strong{font:700 var(--fs-h3)/1 var(--fd);letter-spacing:-.03em;display:block}
.tool .d{font-size:.875rem;color:var(--soft);margin-top:10px;display:block}
.tool .go{font-weight:700;font-size:.875rem;margin-top:14px;display:inline-block;color:var(--soft)}
.tool:hover,.tool:focus-visible{background:var(--ink);color:#fff}.tool:hover .d{color:#d6e2f2}
.tool.soon{background:var(--tile);cursor:default}.tool.soon:hover{background:var(--tile);color:var(--ink)}.tool.soon:hover .d{color:var(--soft)}
.empty{display:none;margin:8px 0;font-weight:600}
@media(max-width:900px){.cat,.tool{grid-column:span 6!important}.cat{grid-row:auto!important}}
@media(max-width:520px){.cat,.tool{grid-column:1/-1!important}}

/* ---------- prompt rows (departure board) ---------- */
.rows{background:var(--ink);padding:8px 0;display:grid;gap:4px}
.rowline{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;align-items:center;min-height:72px;background:#1d3354;color:#fff;text-decoration:none;padding:0 20px;margin:0 8px;position:relative;overflow:hidden}
.rowline strong{grid-column:1/6;font:700 var(--fs-h3)/1.05 var(--fd);letter-spacing:-.03em}
.rowline .k{grid-column:6/9;color:#d6e2f2;font-size:.875rem}
.rowline .n{grid-column:9/11;color:#d6e2f2;font-size:.875rem;font-variant-numeric:tabular-nums}
.rowline .s{grid-column:11/13;justify-self:end;background:var(--accent);color:var(--ink);font-weight:700;padding:10px 16px}
.rowline:hover{background:var(--navy)}
.rowline.open{min-height:150px;background:var(--accent);color:var(--ink)}.rowline.open .k,.rowline.open .n{color:var(--ink)}.rowline.open .s{background:var(--ink);color:#fff}
@media(max-width:700px){.rowline{min-height:64px;padding:0 14px}.rowline strong{grid-column:1/9}.rowline .k,.rowline .n{display:none}.rowline .s{grid-column:9/13}}

/* ---------- how it works: four fields ---------- */
.fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 calc(var(--edge)*-1)}
.field{min-height:min(58svh,520px);padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.field:nth-child(1){background:var(--tile)}.field:nth-child(2){background:var(--blue)}.field:nth-child(3){background:var(--yellow)}.field:nth-child(4){background:var(--navy);color:#fff}
.field p{font:700 var(--fs-h3)/1.05 var(--fd);letter-spacing:-.03em;margin:0;max-width:11ch}
.mini{background:var(--paper);color:var(--ink);width:min(100%,270px);padding:16px;font-size:.875rem;line-height:1.4;align-self:flex-start}
.mini b{display:block;font:700 1rem var(--fd);margin-bottom:8px}
.mini .ln{display:flex;justify-content:space-between;padding:4px 0;font-variant-numeric:tabular-nums}
.mini .blank{color:var(--soft)}.mini .tot{background:var(--ink);color:#fff;padding:8px;margin-top:8px;font-weight:700;display:flex;justify-content:space-between}
.mini .file{display:inline-block;background:var(--accent);padding:8px 12px;font-weight:700;margin-top:10px}
@media(max-width:900px){.fields{grid-template-columns:1fr}.field{min-height:64svh}}

/* ---------- countries & guides ---------- */
.ctile{min-height:190px;text-decoration:none;color:var(--ink);justify-content:space-between}
.ctile strong{font:700 var(--fs-d2)/.9 var(--fd);letter-spacing:-.04em;text-transform:lowercase;display:block}
.ctile span{font-weight:600}
.ctile:hover{background:var(--ink);color:#fff}
.gtile{text-decoration:none;color:var(--ink);justify-content:space-between;min-height:230px}
.gtile .ct{display:block;font:700 var(--fs-h3)/1 var(--fd);letter-spacing:-.04em;margin-bottom:12px}
.gtile h3{font-size:var(--fs-h3);line-height:1;margin-bottom:12px}
.gtile.big .ct{font-size:var(--fs-d2)}
.gtile p{margin:0;color:inherit;font-size:1rem}.gtile .m{font-size:var(--step-small);font-weight:600;margin-top:16px;display:block}
.gtile:hover{background:var(--ink);color:#fff}.gtile.t-navy:hover{background:#000}
@media(max-width:900px){.gtile,.ctile{grid-column:span 6!important;grid-row:auto!important}}
@media(max-width:560px){.gtile,.ctile{grid-column:1/-1!important}}

/* ---------- cta ---------- */
.cta{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);margin-top:var(--gap)}
.cta .main{grid-column:3/11;background:var(--accent);padding:40px;min-height:360px;justify-content:center}
.cta .main h2{font-size:var(--fs-d2);text-transform:lowercase;max-width:14ch;margin-bottom:14px}
.cta .main p{margin:0 0 22px;max-width:36ch}
.cta .l{grid-column:1/3;background:var(--navy);margin-left:-40px}.cta .r{grid-column:11/13;background:var(--blue);margin-right:-40px}
@media(max-width:820px){.cta .main{grid-column:1/-1;padding:28px;min-height:300px}.cta .l{grid-column:1/7;min-height:120px;margin:0}.cta .r{grid-column:7/13;min-height:120px;margin:0}}

/* ---------- footer ---------- */
.uh-footer{margin-top:clamp(56px,8vw,120px);background:var(--ink);color:#fff;padding:var(--edge)}
.uh-footer .mark{background:var(--navy);display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px;min-height:34svh;overflow:hidden}
.uh-footer .mark svg{height:min(30svh,260px);width:auto;flex:0 0 auto}
.uh-footer .mark .big{font:800 var(--fs-xl)/.84 var(--fd);letter-spacing:-.05em;text-transform:lowercase}
.uh-footer a{text-decoration:none}.uh-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.uh-fgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);margin-top:var(--gap)}
.uh-fgrid .about{grid-column:1/5;background:#1d3354;padding:24px}
.uh-fgrid .about p{margin:0;font-size:1rem;max-width:34ch;color:#d6e2f2}
.uh-fgrid .col{grid-column:span 2;background:#1d3354;padding:24px}
.uh-footer h5{font:700 var(--fs-h3) var(--fd);margin:0 0 14px;letter-spacing:-.02em;text-transform:lowercase}
.uh-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:.875rem}
.uh-fbot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:20px 24px 12px;font-size:.875rem;color:#d6e2f2}
@media(max-width:900px){.uh-fgrid .about{grid-column:1/-1}.uh-fgrid .col{grid-column:span 6}.uh-footer .mark{flex-direction:column;align-items:flex-start}}

/* ---------- inner page heads ---------- */
.uh-page-head,.uh-pg-head{margin:var(--gap) 0 var(--gap);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.uh-page-head h1,.uh-pg-head h1{grid-column:span 8;background:var(--navy);color:#fff;padding:32px 28px;font-size:var(--fs-d1);line-height:.88;min-height:min(46svh,420px);display:flex;align-items:flex-end;margin:0;font-weight:800}
.uh-page-head p,.uh-pg-head p{grid-column:span 4;background:var(--yellow);color:var(--ink);margin:0;padding:28px;font-size:var(--step-lead);line-height:1.25;display:flex;align-items:flex-end;max-width:none}
@media(max-width:900px){.uh-page-head h1,.uh-pg-head h1,.uh-page-head p,.uh-pg-head p{grid-column:1/-1}}
.uh-crumbs{font-size:var(--step-small);color:var(--soft);margin:var(--gap) 0 0;padding:0 24px}
.uh-crumbs a{text-decoration:none;font-weight:600}.uh-crumbs a:hover{text-decoration:underline}

/* ---------- blog board ---------- */
.uh-posts{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.uh-post{grid-column:span 4;min-height:280px;padding:24px;background:var(--paper);text-decoration:none;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.uh-post:nth-child(5n+1){grid-column:span 8;grid-row:span 2;background:var(--navy);color:#fff}
.uh-post:nth-child(5n+2){background:var(--blue)}.uh-post:nth-child(5n+3){background:var(--yellow)}.uh-post:nth-child(5n+4){background:var(--tile)}
.uh-post .ct{display:block;font:700 var(--fs-h3)/1 var(--fd);letter-spacing:-.04em}
.uh-post h3{font-size:var(--fs-h3);line-height:.98}
.uh-post:nth-child(5n+1) .ct{font-size:var(--fs-d2)}
.uh-post .ex{display:block;margin:12px 0 0;font-size:1rem;color:inherit;max-width:46ch}
.uh-meta{font-size:var(--step-small);font-weight:600;color:inherit}
.uh-post:hover{background:var(--ink);color:#fff}
.uh-chip{font-size:var(--step-small);font-weight:700;text-decoration:none;color:inherit}
.uh-pagination{display:flex;gap:var(--gap);margin:var(--gap) 0 0}
.uh-pagination .page-numbers{min-width:52px;min-height:52px;display:grid;place-items:center;background:var(--paper);text-decoration:none;font-weight:700;padding:0 16px}
.uh-pagination .current,.uh-pagination .page-numbers:hover{background:var(--ink);color:#fff}
@media(max-width:900px){.uh-post,.uh-post:nth-child(5n+1){grid-column:span 6;grid-row:auto}.uh-post:nth-child(5n+1){grid-column:1/-1}}
@media(max-width:560px){.uh-post{grid-column:1/-1}}

/* ---------- article ---------- */
.art-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);margin-top:var(--gap)}
.art-head .ttl{grid-column:1/-1;background:var(--navy);color:#fff;padding:32px 28px;min-height:min(50svh,460px);justify-content:flex-end}
.art-head h1{font-size:clamp(1.75rem,1rem + 4.6vw,6.4rem);line-height:.9;font-weight:800;margin:0;max-width:24ch}
.art-head .meta{grid-column:1/-1;background:var(--yellow);color:var(--ink);padding:28px;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;font-weight:600;gap:8px 32px;font-size:var(--step-body)}
.art-head .meta .lede{font-weight:400;font-size:var(--step-lead);line-height:1.25;margin:0;flex:1 1 420px;max-width:52ch}
.art-head .meta .by{display:flex;flex-direction:column;gap:2px}

.art{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--gap);margin-top:var(--gap);align-items:start}
.art .body{background:var(--paper);padding:clamp(24px,4vw,56px)}
@media(max-width:1000px){.art{grid-template-columns:minmax(0,1fr)}}
.uh-body{font-size:var(--step-body);line-height:1.65;max-width:70ch}
.uh-body h2{font-size:var(--fs-d2);line-height:.95;margin:2.2em 0 .5em;scroll-margin-top:90px;text-transform:lowercase}
.uh-body h3{font-size:var(--fs-h3);line-height:1;margin:1.6em 0 .4em}
.uh-body p{margin:0 0 1em}.uh-body ul,.uh-body ol{padding-left:1.25em;margin:0 0 1.2em}.uh-body li{margin:.35em 0}
.uh-body a{font-weight:600;text-underline-offset:3px}.uh-body a:hover{background:var(--yellow)}
.uh-body table{max-width:100%;width:100%;border-collapse:collapse;margin:1.6em 0;font-size:1rem;display:block;overflow-x:auto}
.uh-body th,.uh-body td{padding:12px 14px;text-align:left;border:0}.uh-body th{background:var(--ink);color:#fff;font-weight:600}.uh-body tbody tr:nth-child(odd) td{background:var(--ground)}.uh-body tbody tr:nth-child(even) td{background:var(--tile)}
.uh-body .toc{background:var(--tile);padding:20px 24px;margin:0 0 2.2em}
.uh-body .toc-title{font:700 var(--fs-h3) var(--fd);letter-spacing:-.03em;margin-bottom:10px;text-transform:lowercase}
.uh-body .toc-list{list-style:none;padding:0;margin:0;columns:2;column-gap:28px}.uh-body .toc-item{margin:.35em 0;break-inside:avoid}.uh-body .toc-num{display:none}
@media(max-width:700px){.uh-body .toc-list{columns:1}}
.uh-body .callout{padding:20px 24px;margin:1.8em 0;background:var(--tile)}
.uh-body .callout p{margin:.3em 0}.uh-body .callout-title{font:700 var(--fs-h3)/1 var(--fd);letter-spacing:-.03em;margin-bottom:6px}
.uh-body .callout-tip{background:var(--blue)}.uh-body .callout-warn{background:var(--yellow)}.uh-body .callout-note{background:var(--tile)}
.uh-side{display:flex;flex-direction:column;gap:var(--gap);position:sticky;top:84px}
.uh-side .box{background:var(--navy);color:#fff;padding:22px}.uh-side h4{font-size:var(--fs-h3);margin:0 0 12px;text-transform:lowercase}
.uh-side a.t{display:block;padding:12px 0;text-decoration:none;font-weight:600;color:#fff}.uh-side a.t:hover{background:rgba(255,255,255,.12);padding-left:8px}
.uh-author{background:var(--tile);padding:22px;margin:var(--gap) 0 0;display:flex;gap:16px;align-items:center}
.uh-author i{width:52px;height:52px;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 1.4rem var(--fd);font-style:normal}
.uh-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.uh-tags a{font-size:var(--step-small);padding:8px 12px;background:var(--tile);text-decoration:none;font-weight:600}.uh-tags a:hover{background:var(--ink);color:#fff}
.uh-related h2{padding:0 24px;font-size:var(--fs-d2);margin:var(--gap) 0;text-transform:lowercase}
.progress{position:fixed;left:0;top:0;height:5px;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);z-index:80;pointer-events:none}

/* ---------- plugin pages (prompts, countries, analyzer) ---------- */
.uh-pg-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);margin:var(--gap) 0}
.uh-pg-card{grid-column:span 3;min-height:170px;background:var(--paper);padding:22px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px;justify-content:space-between}
.uh-pg-card strong{font:700 var(--fs-h3)/1 var(--fd);letter-spacing:-.03em}
.uh-pg-card:nth-child(4n+2){background:var(--blue)}.uh-pg-card:nth-child(4n+3){background:var(--yellow)}.uh-pg-card:nth-child(4n+4){background:var(--tile)}
.uh-pg-card:hover{background:var(--ink);color:#fff}
@media(max-width:900px){.uh-pg-card{grid-column:span 6}}@media(max-width:560px){.uh-pg-card{grid-column:1/-1}}
.uh-facts{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);margin:var(--gap) 0}
.uh-fact{grid-column:span 4;background:var(--navy);color:#fff;padding:22px;display:flex;flex-direction:column;gap:8px;min-height:130px;justify-content:space-between}
.uh-fact:nth-child(3n+2){background:var(--blue);color:var(--ink)}.uh-fact:nth-child(3n+3){background:var(--yellow);color:var(--ink)}
.uh-fact span{font-size:var(--step-small);font-weight:600;color:inherit}.uh-fact strong{font:700 var(--fs-h3)/1.05 var(--fd);letter-spacing:-.03em}
@media(max-width:900px){.uh-fact{grid-column:span 6}}@media(max-width:560px){.uh-fact{grid-column:1/-1}}
.uh-country-body{background:var(--paper);padding:clamp(24px,4vw,56px);margin:var(--gap) 0;max-width:none}
.uh-country-body>*{max-width:70ch}.uh-country-body table{max-width:none}
.uh-note{font-size:var(--step-small);color:var(--soft)}
.uh-pg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);margin:var(--gap) 0}
@media(max-width:860px){.uh-pg{grid-template-columns:1fr}}
.uh-pg-form,.uh-pg-result{background:var(--paper);padding:24px;border-radius:0}
.uh-pg-form input,.uh-pg-form textarea,.uh-pg-form select{background:var(--ground);border:0!important;border-radius:0!important}
.uh-pg-out{background:var(--ground);border:0!important;border-radius:0!important}
.uh-pg-copy,.uh-pg-reset{border-radius:0!important}
.uh-pills{display:flex;flex-wrap:wrap;gap:var(--gap)}.uh-pills a{padding:14px 20px;background:var(--paper);text-decoration:none;font-weight:700}.uh-pills a:hover{background:var(--ink);color:#fff}

/* ---------- motion: hidden states exist only while the script runs ---------- */
.uh-motion [data-reveal]{opacity:0;transform:translateY(28px)}
.uh-motion-fail [data-reveal]{opacity:1!important;transform:none!important}
.uh-motion .hero .live .doc{clip-path:inset(0 0 100% 0)}
.uh-motion-fail .hero .live .doc{clip-path:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- filtering and svg mark ---------- */
.catboard.filtering{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.catboard.filtering>.tile{grid-column:auto!important;grid-row:auto!important}
.catboard.filtering .cat{display:none}
.mark-svg .bar{transform-box:fill-box;transform-origin:50% 100%}
.mark-svg .ring{transform-box:fill-box;transform-origin:50% 50%}
.hero .name .lead{opacity:1}

.uh-footer .mark-svg [stroke='#14253d']{stroke:#fff}.uh-footer .mark-svg [fill='#14253d']{fill:#fff}

@media(max-width:560px){.doc th:nth-child(3),.doc td:nth-child(3){display:none}.doc{padding:16px}.uh-top .links::before{content:'AI Digital Guides';font:700 1rem var(--fd);padding-left:14px;letter-spacing:-.02em;white-space:nowrap}}

/* ---------- interface fragments (what the tools hand back) ---------- */
.frag{min-height:440px;text-decoration:none;color:var(--ink);justify-content:space-between;gap:20px}
.frag .nm{font:700 var(--fs-h3)/1 var(--fd);letter-spacing:-.04em;display:block}
.frag .sub{display:block;font-size:var(--step-small);line-height:1.4;margin-top:8px}
.frag:hover{background:var(--ink);color:#fff}
.frag [data-ui]{background:var(--paper);color:var(--ink);font-size:.875rem;line-height:1.45}
.pg-resume{padding:22px 24px;width:min(100%,380px);align-self:flex-start}
.pg-resume b{font:800 var(--fs-h3)/1 var(--fd);letter-spacing:-.03em;display:block}
.pg-resume .role{color:var(--soft);margin-bottom:12px;display:block}
.pg-resume h4{font:700 1rem var(--fd);margin:12px 0 4px;letter-spacing:-.01em}
.pg-resume ul{margin:0;padding-left:1.1em}.pg-resume li{margin:3px 0}
.pg-stack{position:relative;height:230px;width:min(100%,320px)}
.pg-stack div{position:absolute;width:170px;height:224px;padding:14px;background:var(--paper);color:var(--ink);font-size:.875rem;line-height:1.35}
.pg-stack div:nth-child(1){left:0;top:14px;rotate:-5deg}.pg-stack div:nth-child(2){left:36px;top:6px;rotate:2deg}.pg-stack div:nth-child(3){left:76px;top:0;rotate:7deg}
.pg-stack strong{display:block;font:700 1rem var(--fd);margin-bottom:6px}
.pg-score{padding:18px;width:100%;min-height:216px}
.pg-score .n{white-space:nowrap;font:800 var(--fs-h3)/1 var(--fd);letter-spacing:-.03em;display:block;margin-bottom:10px}
.pg-score .ck{display:flex;justify-content:space-between;gap:10px;padding:6px 8px;font-variant-numeric:tabular-nums}.pg-score .ck:nth-child(even){background:var(--ground)}
.pg-score .ok{font-weight:700}.pg-score .fix{font-weight:700;background:var(--yellow);padding:0 6px}
.pg-kd{padding:22px 24px;width:100%;min-height:216px}
.pg-kd .r{display:grid;grid-template-columns:90px 1fr 52px;gap:12px;align-items:center;margin:7px 0;font-variant-numeric:tabular-nums}
.pg-kd .bar{height:14px;background:var(--navy);transform-origin:0 50%}.pg-kd .r span:last-child{text-align:right;font-weight:700}

@media(max-width:560px){
  :root{--gap:12px}
  .tile{padding:28px 24px}
  .section{margin-top:72px}
  .hero .name{padding:32px 24px}
}

/* first blog card carries the guide's own outline */
.uh-post .outline{background:var(--paper);color:var(--ink);padding:18px 20px;font-size:1rem;line-height:1.4;max-width:420px}
.uh-post .outline b{font:700 var(--fs-h3)/1 var(--fd);letter-spacing:-.03em;display:block;margin-bottom:8px}
.uh-post .outline span{display:block;padding:5px 0}
@media(max-width:560px){.art-head .ttl,.art-head .meta{padding:24px 20px}.art .body{padding:24px 20px}}
html,body{overflow-x:clip}
