/* The AI Whisperer: shared shell (header, footer, reading typography) */
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-serif-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-serif-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-serif-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-serif-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}

:root{
  --ink:#0E2A47;
  --ink-2:#163B63;
  --ink-3:#0A1F36;
  --blue:#1B4F9C;
  --paper:#F2F4F7;
  --paper-2:#E6EAF0;
  --text:#1A222C;
  --muted:#5B6672;
  --line:#CBD3DC;
  --amber:#E2A93B;
  --bone:#F4F1E8;
  --white:#FFFFFF;
  --serif:'IBM Plex Serif',Georgia,serif;
  --sans:'IBM Plex Sans',system-ui,sans-serif;
  --w:1160px;
  --head-h:66px;
}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 16px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* skip link */
.aw-skip{position:absolute;left:16px;top:-60px;z-index:200;padding:10px 16px;background:var(--ink);color:#fff;border-radius:2px;font:500 14px/1 var(--sans);transition:top .15s ease}
.aw-skip:focus{top:12px}

/* ---------- shared header ---------- */
.aw-head{position:fixed;top:0;left:0;right:0;z-index:60;height:var(--head-h);display:flex;align-items:center;font-family:var(--sans);background:var(--ink-3);border-bottom:1px solid rgba(255,255,255,.10);transition:background .25s ease,border-color .25s ease}
.aw-head[data-variant="hero"]{background:transparent;border-bottom-color:transparent}
.aw-head[data-variant="hero"].is-solid{background:rgba(10,31,54,.94);border-bottom-color:rgba(255,255,255,.10);backdrop-filter:blur(8px)}
.aw-head *{box-sizing:border-box}
.aw-head .wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:28px}
.aw-logo{display:block;flex:0 0 auto;line-height:0}
.aw-logo img{display:block;height:auto}
.aw-head .aw-brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-weight:500;font-size:19px;line-height:1;color:var(--bone);text-decoration:none;white-space:nowrap}
.aw-head .aw-brand-text{display:flex;align-items:baseline;gap:.34em}
.aw-head .aw-brand i{font-style:normal;color:var(--amber);font-size:.62em;transform:translateY(-.35em)}
.aw-nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:14.5px}
.aw-head .aw-nav a{color:rgba(255,255,255,.76);text-decoration:none;padding:6px 0;transition:color .15s ease}
.aw-head .aw-nav a:hover{color:#fff}
.aw-head .aw-nav a[aria-current]{color:#fff;box-shadow:inset 0 -1px 0 var(--amber)}
.aw-head .aw-cta,#aw-panel .aw-cta{flex:0 0 auto;display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:999px;background:var(--amber);color:var(--ink);font-size:14.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s ease}
.aw-head .aw-cta:hover,#aw-panel .aw-cta:hover{background:#EBBB57}
.aw-burger{display:none;margin-left:auto;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff;cursor:pointer;padding:0}
.aw-burger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.aw-burger .x{display:none}
.aw-burger[aria-expanded="true"] .x{display:block}
.aw-burger[aria-expanded="true"] .m{display:none}
.aw-head :where(a,button):focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}

/* the WordPress admin bar pushes the document down for logged-in editors */
.admin-bar .aw-head{top:32px}
.admin-bar .aw-panel{top:calc(var(--head-h) + 32px)}
@media screen and (max-width:782px){
  .admin-bar .aw-head{top:46px}
  .admin-bar .aw-panel{top:calc(var(--head-h) + 46px)}
}

.aw-panel{position:fixed;top:var(--head-h);left:0;right:0;z-index:59;background:var(--ink-3);border-bottom:1px solid rgba(255,255,255,.10);padding:8px 24px 20px;font-family:var(--sans)}
.aw-panel[hidden]{display:none}
#aw-panel a{display:block;padding:13px 0;color:rgba(255,255,255,.82);text-decoration:none;font-size:16px;border-bottom:1px solid rgba(255,255,255,.08)}
#aw-panel a:last-child{border-bottom:0}
#aw-panel .aw-cta{display:inline-flex;margin-top:14px;border-bottom:0}

/* content offset for the fixed bar */
.aw-offset{padding-top:var(--head-h)}

@media(max-width:900px){
  :root{--head-h:58px}
  .aw-nav,.aw-head .aw-cta{display:none}
  .aw-burger{display:inline-flex}
  .aw-head .aw-brand{font-size:17px;gap:9px}
  .aw-head .aw-logo img{height:28px;width:31px}
}

/* ---------- shared footer ---------- */
.aw-foot{background:var(--ink);color:rgba(255,255,255,.72);font-family:var(--sans);font-size:14px;padding:44px 0}
.aw-foot .wrap{max-width:var(--w);margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px}
.aw-foot a{color:rgba(255,255,255,.72);text-decoration:none}
.aw-foot a:hover{color:#fff}
.aw-foot ul{display:flex;flex-wrap:wrap;gap:22px;margin:0;padding:0;list-style:none}
.aw-foot-brand{display:flex;align-items:center;gap:12px}
.aw-foot :where(a,button):focus-visible{outline:2px solid var(--amber);outline-offset:3px}

/* ---------- reading pages (post, about) ---------- */
.aw-doc{background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.aw-doc *{box-sizing:border-box}
.aw-doc :where(h1,h2,h3,h4,p,ul,ol,li,figure,figcaption,blockquote,dl,dd){margin:0;padding:0}
.aw-doc :where(ul,ol){list-style:none}
.aw-doc a{color:inherit;text-decoration:none}
.aw-doc img{display:block;max-width:100%;height:auto}
.aw-doc .wrap{max-width:var(--w);margin:0 auto;padding:0 24px}

.aw-mast{padding:56px 0 34px;border-bottom:1px solid var(--line)}
.aw-mast .kicker{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.aw-mast h1{font-family:var(--serif);font-weight:600;font-size:clamp(32px,4.2vw,48px);line-height:1.08;letter-spacing:-.01em;color:var(--ink);max-width:20ch}
.aw-mast .standfirst{margin-top:16px;max-width:60ch;font-size:18px;line-height:1.6;color:var(--muted)}
.aw-mast .meta{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.aw-lede{margin:28px auto 0;max-width:960px}
.aw-lede img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:2px}

.aw-prose{max-width:68ch;margin:0 auto;padding:36px 0 8px;font-size:18px;line-height:1.72;color:var(--text)}
.aw-prose > * + *{margin-top:1.15em}
.aw-prose h2{font-family:var(--serif);font-weight:600;font-size:28px;line-height:1.18;color:var(--ink);margin-top:1.9em;letter-spacing:-.005em}
.aw-prose h3{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.25;color:var(--ink);margin-top:1.6em}
.aw-prose h4{font-family:var(--sans);font-weight:600;font-size:17px;color:var(--ink);margin-top:1.5em}
.aw-prose strong,.aw-prose b{font-weight:600;color:var(--ink)}
.aw-prose em,.aw-prose i{font-style:italic}
.aw-prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.aw-prose a:hover{color:var(--ink)}
.aw-prose ul,.aw-prose ol{padding-left:1.3em}
.aw-prose ul{list-style:disc}
.aw-prose ol{list-style:decimal}
.aw-prose li{margin-top:.5em}
.aw-prose li::marker{color:var(--line)}
.aw-prose blockquote{border-left:3px solid var(--amber);padding:2px 0 2px 22px;margin-top:1.7em;font-family:var(--serif);font-size:21px;line-height:1.45;color:var(--ink-2)}
.aw-prose blockquote p + p{margin-top:.6em}
.aw-prose figure{margin-top:2em;width:min(100%,960px);margin-left:50%;transform:translateX(-50%)}
.aw-prose figure img{width:100%;border-radius:2px}
.aw-prose figcaption{margin-top:10px;font-size:13px;color:var(--muted);text-align:center}
.aw-prose .wp-block-spacer{display:none}
.aw-prose hr{border:0;border-top:1px solid var(--line);margin-top:2.4em}
.aw-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:var(--paper-2);padding:2px 6px;border-radius:2px}
.aw-prose pre{background:var(--ink);color:#E8EDF3;padding:20px;border-radius:2px;overflow-x:auto;font-size:14px;line-height:1.6}
.aw-prose pre code{background:none;padding:0;color:inherit}
.aw-prose table{width:100%;border-collapse:collapse;font-size:15px}
.aw-prose th,.aw-prose td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.aw-prose th{font-weight:600;color:var(--ink)}

/* author card + tail blocks shared by post and about */
.aw-card-ink{background:var(--ink);color:#fff;border-radius:2px;padding:30px}
.aw-card-ink h2{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.2;color:#fff}
.aw-card-ink p{margin-top:12px;font-size:15px;line-height:1.65;color:rgba(255,255,255,.78);max-width:56ch}
.aw-card-ink .btn{display:inline-block;margin-top:20px;padding:12px 20px;background:var(--amber);color:var(--ink);border-radius:999px;font-size:14.5px;font-weight:600}
.aw-card-ink .btn:hover{background:#EBBB57}

.aw-author{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:20px;align-items:start;max-width:68ch;margin:44px auto 0;padding-top:28px;border-top:1px solid var(--line)}
.aw-author-mark{align-self:center;opacity:.9}
.aw-author > img{width:76px;height:76px;border-radius:50%;object-fit:cover}
.aw-author .who{font-family:var(--serif);font-size:18px;color:var(--ink)}
.aw-author p{margin-top:8px;font-size:15px;line-height:1.6;color:var(--muted)}
.aw-author a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.aw-author .more{display:inline-block;margin-top:10px;font-size:14px}

.aw-more{padding:56px 0 8px}
.aw-more h2{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:24px}
.aw-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}

.aw-doc .aw-back{display:inline-flex;align-items:center;gap:8px;margin-top:36px;font-size:14px;color:var(--blue)}
.aw-doc .aw-back:hover{color:var(--ink)}

/* about page masthead */
.aw-mast-split .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:center}
.aw-mast-split h1{max-width:none}
.aw-mast-split .standfirst{max-width:52ch}
.aw-portrait{margin:0}
.aw-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.aw-doc .aw-tail{padding-top:52px;padding-bottom:84px}
.aw-doc .aw-mast .meta a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){
  .aw-mast-split .wrap{grid-template-columns:minmax(0,1fr);gap:28px}
  .aw-portrait{max-width:280px}
  .aw-prose{font-size:17px;padding-top:28px}
  .aw-prose figure{width:100%;margin-left:0;transform:none}
  .aw-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aw-mast{padding:38px 0 26px}
}
@media(max-width:620px){
  .aw-doc .wrap{padding:0 18px}
  .aw-more-grid{grid-template-columns:minmax(0,1fr)}
  .aw-author{grid-template-columns:1fr;gap:14px}
  .aw-author-mark{display:none}
  .aw-card-ink{padding:24px}
}

/* responsive hardening: long German compounds must not push the page sideways */
.aw-doc,.awn{overflow-wrap:break-word}
.aw-prose h2,.aw-prose h3,.aw-mast h1,.aw-card-ink h2,.awn-card h3,.awn-slide h3,.awn-head h1{overflow-wrap:break-word}
@media (max-width:620px){
  .aw-prose h2,.aw-prose h3,.aw-mast h1,.awn-head h1{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:9 4 4}
}

/* touch targets: standalone links get a 24px tall hit area (WCAG 2.2 AA) */
.aw-foot ul{gap:4px 20px}
.aw-foot li a{display:inline-block;padding:7px 0}
.aw-doc .aw-mast .kicker{padding:4px 0}
.aw-doc .aw-mast .meta a{display:inline-block;padding:5px 0}
.aw-doc .aw-back,.aw-doc .aw-author .more{padding:3px 0}
