@charset "UTF-8";

:root {
  color-scheme: dark;
  --background: #08110f;
  --text: #edf2ed;
  --muted: #a3b2a9;
  --accent: #a0dfbe;
  --line: #263b31;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--background); color: var(--text); }
body::before {
  content: ""; position: fixed; inset: 0 -88px; z-index: -1; pointer-events: none;
  background-image: linear-gradient(#86c3a207 1px, transparent 1px), linear-gradient(90deg, #86c3a207 1px, transparent 1px);
  background-size: 88px 88px;
  mask-image: linear-gradient(transparent, #000 20%, #000 65%, transparent);
  animation: grid-drift 100s linear infinite;
}
.ambient { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; contain: paint; }
.ambient::before, .ambient::after { content: ""; position: absolute; width: 90vw; height: 110vh; right: -10vw; top: -15vh; transform-origin: 55% 45%; }
.ambient::before { background: radial-gradient(ellipse closest-side at 55% 45%, #3c8d5a1c, transparent 100%), radial-gradient(ellipse closest-side at 30% 65%, #65af890a, transparent 100%); animation: aurora-flow 38s ease-in-out infinite alternate; }
.ambient::after { background: radial-gradient(ellipse closest-side at 65% 35%, #62b68b10, transparent 100%); animation: aurora-flow 53s -19s ease-in-out infinite alternate-reverse; }
@keyframes grid-drift { from { transform: translateX(0); } to { transform: translateX(88px); } }
@keyframes aurora-flow { 0% { opacity: .6; transform: translate(-7vw, -3vh) rotate(-9deg) scale(.9, 1.08); } 50% { opacity: .95; transform: translate(-15vw, 9vh) rotate(5deg) scale(1.12, .88); } 100% { opacity: .72; transform: translate(2vw, 17vh) rotate(-4deg) scale(.95, 1.14); } }
a { color: inherit; text-decoration: none; }
.arrow-icon { display: inline-block; vertical-align: -.2em; flex-shrink: 0; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; border-radius: 3px; }
::selection { background: var(--accent); color: var(--background); }
.page-shell { width: min(1200px, calc(100% - 120px)); min-height: 100svh; margin: 0 auto; display: flex; flex-direction: column; }
.site-header { min-height: 112px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.identity { display: inline-flex; align-items: center; gap: 20px; }
.monogram { font-size: 32px; letter-spacing: -3px; font-weight: 500; line-height: 1; }
.monogram span { color: var(--accent); }
.nav-logo-wrap { position:relative; display:inline-flex; }
.holiday-badge { position:absolute; width:17px; height:17px; right:0; top:-11px; font-size:15px; line-height:17px; letter-spacing:0; text-align:center; color:var(--accent); transform:rotate(9deg); }
.holiday-badge svg { display:block; width:100%; height:100%; }
.wordmark { font-size: 10px; letter-spacing: 2.5px; font-weight: 500; padding-left: 20px; border-left: 1px solid #3b5042; }
.header-contact { display: inline-flex; align-items: center; gap: 22px; color: #cad7ce; font-size: 12px; padding: 12px 0 12px 12px; }
.header-contact svg { color: var(--accent); flex-shrink: 0; transition: transform .25s; }
.header-contact:hover svg { transform: translate(3px, -3px); }
main { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.hero { padding: 88px 0 80px; display: grid; grid-template-columns: 1.35fr 1fr; gap: 22px; align-items: center; }
.eyebrow, .focus-label, .focus-number, .site-footer { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
.eyebrow { --title-spacing: 1.8px; display: flex; align-items: center; gap: 11px; font-size: 9px; letter-spacing: var(--title-spacing); color: var(--accent); margin: 0 0 27px; }
.typewriter { display: inline-block; width: calc(34ch + 34 * var(--title-spacing) + 2px); flex-shrink: 0; }
.typewriter-text { display: block; width: 100%; overflow: hidden; white-space: nowrap; border-right: 1px solid currentColor; animation: title-type 1.45s steps(34, end) both, title-cursor .85s step-end 1.45s infinite; }
.typewriter.is-live { width: calc(40ch + 40 * var(--title-spacing) + 2px); flex-shrink: 1; min-width: 0; }
.typewriter.is-live .typewriter-text { position: relative; display: inline; width: auto; overflow: visible; border: 0; animation: none; white-space: pre; }
.title-caret { display: inline-block; height: 1.15em; width: 1px; margin-right: -1px; vertical-align: -.13em; background: currentColor; animation: editor-caret .85s step-end infinite; }
.title-selection { background: #a0dfbe; color: #08110f; }
.title-flag { position: absolute; left: calc(100% + .55em); bottom: -.13em; display: inline-block; font-size: 1.65em; line-height: 1; letter-spacing: 0; transform-origin: 50% 80%; animation: canadian-flag 3s ease-in-out both; }
.is-background .title-flag { animation-play-state: paused; }
@keyframes canadian-flag { 0% { opacity: 0; transform: scale(0); } 10% { opacity: 1; transform: scale(1.2); } 16% { transform: scale(1); } 23%, 35% { transform: rotate(-15deg); } 29%, 41% { transform: rotate(15deg); } 47%, 83% { opacity: 1; transform: rotate(0) scale(1); } 94%, 100% { opacity: 0; transform: scale(0); } }
@keyframes editor-caret { 50% { opacity: 0; } }
@keyframes title-type { from { width: 0; } to { width: 100%; } }
@keyframes title-cursor { 50% { border-right-color: transparent; } }
.status-mark { width: 5px; height: 5px; flex-shrink: 0; background: var(--accent); box-shadow: 0 0 0 4px #9cddbc0b; }
h1 { font-weight: 500; font-size: clamp(48px, 6.4vw, 89px); line-height: 1.08; letter-spacing: -.065em; margin: 0 0 29px; white-space: nowrap; }
.name-dot { color: var(--accent); }
.hero-name { position: relative; display: flex; align-items: flex-start; gap: 2px; width: fit-content; max-width: 100%; margin-bottom: 29px; z-index: 2; line-height: 1; }
.hero-name h1 { margin-bottom: 0; }
.name-pronunciation { flex: 0 0 28px; width: 28px; height: 28px; margin-top: 4px; }
.name-pronunciation summary { display: grid; place-items: center; width: 28px; height: 28px; color: #8ca398; cursor: pointer; list-style: none; border-radius: 50%; transition: color .2s, background-color .2s; }
.name-pronunciation summary svg { width: 17px; height: 17px; animation: pronunciation-pulse 8s ease-in-out infinite; }
@keyframes pronunciation-pulse {
  0%, 78%, 100% { transform: translateY(0) scale(1); color:inherit; filter:none; }
  89% { transform: translateY(-2px) scale(1.25); color:var(--accent); filter:drop-shadow(0 0 4px #a0dfbe80); }
}
.name-pronunciation[open] summary svg { animation:none; }
.name-pronunciation summary::-webkit-details-marker { display: none; }
.name-pronunciation summary:hover, .name-pronunciation[open] summary { color: var(--accent); background: #a0dfbe0b; }
.pronunciation-tip { position: absolute; right: 0; top: calc(100% + 10px); width: 270px; max-width: calc(100vw - 44px); padding: 17px 19px; border: 1px solid #456454; border-radius: 9px; background: #10221a; box-shadow: 0 12px 30px #0006; color: var(--text); font-size: 14px; line-height: 1.6; letter-spacing: 0; }
.pronunciation-tip::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.pronunciation-tip strong { color: var(--accent); font-weight: 500; letter-spacing: .6px; }
.pronunciation-tip audio { display: block; width: 100%; height: 36px; margin-top: 12px; color-scheme: dark; }
.pronunciation-tip p { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.latest-thought { border-top: 1px solid var(--line); padding: 28px 0; display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 32px; align-items: start; }
.latest-label { margin: 3px 0 0; color: var(--accent); font-size: 10px; font-family: "SFMono-Regular", Consolas, monospace; letter-spacing: 1.1px; text-transform: uppercase; }
.latest-article { display: flex; justify-content: space-between; gap: 30px; align-items: center; min-width: 0; border-left: 2px solid #527760; padding-left: 24px; transition: border-color .2s; }
.latest-meta { color: var(--muted); font-size: 11px; margin: 0 0 10px; }
.latest-article h2 { font-size: clamp(19px,2vw,25px); font-weight: 400; line-height: 1.3; letter-spacing: -.5px; margin: 0 0 8px; overflow-wrap: anywhere; transition: color .2s; }
.latest-summary { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 0; max-width: 62ch; overflow-wrap: anywhere; }
.latest-read { flex-shrink: 0; display: inline-flex; align-items: center; gap: 10px; color: var(--accent); font-size: 12px; }
.latest-read svg { transition: transform .2s; }
.latest-article:hover { border-color: var(--accent); }
.latest-article:hover h2 { color: var(--accent); }
.latest-article:hover .latest-read svg { transform: translateX(3px); }
.hero h2 { font-size: clamp(28px, 3.1vw, 42px); font-weight: 400; letter-spacing: -.04em; line-height: 1.16; margin: 0 0 25px; }
.hero h2 span { color: var(--accent); }
.home-page .hero h2 span { text-shadow: 0 0 16px #a0dfbe30; animation: resilience-glow 4.5s ease-in-out infinite; }
@keyframes resilience-glow {
  0%, 100% { text-shadow: 0 0 16px #a0dfbe30; }
  50% { text-shadow: 0 0 10px #a0dfbe60, 0 0 32px #a0dfbe4c; }
}
.introduction { color: var(--muted); font-size: 15px; line-height: 1.85; max-width: 470px; margin: 0; text-wrap: pretty; }
.contact-links { display: flex; gap: 12px; margin-top: 33px; flex-wrap: wrap; }
.button { position: relative; overflow: hidden; display: inline-flex; justify-content: center; align-items: center; gap: 29px; min-height: 50px; padding: 0 22px; border: 1px solid var(--line); border-radius: 3px; font-size: 12px; font-weight: 500; transition: background-color .25s, border-color .25s, box-shadow .25s, transform .25s; }
.button svg { transition: transform .25s; }
.button-primary { background: var(--accent); color: #10291e; border-color: var(--accent); }
.button-primary::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 15%, #ffffff66 50%, transparent 85%); transform: translateX(-130%); transition: transform .6s; pointer-events: none; }
.button-primary:hover::after { transform: translateX(130%); }
.button-primary:hover { background: #b9edd1; border-color: #b9edd1; box-shadow: 0 6px 35px #9cddbc18; transform: translateY(-2px); }
.button-primary:hover svg { transform: translateX(3px); }
.button-secondary:hover { background: #15281e; border-color: #527760; transform: translateY(-2px); }
.button-secondary:hover svg { transform: translate(2px, -2px); }
.header-contact:hover { color: var(--accent); }
.portrait-frame { width: 100%; max-width: 360px; justify-self: end; position: relative; border: 1px solid #527760; border-radius: 16px; padding: 9px; background: linear-gradient(145deg, #213c2b66, #10201866); box-shadow: 0 22px 70px #00000026; }
.portrait { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; border-radius: 9px; }
.focus { border-top: 1px solid var(--line); padding: 28px 0 34px; }
.focus-label { color: #8a9e90; font-size: 11px; letter-spacing: 1.8px; margin: 0 0 12px; }
.focus-introduction { max-width: 620px; color: var(--muted); font-size: 15px; line-height: 1.8; margin: 0 0 28px; text-wrap: pretty; }
.focus-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.focus-list > li { min-width: 0; padding: 6px 25px; border-left: 1px solid var(--line); color: #d0dbd2; }
.focus-list li:first-child { padding-left: 0; border-left: 0; }
.focus-list li:last-child { padding-right: 0; }
.focus-heading { display: flex; align-items: baseline; gap: 18px; }
.focus-topic { margin: 0; font-size: 16px; font-weight: 400; letter-spacing: -.35px; line-height: 1.5; }
.focus-number { color: #87ac95; font-size: 9px; letter-spacing: 0; flex-shrink: 0; }
.principles { margin-top: 13px; }
.principles summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 8px 0; color: var(--accent); font-size: 12px; cursor: pointer; list-style: none; }
.principles summary::-webkit-details-marker { display: none; }
.principles summary:hover { color: #c1f0d7; }
.principles-toggle { flex-shrink: 0; border: 1px solid #527760; border-radius: 50%; padding: 3px; width: 26px; height: 26px; }
.toggle-vertical { transform-origin: center; transition: transform .2s ease; }
.principles[open] .toggle-vertical { transform: scaleY(0); }
.principles-body { padding-top: 8px; }
.principles[open] .principles-body { animation: enter .3s ease both; }
.principle { border-top: 1px solid var(--line); padding: 22px 0; }
.principle:last-child { padding-bottom: 4px; }
.principle h3 { margin: 0 0 12px; font-size: 17px; line-height: 1.45; font-weight: 500; letter-spacing: -.25px; color: var(--text); text-wrap: pretty; }
.principle p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.85; text-wrap: pretty; }
.site-footer { border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; min-height: 86px; color: #8d9f93; font-size: 11px; }
.footer-location { display: inline-flex; align-items: center; gap: 9px; font-size: 10px; letter-spacing: 1px; }
.location-flag { display: inline-block; flex-shrink: 0; font-size: 11px; line-height: 1; letter-spacing: 0; }
.footer-right { display: flex; align-items: center; gap: 25px; }
.footer-identity { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px 0; }
.raid-icon { display: block; flex: 0 0 auto; object-fit: contain; background: #08110f; border-radius: 6px; }
.site-ai-disclosure { border-top: 1px solid var(--line); margin: 0 0 14px; color: var(--muted); }
.site-ai-disclosure summary { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px 0; font-size: 12px; line-height: 1.6; list-style: none; cursor: pointer; }
.site-ai-disclosure summary::-webkit-details-marker { display: none; }
.site-ai-disclosure summary:hover { color: var(--text); }
.site-ai-disclosure summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 4px; }
.disclosure-chevron { margin-left: auto; color: var(--accent); font-size: 23px; transition: transform .2s ease; }
.site-ai-disclosure[open] .disclosure-chevron { transform: rotate(45deg); }
.site-ai-context { max-width: 780px; padding: 4px 0 24px; font-size: 14px; line-height: 1.85; }
.site-ai-context p { margin: 0 0 16px; }
.site-ai-context a, .post-disclosure a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.disclosure-kicker { color: var(--accent); font-size: 10px; letter-spacing: 1.6px; line-height: 1.6; }
.site-ai-context .raid-attribution { border-top: 1px solid var(--line); margin-bottom: 0; padding-top: 16px; font-size: 12px; }
.disclosure-scope { color: var(--text); }
.post-disclosure { display: grid; grid-template-columns: 100px minmax(0,1fr); align-items: center; gap: 24px; border-block: 1px solid var(--line); padding-block: 28px; margin-top: 36px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.post-disclosure + .article-end { margin-top: 0; border-top: 0; }
.disclosure-pending > p { grid-column: 1 / -1; }
.post-disclosure p { margin: 0 0 8px; }
.post-disclosure .raid-icon { width: 100px; height: 56px; }
.statement-credit { display: flex; align-items: center; gap: 12px; font-size: 12px; color: var(--text); }
.ai-statement blockquote { margin: 20px 0; padding-left: 20px; border-left: 2px solid var(--line); }
.post-disclosure .disclosure-label { color: var(--text); }
.post-disclosure { scroll-margin-top: 32px; }
.post-disclosure:target { border-top-color: var(--accent); }
.post-disclosure:focus { outline: none; }
.article-disclosure-link { display: flex; width: max-content; max-width: 100%; align-items: center; gap: 12px; margin-top: 24px; color: var(--muted); font-size: 11px; text-underline-offset: 3px; }
.article-disclosure-link:hover { color: var(--accent); }
.article-disclosure-link > span { display: inline-flex; align-items: center; gap: 6px; line-height: 1; }
.article-disclosure-link .raid-icon { width: 44px; height: 28px; object-position: left center; }
.post-disclosure p:last-child { margin-bottom: 0; }
.post-disclosure .disclosure-description { max-width: 80ch; overflow-wrap: anywhere; }
@media (max-width: 480px) {
 .site-ai-disclosure summary { font-size: 11px; gap: 10px; }
 .disclosure-separator { display: none; }
 .disclosure-separator + span { display: block; }
 .post-disclosure { grid-template-columns: 76px minmax(0,1fr); gap: 16px; font-size: 13px; }
 .post-disclosure .raid-icon { width: 76px; height: 46px; }
}
[hidden] { display: none !important; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 10; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; background: var(--accent); color: var(--background); }
.skip-link:focus-visible { width: auto; height: auto; padding: 12px 18px; overflow: visible; clip-path: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.error-main { padding: 100px 0; min-height: 70vh; display: block; }
.error-main h1 { margin-bottom: 24px; white-space: normal; }
.error-main .button { margin-top: 28px; }
.reveal { animation: enter .9s cubic-bezier(.16, 1, .3, 1) both; }
.hero-copy .eyebrow { animation-delay: .05s; }
.hero-copy h1 { animation-delay: .12s; }
.hero-copy h2 { animation-delay: .2s; }
.hero-copy .introduction { animation-delay: .28s; }
.hero-copy .contact-links { animation-delay: .36s; }
.portrait-frame { animation-delay: .2s; animation-duration: 1.2s; }
.focus { animation-delay: .45s; }
.site-footer { animation-delay: .5s; }
.leadership-visual { position: relative; width: 100%; max-width: 470px; justify-self: end; pointer-events: none; animation-delay: .25s; }
.hero-monogram { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 120px; font-weight: 500; letter-spacing: -11px; line-height: 1; animation: monogram-glow .8s 3.4s ease-in-out both, monogram-exit .4s 4.2s cubic-bezier(.5,0,.8,.3) both; }
.monogram-letter { display: inline-block; transform-origin: 50% 75%; animation: monogram-pop .5s .7s cubic-bezier(.2,.8,.3,1) both; }
.monogram-letter:nth-child(2) { animation-delay: .88s; }
.monogram-letter.monogram-period { color: var(--accent); animation: period-bounce .85s 1.9s ease-out both; }
@keyframes monogram-pop { 0% { opacity: 0; transform: translateY(12px) scale(.65); } 70% { opacity: 1; transform: translateY(-2px) scale(1.035); } 100% { opacity: 1; transform: none; } }
@keyframes period-bounce { 0% { opacity: 0; transform: translateY(-18px) scale(.5); } 35% { opacity: 1; transform: translateY(3px) scale(1.08); } 55% { transform: translateY(-4px) scale(.98); } 68% { transform: translate(1.5px,0) rotate(5deg); } 80% { transform: translateX(-1.5px) rotate(-5deg); } 90% { transform: translateX(.5px) rotate(2deg); } 100% { opacity: 1; transform: none; } }
@keyframes monogram-glow { 0%, 100% { text-shadow: none; } 45% { text-shadow: 0 0 12px #a0dfbeaa, 0 0 32px #a0dfbe70, 0 0 60px #a0dfbe35; } }
.hero-architecture { animation: architecture-enter 1.1s 4.55s cubic-bezier(.22,.61,.36,1) both; }
.architecture-flow { animation: architecture-flow 12s 5.65s ease-in-out infinite; }
/* Static graphic remains the no-JavaScript fallback. No intro clock runs before load. */
.leadership-visual:not(.intro-ready) .hero-monogram { visibility:hidden; }
.leadership-visual:not(.intro-ready) .hero-architecture { opacity:0; }
.leadership-visual:not(.intro-ready) * { animation:none; }
@media (scripting:none) { .leadership-visual:not(.intro-ready) .hero-architecture { opacity:1; } }
@keyframes monogram-exit { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(.08); } }
@keyframes architecture-enter { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes architecture-flow { 0% { transform: translateY(0); } 50% { transform: translateY(-7px); } 100% { transform: translateY(0); } }
@keyframes architecture-counterflow { 0% { transform: translateY(0); } 50% { transform: translateY(5px); } 100% { transform: translateY(0); } }
.leadership-visual svg { display: block; width: 100%; height: auto; overflow: visible; stroke-linecap: round; stroke-linejoin: round; }
.architecture-guides { stroke: #a0dfbe; stroke-width: 1; opacity: .1; animation: architecture-counterflow 12s 5.65s ease-in-out infinite; }
.architecture-links { stroke: #527760; stroke-width: 1.4; }
.architecture-signal { stroke: #b9f4d5; stroke-width: 2; stroke-dasharray: .08 .92; }
.architecture-signal path { opacity: 0; }
.architecture-signal path:nth-child(1) { animation: connection-pass-1 30s 5.7s linear infinite; }
.architecture-signal path:nth-child(2) { animation: connection-pass-2 30s 5.7s linear infinite; }
.architecture-signal path:nth-child(3) { animation: connection-pass-3 30s 5.7s linear infinite; }
.architecture-node { stroke: #638f76; stroke-width: 1.2; }
.architecture-base { fill: #0d1c15; }
.architecture-top { fill: #14291f; }
.architecture-icon { stroke: #a0dfbe; stroke-width: 1.6; }
.architecture-junctions { fill: #a0dfbe; opacity: .6; }
.page-shell > .site-header:not(.reveal), .blog-main > *, .error-main, .site-footer-area, .latest-thought { animation: enter .75s cubic-bezier(.16,1,.3,1) both; }
.blog-main > :nth-child(2), .latest-thought { animation-delay: .12s; }
.blog-main > :nth-child(n+3), .site-footer-area { animation-delay: .2s; }
/* First sequence: left, bridge, right. Second: right, left, bridge, reversed.
   Hidden endpoints allow the dash to reset without a visible jump. */
@keyframes connection-pass-1 {
  0%, 10%, 54%, 64%, 100% { opacity: 0; }
  0%, 64% { stroke-dashoffset: -1; }
  2%, 8%, 56%, 62% { opacity: .7; }
  10%, 54% { stroke-dashoffset: 0; }
}
@keyframes connection-pass-2 {
  0%, 23%, 33%, 42%, 52%, 100% { opacity: 0; }
  23% { stroke-dashoffset: -1; }
  25%, 31%, 44%, 50% { opacity: .7; }
  33%, 42% { stroke-dashoffset: 0; }
  52% { stroke-dashoffset: -1; }
}
@keyframes connection-pass-3 {
  0%, 11%, 21%, 66%, 76%, 100% { opacity: 0; }
  11% { stroke-dashoffset: 0; }
  13%, 19%, 68%, 74% { opacity: .65; }
  21%, 66% { stroke-dashoffset: -1; }
  76% { stroke-dashoffset: 0; }
}
@keyframes enter { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 1600px) { .hero { padding-top: 100px; padding-bottom: 100px; } }
@media (max-width: 1100px) {
  .page-shell { width: calc(100% - 80px); }
  .hero { gap: 15px; padding: 73px 0; grid-template-columns: 1.4fr 1fr; }
  .focus-list > li { padding: 6px 18px; }
  .focus-heading { gap: 12px; }
  .focus-topic { font-size: 14px; }
}
@media (max-width: 760px) {
  .page-shell { width: calc(100% - 44px); }
  .site-header { min-height: 85px; }
  .identity { gap: 12px; }
  .wordmark { padding-left: 12px; font-size: 8px; letter-spacing: 1.5px; }
  .monogram { font-size: 29px; }
  .header-contact { font-size: 11px; gap: 10px; }
  .hero { grid-template-columns: minmax(0, 1fr); align-items: center; padding: 40px 0 32px; gap: 0; }
  .leadership-visual, .hero .portrait-frame { display: none; }
  .hero-copy { display: contents; }
  .hero-name { grid-column: 1 / -1; grid-row: 2; margin-bottom: 0; }
  .hero-name h1 { min-width: 0; }
  .given-name::after { content: none; }
  .pronunciation-tip { left: 0; right: auto; }
  .latest-thought { grid-template-columns: 1fr; gap: 18px; padding: 24px 0; }
  .latest-article { flex-direction: column; align-items: flex-start; gap: 18px; padding-left: 18px; }
  .eyebrow { --title-spacing: .8px; grid-column: 1 / -1; grid-row: 1; font-size: 9px; margin-bottom: 24px; }
  .hero h1 { grid-column: 1; grid-row: 2; font-size: clamp(36px, 14.5vw, 88px); white-space: nowrap; max-width: none; margin: 0; }
  .hero h2 { grid-column: 1 / -1; grid-row: 3; font-size: clamp(30px, 7.7vw, 42px); margin: 28px 0 22px; }
  .introduction { grid-column: 1 / -1; grid-row: 4; font-size: 14px; line-height: 1.85; max-width: 520px; }
  .contact-links { grid-column: 1 / -1; grid-row: 5; margin-top: 27px; }
  .button { min-height: 49px; padding: 0 19px; gap: 26px; }
  .portrait-frame { grid-column: 2; grid-row: 2; width: 88px; margin: 0; padding: 0; border: 0; border-radius: 12px; background: none; box-shadow: none; }
  .portrait { aspect-ratio: 1; border-radius: 12px; }
  .focus { padding: 24px 0 13px; }
  .focus-label { font-size: 11px; margin-bottom: 12px; }
  .focus-list { display: block; }
  .focus-list > li, .focus-list > li:first-child { padding: 20px 0; border-left: 0; border-bottom: 1px solid #263b3180; }
  .focus-heading { gap: 20px; }
  .focus-topic { font-size: 16px; }
  .principles { margin-top: 8px; }
  .focus-list li:last-child { border-bottom: 0; }
  .site-footer { min-height: 85px; gap: 8px; font-size: 11px; padding-bottom: 14px; }
  .footer-location { font-size: 10px; letter-spacing: .8px; }
  .footer-right { gap: 13px; }
}
@media (max-width: 360px) {
  .page-shell { width: calc(100% - 32px); }
  .eyebrow { --title-spacing: .45px; font-size: 9px; }
  .footer-right { gap: 6px; }
  .footer-location { letter-spacing: .3px; }
}
@media (max-width: 1023px), (hover: none) and (pointer: coarse) {
  .leadership-visual, .hero .portrait-frame { display: none; }
  .home-page .hero { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .leadership-visual:not(.intro-ready) .hero-architecture { opacity:1; }
  .hero-monogram, .title-flag { display: none; }
  .home-page .reveal { animation: none; }
  .typewriter-text { width: 100%; border-right: 0; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}
html[data-motion="paused"] *, html[data-motion="paused"] *::before, html[data-motion="paused"] *::after { animation: none !important; transition: none !important; }
html[data-motion="paused"] .hero-monogram, html[data-motion="paused"] .title-flag { display: none; }
html[data-motion="paused"] .leadership-visual .hero-architecture { opacity:1; }
html[data-motion="paused"] .typewriter-text { width: 100%; border-right: 0; }
