:root{color-scheme:light;--paper:#f4f3ee;--white:#fff;--ink:#202826;--muted:#505953;--line:#d2d4cd;--accent:#a53f2a;--accent-dark:#87321f;--dark:#202826;--shell:min(1180px,calc(100% - 64px));font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;text-rendering:optimizeLegibility}
a,button{font:inherit;color:inherit}
a{text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent-dark);outline-offset:4px}
.section-shell{width:var(--shell);margin-inline:auto}
.skip-link{position:fixed;z-index:30;top:10px;left:10px;padding:10px 14px;transform:translateY(-160%);background:var(--ink);color:white}
.skip-link:focus{transform:none}
.site-header{position:relative;z-index:10;width:var(--shell);min-height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}
.wordmark{display:grid;gap:0;line-height:1.3}
.wordmark-name{font-size:17px;font-weight:700;letter-spacing:-.025em}
.wordmark-role{font-size:14px;color:var(--muted)}
.site-header nav,.project-header nav{display:flex;align-items:center;gap:34px}
.site-header nav a,.project-header nav a,.footer-top nav a{min-height:44px;display:flex;align-items:center;font-size:15px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px}
.site-header nav a:hover,.project-header nav a:hover,.footer-top nav a:hover{color:var(--accent-dark);text-decoration-color:currentColor}
.menu-toggle{display:none}
.hero{padding-block:86px 76px;border-bottom:1px solid var(--line)}
.hero-location,.eyebrow{margin:0 0 16px;color:var(--muted);font-size:14px;font-weight:600;letter-spacing:.015em}
.hero h1{max-width:900px;margin:0;font-size:clamp(48px,7vw,88px);line-height:1.02;letter-spacing:-.055em;font-weight:600}
.hero-lead{max-width:740px;margin:24px 0 8px;font-size:clamp(21px,2.5vw,29px);line-height:1.35;font-weight:500;letter-spacing:-.02em}
.hero-copy{max-width:620px;margin:0;color:var(--muted);font-size:17px}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}
.button{min-height:48px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--white);font-size:15px;font-weight:700;text-decoration:none}
.button:hover{background:var(--accent-dark)}
.text-link{min-height:44px;display:inline-flex;align-items:center;color:var(--ink);font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.text-link:hover,.contact-links a:hover{color:var(--accent-dark)}
.projects{padding-block:76px 88px}
.section-heading{display:grid;grid-template-columns:1fr minmax(260px,400px);align-items:end;gap:40px;margin-bottom:30px}
.section-heading .eyebrow{margin-bottom:5px}
.section-heading h2,.about h2,.contact h2,.project-detail h1{margin:0;font-size:clamp(36px,5vw,58px);line-height:1.1;letter-spacing:-.045em;font-weight:600}
.section-heading>p{margin:0;color:var(--muted);font-size:16px}
.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.featured-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:0 0 13px;border-bottom:1px solid var(--line);text-decoration:none}
.featured-card:hover .project-image{border-color:var(--accent-dark)}
.project-image{width:100%;aspect-ratio:4/3;display:block;margin-bottom:15px;object-fit:cover;background:var(--white);border:1px solid #c8cbc4}
.featured-meta{margin-bottom:4px;color:var(--muted);font-size:14px}
.featured-title{font-size:20px;font-weight:700;line-height:1.28;letter-spacing:-.02em}
.featured-place{margin-top:4px;color:var(--muted);font-size:14px}
.featured-action{margin-top:12px;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.featured-card:hover .featured-action{color:var(--accent-dark)}
.archive{margin-top:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.archive>summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:18px;font-weight:700}
.archive>summary::-webkit-details-marker{display:none}
.archive-symbol{font-size:25px;font-weight:400;transition:transform .15s ease}
.archive[open] .archive-symbol{transform:rotate(45deg)}
.archive-content{padding:0 0 28px}
.archive-intro{margin:0 0 18px;color:var(--muted);font-size:15px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}
.filters button{min-height:44px;padding:8px 13px;border:1px solid #949b93;background:transparent;color:var(--ink);cursor:pointer;font-size:14px}
.filters button:hover,.filters button.active{background:var(--ink);border-color:var(--ink);color:var(--white)}
#result-count{min-height:26px;margin:0 0 8px;color:var(--muted);font-size:14px}
.archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
.archive-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 140px;align-items:baseline;gap:8px 18px;padding:15px 0;border-top:1px solid var(--line)}
.archive-row[hidden]{display:none}
.archive-row h3{grid-column:1;margin:0;font-size:16px;font-weight:600;line-height:1.35}
.archive-row p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}
.archive-row p:nth-of-type(1){grid-column:2;grid-row:1}
.archive-row p:nth-of-type(2){grid-column:1;grid-row:2}
.domains{padding-block:68px;background:#e7e8e2;border-block:1px solid var(--line)}
.domains .section-heading{margin-bottom:25px}
.domain-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;margin:0;padding:0;list-style:none}
.domain-list li{padding:14px 0;border-top:1px solid #c4c8bf;font-size:17px;font-weight:600}
.about{display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;padding-block:78px;border-bottom:1px solid var(--line)}
.about-kicker{margin:5px 0;color:var(--muted);font-size:16px;font-weight:600}
.about .eyebrow{margin-bottom:8px}
.about h2{font-size:clamp(38px,4.4vw,54px)}
.about-role{margin:5px 0 20px;color:var(--muted);font-size:19px}
.about div>p:last-child{max-width:740px;margin:0;color:#343c37;font-size:17px}
.contact{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;padding-block:62px 68px}
.contact-copy .eyebrow{margin-bottom:8px}
.contact h2{font-size:clamp(34px,4.4vw,50px)}
.contact-copy>p:not(.eyebrow){max-width:680px;margin:16px 0 0;color:#343c37;font-size:16px}
.contact-links{align-self:center;display:grid;justify-items:start;gap:7px}
.contact-links a{font-size:18px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.contact-links p{margin:5px 0 0;color:var(--muted);font-size:15px}
.contact-form{display:grid;gap:15px}
.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}
.form-fields label{min-width:0;display:grid;gap:6px;font-size:14px;font-weight:600}
.form-fields input,.form-fields select,.form-fields textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid #737b74;border-radius:0;background:var(--white);color:var(--ink);font:16px/1.4 Arial,Helvetica,sans-serif}
.form-fields textarea{min-height:132px;resize:vertical}
.form-fields input:focus-visible,.form-fields select:focus-visible,.form-fields textarea:focus-visible{outline:3px solid var(--accent-dark);outline-offset:2px}
.field-wide{grid-column:1/-1}
.form-note,.form-result{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.form-result a{display:inline-block;margin-left:4px;color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:4px}
footer{border-top:1px solid var(--line)}
.footer-top{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.footer-top nav{display:flex;flex-wrap:wrap;gap:20px}
.footer-bottom{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.project-header nav{margin-left:auto}
.project-detail{min-height:calc(100vh - 180px);padding-block:48px 72px}
.back-link{min-height:44px;display:inline-flex;align-items:center;margin-bottom:35px;color:var(--ink);font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.project-detail .eyebrow{margin-bottom:10px}
.project-detail h1{max-width:900px}
.project-facts{display:flex;flex-wrap:wrap;gap:20px 54px;margin:30px 0}
.project-facts div{min-width:150px}
.project-facts dt{color:var(--muted);font-size:14px}
.project-facts dd{margin:2px 0 0;font-size:17px;font-weight:600}
.project-media{width:100%;aspect-ratio:16/8;display:block;object-fit:cover;margin:0;background:var(--white);border:1px solid #c8cbc4}
.project-note{margin:10px 0 0;color:var(--muted);font-size:14px}
.project-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.project-contact p{margin:0;font-size:17px;font-weight:600}
.project-footer{margin-top:0}
.error-page{min-height:100vh;max-width:760px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}
.error-page h1{margin:0;font-size:clamp(42px,7vw,72px);line-height:1.05;letter-spacing:-.05em}
.error-page>p:not(.eyebrow){margin:12px 0 20px;color:var(--muted);font-size:17px}
@media(max-width:1050px){:root{--shell:min(calc(100% - 48px),900px)}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){:root{--shell:calc(100% - 40px)}html{scroll-padding-top:74px}.site-header{min-height:72px}.wordmark-name{font-size:16px}.wordmark-role{font-size:14px}.menu-toggle{min-height:44px;display:flex;align-items:center;gap:12px;padding:9px 0 9px 10px;border:0;background:none;cursor:pointer;font-size:14px;font-weight:600}.menu-icon{width:20px;height:2px;position:relative;background:var(--ink)}.menu-icon:after{content:"";position:absolute;top:6px;left:0;width:20px;height:2px;background:var(--ink)}.menu-toggle[aria-expanded=true] .menu-icon{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{top:0;transform:rotate(90deg)}.site-header nav{position:absolute;top:calc(100% + 1px);left:0;right:0;display:none;gap:0;padding:8px 18px;background:var(--white);border:1px solid var(--line);box-shadow:0 12px 24px #20282620}.site-header nav.open{display:grid}.site-header nav a{min-height:50px;border-bottom:1px solid var(--line)}.site-header nav a:last-child{border:0}.hero{padding-block:54px 50px}.hero-location,.eyebrow{font-size:14px}.hero h1{font-size:clamp(42px,11vw,58px);line-height:1.04;letter-spacing:-.05em}.hero-lead{margin-top:18px;font-size:22px}.hero-copy{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px;margin-top:22px}.projects{padding-block:60px 65px}.section-heading{grid-template-columns:1fr;gap:12px;margin-bottom:24px}.section-heading h2,.about h2{font-size:38px}.section-heading>p{font-size:16px}.featured-grid{grid-template-columns:1fr;gap:22px}.project-image{aspect-ratio:16/9;margin-bottom:12px}.featured-title{font-size:19px}.archive{margin-top:30px}.archive>summary{min-height:60px;font-size:17px}.archive-list{grid-template-columns:1fr}.archive-row{grid-template-columns:minmax(0,1fr) 128px;gap:6px 12px;padding-block:14px}.archive-row h3{font-size:16px}.archive-row p{font-size:14px}.filters{gap:7px}.filters button{min-height:44px;padding:8px 11px;font-size:14px}.domains{padding-block:54px}.domain-list{grid-template-columns:1fr 1fr;gap:0 16px}.domain-list li{font-size:16px}.about{grid-template-columns:1fr;gap:12px;padding-block:58px}.about-kicker{font-size:15px}.about div>p:last-child{font-size:16px}.contact{grid-template-columns:1fr;gap:23px;padding-block:52px 58px}.contact h2{font-size:38px}.contact-copy>p:not(.eyebrow){font-size:16px}.contact-links a{font-size:17px}.form-fields{grid-template-columns:1fr;gap:13px}.field-wide{grid-column:auto}.footer-top{align-items:flex-start;flex-direction:column;padding-block:24px}.footer-top nav{gap:4px 16px}.footer-bottom{min-height:0;flex-wrap:wrap;justify-content:flex-start;padding-block:14px}.footer-bottom span:first-child{width:100%}.project-header nav{gap:14px}.project-detail{min-height:calc(100vh - 150px);padding-block:28px 50px}.back-link{margin-bottom:26px}.project-detail h1{font-size:clamp(36px,9vw,48px)}.project-facts{gap:18px 28px;margin-block:24px}.project-media{aspect-ratio:4/3}.project-contact{align-items:flex-start;flex-direction:column;gap:16px}.project-contact p{font-size:16px}}
@media(max-width:360px){:root{--shell:calc(100% - 32px)}.hero h1{font-size:40px}.archive-row{grid-template-columns:minmax(0,1fr) 112px;gap:6px 8px}.featured-action{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Architecture éditoriale: une composition à deux colonnes et un vrai point d’entrée vers le portfolio. */
:root{--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif}
.wordmark-name,.hero h1,.section-heading h2,.about h2,.contact h2,.project-detail h1,.featured-title{font-family:var(--serif);font-weight:500}
.wordmark-name{font-size:20px;letter-spacing:-.035em}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;gap:clamp(34px,6vw,82px);padding-block:clamp(48px,6vw,74px);border-bottom:1px solid var(--line)}
.hero-copy-block{max-width:610px}
.hero-location,.eyebrow{color:var(--accent-dark);font-size:14px;font-weight:700;letter-spacing:0}
.hero-location{margin-bottom:20px}
.hero h1{max-width:620px;font-size:clamp(48px,5.8vw,72px);line-height:1.03;letter-spacing:-.045em}
.hero h1 span{color:var(--accent-dark)}
.hero-lead{max-width:540px;margin:22px 0 8px;font-family:var(--serif);font-size:clamp(21px,2.25vw,27px);line-height:1.32}
.hero-copy{max-width:500px;font-size:16px}
.hero-actions{flex-wrap:wrap;gap:12px 24px;margin-top:25px}
.hero-project{display:block;min-width:0;padding:10px 10px 0;background:var(--white);border:1px solid var(--line);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.hero-project:hover{border-color:var(--accent);transform:translateY(-2px)}
.hero-project-image{display:block;width:100%;aspect-ratio:1.35;object-fit:cover;background:#fff}
.hero-project-caption{display:grid;grid-template-columns:1fr auto;gap:3px 18px;padding:13px 9px 15px;border-top:1px solid var(--line)}
.hero-project-title{font-family:var(--serif);font-size:20px;line-height:1.25}
.hero-project-place{grid-column:1;color:var(--muted);font-size:14px}
.hero-project-action{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent-dark);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.projects{padding-block:68px 82px}
.section-heading{grid-template-columns:1fr minmax(280px,420px);gap:34px;margin-bottom:30px}
.section-heading .eyebrow{font-size:14px}
.section-heading h2,.about h2,.contact h2,.project-detail h1{font-size:clamp(38px,4.5vw,54px);letter-spacing:-.035em;line-height:1.08}
.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}
.featured-card{padding-bottom:16px}
.project-image{aspect-ratio:1.45;margin-bottom:15px;border-color:#c8cbc4}
.featured-meta{color:var(--accent-dark);font-weight:600}
.featured-title{font-size:21px;line-height:1.25}
.domains{background:#e8e8e1}
.domain-list li{position:relative;padding-left:14px}
.domain-list li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;background:var(--accent)}
.about{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-kicker{color:var(--accent-dark)}
.about-role{font-family:var(--serif);font-size:20px;color:var(--accent-dark)}
.contact{background:var(--dark);color:#fff}
.contact-inner{width:var(--shell);margin-inline:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,76px);align-items:center;padding-block:clamp(48px,7vw,82px)}
.contact h2{color:#fff}
.contact-copy .eyebrow{color:#f0b9a9}
.contact-copy>p:not(.eyebrow){color:#e2e4dd}
.contact-links a{color:#fff}
.contact-links p{color:#e2e4dd}
.contact-form{padding:clamp(20px,3vw,34px);background:var(--paper);color:var(--ink);border-top:3px solid var(--accent)}
.contact-form .button{background:var(--accent-dark);color:#fff}
.contact-form .button:hover{background:var(--ink)}
.form-note,.form-result{color:#414943}
.project-detail h1{font-family:var(--serif)}
.project-media{background:#fff;border-color:#c8cbc4}
@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:30px}.hero h1{font-size:clamp(44px,6vw,60px)}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-inner{grid-template-columns:.8fr 1.2fr;gap:28px}}
@media(max-width:700px){.hero{grid-template-columns:1fr;gap:28px;padding-block:45px 48px}.hero h1{font-size:clamp(43px,10.5vw,58px)}.hero-project-image{aspect-ratio:1.5}.hero-project-caption{grid-template-columns:1fr}.hero-project-place,.hero-project-action{grid-column:1;grid-row:auto}.hero-project-action{margin-top:8px}.projects{padding-block:54px 62px}.section-heading{grid-template-columns:1fr;gap:12px}.section-heading h2,.about h2,.contact h2,.project-detail h1{font-size:clamp(36px,9vw,46px)}.featured-grid{grid-template-columns:1fr;gap:25px}.project-image{aspect-ratio:1.5}.contact-inner{grid-template-columns:1fr;gap:26px;padding-block:46px}.contact-form{padding:20px}.domain-list li{padding-block:10px}}

.contact{display:block;padding:0}
