/* CARIGE — étude d'ouvrage, atelier indépendant. */
:root{--shu:#b3311d;--rose:#eee0dc;--bordeaux:#65362f;--hair:#ddd7d1;--sable:#f5f2ee}
body{font-size:16px;line-height:1.8}.wrap{max-width:1320px;padding-inline:clamp(22px,5vw,80px)}
.nav{max-width:none;margin-inline:clamp(22px,5vw,80px);padding-inline:0}.ouv{padding-block:88px 34px}.ouv h1{max-width:1000px;font-size:clamp(52px,7.8vw,104px);line-height:.98;letter-spacing:-.035em}.ouv .lead{max-width:720px;margin-top:28px}.faits{padding-block:23px;border-top:1px solid var(--hair);margin-top:38px;color:var(--muted);font-size:11px}.kicker{font-size:10px;letter-spacing:.16em;color:var(--shu)}
.sommaire{position:sticky;top:0;z-index:20;max-width:none;margin:0;background:#ffffffed;backdrop-filter:blur(14px);border-block:1px solid var(--hair);padding:0 clamp(22px,5vw,80px);gap:0;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.sommaire a{padding:18px 24px;border:0;border-bottom:2px solid transparent;border-radius:0;white-space:nowrap;font-size:11px;color:var(--muted)}.sommaire a:first-child{padding-left:0}.sommaire a[aria-current=true]{color:var(--shu);border-bottom-color:var(--shu)}.sommaire a:hover{border-bottom-color:var(--shu)}
.sec{padding-block:90px;scroll-margin-top:65px;border:0}.sec+.sec{border-top:1px solid var(--hair)}.grille,.grille.inv{gap:clamp(30px,5vw,72px);margin-top:26px;align-items:center}.sec h2{font-size:clamp(38px,4.3vw,61px);letter-spacing:-.025em}.sec .lead{font-size:17px}.modele .grille{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}.modele .cadre{aspect-ratio:1/1;min-height:450px;border:0}.modele .outils{font-size:14px}.modele figcaption{font-size:10px}.cadre{border:0}.toit{background:var(--sable)}.toit .cadre{background:transparent;max-width:440px}.toit .pile{background:var(--sable)}.toit .pile img{mix-blend-mode:multiply}.toit .grille.inv{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}.toit svg polygon{cursor:pointer;transition:fill-opacity .2s,stroke-width .2s}.toit svg polygon:hover,.toit svg polygon:focus{stroke:#b3311d;stroke-width:4;outline:none}.toit svg polygon.selected{stroke:#b3311d;stroke-width:4}.roof-readout{border-top:1px solid var(--hair);padding-top:12px;margin-top:18px;font:12px/1.7 'IBM Plex Mono',monospace;color:var(--bordeaux);min-height:54px}.roof-legend{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.roof-legend button,.viewer-tools button{font:11px/1.5 'IBM Plex Mono',monospace;padding:8px 11px;border:1px solid #cfc4bd;background:transparent;color:var(--ink);cursor:pointer}.roof-legend button[aria-pressed=true]{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}.leg{display:none}.leg-titre{text-align:left;max-width:440px;margin-inline:auto}.curseur{max-width:440px}.toit figcaption{max-width:440px;margin-inline:auto;text-align:left;font-size:10px}
.lec dt{font-size:10px}.lec dd{font-size:15px;line-height:1.85}.method{margin-top:25px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);font-size:14px}.method summary{font:11px 'IBM Plex Mono',monospace;letter-spacing:.04em;cursor:pointer;padding:17px 0;color:var(--shu);list-style-position:inside}.method .method-body{padding:0 0 20px;color:var(--muted);line-height:1.85}.metric-line{display:flex;gap:28px;margin:28px 0;padding-block:18px;border-block:1px solid var(--hair)}.metric-line strong{font:42px 'Cormorant Garamond',serif;color:var(--bordeaux);display:block;line-height:1}.metric-line span{font:10px/1.6 'IBM Plex Mono',monospace;color:var(--muted);display:block;margin-top:6px}.qdp .cadre{background:var(--sable)}.qdp .pile{overflow:hidden;touch-action:pan-y}.qdp .pile img{transform-origin:50% 50%}.qdp .rl{transition:opacity .2s}.qdp.rouille .rl{opacity:var(--rust-opacity,1)}.ctl button,.btn{border-radius:0;font-size:11px;padding:12px 16px}.ctl{gap:8px}.viewer-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.viewer-tools label{font:10px 'IBM Plex Mono',monospace;display:flex;align-items:center;gap:8px}.viewer-tools input{accent-color:var(--shu);width:110px}.viewer-tools button:hover{border-color:var(--shu);color:var(--shu)}.viewer-tools output{font:10px 'IBM Plex Mono',monospace;color:var(--muted);min-width:40px}.chen .cadre{overflow:auto;border:1px solid var(--hair);background:#fff;max-height:650px}.chen .cadre img{max-width:none;width:100%;transform-origin:left top}.chen .cadre a{display:block;cursor:zoom-in}.chen dl.deux{grid-template-columns:1fr 1fr;gap:60px}.fin{background:var(--sable);padding-block:85px}.fin blockquote{font-size:clamp(34px,4vw,54px)}.livs{max-width:1000px;gap:0}.livs div{border:0;border-top:1px solid var(--hair);padding:24px 24px 24px 0}.livs span{font-size:14px}.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--shu);outline-offset:4px}.skip{position:absolute;left:10px;top:-100px;background:white;z-index:50;padding:10px}.skip:focus{top:10px}
@media(max-width:860px){.ouv{padding-top:48px}.sommaire{padding-inline:22px}.sommaire a{padding:16px 18px;font-size:10px}.sec{padding-block:54px}.modele .grille,.toit .grille.inv{grid-template-columns:1fr}.modele figure{margin-top:5px}.modele .cadre{min-height:0;aspect-ratio:1/1}.toit .grille.inv .texte{order:-1}.chen dl.deux{grid-template-columns:1fr;gap:24px}.qdp .pile{aspect-ratio:1.3}.metric-line{margin-block:18px}.faits{gap:12px 20px}.outils{display:none}.fin{padding-block:55px}.method{margin-top:20px}.grille{gap:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
