/* Executive refresh: personal-first, experience-led, restrained visual storytelling. */
:root {
  --ex-navy: #071722;
  --ex-navy-2: #0d2836;
  --ex-navy-3: #123746;
  --ex-ink: #0b2232;
  --ex-muted: #60727d;
  --ex-paper: #f7f9f8;
  --ex-white: #ffffff;
  --ex-gold: #d6ad58;
  --ex-gold-2: #f0cf86;
  --ex-cyan: #70b8c7;
  --ex-line: rgba(11,34,50,.14);
  --ex-dark-line: rgba(255,255,255,.14);
  --ex-shadow: 0 24px 70px rgba(3,18,28,.16);
}

.executive-home { background: var(--ex-paper); color: var(--ex-ink); }
.executive-home h1,.executive-home h2,.executive-home h3,.executive-home p { margin-top:0; }
.executive-kicker { display:inline-flex; align-items:center; gap:10px; color:var(--ex-gold); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.executive-kicker::before { content:""; width:30px; height:2px; background:var(--ex-gold); display:inline-block; }
html[dir="rtl"] .executive-kicker { letter-spacing:0; }

.executive-hero { padding:118px 0 0; background:radial-gradient(circle at 75% 25%,#17475a 0,#0b2635 32%,#071722 72%); color:#f5f8f8; overflow:hidden; }
.executive-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr); gap:72px; align-items:center; padding-bottom:42px; }
.executive-hero-copy { max-width:730px; }
.executive-hero h1 { margin:16px 0 6px; color:#fff; font-size:clamp(46px,6vw,82px); line-height:.98; letter-spacing:-.045em; font-weight:700; }
html[dir="rtl"] .executive-hero h1 { letter-spacing:-.015em; line-height:1.15; }
.executive-title { margin:0 0 18px; color:var(--ex-gold-2); font-size:17px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
html[dir="rtl"] .executive-title { letter-spacing:0; }
.executive-lead { max-width:670px; color:#c4d2d7; font-size:17px; line-height:1.8; }
.executive-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.executive-button { min-height:46px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:14px; border:1px solid rgba(239,207,134,.55); border-radius:7px; color:#f7f9f8; font-size:12px; font-weight:800; background:rgba(7,23,34,.22); transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.executive-button:hover { transform:translateY(-2px); border-color:var(--ex-gold-2); }
.executive-button.primary { background:linear-gradient(135deg,var(--ex-gold-2),#c99a42); color:#102532; border-color:transparent; box-shadow:0 10px 32px rgba(214,173,88,.18); }
.executive-hero-current { margin-top:30px; padding-top:18px; border-top:1px solid rgba(255,255,255,.16); display:grid; grid-template-columns:76px 1fr; gap:16px; align-items:center; }
.executive-hero-current > span { color:var(--ex-gold); font-size:9px; font-weight:800; letter-spacing:.15em; }
.executive-hero-current strong { display:block; color:#fff; font-size:14px; }
.executive-hero-current small { display:block; color:#95abb4; margin-top:3px; font-size:11px; }
.executive-hero-media { width:min(100%,420px); justify-self:end; }
.executive-portrait-card { margin:0; border:1px solid rgba(255,255,255,.16); border-radius:16px; overflow:hidden; background:#102b39; box-shadow:0 35px 90px rgba(0,0,0,.32); aspect-ratio:4/5; }
.executive-portrait-card img { width:100%; height:100%; object-fit:cover; object-position:center 24%; display:block; }
.executive-quote { max-width:340px; margin:18px 0 0 auto; padding:0 4px 0 22px; border-inline-start:2px solid var(--ex-gold); color:#d8e1e4; font-family:Georgia,'Times New Roman',serif; font-size:17px; font-style:italic; line-height:1.55; }
.executive-metrics { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.16); }
.executive-metrics > div { padding:20px 22px 23px; border-inline-end:1px solid rgba(255,255,255,.12); }
.executive-metrics > div:last-child { border-inline-end:0; }
.executive-metrics strong { display:block; color:var(--ex-gold-2); font-size:28px; line-height:1; }
.executive-metrics span { display:block; margin-top:7px; color:#aebfc5; font-size:11px; }

.executive-section { padding:78px 0; }
.executive-section-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:end; margin-bottom:34px; }
.executive-section-head h2,.executive-profile-grid h2,.executive-gateway h2,.executive-contact h2 { margin:12px 0 0; font-size:clamp(30px,3.7vw,52px); line-height:1.08; letter-spacing:-.035em; }
html[dir="rtl"] .executive-section-head h2,html[dir="rtl"] .executive-profile-grid h2,html[dir="rtl"] .executive-gateway h2,html[dir="rtl"] .executive-contact h2 { letter-spacing:-.01em; line-height:1.25; }
.executive-section-head > a { color:#315b75; font-size:12px; font-weight:800; white-space:nowrap; padding-bottom:8px; border-bottom:1px solid currentColor; }

.experience-focus { background:#f8faf9; }
.executive-experience-rail { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ex-line); border-inline-start:1px solid var(--ex-line); }
.executive-experience-item { min-height:252px; padding:24px; border-inline-end:1px solid var(--ex-line); border-bottom:1px solid var(--ex-line); background:rgba(255,255,255,.72); }
.executive-experience-item time { color:#8b6b2d; font-size:10px; font-weight:800; letter-spacing:.05em; }
.executive-experience-item h3 { margin:18px 0 5px; font-size:21px; line-height:1.25; color:var(--ex-ink); }
.executive-experience-item strong { display:block; color:#315b75; font-size:12px; }
.executive-experience-item > span { display:block; color:#83949c; font-size:10px; margin-top:4px; }
.executive-experience-item p { margin:14px 0 0; color:#667982; font-size:12px; line-height:1.65; }

.achievements-focus { background:linear-gradient(145deg,#071722,#0c2937); color:#f6f9fa; }
.achievements-focus .executive-section-head h2 { color:#fff; }
.achievements-focus .executive-section-head > a { color:var(--ex-gold-2); }
.executive-project-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.executive-project-card { min-width:0; border:1px solid rgba(255,255,255,.13); border-radius:14px; overflow:hidden; background:#0b2330; box-shadow:0 18px 50px rgba(0,0,0,.16); transition:transform .25s ease,border-color .25s ease; }
.executive-project-card:hover { transform:translateY(-5px); border-color:rgba(239,207,134,.42); }
.executive-project-image { height:185px; background:#102f3d; overflow:hidden; }
.executive-project-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.executive-project-card:hover img { transform:scale(1.035); }
.executive-project-content { padding:20px; }
.executive-project-content > span { color:var(--ex-gold); font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.executive-project-content h3 { margin:13px 0 10px; color:#fff; font-size:20px; line-height:1.25; }
.executive-project-content p { min-height:58px; color:#aebfc5; font-size:11.5px; line-height:1.65; }
.executive-project-content > strong { display:block; margin-top:15px; color:var(--ex-gold-2); font-size:12px; line-height:1.45; }
.executive-project-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:16px; }
.executive-project-tags small { padding:5px 8px; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:#c7d5da; font-size:8px; }

.profile-focus { background:#eef3f3; }
.executive-profile-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }
.executive-profile-copy p { margin:0; color:#536a75; font-size:16px; line-height:1.9; max-width:720px; }
.executive-credential-strip { display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }
.executive-credential-strip span { padding:9px 12px; border:1px solid rgba(11,34,50,.16); background:rgba(255,255,255,.72); border-radius:7px; color:#244756; font-size:10px; font-weight:700; }

.gateway-focus { padding-top:38px; background:#eef3f3; }
.executive-gateway-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.executive-gateway { min-height:330px; padding:34px; border-radius:16px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; border:1px solid var(--ex-line); background:#fff; color:var(--ex-ink); box-shadow:0 14px 42px rgba(3,18,28,.06); }
.executive-gateway:nth-child(2) { background:linear-gradient(135deg,#0c2a39,#071722); color:#fff; border-color:rgba(255,255,255,.1); }
.executive-gateway > span { position:absolute; top:28px; color:#9a7735; font-size:10px; font-weight:800; letter-spacing:.12em; }
.executive-gateway:nth-child(2) > span { color:var(--ex-gold); }
.executive-gateway h2 { max-width:540px; font-size:clamp(28px,3vw,42px); }
.executive-gateway p { max-width:560px; color:#687b84; font-size:13px; line-height:1.7; }
.executive-gateway:nth-child(2) p { color:#adc0c7; }
.executive-gateway b { margin-top:18px; color:#315b75; font-size:12px; }
.executive-gateway:nth-child(2) b { color:var(--ex-gold-2); }

.executive-contact { padding:78px 0; background:#071722; color:#fff; }
.executive-contact-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:70px; align-items:start; }
.executive-contact h2 { color:#fff; }
.executive-contact p { color:#aebfc5; max-width:580px; line-height:1.8; }
.executive-contact-lines { display:flex; flex-direction:column; gap:8px; margin-top:24px; color:#e1e9eb; font-size:12px; }
.executive-contact .contact-panel { background:#fff !important; color:#102532 !important; border-radius:14px !important; border:0 !important; box-shadow:0 25px 60px rgba(0,0,0,.22) !important; }
.executive-contact .contact-form input,.executive-contact .contact-form textarea { background:#f4f7f7 !important; color:#102532 !important; }
.executive-contact .executive-button { border:0; }

/* Companies: independent alternating story cards. */
.companies-story-page { background:#071722 !important; color:#fff !important; }
.companies-story-hero { border-bottom-color:rgba(255,255,255,.14) !important; }
.companies-story-hero h1 { color:#fff !important; }
.companies-story-hero p { color:#aebfc5 !important; max-width:780px; }
.company-story-list { display:flex; flex-direction:column; gap:22px; padding:6px 0 46px; }
.company-story-card { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); min-height:380px; border-radius:18px; overflow:hidden; background:#f9fbfb; color:#0c2534; box-shadow:0 24px 70px rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.08); }
.company-story-card.company-story-reverse { grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr); }
.company-story-reverse .company-story-visual { order:2; }
.company-story-reverse .company-story-copy { order:1; }
.company-story-visual { min-height:380px; background:#0e2c3a; overflow:hidden; }
.company-story-visual img { width:100%; height:100%; min-height:380px; display:block; object-fit:cover; transition:transform .5s ease; }
.company-story-card:hover .company-story-visual img { transform:scale(1.025); }
.company-story-copy { position:relative; padding:34px 38px; display:flex; flex-direction:column; justify-content:center; }
.company-story-logo { height:64px; margin-bottom:22px; display:flex; align-items:center; }
.company-story-logo object { display:block; width:min(230px,78%); height:58px; object-fit:contain; }
.company-story-logo object > img { max-width:100%; max-height:58px; object-fit:contain; }
.company-wordmark-fallback { display:flex; align-items:center; min-height:48px; color:#123746; font-size:18px; font-weight:800; }
.company-story-index { position:absolute; top:32px; inset-inline-end:34px; color:#b38a3d; font-size:10px; font-weight:800; letter-spacing:.12em; }
.company-story-copy h2 { margin:0; color:#0b2232 !important; font-size:clamp(27px,3vw,42px); line-height:1.12; letter-spacing:-.035em; }
html[dir="rtl"] .company-story-copy h2 { letter-spacing:0; }
.company-story-roles { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }
.company-story-roles span { padding:6px 9px; border-radius:999px; background:#e9f0f1; color:#214b5b; font-size:10px; font-weight:800; }
.company-story-meta { margin:14px 0 0 !important; color:#9a7735 !important; font-size:11px !important; font-weight:700; }
.company-story-summary { margin:14px 0 0 !important; color:#5e737d !important; font-size:13px !important; line-height:1.75 !important; max-width:650px; }
.company-story-link { margin-top:20px; color:#214b5b; font-size:11px; font-weight:800; }
.companies-story-cta { margin:20px 0 60px; padding:36px; border:1px solid rgba(255,255,255,.14); border-radius:16px; display:flex; align-items:center; justify-content:space-between; gap:30px; background:linear-gradient(135deg,#0d2d3b,#091b25); }
.companies-story-cta h2 { color:#fff; margin:12px 0 0; font-size:clamp(28px,3vw,42px); }
.companies-story-cta .editorial-secondary { color:#fff !important; border-color:rgba(255,255,255,.3) !important; }

/* Navigation: restore clear personal portfolio destinations. */
.site-nav.portfolio-nav { gap:12px !important; }
.site-nav.portfolio-nav > a { white-space:nowrap; }

@media (max-width:1100px) {
  .executive-hero-grid { grid-template-columns:minmax(0,1fr) 350px; gap:44px; }
  .executive-project-grid { grid-template-columns:1fr 1fr; }
  .executive-experience-rail { grid-template-columns:1fr 1fr; }
  .company-story-card,.company-story-card.company-story-reverse { grid-template-columns:1fr 1fr; }
}

@media (max-width:820px) {
  .executive-hero { padding-top:96px; }
  .executive-hero-grid { grid-template-columns:1fr; gap:30px; }
  .executive-hero-media { width:min(100%,420px); justify-self:start; }
  .executive-portrait-card { aspect-ratio:5/6; }
  .executive-metrics { grid-template-columns:1fr 1fr; }
  .executive-section { padding:58px 0; }
  .executive-section-head { grid-template-columns:1fr; align-items:start; }
  .executive-section-head > a { justify-self:start; }
  .executive-experience-rail,.executive-project-grid,.executive-profile-grid,.executive-gateway-grid,.executive-contact-grid { grid-template-columns:1fr; }
  .executive-profile-grid { gap:26px; }
  .company-story-card,.company-story-card.company-story-reverse { grid-template-columns:1fr; }
  .company-story-reverse .company-story-visual,.company-story-reverse .company-story-copy { order:initial; }
  .company-story-visual,.company-story-visual img { min-height:300px; }
  .companies-story-cta { flex-direction:column; align-items:flex-start; }
}

@media (max-width:560px) {
  .executive-hero h1 { font-size:46px; }
  .executive-title { font-size:13px; }
  .executive-lead { font-size:15px; }
  .executive-metrics > div { padding:16px 14px; }
  .executive-metrics strong { font-size:24px; }
  .executive-experience-item { min-height:0; }
  .executive-project-grid { grid-template-columns:1fr; }
  .executive-project-image { height:210px; }
  .executive-gateway { min-height:280px; padding:26px; }
  .company-story-copy { padding:28px 24px; }
  .company-story-logo { height:56px; }
  .company-story-logo object { height:50px; }
  .companies-story-cta { padding:28px 24px; }
}

html[data-theme="dark"] .experience-focus,html[data-theme="dark"] .profile-focus,html[data-theme="dark"] .gateway-focus { background:#0b1f2a; }
html[data-theme="dark"] .executive-experience-item { background:#102934; border-color:rgba(255,255,255,.1); }
html[data-theme="dark"] .executive-experience-item h3 { color:#f1f6f7; }
html[data-theme="dark"] .executive-experience-item p,html[data-theme="dark"] .executive-profile-copy p { color:#aabcc2; }
html[data-theme="dark"] .executive-credential-strip span { background:#102934; color:#c7d5d9; border-color:rgba(255,255,255,.12); }
html[data-theme="dark"] .executive-gateway:first-child { background:#102934; color:#f3f7f8; border-color:rgba(255,255,255,.1); }
html[data-theme="dark"] .executive-gateway:first-child p { color:#a9bbc1; }
html[data-theme="dark"] .executive-gateway:first-child b { color:var(--ex-gold-2); }
