
:root{color-scheme:dark;--bg:#151515;--panel:#1d1d1d;--ink:#f4f4f4;--mut:#c8c8c8;--soft:#8d8d8d;--line:#3a3a3a;--btn:#f4f4f4;--bt:#111;--max:880px}
:root[data-theme=light]{color-scheme:light;--bg:#fff;--panel:#f7f7f7;--ink:#090909;--mut:#424242;--soft:#737373;--line:#d8d8d8;--btn:#090909;--bt:#fff}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:background .2s,color .2s}
a{color:inherit;text-decoration-color:var(--soft);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-color:var(--ink)}button{font:inherit}
.site{width:min(var(--max),calc(100% - 40px));margin:auto;padding:34px 0 84px}
.topbar{z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:74px;padding:14px 0 16px;position:sticky;top:0}
.brand{min-width:max-content;color:var(--mut);font:12px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.08em;align-items:center;gap:10px;text-decoration:none;display:inline-flex}
.brandMark{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);border-radius:9px;flex:0 0 34px;place-items:center;font:24px Georgia,serif;display:grid}.brandText{white-space:nowrap}.switches{flex-shrink:0;gap:8px;display:flex}
.switches button,.nav a,.inline a,.projectHero>a{border:1px solid var(--line);color:var(--mut);cursor:pointer;background:transparent;border-radius:999px;justify-content:center;align-items:center;min-height:36px;padding:6px 12px;font-size:14px;text-decoration:none;display:inline-flex}
.themeButton{width:36px;height:32px;padding:0!important;font-size:17px!important}.switches button:hover,.nav a:hover,.inline a:hover,.projectHero>a:hover{background:var(--btn);color:var(--bt);border-color:var(--btn)}
.hero{border-bottom:1px solid var(--line);padding-bottom:76px}h1{letter-spacing:-.075em;margin:0 0 18px;font-size:clamp(58px,11vw,120px);font-weight:650;line-height:.92}
.lead,.projectHero h2{letter-spacing:-.045em;max-width:760px;margin:0 0 18px;font-size:clamp(25px,4vw,42px);font-weight:560;line-height:1.08}
.hero p,.work p,.time p,.skill p,.paper p,.footer span,.projectHero p{color:var(--mut)}.introCopy{max-width:740px;font-size:18px}
.nav,.inline{display:flex;flex-wrap:wrap;gap:8px}.nav{width:max-content;max-width:100%;margin:34px 0 20px;padding:7px;gap:7px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 84%,var(--bg) 16%)}
.hero .nav a{min-height:42px;padding:8px 14px;border-radius:11px;border-color:transparent;background:transparent;font-weight:650;letter-spacing:-.01em;transition:.15s ease}.hero .nav a:hover{transform:translateY(-1px);background:var(--ink);color:var(--bg);border-color:var(--ink);box-shadow:0 8px 20px color-mix(in srgb,#000 16%,transparent)}
.section{border-bottom:1px solid var(--line);grid-template-columns:230px 1fr;gap:54px;padding:76px 0;display:grid}.cut{background:linear-gradient(90deg,color-mix(in srgb,var(--panel) 72%,transparent),transparent 42%),var(--bg);border-top:1px solid var(--line);margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}
.sectionHead{align-self:start;position:sticky;top:78px}.sectionHead p,.footer>p,.work>span,.work>div>p:first-child,.meta,.journal,.time span,.detailGrid article>p,.projectHero p{color:var(--soft);font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
.sectionHead h2,.footer h2{letter-spacing:-.045em;margin:0;font-size:clamp(24px,4vw,34px);font-weight:560;line-height:1.08}
.paper{border:1px solid var(--line);background:var(--panel);padding:26px}.paper h3,.work h3,.time h3,.skill h3{letter-spacing:-.025em;margin:0 0 9px;font-weight:560;line-height:1.18}.paper h3{font-size:clamp(24px,3.6vw,38px)}.summary{margin-top:20px;font-size:17px;color:var(--ink)!important}.journal{margin-top:20px}
#research.section{display:block}#research .sectionHead{position:static;top:auto;margin:0 0 30px}#research .sectionHead p{margin-bottom:7px}#research>div:not(.sectionHead),#research .paper{width:100%}#research .paperTop{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;align-items:start}#research .paperTop>a{width:300px;height:auto;display:block;border:0;background:transparent}#research .paperTop img{display:block;width:300px;height:auto;padding:0;border:1px solid var(--line);border-radius:10px;object-fit:contain;transform:none;background:#e4edef}
.list{border-top:1px solid var(--line)}.work{border-bottom:1px solid var(--line);grid-template-columns:58px 1fr;gap:22px;padding:30px 0;display:grid}.work h3{font-size:clamp(22px,3vw,30px)}.work h3 a{text-decoration:none}.work h3 a:hover{text-decoration:underline;text-underline-offset:.18em}.work p{margin:0 0 16px}.note{justify-content:space-between;gap:26px;padding-top:22px;display:flex}.note p{color:var(--mut);margin:0}
.time{border-bottom:1px solid var(--line);grid-template-columns:142px 1fr 150px;align-items:start;gap:18px;padding:28px 0;display:grid}.schoolLogo{border:1px solid var(--line);background:#fff;border-radius:10px;width:128px;height:76px;padding:7px;display:block}.schoolLogo img{object-fit:contain;width:100%;height:100%;display:block}.time h3{font-size:20px}.time p{margin:0}.timeBody{max-width:570px;color:var(--mut)!important;font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:0!important;text-transform:none!important;margin:12px 0 0!important}.schoolLink{margin-top:12px}.time span{text-align:right;margin-top:4px}
.skill{border-bottom:1px solid var(--line);grid-template-columns:190px 1fr;gap:28px;padding:22px 0;display:grid}.skill h3{font-size:18px}.skill p{margin:0}
.footer{margin-top:76px;padding:40px 0 30px;border-top:1px solid var(--line)}.footer>p{margin-bottom:18px}.footerContactGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:44px;align-items:start}.footerContactGrid h2{max-width:620px;margin-bottom:16px}.footerIntro{display:block;max-width:610px;margin:0;color:var(--mut);font-size:16px;line-height:1.65}.contactDetails{display:grid;gap:18px;padding-top:6px}.contactDetail{padding-bottom:14px;border-bottom:1px solid var(--line)}.contactDetail:last-child{padding-bottom:0;border-bottom:0}.contactLabel{display:block;margin-bottom:5px;color:var(--soft);font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.09em;text-transform:uppercase}.contactValue,.contactValue a{color:var(--ink);font-size:15px;font-weight:600;line-height:1.45;text-decoration:none}.contactValue a:hover{text-decoration:underline}
.contactActions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px}.contactAction{width:58px;height:58px;min-width:58px;min-height:58px;padding:0;border:0;border-radius:12px;background:transparent;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;transition:transform .14s ease}.contactAction:hover{transform:translateY(-2px) scale(1.05)}.contactAction img{display:block;object-fit:contain}.contactAction.email img{width:46px;height:46px}.contactAction.linkedin svg{width:42px;height:42px}.contactAction.x svg{width:38px;height:38px}.contactAction.github svg{width:40px;height:40px}
.projectHero{border-bottom:1px solid var(--line);padding-bottom:70px}.projectHero>a{margin-bottom:42px}.detailGrid{background:var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.detailGrid article{background:var(--bg);padding:34px}.detailGrid h2{letter-spacing:-.035em;margin:0;font-size:clamp(22px,3vw,32px);font-weight:520;line-height:1.16}.detailGrid ol{color:var(--mut);margin:0;padding-left:20px}.wide{grid-column:1/-1}
@media(max-width:780px){.site{width:min(100% - 28px,var(--max));padding-top:18px}.topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:48px;display:grid}.brand{min-width:0;overflow:hidden}.brandMark{flex:0 0 38px;width:38px;height:38px;font-size:27px}.brandText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.switches{flex:none}.hero,.projectHero{padding-bottom:56px}.section,.cut{background:var(--bg);margin-left:0;margin-right:0;padding:56px 0;display:block}.sectionHead{margin-bottom:28px;position:static}.work,.skill,.note,.detailGrid{display:block}.time{gap:14px;grid-template-columns:108px 1fr!important}.time span{text-align:left;grid-column:2;margin-top:8px;display:block}.detailGrid{background:transparent;border-bottom:0}.detailGrid article{border-bottom:1px solid var(--line);background:var(--bg);padding:28px 0}.nav{width:100%;max-width:none;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:10px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{flex:none}.inline{gap:7px}#research .paperTop{grid-template-columns:1fr;gap:20px}#research .paperTop>a,#research .paperTop img{width:min(100%,340px)}.schoolLogo{width:98px;height:70px}.timeBody{max-width:none}.footer{margin-top:56px;padding:34px 0 24px}.footerContactGrid{grid-template-columns:1fr;gap:28px}}
@media(max-width:520px){.site{width:calc(100% - 24px)}h1{letter-spacing:-.068em;font-size:clamp(48px,18vw,74px)}.lead,.projectHero h2{font-size:25px}.brandMark{flex:0 0 38px;width:38px;height:38px;font-size:27px}.brandText{font-size:11px}.switches{gap:6px}.switches button{min-height:32px;padding:5px 10px}.nav{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.inline{grid-template-columns:1fr 1fr;display:grid}.inline a{width:100%}.paper{padding:22px}.work{grid-template-columns:1fr;gap:8px}.contactActions{gap:14px}.contactAction{width:54px;height:54px;min-width:54px;min-height:54px}}

/* --- OHMEGA v7 section hierarchy + working language/theme controls --- */
.sectionHead{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.sectionHead .sectionTitle,
.footer .footerSectionTitle{
  margin:0!important;
  color:var(--ink)!important;
  font-size:clamp(34px,5vw,50px)!important;
  font-weight:720!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  text-transform:none!important;
}
.sectionHead .sectionSubtitle{
  margin:0!important;
  color:var(--soft)!important;
  font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.footer .footerSectionTitle{margin-bottom:26px!important}
.footer .footerHeadline{
  max-width:620px;
  margin:0 0 16px;
  color:var(--ink);
  font-size:clamp(28px,4.6vw,44px);
  font-weight:620;
  line-height:1.06;
  letter-spacing:-.04em;
}
.switches button{user-select:none}
@media(max-width:780px){
  .sectionHead .sectionTitle,
  .footer .footerSectionTitle{font-size:clamp(32px,10vw,42px)!important}
  .footer .footerHeadline{font-size:clamp(26px,8vw,36px)}
}

/* --- OHMEGA v8: balanced section-title scale --- */
.sectionHead .sectionTitle,
.footer .footerSectionTitle{
  font-size:clamp(30px,3.3vw,36px)!important;
  line-height:1.02!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
@media(max-width:780px){
  .sectionHead .sectionTitle,
  .footer .footerSectionTitle{
    font-size:clamp(28px,8vw,34px)!important;
  }
}

/* --- OHMEGA v9 bespoke case-study copy --- */
.copy-fr{display:none!important}
html[lang="fr"] .copy-en{display:none!important}
html[lang="fr"] .copy-fr{display:inline!important}
.projectHero .caseDeck{
  max-width:760px;
  color:var(--mut);
  font-size:18px;
  line-height:1.6;
}
.detailGrid .caseLead{
  font-size:clamp(24px,3.2vw,34px);
}
.detailGrid .caseText{
  color:var(--mut);
  margin:12px 0 0;
  font-size:16px;
  line-height:1.65;
}
.detailGrid .caseMetric{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
  color:var(--ink);
  font-size:14px;
  font-weight:650;
}
.detailGrid .caseList{
  color:var(--mut);
  margin:12px 0 0;
  padding-left:19px;
}
.detailGrid .caseList li+li{margin-top:7px}
