/* Maquettes ReWeb — autonomes, sans framework ni ressource distante. */
:root{--ink:#172123;--paper:#f6f5ee;--accent:#753049;--line:rgba(23,33,35,.18);--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button{color:inherit}button:disabled{cursor:default}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1{letter-spacing:-.065em;line-height:1.04}h2{font-size:clamp(34px,4.5vw,66px);letter-spacing:-.055em;line-height:1.06}h3{font-size:24px;letter-spacing:-.035em}button{border:0}small{line-height:1.6}.wrap{max-width:1360px;margin:auto;padding-inline:64px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;line-height:1.6}.muted{opacity:.63}.skip-link{position:fixed;top:-90px;left:24px;z-index:100;padding:16px;background:var(--accent);color:var(--paper)}.skip-link:focus{top:44px}.concept-bar{height:38px;position:sticky;top:0;z-index:60;background:#1c2022;color:#f8f7ef;font:10px var(--mono);display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #474b4c;gap:16px}.concept-bar>div{display:flex;align-items:center;gap:6px}.concept-bar a{padding:6px 10px;color:#a7aaab}.concept-bar a[aria-current]{background:#f0f0e5;color:#1c2022;border-radius:3px}.concept-bar .back{color:#f8f7ef;padding-left:0}.concept-label{color:#a7aaab}.site-header{height:102px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:9px;letter-spacing:-.065em;font-size:30px;font-weight:700}.brand small{font-size:12px;letter-spacing:0;font-weight:400;align-self:flex-end;margin-bottom:5px}.brand-mark{font:24px var(--mono);letter-spacing:-6px;margin-right:8px}.site-nav{display:flex;align-items:center;gap:32px;font-size:12px}.site-nav a:not(.nav-cta){position:relative}.site-nav a:not(.nav-cta):after{content:'';height:1px;background:currentColor;position:absolute;bottom:-5px;left:0;width:0;transition:width .2s}.site-nav a:hover:after{width:100%}.nav-cta{padding:13px 18px;border:1px solid var(--line);border-radius:3px}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:10px 12px;font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--accent);color:var(--paper);padding:18px 24px;min-height:55px;font-size:13px;font-weight:600;border:1px solid transparent;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn.secondary{border-color:var(--line);background:transparent;color:var(--ink)}.btn .arrow{font-size:21px;line-height:1}.text-link{display:inline-flex;gap:20px;align-items:center;padding-bottom:7px;border-bottom:1px solid currentColor;font-size:13px}.status{display:inline-flex;align-items:center;gap:9px;font-size:11px}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.section{padding-block:96px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:300px;font-size:13px;margin-bottom:4px}.section-heading .eyebrow{margin-bottom:18px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{padding:30px;border:1px solid var(--line)}.service-card h3{margin:30px 0 16px}.service-card p{font-size:13px;max-width:290px;margin-bottom:30px}.service-card .eyebrow{display:flex;justify-content:space-between}.service-card ul{list-style:none;margin:0;padding:20px 0 0;border-top:1px solid var(--line);font-size:11px;line-height:2.1}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project{display:block;width:100%;text-align:left;background:transparent;padding:0}.project-image{overflow:hidden;position:relative;aspect-ratio:1.24;background:#dadbcf;padding:28px;display:flex;align-items:center;justify-content:center}.project-image img{width:100%;box-shadow:0 14px 30px #0002;transition:transform .4s}.project:hover img{transform:scale(1.055)}.project-meta{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.project-meta h3{font-size:17px;margin:0 0 6px}.project-meta p{font:10px var(--mono);margin:0;opacity:.65}.project-arrow{font-size:24px}.archive-note{font:10px/1.7 var(--mono);opacity:.6;margin:18px 0 0}.about-row{display:grid;grid-template-columns:1fr 1.1fr;gap:96px}.about-row p{font-size:17px;line-height:1.8}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:50px}.step{border-top:1px solid var(--line);padding-top:20px}.step h3{font-size:17px;margin:22px 0 12px}.step p{font-size:12px;opacity:.7;max-width:230px}.contact-section{padding-block:72px}.contact-section h2{max-width:840px;font-size:clamp(46px,6.5vw,94px);margin:22px 0 38px}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px}.contact-bottom p{font-size:12px;margin:0}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:28px;border-top:1px solid var(--line);font:10px var(--mono)}.site-footer a{border-bottom:1px solid currentColor;padding-bottom:3px}.project-dialog{padding:0;width:min(940px,calc(100% - 32px));max-height:90vh;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px}.project-dialog::backdrop{background:#081116bb;backdrop-filter:blur(8px)}.dialog-head{padding:22px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-head h2{font-size:25px;letter-spacing:-.04em;margin:0}.dialog-close{background:transparent;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;font-size:24px;flex-shrink:0}.dialog-content{padding:0 28px 28px}.dialog-content img{width:100%;height:auto;max-height:60vh;object-fit:contain;background:#dedfd3}.dialog-content p{font-size:13px;margin:20px 0 0}.dialog-content a{margin-top:22px}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.js-motion .reveal.visible{opacity:1;transform:none}
@media(min-width:1500px){.wrap{max-width:1450px}}
@media(max-width:1000px){.wrap{padding-inline:36px}.site-nav{gap:22px}.section{padding-block:72px}.service-card{padding:24px}.project-image{padding:18px}.about-row{gap:48px}.section-heading{gap:24px}.section-heading>p{max-width:250px}}
@media(max-width:720px){html{scroll-padding-top:75px}.wrap{padding-inline:24px}.concept-bar{padding-inline:12px;font-size:9px;gap:6px}.concept-label{display:none}.concept-bar a{padding:6px 8px}.site-header{height:80px;position:relative;gap:16px}.brand{font-size:26px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:calc(100% - 8px);left:24px;right:24px;padding:24px;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 40px #0002;z-index:40;align-items:stretch;flex-direction:column;gap:26px;color:var(--ink)}.site-nav.open{display:flex}.site-nav .nav-cta{text-align:center}.section{padding-block:56px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:100%;margin:20px 0 0}.services-grid,.projects-grid{grid-template-columns:1fr}.service-card{padding:28px}.service-card p{max-width:100%}.project-image{aspect-ratio:1.35;padding:28px}.project-meta{padding-top:18px}.about-row{grid-template-columns:1fr;gap:12px}.about-row p{font-size:16px}.steps{grid-template-columns:1fr 1fr;gap:24px}.step p{max-width:100%}.contact-bottom{align-items:flex-start;flex-direction:column}.site-footer{align-items:flex-start;flex-direction:column;font-size:9px;gap:15px}.contact-section{padding-block:56px}.dialog-head{padding:18px}.dialog-head h2{font-size:20px}.dialog-content{padding:0 18px 24px}.btn{padding:16px 20px}.project-meta h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
