/* Calm, editorial treatment */
:root{--bg:#f7f7f4;--ink:#202321;--muted:#777b77;--line:#d9ddd7;--paper:#fff;--accent:#a65d42;--accent2:#e8ebe5;--shadow:0 14px 36px #20232117}
body.dark{--bg:#1c201e;--ink:#f0f1ed;--muted:#a7ada6;--line:#424942;--paper:#252a27;--accent:#dd9b7d;--accent2:#343c35;--shadow:0 14px 36px #0005}
.topbar{height:74px;border-bottom:1px solid var(--line)}
.brand{font-size:25px;letter-spacing:-.09em}
.top-button{font-size:12px;font-weight:500}
.home-screen{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(40px,7vw,115px);padding-top:55px}
.home-copy{max-width:850px}
.identity{margin-bottom:clamp(48px,7vh,80px)}
.avatar{width:46px;height:46px;background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none;font-size:16px}
.eyebrow{color:var(--muted);font-size:10px;letter-spacing:.1em}
.spark{font-size:13px;color:var(--accent)}
.spark.inline{font-size:.24em;transform:translateY(.18em)}
h1{font-size:clamp(62px,7.2vw,118px);line-height:.98;letter-spacing:-.075em;font-weight:700;margin-bottom:33px}
h1 em,h2 em{font-weight:400}
.hero-summary{font-size:clamp(16px,1.3vw,19px);line-height:1.6;max-width:545px;color:var(--muted)}
.hero-links{gap:22px;margin-top:35px}
.hero-links a{font-size:12px;font-weight:500;border-color:var(--line)}
.hero-side{align-self:center;border-left:1px solid var(--line);padding:15px 0 20px clamp(32px,4vw,70px);min-height:420px;display:flex;flex-direction:column;justify-content:center}
.side-index{font:10px 'DM Mono',monospace;letter-spacing:.1em;color:var(--muted)}
.side-monogram{font-size:clamp(80px,10vw,145px);font-weight:600;line-height:1;letter-spacing:-.12em;margin:28px 0 38px;color:var(--ink)}
.side-monogram span{color:var(--accent)}
.side-services{border-top:1px solid var(--line)}
.side-services div{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:15px 0}
.side-services span{font:10px 'DM Mono',monospace;color:var(--muted)}
.side-services strong{font-size:15px;font-weight:500;letter-spacing:-.025em}
.hero-side p{font-size:12px;line-height:1.65;color:var(--muted);max-width:310px;margin:20px 0 0}
.home-footer{font-size:11px}
.home-footer button{font-size:11px;font-weight:600}
.detail-title h2,.work-intro h2,.experience-layout h2,.contact-layout h2{font-size:clamp(56px,6vw,96px);line-height:1}
.detail-body .lead{font-size:clamp(24px,2.3vw,34px);font-weight:500}
.detail-body p{font-size:17px;line-height:1.65}
.dock-inner{background:var(--paper);backdrop-filter:none;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 25px #20232118;padding:8px;gap:3px}
.dark .dock-inner{background:var(--paper);border-color:var(--line)}
.dock-icon{background:var(--bg)!important;color:var(--ink)!important;box-shadow:none;border:1px solid var(--line);border-radius:10px;font-size:23px;transition:background .2s,color .2s}
.dock-item:hover .dock-icon,.dock-item.active .dock-icon{transform:none;background:var(--ink)!important;color:var(--bg)!important;border-color:var(--ink)}
.cv-icon{font-size:15px;font-weight:500}
.dock-label{font-weight:500;font-size:9px}
.cv-panel{box-shadow:12px 0 40px #0002}
.panel-content h2{font-size:clamp(57px,6vw,82px)}
.share-dialog{box-shadow:var(--shadow)}
@media(max-width:760px){
  .topbar{height:64px}
  .home-screen{grid-template-columns:1fr;gap:0;padding-top:35px}
  .identity{margin-bottom:42px}
  h1{font-size:clamp(58px,11vw,84px)}
  .hero-side{min-height:0;border-left:0;border-top:1px solid var(--line);padding:23px 0 30px;margin:50px 0 35px;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
  .side-index{grid-column:1/-1}
  .side-monogram{font-size:90px;margin:10px 0;align-self:center}
  .side-services{align-self:center}
  .side-services div{padding:10px 0;gap:9px}
  .side-services strong{font-size:12px}
  .hero-side p{grid-column:1/-1;margin-top:8px}
  .dock-icon{width:42px;height:42px;font-size:21px}
  .cv-icon{font-size:13px}
}
@media(max-width:450px){
  h1{font-size:clamp(54px,12vw,68px)}
  .hero-summary{font-size:15px}
  .hero-side{margin-top:42px}
  .side-monogram{font-size:75px}
  .dock-inner{border-radius:13px}
}
