:root {
  --night: #0a1013;
  --night-2: #101a1e;
  --night-3: #142125;
  --panel: #152227;
  --ink: #172124;
  --cream: #f1efe9;
  --cream-2: #e6e5df;
  --white: #fafaf7;
  --gold: #c9a227;
  --gold-light: #e2bc4b;
  --gold-dim: rgba(201, 162, 39, .14);
  --text: #f7f7f2;
  --muted: #98a6a8;
  --line: rgba(221, 232, 231, .14);
  --container: 1240px;
  --radius: 8px;
  --font-display: 'Manrope', 'Segoe UI', sans-serif;
  --font-body: 'DM Sans', 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:85px; }
body { margin:0; background:var(--night); color:var(--text); font-family:var(--font-body); font-size:16px; line-height:1.65; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
a { color:inherit; }
a,button { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
img { max-width:100%; display:block; }
svg { display:block; }
::selection { background:var(--gold); color:var(--night); }
:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
.container { width:min(var(--container),calc(100% - 96px)); margin-inline:auto; }
.section { padding-block:clamp(96px,10vw,154px); }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-family:var(--font-display); }
h1,h2 { letter-spacing:-.072em; }
h3 { letter-spacing:-.042em; }
.section-label { display:flex; align-items:center; gap:13px; font:500 11px/1.3 var(--font-mono); letter-spacing:.115em; color:var(--gold); }
.label-rule { display:inline-block; width:26px; height:1px; background:currentColor; }
.section h2 { font-size:clamp(43px,5vw,75px); font-weight:700; line-height:1.13; }
.section h2 em { font-style:normal; color:var(--gold); }
.skip-link { position:fixed; z-index:100; top:-100px; left:16px; padding:12px 22px; background:var(--gold); color:var(--night); font-weight:700; text-decoration:none; }
.skip-link:focus { top:15px; }
.top-line { height:3px; background:linear-gradient(90deg,var(--gold) 0 32%,transparent 32% 100%); }
/* Navigation */
.site-header { position:sticky; z-index:40; top:0; background:rgba(10,16,19,.84); border-bottom:1px solid rgba(255,255,255,.045); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); transition:background .25s,border-color .25s; }
.site-header.is-scrolled { background:rgba(10,16,19,.96); border-color:var(--line); }
.header-inner { height:88px; display:flex; align-items:center; gap:30px; }
.brand { display:flex; align-items:center; gap:13px; text-decoration:none; flex-shrink:0; }
.brand-symbol { width:54px; height:42px; display:grid; place-items:center; }
.brand-symbol img { width:54px; height:auto; }
.brand-type { display:flex; flex-direction:column; gap:1px; }
.brand-type strong { font:800 16px/1 var(--font-display); letter-spacing:.018em; }
.brand-type strong span { color:var(--gold); margin-left:4px; }
.brand-type small { font:500 9px/1.3 var(--font-mono); letter-spacing:.29em; color:#96a0a0; margin-top:7px; }
.desktop-nav { margin-left:auto; display:flex; gap:clamp(17px,2.5vw,39px); align-items:center; }
.desktop-nav a { position:relative; font:600 13px/1 var(--font-body); letter-spacing:.007em; text-decoration:none; color:#bbc5c3; transition:color .2s; padding-block:16px; }
.desktop-nav a::after { content:""; position:absolute; bottom:6px; left:0; right:100%; height:1px; background:var(--gold); transition:right .25s; }
.desktop-nav a:hover,.desktop-nav a.active { color:#fff; }
.desktop-nav a:hover::after,.desktop-nav a.active::after { right:0; }
.header-contact { flex-shrink:0; margin-left:12px; color:var(--night); background:var(--gold); border-radius:3px; padding:11px 16px; text-decoration:none; font:800 12px/1.2 var(--font-display); display:inline-flex; align-items:center; gap:20px; transition:background .2s,transform .2s; }
.header-contact:hover { background:var(--gold-light); transform:translateY(-2px); }
.header-contact span { font-size:18px; font-weight:400; }
.menu-toggle { display:none; }
.mobile-nav { display:none; }
/* Hero */
.hero { position:relative; min-height:800px; padding:91px 0 0; isolation:isolate; overflow:hidden; }
.hero-glow { pointer-events:none; position:absolute; z-index:-1; top:-250px; right:-220px; width:850px; height:980px; background:radial-gradient(ellipse at center,rgba(62,75,59,.28),transparent 64%); }
.hero-lines { pointer-events:none; position:absolute; z-index:-1; inset:0; opacity:.22; background-image:linear-gradient(rgba(163,180,170,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(163,180,170,.065) 1px,transparent 1px); background-size:76px 76px; mask-image:linear-gradient(to right,transparent 13%,black 95%); }
.hero-layout { display:grid; grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr); align-items:center; gap:clamp(38px,4.5vw,80px); }
.hero-copy { position:relative; z-index:2; padding-bottom:35px; }
.hero-overline { display:flex; align-items:center; gap:11px; color:var(--gold); font:500 10px/1.3 var(--font-mono); letter-spacing:.08em; white-space:nowrap; }
.pulse-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px rgba(201,162,39,.12); }
.overline-index { color:#53656a; margin-left:4px; }
.hero-name { margin-top:52px; display:flex; align-items:center; gap:16px; font:600 11px/1 var(--font-mono); letter-spacing:.17em; color:#9cacae; }
.name-divider { width:27px; height:1px; background:#566467; }
.hero h1 { margin-top:20px; font-size:clamp(66px,7vw,112px); font-weight:800; line-height:1.085; letter-spacing:-.085em; }
.hero h1>span { display:block; }
.hero h1 .heading-gold { color:var(--gold); }
.hero h1 .hero-period { color:#e1b738; }
.hero-description { margin-top:34px; max-width:515px; color:#aebbbb; font-size:clamp(16px,1.55vw,18px); line-height:1.8; }
.hero-buttons { margin-top:34px; display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; gap:28px; align-items:center; justify-content:space-between; padding:15px 21px; border:1px solid transparent; border-radius:4px; text-decoration:none; font:800 12px/1.25 var(--font-display); transition:transform .2s,border-color .2s,background .2s; }
.button:hover { transform:translateY(-3px); }
.button-gold { background:var(--gold); color:#111718; }
.button-gold:hover { background:var(--gold-light); }
.button svg { width:19px; height:19px; stroke:currentColor; stroke-width:1.7; fill:none; }
.button-outline { border-color:rgba(255,255,255,.23); color:var(--white); }
.button-outline:hover { border-color:var(--gold); }
.button-outline span { font-size:19px; font-weight:400; }
.hero-chips { display:flex; flex-wrap:wrap; gap:10px 15px; margin-top:53px; }
.hero-chips span { font:500 9px/1.6 var(--font-mono); color:#829394; letter-spacing:.055em; }
.hero-chips span:not(:last-child)::after { content:"/"; margin-left:16px; color:var(--gold); }
.hero-visual { position:relative; padding:32px 0 35px; }
.orbit { position:absolute; border:1px solid rgba(201,162,39,.11); border-radius:50%; pointer-events:none; }
.orbit-one { width:650px; height:650px; top:-35px; right:-85px; }
.orbit-two { width:800px; height:800px; top:-110px; right:-160px; border-color:rgba(201,162,39,.065); }
.instrument { position:relative; z-index:2; padding:24px; background:linear-gradient(145deg,rgba(32,49,52,.95),rgba(16,25,30,.99)); border:1px solid #405050; border-radius:9px; box-shadow:0 22px 66px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05); }
.instrument::before { content:""; display:block; position:absolute; top:-1px; left:24px; width:88px; height:2px; background:var(--gold); }
.instrument-top { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#8f9e9c; font:500 9px/1.4 var(--font-mono); letter-spacing:.025em; }
.instrument-label { display:flex; align-items:center; gap:9px; }
.instrument-light { width:5px; height:5px; border-radius:50%; background:#73a88a; box-shadow:0 0 10px rgba(115,168,138,.7); }
.instrument-number { color:#657777; }
.instrument-intro { margin-top:38px; display:flex; justify-content:space-between; gap:15px; align-items:center; }
.instrument-overline { font:500 9px/1.4 var(--font-mono); letter-spacing:.075em; color:var(--gold); }
.instrument-intro h2 { margin-top:11px; font:700 clamp(21px,2vw,29px)/1.3 var(--font-display); letter-spacing:-.05em; }
.instrument-intro h2 span { color:#9eaeaa; }
.instrument-logo { width:92px; object-fit:contain; opacity:.94; }
.risk-panel { margin-top:27px; padding:19px 20px 15px; background:rgba(7,14,17,.62); border:1px solid rgba(194,211,207,.13); border-radius:5px; }
.risk-topline { display:flex; justify-content:space-between; align-items:center; gap:10px; color:#9eadae; font:500 9px/1.4 var(--font-mono); letter-spacing:.065em; }
.risk-topline span:last-child { color:var(--gold); }
.matrix-shell { display:grid; grid-template-columns:15px minmax(0,1fr); gap:9px; margin-top:18px; }
.matrix-axis-y { writing-mode:vertical-rl; transform:rotate(180deg); display:grid; place-items:center; font:500 8px/1 var(--font-mono); letter-spacing:.065em; color:#677b7c; }
.risk-matrix { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
.matrix-cell { display:grid; place-items:center; aspect-ratio:1.31; min-width:0; padding:1px; border:1px solid transparent; border-radius:2px; font:500 clamp(11px,1vw,14px)/1 var(--font-mono); color:#e8ecea; cursor:pointer; transition:filter .15s,transform .15s,border-color .15s; }
.matrix-cell:hover,.matrix-cell:focus-visible { filter:brightness(1.33); transform:scale(1.045); position:relative; z-index:1; }
.matrix-cell[data-band=low] { background:#234f4a; }
.matrix-cell[data-band=moderate] { background:#827b37; }
.matrix-cell[data-band=high] { background:#a76a33; }
.matrix-cell[data-band=critical] { background:#994747; }
.matrix-cell[aria-pressed=true] { border-color:#f8f8f2; outline:2px solid #f8f8f2; outline-offset:1px; position:relative; z-index:2; }
.matrix-axis-x { text-align:center; margin-top:9px; margin-left:24px; color:#677b7c; font:500 8px/1.2 var(--font-mono); letter-spacing:.1em; }
.risk-readout { margin-top:18px; padding:12px 10px; display:flex; align-items:center; gap:16px; border-top:1px solid rgba(229,239,236,.14); }
.risk-score { flex-shrink:0; color:#e2ab66; font:700 35px/1 var(--font-display); letter-spacing:-.06em; }
.risk-score small { color:#6e7d7c; font:400 11px var(--font-mono); margin-left:2px; }
.risk-readout-copy { display:flex; flex-direction:column; gap:3px; }
.risk-readout-copy strong { font:700 10px/1.3 var(--font-mono); letter-spacing:.035em; color:#ead3b3; }
.risk-readout-copy small { font:400 10px/1.45 var(--font-body); color:#8ca09f; }
.risk-readout-chevron { margin-left:auto; color:var(--gold); align-self:flex-start; }
.risk-readout[data-band=low] .risk-score { color:#72b2a4; }
.risk-readout[data-band=moderate] .risk-score { color:#ddc76f; }
.risk-readout[data-band=critical] .risk-score { color:#e49191; }
.risk-disclaimer { margin-top:4px; font:400 9px/1.6 var(--font-body); color:#6f8181; }
.floating-tag { position:absolute; z-index:3; white-space:nowrap; background:#1f3032; border:1px solid rgba(201,162,39,.28); box-shadow:0 14px 38px rgba(0,0,0,.24); color:#b4bfbb; font:500 9px/1 var(--font-mono); letter-spacing:.08em; }
.tag-top { top:13px; right:-17px; padding:13px 15px; transform:rotate(2deg); }
.tag-top span,.tag-bottom span { color:var(--gold); }
.tag-top i { display:inline-block; width:3px; height:3px; border-radius:50%; vertical-align:middle; background:#697675; margin-inline:6px; }
.tag-bottom { bottom:18px; left:-22px; padding:15px 19px; transform:rotate(-2deg); }
.tag-bottom span { margin-left:22px; font-size:15px; }
.hero-bottom { margin-top:27px; padding-block:21px 30px; display:flex; gap:18px; align-items:center; font:500 9px/1.2 var(--font-mono); letter-spacing:.17em; color:#64777a; }
.scroll-rule { width:64px; height:1px; background:#56666a; }
.hero-bottom-index { margin-left:auto; }
/* Focus strip */
.focus-strip { border-top:1px solid rgba(255,255,255,.075); border-bottom:1px solid rgba(255,255,255,.075); background:#111a1d; }
.focus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.focus-grid>div { padding:29px 28px; display:grid; grid-template-columns:35px 1fr; grid-template-rows:auto auto; gap:4px 3px; }
.focus-grid>div:not(:last-child) { border-right:1px solid var(--line); }
.focus-number { grid-row:1/span 2; font:500 10px/1.8 var(--font-mono); color:var(--gold); }
.focus-grid strong { font:700 16px/1.3 var(--font-display); letter-spacing:-.025em; }
.focus-grid small { font:500 9px/1.8 var(--font-mono); letter-spacing:.08em; color:#839091; }
/* About */
.about-section { background:var(--night); }
.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(70px,10vw,170px); }
.about-heading h2 { margin-top:32px; }
.about-monogram { height:194px; display:flex; align-items:center; justify-content:flex-start; margin-top:50px; opacity:.2; }
.about-monogram img { width:300px; filter:grayscale(1); }
.about-content { padding-top:52px; }
.about-content p { color:#a4b2b2; line-height:1.95; font-size:15px; margin-bottom:22px; }
.about-content .about-lead { color:#f4f5f1; font:550 clamp(19px,2vw,25px)/1.62 var(--font-body); letter-spacing:-.017em; }
.text-link { display:inline-flex; gap:46px; align-items:center; text-decoration:none; padding:8px 0 11px; border-bottom:1px solid var(--gold); margin-top:8px; font-weight:700; font-size:13px; color:#f4f3ee; transition:gap .2s; }
.text-link:hover { gap:54px; }
.text-link span { font-size:18px; color:var(--gold); }
.about-detail-grid { border-top:1px solid var(--line); padding-top:24px; display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-top:46px; }
.about-detail-grid>div { display:flex; align-items:center; gap:15px; }
.detail-icon { display:grid; place-items:center; border:1px solid #3d4845; width:40px; height:40px; flex-shrink:0; color:var(--gold); font-size:21px; }
.about-detail-grid span span { display:flex; flex-direction:column; }
.about-detail-grid small { display:block; color:#778888; font:500 9px/1.5 var(--font-mono); letter-spacing:.08em; }
.about-detail-grid strong { font-size:13px; font-weight:650; }
/* Expertise */
.expertise-section { color:var(--ink); background:var(--cream); }
.heading-on-light { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:50px; }
.heading-on-light h2 { margin-top:23px; }
.heading-on-light h2 em { color:#b08c20; }
.heading-on-light>p { max-width:270px; color:#637173; font-size:14px; line-height:1.9; padding-bottom:4px; }
.expertise-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.expertise-card { position:relative; min-height:425px; padding:25px 23px 25px; background:var(--white); border:1px solid #dddcd5; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; transition:transform .28s,box-shadow .28s,border-color .28s; }
.expertise-card:hover { transform:translateY(-6px); border-color:#c7b480; box-shadow:0 25px 40px rgba(25,28,26,.09); }
.expertise-card::after { content:""; position:absolute; inset:auto 0 0 0; height:3px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.expertise-card:hover::after { transform:scaleX(1); }
.card-head { display:flex; gap:10px; align-items:start; justify-content:space-between; }
.card-head>span { color:#75817f; font:600 9px/1.45 var(--font-mono); letter-spacing:.035em; }
.card-head svg { width:40px; height:40px; flex-shrink:0; fill:none; stroke:#bba86e; stroke-width:1.15; stroke-linejoin:round; stroke-linecap:round; }
.card-accent { display:block; height:3px; width:29px; background:var(--gold); margin-bottom:22px; }
.expertise-card h3 { font-size:clamp(19px,1.75vw,25px); line-height:1.36; font-weight:800; }
.expertise-card p { font-size:13px; color:#5f6a68; margin-top:17px; line-height:1.8; }
.card-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:22px; }
.card-tags span { border:1px solid #deded5; font:500 9px/1.3 var(--font-mono); color:#707b79; padding:6px 8px; }
/* Approach */
.approach-section { background:radial-gradient(ellipse at 80% 15%,rgba(55,74,67,.22),transparent 52%),#10191c; }
.approach-head { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:end; }
.approach-head .section-label { grid-column:1 / -1; }
.approach-head>p:last-child { max-width:325px; margin-left:auto; color:#9cacaa; font-size:16px; line-height:1.9; }
.approach-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:74px; border-top:1px solid #344246; }
.approach-step { padding:33px 40px 0 0; position:relative; }
.approach-step+ .approach-step { border-left:1px solid #344246; padding-left:40px; }
.step-no { color:var(--gold); font:500 11px/1 var(--font-mono); }
.step-no span { color:#6a7b7a; margin-left:5px; }
.step-icon { height:86px; display:flex; align-items:center; margin-top:18px; }
.step-icon svg { width:50px; height:50px; stroke:var(--gold); stroke-width:1.2; stroke-linejoin:round; stroke-linecap:round; fill:none; }
.approach-step h3 { font-size:clamp(22px,2.2vw,29px); }
.approach-step p { margin-top:16px; color:#9cabaa; font-size:14px; line-height:1.95; max-width:300px; }
/* Experience */
.experience-section { background:#0b1216; }
.experience-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(50px,10vw,145px); }
.experience-intro h2 { margin-top:27px; }
.experience-intro>p:not(.section-label) { color:#9dacac; margin-top:28px; line-height:1.9; max-width:340px; }
.career-decoration { margin-top:90px; color:#6e7d7c; font:500 12px var(--font-mono); letter-spacing:.15em; }
.career-decoration span { margin-inline:20px; color:var(--gold); }
.timeline { list-style:none; margin:0; padding:0 0 0 36px; border-left:1px solid #3a4546; }
.timeline li { position:relative; display:grid; grid-template-columns:125px 1fr; gap:25px; border-bottom:1px solid var(--line); padding:16px 0 31px; margin-bottom:26px; }
.timeline li:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.timeline-point { position:absolute; left:-42px; top:22px; width:11px; height:11px; border:2px solid var(--gold); background:var(--night); transform:rotate(45deg); }
.timeline-time { padding-top:6px; color:var(--gold); font:500 10px/1.6 var(--font-mono); letter-spacing:.035em; }
.timeline h3 { font-size:20px; line-height:1.4; }
.timeline p { color:#a0aeac; font-size:13px; line-height:1.85; margin-top:11px; }
.timeline-field { display:inline-block; margin-top:15px; color:#687e80; font:500 9px/1.5 var(--font-mono); letter-spacing:.09em; }
/* Contact */
.contact-section { background:var(--gold); color:#152023; overflow:hidden; }
.contact-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; padding-block:clamp(80px,8vw,122px); }
.contact-section .section-label { color:#4c481e; }
.contact-left h2 { font:800 clamp(47px,5.2vw,80px)/1.13 var(--font-display); letter-spacing:-.075em; margin-top:26px; }
.contact-left h2 em { font-style:normal; color:#4b3c13; }
.contact-left>p:not(.section-label) { color:#3b3b2c; margin-top:25px; max-width:440px; font-size:15px; line-height:1.9; }
.contact-mail { color:var(--white); background:#151c1b; display:inline-flex; align-items:center; justify-content:space-between; gap:60px; padding:16px 20px; margin-top:30px; font:800 13px/1.2 var(--font-display); text-decoration:none; transition:transform .2s,background .2s; }
.contact-mail:hover { transform:translateY(-3px); background:#34403d; }
.contact-mail span { font-weight:400; font-size:21px; }
.contact-right { background:#111a1d; padding:36px; color:var(--white); border:1px solid rgba(255,255,255,.17); box-shadow:20px 20px 0 rgba(36,41,27,.11); }
.contact-logo { display:flex; justify-content:flex-end; height:90px; }
.contact-logo img { width:135px; height:auto; object-fit:contain; }
.contact-meta { border-top:1px solid #314043; padding-top:22px; margin-top:18px; }
.contact-meta>span { display:block; color:var(--gold); font:500 10px/1.4 var(--font-mono); letter-spacing:.08em; }
.copy-line { display:flex; gap:8px; justify-content:space-between; align-items:center; flex-wrap:wrap; margin-top:12px; }
.copy-line>a { font:700 clamp(16px,1.65vw,22px)/1.4 var(--font-display); letter-spacing:-.03em; text-decoration:none; overflow-wrap:anywhere; }
.copy-line>a:hover,.linkedin-link:hover { color:var(--gold-light); }
.copy-line button { border:1px solid #566365; background:transparent; color:var(--white); padding:9px 10px; font:600 10px var(--font-body); display:flex; align-items:center; gap:7px; cursor:pointer; transition:border-color .2s; }
.copy-line button:hover { border-color:var(--gold); }
.copy-line button svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.6; }
.linkedin-link { margin-top:13px; display:flex; align-items:center; justify-content:space-between; font:650 16px var(--font-display); text-decoration:none; }
.linkedin-link span { font-size:22px; font-weight:400; }
.contact-availability { display:flex; align-items:center; gap:10px; margin-top:30px; color:#8c9e9c; font-size:11px; }
.contact-availability span { width:6px; height:6px; border-radius:50%; background:#9fc98c; }
/* Footer */
.site-footer { background:#090e11; }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:36px; padding-bottom:35px; }
.footer-brand { display:flex; align-items:center; gap:14px; text-decoration:none; }
.footer-brand img { width:62px; }
.footer-brand>span { font:800 15px/1.1 var(--font-display); letter-spacing:.035em; }
.footer-brand small { display:block; font:500 8px/1.4 var(--font-mono); letter-spacing:.14em; color:#819292; margin-top:7px; }
.back-top { font:500 10px/1.3 var(--font-mono); color:#abb9b4; text-decoration:none; letter-spacing:.065em; }
.back-top span { font-size:17px; color:var(--gold); margin-left:13px; }
.footer-bottom { border-top:1px solid #263135; padding-top:21px; padding-bottom:28px; display:flex; justify-content:space-between; gap:20px; color:#647477; font:400 10px/1.5 var(--font-mono); }
.toast { position:fixed; z-index:100; right:24px; bottom:24px; background:#e1bc51; color:#101b1e; padding:14px 20px; border-radius:4px; font:700 13px var(--font-body); box-shadow:0 12px 32px rgba(0,0,0,.25); opacity:0; pointer-events:none; transform:translateY(12px); transition:opacity .22s,transform .22s; }
.toast.visible { opacity:1; transform:translateY(0); }
/* Subtle reveal, only applied once observer is ready */
.reveal-ready { opacity:0; transform:translateY(26px); transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal-ready.is-visible { opacity:1; transform:none; }
@media (max-width:1150px) {
  .container { width:min(var(--container),calc(100% - 70px)); }
  .hero { min-height:0; padding-top:74px; }
  .hero-layout { gap:28px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .hero h1 { font-size:clamp(61px,6.7vw,85px); }
  .hero-name { margin-top:38px; }
  .risk-panel { padding:14px; }
  .instrument { padding:18px; }
  .instrument-intro { margin-top:30px; }
  .expertise-card { padding:20px 17px; min-height:425px; }
  .expertise-card h3 { font-size:21px; }
}
@media (max-width:900px) {
  html { scroll-padding-top:72px; }
  .container { width:calc(100% - 56px); }
  .header-inner { height:73px; }
  .desktop-nav,.header-contact { display:none; }
  .brand-symbol { width:48px; }
  .brand-symbol img { width:48px; }
  .menu-toggle { margin-left:auto; width:42px; height:42px; border:1px solid #394447; background:transparent; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; cursor:pointer; }
  .menu-toggle span { width:18px; height:1.5px; background:#fff; transition:transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .mobile-nav { display:flex; position:absolute; top:100%; left:0; width:100%; height:calc(100dvh - 76px); padding:26px 28px 60px; background:#0b1216; border-top:1px solid var(--line); flex-direction:column; visibility:hidden; opacity:0; transform:translateY(-8px); pointer-events:none; overflow:auto; transition:opacity .2s,transform .2s,visibility .2s; }
  .mobile-nav.is-open { visibility:visible; opacity:1; transform:none; pointer-events:auto; }
  .mobile-nav a { display:flex; justify-content:space-between; align-items:center; padding:19px 0; border-bottom:1px solid var(--line); font:700 26px/1.2 var(--font-display); text-decoration:none; }
  .mobile-nav a span { font:500 12px var(--font-mono); color:var(--gold); }
  .hero-layout { display:flex; flex-direction:column; align-items:stretch; }
  .hero { padding-top:70px; }
  .hero-copy { padding-bottom:15px; }
  .hero h1 { font-size:clamp(75px,11vw,120px); }
  .hero-description { max-width:660px; }
  .hero-visual { width:min(590px,100%); align-self:center; margin-top:20px; }
  .instrument-intro h2 { font-size:31px; }
  .matrix-cell { aspect-ratio:1.55; font-size:15px; }
  .hero-bottom { margin-top:10px; }
  .focus-grid strong { font-size:14px; }
  .focus-grid>div { padding:22px 11px; grid-template-columns:28px 1fr; }
  .about-layout { gap:40px; }
  .expertise-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .expertise-card { min-height:380px; padding:27px; }
  .expertise-card h3 { font-size:26px; }
  .approach-step { padding-right:20px; }
  .approach-step+ .approach-step { padding-left:20px; }
  .experience-layout { gap:40px; }
  .timeline { padding-left:23px; }
  .timeline li { grid-template-columns:1fr; gap:7px; }
  .timeline-point { left:-29px; }
  .contact-layout { gap:28px; }
  .contact-right { padding:24px; }
}
@media (max-width:640px) {
  .container { width:calc(100% - 38px); }
  .section { padding-block:82px; }
  .section h2 { font-size:clamp(40px,10vw,56px); }
  .section-label { font-size:10px; }
  .hero { padding-top:51px; }
  .hero-overline { white-space:normal; font-size:9px; }
  .hero-name { margin-top:37px; font-size:10px; }
  .hero h1 { font-size:clamp(56px,13.65vw,90px); line-height:1.13; margin-top:20px; }
  .hero-description { font-size:16px; margin-top:27px; line-height:1.8; }
  .hero-buttons { margin-top:26px; gap:10px; }
  .button { padding:13px 15px; gap:17px; font-size:11px; }
  .hero-chips { margin-top:31px; gap:7px 8px; }
  .hero-chips span { font-size:8px; }
  .hero-chips span:not(:last-child)::after { margin-left:8px; }
  .hero-visual { padding:22px 0 26px; margin-top:2px; }
  .tag-top { right:-4px; top:7px; font-size:8px; }
  .tag-bottom { left:-4px; bottom:10px; font-size:8px; }
  .instrument { padding:16px; }
  .instrument-top { font-size:8px; }
  .instrument-intro { margin-top:27px; }
  .instrument-intro h2 { font-size:clamp(20px,6vw,29px); }
  .instrument-logo { width:72px; }
  .risk-panel { margin-top:18px; padding:13px 11px 11px; }
  .matrix-cell { aspect-ratio:1.35; font-size:clamp(10px,3vw,13px); }
  .risk-matrix { gap:4px; }
  .risk-readout { margin-top:13px; gap:12px; }
  .risk-readout-copy strong { font-size:9px; }
  .risk-readout-copy small { font-size:9px; }
  .risk-score { font-size:31px; }
  .hero-bottom { margin-top:0; }
  .focus-grid { grid-template-columns:1fr; }
  .focus-grid>div { padding:19px 0; }
  .focus-grid>div:not(:last-child) { border-right:0; border-bottom:1px solid var(--line); }
  .focus-grid strong { font-size:16px; }
  .about-layout,.experience-layout { grid-template-columns:1fr; gap:30px; }
  .about-heading h2 { margin-top:23px; }
  .about-monogram { display:none; }
  .about-content { padding-top:0; }
  .about-content .about-lead { font-size:20px; }
  .about-detail-grid { margin-top:34px; gap:14px; }
  .about-detail-grid>div { gap:9px; }
  .detail-icon { width:34px; height:34px; }
  .about-detail-grid strong { font-size:11px; }
  .heading-on-light { display:block; margin-bottom:32px; }
  .heading-on-light>p { max-width:360px; margin-top:23px; }
  .expertise-grid { grid-template-columns:1fr; gap:12px; }
  .expertise-card { min-height:315px; padding:23px; }
  .expertise-card h3 { font-size:27px; }
  .expertise-card p { margin-top:11px; }
  .card-accent { margin-bottom:13px; }
  .approach-head { display:block; }
  .approach-head h2 { margin-top:23px; }
  .approach-head>p:last-child { margin:25px 0 0; }
  .approach-steps { display:block; margin-top:45px; }
  .approach-step,.approach-step+ .approach-step { border-left:0; padding:23px 0 27px; border-bottom:1px solid #344246; }
  .step-icon { height:62px; margin-top:8px; }
  .step-icon svg { width:42px; height:42px; }
  .approach-step h3 { font-size:26px; }
  .approach-step p { margin-top:8px; }
  .career-decoration { margin-top:25px; }
  .timeline { margin-top:14px; margin-left:6px; }
  .timeline li { padding-bottom:25px; margin-bottom:16px; }
  .contact-layout { display:block; padding-block:75px; }
  .contact-left h2 { font-size:clamp(45px,10vw,65px); }
  .contact-right { margin-top:50px; }
  .contact-logo { height:75px; }
  .contact-logo img { width:108px; }
  .footer-top { padding-block:30px; }
  .footer-bottom { display:flex; flex-direction:column; gap:8px; }
}
@media (max-width:380px) {
  .brand-type strong { font-size:14px; }
  .brand-type small { letter-spacing:.18em; }
  .hero h1 { font-size:clamp(47px,13vw,58px); }
  .hero-overline { letter-spacing:.025em; }
  .hero-name { gap:10px; letter-spacing:.08em; }
  .button { width:100%; }
  .instrument-label { letter-spacing:0; }
  .instrument-number { display:none; }
  .risk-readout-chevron { display:none; }
  .contact-right { padding:18px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
  .reveal-ready { opacity:1!important; transform:none!important; }
}

/* ─────────────────────────────────────────────────────
   Version 2: personal-name brand and bilingual navigation
   ───────────────────────────────────────────────────── */
.brand-type strong span { margin-inline-start:4px; margin-left:0; }
.brand-type small { letter-spacing:.09em; }
.language-switch { display:inline-flex; flex-shrink:0; align-items:center; gap:6px; padding:3px; border:1px solid #3a4b49; border-radius:4px; background:#10191c; }
.language-switch > span { display:block; height:13px; width:1px; background:#586761; }
.language-link { display:inline-flex; align-items:center; justify-content:center; min-height:28px; padding:4px 9px; border-radius:2px; color:#b9c6c3; text-decoration:none; white-space:nowrap; font:650 11px/1.2 var(--font-body); transition:background .2s,color .2s; }
.language-link:hover { color:#fff; background:#273437; }
.language-link.is-current { color:#12191b; background:var(--gold); }
.language-link[lang=ar] { font-family:'IBM Plex Sans Arabic',Tahoma,Arial,sans-serif; font-weight:700; }
.timeline li { display:block; }
.timeline h3 { font-size:clamp(20px,1.8vw,23px); }

/* Right-to-left treatment; shared structural HTML, no separate CSS framework. */
html[dir=rtl] { --font-display:'Cairo',Tahoma,Arial,sans-serif; --font-body:'IBM Plex Sans Arabic',Tahoma,Arial,sans-serif; --font-mono:'IBM Plex Sans Arabic',Tahoma,Arial,sans-serif; }
html[dir=rtl] body { line-height:1.85; }
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3 { letter-spacing:normal; }
html[dir=rtl] .section h2 { line-height:1.4; }
html[dir=rtl] .section-label { letter-spacing:0; font-size:13px; }
html[dir=rtl] .desktop-nav { margin-left:0; margin-right:auto; gap:clamp(13px,1.8vw,30px); }
html[dir=rtl] .desktop-nav a { font-size:14px; }
html[dir=rtl] .desktop-nav a::after { left:100%; right:0; transition:left .25s; }
html[dir=rtl] .desktop-nav a:hover::after,html[dir=rtl] .desktop-nav a.active::after { left:0; }
html[dir=rtl] .header-contact { margin-left:0; margin-right:0; font-size:13px; }
html[dir=rtl] .brand-type strong { font-size:17px; letter-spacing:normal; }
html[dir=rtl] .brand-type small { font-size:10px; letter-spacing:0; }
html[dir=rtl] .hero h1 { font-size:clamp(60px,6.2vw,90px); letter-spacing:normal; line-height:1.35; font-weight:800; }
html[dir=rtl] .hero-overline { font-size:12px; letter-spacing:normal; }
html[dir=rtl] .hero-name { font-size:12px; letter-spacing:0; }
html[dir=rtl] .hero-description { font-size:clamp(17px,1.7vw,20px); line-height:1.95; }
html[dir=rtl] .hero-buttons .button { font-size:14px; }
html[dir=rtl] .hero-chips span { font-size:11px; letter-spacing:0; }
html[dir=rtl] .hero-chips span:not(:last-child)::after { margin-left:0; margin-right:16px; }
html[dir=rtl] .hero-glow { right:auto; left:-220px; }
html[dir=rtl] .hero-lines { mask-image:linear-gradient(to left,transparent 13%,black 95%); }
html[dir=rtl] .overline-index { margin-left:0; margin-right:4px; }
html[dir=rtl] .instrument::before { left:auto; right:24px; }
html[dir=rtl] .instrument-top { font-size:11px; letter-spacing:0; }
html[dir=rtl] .instrument-overline { font-size:11px; letter-spacing:0; }
html[dir=rtl] .instrument-intro h2 { font-size:clamp(22px,2vw,28px); letter-spacing:0; line-height:1.55; }
html[dir=rtl] .risk-topline { font-size:11px; letter-spacing:0; }
html[dir=rtl] .matrix-shell { direction:ltr; }
html[dir=rtl] .matrix-axis-y,html[dir=rtl] .matrix-axis-x { font-size:10px; letter-spacing:0; }
html[dir=rtl] .risk-matrix { direction:ltr; }
html[dir=rtl] .risk-score { direction:ltr; unicode-bidi:isolate; }
html[dir=rtl] .risk-readout-copy strong,html[dir=rtl] .risk-readout-copy small { font-size:11px; line-height:1.6; letter-spacing:0; }
html[dir=rtl] .risk-readout-chevron { margin-left:0; margin-right:auto; }
html[dir=rtl] .risk-disclaimer { font-size:11px; line-height:1.65; }
html[dir=rtl] .floating-tag { letter-spacing:0; font-size:11px; }
html[dir=rtl] .tag-top { right:auto; left:-17px; }
html[dir=rtl] .tag-bottom { left:auto; right:-22px; }
html[dir=rtl] .tag-bottom span { margin-left:0; margin-right:22px; }
html[dir=rtl] .hero-bottom-index { margin-left:0; margin-right:auto; }
html[dir=rtl] .focus-grid>div:not(:last-child) { border-right:0; border-left:1px solid var(--line); }
html[dir=rtl] .focus-grid small { letter-spacing:0; font-size:11px; }
html[dir=rtl] .about-content .about-lead { letter-spacing:normal; }
html[dir=rtl] .about-content p { font-size:16px; line-height:2; }
html[dir=rtl] .about-detail-grid small { letter-spacing:0; font-size:11px; }
html[dir=rtl] .heading-on-light>p { font-size:16px; }
html[dir=rtl] .expertise-card { min-height:460px; }
html[dir=rtl] .expertise-card::after { transform-origin:right; }
html[dir=rtl] .expertise-card h3 { font-size:clamp(20px,1.7vw,25px); line-height:1.65; }
html[dir=rtl] .expertise-card p { font-size:14px; line-height:1.95; }
html[dir=rtl] .card-tags span { font-size:11px; }
html[dir=rtl] .card-head>span { font-size:11px; letter-spacing:0; }
html[dir=rtl] .approach-head>p:last-child { margin-left:0; margin-right:auto; }
html[dir=rtl] .approach-step { padding-right:0; padding-left:40px; }
html[dir=rtl] .approach-step + .approach-step { border-left:0; border-right:1px solid #344246; padding-left:40px; padding-right:40px; }
html[dir=rtl] .approach-step p { font-size:15px; }
html[dir=rtl] .step-no span { margin-left:0; margin-right:5px; }
html[dir=rtl] .timeline { padding:0 36px 0 0; border-left:0; border-right:1px solid #3a4546; }
html[dir=rtl] .timeline-point { left:auto; right:-42px; }
html[dir=rtl] .timeline h3 { font-size:23px; }
html[dir=rtl] .timeline p { font-size:15px; }
html[dir=rtl] .timeline-field { font-size:11px; letter-spacing:0; }
html[dir=rtl] .contact-left h2 { letter-spacing:0; line-height:1.42; font-size:clamp(47px,4.9vw,73px); }
html[dir=rtl] .contact-left>p:not(.section-label) { font-size:17px; }
html[dir=rtl] .contact-meta>span { font-size:11px; letter-spacing:0; }
html[dir=rtl] .copy-line > a { direction:ltr; unicode-bidi:isolate; font-family:'DM Sans',Arial,sans-serif; }
html[dir=rtl] .copy-line button { font-size:12px; }
html[dir=rtl] .contact-availability { font-size:13px; }
html[dir=rtl] .footer-brand>span { font:800 16px/1.5 var(--font-display); letter-spacing:0; }
html[dir=rtl] .footer-brand small { font-size:10px; letter-spacing:0; }
html[dir=rtl] .footer-bottom { font-size:11px; }
html[dir=rtl] .back-top { letter-spacing:0; font-size:12px; }
html[dir=rtl] .back-top span { margin-left:0; margin-right:13px; }
html[dir=rtl] .toast { right:auto; left:24px; }
@media(max-width:1100px) and (min-width:901px) {
  .header-inner { gap:18px; }
  .brand-symbol { width:46px; }
  .brand-symbol img { width:46px; }
  .header-contact { padding:10px 12px; margin-left:0; }
  .desktop-nav { gap:15px; }
  html[dir=rtl] .desktop-nav { gap:13px; }
}
@media(max-width:900px) {
  .header-inner { gap:10px; }
  .language-switch { margin-inline-start:auto; }
  .menu-toggle { margin-left:0; margin-inline-start:0; flex-shrink:0; }
  html[dir=rtl] .menu-toggle { margin-left:0; margin-right:0; }
  html[dir=rtl] .hero h1 { font-size:clamp(63px,10vw,100px); }
  html[dir=rtl] .instrument-intro h2 { font-size:30px; }
  html[dir=rtl] .approach-step { padding-left:20px; }
  html[dir=rtl] .approach-step + .approach-step { padding-left:20px; padding-right:20px; }
  html[dir=rtl] .timeline { padding-right:23px; }
  html[dir=rtl] .timeline-point { right:-29px; }
}
@media(max-width:640px) {
  .header-inner { gap:9px; }
  .brand { gap:8px; }
  .brand-type strong { font-size:13px; }
  .brand-type small { font-size:8px; letter-spacing:0; }
  .language-switch { gap:4px; padding:2px; }
  .language-link { padding:4px 6px; font-size:10px; min-height:27px; }
  html[dir=rtl] .brand-type strong { font-size:14px; }
  html[dir=rtl] .brand-type small { font-size:9px; }
  html[dir=rtl] .section-label { font-size:12px; }
  html[dir=rtl] .hero-overline { font-size:11px; }
  html[dir=rtl] .hero h1 { font-size:clamp(49px,11.4vw,68px); line-height:1.4; }
  html[dir=rtl] .hero-description { font-size:16px; }
  html[dir=rtl] .hero-chips span { font-size:10px; }
  html[dir=rtl] .instrument-intro h2 { font-size:clamp(20px,5.3vw,27px); }
  html[dir=rtl] .instrument-top { font-size:9px; }
  html[dir=rtl] .risk-topline { font-size:9px; }
  html[dir=rtl] .risk-readout-copy strong,html[dir=rtl] .risk-readout-copy small { font-size:10px; }
  html[dir=rtl] .focus-grid>div:not(:last-child) { border-left:0; border-bottom:1px solid var(--line); }
  html[dir=rtl] .expertise-card { min-height:325px; }
  html[dir=rtl] .expertise-card h3 { font-size:24px; }
  html[dir=rtl] .approach-step,html[dir=rtl] .approach-step + .approach-step { border-right:0; padding:23px 0 27px; border-bottom:1px solid #344246; }
  html[dir=rtl] .contact-left h2 { font-size:clamp(40px,10vw,60px); }
}
@media(max-width:380px) {
  .header-inner { gap:7px; }
  .brand-symbol { width:37px; }
  .brand-symbol img { width:37px; }
  .brand-type strong { font-size:12px; }
  .brand-type small { display:none; }
  .menu-toggle { width:35px; height:35px; }
  .language-link { padding:4px 5px; font-size:10px; }
  html[dir=rtl] .brand-type strong { font-size:13px; }
  html[dir=rtl] .hero h1 { font-size:clamp(45px,12vw,55px); }
  html[dir=rtl] .instrument-top { font-size:9px; }
  html[dir=rtl] .floating-tag { font-size:9px; }
}
