body.simple{background:var(--surface-2);font-size:16px}.s-bar{z-index:20;background:color-mix(in srgb, var(--surface-2) 90%, transparent);-webkit-backdrop-filter:blur(10px);align-items:center;gap:20px;max-width:1200px;margin:0 auto;padding:10px 24px;display:flex;position:sticky;top:0}.s-bar__brand{font-family:var(--font-mono);color:var(--text);align-items:center;min-height:44px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.s-bar__brand b{color:var(--accent);font-weight:500}.s-bar__nav{gap:4px;margin-left:auto;display:flex}.s-bar__nav a,.s-bar__desk{min-height:44px;color:var(--text-2);align-items:center;gap:6px;padding:0 10px;font-size:14px;text-decoration:none;display:inline-flex}.s-bar__nav a:hover,.s-bar__desk:hover{color:var(--accent)}.s-bar__desk{font-family:var(--font-mono);color:var(--accent);font-size:13px}#contenu>section{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}.s-prompt{font-family:var(--font-mono);color:var(--accent);font-size:14px}.s-head{flex-direction:column;gap:10px;margin-bottom:36px;display:flex}.s-head__meta{font-family:var(--font-mono);align-items:baseline;gap:14px;font-size:13px;display:flex}.s-head__n{color:var(--text);font-weight:500}.s-head__n:after{content:"";vertical-align:middle;background:var(--border-strong);width:40px;height:1px;margin-left:14px;display:inline-block}.s-head__cmd{color:var(--accent)}.s-head__title{letter-spacing:-.025em;font-size:clamp(34px,5vw,56px);line-height:1.02}.s-section{padding-top:112px}.s-section--narrow>:not(.s-head){max-width:760px}.s-text{color:var(--text-2);max-width:760px;font-size:18px;line-height:1.6}.s-muted{color:var(--muted);font-size:15px}.s-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:12px;font-size:12px}.s-more{align-items:center;min-height:44px;margin-top:20px;font-weight:600;display:inline-flex}.s-hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:64px;padding-top:56px;padding-bottom:72px;display:grid}.s-hero__text{flex-direction:column;gap:20px;display:flex}.s-hero h1{letter-spacing:-.04em;font-size:clamp(48px,8vw,104px);line-height:.95}.s-hero__role{font-family:var(--font-display);color:var(--muted);letter-spacing:-.01em;font-size:clamp(22px,2.6vw,32px);font-weight:500;line-height:1.2}.s-hero__intro{max-width:560px;color:var(--text-2);font-size:18px;line-height:1.6}.s-status{font-family:var(--font-mono);color:var(--accent-strong);align-items:center;gap:10px;font-size:14px;display:inline-flex}.s-actions{flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:6px;display:flex}.s-links{gap:18px;margin-left:6px;display:inline-flex}.s-links a{min-height:44px;color:var(--text);align-items:center;font-weight:600;display:inline-flex}.s-links a:hover{color:var(--accent)}.s-hero__photo{justify-self:end;width:100%;max-width:420px;margin:0;position:relative}.s-hero__frame{position:relative}.s-hero__frame:before{content:"";border:1px solid var(--accent);pointer-events:none;border-radius:50% 50% 20px 20px/40% 40% 20px 20px;position:absolute;inset:18px -18px -18px 18px}.s-hero__photo img,.s-hero__monogram{aspect-ratio:4/5;object-fit:cover;background:var(--surface-sunken);border-radius:50% 50% 20px 20px/40% 40% 20px 20px;width:100%;height:auto;display:block;position:relative}.s-hero__monogram{aspect-ratio:4/5;object-fit:cover;background:var(--surface-sunken);width:100%;font-family:var(--font-display);color:var(--muted);border-radius:999px 999px 20px 20px;place-items:center;font-size:120px;font-weight:700;display:grid;position:relative}.s-hero__photo figcaption{font-family:var(--font-mono);color:var(--muted);text-align:right;margin-top:34px;font-size:12.5px}.s-facts{border-top:1px solid var(--text);grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;display:grid;padding-top:32px!important}#contenu>.s-facts{max-width:1152px;padding-left:0;padding-right:0}.s-fact{flex-direction:column;gap:8px;display:flex}.s-fact__n{font-family:var(--font-mono);color:var(--accent);font-size:12px}.s-fact__title{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.2}.s-fact__detail{color:var(--muted);font-size:15px}.s-timeline{border-left:1px solid var(--border-strong);flex-direction:column;gap:40px;max-width:860px;padding-left:32px;list-style:none;display:flex;position:relative}.s-timeline__item{flex-direction:column;gap:6px;display:flex;position:relative}.s-timeline__item:before{content:"";background:var(--surface-2);border:2px solid var(--muted);border-radius:50%;width:11px;height:11px;position:absolute;top:6px;left:-38px}.s-timeline__item.is-main:before{background:var(--accent);border-color:var(--accent)}.s-timeline__when{font-family:var(--font-mono);color:var(--muted);font-size:13px}.s-timeline__what{letter-spacing:-.015em;font-size:clamp(22px,2.6vw,30px);line-height:1.15}.s-timeline__what span{color:var(--muted);font-weight:500}.s-timeline__item.is-main .s-timeline__what span{color:var(--accent-strong)}.s-timeline__where{color:var(--muted);font-size:15px}.s-timeline__text{color:var(--text-2);max-width:640px;font-size:17px}.s-timeline__list{color:var(--text-2);flex-direction:column;gap:4px;padding-left:18px;display:flex}.s-skills{max-width:860px;font-family:var(--font-mono);color:var(--text);margin-top:48px;font-size:15px;line-height:1.9}.s-projects{border-top:1px solid var(--border-strong);list-style:none}.s-project{border-bottom:1px solid var(--border-strong);grid-template-columns:96px minmax(0,1fr);gap:24px;padding:32px 0;display:grid}.s-project__n{font-family:var(--font-mono);color:var(--accent);padding-top:10px;font-size:15px}.s-project__body{flex-direction:column;gap:10px;max-width:760px;display:flex}.s-project__name{letter-spacing:-.025em;font-size:clamp(28px,3.6vw,44px);line-height:1}.s-project:not(.is-featured) .s-project__name{font-size:clamp(22px,2.6vw,30px)}.s-project__text{color:var(--text-2);font-size:17px}.s-project__stack{font-family:var(--font-mono);color:var(--muted);font-size:13px}.s-project__links{flex-wrap:wrap;gap:4px 20px;display:flex}.s-project__links a{align-items:center;min-height:40px;font-weight:600;display:inline-flex}#contenu>.s-band{background:var(--term-bg);max-width:none;color:var(--term-text);margin-top:112px;padding:0}.s-band__inner{flex-direction:column;gap:24px;max-width:1200px;margin:0 auto;padding:88px 24px 96px;display:flex}.s-band .s-head{margin-bottom:8px}.s-band .s-head__n{color:var(--term-text)}.s-band .s-head__n:after{background:#3a4452}.s-band .s-head__cmd,.s-band a{color:var(--term-prompt)}.s-band__lead{color:#c9d1d9;max-width:720px;font-size:20px;line-height:1.55}.s-band__phases{font-family:var(--font-mono);flex-direction:column;gap:6px;font-size:15px;list-style:none;display:flex}.s-band__status{color:var(--term-muted)}.s-band__status.is-current{color:var(--term-accent)}.s-band__why{border-left:2px solid var(--term-prompt);color:#c9d1d9;max-width:720px;padding-left:18px;font-size:16px;line-height:1.6}.s-band__why b{color:var(--term-text)}.s-band__links{font-family:var(--font-mono);flex-wrap:wrap;gap:4px 24px;display:flex}.s-band__links a{align-items:center;min-height:44px;display:inline-flex}.s-certs{border-top:1px solid var(--border-strong);list-style:none}.s-certs li{border-bottom:1px solid var(--border-strong);grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:baseline;gap:8px 24px;padding:20px 0;display:grid}.s-certs__name{font-family:var(--font-display);letter-spacing:-.01em;font-size:21px;font-weight:700}.s-certs__issuer{color:var(--muted)}.s-certs__status{font-family:var(--font-mono);color:var(--warn);white-space:nowrap;font-size:13px}.s-certs__status.is-done,.s-certs__status a{color:var(--accent)}.s-quote{max-width:880px;margin:0 0 40px}.s-quote blockquote{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(22px,3vw,32px);font-weight:500;line-height:1.3}.s-quote figcaption{font-family:var(--font-mono);color:var(--muted);margin-top:14px;font-size:13px}.s-video{aspect-ratio:16/9;background:var(--surface-sunken);border:0;border-radius:12px;width:100%;max-width:880px}.s-qa{border-top:1px solid var(--border-strong)}.s-qa:last-of-type{border-bottom:1px solid var(--border-strong)}.s-qa summary{cursor:pointer;align-items:center;min-height:56px;padding:12px 0;font-size:18px;font-weight:600;display:flex}.s-qa p{color:var(--text-2);padding:0 0 18px;font-size:17px}.s-table-wrap{overflow-x:auto}.s-table{border-collapse:collapse;width:100%}.s-table th{text-align:left;font-family:var(--font-mono);color:var(--muted);border-bottom:1px solid var(--text);padding:10px 16px 10px 0;font-size:12px;font-weight:500}.s-table td{border-bottom:1px solid var(--border);padding:12px 16px 12px 0}.s-table tr.is-home td{font-weight:600}#contenu>.s-contact{flex-direction:column;gap:20px;padding-top:128px;padding-bottom:96px;display:flex}.s-contact h2{letter-spacing:-.04em;font-size:clamp(44px,7.5vw,96px);line-height:.98}.s-contact__mail{font-family:var(--font-mono);color:var(--accent);word-break:break-all;align-self:flex-start;font-size:clamp(18px,2.6vw,30px);text-decoration-thickness:2px}.s-contact__links{flex-wrap:wrap;gap:4px 24px;display:flex}.s-contact__links a{min-height:44px;color:var(--text);align-items:center;font-weight:600;display:inline-flex}.s-contact__links a:hover{color:var(--accent)}.s-footer{border-top:1px solid var(--border-strong);max-width:1200px;color:var(--muted);flex-wrap:wrap;gap:8px 28px;margin:0 auto;padding:24px 24px 48px;font-size:13px;display:flex}.s-footer a{color:var(--muted)}@media (width<=860px){.s-bar__nav{display:none}.s-bar__desk{margin-left:auto}.s-hero{grid-template-columns:1fr;gap:36px;padding-top:24px}.s-hero__photo{order:-1;justify-self:start;max-width:200px}.s-hero__frame:before{inset:10px -10px -10px 10px}.s-hero__photo figcaption{text-align:left;margin-top:22px}.s-facts{grid-template-columns:1fr}#contenu>.s-facts{margin:0 24px}.s-facts{gap:28px}.s-section{padding-top:80px}.s-project{grid-template-columns:1fr;gap:6px}.s-project__n{padding-top:0}.s-certs li{grid-template-columns:1fr;gap:4px}.s-band__inner{padding:64px 24px 72px}}@media print{.s-bar,.theme-toggle,.s-video,.s-band__links{display:none!important}body.simple,#contenu>.s-band{color:#000;background:#fff}.s-section{padding-top:40px}}
