/* v231 inline style block 1 */
/* ==========================================================================
   KK TRAFFIC MAP  v205
   Shared "Profile Views Worldwide" widget — city-level, zoomable.
   Used by:  /index.html  (theme: dark)
             /books/index.html  (theme: light)
   Themed entirely through the CSS custom properties in .kk-traffic below,
   so it can sit on the dark acting site and the white books page unchanged.
   ========================================================================== */

.kk-traffic {
  /* -- dark theme defaults (main site) -- */
  --kkt-accent: #E7C77A;
  --kkt-accent-bright: #F6E3A8;
  --kkt-live: #5FD86A;
  --kkt-text: #F4F1EC;
  --kkt-soft: rgba(157, 141, 126, 1);
  --kkt-land: rgba(157, 141, 126, .24);
  --kkt-land-hi: rgba(157, 141, 126, .34);
  --kkt-line: rgba(157, 141, 126, .15);
  --kkt-border: rgba(157, 141, 126, .12);
  --kkt-panel: rgba(8, 7, 6, .18);
  --kkt-btn-bg: rgba(30, 27, 23, .9);
  --kkt-btn-ink: #E7C77A;
  --kkt-label-halo: rgba(30, 27, 23, .96);
  --kkt-chip-bg: rgba(157, 141, 126, .06);
  --kkt-chip-border: rgba(157, 141, 126, .24);
  --kkt-chip-ink: rgba(255, 255, 255, .78);
  --kkt-font: inherit;

  grid-column: 1 / -1;
  order: 1;
  width: 100%;
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--kkt-line);
  text-align: center;
  font-family: var(--kkt-font);
}

.kk-traffic[data-theme="light"] {
  --kkt-accent: #8A6A2F;
  --kkt-accent-bright: #B4832F;
  --kkt-live: #2E9E44;
  --kkt-text: #171717;
  --kkt-soft: #6c6c6c;
  --kkt-land: rgba(23, 23, 23, .16);
  --kkt-land-hi: rgba(23, 23, 23, .24);
  --kkt-line: #ddd;
  --kkt-border: #e2e2e2;
  --kkt-panel: #f7f6f4;
  --kkt-btn-bg: #ffffff;
  --kkt-btn-ink: #6b5426;
  --kkt-label-halo: rgba(255, 255, 255, .96);
  --kkt-chip-bg: #fafafa;
  --kkt-chip-border: #ddd;
  --kkt-chip-ink: #3d3d3d;
}

.kk-traffic[hidden] { display: none; }

/* ── header ─────────────────────────────────────────────────────────── */
.kk-traffic .traffic-head {
  display: flex; align-items: center; justify-content: center;
  gap: .5rem; margin-bottom: .85rem;
}
.kk-traffic .traffic-live-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--kkt-live);
  box-shadow: 0 0 0 0 rgba(95, 216, 106, .55);
  animation: kkt-pulse-dot 1.8s ease-out infinite;
}
.kk-traffic .traffic-title {
  font-size: .6875rem; letter-spacing: .25em; text-transform: uppercase;
  color: var(--kkt-soft); opacity: .85;
}

/* ── map frame ──────────────────────────────────────────────────────── */
.kk-traffic .traffic-map-wrap {
  max-width: 620px; margin: 0 auto; position: relative; overflow: hidden;
  border: 1px solid var(--kkt-border); background: var(--kkt-panel);
}
.kk-traffic .traffic-map {
  width: 100%; height: auto; display: block;
  touch-action: pan-y;            /* page scroll wins until the user opts in */
  cursor: grab;
}
.kk-traffic .traffic-map-wrap.is-interactive .traffic-map { touch-action: none; }
.kk-traffic .traffic-map.is-dragging { cursor: grabbing; }
.kk-traffic .traffic-land { fill: var(--kkt-land); }
.kk-traffic .traffic-map-wrap.is-zoomed .traffic-land { fill: var(--kkt-land-hi); }

/* ── zoom controls ──────────────────────────────────────────────────── */
.kk-traffic .traffic-map-controls {
  position: absolute; right: .55rem; top: .55rem;
  display: flex; flex-direction: column; gap: .3rem; z-index: 2;
}
.kk-traffic .traffic-map-btn {
  width: 30px; height: 30px; padding: 0;
  border: 1px solid var(--kkt-chip-border);
  background: var(--kkt-btn-bg); color: var(--kkt-btn-ink);
  font: 600 1rem/1 inherit; cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.kk-traffic .traffic-map-btn:hover,
.kk-traffic .traffic-map-btn:focus-visible {
  background: var(--kkt-accent); color: var(--kkt-panel);
  border-color: var(--kkt-accent); outline: none;
}
.kk-traffic .traffic-map-btn[disabled] { opacity: .35; cursor: default; }
.kk-traffic .traffic-map-btn[disabled]:hover {
  background: var(--kkt-btn-bg); color: var(--kkt-btn-ink);
}

.kk-traffic .traffic-zoom-badge {
  position: absolute; left: .55rem; top: .55rem; z-index: 2;
  font-size: .6rem; letter-spacing: .08em;
  color: var(--kkt-accent); opacity: .75; pointer-events: none;
}

/* Touch hint — only ever shown on coarse pointers, see JS */
.kk-traffic .traffic-touch-hint {
  position: absolute; inset: auto 0 0 0; z-index: 2;
  padding: .3rem; font-size: .62rem; letter-spacing: .06em;
  color: var(--kkt-accent); background: var(--kkt-btn-bg);
  pointer-events: none; opacity: .9;
}
.kk-traffic .traffic-map-wrap.is-interactive .traffic-touch-hint { display: none; }

/* ── markers ────────────────────────────────────────────────────────── */
.kk-traffic .traffic-pin-group { cursor: pointer; }
.kk-traffic .traffic-pin-dot   { fill: var(--kkt-accent); }
.kk-traffic .traffic-pin-hit   { fill: transparent; }
.kk-traffic .traffic-pin-ring {
  fill: none; stroke: var(--kkt-accent); stroke-width: 1;
  transform-box: fill-box; transform-origin: center; opacity: .85;
  animation: kkt-pulse-ring 2.6s ease-out infinite;
}
.kk-traffic .traffic-pin-group.is-new .traffic-pin-dot  { fill: var(--kkt-accent-bright); }
.kk-traffic .traffic-pin-group.is-new .traffic-pin-ring { stroke: var(--kkt-accent-bright); }
.kk-traffic .traffic-pin-group.is-selected .traffic-pin-dot { fill: var(--kkt-accent-bright); }
.kk-traffic .traffic-pin-count {
  fill: #ffffff; font-weight: 700; text-anchor: middle;
  pointer-events: none; dominant-baseline: central;
}
.kk-traffic[data-theme="light"] .traffic-pin-count { fill: #ffffff; }
.kk-traffic .traffic-pin-label {
  fill: var(--kkt-text); font-weight: 600;
  paint-order: stroke; stroke: var(--kkt-label-halo); stroke-linejoin: round;
  pointer-events: none; opacity: .92;
}
.kk-traffic .traffic-pin-group:hover .traffic-pin-dot { fill: var(--kkt-accent-bright); }

/* ── region shortcuts ───────────────────────────────────────────────── */
.kk-traffic .traffic-regions {
  max-width: 620px; margin: .55rem auto 0;
  display: flex; justify-content: center; flex-wrap: wrap; gap: .3rem;
}
.kk-traffic .traffic-region {
  border: 1px solid var(--kkt-chip-border); background: transparent;
  color: var(--kkt-soft); padding: .26rem .5rem;
  font-size: .6rem; letter-spacing: .1em; text-transform: uppercase;
  cursor: pointer; transition: color .25s ease, border-color .25s ease;
}
.kk-traffic .traffic-region:hover,
.kk-traffic .traffic-region:focus-visible,
.kk-traffic .traffic-region.is-active {
  border-color: var(--kkt-accent); color: var(--kkt-accent); outline: none;
}

/* ── detail line, city chips, ticker, stats ─────────────────────────── */
.kk-traffic .traffic-map-detail {
  min-height: 1.25rem; margin: .55rem auto 0;
  font-size: .7rem; color: var(--kkt-accent); letter-spacing: .03em;
}
.kk-traffic .traffic-cities {
  max-width: 620px; margin: .65rem auto 0;
  display: flex; justify-content: center; flex-wrap: wrap; gap: .38rem;
}
.kk-traffic .traffic-city {
  border: 1px solid var(--kkt-chip-border); background: var(--kkt-chip-bg);
  color: var(--kkt-chip-ink); padding: .35rem .55rem;
  font-size: .64rem; cursor: pointer;
  transition: color .25s ease, border-color .25s ease;
}
.kk-traffic .traffic-city:hover,
.kk-traffic .traffic-city:focus-visible,
.kk-traffic .traffic-city.is-active {
  border-color: var(--kkt-accent); color: var(--kkt-accent); outline: none;
}
.kk-traffic .traffic-city-count { opacity: .6; }

.kk-traffic .traffic-ticker {
  max-width: 420px; margin: .9rem auto 0; height: 1.3rem;
  position: relative; overflow: hidden;
}
.kk-traffic .traffic-ticker-item {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center; gap: .4rem;
  font-size: .72rem; color: var(--kkt-text); opacity: 0;
  transition: opacity .6s ease; white-space: nowrap;
}
.kk-traffic .traffic-ticker-item.is-active { opacity: .85; }

.kk-traffic .traffic-stats {
  text-align: center; font-size: .68rem; letter-spacing: .06em;
  color: var(--kkt-text); opacity: .6; margin-top: .55rem;
}
.kk-traffic .traffic-placeholder {
  display: none; text-align: center; font-size: .7rem;
  color: var(--kkt-text); opacity: .55; letter-spacing: .03em;
}
.kk-traffic.is-empty .traffic-ticker,
.kk-traffic.is-empty .traffic-cities,
.kk-traffic.is-empty .traffic-regions { display: none; }
.kk-traffic.is-empty .traffic-placeholder { display: block; }

@keyframes kkt-pulse-dot {
  0%   { box-shadow: 0 0 0 0 rgba(95, 216, 106, .55); }
  70%  { box-shadow: 0 0 0 6px rgba(95, 216, 106, 0); }
  100% { box-shadow: 0 0 0 0 rgba(95, 216, 106, 0); }
}
@keyframes kkt-pulse-ring {
  0%   { transform: scale(1);   opacity: .85; }
  100% { transform: scale(4.5); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .kk-traffic .traffic-pin-ring,
  .kk-traffic .traffic-live-dot { animation: none; }
  .kk-traffic .traffic-pin-ring { opacity: .35; }
}

/* ── books page placement ───────────────────────────────────────────── */
.books-traffic-wrap {
  max-width: 1500px; margin: 0 auto 26px; padding: 0 20px;
}
.books-traffic-wrap .kk-traffic { margin-top: 0; }
.books-traffic-privacy {
  margin-top: .7rem; font-size: .62rem; letter-spacing: .06em;
  color: var(--kkt-soft, #6c6c6c);
}
.books-traffic-privacy a { color: inherit; }


/* v231 inline style block 2 */
:root{--paper:#F9F8F7;--band:#F2F0EE;--line:#E4E0DC;--soft:#9D8D7E;--soft-readable:#C8B8AA;--muted:#AC9A89;--base:#4F453C;--deep:#332C27;--ink:#1E1B17;--edge:rgba(157,141,126,.30);--glow:rgba(79,69,60,.55);--trans:all .3s cubic-bezier(.4,0,.2,1);--font-serif:'Cormorant', Georgia, serif;--font-sans:'DM Sans', system-ui, sans-serif;--nav-h:76px;--sec-v:clamp(3rem, 7vw, 6rem);--sec-h:clamp(1.25rem, 5vw, 4.5rem);}
*, *::before, *::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
body{background:var(--ink);color:var(--band);font-family:var(--font-sans);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.65;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
/* Version 172: inline-SVG icon system replacing Font Awesome's webfont (sprite defined once in body). */
.icon{display:inline-block;width:1em;height:1em;fill:currentColor;vertical-align:-.125em;flex-shrink:0;}
.skip{position:absolute;top:-99px;left:1rem;padding:.5rem 1rem;background:var(--soft);color:var(--ink);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;z-index:9999;border-radius:0;transition:top .2s;}
.skip:focus{top:.75rem;}
.eyebrow{display:block;font-family:var(--font-sans);font-size:.6875rem;letter-spacing:.35em;text-transform:uppercase;color:var(--soft);opacity:.8;margin-bottom:.6rem;}
.rule{width:2.5rem;height:1px;background:var(--soft);margin:.9rem auto 0;opacity:.4;}
.rule-left{margin-left:0;}
.nav.scrolled{height:var(--nav-h);box-shadow:0 4px 40px rgba(30,27,23,.6);}
.nav-logo:hover{color:var(--soft);}
.burger{display:flex;flex-direction:column;justify-content:space-between;width:26px;height:18px;background:none;border:none;cursor:pointer;padding:0;z-index:2;}
.burger span{display:block;width:100%;height:1.5px;background:var(--paper);border-radius:2px;transform-origin:center;transition:var(--trans);}
.burger.open span:nth-child(1){transform:translateY(8.25px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.burger.open span:nth-child(3){transform:translateY(-8.25px) rotate(-45deg);}
.nav-drawer{position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(30,27,23,.99);border-bottom:1px solid var(--edge);padding:1.5rem 1.25rem 2rem;transform:translateY(-110%);transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:590;}
.nav-drawer.open{transform:translateY(0);}
.nav-drawer ul{list-style:none;display:flex;flex-direction:column;gap:.1rem;}
.nav-drawer a{display:block;padding:.7rem 0;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--band);opacity:.55;border-bottom:1px solid var(--edge);transition:var(--trans);}
.nav-drawer a:hover{opacity:1;color:var(--soft);padding-left:.5rem;}
.nav-links-desktop{display:none;list-style:none;gap:0;}
.nav-links-desktop a::after{content:'';position:absolute;bottom:-2px;left:.75rem;right:.75rem;height:1px;background:var(--soft);transform:scaleX(0);transition:transform .25s;}
.nav-links-desktop a:hover::after{transform:scaleX(1);}
.hero-body{position:relative;z-index:5;padding:3rem var(--sec-h) 3.5rem;width:100%;max-width:720px;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .9rem;border:1px solid var(--edge);background:var(--glow);font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;color:var(--soft);margin-bottom:1.4rem;backdrop-filter:blur(8px);animation:fadeUp .9s ease both;}
.hero-divider{width:2.8rem;height:1px;background:var(--soft);opacity:.5;margin:1.1rem 0;animation:fadeUp .9s ease .22s both;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.6rem;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;font-weight:700;font-family:var(--font-sans);cursor:pointer;border:1px solid transparent;transition:var(--trans);white-space:nowrap;}
.btn:focus-visible{outline:2px solid var(--soft);outline-offset:3px;}
.btn-primary{background:var(--soft);color:var(--ink);border-color:var(--soft);}
.btn-primary:hover{background:var(--line);border-color:var(--line);}
.btn-ghost{background:transparent;color:var(--paper);border-color:var(--edge);}
.btn-ghost:hover{border-color:var(--soft);color:var(--soft);}
.chip{padding:.25rem .8rem;border:1px solid var(--edge);background:var(--glow);font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);transition:border-color .3s;}
.chip:hover{border-color:var(--soft);}
.scroll-cue{position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);display:none;flex-direction:column;align-items:center;gap:.4rem;opacity:.3;animation:fadeUp 1s ease .9s both;z-index:5;}
.scroll-cue span{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;}
.scroll-line{width:1px;height:2.5rem;background:linear-gradient(to bottom, var(--soft), transparent);animation:scrollDrop 2s ease-in-out infinite;}
@keyframes scrollDrop{ 0%,100%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} }
@keyframes fadeUp{ from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
.sec{padding:var(--sec-v) var(--sec-h);}
.sec-alt{background:var(--ink);}
.sec-hd{text-align:center;margin-bottom:2.75rem;}
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease;}
.rv.on{opacity:1;transform:translateY(0);}
.rv-d1{transition-delay:.08s;}
.rv-d2{transition-delay:.16s;}
.rv-d3{transition-delay:.24s;}
.reel-wrap{max-width:680px;margin:0 auto 1.25rem;position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--edge);background:var(--ink);box-shadow:0 8px 56px rgba(30,27,23,.6);}
.reel-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(30,27,23,.12);}
.play-ring{width:64px;height:64px;border-radius:50%;border:1.5px solid rgba(157,141,126,.7);display:flex;align-items:center;justify-content:center;color:var(--soft);font-size:1.2rem;background:rgba(30,27,23,.3);backdrop-filter:blur(4px);cursor:pointer;padding-left:3px;transition:var(--trans);}
.play-ring:hover{border-color:var(--soft);transform:scale(1.08);background:rgba(157,141,126,.12);box-shadow:0 0 0 8px rgba(157,141,126,.1);}
.reel-bar{position:absolute;bottom:0;left:0;right:0;padding:.625rem 1rem;background:linear-gradient(to top, rgba(30,27,23,.88), transparent);display:flex;align-items:center;gap:.625rem;}
.reel-bar .icon{color:var(--paper);font-size:.65rem;opacity:.5;}
.prog{flex:1;height:2px;background:rgba(249,248,247,.1);border-radius:2px;position:relative;cursor:pointer;}
.prog-fill{height:100%;background:var(--soft);border-radius:2px;width:0%;}
.prog-dot{width:8px;height:8px;border-radius:50%;background:var(--soft);position:absolute;top:-3px;left:0%;transform:translateX(-50%);}
.tab-row::-webkit-scrollbar{display:none;}
.tab-btn:hover{opacity:.75;}
.tab-btn.active{opacity:1;color:var(--paper);border-bottom-color:var(--soft);}
.tab-pane{display:none;}
.tab-pane.active{display:block;}
.works-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:920px;margin:0 auto;}
.work-card{position:relative;overflow:hidden;background:var(--deep);cursor:pointer;width:100%;}
.work-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:filter .5s ease, transform .5s ease;display:block;}
.work-card:hover .work-card-img{transform:scale(1.04);}
.work-card-info{padding:.75rem .5rem .5rem;}
.work-card-title{font-family:var(--font-serif);font-size:1rem;color:var(--paper);margin-bottom:.2rem;}
.work-card-meta{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.work-card-meta span{color:var(--soft);}
.vid-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px;max-width:960px;margin:0 auto;}
.vid-card{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ink);border:1px solid var(--edge);box-shadow:0 6px 32px rgba(30,27,23,.5);cursor:pointer;width:100%;display:block;padding:0;text-align:left;font:inherit;color:inherit;-webkit-appearance:none;appearance:none;}
.vid-card:focus-visible{outline:2px solid var(--soft);outline-offset:3px;}
.vid-card img{width:100%;height:100%;object-fit:cover;transition:filter .4s, transform .4s;display:block;}
.vid-card:hover img{transform:scale(1.03);}
.vid-play-ring{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.vid-play-ring span{width:54px;height:54px;border-radius:50%;border:2px solid var(--soft);background:rgba(30,27,23,.5);display:flex;align-items:center;justify-content:center;color:var(--soft);font-size:1.1rem;backdrop-filter:blur(4px);transition:background .3s, transform .3s;}
.vid-card:hover .vid-play-ring span{background:var(--soft);color:var(--ink);transform:scale(1.1);}
.vid-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vid-card-wrap{display:flex;flex-direction:column;gap:.55rem;width:100%;}
.vid-card-title{font-family:var(--font-serif);font-size:.92rem;color:var(--paper);line-height:1.4;padding:0 .1rem;}
.vid-card-title em{font-style:italic;color:var(--soft);font-size:.82rem;display:block;margin-top:.15rem;letter-spacing:.03em;}
.video-fallback-link{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;margin:.05rem .1rem 0;color:var(--paper);font-family:var(--font-sans);font-size:.66rem;font-weight:600;letter-spacing:.08em;line-height:1.4;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--soft);text-underline-offset:.25em;opacity:.82;transition:color .25s,opacity .25s;}
.video-fallback-link:hover{color:var(--soft);opacity:1;}
.video-fallback-link .icon{font-size:.9rem;text-decoration:none;}
.reel-youtube-link{display:flex;width:max-content;max-width:calc(100% - 2rem);justify-content:center;margin:.7rem auto 0;text-align:center;}
.resume-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:rgba(30,27,23,.88);overflow-y:auto;-webkit-overflow-scrolling:touch;}
.resume-modal.open{display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem 4rem;}
.resume-box{background:var(--ink);border:1px solid var(--edge);width:100%;max-width:720px;position:relative;padding:2.5rem 2rem 3rem;}
.resume-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--paper);font-size:1.3rem;opacity:.6;transition:opacity .2s, color .2s;z-index:1;}
.resume-close:hover{opacity:1;color:var(--soft);}
.resume-name{font-family:var(--font-serif);font-size:2rem;font-weight:400;letter-spacing:.12em;color:var(--soft);text-align:center;text-transform:uppercase;margin-bottom:.25rem;}
.resume-tagline{text-align:center;font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--band);opacity:.6;margin-bottom:.5rem;}
.resume-contact-row{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--edge);}
.resume-contact-row a{color:var(--soft);text-decoration:none;}
.resume-section{margin-bottom:1.5rem;}
.resume-section-title{font-size:.6875rem;letter-spacing:.28em;text-transform:uppercase;color:var(--soft);border-bottom:1px solid rgba(157,141,126,.2);padding-bottom:.4rem;margin-bottom:.875rem;}
.resume-row{display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;margin-bottom:.55rem;align-items:baseline;}
.resume-row-title{font-size:.78rem;color:var(--paper);font-weight:600;}
.resume-row-role{font-size:.72rem;color:var(--band);}
.resume-row-dir{font-size:.6875rem;color:var(--muted);text-align:right;font-style:italic;}
.resume-row-sub{font-size:.6875rem;color:var(--muted);grid-column:1/-1;}
.resume-training-item{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.45rem;font-size:.75rem;color:var(--paper);border-bottom:1px solid rgba(157,141,126,.06);padding-bottom:.35rem;}
.resume-training-loc{font-size:.6rem;color:var(--muted);font-style:italic;}
@media (max-width:479px){
.resume-box{padding:2rem 1.1rem 2.5rem;}
.resume-name{font-size:1.4rem;}
.resume-row{grid-template-columns:1fr;}
.resume-row-dir{text-align:left;}
}
.vid-modal{display:none;position:fixed;inset:0;z-index:1000;background:rgba(30,27,23,.93);align-items:center;justify-content:center;padding:1rem;}
.vid-modal.open{display:flex;}
.vid-modal-inner{position:relative;width:100%;max-width:860px;}
.vid-modal-frame{position:relative;aspect-ratio:16/9;background:var(--ink);border:1px solid rgba(157,141,126,.25);box-shadow:0 12px 64px rgba(30,27,23,.8);overflow:hidden;}
.vid-modal-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vid-modal-close{position:absolute;top:-2.6rem;right:0;width:34px;height:34px;border:1px solid rgba(157,141,126,.3);background:transparent;color:var(--paper);font-size:.8rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--trans);font-family:inherit;}
.vid-modal-close:hover{border-color:var(--soft);color:var(--soft);}
.vid-modal-fallback{display:none;position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);gap:1rem;text-align:center;padding:2rem;}
.vid-modal-fallback.show{display:flex;}
.vid-modal-fallback p{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.vid-modal-yt-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.8rem;border:1px solid var(--soft);color:var(--soft);background:transparent;font-family:inherit;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;cursor:pointer;text-decoration:none;transition:var(--trans);}
.vid-modal-yt-btn:hover{background:var(--soft);color:var(--ink);}
.timeline{margin-top:1.6rem;padding-left:1.2rem;border-left:1px solid var(--edge);}
.tl-item{position:relative;margin-bottom:1.1rem;}
.tl-item::before{content:'';position:absolute;left:-1.45rem;top:.4rem;width:6px;height:6px;border-radius:50%;background:var(--soft);border:2px solid var(--ink);box-shadow:0 0 0 1px var(--soft);}
.tl-year{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);margin-bottom:.15rem;}
.tl-school{font-size:.8rem;color:var(--paper);font-weight:500;}
.gal-heads{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:14px;max-width:100%;margin:0 auto;padding:.25rem 0 1rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scroll-padding-inline:var(--sec-h);scrollbar-width:thin;scrollbar-color:var(--soft) transparent;-webkit-overflow-scrolling:touch;}
.stills-carousel{position:relative;display:block;max-width:1120px;margin:0 auto;}
.gal-stills{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;gap:14px;max-width:100%;margin:0;padding:.25rem 58px 1rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scroll-padding-inline:58px;scrollbar-width:thin;scrollbar-color:var(--soft) transparent;-webkit-overflow-scrolling:touch;}
.stills-carousel .gal-stills .gal-item{width:auto;flex:0 0 min(78vw,340px);scroll-snap-align:center;border:1px solid var(--edge);}
.stills-carousel .gal-stills .gal-item img{aspect-ratio:4/3;object-fit:contain;object-position:center;background:var(--deep);}
.stills-carousel-nav{position:absolute;top:50%;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid var(--soft);border-radius:50%;background:rgba(30,27,23,.94);color:var(--paper);cursor:pointer;transform:translateY(-50%);transition:var(--trans);}
.stills-carousel-prev{left:6px;}
.stills-carousel-next{right:6px;}
.stills-carousel-nav:hover,.stills-carousel-nav:focus-visible{background:var(--soft);color:var(--ink);outline:none;}
.gal-item{position:relative;overflow:hidden;cursor:pointer;background:var(--deep);}
.gal-heads .gal-item{width:auto;flex:0 0 min(82vw,340px);scroll-snap-align:center;border:1px solid var(--edge);}
.gal-stills .gal-item{width:calc(50% - 7px);}
.gal-item img{width:100%;display:block;object-fit:cover;transition:var(--trans);}
.gal-heads .gal-item img{aspect-ratio:3/2;object-fit:contain;object-position:center;background:var(--deep);}
.gal-stills .gal-item img{aspect-ratio:4/3;}
.gal-item:hover img{transform:scale(1.05);}
.gal-item:hover .gal-ov{opacity:1;}
.gal-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(157,141,126,.05);opacity:0;transition:opacity .3s;}
.gal-icon{width:32px;height:32px;border:1px solid var(--soft);display:flex;align-items:center;justify-content:center;color:var(--soft);font-size:.7rem;}
.headshot-open,.stills-open{position:relative;display:block;width:100%;padding:0;border:0;background:var(--deep);color:inherit;cursor:zoom-in;}
.headshot-open:focus-visible,.stills-open:focus-visible{outline:3px solid var(--paper);outline-offset:-5px;}
.headshot-open:hover .gal-ov,.headshot-open:focus-visible .gal-ov,.stills-open:hover .gal-ov,.stills-open:focus-visible .gal-ov{opacity:1;}
.headshot-open:hover img,.headshot-open:focus-visible img,.stills-open:hover img,.stills-open:focus-visible img{transform:scale(1.025);}
.headshot-lightbox{width:min(96vw,1400px);max-width:none;max-height:94dvh;margin:auto;padding:0;border:1px solid var(--edge);background:var(--ink);color:var(--paper);box-shadow:0 24px 100px rgba(0,0,0,.75);overflow:hidden;}
.headshot-lightbox:not([open]){display:none;}
.headshot-lightbox::backdrop{background:rgba(10,9,8,.9);backdrop-filter:blur(8px);}
.headshot-lightbox-shell{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;min-height:min(86dvh,850px);}
.headshot-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;height:100%;padding:4rem clamp(3.5rem,7vw,7rem) 1.5rem;touch-action:pan-y;background:#151310;}
.headshot-lightbox picture{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;}
.headshot-lightbox-img{display:block;width:auto;max-width:min(72vw,1200px);height:auto;max-height:min(72dvh,800px);object-fit:contain;box-shadow:0 10px 50px rgba(0,0,0,.45);}
.stills-lightbox-img{width:min(82vw,960px);max-width:none;height:min(72dvh,720px);max-height:none;object-fit:contain;image-rendering:auto;}
.headshot-lightbox-close,.headshot-lightbox-nav{position:absolute;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(249,248,247,.45);border-radius:50%;background:rgba(30,27,23,.82);color:var(--paper);cursor:pointer;transition:var(--trans);}
.headshot-lightbox-close:hover,.headshot-lightbox-nav:hover{background:var(--soft);color:var(--ink);border-color:var(--soft);}
.headshot-lightbox-close{top:1rem;right:1rem;font-size:1rem;}
.headshot-lightbox-prev{left:1rem;top:50%;transform:translateY(-50%);}
.headshot-lightbox-next{right:1rem;top:50%;transform:translateY(-50%);}
.headshot-lightbox-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;border-top:1px solid var(--edge);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--band);}
.headshot-lightbox-counter{color:var(--soft);white-space:nowrap;}
.vo-intro{max-width:520px;margin:0 auto 2.5rem;text-align:center;font-size:1rem;line-height:1.8;opacity:.75;}
.vo-grid{display:grid;grid-template-columns:1fr;gap:.875rem;max-width:820px;margin:0 auto;}
.vo-card{background:var(--deep);border:1px solid var(--edge);padding:1.4rem 1.3rem 1.1rem;transition:border-color .3s;}
.vo-card:hover{border-color:rgba(157,141,126,.35);}
.vo-lbl{font-size:.6875rem;letter-spacing:.25em;text-transform:uppercase;color:var(--soft);opacity:.8;margin-bottom:.35rem;}
.vo-title{font-family:var(--font-serif);font-size:1.1rem;color:var(--paper);margin-bottom:.2rem;}
.vo-desc{font-size:1rem;color:var(--muted);margin-bottom:.9rem;}
.ap{display:flex;align-items:center;gap:.7rem;background:var(--ink);padding:.65rem .875rem;border:1px solid rgba(157,141,126,.06);}
.ap-real{display:grid;grid-template-columns:1fr;gap:.65rem;}
.ap-controls{display:flex;align-items:center;justify-content:center;gap:.45rem;}
.ap-btn{width:32px;height:32px;border-radius:50%;background:var(--soft);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:.6rem;cursor:pointer;flex-shrink:0;border:none;padding-left:2px;transition:background .2s;}
.ap-btn:hover{background:var(--line);}
.ap-skip-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid rgba(157,141,126,.35);border-radius:50%;background:transparent;color:var(--paper);font-family:inherit;font-size:.58rem;cursor:pointer;transition:var(--trans);}
.ap-skip-btn:hover,.ap-skip-btn:focus-visible{background:var(--soft);color:var(--ink);border-color:var(--soft);outline:none;}
.ap-skip-btn .icon{font-size:.58rem;}
.ap-skip-seconds{font-size:.6875rem;font-weight:700;letter-spacing:-.04em;}
.ap-bar{flex:1;}
.ap-track{width:100%;height:2px;background:rgba(249,248,247,.08);border-radius:2px;position:relative;margin-bottom:.3rem;}
.ap-track[role="slider"]{height:6px;cursor:ew-resize;touch-action:none;user-select:none;}
.ap-track[role="slider"] .ap-dot{top:50%;transform:translate(-50%,-50%);}
.ap-track[role="slider"]:focus-visible{outline:2px solid var(--paper);outline-offset:5px;}
.ap-fill{height:100%;background:var(--soft);border-radius:2px;width:0%;}
.ap-dot{width:7px;height:7px;border-radius:50%;background:var(--soft);position:absolute;top:-2.5px;left:0%;transform:translateX(-50%);}
.ap-meta{display:flex;justify-content:space-between;}
.ap-t{font-size:.6875rem;color:var(--muted);letter-spacing:.06em;}
.vo-audio{display:none;}
.podcast-feature{display:flex;flex-wrap:wrap;gap:1.75rem;max-width:820px;margin:0 auto 2rem;align-items:flex-start;}
.podcast-cover{width:180px;flex-shrink:0;border-radius:14px;box-shadow:0 6px 40px rgba(30,27,23,.5);margin:0 auto;}
.podcast-feature-copy{flex:1 1 320px;min-width:0;}
.podcast-grid{max-width:1120px;align-items:start;}
.vo-tab-pane .vo-grid.podcast-grid{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){.vo-tab-pane .vo-grid.podcast-grid{grid-template-columns:1fr;}.podcast-grid{max-width:820px;}}
@media (max-width:640px){.podcast-feature{justify-content:center;text-align:center;}.podcast-cover{width:140px;}}
.vo-coming-soon{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:47px;padding:.65rem .875rem;border:1px solid rgba(157,141,126,.12);background:var(--ink);color:var(--soft);font-size:.6875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;}
.vo-coming-soon .icon{font-size:.7rem;opacity:.75;}
.tab-row.vo-tabs{max-width:1120px;margin-left:auto;margin-right:auto;justify-content:center;flex-wrap:wrap;overflow:visible;}
.vo-tabs .tab-btn{min-width:160px;padding:1rem 1.6rem;font-size:.82rem;}
.vo-tab-pane .vo-grid{grid-template-columns:1fr;}
.vo-placeholder{max-width:820px;margin:0 auto;}
@media (max-width:639px){
#gallery > .tab-row{justify-content:center;overflow:visible;width:100%;}
.tab-row.vo-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:.5rem;width:100%;max-width:none;overflow:visible;}
.vo-tabs .tab-btn{width:100%;min-width:0;padding:.7rem .2rem;font-size:clamp(.6875rem,2.25vw,.75rem);line-height:1.2;white-space:normal;}
}
.books-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:760px;margin:0 auto;}
.book-card{text-align:center;cursor:pointer;}
.book-cover{width:100%;max-width:200px;margin:0 auto 1rem;aspect-ratio:2/3;background:var(--deep);border:1px solid var(--edge);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 40px rgba(30,27,23,.5);position:relative;transition:var(--trans);}
.book-cover::before{content:'';position:absolute;inset:6px;border:1px solid var(--edge);}
.book-cover i{font-size:1.6rem;color:var(--soft);opacity:.28;}
.book-card:hover .book-cover{transform:translateY(-5px);box-shadow:0 14px 48px rgba(30,27,23,.6);}
.book-title{font-family:var(--font-serif);font-size:1rem;color:var(--paper);margin-bottom:.25rem;}
.book-sub{font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem;}
.book-btn{display:inline-block;padding:.45rem 1.1rem;border:1px solid var(--edge);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);transition:var(--trans);}
.book-btn:hover{background:var(--soft);color:var(--ink);}
.book-btn-soon{display:inline-block;padding:.45rem 1.1rem;border:1px solid rgba(157,141,126,.2);font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);opacity:.7;cursor:default;}
.about-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:start;max-width:960px;margin:0 auto;}
.about-img-wrap{position:relative;align-self:start;}
.about-image-link::after{display:none!important;}
.about-img{width:100%;max-width:220px;margin:0 auto;display:block;object-fit:cover;object-position:top;box-shadow:0 8px 56px rgba(30,27,23,.55);}
.about-photo-credit{font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);opacity:.9;text-align:center;margin-top:.6rem;font-style:italic;}
.about-badge{position:absolute;bottom:-12px;right:max(0px, calc(50% - 190px));width:88px;height:88px;background:var(--soft);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.badge-num{font-family:var(--font-serif);font-size:1.7rem;font-weight:400;line-height:1;}
.badge-lbl{font-size:.42rem;letter-spacing:.16em;text-transform:uppercase;margin-top:.2rem;opacity:.85;}
.about-copy p{font-size:1rem;line-height:1.9;opacity:.85;margin-bottom:1rem;}
.about-copy details:not([open]){margin-top:auto;}
.about-copy details[open]{display:flex;flex-direction:column;}
.about-copy details[open] > summary{order:1;align-self:flex-start;margin-top:.5rem;}
.facts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;margin-top:1.6rem;}
.fact{padding:.75rem 1rem;border:1px solid var(--edge);background:var(--deep);}
.fact-lbl{font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin-bottom:.2rem;}
.fact-val{font-size:.8rem;color:var(--paper);font-weight:500;}
.rep-grid{display:grid;grid-template-columns:1fr;gap:1rem;max-width:900px;margin:0 auto 2.5rem;align-items:stretch;}
.rep-card{background:var(--deep);border:1px solid var(--edge);padding:2rem 1.75rem;display:flex;flex-direction:column;}
.rep-icon{width:42px;height:42px;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:.9rem;margin-bottom:1.1rem;}
.rep-lbl{font-size:.6875rem;letter-spacing:.3em;text-transform:uppercase;color:var(--soft);margin-bottom:.45rem;opacity:.75;}
.rep-name{font-family:var(--font-serif);font-size:1.3rem;color:var(--paper);margin-bottom:.15rem;}
.rep-agency{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem;}
.rep-rows{display:flex;flex-direction:column;gap:.625rem;}
.rep-row{display:flex;align-items:center;gap:.625rem;}
.rep-row-icon{width:26px;height:26px;background:rgba(157,141,126,.1);display:flex;align-items:center;justify-content:center;color:var(--soft);font-size:.65rem;flex-shrink:0;}
.rep-row-text{font-size:1rem;color:var(--band);opacity:.85;}
.rep-row-text a{transition:color .25s;}
.rep-row-text a:hover{color:var(--soft);}
.email-plain{font-size:.75rem;color:var(--band);opacity:.75;}
.rep-hidden-notice{display:flex;align-items:center;gap:.6rem;padding:.6rem .875rem;border:1px dashed rgba(157,141,126,.2);background:rgba(157,141,126,.04);font-size:.62rem;letter-spacing:.1em;color:#fff;font-style:italic;margin-top:.5rem;}
.rep-hidden-notice .icon{color:var(--soft);opacity:.5;font-size:.7rem;}
.rep-hidden-notice a{font-style:normal;font-size:.78rem;letter-spacing:.02em;}
.contact-wrap{max-width:680px;margin:3rem auto 0;}
.contact-form-card{background:var(--deep);border:1px solid var(--edge);padding:2.5rem 2rem;position:relative;}
.contact-form-card::before{content:'';position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);border-left:18px solid transparent;border-right:18px solid transparent;border-top:18px solid var(--deep);}
.contact-envelope{width:100%;max-width:320px;margin:0 auto;position:relative;}
.env-body{background:var(--ink);border:1px solid var(--edge);border-top:none;height:120px;position:relative;overflow:hidden;}
.env-flap{width:100%;height:0;border-left:160px solid transparent;border-right:160px solid transparent;border-top:60px solid var(--soft);opacity:.18;}
.env-bottom{position:absolute;bottom:0;left:0;right:0;height:0;border-left:160px solid var(--base);border-right:160px solid var(--base);border-top:60px solid transparent;}
.contact-form-title{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;color:var(--paper);text-align:center;margin-bottom:.3rem;letter-spacing:.04em;}
.contact-form-sub{text-align:center;font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);opacity:.85;margin-bottom:1.75rem;}
.form-group{margin-bottom:1.1rem;}
.form-label{display:block;font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);opacity:.8;margin-bottom:.45rem;}
.form-label span{color:var(--muted);margin-left:.15rem;}
.form-input, .form-select, .form-textarea{width:100%;background:var(--ink);border:1px solid rgba(157,141,126,.18);color:var(--paper);font-family:var(--font-sans);font-size:1rem;padding:.75rem 1rem;outline:none;transition:border-color .25s;border-radius:0;-webkit-appearance:none;}
.form-input:focus, .form-select:focus, .form-textarea:focus{border-color:rgba(157,141,126,.55);background:rgba(157,141,126,.04);}
.form-input::placeholder, .form-textarea::placeholder{color:var(--muted);opacity:.45;}
.form-select{cursor:pointer;}
.form-select option{background:var(--ink);color:var(--paper);}
.form-static-value{width:100%;background:var(--ink);border:1px solid rgba(157,141,126,.18);color:var(--paper);font-family:var(--font-sans);font-size:.78rem;padding:.75rem 1rem;margin:0;}
.form-textarea{resize:vertical;min-height:110px;line-height:1.7;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.875rem;}
.captcha-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--ink);border:1px solid rgba(157,141,126,.18);margin-bottom:1.1rem;}
.captcha-question{font-family:var(--font-serif);font-size:1rem;color:var(--paper);white-space:nowrap;}
.captcha-equals{color:var(--soft);font-size:.8rem;margin:0 .2rem;}
.captcha-input{width:70px;flex-shrink:0;background:var(--deep);border:1px solid rgba(157,141,126,.25);color:var(--paper);font-size:1rem;padding:.4rem .6rem;text-align:center;font-family:var(--font-serif);outline:none;transition:border-color .25s;}
.captcha-input:focus{border-color:var(--soft);}
.captcha-input::-webkit-outer-spin-button, .captcha-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.captcha-input[type=number]{-moz-appearance:textfield;}
.captcha-refresh{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.8rem;padding:.2rem;transition:color .2s;margin-left:auto;}
.captcha-refresh:hover{color:var(--soft);}
.form-submit{width:100%;padding:.9rem 2rem;background:var(--soft);color:var(--ink);font-family:var(--font-sans);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;border:none;cursor:pointer;transition:background .25s, transform .15s;}
.form-submit:hover{background:var(--line);transform:translateY(-1px);}
.form-submit:active{transform:translateY(0);}
.form-msg{display:none!important;text-align:center;padding:1rem;margin-top:1rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;}
.form-msg.is-visible{display:block!important;}
.form-msg.success{color:var(--soft);border:1px solid rgba(157,141,126,.3);background:rgba(157,141,126,.06);}
.form-msg.error{color:var(--soft);border:1px solid rgba(231,76,60,.3);background:rgba(231,76,60,.06);}
.contact-form-card .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.form-submit:disabled{cursor:wait;opacity:.65;transform:none;}
#cf-submit{color:#fff !important;}
@media (max-width:479px){
.form-row{grid-template-columns:1fr;}
.contact-form-card{padding:1.75rem 1.25rem;}
}
.cast-grid{display:grid;grid-template-columns:1fr;gap:.5rem;max-width:900px;margin:0 auto;}
.footer-cast-grid{grid-template-columns:repeat(2,1fr);margin:0;max-width:none;}
.footer-cast-grid .cast-card .icon{width:1rem;height:1rem;font-size:1rem;}
.footer-cast-grid .cast-card .icon-img{width:1.1rem;height:1.1rem;}
.cast-card{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border:1px solid var(--edge);background:var(--deep);transition:var(--trans);cursor:pointer;}
.cast-card:hover{border-color:var(--soft);background:var(--glow);}
.cast-card .icon{color:var(--soft);font-size:.95rem;width:20px;text-align:center;flex-shrink:0;}
.cast-card .icon-img{width:22px;height:22px;object-fit:contain;border-radius:5px;flex-shrink:0;}
.cast-name{font-size:.75rem;font-weight:600;color:var(--paper);display:block;transition:color .25s;}
.cast-card:hover .cast-name{color:var(--soft);}
.cast-sub{font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);}
.insta-sec{padding:3rem var(--sec-h);background:var(--ink);border-top:1px solid var(--edge);}
.insta-hdr{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;}
.insta-handle{font-family:var(--font-serif);font-size:1.2rem;color:var(--paper);font-style:italic;}
.insta-handle i{color:var(--soft);margin-right:.5rem;}
.insta-follow{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);border:1px solid var(--edge);padding:.5rem 1rem;transition:var(--trans);}
.insta-follow:hover{background:var(--soft);color:var(--ink);border-color:var(--soft);}
.insta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.insta-item{aspect-ratio:1;overflow:hidden;position:relative;background:var(--deep);cursor:pointer;}
.insta-item img{width:100%;height:100%;object-fit:cover;transition:var(--trans);}
.insta-item:hover img{transform:scale(1.06);}
.insta-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--trans);color:var(--paper);font-size:1.1rem;background:rgba(30,27,23,.2);}
.insta-item:hover .insta-ov{opacity:1;}
.footer{background:var(--ink);padding:1.25rem var(--sec-h) 2rem;border-top:1px solid var(--edge);}
.footer-top{display:grid;grid-template-columns:1fr;gap:2.5rem;text-align:center;margin-bottom:.75rem;}
.footer-logo{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin-bottom:.3rem;text-align:center;}
.footer-tagline{font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;opacity:.7;color:var(--paper);margin-bottom:1.25rem;text-align:center;}
.footer-col-title{font-size:.6875rem;letter-spacing:.25em;text-transform:uppercase;color:var(--soft);opacity:.75;margin-bottom:.875rem;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.footer-col a{font-size:.74rem;color:var(--paper);opacity:.85;transition:var(--trans);}
.footer-col a:hover{opacity:1;color:var(--soft);}
.footer-center ul{align-items:center;}
.social-row{display:flex;justify-content:center;flex-wrap:wrap;gap:.65rem;padding:1.5rem 0 .5rem;}
.soc{width:48px;height:48px;border:1.5px solid rgba(157,141,126,.35);display:flex;align-items:center;justify-content:center;color:var(--paper);opacity:.75;font-size:1.05rem;transition:var(--trans);background:rgba(157,141,126,.06);}
.soc:hover{opacity:1;color:var(--soft);border-color:var(--soft);background:rgba(157,141,126,.14);transform:translateY(-2px);}
.soc.txt{font-size:.6rem;font-weight:800;letter-spacing:.05em;text-align:center;line-height:1.2;color:var(--paper);opacity:.75;}
.footer-copy{text-align:center;font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85;color:var(--paper);padding-top:1.25rem;border-top:1px solid rgba(157,141,126,.1);margin-top:.5rem;}
section[id]{scroll-margin-top:calc(var(--nav-h) + 1rem);}
@media (max-width: 639px){
.stills-carousel-nav{width:38px;height:38px;}
.gal-stills{padding-inline:44px;scroll-padding-inline:44px;}
.stills-carousel .gal-stills .gal-item{flex-basis:min(70vw,280px);}
}
@media (max-width: 479px){
:root{--sec-h:1.1rem;}
.hero-name{font-size:clamp(2.4rem, 12vw, 3.2rem);line-height:1.05;}
.hero-ctas{flex-direction:column;}
.btn{width:100%;justify-content:center;}
.vid-card-wrap{width:100%;}
.facts-grid{grid-template-columns:1fr;}
.tab-btn{padding:.65rem .75rem;font-size:.5rem;}
.sec-title{font-size:clamp(1.5rem, 7vw, 2rem);}
.rep-grid{grid-template-columns:1fr;}
.form-row{grid-template-columns:1fr;}
.contact-form-card{padding:1.75rem 1.25rem;}
.footer-top{gap:1.5rem;grid-template-columns:1fr;text-align:center;}
.footer-right{text-align:center;}
.footer-right ul{align-items:stretch;}
/* v274: mobile-phone footer NAVIGATE + MORE become compact 2x2 tab grids only. */
.footer-top>.footer-col:first-child>ul,
.footer-right>ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
  width:100%;
  max-width:360px;
  margin:0 auto;
}
.footer-top>.footer-col:first-child>ul>li,
.footer-right>ul>li{margin:0;min-width:0;}
.footer-top>.footer-col:first-child>ul>li>a,
.footer-right>ul>li>a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  width:100%;
  padding:.7rem .45rem;
  border:1px solid rgba(157,141,126,.28);
  border-radius:999px;
  background:rgba(157,141,126,.045);
  line-height:1.2;
  text-align:center;
}
.footer-top>.footer-col:first-child>ul>li>a:hover,
.footer-top>.footer-col:first-child>ul>li>a:focus-visible,
.footer-right>ul>li>a:hover,
.footer-right>ul>li>a:focus-visible{
  border-color:var(--soft);
  background:rgba(157,141,126,.12);
}
.footer-cast-grid{grid-template-columns:1fr;}
}
@media (min-width: 480px) and (max-width: 639px){
.footer-cast-grid{grid-template-columns:repeat(2,1fr);}
.footer-top{grid-template-columns:1fr;text-align:center;}
.footer-right{text-align:center;}
.footer-right ul{align-items:center;}
.rep-grid{grid-template-columns:1fr;}
.form-row{grid-template-columns:1fr;}
}
@media (min-width: 640px){
.tab-btn{padding:.7rem 1.4rem;font-size:.58rem;}
.work-card{width:calc(50% - 7px);}
.vid-card-wrap{width:calc(50% - 9px);}
.vid-card{width:100%;}
.gal-heads{flex-wrap:wrap;justify-content:center;overflow:visible;scroll-snap-type:none;max-width:1040px;padding-bottom:0;}
.gal-heads .gal-item{flex:0 1 calc(50% - 7px);}
.gal-stills .gal-item{width:calc(50% - 7px);}
.vo-grid{grid-template-columns:repeat(2,1fr);}
.books-grid{grid-template-columns:repeat(3,1fr);}
.book-cover{max-width:none;}
.cast-grid{grid-template-columns:repeat(2,1fr);}
.footer-cast-grid{grid-template-columns:repeat(2,1fr);}
.rep-grid{grid-template-columns:repeat(2,1fr);}
.footer-top{grid-template-columns:1fr 1fr;text-align:left;gap:2rem;}
.footer-center{text-align:center;grid-column:1/-1;order:-1;}
.footer-center ul{align-items:center;}
.footer-right{text-align:right;}
.footer-right ul{align-items:flex-end;}
}
@media (min-width: 768px){
.footer-cast-grid{grid-template-columns:repeat(3,1fr);}
.form-row{grid-template-columns:1fr 1fr;}
}
@media (min-width: 1024px){
.hero-img{width:62%;top:0;right:0;bottom:0;left:auto;}
.hero-grad{background:linear-gradient(to right, var(--ink) 0%, var(--ink) 22%, rgba(30,27,23,.9) 38%, rgba(30,27,23,.28) 60%, rgba(30,27,23,.06) 100%),
      linear-gradient(to top, rgba(30,27,23,.75) 0%, transparent 28%);}
.hero-body{padding-bottom:5rem;}
.scroll-cue{display:flex;}
.work-card{width:calc(33.333% - 10px);}
.vid-card-wrap{width:calc(50% - 9px);}
.vid-card{width:100%;}
.gal-heads .gal-item{flex-basis:calc(25% - 11px);}
.gal-stills .gal-item{width:calc(25% - 11px);}
.about-grid{grid-template-columns:220px 1fr;gap:3rem;align-items:start;}
.about-img-wrap{width:220px;align-self:start;margin-top:.44rem;}
.about-img{margin:0;max-width:none;}
.about-copy{display:flex;flex-direction:column;min-height:330px;}
.about-badge{right:-12px;}
.cast-grid{grid-template-columns:repeat(3,1fr);}
.footer-top{grid-template-columns:150px 1fr 150px;gap:2rem;align-items:end;}
.footer-center{grid-column:auto;order:0;text-align:center;}
.footer-right{text-align:right;}
.footer-right ul{align-items:flex-end;}
.footer-cast-grid{grid-template-columns:repeat(3,1fr);}
.footer-top>.footer-col:first-child{grid-column:1;grid-row:1;}
.footer-top>.footer-center{grid-column:2;grid-row:1;}
.footer-top>.footer-right{grid-column:3;grid-row:1;}
.footer-top>.kk-traffic{grid-column:1/-1;grid-row:2;}
}
@media (min-width: 1280px){
.hero-name{font-size:clamp(4rem,6vw,7rem);}
}
@media (prefers-reduced-motion:reduce){
*, *::before, *::after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto;}
}
:focus-visible{outline:2px solid var(--soft);outline-offset:3px;}
@media print{
nav, .hero-ctas, .reel-wrap, .ap, .insta-sec, .social-row{display:none;}
body{background:white;color:black;}
.sec{padding:1rem;}
}
.paypal-donate-link{display:inline-flex;align-items:center;justify-content:center;width:116px;height:68px;padding:0;border-radius:0;background:transparent;border:0;box-shadow:none;overflow:hidden;line-height:1;letter-spacing:normal;text-transform:none;}
.paypal-donate-img{display:block;width:100%;height:100%;object-fit:contain;}
.nav-drawer .paypal-donate-link{width:180px;height:52px;margin:.5rem 0;}
.nav{position:fixed;top:0;left:0;right:0;z-index:600;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;border-bottom:1px solid var(--edge);transition:var(--trans);background:var(--ink);background-image:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
.nav-logo, .nav-logo em, .nav-logo:hover{color:var(--paper);}
.nav-logo{color:var(--paper);transition:color .25s;flex-shrink:0;z-index:2;font-family:Arial, Helvetica, sans-serif;font-size:1.1rem;font-weight:700;font-style:normal;letter-spacing:.01em;text-transform:uppercase;}
.nav-logo em{color:var(--soft);font-family:Arial, Helvetica, sans-serif;font-size:inherit;font-weight:inherit;font-style:normal;letter-spacing:.01em;}
.nav-links-desktop a{display:block;padding:.25rem .85rem;text-transform:uppercase;transition:var(--trans);white-space:nowrap;position:relative;font-family:Arial, Helvetica, sans-serif;font-size:clamp(.72rem,.82vw,.9rem);font-weight:600;letter-spacing:.01em;color:var(--paper);opacity:1;}
.nav-links-desktop a:hover{opacity:1;color:var(--paper);}
.nav-links-desktop .books-amazon-link{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;text-align:center;top:.34rem;}
.nav-links-desktop .books-amazon-link .books-amazon-sub{display:block;margin-top:.28rem;font-size:.52em;font-weight:500;letter-spacing:.06em;white-space:nowrap;}
.nav-links-desktop .paypal-donate-link, .nav-drawer .paypal-donate-link{width:140px;height:46px;min-width:140px;padding:0;background:transparent;color:inherit;border:0;font-family:Arial, Helvetica, sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;overflow:hidden;}
.nav-links-desktop .paypal-donate-link{margin-left:.35rem;flex-shrink:0;}
.paypal-donate-link .paypal-donate-img{display:block;width:100%;height:100%;object-fit:contain;}
.nav-links-desktop .paypal-donate-link::after, .nav-drawer .paypal-donate-link::after{display:none;}
.hero-name, .hero-name em{font-family:var(--font-serif);font-style:normal;font-weight:300;font-size:clamp(3.5rem,7.5vw,7.5rem);line-height:.95;letter-spacing:-.045em;text-transform:none;color:var(--paper);}
/* v281: restore the pre-v280 hero tagline typography; only line wrapping/positioning is changed. */
.hero-tag{margin-bottom:2rem;animation:fadeUp .9s ease .32s both;font-family:var(--font-serif);font-style:normal;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:400;line-height:1.45;color:var(--paper);opacity:1;letter-spacing:0;}
.hero-tag span{display:block;}
.hero-ctas{display:flex;flex-wrap:wrap;animation:fadeUp .9s ease .44s both;gap:.55rem;}
.hero-ctas .btn{min-width:0;min-height:0;padding:.38rem .72rem;border:1px solid var(--soft);border-radius:0;background:var(--base);color:var(--paper);font-family:var(--font-sans);font-size:.68rem;font-weight:700;letter-spacing:0;text-transform:uppercase;}
.hero-ctas .btn:hover{background:var(--deep);color:var(--paper);}
.hero-ctas .btn .icon{display:none;}
.hero-chips{display:flex;flex-wrap:wrap;margin-top:1.5rem;animation:fadeUp .9s ease .56s both;gap:1rem;}
.hero-chips .chip{min-height:0;padding:.25rem .8rem;border:1px solid var(--soft);border-radius:0;background:var(--base);color:var(--paper);font-family:var(--font-sans);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase;}
.hero-chips .chip:hover{background:var(--deep);color:var(--paper);}
.hero-chips .chip .icon{display:none;}
.btn, .chip, .tab-btn, .vid-modal-yt-btn, .form-submit, .captcha-refresh, .ap-btn, .play-ring{background:var(--base);color:var(--paper);border-color:var(--soft);border-radius:999px;}
.book-btn-soon{pointer-events:none;}
.hero-ctas .btn, .hero-chips .chip{border-radius:999px;}
.btn:hover, .chip:hover, .tab-btn:hover, .vid-modal-yt-btn:hover, .form-submit:hover, .captcha-refresh:hover, .ap-btn:hover, .play-ring:hover{background:var(--deep);color:var(--paper);}
.hero{position:relative;min-height:100dvh;display:flex;align-items:flex-end;overflow:hidden;-webkit-overflow-scrolling:touch;padding-top:var(--nav-h);background:var(--ink);}
main > section{border-bottom:1px solid var(--soft);}
main > section:nth-of-type(odd){background:var(--ink);}
main > section:nth-of-type(even){background:var(--base);}
.section-divider{height:1px;background:var(--soft);opacity:1;}
.reel-wrap img{width:100%;height:100%;object-fit:cover;transition:filter .5s;}
.reel-wrap:hover img{;}
.hero-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:none;}
.hero-img{position:absolute;-o-object-fit:cover;-o-object-position:center top;display:block;will-change:transform;top:auto;right:-18%;bottom:0;left:auto;width:auto;height:72%;max-width:none;object-fit:contain;object-position:right bottom;}
@media (min-width:1024px){
.hero-img{top:var(--nav-h);width:auto;height:calc(100% - var(--nav-h));max-width:none;left:auto;right:0;object-fit:contain;object-position:right bottom;}
}
@media (max-width:1023px){
.hero-img{top:var(--nav-h);right:0;bottom:auto;left:0;width:100%;height:auto;max-width:none;object-fit:contain;object-position:center top;}
}
img, video{;}
.hero-grad, .reel-overlay, .gal-ov, .insta-ov{background:transparent;}
body, button, input, textarea, select{font-family:var(--font-sans);}
h1, h2, h3, h4, h5, h6, .sec-title, .sec-title em, .work-card-title, .vid-card-title, .vo-title, .book-title, .rep-name, .contact-form-title, .footer-logo, .insta-handle{font-family:var(--font-serif);}
.footer-col-title{font-family:var(--font-sans);}
h1, h2, h3, h4, h5, h6, .sec-title, .sec-title em{color:var(--paper);}
.reel-desc{text-align:center;font-size:1rem;line-height:1.8;max-width:480px;margin:.75rem auto 1.5rem;color:var(--paper);opacity:1;}
.sec-title{font-family:var(--font-serif);font-size:clamp(1.75rem, 5vw, 3rem);font-weight:400;line-height:1.1;color:var(--paper);}
.sec-title em{font-family:var(--font-serif);font-size:inherit;font-weight:400;font-style:italic;color:var(--soft);}
.tab-row{display:flex;justify-content:center;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:1rem;margin-bottom:2.75rem;padding-bottom:.25rem;border-bottom:0;}
.tab-row.section-tabs-above{margin-bottom:1.5rem;}
.tab-btn{text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:var(--trans);white-space:nowrap;flex-shrink:0;min-height:0;padding:.75rem 1.6rem;border:1px solid var(--soft);border-radius:999px;background:var(--base);color:var(--paper);font-family:var(--font-sans);font-size:.9rem;font-weight:700;letter-spacing:0;opacity:1;}
.tab-btn:hover, .tab-btn.active{background:var(--deep);color:var(--paper);border-color:var(--soft);}
@media (max-width:600px){
.tab-row{justify-content:flex-start;gap:.75rem;margin-bottom:2rem;}
.tab-btn{padding:.7rem 1.2rem;font-size:.75rem;}
}
.hero-name{font-family:var(--font-serif);font-size:clamp(2.8rem, 10vw, 6.5rem);font-weight:400;letter-spacing:6px;text-transform:uppercase;line-height:1.05;margin-bottom:.8rem;animation:fadeUp .9s ease .12s both;color:var(--paper);font-style:italic;}
.hero-name em{display:block;font-weight:400;letter-spacing:6px;color:var(--soft);font-style:italic;}
.books-coming{margin:.7rem 0 .9rem;font-family:var(--font-serif);font-size:clamp(1.15rem, 2.4vw, 1.65rem);font-weight:400;line-height:1.1;}
.books-coming span{color:var(--paper);font-style:normal;}
.books-coming em{color:var(--soft);font-style:italic;}
.book-cover img{display:block;width:100%;height:100%;object-fit:cover;}
.book-cover:has(img)::before{display:none;}
.hero-official{margin:.45rem 0 1.25rem;color:var(--paper);font-family:var(--font-sans);font-size:clamp(.8rem, 1.2vw, 1rem);font-weight:400;line-height:1.5;}
@media (max-width:1023px){
.hero{align-items:center;}
.hero-img{top:var(--nav-h);right:0;bottom:0;left:0;width:100%;height:calc(100% - var(--nav-h));max-width:none;object-fit:cover;object-position:45% center;}
.hero-body{width:64%;max-width:64%;padding:2rem .75rem 1.5rem 1rem;}
.hero-name{margin-left:clamp(1.5rem,5vw,3rem);}
.hero-name, .hero-name em{font-size:clamp(2rem,9.5vw,4.5rem);letter-spacing:clamp(2px,.7vw,5px);}
/* Restore the original responsive tagline size from v279. */
.hero-tag{font-size:clamp(.95rem,2.8vw,1.35rem);line-height:1.45;margin-bottom:1rem;}
.hero-tag span{display:block;}
.hero-official{font-size:clamp(.6875rem,1.8vw,.9rem);}
.hero-ctas, .hero-chips{gap:.4rem;}
.hero-ctas .btn{padding:.34rem .58rem;font-size:.62rem;}
.hero-chips .chip{padding:.25rem .55rem;font-size:clamp(.6875rem,1.35vw,.78rem);}
}
@media (max-width:639px){
.hero-name{margin-left:clamp(.65rem,3.8vw,1.1rem);}
.hero-tag{font-size:clamp(.95rem,2.8vw,1.35rem);line-height:1.45;}
.hero-tag span{display:block;}
/* v281: narrower stacked phone buttons, without changing anything else in the hero. */
.hero-ctas{max-width:142px;gap:.28rem;}
.hero-ctas .btn{width:100%;padding:.30rem .38rem;font-size:.55rem;}
}
@media (min-width:1024px){
.hero-name{margin-left:clamp(3.5rem,8vw,8rem);}
/* Desktop/laptop use the original v279 tagline size, broken into three lines. */
.hero-tag{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.45;}
.hero-tag span{display:block;}
.hero-ctas{gap:.45rem;}
.hero-ctas .btn{padding:.34rem .68rem;font-size:.68rem;}
}
.footer-cast-grid .cast-card{flex-direction:row;align-items:center;justify-content:center;text-align:left;gap:.45rem;padding:.6rem 1rem;border-color:var(--soft);border-radius:999px;background:var(--base);color:var(--paper);}
.footer-cast-grid .cast-card:hover{background:var(--deep);color:var(--paper);}
html body .u1{text-decoration:none;}
html body .u2{margin-right:.4rem;font-size:.65rem;}
html body .u3{color:var(--soft);text-decoration:none;border-bottom:1px solid rgba(157,141,126,.4);}
html body .u4{color:var(--paper);text-decoration:none;border-bottom:1px solid rgba(157,141,126,.3);}
html body .u5{left:0%;}
html body .u6{opacity:.4;}
html body .u7{text-align:center;margin:55px auto 0;}
html body .u8{display:inline-block;border:1px solid #4F453C;background:#4F453C;color:#1E1B17;padding:16px 30px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;text-decoration:none;}
html body .u9{color:var(--soft);}
html body .u10{flex:1;}
html body .u11{margin-right:.5rem;}
html body .u12{font-size:1.1rem;}
html body .u13{text-align:right;}
html body .u14{color:var(--soft);text-decoration:none;opacity:.7;border-bottom:1px solid rgba(157,141,126,.3);}
html body .u15{max-width:680px;}
html body .u16{font-size:1.4rem;letter-spacing:.1em;}
html body .u17{margin-bottom:1.5rem;}
html body .u18{font-size:1rem;line-height:1.8;color:var(--band);opacity:.9;}
html body .u19{margin-bottom:1rem;}
html body .u20{color:var(--paper);}
html body .u21{margin-bottom:0;}
html body .u22{max-width:780px;width:100%;padding:4rem 0 0;overflow:hidden;}
html body .u23{position:absolute;top:.65rem;right:.75rem;z-index:10;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(30,27,23,.85);border:1px solid var(--edge);cursor:pointer;color:var(--paper);font-size:1.15rem;opacity:.9;padding:0;}
html body .u24{background:var(--deep);border-bottom:1px solid var(--edge);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;}
html body .u25{font-family:var(--font-serif);font-size:1.2rem;letter-spacing:.15em;color:var(--soft);text-transform:uppercase;}
html body .u26{font-size:.6875rem;letter-spacing:.18em;color:var(--band);text-transform:uppercase;margin-top:.2rem;}
html body .u27{display:flex;gap:.6rem;flex-wrap:wrap;}
html body .u28{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--soft);padding:.45rem 1rem;text-decoration:none;font-weight:600;white-space:nowrap;}
html body .u29{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);border:1px solid rgba(157,141,126,.4);padding:.45rem 1rem;text-decoration:none;white-space:nowrap;}
html body .u30{width:100%;background:var(--deep);}
html body .u31{width:100%;height:75vh;border:none;display:block;}
html body .u32{display:none;padding:2rem;background:var(--ink);}
html body .u33{color:var(--band);}
/* Version 158: identify every text link that opens a separate window (restored from version 148/130). */
/* Version 172: external-link glyph is now a masked inline SVG (no Font Awesome font dependency). */
a[target="_blank"]:not(.paypal-donate-link)::after{
content:"";
display:inline-block;
width:.68em;
height:.68em;
margin-left:.35em;
background-color:currentColor;
-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z'/%3E%3C/svg%3E") no-repeat center / contain;
mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z'/%3E%3C/svg%3E") no-repeat center / contain;
vertical-align:-0.05em;
}
/* Version 135: move only the large hero name vertically upward on every device. */
.hero-name{position:relative;top:calc(-1 * clamp(11.5rem,24vh,14rem));}
@media (max-width:1023px){
  .hero-name{top:calc(-1 * clamp(7rem,18vh,11rem));}
}
@media (max-width:639px){
  .hero-name{top:calc(-1 * clamp(5rem,14vh,7.5rem));}
}
/* Version 134: place supporting hero information over the portrait's shoulder. */
.hero-supporting{position:relative;z-index:6;transform:translateY(2.25rem);}
.hero-divider{display:none!important;}
@media (max-width:1023px){
  .hero-supporting{transform:translateY(clamp(3rem,7vh,4.75rem));}
}
@media (max-width:639px){
  .hero-supporting{transform:translateY(clamp(3.5rem,8vh,5.25rem));}
}
/* Version 138: move only the mobile and tablet hero name up and left. */
@media (max-width:1023px){
  .hero-name{top:calc(-1 * clamp(8.5rem,21vh,12.5rem));margin-left:-.5rem;}
}
@media (max-width:639px){
  .hero-name{top:calc(-1 * clamp(6.5rem,17vh,9rem));}
}
/* Version 139: align only the hero name left edge with Actor / Entrepreneur. */
.hero-name{margin-left:0;}
/* Version 140: fit only the three Works tabs within mobile screens. */
@media (max-width:639px){
  #works .tab-row{justify-content:center;gap:.35rem;overflow:visible;width:100%;}
  #works .tab-btn{flex:1 1 0;min-width:0;padding:.6rem .25rem;font-size:clamp(.6875rem,2vw,.75rem);letter-spacing:0;}
}
/* Version 142: halve Version 141 top and bottom spacing in main sections; preserve horizontal and social/footer spacing. */
.sec{padding-top:clamp(1rem,2vw,2rem);padding-bottom:clamp(1rem,2vw,2rem);}
/* Version 150: keep the header full-width while aligning its contents inside the Google Ad rails. */
@media (min-width:1200px){
  .nav{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:clamp(1rem,2vw,2.5rem);padding:0 clamp(1.25rem,2.4vw,3rem);}
  .nav-logo{display:block;font-size:clamp(.78rem,.82vw,1.02rem);letter-spacing:.16em;white-space:nowrap;}
  .burger{display:none;}
  .nav-links-desktop{display:flex;align-items:center;justify-content:flex-end;min-width:0;}
  .nav-links-desktop a{padding:.25rem clamp(.38rem,.55vw,.72rem);font-size:clamp(.52rem,.5vw,.66rem);letter-spacing:.14em;}
  .nav-links-desktop a::after{left:.4rem;right:.4rem;}
  .nav-links-desktop .paypal-donate-link{width:132px;height:44px;margin-left:.45rem;border-radius:0;}
}
@media (min-width:1440px){
  :root{--google-ad-rail:clamp(160px,11vw,220px);}
  .nav{left:0;right:0;padding-left:calc(var(--google-ad-rail) + clamp(1.25rem,2.4vw,3rem));padding-right:calc(var(--google-ad-rail) + clamp(1.25rem,2.4vw,3rem));}
  main,.footer{width:calc(100% - (2 * var(--google-ad-rail)));margin-left:auto;margin-right:auto;}
}
@media (min-width:1700px){
  .nav-logo{font-size:1.05rem;letter-spacing:.22em;}
  .nav-links-desktop a{padding:.25rem .78rem;font-size:.69rem;letter-spacing:.18em;}
  .nav-links-desktop .paypal-donate-link{width:140px;height:46px;}
}
/* Version 144: remove the combined recipient and make all contact-form box text white. */
.form-input,.form-select,.form-textarea,.captcha-input{color:white;}
.form-input::placeholder,.form-textarea::placeholder,.captcha-input::placeholder{color:white;opacity:1;}
/* Version 149: preserve approved spacing and improve design-system consistency and accessibility. */
#books .u7{margin:clamp(1.5rem,3vw,2.5rem) auto;}
#books .u7 + .books-coming{margin-top:0;}
#books .u8{background:#1E1B17;border-color:#1E1B17;color:#F9F8F7;font-family:Arial,Helvetica,sans-serif;font-size:.9rem;font-weight:700;letter-spacing:0;text-transform:uppercase;}
.eyebrow,.vo-lbl,.form-label,.footer-col-title,.book-sub,.cast-sub{color:var(--soft-readable);opacity:1;}
.form-label span{color:var(--soft-readable);}
:focus-visible,.btn:focus-visible{outline-color:var(--soft-readable);}
/* Version 151: reliable mobile navigation and a direct Amazon Books tab. */
@media (max-width:1199px){
  .nav-drawer{top:var(--nav-h);max-height:calc(100dvh - var(--nav-h));overflow-y:auto;transform:none;opacity:0;visibility:hidden;pointer-events:none;padding:1rem 1.25rem 1.5rem;z-index:700;}
  .nav-drawer.open{transform:none;opacity:1;visibility:visible;pointer-events:auto;}
  .nav-drawer ul{display:flex!important;visibility:visible!important;}
  .nav-drawer li{display:block!important;visibility:visible!important;}
  .nav-drawer a{display:block!important;color:var(--paper);opacity:1;}
}
/* Version 155: preserve the approved version 148 header typography after all responsive rules. */
.nav-logo{
  font-family:Arial, Helvetica, sans-serif;
  font-size:1.1rem;
  font-weight:700;
  font-style:normal;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.nav-logo em{
  font-family:Arial, Helvetica, sans-serif;
  font-size:inherit;
  font-weight:inherit;
  font-style:normal;
  letter-spacing:.01em;
}
.nav-links-desktop a{
  padding:.25rem .85rem;
  font-family:Arial, Helvetica, sans-serif;
  font-size:clamp(.72rem,.82vw,.9rem);
  font-weight:600;
  letter-spacing:.01em;
}
.nav-links-desktop .paypal-donate-link,
.nav-drawer .paypal-donate-link{
  font-family:Arial, Helvetica, sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.02em;
}


/* v231 inline style block 3 [id="main-v218-map-detail"] */
.kk-traffic .traffic-country{stroke:transparent;stroke-width:.65px}
.kk-traffic .is-zoomed .traffic-country{stroke:var(--kkt-soft)}
.kk-traffic .traffic-country-label,.kk-traffic .traffic-place-label{fill:var(--kkt-text);stroke:var(--kkt-label-halo);paint-order:stroke;stroke-linejoin:round;font-family:Arial,sans-serif}
.kk-traffic .traffic-country-label{font-weight:700}
.kk-traffic .traffic-place-dot{fill:#ffffff}


/* v231 inline style block 4 [id="v219-map-markers"] */
/* Small fixed-screen-size markers; no expanding rings over city names. */
.kk-traffic .traffic-pin-ring{display:none;animation:none;transform:none}
.kk-traffic .traffic-pin-group{outline:none;-webkit-tap-highlight-color:transparent}
.kk-traffic .traffic-pin-dot{stroke:var(--kkt-label-halo);stroke-width:1px;vector-effect:non-scaling-stroke}
.kk-traffic .traffic-pin-group.is-selected .traffic-pin-dot,
.kk-traffic .traffic-pin-group:focus-visible .traffic-pin-dot{stroke:var(--kkt-accent-bright);stroke-width:2px}
.kk-traffic .traffic-pin-hit{fill:transparent;stroke:none;pointer-events:all}
.kk-traffic .traffic-map{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}


/* v231 inline style block 5 [id="v220-map-click"] */
.kk-traffic .traffic-pin-label{pointer-events:all;cursor:pointer}


/* v231 inline style block 6 [id="v224-mobile-gallery"] */
.mobile-gallery-controls{display:none}
@media(max-width:900px){
.gal-heads,.stills-carousel .gal-stills{display:flex;flex-wrap:nowrap;justify-content:flex-start;width:100%;max-width:100%;padding:0;margin:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;scrollbar-width:none}
.gal-heads::-webkit-scrollbar,.gal-stills::-webkit-scrollbar{display:none}
.gal-heads .gal-item,.stills-carousel .gal-stills .gal-item{flex:0 0 100%;width:100%;max-width:100%;box-sizing:border-box;scroll-snap-align:center;scroll-snap-stop:always;margin:0}
.stills-carousel>.stills-carousel-nav{display:none}
.mobile-gallery-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin:14px auto 0}
.mobile-gallery-controls button{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--soft);border-radius:50%;background:var(--deep);color:var(--paper);font:28px/1 Arial;cursor:pointer;touch-action:manipulation}
.mobile-gallery-controls button:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
.mobile-gallery-controls span{min-width:48px;text-align:center;font-size:12px;color:var(--paper)}
}


/* v233: compact English/French homepage language selector only */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.lang-switcher-item{display:flex;align-items:center}
.language-select{appearance:auto;-webkit-appearance:menulist;background:#111;color:#f2eee9;border:1px solid rgba(157,141,126,.65);border-radius:999px;padding:6px 24px 6px 10px;font:500 11px/1.2 'DM Sans',sans-serif;letter-spacing:.04em;cursor:pointer;max-width:92px}
.language-select:focus{outline:2px solid #9D8D7E;outline-offset:2px}
.language-label{color:#b7aaa0;font:500 11px/1.2 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-right:8px}
.lang-switcher-mobile{padding:10px 0;justify-content:flex-start}
.lang-switcher-mobile .language-select{max-width:130px}
@media(max-width:1100px){.nav-links-desktop .language-select{max-width:78px;padding-left:8px;padding-right:18px;font-size:10px}}


/* v235: device-safe always-visible English/French selector */
.nav-language{display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-left:auto;margin-right:14px;z-index:3}
.nav-language .language-select{appearance:auto;-webkit-appearance:menulist;background:#111;color:#f2eee9;border:1px solid rgba(157,141,126,.65);border-radius:999px;padding:7px 26px 7px 11px;font:500 11px/1.2 'DM Sans',sans-serif;letter-spacing:.04em;cursor:pointer;min-width:90px;max-width:112px}
.nav-language .language-select:focus{outline:2px solid #9D8D7E;outline-offset:2px}
@media(min-width:1200px){.nav-language{margin-left:.35rem;margin-right:.15rem}}
@media(max-width:1199px){.nav-language{margin-left:auto;margin-right:16px}.nav-language .language-select{min-width:88px;max-width:102px;padding:7px 24px 7px 10px;font-size:11px}}
@media(max-width:639px){.nav-language{margin-right:12px}.nav-language .language-select{min-width:82px;max-width:92px;padding:6px 21px 6px 9px;font-size:10px}}

/* v235 desktop grid accommodation for the standalone language control */
@media (min-width:1200px){
  .nav{grid-template-columns:max-content minmax(0,1fr) max-content;}
  .nav-logo{grid-column:1;}
  .nav-links-desktop{grid-column:2;}
  .nav-language{grid-column:3;margin-left:0;margin-right:0;}
}


/* v236: prevent browser auto-translation conflicts, closeable mobile drawer, and desktop header fit */
.notranslate{translate:no}
.nav-backdrop{display:none}
@media(max-width:1199px){
  .nav-backdrop{position:fixed;left:0;right:0;top:var(--nav-h);bottom:0;background:rgba(0,0,0,.34);z-index:690;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
  .nav-backdrop.open{display:block;opacity:1;visibility:visible;pointer-events:auto}
  .nav-drawer{z-index:700}
}
/* Keep the brand visible and give the desktop navigation the full header width. */
@media(min-width:1200px){
  .nav{grid-template-columns:max-content minmax(0,1fr) max-content!important;gap:clamp(.45rem,.8vw,1rem)!important;padding-left:clamp(1rem,1.7vw,2rem)!important;padding-right:clamp(1rem,1.7vw,2rem)!important}
  .nav-logo{font-size:clamp(.78rem,.92vw,1rem)!important;letter-spacing:.04em!important;white-space:nowrap!important;position:relative;z-index:5}
  .nav-links-desktop{gap:0!important;min-width:0!important}
  .nav-links-desktop a{padding:.25rem clamp(.28rem,.42vw,.52rem)!important;font-size:clamp(.56rem,.62vw,.72rem)!important;letter-spacing:.01em!important}
  .nav-links-desktop .books-amazon-link .books-amazon-sub{font-size:.50em!important}
  .nav-links-desktop .paypal-donate-link{width:clamp(105px,8.5vw,132px)!important;min-width:105px!important;height:42px!important;margin-left:.2rem!important}
  .nav-language .language-select{min-width:82px!important;max-width:94px!important;padding:6px 20px 6px 9px!important;font-size:10px!important}
}
@media(min-width:1700px){
  .nav{gap:clamp(.65rem,1vw,1.4rem)!important;padding-left:clamp(1.5rem,2.2vw,2.8rem)!important;padding-right:clamp(1.5rem,2.2vw,2.8rem)!important}
  .nav-logo{font-size:1rem!important;letter-spacing:.08em!important}
  .nav-links-desktop a{padding:.25rem clamp(.42rem,.55vw,.7rem)!important;font-size:.69rem!important}
  .nav-links-desktop .paypal-donate-link{width:132px!important;height:44px!important}
}

/* v237: restore readable desktop navigation sizing without hiding the brand. */
@media (min-width:1200px) and (max-width:1439px){
  .nav{gap:.5rem!important;padding-left:1rem!important;padding-right:1rem!important;overflow:hidden}
  .nav-logo{font-size:.96rem!important;letter-spacing:.035em!important;flex-shrink:0!important}
  .nav-links-desktop a{padding:.25rem .34rem!important;font-size:.68rem!important;letter-spacing:.005em!important}
  .nav-links-desktop .paypal-donate-link{width:112px!important;min-width:112px!important;height:42px!important}
  .nav-language .language-select{min-width:86px!important;max-width:92px!important;font-size:10.5px!important}
}
@media (min-width:1440px){
  .nav{gap:clamp(.65rem,.9vw,1.15rem)!important;padding-left:clamp(1.25rem,1.8vw,2.25rem)!important;padding-right:clamp(1.25rem,1.8vw,2.25rem)!important;overflow:hidden}
  .nav-logo{font-size:clamp(1rem,1vw,1.12rem)!important;letter-spacing:.055em!important;flex-shrink:0!important}
  .nav-links-desktop a{padding:.25rem clamp(.42rem,.5vw,.64rem)!important;font-size:clamp(.75rem,.72vw,.84rem)!important;letter-spacing:.005em!important}
  .nav-links-desktop .books-amazon-link .books-amazon-sub{font-size:.52em!important}
  .nav-links-desktop .paypal-donate-link{width:clamp(122px,7.6vw,140px)!important;min-width:122px!important;height:44px!important}
  .nav-language .language-select{min-width:88px!important;max-width:98px!important;font-size:11px!important}
}

/* v237: prevent Works filter labels colliding on phones in English or French. */
@media (max-width:639px){
  #works .tab-row{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:.5rem!important;overflow:visible!important;width:100%!important}
  #works .tab-btn{min-width:0!important;white-space:normal!important;line-height:1.15!important;padding:.7rem .55rem!important;font-size:clamp(.68rem,2.8vw,.78rem)!important}
  #works .tab-btn:nth-child(1){flex:1 1 100%!important;width:100%!important}
  #works .tab-btn:nth-child(2),
  #works .tab-btn:nth-child(3){flex:1 1 calc(50% - .25rem)!important;width:calc(50% - .25rem)!important}
}


/* v238: restore desktop header to the pre-v236 visual rails and readable sizing.
   Keeps v236 mobile menu/language behavior and v237 mobile Works-filter wrapping. */
@media (min-width:1200px){
  .nav{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
    grid-template-columns:max-content minmax(0,1fr) max-content!important;
  }
  .nav-logo{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;}
  .nav-links-desktop{min-width:0!important;justify-content:flex-end!important;overflow:visible!important;}
}
@media (min-width:1200px) and (max-width:1439px){
  .nav{padding-left:1.35rem!important;padding-right:1.35rem!important;gap:.75rem!important;}
  .nav-logo{font-size:1.02rem!important;letter-spacing:.045em!important;}
  .nav-links-desktop a{font-size:.71rem!important;padding:.25rem .38rem!important;}
  .nav-links-desktop .paypal-donate-link{width:116px!important;min-width:116px!important;height:42px!important;}
}
@media (min-width:1440px){
  :root{--google-ad-rail:clamp(72px,5vw,108px);}
  .nav{
    padding-left:calc(var(--google-ad-rail) + .35rem)!important;
    padding-right:calc(var(--google-ad-rail) + .35rem)!important;
    gap:clamp(.8rem,1vw,1.3rem)!important;
  }
  .nav-logo{font-size:clamp(1.05rem,1.05vw,1.3rem)!important;letter-spacing:.045em!important;}
  .nav-links-desktop a{font-size:clamp(.78rem,.74vw,.94rem)!important;padding:.25rem clamp(.42rem,.48vw,.66rem)!important;letter-spacing:.005em!important;}
  .nav-links-desktop .paypal-donate-link{width:clamp(132px,7.4vw,152px)!important;min-width:132px!important;height:46px!important;}
  .nav-language .language-select{min-width:92px!important;max-width:104px!important;font-size:11.5px!important;}
}
@media (min-width:1800px){
  .nav-logo{font-size:1.28rem!important;}
  .nav-links-desktop a{font-size:.94rem!important;padding-left:.62rem!important;padding-right:.62rem!important;}
  .nav-links-desktop .paypal-donate-link{width:150px!important;height:48px!important;}
}


/* v239: controlled compact language menu — replaces browser-native select popup */
.language-menu{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;z-index:1200}
.nav-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.header-admin-login{display:block!important;visibility:visible!important;margin-top:4px;color:#d9c2ad!important;font:600 10px/1.2 'DM Sans',sans-serif!important;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:1!important;border-bottom:1px solid rgba(217,194,173,.75);padding:0 0 2px;transition:color .2s,border-color .2s}
.header-admin-login:hover,.header-admin-login:focus-visible{color:var(--paper);opacity:1;outline:none}
.language-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:96px;height:38px;padding:0 11px 0 13px;border:1px solid rgba(157,141,126,.72);border-radius:999px;background:#111;color:#f2eee9;font:500 12px/1 'DM Sans',sans-serif;letter-spacing:.02em;cursor:pointer;white-space:nowrap}
.language-trigger:focus-visible{outline:2px solid #9D8D7E;outline-offset:2px}
.language-chevron{font-size:14px;line-height:1;transform:translateY(-1px);opacity:.85}
.language-menu.is-open .language-chevron{transform:rotate(180deg) translateY(1px)}
.language-options{position:absolute;right:0;top:calc(100% + 7px);width:116px;padding:5px;border:1px solid rgba(157,141,126,.72);border-radius:14px;background:rgba(20,18,16,.98);box-shadow:0 10px 28px rgba(0,0,0,.32);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.language-options[hidden]{display:none!important}
.language-option{display:block;width:100%;height:34px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:#f2eee9;text-align:left;font:500 12px/1 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap}
.language-option:hover,.language-option:focus-visible{background:rgba(157,141,126,.18);outline:none}
.language-option.is-selected::before{content:'✓';display:inline-block;width:18px;color:#f2eee9}
.language-option:not(.is-selected){padding-left:28px}
@media(max-width:1199px){.nav-language.language-menu{margin-left:auto;margin-right:14px}.language-trigger{min-width:100px;height:38px;font-size:12px;padding-left:12px;padding-right:10px}.language-options{width:112px;top:calc(100% + 6px)}.language-option{height:34px;font-size:12px}}
@media(max-width:639px){.nav-language.language-menu{margin-right:12px}.language-trigger{min-width:96px;height:36px;font-size:11.5px;padding-left:11px;padding-right:9px}.language-options{width:108px;border-radius:12px;padding:4px}.language-option{height:32px;font-size:11.5px;border-radius:8px}}
@media(max-width:639px){.header-admin-login{font-size:9px!important;letter-spacing:.07em}}

/* v242: exact v230 desktop Google-ad rails restored with valid CSS.
   Keep all multilingual/mobile fixes; only restore the desktop rail geometry. */
@media (min-width:1440px){
  :root{--google-ad-rail:clamp(160px,11vw,220px)!important;}
  .nav{
    left:0!important;
    right:0!important;
    padding-left:calc(var(--google-ad-rail) + clamp(1.25rem,2.4vw,3rem))!important;
    padding-right:calc(var(--google-ad-rail) + clamp(1.25rem,2.4vw,3rem))!important;
  }
  main,.footer{
    width:calc(100% - (2 * var(--google-ad-rail)))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v243: mobile document-end integrity.
   Prevent the page chrome/background from exposing scrollable space after the real footer. */
@media (max-width:1199px){
  html,body{
    background:var(--ink)!important;
    overscroll-behavior-y:none;
  }
}


/* v244: language-control interaction regression fix only. */
.language-menu,.language-trigger,.language-options,.language-option{pointer-events:auto!important}
.language-menu{position:relative!important;z-index:2400!important;isolation:isolate}
.language-trigger,.language-option{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

/* v245: keep language choices above the open mobile navigation drawer. */
@media (max-width:1199px){
  .nav{z-index:800!important}
  .nav-drawer{z-index:700!important}
  .language-menu{z-index:900!important}
  .language-options{z-index:910!important}
}


/* v273 map-visibility refinement: distinguish city reference dots from visitor markers */
.kk-traffic .traffic-place-dot{fill:#9fd8ff !important}
.kk-traffic .traffic-pin-ring{display:block !important;fill:none;stroke:var(--kkt-accent);stroke-width:1.35px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;opacity:.92;animation:kkt-pulse-ring 2.2s ease-out infinite}
.kk-traffic .traffic-pin-group.is-new .traffic-pin-ring,.kk-traffic .traffic-pin-group.is-selected .traffic-pin-ring,.kk-traffic .traffic-pin-group:hover .traffic-pin-ring{stroke:var(--kkt-accent-bright)}
.kk-traffic .traffic-pin-dot{stroke:rgba(12,10,9,.72);stroke-width:1.2px;vector-effect:non-scaling-stroke}


/* ===== v276 FOOTER NAVIGATION =====
   Main site only. Social cards stay above the Profile Views map.
   One plain-link NAVIGATE TO row now sits directly below the map
   on desktop, laptop, tablet and phone. No button/tab treatment. */
.footer-top{
  display:grid;
  grid-template-columns:1fr;
  gap:1.4rem;
  text-align:center;
  margin-bottom:.75rem;
}
.footer-top>.footer-center,
.footer-top>.kk-traffic,
.footer-top>.footer-nav-under-map{
  grid-column:1;
  grid-row:auto;
  order:0;
}
.footer-center{text-align:center;}
.footer-nav-under-map{
  width:100%;
  text-align:center;
  padding:.15rem 0 .25rem;
}
.footer-nav-under-map .footer-col-title{
  margin:0 0 .85rem;
  text-align:center;
}
.footer-nav-under-map ul{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.35rem .7rem;
  margin:0 auto;
  padding:0;
}
.footer-nav-under-map li{
  display:flex;
  align-items:center;
  margin:0;
}
.footer-nav-under-map li:not(:last-child)::after{
  content:'·';
  margin-left:.7rem;
  color:var(--soft);
  opacity:.7;
}
.footer-nav-under-map a{
  display:inline;
  min-height:0;
  width:auto;
  padding:.28rem .08rem;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--paper);
  opacity:.88;
  font-size:.78rem;
  line-height:1.45;
  text-align:center;
  transition:var(--trans);
}
.footer-nav-under-map a:hover,
.footer-nav-under-map a:focus-visible{
  color:var(--soft);
  opacity:1;
  background:transparent;
}
@media (max-width:639px){
  .footer-top{gap:1.15rem;}
  .footer-nav-under-map{padding-top:.1rem;}
  .footer-nav-under-map ul{gap:.28rem .55rem;max-width:100%;}
  .footer-nav-under-map li:not(:last-child)::after{margin-left:.55rem;}
  .footer-nav-under-map a{font-size:.76rem;padding:.35rem .06rem;}
}
@media (min-width:640px){
  .footer-nav-under-map ul{gap:.35rem .85rem;}
  .footer-nav-under-map li:not(:last-child)::after{margin-left:.85rem;}
}

/* v282 — hero collision correction only. Preserve v281 typography; lift supporting copy and reduce CTA footprint. */
@media (max-width:1023px){
  .hero-supporting{position:relative;transform:translateY(-1.65rem);}
  .hero-ctas{gap:.28rem;}
  .hero-ctas .btn{padding:.25rem .42rem;font-size:.54rem;}
}
@media (max-width:639px){
  .hero-supporting{transform:translateY(-1.15rem);}
  .hero-ctas{max-width:122px;gap:.22rem;}
  .hero-ctas .btn{width:100%;padding:.24rem .30rem;font-size:.50rem;}
}
@media (min-width:1024px){
  .hero-supporting{position:relative;transform:translateY(-2.6rem);}
  .hero-ctas{gap:.30rem;}
  .hero-ctas .btn{padding:.24rem .48rem;font-size:.56rem;}
}

/* v283 — button sizing correction only. Keep all v282 positioning and hero text unchanged. */
@media (min-width:640px) and (max-width:1023px){
  .hero-ctas .btn{font-size:.62rem;}
}
@media (max-width:639px){
  .hero-ctas{max-width:142px;}
  .hero-ctas .btn{padding:.30rem .38rem;font-size:.55rem;}
}
@media (min-width:1024px){
  .hero-ctas .btn{font-size:.68rem;}
}

/* v284 — hero CTA legibility + desktop/laptop shoulder clearance only. */
@media (max-width:639px){
  /* Keep the phone buttons compact, but restore clearly readable label text. */
  .hero-ctas{max-width:154px;gap:.26rem;}
  .hero-ctas .btn{width:100%;padding:.31rem .38rem;font-size:.66rem;line-height:1.05;}
}
@media (min-width:640px) and (max-width:1023px){
  /* Tablet: larger labels with less empty space around the text. */
  .hero-ctas{gap:.36rem;}
  .hero-ctas .btn{padding:.34rem .58rem;font-size:.78rem;line-height:1.05;}
}
@media (min-width:1024px){
  /* Laptop / desktop: match the stronger tab-label scale while keeping the CTAs compact. */
  .hero-supporting{transform:translateY(-4.15rem);}
  .hero-ctas{gap:.42rem;}
  .hero-ctas .btn{padding:.36rem .62rem;font-size:.88rem;line-height:1.05;}
}

/* v286 — main hero photo alignment only. Move the portrait to the right to match the approved reference image. */
@media (min-width:1024px){
  .hero-img{right:-10vw;left:auto;}
}
@media (min-width:640px) and (max-width:1023px){
  .hero-img{object-position:32% center;}
}
@media (max-width:639px){
  .hero-img{object-position:30% center;}
}

/* v288 — laptop + desktop hero background correction.
   Goal: on both laptop and desktop widths, move the main homepage/header photo back to the left so the image background sits behind the hero text more like the approved live-site reference. */
@media (min-width:1024px){
  .hero-img{right:0;left:auto;object-position:right bottom;}
}

/* v289 — align hero with next section edges and keep face clear of text on tablet/laptop/desktop.
   Fixes: use a full-width cover crop for the main hero image on tablet and larger screens,
   align the header image flush with the section below, and keep the face clear of the hero text. */
@media (min-width:640px) and (max-width:1023px){
  .hero-img{
    top:var(--nav-h);
    left:0;
    right:0;
    width:100%;
    height:calc(100% - var(--nav-h));
    max-width:none;
    object-fit:cover;
    object-position:76% center;
  }
  .hero-body{
    width:56%;
    max-width:32rem;
    padding:2rem 1rem 1.75rem clamp(1rem,4vw,2rem);
  }
}
@media (min-width:1024px){
  .hero-img{
    top:var(--nav-h);
    left:0;
    right:0;
    width:100%;
    height:calc(100% - var(--nav-h));
    max-width:none;
    object-fit:cover;
    object-position:72% center;
  }
  .hero-body{
    width:min(38vw,34rem);
    max-width:min(38vw,34rem);
    padding:2rem 1rem 3rem clamp(1.5rem,3vw,3rem);
  }
}
@media (min-width:1440px){
  .hero-img{object-position:74% center;}
}

/* v290 — move the hero image back to the right on tablet, laptop, and desktop.
   Keep the text in place, keep the image flush with the next section edges,
   and keep the face clear of text/tabs on all non-mobile devices. */
@media (min-width:640px) and (max-width:1023px){
  .hero-img{
    top:var(--nav-h);
    left:0;
    right:0;
    width:100%;
    height:calc(100% - var(--nav-h));
    max-width:none;
    object-fit:cover;
    object-position:82% center;
  }
}
@media (min-width:1024px){
  .hero-img{
    top:var(--nav-h);
    left:0;
    right:0;
    width:100%;
    height:calc(100% - var(--nav-h));
    max-width:none;
    object-fit:cover;
    object-position:84% center;
  }
}
@media (min-width:1440px){
  .hero-img{object-position:86% center;}
}


/* v291 — actual right-shift fix for tablet/laptop/desktop.
   Previous object-position changes had little/no visible horizontal effect because
   the cover image often had no horizontal overflow. This version shifts the image
   by enlarging the image box from the left edge, which visibly moves the portrait
   to the right while keeping the hero text in its existing position. */
@media (min-width:640px) and (max-width:1023px){
  .hero-img{
    top:var(--nav-h);
    left:0;
    right:auto;
    width:126%;
    height:calc(100% - var(--nav-h));
    max-width:none;
    object-fit:cover;
    object-position:center center;
    transform:none;
  }
}
@media (min-width:1024px) and (max-width:1439px){
  .hero-img{
    top:var(--nav-h);
    left:0;
    right:auto;
    width:118%;
    height:calc(100% - var(--nav-h));
    max-width:none;
    object-fit:cover;
    object-position:center center;
    transform:none;
  }
}
@media (min-width:1440px){
  .hero-img{
    top:var(--nav-h);
    left:0;
    right:auto;
    width:116%;
    height:calc(100% - var(--nav-h));
    max-width:none;
    object-fit:cover;
    object-position:center center;
    transform:none;
  }
}

/* v292 — clear the face from hero text on tablet, laptop, and desktop.
   Push the portrait further to the right on all non-mobile devices while keeping the text block in the same place. */
@media (min-width:640px) and (max-width:1023px){
  .hero-img{
    top:var(--nav-h);
    left:0;
    right:auto;
    width:142%;
    height:calc(100% - var(--nav-h));
    max-width:none;
    object-fit:cover;
    object-position:center center;
    transform:none;
  }
}
@media (min-width:1024px) and (max-width:1439px){
  .hero-img{
    top:var(--nav-h);
    left:0;
    right:auto;
    width:132%;
    height:calc(100% - var(--nav-h));
    max-width:none;
    object-fit:cover;
    object-position:center center;
    transform:none;
  }
}
@media (min-width:1440px){
  .hero-img{
    top:var(--nav-h);
    left:0;
    right:auto;
    width:128%;
    height:calc(100% - var(--nav-h));
    max-width:none;
    object-fit:cover;
    object-position:center center;
    transform:none;
  }
}
