/* Theme v3: compact, high-contrast, maintainable light/dark system. */
:root,
html[data-theme="light"] {
  --bg: #edf2f3;
  --surface: #ffffff;
  --surface-2: #e3eaec;
  --surface-3: #d7e1e4;
  --text: #13242d;
  --text-soft: #5f737d;
  --text-faint: #7c8d95;
  --accent: #456f79;
  --accent-strong: #315b75;
  --accent-soft: #bfd0d4;
  --line: rgba(19,36,45,.14);
  --line-strong: rgba(19,36,45,.24);
  --header: rgba(237,242,243,.88);
  --shadow: 0 18px 50px rgba(25,48,59,.10);
  --button-text: #f7fbfc;
  --dark-panel: #102631;
  --dark-panel-2: #173542;
  --dark-text: #edf5f6;
  --dark-muted: #a9bbc0;
}
html[data-theme="dark"] {
  --bg: #091720;
  --surface: #10232e;
  --surface-2: #142b37;
  --surface-3: #1b3440;
  --text: #edf4f5;
  --text-soft: #a5b6bc;
  --text-faint: #82979f;
  --accent: #78a3aa;
  --accent-strong: #8fb2c4;
  --accent-soft: #355865;
  --line: rgba(224,239,242,.12);
  --line-strong: rgba(224,239,242,.22);
  --header: rgba(9,23,32,.88);
  --shadow: 0 22px 58px rgba(0,0,0,.24);
  --button-text: #07151c;
  --dark-panel: #0b1c25;
  --dark-panel-2: #102b37;
  --dark-text: #f2f7f8;
  --dark-muted: #a7b8be;
}

html { background: var(--bg); color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
body { background: var(--bg) !important; color: var(--text) !important; font-size: 15px; line-height: 1.65; }
body, .site-header, .site-footer, .portfolio-page, .home-section, .home-contact, .home-case-card, .home-link-grid a, .project-case, .credential-big, .company-card, .contact-panel, input, textarea { transition: background-color .24s ease, color .24s ease, border-color .24s ease; }

h1,h2,h3,h4,strong,b { color: inherit; }
p { color: var(--text-soft); }
.shell { width: min(1180px, calc(100vw - 40px)); }

.site-header { background: var(--header) !important; border-bottom: 1px solid var(--line) !important; backdrop-filter: blur(18px); box-shadow: none !important; }
.site-header.scrolled { background: var(--header) !important; box-shadow: 0 8px 26px rgba(0,0,0,.08) !important; }
.nav-shell { min-height: 68px !important; }
.brand { color: var(--text) !important; gap: 10px !important; }
.monogram { width: 36px !important; height: 36px !important; display: grid !important; place-items: center; border: 1px solid var(--accent) !important; color: var(--accent) !important; font-size: 11px !important; letter-spacing: .04em !important; }
.brand-copy strong { font-size: 14px !important; letter-spacing: 0 !important; }
.brand-copy small { color: var(--text-faint) !important; font-size: 9px !important; }
.site-nav { gap: 15px !important; color: var(--text-soft) !important; font-size: 11px !important; font-weight: 600 !important; }
.site-nav a:hover { color: var(--accent-strong) !important; }
.language-link { border-inline-start: 1px solid var(--line) !important; padding-inline-start: 14px !important; color: var(--accent-strong) !important; }
.theme-toggle { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line-strong); background: var(--surface); color: var(--text); display: inline-grid; place-items: center; padding: 0; position: relative; }
.theme-icon { grid-area: 1/1; transition: opacity .18s ease, transform .18s ease; }
html[data-theme="light"] .theme-icon-dark { opacity: 0; transform: rotate(-45deg) scale(.7); }
html[data-theme="dark"] .theme-icon-light { opacity: 0; transform: rotate(45deg) scale(.7); }

.button { min-height: 44px !important; padding: 0 18px !important; border-radius: 8px !important; border: 1px solid var(--accent) !important; background: transparent !important; color: var(--accent-strong) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 12px !important; font-weight: 700 !important; box-shadow: none !important; }
.button:hover { transform: translateY(-1px) !important; background: var(--surface-2) !important; }
.button-accent { background: var(--accent-strong) !important; color: var(--button-text) !important; border-color: var(--accent-strong) !important; }
.button-accent:hover { background: var(--accent) !important; }

/* Home */
.home-hero { padding: 112px 0 0; background: linear-gradient(135deg, var(--bg) 0%, var(--surface-2) 100%); }
.home-hero-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(300px,.62fr); gap: 54px; align-items: center; padding-bottom: 36px; }
.home-hero-copy { max-width: 720px; }
.eyebrow { color: var(--accent-strong) !important; letter-spacing: .10em !important; font-size: 10px !important; font-weight: 700 !important; }
html[dir="rtl"] .eyebrow { letter-spacing: 0 !important; font-size: 12px !important; }
.home-hero h1 { margin: 14px 0 16px; font-size: clamp(44px,6.1vw,78px); line-height: 1.02; letter-spacing: -.045em; font-weight: 700; color: var(--text); }
html[dir="rtl"] .home-hero h1 { letter-spacing: -.02em; line-height: 1.18; }
.home-lead { max-width: 700px; margin: 0; font-size: clamp(16px,1.35vw,19px); line-height: 1.8; color: var(--text-soft); }
.home-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.home-current-role { margin-top: 28px; display: grid; grid-template-columns: 74px 1fr; gap: 14px; align-items: center; padding-top: 18px; border-top: 1px solid var(--line); }
.home-current-role > span { color: var(--accent-strong); font-size: 9px; letter-spacing: .12em; }
.home-current-role strong { display: block; font-size: 14px; }
.home-current-role small { display: block; color: var(--text-faint); margin-top: 2px; font-size: 11px; }
.home-portrait { margin: 0; border-radius: 22px; overflow: hidden; position: relative; min-height: 470px; background: var(--surface-3); box-shadow: var(--shadow); }
.home-portrait img { width: 100%; height: 500px; object-fit: cover; object-position: center 26%; display: block; filter: none !important; }
.home-portrait::after { content:""; position:absolute; inset:60% 0 0; background:linear-gradient(transparent,rgba(5,17,23,.72)); pointer-events:none; }
.home-portrait figcaption { position: absolute; z-index: 2; inset: auto 18px 16px; color: #f4f8f9; display:flex; justify-content:space-between; gap:16px; align-items:end; }
.home-portrait figcaption span { font-size: 10px; letter-spacing: .12em; }
.home-portrait figcaption b { font-size: 10px; font-weight: 500; color: #c9d8dc; }
.home-stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-inline-start:1px solid var(--line); }
.home-stats > div { padding: 18px 20px; border-inline-end:1px solid var(--line); min-height:88px; display:flex; flex-direction:column; justify-content:center; }
.home-stats strong { font-size: 24px; color: var(--accent-strong); line-height: 1; }
.home-stats span { margin-top:6px; color:var(--text-faint); font-size:10px; }

.home-section { padding: 68px 0; background: var(--bg); }
.home-profile-grid { display:grid; grid-template-columns:150px minmax(0,1fr) minmax(280px,.8fr); gap:38px; align-items:start; }
.section-kicker { display:flex; gap:10px; align-items:center; color:var(--text-faint); font-size:10px; }
.section-kicker span { width:30px; height:30px; border:1px solid var(--line-strong); border-radius:50%; display:grid; place-items:center; color:var(--accent-strong); }
.section-kicker b { font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
html[dir="rtl"] .section-kicker b { text-transform:none; letter-spacing:0; font-size:11px; }
.home-profile-copy h2,.home-section-head h2,.home-contact h2 { margin:0 0 14px; font-size:clamp(30px,3.3vw,46px); line-height:1.12; letter-spacing:-.035em; }
html[dir="rtl"] .home-profile-copy h2,html[dir="rtl"] .home-section-head h2,html[dir="rtl"] .home-contact h2 { letter-spacing:-.015em; line-height:1.3; }
.home-profile-copy p { margin:0; font-size:15px; line-height:1.85; max-width:720px; }
.home-discipline-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.home-discipline-grid span { padding:13px 14px; border:1px solid var(--line); background:var(--surface); color:var(--text-soft); border-radius:8px; font-size:11px; }

.home-career { background: var(--surface-2); }
.home-section-head { display:grid; grid-template-columns:150px 1fr; gap:38px; align-items:end; margin-bottom:26px; }
.home-section-head > div:last-child { display:flex; justify-content:space-between; gap:20px; align-items:end; }
.home-section-head h2 { margin:0; max-width:760px; }
.home-section-head a { color:var(--accent-strong); font-size:11px; white-space:nowrap; }
.home-timeline { border-top:1px solid var(--line); }
.home-timeline article { display:grid; grid-template-columns:155px 1fr; gap:24px; padding:20px 0; border-bottom:1px solid var(--line); }
.home-timeline time { color:var(--text-faint); font-size:10px; padding-top:4px; }
.home-timeline h3 { margin:0; font-size:20px; line-height:1.25; }
.home-timeline strong { display:block; color:var(--accent-strong); font-size:11px; margin-top:3px; }
.home-timeline p { margin:8px 0 0; max-width:820px; font-size:12px; line-height:1.65; }

.home-case-section { background: var(--dark-panel); color: var(--dark-text); }
.home-case-section .section-kicker,.home-case-section .home-section-head a { color:var(--dark-muted); }
.home-case-section .section-kicker span { border-color:rgba(255,255,255,.16); color:#9bbcc4; }
.home-case-section .section-kicker b,.home-case-section h2 { color:var(--dark-text); }
.home-case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.home-case-card { min-height:220px; padding:22px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:var(--dark-panel-2); }
.home-case-card > span { color:#8fb3bc; font-size:9px; letter-spacing:.08em; }
.home-case-card h3 { margin:28px 0 10px; font-size:21px; line-height:1.25; color:var(--dark-text); }
.home-case-card p { color:var(--dark-muted); font-size:12px; line-height:1.65; }
.home-case-card small { display:block; margin-top:18px; color:#c6d6da; font-size:10px; }

.home-explore { background:var(--bg); }
.home-link-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-inline-start:1px solid var(--line); }
.home-link-grid a { min-height:128px; padding:20px; border-inline-end:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface); display:flex; flex-direction:column; justify-content:flex-end; }
.home-link-grid a:hover { background:var(--surface-2); }
.home-link-grid b { font-size:18px; }
.home-link-grid span { color:var(--text-faint); font-size:10px; margin-top:4px; }

.home-contact { padding:68px 0; background:var(--dark-panel); color:var(--dark-text); }
.home-contact-grid { display:grid; grid-template-columns:.8fr 1.1fr; gap:50px; align-items:start; }
.home-contact .section-kicker b,.home-contact h2 { color:var(--dark-text); }
.home-contact .section-kicker { color:var(--dark-muted); }
.home-contact .section-kicker span { border-color:rgba(255,255,255,.17); color:#8fb3bc; }
.home-contact p { color:var(--dark-muted); }
.contact-lines { display:flex; flex-direction:column; gap:7px; margin-top:22px; font-size:12px; color:#d5e2e5; }
.contact-panel { background:var(--surface) !important; color:var(--text) !important; border:1px solid var(--line) !important; border-radius:14px !important; box-shadow:none !important; padding:24px !important; }
.contact-form label span { color:var(--text-faint) !important; font-size:10px !important; }
.contact-form input,.contact-form textarea { background:var(--bg) !important; color:var(--text) !important; border:1px solid var(--line-strong) !important; border-radius:7px !important; }

/* Existing portfolio pages */
.portfolio-page { padding:104px 0 58px !important; min-height:100vh; background:var(--bg) !important; color:var(--text) !important; }
.page-hero { margin:0 0 32px !important; padding:22px 0 30px !important; border-bottom:1px solid var(--line) !important; align-items:end !important; }
.page-hero h1 { margin:10px 0 10px !important; font-size:clamp(38px,5vw,66px) !important; line-height:1.04 !important; letter-spacing:-.04em !important; color:var(--text) !important; }
.page-hero p { color:var(--text-soft) !important; font-size:14px !important; line-height:1.7 !important; }
.cv-contact,.cv-block,.experience-entry,.education-card,.credential-row,.timeline-preview article,.education-full article,.research-list article { border-color:var(--line) !important; }
.cv-block { padding:30px 0 !important; }
.cv-block>h2,.cv-block>div>h2 { font-size:25px !important; }
.cv-block>p,.cv-timeline p,.experience-entry>div>p,.education-full p,.research-list p { color:var(--text-soft) !important; }
.cv-timeline article,.experience-entry { padding:24px 0 !important; }
.cv-timeline h3,.experience-entry h2 { color:var(--text) !important; }
.company-ribbon span { background:var(--surface-2) !important; color:var(--text-soft) !important; }
.project-case,.credential-big,.company-card { background:var(--surface) !important; color:var(--text) !important; }
.project-case p,.credential-big p,.company-card p { color:var(--text-soft) !important; }
.projects-full-grid,.credential-full-grid { background:var(--line) !important; }
.venture-panel,.brochure-cover,.brochure-section.dark,.brochure-contact { background:var(--dark-panel) !important; color:var(--dark-text) !important; }
.brochure-page { background:var(--bg) !important; }
.brochure-section { background:var(--surface) !important; color:var(--text) !important; border-color:var(--line) !important; }
.brochure-section p { color:var(--text-soft) !important; }
.brochure-section.dark p { color:var(--dark-muted) !important; }
.brochure-kpis { background:var(--accent-strong) !important; color:#f4f8f9 !important; }

.gallery-v3-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:12px; }
.gallery-v3-grid figure { margin:0; background:var(--surface); border:1px solid var(--line); border-radius:12px; overflow:hidden; min-height:280px; position:relative; }
.gallery-v3-grid figure img { width:100%; height:100%; min-height:280px; object-fit:cover; display:block; filter:none !important; }
.gallery-v3-portrait { grid-row:span 2; }
.gallery-v3-portrait img { min-height:572px !important; object-position:center 25%; }
.gallery-v3-grid figcaption { position:absolute; inset:auto 0 0; padding:36px 14px 12px; background:linear-gradient(transparent,rgba(6,18,25,.84)); display:flex; justify-content:space-between; gap:12px; color:#eef5f6; font-size:10px; }
.gallery-v3-grid figcaption span { color:#c3d3d7; }

.site-footer { background:var(--bg) !important; color:var(--text) !important; border-top:1px solid var(--line) !important; }
.site-footer p,.footer-meta { color:var(--text-faint) !important; }
.footer-links a:hover,.footer-meta a:hover { color:var(--accent-strong) !important; }

.reveal { opacity:0; transform:translateY(10px); transition:opacity .45s ease,transform .45s ease; }
.reveal.in-view { opacity:1; transform:none; }

@media (max-width: 980px) {
  .site-nav { gap:11px !important; }
  .home-hero-grid { grid-template-columns:1fr .62fr; gap:30px; }
  .home-profile-grid { grid-template-columns:130px 1fr; }
  .home-discipline-grid { grid-column:2; }
  .home-case-grid { grid-template-columns:1fr 1fr; }
  .home-link-grid { grid-template-columns:1fr 1fr; }
  .gallery-v3-grid { grid-template-columns:1fr 1fr; }
  .gallery-v3-portrait { grid-row:span 1; }
  .gallery-v3-portrait img { min-height:280px !important; }
}
@media (max-width: 820px) {
  .nav-toggle { display:block !important; }
  .site-nav { position:absolute !important; top:68px; inset-inline:20px; padding:14px !important; background:var(--surface) !important; color:var(--text) !important; border:1px solid var(--line) !important; border-radius:12px; box-shadow:var(--shadow); display:none !important; flex-direction:column !important; align-items:stretch !important; }
  .site-nav.open { display:flex !important; }
  .site-nav a,.theme-toggle { width:100%; text-align:start; }
  .theme-toggle { border-radius:8px; }
  .home-hero-grid,.home-contact-grid { grid-template-columns:1fr; }
  .home-portrait { max-width:520px; }
  .home-stats { grid-template-columns:1fr 1fr; }
  .home-profile-grid,.home-section-head { grid-template-columns:1fr; gap:18px; }
  .home-discipline-grid { grid-column:auto; }
  .home-section-head > div:last-child { align-items:flex-start; flex-direction:column; }
  .home-case-grid,.home-link-grid { grid-template-columns:1fr; }
  .gallery-v3-grid { grid-template-columns:1fr; }
  .gallery-v3-grid figure,.gallery-v3-grid figure img { min-height:320px; }
  .page-hero { grid-template-columns:1fr !important; }
}
@media (max-width: 560px) {
  .shell { width:min(100% - 28px,1180px); }
  .home-hero { padding-top:92px; }
  .home-hero h1 { font-size:42px; }
  .home-portrait img { height:430px; }
  .home-stats { grid-template-columns:1fr 1fr; }
  .home-stats > div { padding:14px; }
  .home-section,.home-contact { padding:48px 0; }
  .home-timeline article { grid-template-columns:1fr; gap:7px; }
  .home-discipline-grid { grid-template-columns:1fr; }
  .field-row { grid-template-columns:1fr !important; }
  .portfolio-page { padding-top:90px !important; }
  .page-hero h1 { font-size:38px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
  .reveal { opacity:1 !important; transform:none !important; }
}
