/* Personal workshop: strong type, offset borders and project-specific colors. */
:root{--ink:#182f3b;--muted:#4c6069;--blue:#235bc1;--blue-deep:#194997;--lime:#f8cd67;--paper:#fffaf0;--line:#c7cec9}
body{background:var(--paper)}
.header{background:#fffaf0f5;backdrop-filter:blur(12px)}
.nav-wrap{min-height:78px}
.brand{font-size:1.2rem;letter-spacing:-.035em}
.brand-symbol{background:var(--ink);color:#ffce70;border-radius:50%;width:38px;height:38px}
.brand-dot{color:#ad3b29}
nav a{border-radius:0;font-size:.875rem}
nav a[aria-current]{background:#ffe5a9;color:var(--ink);box-shadow:inset 0 -2px var(--ink)}
.button{border-radius:4px;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);background:#ffda89}
.primary{background:var(--lime);color:var(--ink)}
.primary:hover{background:#ffe19a}
.nav-dossier{box-shadow:none;background:var(--ink);color:var(--paper)}
.nav-dossier:hover{color:var(--ink)}
.reading-track{background:#b8c6c9}
.reading-progress{background:#ba422d}
.hero{position:relative;background:var(--ink);color:var(--paper);width:100%;padding:60px max(40px,calc((100vw - 1168px)/2)) 66px;gap:70px;grid-template-columns:1.1fr 1fr;overflow:hidden}
.hero .eyebrow{color:#c7d6db;font-size:.8125rem;letter-spacing:.075em}
.hero .eyebrow>span{color:#ffce70}
.hello{margin-top:24px;font-size:1.125rem;color:#ffd58a}
h1{font-weight:700;letter-spacing:-.06em;font-size:clamp(3.6rem,6.6vw,6rem);line-height:1.03;margin:12px 0 24px}
.hero-code{color:#f4a993;font-style:italic}
.hero-code::after{background:#f4a993;height:3px;bottom:-4px;transform:rotate(-4deg)}
.hero-period{color:#f8cd67}
.hero-intro{color:#d1dde0;line-height:1.75;max-width:470px}
.hero .button{border-color:#f8cd67;box-shadow:4px 4px 0 #10232b}
.hero .text-link{color:#fffaf0}
.hero-location{color:#c5d3d9;font-size:.875rem}
.hero-board{background:#fffaf0;color:var(--ink);border:2px solid #0e222b;border-radius:8px;padding:0 26px 22px;box-shadow:12px 12px 0 #f0a48c;transform:rotate(2deg)}
.board-top{padding:14px 0;border-bottom:2px solid var(--ink);color:#3e5864;font-family:monospace;font-size:.875rem;letter-spacing:0}
.board-edition{border:1px solid var(--ink);border-radius:3px;color:var(--ink);background:#ffdc8a;padding:6px 10px}
.board-title{margin:20px 0;gap:22px}
.board-title strong{font-weight:700;font-size:6.4rem;color:var(--ink)}
.board-title p{color:#49606c}
.board-links{border:0}
.board-links a{margin-block:8px;border:1px solid var(--ink);border-radius:3px;padding:12px;gap:12px;background:#e2ebfb;color:var(--ink);transition:transform .2s,box-shadow .2s}
.board-links a:nth-child(2){background:#f5d7cb}
.board-links a:nth-child(3){background:#ffe6a7}
.board-links a:nth-child(4){background:#d3e8db}
.board-links a:hover{color:var(--ink);padding-left:12px;transform:translateX(-4px);box-shadow:4px 3px 0 var(--ink)}
.board-index,.board-links small{color:#415a66;font-size:.8125rem}
.board-arrow{border-color:var(--ink);width:28px;height:28px;font-size:1.1rem}
.board-bottom{color:#49606c;font-size:.75rem;letter-spacing:.02em;margin-top:18px}
.hero-board a:focus-visible{outline-color:#194997}
.discipline-strip{background:#f4a993;border-block:2px solid var(--ink)}
.discipline-strip .section-wrap{padding-block:16px}
.discipline-strip span[aria-hidden]{color:var(--ink)}
.section-space{padding-block:88px}
h2{font-weight:600}
.projects-section{background:#fffaf0}
.project-grid{gap:26px}
.project-card,.project-card.featured,.project-card.academic{border:2px solid var(--ink);border-radius:5px;color:var(--ink);box-shadow:6px 6px 0 var(--ink);background:#f5d7cb;padding:28px 30px 0}
.project-card.featured{background:#c9dbf7}
.project-card:nth-child(3){background:#ffe4a2}
.project-card.academic{background:#cee5d8}
.project-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink)}
.project-number,.featured .project-number,.academic .project-number{color:var(--ink);opacity:.18;font-weight:700;font-size:7rem;top:75px}
.project-card .project-category,.project-card .project-company,.project-card .project-main>p:last-child{color:#344e5b}
.project-main h3{font-weight:600;line-height:1.2;max-width:450px}
.project-card .project-icon{border:1px solid var(--ink);border-radius:50%;background:#fffaf0;color:var(--ink);width:58px;height:58px}
.project-card .tags span{color:#2c4754;border-color:#67808a;background:#ffffff30;font-size:.875rem;border-radius:3px}
.project-card .status{color:#294554;border-color:#67808a;background:#ffffff80;font-size:.8125rem;border-radius:3px}
.project-card .project-open{border-color:#67808a;font-size:1rem;min-height:70px}
.project-card .project-open span{border-color:var(--ink);background:#fffaf0;color:var(--ink)}
.project-card .project-open:hover span{background:var(--ink);color:#fffaf0;transform:translate(2px,-2px)}
.project-card :focus-visible{outline-color:#194997}
#parcours{border-top:2px solid var(--ink)}
.timeline li::before{color:var(--ink);background:#ffe4a2;border-color:var(--ink);border-radius:50%}
.timeline li::after{background:#67808a}
.about-tags span{background:transparent;border-color:#67808a;border-radius:3px}
.competences-section{background:var(--ink)}
.competency-list details{border-color:#6b818a}
.competency-list details:first-child{border-color:#6b818a}
details[open]{background:#233f4c}
.watch-section{background:#edf2ed}
.watch-card{border:1px solid var(--ink);border-top:5px solid var(--ink);border-radius:3px;background:#fffaf0;box-shadow:4px 4px 0 #b6c7bd}
.watch-card:nth-child(2){border-top-color:#a8523e}
.watch-card:nth-child(3){border-top-color:#345f49}
.watch-meta{font-size:.8125rem;color:#4c6069}
.draft-note{border:1px solid #71879c;border-radius:4px}
.table-scroll{border:1px solid #71879c;border-radius:4px}
.closing{background:#f4a993;color:var(--ink)}
.closing p span{color:#733224}
dialog{border:2px solid var(--ink);border-radius:8px;background:#fffaf0;box-shadow:10px 10px 0 #0003}
.dialog-toolbar{background:#fffaf0;border-bottom:1px solid var(--ink)}
#close-dialog{min-height:44px}
.source-note,.eyebrow,.timeline-date,.outline-tag{font-size:.875rem}
@media(min-width:1600px){.hero{padding-inline:max(56px,calc((100vw - 1280px)/2));padding-block:80px}}
@media(max-width:1000px){.hero{padding-inline:36px;gap:40px}.hero-board{padding-inline:20px;transform:rotate(1deg)}.board-title strong{font-size:5rem}.hero-actions{gap:18px}}
@media(max-width:680px){
.hero{padding:36px 22px 42px;gap:34px;grid-template-columns:1fr}
h1{font-size:clamp(3.5rem,13vw,5rem)}
.hero .eyebrow{font-size:.75rem}
.hello{margin-top:22px}
.hero-board{transform:none;box-shadow:6px 6px 0 #f0a48c;margin-right:6px;padding:0 20px 20px}
.board-title{flex-wrap:nowrap;margin:16px 0}.board-title strong{font-size:4.5rem}
.board-links a{padding:12px;font-size:.9375rem}
.board-bottom{font-size:.75rem}
.section-space{padding-block:60px}
.project-card,.project-card.featured,.project-card.academic{padding:22px 22px 0;margin-right:5px}
.project-number,.featured .project-number,.academic .project-number{font-size:5.5rem;top:105px}
.brand{font-size:1rem}
.nav-wrap{gap:10px}
.menu-toggle{min-height:44px;border-color:var(--ink);border-radius:3px;background:#fffaf0}
nav a{min-height:44px}
.section-heading{gap:16px}
.footer .brand{font-size:1.1rem}
}
@media(prefers-reduced-motion:reduce){.hero-board{transform:none}}
@media print{.hero{display:none!important}.button{box-shadow:none}.dossier-section{background:white}.dossier-heading h2{color:black}}

/* Separate pages share a clear location and onward navigation. */
.page-breadcrumb{display:flex;align-items:center;gap:14px;padding-block:26px;font-size:.875rem;color:var(--muted)}
.page-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.page-title{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:600;letter-spacing:-.055em;line-height:1.15;margin:0}
body:not([data-page="accueil"]) .section-space{padding-top:42px}
body:not([data-page="accueil"]) #parcours{border-top:0}
.page-pagination{display:flex;justify-content:space-between;gap:24px;padding-block:30px;border-top:1px solid var(--line)}
.page-pagination a{display:flex;flex-direction:column;gap:4px;padding:12px 0;min-height:64px;font-weight:600;border-radius:0;color:var(--ink);font-size:1rem}
.page-pagination a:last-child{text-align:right}
.page-pagination a span{font-size:.875rem;color:var(--muted);font-weight:400}
.page-pagination a:hover{background:transparent;text-decoration:underline;text-underline-offset:4px}
body:not([data-page="accueil"]) .footer{border-top:1px solid var(--line)}
@media(max-width:680px){.page-breadcrumb{padding-block:20px}.page-title{font-size:clamp(2.1rem,8.7vw,3rem)}body:not([data-page="accueil"]) .section-space{padding-top:28px}.page-pagination{display:flex;flex-wrap:nowrap}.page-pagination a{border:0;padding:10px 0}}
@media print{.page-breadcrumb,.page-pagination{display:none!important}.page-title{font-size:1.8rem}.page-title br{display:none}body[data-page="dossier"] .section-space{padding:0}}
