/* Executive Editorial 10.0: canonical presentation overrides; legacy components retained for compatibility. */
:root{--bg:#f8f6f1;--surface:#f0ede6;--text:#252622;--muted:#5d6058;--line:#d6d2c8;--blue:#66543b;--on-blue:#f8f6f1;--ink:#252622;--ink-2:#30312c;--on-ink:#f8f6f1;--on-ink-muted:#d6d2c8;--radius:5px;--shadow-1:none;--shadow-2:none;--rule:var(--line);--space-section:clamp(56px,7vw,104px)}
html[data-theme=dark]{--bg:#191a18;--surface:#232420;--text:#f2efe7;--muted:#b9bdb2;--line:#41443c;--blue:#d8bf95;--on-blue:#191a18;--ink:#232420;--ink-2:#30312c;--shadow-1:none;--shadow-2:none}
body{font-family:var(--font-ui);font-size:1.0625rem;line-height:1.7}h1,h2,h3{font-weight:450;letter-spacing:-.025em}h2{font-size:clamp(2rem,3.8vw,3.3rem);line-height:1.12}.eyebrow,.meta{color:var(--muted)!important;font-size:.82rem;letter-spacing:.06em;text-transform:none;font-weight:500}.eyebrow:before{display:none}.section{padding:var(--space-section) 0}.section+.section{border-top:1px solid var(--line)}
.site-header,.site-header.is-scrolled{background:var(--bg);backdrop-filter:none;border-radius:0;border-bottom:1px solid var(--line)}.header-row{height:80px;gap:20px}.site-nav,.site-nav ul{gap:20px}.identity .id-last{color:var(--text)}.menu-avatar{box-shadow:none;border:1px solid var(--line)}.identity-badge svg{fill:var(--muted)}.header-cta{display:none}.scroll-progress{background:var(--blue);height:1px}.site-nav a{font-size:.85rem}.site-nav a:after{height:1px}
.hero,.page-hero{background:var(--bg);padding:clamp(48px,7vw,100px) 0}.hero:after,.homepage-portrait:before,.homepage-portrait:after{display:none}.hero .hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:clamp(32px,6vw,90px)}.hero h1{font-size:clamp(2.7rem,5.5vw,4.8rem);line-height:1.04;max-width:18ch;margin-bottom:28px}.hero .lead{max-width:48ch;font-size:1.12rem}.homepage-portrait{max-width:390px;margin:0 0 0 auto}.homepage-portrait img{aspect-ratio:3/4;object-fit:cover;object-position:center top;border:0;border-radius:4px;box-shadow:none}.site-page-portrait img{box-shadow:none;border-radius:4px}
.button{border-radius:4px;min-height:48px;padding:10px 24px;font-weight:550;box-shadow:none}.button.primary,.primary{background:var(--text);color:var(--bg)!important;box-shadow:none}.button.primary:hover{background:var(--text);opacity:.88;transform:none;box-shadow:none}.button.secondary,.secondary{border:1px solid var(--muted);color:var(--text);background:transparent}.button.secondary:hover{background:var(--text);color:var(--bg);transform:none;box-shadow:none}.text-link{border-bottom:1px solid var(--muted);font-weight:550}.text-link:hover span{transform:none}
.credibility-strip{background:var(--bg);border-block:1px solid var(--line)}.credibility-strip .credibility-list li{color:var(--muted);border-color:var(--line)}.credibility-strip .credibility-list strong,.credibility-strip .credibility-list li:nth-child(1) strong{color:var(--text)}.credibility-strip .credibility-list span{color:var(--muted)}
.post-grid{gap:40px}.post-card{background:transparent;padding:0 0 28px;border:0;border-bottom:1px solid var(--line);border-radius:0}.card-image{border-radius:3px}.post-card:hover,.cards article:hover{transform:none;box-shadow:none}.post-card:hover .card-image img{transform:none}.post-card h3{font-size:1.9rem;line-height:1.16}.post-card h3 a{background:none}.cards article,.testimonial,.credential-card,.contact-card,.download-card,.bio-block{box-shadow:none;border-radius:4px}.cards article{background:var(--bg)}
.expertise-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}.expertise-intro{position:sticky;top:112px}.expertise-list{list-style:none;padding:0;margin:0}.expertise-list li{display:grid;grid-template-columns:40px 1fr;gap:8px 20px;padding:28px 0;border-top:1px solid var(--line);opacity:1}.expertise-list li h3,.expertise-list li p{grid-column:2;margin:0}.expertise-icon{grid-row:1/3;width:32px;color:var(--muted)!important}.expertise-icon svg{width:32px}.expertise-list li p{color:var(--muted)}
.experience-panel,html[data-theme=dark] .experience-panel{background:var(--surface);border:1px solid var(--line);border-radius:4px}.experience-panel:before{display:none}.experience-panel h2,.experience-panel p{color:var(--text)!important}.experience-panel p:not(.eyebrow),.experience-panel .eyebrow{color:var(--muted)!important}.experience-panel .text-link{color:var(--text);border-color:var(--muted)}
.section.connect{background:var(--surface);color:var(--text);text-align:left;border-top:1px solid var(--line)}.section.connect h2{color:var(--text);margin:0 0 24px;max-width:18ch;font-size:clamp(2.5rem,5vw,4.5rem)}.section.connect .lead{color:var(--muted)!important;margin:0 0 32px}.section.connect .eyebrow{color:var(--muted)!important}.section.connect .actions{justify-content:flex-start}.section.connect .button.secondary{color:var(--text);border-color:var(--muted)}.section.connect .button.secondary:hover{color:var(--bg);background:var(--text)}
.site-footer{background:var(--bg);color:var(--muted);border-color:var(--line)!important}.site-footer strong,.site-footer .subscribe-title{color:var(--text)}.site-footer a,.site-footer .subscribe-text,.site-footer .subscribe-note,.site-footer .subscribe-note a,.site-footer .footer-statement,.site-footer .footer-copyright{color:var(--muted);border-color:var(--line)}.site-footer a:hover{color:var(--text)}.site-footer .subscribe--footer{border-color:var(--line);color:var(--text)}.site-footer .subscribe .eyebrow{color:var(--muted)!important}.site-footer .subscribe-row input[type=email]{background:var(--surface);color:var(--text);border-color:var(--muted)}.site-footer .subscribe-status.is-ok,.site-footer .subscribe-status.is-error{color:var(--text)}.subscribe--home{background:var(--surface);border-color:var(--line)}.subscribe-row input[type=email],.inquiry-form input,.inquiry-form textarea,.inquiry-form select{border-radius:4px;border-color:var(--muted)}.subscribe-row input[type=email]::placeholder{color:var(--muted)}.testimonial:before{color:var(--muted);opacity:.5}.testimonial-role{background:transparent;color:var(--muted)}.topic-links a{background:transparent;border-radius:4px}.rv-hide{opacity:1;transform:none}.pagination{grid-column:1/-1;display:flex;gap:16px;flex-wrap:wrap}.pagination a,.pagination span{padding:8px 14px;border:1px solid var(--line)}:focus-visible{outline:3px solid #165dad;outline-offset:4px}html[data-theme=dark] :focus-visible{outline-color:#91c5ff}
@media(min-width:1280px){.header-cta{display:inline-flex;padding:10px 16px;background:var(--text);color:var(--bg);text-decoration:none;border-radius:4px;font-size:.8rem}}
@media(max-width:1100px){.header-row{grid-template-columns:minmax(0,1fr) auto}.header-utilities{grid-column:2;grid-row:1}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--bg);padding:24px;max-height:calc(100dvh - 80px);overflow:auto}.site-nav.open{display:block}.site-nav ul{display:flex;flex-direction:column;align-items:flex-start}.site-nav a{display:block;font-size:1rem}.header-cta{display:none}}
@media(max-width:900px){.hero .hero-grid,.expertise-layout{grid-template-columns:1fr}.expertise-intro{position:static}.homepage-portrait{margin:0;max-width:340px}.hero h1{max-width:19ch}.post-grid{gap:28px}.credibility-strip .credibility-list li{border-color:var(--line)}}
@media(max-width:480px){.identity-badge{display:none}.header-row{gap:8px}.hero .actions{flex-direction:column;align-items:stretch}.shell,.page-shell{width:calc(100% - 40px)}.hero h1{font-size:2.7rem}.expertise-layout{gap:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Home masthead: a printed circuit framing the original portrait. */
.future-hero {
  --signal: #91e8d7;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(ellipse at 84% 47%, #234044 0%, transparent 52%), #141d21;
  color: #f8f6ef;
  padding-block: clamp(56px, 7vw, 102px);
}
html[data-theme=dark] .future-hero {
  background: radial-gradient(ellipse at 84% 47%, #17363a 0%, transparent 52%), #0e1518;
}
.future-hero h1 { color: #f8f6ef; max-width: 16ch; }
.future-hero .lead { color: #c7d6d8 !important; }
.future-hero .eyebrow { color: var(--signal) !important; }
.future-hero .button.primary { background: var(--signal); color: #102325 !important; }
.future-hero .button.secondary { border-color: #94a9ac; color: #f8f6ef; }
.future-hero .button.secondary:hover { background: #deedea; color: #152528; }
.future-hero a:focus-visible { outline-color: #fff; }
.hero-instrument {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  padding: 24px clamp(24px, 4vw, 52px);
  background-image: radial-gradient(circle, #72999855 1px, transparent 1px);
  background-size: 18px 18px;
}
.hero-traces { position: absolute; inset: -5% -10%; width: 120%; height: 110%; color: #75bbae; pointer-events: none; }
.hero-signal { stroke: #c2fff3; stroke-width: 2; stroke-dasharray: 5 100; stroke-dashoffset: -87; }
@media (prefers-reduced-motion:no-preference) {
  .hero-signal { animation: signal-travel 2.6s ease-out both; }
  @keyframes signal-travel { from { stroke-dashoffset: 5; } to { stroke-dashoffset: -87; } }
}
.future-hero .homepage-portrait {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 6px;
  background: #182529;
  border: 1px solid #729990;
  border-radius: 1px;
}
.future-hero .homepage-portrait img { border-radius: 0; }
.future-hero .homepage-portrait::after {
  content: "";
  display: block;
  position: absolute;
  inset: -4px -4px auto auto;
  z-index: 1;
  width: 38px;
  height: 38px;
  border: 0;
  border-top: 2px solid var(--signal);
  border-right: 2px solid var(--signal);
  border-radius: 0;
}
@media (max-width: 900px) {
  .hero-instrument { max-width: 400px; margin-inline: 0; }
  .future-hero .hero-grid { gap: 32px; }
}

/* v10.2.0 global editor tokens and motion-safe home reveals */
:root{--site-paper:#f8f6f1;--site-ink:#202824;--site-surface:#eef2ef;--site-muted:#555f59;--site-line:#cbd4ce;--site-teal:#176b65;--site-mint:#b9f3e2;--site-space:clamp(3.5rem,8vw,7rem)}
html[data-theme=dark]{--site-paper:#151d1b;--site-ink:#edf4ef;--site-surface:#202a27;--site-muted:#c0cbc4;--site-line:#3b4943;--site-teal:#a8e3d2}
.modern-reveal{opacity:1;transform:none}
.js-motion .modern-reveal{opacity:0;transform:translateY(16px)}
.js-motion .modern-reveal.is-visible{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
html[data-theme=dark] .expertise-list li p,html[data-theme=dark] .credibility-list span{color:var(--site-muted)}
@media(prefers-reduced-motion:reduce){.js-motion .modern-reveal{opacity:1;transform:none;transition:none}}

/* v10.3.0: executive technology hero and personal identity check */
.identity-badge{display:inline-flex!important;width:19px;height:19px;flex:0 0 19px;align-items:center;vertical-align:middle}
.identity-badge svg{display:block;width:100%;height:100%;overflow:visible;fill:none!important}
.identity-badge .badge-shape{fill:#1d9bf0;stroke:#1d9bf0;stroke-width:.5}
.identity-badge .badge-check{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.executive-hero{--pointer-x:0px;--pointer-y:0px;--signal:#67aaff;--hero-ink:#f5f7fb;--hero-muted:#c1ccdd;position:relative;isolation:isolate;overflow:hidden;padding:clamp(64px,8vw,112px) 0 clamp(72px,9vw,120px);background:#090e19;color:var(--hero-ink)}
.executive-hero::before,.executive-hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(2px)}
.executive-hero::before{width:min(66vw,820px);height:min(66vw,820px);right:-14%;top:-38%;background:radial-gradient(circle,rgba(26,91,190,.36) 0%,rgba(30,62,132,.2) 34%,rgba(9,14,25,0) 72%);transform:translate3d(var(--pointer-x),var(--pointer-y),0)}
.executive-hero::after{width:480px;height:480px;left:34%;bottom:-64%;background:radial-gradient(circle,rgba(73,49,142,.22),transparent 70%)}
.executive-hero .hero-grid{position:relative;z-index:1;grid-template-columns:minmax(0,1.08fr) minmax(300px,.82fr);gap:clamp(44px,8vw,112px);min-height:min(660px,calc(100svh - 80px))}
.executive-hero-copy{max-width:700px}
.executive-hero .hero-name{margin:0 0 24px;color:#9dc8ff!important;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.executive-hero h1{max-width:14ch;margin:0 0 22px;color:var(--hero-ink);font-size:clamp(3rem,6.3vw,6.1rem);font-weight:500;letter-spacing:-.055em;line-height:.99;text-wrap:pretty}
.hero-specialty{display:inline-block;min-width:9ch;color:#91bdff;text-shadow:0 0 36px rgba(68,139,255,.22);transition:opacity .22s ease,transform .22s ease}
.hero-specialty.is-changing{opacity:.15;transform:translateY(5px)}
.executive-hero .hero-role{margin:0 0 16px;color:#e0e8f4;font-size:1rem;font-weight:600;letter-spacing:.01em}
.executive-hero .lead{max-width:48ch;margin:0 0 30px;color:var(--hero-muted)!important;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.65}
.executive-hero .button{min-height:52px;align-items:center;transition:transform .24s ease,background-color .24s ease,border-color .24s ease,box-shadow .24s ease}
.executive-hero .button.primary{background:#2f81f7;color:#fff!important;box-shadow:0 8px 26px rgba(47,129,247,.2)}
.executive-hero .button.primary:hover{background:#4a93ff;transform:translateY(-2px);box-shadow:0 12px 30px rgba(47,129,247,.32)}
.executive-hero .button.secondary{border-color:#5b6b82;background:rgba(255,255,255,.035);color:#f5f7fb}
.executive-hero .button.secondary:hover{border-color:#9dc8ff;background:rgba(255,255,255,.09);color:#fff;transform:translateY(-2px)}
.executive-hero a:focus-visible{outline-color:#a8ccff}
.executive-hero .hero-instrument{width:min(100%,460px);max-width:460px;margin-inline:auto 0;padding:0;background:none;isolation:isolate;translate:0 var(--scroll-shift,0px);transform:rotate(var(--portrait-tilt,0deg));transition:transform .3s ease,translate .3s ease}
.executive-hero .hero-instrument::before{content:"";position:absolute;z-index:-2;inset:-12% -13% -9%;border-radius:50%;background:radial-gradient(ellipse,rgba(34,108,221,.35) 0%,rgba(52,76,158,.2) 38%,transparent 72%);filter:blur(18px);animation:hero-glow-drift 16s ease-in-out infinite alternate}
.executive-hero .hero-traces{display:none}
.executive-hero .homepage-portrait{width:100%;max-width:none;margin:0;padding:7px;border:1px solid rgba(150,191,255,.33);border-radius:5px;background:linear-gradient(145deg,rgba(105,160,245,.22),rgba(255,255,255,.02));box-shadow:0 24px 90px rgba(0,0,0,.36),0 0 55px rgba(37,100,205,.16)}
.executive-hero .homepage-portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center 18%;border-radius:2px;filter:saturate(.9) contrast(1.02)}
.executive-hero .homepage-portrait::after{inset:-7px -7px auto auto;width:50px;height:50px;border:0;border-top:2px solid #8dbbff;border-right:2px solid #8dbbff;border-radius:0}
.portrait-caption{display:block;margin:14px 0 0;text-align:right;color:#9baac0;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.hero-scroll{position:absolute;z-index:2;bottom:26px;left:50%;display:grid;place-items:center;width:36px;height:36px;transform:translateX(-50%);border:1px solid rgba(196,215,245,.28);border-radius:50%;text-decoration:none}
.hero-scroll span{width:6px;height:6px;border-right:1px solid #c9d9f0;border-bottom:1px solid #c9d9f0;transform:rotate(45deg) translate(-1px,-1px)}
@keyframes hero-glow-drift{from{transform:translate3d(-1%,1%,0) scale(.96)}to{transform:translate3d(2%,-2%,0) scale(1.04)}}
@media(max-width:900px){.executive-hero{padding-block:64px 80px}.executive-hero .hero-grid{grid-template-columns:1fr;gap:42px;min-height:0}.executive-hero-copy{max-width:680px}.executive-hero .hero-instrument{max-width:400px;margin-inline:auto}.executive-hero h1{max-width:15ch}.hero-scroll{bottom:18px}}
@media(max-width:560px){.executive-hero{padding:52px 0 76px}.executive-hero .hero-grid{gap:34px}.executive-hero .hero-name{margin-bottom:18px}.executive-hero h1{font-size:clamp(2.8rem,12vw,4.3rem);max-width:13ch}.executive-hero .actions{flex-direction:column;align-items:stretch}.executive-hero .button{justify-content:center}.executive-hero .hero-instrument{max-width:330px}.hero-scroll{display:none}.portrait-caption{font-size:.66rem}}
@media(prefers-reduced-motion:reduce){.executive-hero::before{transform:none}.executive-hero .hero-instrument::before{animation:none}.executive-hero .button,.hero-specialty{transition:none}}

/* v10.3.1: compact, collision-safe mobile identity row */
@media(max-width:900px){
  .site-header .header-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center}
  .site-header .identity{min-width:0;max-width:100%;gap:8px}
  .site-header .identity-name{display:block;flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.98rem,4vw,1.12rem);line-height:1.05}
  .site-header .identity-name .id-first,.site-header .identity-name .id-last{max-width:none;overflow:visible;text-overflow:clip;white-space:inherit}
  .site-header .identity-badge{display:inline-flex!important;position:relative;z-index:2;flex:0 0 19px;width:19px;height:19px;margin-inline:0}
  .site-header .header-utilities{grid-column:2;grid-row:1;display:flex;align-items:center;justify-self:end;gap:8px;min-width:0}
  body .site-header .theme-toggle{display:grid!important;place-items:center;flex:0 0 54px;width:54px;height:44px;padding:0;overflow:visible}
  .site-header .theme-toggle .tt-track{width:54px;height:32px}
  .site-header .theme-toggle .tt-thumb{width:24px;height:24px}
  html[data-theme="dark"] .site-header .theme-toggle .tt-thumb{transform:translateX(24px)}
  .site-header .menu-toggle{display:block;flex:0 0 44px;width:44px;height:44px}
}
@media(max-width:380px){
  .site-header .header-row{column-gap:8px}
  .site-header .identity{gap:6px}
  .site-header .identity-name{font-size:.94rem}
  .site-header .menu-avatar{width:30px;height:30px}
  .site-header .header-utilities{gap:6px}
  body .site-header .theme-toggle{flex-basis:50px;width:50px}
  .site-header .theme-toggle .tt-track{width:50px}
  html[data-theme="dark"] .site-header .theme-toggle .tt-thumb{transform:translateX(20px)}
  .site-header .menu-toggle{flex-basis:42px;width:42px}
}
