:root{--bg:#fbf7ef;--paper:#fffdf8;--paper-2:#f6efe4;--ink:#17252a;--muted:#5d686c;--line:#e4d9c9;--primary:#0e5260;--primary-2:#2d7881;--copper:#c86f3f;--sage:#8a9c7b;--aqua:#78aeb5;--soft-blue:#eaf4f3;--shadow:0 20px 60px rgba(23,37,42,.09);--radius:22px;--serif:Georgia,'Times New Roman',ui-serif,serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif} *{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:96px} body{margin:0;background:linear-gradient(180deg,#fffdf8 0%,var(--bg) 48%,#fffdf8 100%);color:var(--ink);font-family:var(--sans);line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility} body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 5%,rgba(200,111,63,.08),transparent 26%),radial-gradient(circle at 80% 30%,rgba(14,82,96,.08),transparent 30%);opacity:.75;z-index:-1} a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(228,217,201,.86)}.header-inner{width:min(1500px,100%);margin:auto;height:76px;display:grid;grid-template-columns:auto 1fr minmax(180px,260px);align-items:center;gap:clamp(1rem,3vw,2.8rem);padding:0 clamp(1rem,4vw,4rem)}.brand{display:flex;align-items:center;gap:.8rem;color:var(--primary);font-family:var(--serif);font-size:clamp(1.25rem,2.2vw,2rem);font-weight:700;letter-spacing:-.02em}.brand:hover{text-decoration:none}.brand-logo{width:52px;height:52px;flex:0 0 auto}.top-nav{display:flex;justify-content:center;gap:clamp(1rem,3vw,3rem);align-items:center}.top-nav a{color:#0d4552;font-size:.95rem;font-weight:650;position:relative;padding:.55rem 0}.top-nav a[aria-current="page"],.top-nav a:hover{color:var(--copper);text-decoration:none}.top-nav a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:.1rem;height:2px;background:var(--copper);border-radius:999px}.search{position:relative}.search input{width:100%;border:0;background:#f7f3ec;border-radius:999px;padding:.72rem 1rem;font-size:.92rem;color:var(--ink);outline:1px solid transparent}.search input:focus{outline-color:rgba(14,82,96,.22);box-shadow:0 0 0 4px rgba(14,82,96,.08)}.search-results{display:none;position:absolute;right:0;top:calc(100% + .6rem);width:min(560px,90vw);max-height:65vh;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:.55rem;z-index:100}.search-results.open{display:block}.search-results a{display:block;padding:.8rem;border-radius:14px;color:var(--ink)}.search-results a:hover{background:var(--soft-blue);text-decoration:none}.result-title{font-family:var(--serif);font-weight:700;color:var(--primary);font-size:1.05rem}.result-snippet{font-size:.9rem;color:var(--muted);line-height:1.45}.search-results mark{background:rgba(200,111,63,.16);color:var(--copper);border-radius:2px;padding:0 .1em}.home{width:min(1500px,100%);margin:auto;padding:0 clamp(1rem,4vw,4rem)}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,370px);gap:clamp(1rem,2vw,2.5rem);align-items:stretch;padding:clamp(2rem,6vw,5rem) 0 1.3rem}.hero-main{position:relative;min-height:520px;display:grid;grid-template-columns:minmax(360px,0.82fr) minmax(360px,1fr);align-items:center;gap:1rem}.hero-copy{position:relative;z-index:2}.hero h1{font-family:var(--serif);font-size:clamp(4rem,9vw,8.3rem);line-height:.88;margin:0 0 1.25rem;color:var(--primary);letter-spacing:-.06em;text-wrap:balance}.hero-subtitle{font-family:var(--serif);font-size:clamp(1.55rem,2.2vw,2.25rem);line-height:1.15;margin:0 0 1.35rem;color:var(--copper);letter-spacing:-.02em}.hero-lead{max-width:620px;color:#3b474b;font-size:clamp(1rem,1.2vw,1.18rem);line-height:1.65}.hero-art{position:absolute;z-index:1;right:0;top:22px;width:min(760px,62%);height:520px;background:url('hero-flow.svg') center/contain no-repeat;opacity:.98}.hero-cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2rem}.home-card{position:relative;min-height:252px;background:rgba(255,253,248,.82);border:1px solid var(--line);border-radius:18px;padding:1.25rem;box-shadow:0 15px 35px rgba(23,37,42,.04);overflow:hidden}.home-card:hover{transform:translateY(-2px);box-shadow:0 24px 50px rgba(23,37,42,.08)}.num{position:absolute;top:1rem;left:1rem;width:42px;height:42px;border-radius:999px;background:var(--primary);color:white;display:grid;place-items:center;font-family:var(--serif);font-weight:700}.home-card:nth-child(2) .num{background:var(--copper)}.home-card:nth-child(3) .num{background:var(--sage)}.home-card:nth-child(4) .num{background:var(--aqua)}.card-visual{height:105px;margin:.15rem 0 1rem;background-position:center;background-repeat:no-repeat;background-size:contain;opacity:.82}.visual-layers{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 110'%3E%3Cg fill='%2378aeb5' opacity='.26' stroke='%230e5260' stroke-opacity='.22'%3E%3Cpath d='M40 78l70-32 70 32-70 26z'/%3E%3Cpath d='M40 58l70-32 70 32-70 26z'/%3E%3Cpath d='M40 38l70-32 70 32-70 26z'/%3E%3C/g%3E%3Cg stroke='%23c86f3f' stroke-width='2'%3E%3Cpath d='M110 8v94'/%3E%3Ccircle cx='110' cy='22' r='3' fill='%23c86f3f'/%3E%3Ccircle cx='110' cy='50' r='3' fill='%23c86f3f'/%3E%3Ccircle cx='110' cy='78' r='3' fill='%23c86f3f'/%3E%3C/g%3E%3C/svg%3E")}.visual-book{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 110'%3E%3Cpath d='M36 28c28-18 55-18 78 0v60c-28-16-52-16-78 0z' fill='%23fffdf8' stroke='%230e5260' stroke-opacity='.25'/%3E%3Cpath d='M114 28c26-18 52-18 76 0v60c-26-16-50-16-76 0z' fill='%23fffdf8' stroke='%230e5260' stroke-opacity='.25'/%3E%3Cpath d='M114 28v60' stroke='%230e5260' stroke-opacity='.3'/%3E%3Cg fill='none' stroke='%23c86f3f' stroke-opacity='.55'%3E%3Ccircle cx='74' cy='52' r='22'/%3E%3Ccircle cx='154' cy='52' r='22'/%3E%3Cpath d='M52 52h44M74 30v44M132 52h44M154 30v44'/%3E%3C/g%3E%3C/svg%3E")}.visual-flow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 110'%3E%3Cg fill='%23eaf4f3' stroke='%230e5260' stroke-opacity='.45'%3E%3Crect x='20' y='46' width='44' height='22' rx='4'/%3E%3Crect x='90' y='20' width='44' height='22' rx='4'/%3E%3Crect x='90' y='70' width='44' height='22' rx='4'/%3E%3Crect x='158' y='46' width='44' height='22' rx='4'/%3E%3C/g%3E%3Cg stroke='%230e5260' stroke-opacity='.45' fill='none'%3E%3Cpath d='M64 57h26M112 42v28M134 31h45v15M134 81h45V68'/%3E%3C/g%3E%3Crect x='158' y='46' width='44' height='22' rx='4' fill='%23c86f3f' fill-opacity='.45'/%3E%3C/svg%3E")}.visual-publication{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 110'%3E%3Cpath d='M52 28h50v62H52zM104 28h50v62h-50z' fill='%23fffdf8' stroke='%230e5260' stroke-opacity='.25'/%3E%3Cg fill='none' stroke='%230e5260' stroke-opacity='.35'%3E%3Ccircle cx='160' cy='56' r='38'/%3E%3Ccircle cx='160' cy='56' r='22'/%3E%3Cpath d='M122 56h76M160 18v76M132 30c34 20 54 46 56 68'/%3E%3C/g%3E%3Cg fill='%23c86f3f'%3E%3Ccircle cx='122' cy='56' r='3'/%3E%3Ccircle cx='160' cy='18' r='3'/%3E%3Ccircle cx='184' cy='84' r='3'/%3E%3C/g%3E%3C/svg%3E")}.home-card h2{font-family:var(--serif);font-size:clamp(1.45rem,2vw,2.05rem);line-height:1.05;color:var(--primary);margin:.2rem 0 .55rem}.home-card:nth-child(2) h2{color:var(--copper)}.home-card:nth-child(3) h2{color:var(--sage)}.home-card:nth-child(4) h2{color:var(--aqua)}.home-card p{font-size:.94rem;line-height:1.4;color:#344146;margin:0 0 .8rem}.card-link{font-weight:650}.repere-panel{background:rgba(255,253,248,.80);border:1px solid var(--line);border-radius:20px;box-shadow:0 15px 36px rgba(23,37,42,.04);padding:1.7rem 1.8rem;display:flex;flex-direction:column;gap:1.05rem}.repere-panel h2{font-family:var(--serif);font-size:1.8rem;line-height:1;margin:0;color:var(--primary);border-bottom:2px solid var(--primary);width:max-content;padding-bottom:.35rem}.repere{display:grid;grid-template-columns:58px 1fr;gap:1rem;align-items:center}.repere-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:white;font-family:var(--serif);font-size:1.6rem}.notion{background:var(--primary)}.contexte{background:var(--copper)}.occurrence{background:var(--sage)}.mouvement{background:var(--aqua)}.repere strong{font-family:var(--serif);font-size:1.26rem;color:var(--primary);display:block}.repere small{display:block;color:#344146;line-height:1.35}.quote{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:1rem;padding:1.55rem .6rem;text-align:center;color:var(--primary);font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1.28}.page-section{margin:5rem 0 3rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:2rem;margin-bottom:1.4rem}.section-heading h2{font-family:var(--serif);font-size:2.4rem;color:var(--primary);letter-spacing:-.03em;margin:0}.section-heading p{max-width:580px;color:var(--muted);margin:0}.parts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.part-card{background:rgba(255,253,248,.78);border:1px solid var(--line);border-radius:18px;padding:1.2rem;min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.part-card small{font-family:var(--serif);font-size:1.15rem;color:var(--copper)}.part-card h3{font-family:var(--serif);font-size:1.32rem;line-height:1.18;color:var(--primary);margin:.4rem 0}.part-card a{font-weight:700}.publication-strip{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.publication-box{background:rgba(255,253,248,.78);border:1px solid var(--line);border-radius:20px;padding:1.6rem}.publication-box h3{font-family:var(--serif);font-size:1.8rem;color:var(--primary);margin:0 0 .7rem}.button-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.button{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.78rem 1rem;font-weight:750;color:var(--primary)}.button.primary{background:var(--primary);border-color:var(--primary);color:white}.button:hover{text-decoration:none;transform:translateY(-1px)}.reading-layout{width:min(1500px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(240px,290px) minmax(0,850px) minmax(210px,260px);gap:clamp(1rem,2.2vw,2rem);padding:clamp(1rem,3vw,3rem) clamp(1rem,4vw,4rem)}.book-sidebar,.toc-side{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow:auto}.side-card{background:rgba(255,253,248,.84);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 30px rgba(23,37,42,.04);padding:1rem;margin-bottom:1rem}.side-title{margin:0 0 .7rem;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;color:var(--muted);font-weight:800}.book-nav{display:flex;flex-direction:column;gap:.22rem}.book-nav a{display:grid;grid-template-columns:42px 1fr;gap:.55rem;align-items:start;padding:.55rem;border-radius:12px;color:#27363b;font-size:.9rem;line-height:1.25}.book-nav a:hover{background:var(--soft-blue);text-decoration:none}.book-nav a span{font-family:var(--serif);color:var(--copper);font-weight:700}.book-nav a.active{background:var(--primary);color:white}.book-nav a.active span{color:#f4cfb8}.repere-row{display:grid;grid-template-columns:40px 1fr;gap:.75rem;align-items:center;margin:.7rem 0}.repere-row .repere-icon{width:40px;height:40px;font-size:1.05rem}.repere-row strong{font-family:var(--serif);color:var(--primary);font-size:1.05rem;display:block}.repere-row small{color:var(--muted);font-size:.79rem;line-height:1.28;display:block}.content{min-width:0;background:rgba(255,253,248,.9);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:clamp(1.3rem,4vw,4.5rem)}.content h1{font-family:var(--serif);font-size:clamp(2.6rem,5.2vw,5.6rem);line-height:.95;margin:0 0 2rem;color:var(--primary);letter-spacing:-.05em;text-wrap:balance}.content h2{font-family:var(--serif);font-size:clamp(1.6rem,2.3vw,2.55rem);line-height:1.1;color:var(--primary);letter-spacing:-.025em;margin:3.4rem 0 1.25rem;padding-top:1.6rem;border-top:1px solid var(--line)}.content h3{font-family:var(--serif);font-size:1.35rem;line-height:1.25;color:var(--copper);margin:2.2rem 0 .8rem}.content p{font-size:1.03rem;line-height:1.78;color:#27363b;text-align:justify;margin:0 0 1.15rem}.content p:first-of-type{font-size:1.08rem}.statement{background:linear-gradient(135deg,rgba(234,244,243,.95),rgba(255,253,248,.92));border:1px solid #d5e6e3;border-left:5px solid var(--primary);border-radius:16px;padding:1rem 1.05rem;text-align:left!important;font-weight:650;color:#19353b}.statement.théorème,.statement.théoreme,.statement.proposition{border-left-color:var(--copper);background:linear-gradient(135deg,#fff6ef,#fffdf8)}.proof{color:#425057;background:#faf7ef;border:1px solid #eadfce;border-radius:14px;padding:1rem 1.05rem;text-align:left!important;font-size:.98rem}.formula{overflow:auto;margin:1.2rem 0;padding:1rem 1.1rem;border-radius:16px;background:#f0f7f6;border:1px solid #d9e8e5;font-family:'Cambria Math','DejaVu Serif',serif;text-align:center;font-size:1.08rem;color:#143d45}.table-wrap{overflow:auto;margin:1.25rem 0;border:1px solid var(--line);border-radius:16px;background:white}table{width:100%;border-collapse:collapse;background:white}th,td{border-bottom:1px solid var(--line);padding:.9rem;vertical-align:top;text-align:left}th{background:#edf5f4;color:var(--primary);font-size:.9rem}tr:last-child td{border-bottom:0}.endmark{margin-top:3rem!important;text-align:center!important;color:var(--muted);font-style:italic}.chapter-nav{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem}.chapter-nav a{max-width:48%;font-weight:800;color:var(--primary)}.toc-side a{display:block;color:var(--muted);font-size:.88rem;padding:.45rem 0;border-bottom:1px dashed rgba(100,112,119,.18);line-height:1.25}.toc-side a:hover{color:var(--copper);text-decoration:none}.site-footer{width:min(1500px,100%);margin:0 auto;border-top:1px solid var(--line);padding:2rem clamp(1rem,4vw,4rem);display:grid;grid-template-columns:minmax(260px,1.1fr) 1.3fr minmax(160px,.45fr);gap:2rem;align-items:center;background:rgba(255,253,248,.65)}.footer-brand{display:flex;align-items:center;gap:1rem}.footer-logo{width:64px;height:64px}.footer-brand strong{font-family:var(--serif);color:var(--primary);font-size:1.8rem;display:block;letter-spacing:-.025em}.footer-brand span{font-size:.9rem;color:var(--copper)}.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.footer-cols h4{margin:0 0 .45rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--primary)}.footer-cols a{display:block;color:#344146;font-size:.88rem;margin:.12rem 0}.footer-meta{display:flex;align-items:center;justify-content:flex-end;gap:1rem;color:#405056}.mini-orbit{width:90px;height:64px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 90'%3E%3Cg fill='none' stroke='%23c86f3f' opacity='.55'%3E%3Ccircle cx='48' cy='45' r='28'/%3E%3Cpath d='M8 56C46 20 72 72 112 38s34 8 42 2'/%3E%3C/g%3E%3Cg fill='%230e5260'%3E%3Ccircle cx='48' cy='45' r='4'/%3E%3Ccircle cx='112' cy='38' r='3'/%3E%3C/g%3E%3Cg fill='%23c86f3f'%3E%3Ccircle cx='28' cy='32' r='3'/%3E%3Ccircle cx='60' cy='68' r='3'/%3E%3C/g%3E%3Cg fill='%238a9c7b'%3E%3Ccircle cx='128' cy='52' r='3'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:white;padding:.7rem;z-index:999}.reading-tools{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.2rem 0 2rem}.reading-tools a{font-size:.9rem}.content .reading-tools{border-bottom:1px solid var(--line);padding-bottom:1rem} .figure{margin:2rem 0;padding:1.5rem 1.2rem 1.2rem;background:var(--paper);border:1px solid var(--line);border-radius:18px;text-align:center} .figure svg{display:block;margin:0 auto;max-width:100%;height:auto} .figure svg.svg-wide{display:block} .figure svg.svg-tall{display:none} .figure figcaption{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:.95rem;line-height:1.45;color:var(--muted);text-align:left} .figure figcaption strong{font-style:normal;color:var(--primary);font-weight:700} @media(max-width:760px){.figure{padding:1rem .8rem}.figure figcaption{font-size:.88rem}.figure svg.svg-wide{display:none}.figure svg.svg-tall{display:block}} @media(max-width:1200px){.header-inner{grid-template-columns:auto 1fr}.search{display:none}.hero{grid-template-columns:1fr}.hero-main{grid-template-columns:1fr;min-height:auto}.hero-art{position:relative;grid-row:2;width:100%;height:260px;margin-top:1rem}.repere-panel{display:grid;grid-template-columns:repeat(2,1fr)}.repere-panel h2,.quote{grid-column:1/-1}.reading-layout{grid-template-columns:1fr}.book-sidebar,.toc-side{position:static;max-height:none}.book-sidebar{display:grid;grid-template-columns:1.3fr .7fr;gap:1rem}.toc-side{display:none}.hero-cards{grid-template-columns:repeat(2,1fr)}} @media(max-width:760px){.header-inner{height:auto;display:block;padding:1rem}.brand{margin-bottom:.6rem}.brand-logo{width:44px;height:44px}.top-nav{justify-content:flex-start;gap:1rem;overflow:auto;padding-bottom:.2rem}.hero{padding-top:2rem}.hero h1{font-size:4rem}.hero-main{display:block}.hero-art{height:220px}.hero-cards{grid-template-columns:1fr}.repere-panel{grid-template-columns:1fr}.section-heading,.publication-strip,.site-footer,.footer-cols,.book-sidebar{display:block}.footer-cols{margin-top:1rem}.footer-meta{justify-content:flex-start}.content p{text-align:justify;text-justify:inter-word}.reading-layout{padding:1rem}.content{padding:1.25rem;border-radius:20px}.chapter-nav{display:block}.chapter-nav a{display:block;max-width:none;margin:.6rem 0}} @media print{.site-header,.book-sidebar,.toc-side,.site-footer,.chapter-nav,.search{display:none!important}body{background:white}.reading-layout{display:block;padding:0}.content{box-shadow:none;border:0;padding:0}.content p{text-align:left}a{color:inherit}} .brand{line-height:1;letter-spacing:0;white-space:nowrap} .brand span{white-space:nowrap} @media(max-width:760px){.brand{gap:.65rem;font-size:clamp(1.15rem,6vw,1.55rem)}} .content p{text-align:justify}:root{--bg-page:#fdfbf7;--bg-block:#faf6ee;--bg-accent:#fef3c7;--text-primary:#1c1917;--text-secondary:#525252;--text-muted:#737373;--terracotta:#b45309;--ocre:#854d0e;--olive:#365314;--border-soft:#e7e2d8;--border-strong:#d4cfc1;--font-body:'EB Garamond','Garamond','Georgia','Times New Roman',serif;--font-display:'EB Garamond','Georgia',serif;--font-ui:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;--bg:var(--bg-page);--paper:var(--bg-page);--paper-2:var(--bg-block);--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border-soft);--primary:var(--text-primary);--primary-2:var(--ocre);--copper:var(--terracotta);--sage:var(--olive);--aqua:var(--ocre);--soft-blue:var(--bg-block);--shadow:0 16px 42px rgba(28,25,23,.08);--radius:4px;--serif:var(--font-display);--sans:var(--font-ui)} html{font-size:17px} body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-weight:400} body:before{display:none} a{color:var(--terracotta)} .site-header{background:rgba(253,251,247,.94);backdrop-filter:none;border-bottom:1px solid var(--border-soft)} .header-inner{width:min(1840px,100%);height:88px;grid-template-columns:auto minmax(0,1fr) minmax(260px,390px);gap:2rem;padding:0 2rem} .brand{gap:1rem;color:var(--text-primary);font-family:var(--font-display);font-size:clamp(1.35rem,2.2vw,1.6rem);font-weight:400;letter-spacing:.05em;line-height:1} .brand-logo{width:54px;height:54px;object-fit:contain} .top-nav{justify-content:flex-end;gap:1.8rem;font-family:var(--font-ui)} .top-nav a{color:var(--text-secondary);font-size:.86rem;font-weight:400;letter-spacing:.02em} .top-nav a[aria-current="page"],.top-nav a:hover{color:var(--terracotta)} .top-nav a[aria-current="page"]:after{height:1px;background:var(--terracotta)} .search input{background:var(--bg-block);border-radius:4px;color:var(--text-primary);font-family:var(--font-ui)} .search-results{background:var(--bg-page);border-color:var(--border-soft);border-radius:4px;box-shadow:var(--shadow)} .result-title{color:var(--text-primary);font-family:var(--font-display);font-weight:500} .result-snippet{color:var(--text-secondary)} .home,.reading-layout,.site-footer{width:min(1840px,100%)} .home{padding:0 2rem} .content,.side-card,.part-card,.home-card,.publication-box,.repere-panel{background:var(--bg-page);border-color:var(--border-soft);border-radius:4px;box-shadow:none} .content{padding:clamp(1.4rem,4vw,4rem)} .content h1,.content h2,.section-heading h2,.home-card h2,.publication-box h3,.repere-panel h2{color:var(--text-primary);font-family:var(--font-display);font-weight:400;letter-spacing:-.01em} .content h1{font-size:clamp(2.6rem,5vw,4.8rem)} .content h2{border-top-color:var(--border-soft)} .content h3,.book-nav a span,.part-card small,.footer-brand span{color:var(--ocre)} .content p{font-size:1.03rem;line-height:1.78;text-align:justify;hyphens:auto;text-justify:inter-word} .statement{background:var(--bg-block);border:1px solid var(--border-soft);border-left:3px solid var(--ocre);border-radius:0 4px 4px 0;color:var(--text-primary)} .statement.théorème,.statement.théoreme,.statement.proposition{background:var(--bg-block);border-left-color:var(--terracotta)} .proof{background:var(--bg-block);border-color:var(--border-soft);border-radius:4px;color:var(--text-secondary)} .formula{background:var(--bg-accent);border-color:var(--border-soft);border-radius:4px;color:var(--ocre)} th{background:var(--bg-accent);color:var(--ocre)} .button{border-radius:4px;font-family:var(--font-ui)} .button.primary{background:var(--terracotta);border-color:var(--terracotta)} .home-card:hover,.part-card:hover{border-color:var(--terracotta)} .book-nav a.active{background:var(--terracotta);color:#fffdf8} .book-nav a.active span{color:#fef3c7} .repere-icon,.num{background:var(--terracotta)} .contexte,.home-card:nth-child(2) .num{background:var(--ocre)} .occurrence,.home-card:nth-child(3) .num{background:var(--olive)} .mouvement,.home-card:nth-child(4) .num{background:var(--terracotta)} .figure{background:var(--bg-page);border-color:var(--border-soft);border-radius:4px} .site-footer{background:var(--bg-block);border-top:1px solid var(--border-soft)} .footer-logo{object-fit:contain} .footer-brand strong{color:var(--text-primary);font-family:var(--font-display);font-weight:400;letter-spacing:.05em} @media(max-width:760px){html{font-size:16px} .header-inner{padding:1rem 1.2rem} .home{padding:0 1rem} .brand-logo{width:44px;height:44px} .top-nav{justify-content:flex-start;gap:1.2rem} .content p{text-align:justify;text-justify:inter-word}} .hero{grid-template-columns:minmax(0,1.42fr) minmax(300px,.58fr);align-items:stretch;gap:clamp(1.1rem,1.8vw,2rem);padding-top:clamp(1.6rem,4.2vw,3.4rem)} .hero-main{min-height:clamp(390px,32vw,470px);grid-template-columns:minmax(300px,.72fr) minmax(300px,.78fr)} .home-page .hero h1{font-size:clamp(3rem,5.7vw,5.5rem);line-height:.92;margin-bottom:1rem} .home-page .hero-subtitle{max-width:520px;font-size:clamp(1.25rem,1.8vw,1.82rem)} .home-page .hero-lead{max-width:520px} .home-page .hero-art{top:50%;width:min(620px,58%);height:clamp(320px,29vw,430px);transform:translateY(-50%)} .hero-cards{grid-column:1/-1;margin-top:.4rem} .book-architecture{grid-column:1/-1;width:min(100%,58rem);margin:1.1rem auto 0;color:var(--text-primary);min-width:0} .book-architecture h2{margin:0 0 1rem;color:var(--olive);font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.65rem);font-weight:700;line-height:1.12;text-align:center} .movement-card{margin:.72rem 0;padding:.8rem 1.25rem 1rem;border:2px solid var(--terracotta);border-radius:4px;background:rgba(253,251,247,.62);text-align:center;min-width:0} .movement-card h3{margin:0;color:var(--terracotta);font-family:var(--font-display);font-size:1.08rem;font-weight:700;line-height:1.18;overflow-wrap:break-word;text-wrap:balance} .movement-card h3 span{white-space:nowrap} .movement-card p{margin:.25rem 0 .65rem;color:var(--text-secondary);font-family:var(--font-display);font-size:.9rem;font-style:italic;line-height:1.2} .movement-links{display:grid;gap:.55rem;padding-top:.7rem;border-top:1px dashed rgba(180,83,9,.42)} .movement-links-3{grid-template-columns:repeat(3,minmax(0,1fr))} .movement-links-4{grid-template-columns:repeat(4,minmax(0,1fr))} .movement-links a{min-height:2.1rem;display:flex;align-items:center;justify-content:center;padding:.35rem .55rem;border:1px solid var(--ocre);border-radius:4px;background:var(--bg-accent);color:var(--text-primary);font-family:var(--font-display);font-size:.88rem;font-weight:500;line-height:1.1;text-align:center;text-decoration:none;min-width:0;overflow-wrap:break-word} .movement-links a:hover,.movement-links a:focus-visible{border-color:var(--terracotta);background:#fff8d8;color:var(--terracotta);text-decoration:none} .movement-links a.featured{border-color:var(--olive);background:#fff8c8;color:var(--olive);font-weight:700} .movement-card-final{border-color:var(--olive);background:rgba(254,243,199,.6)} .movement-card-final h3{color:var(--olive)} .movement-card-final .movement-links{border-top-color:rgba(54,83,20,.38)} .movement-card-final .movement-links a{border-color:var(--olive);background:rgba(253,251,247,.78)} .architecture-note{margin:.7rem 0 0;color:var(--text-secondary);font-family:var(--font-display);font-size:.9rem;font-style:italic;line-height:1.3;text-align:center} .home-page .button-row{flex-wrap:nowrap;align-items:center} .home-page .button-row .button{min-height:48px;justify-content:center;white-space:nowrap} .home-card{min-height:220px;padding:1rem} .card-visual{height:86px;margin:0 0 .85rem} .repere-panel{align-self:stretch;min-height:clamp(390px,32vw,470px);overflow:hidden;padding:1.25rem;gap:.75rem} .repere-panel h2{font-size:1.55rem} .repere{grid-template-columns:46px 1fr;gap:.7rem} .repere-icon{width:46px;height:46px;font-size:1.25rem} .repere strong{font-size:1.08rem} .repere small{font-size:.82rem;line-height:1.25} .quote{margin-top:auto;padding:.85rem .35rem;font-size:.98rem} @media(max-width:1200px){.hero{grid-template-columns:1fr} .hero-main{min-height:auto} .home-page .hero-art{transform:none} .repere-panel{min-height:0;overflow:visible} .quote{margin-top:.3rem} .book-architecture{width:100%} .movement-links-3,.movement-links-4{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(max-width:760px){.book-architecture h2{font-size:1.05rem;text-align:center} .movement-card{padding:.72rem .6rem .82rem} .movement-card h3{font-size:.98rem} .movement-card h3 span{white-space:normal} .movement-links-3,.movement-links-4{grid-template-columns:1fr} .movement-links a{min-height:2.35rem;font-size:.9rem}} .reading-page .header-inner{width:min(1840px,100%)} .reading-page .reading-layout{width:min(1840px,100%);grid-template-columns:minmax(250px,320px) minmax(0,1fr) minmax(220px,300px);gap:clamp(1rem,1.7vw,2rem);padding:clamp(1rem,2.2vw,2.5rem) clamp(1rem,3vw,3rem)} .reading-page .content{max-width:none;width:100%} .reading-page .book-sidebar,.reading-page .toc-side{scrollbar-color:rgba(28,25,23,.38) transparent} .drawer-toggle,.drawer-backdrop{display:none} @media(max-width:1280px){body.drawer-left-open,body.drawer-right-open{overflow:hidden} .reading-page .reading-layout{width:min(1080px,100%);display:block;padding:1rem clamp(1rem,4vw,2rem) 3rem} .reading-page .content{margin:0 auto} .reading-page .book-sidebar,.reading-page .toc-side{position:fixed;top:0;bottom:0;z-index:130;width:min(380px,88vw);height:100dvh;max-height:100dvh;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:1rem;background:var(--bg-page);transform:none;transition:left .24s ease,right .24s ease,box-shadow .24s ease} .reading-page .book-sidebar{left:max(-380px,-88vw);display:block;border-right:1px solid var(--border-soft)} .reading-page .toc-side{right:max(-380px,-88vw);display:block;border-left:1px solid var(--border-soft)} body.drawer-left-open .book-sidebar{left:0;box-shadow:0 18px 70px rgba(28,25,23,.22)} body.drawer-right-open .toc-side{right:0;box-shadow:0 18px 70px rgba(28,25,23,.22)} .reading-page .book-sidebar.drawer-open{left:0!important;box-shadow:0 18px 70px rgba(28,25,23,.22)} .reading-page .toc-side.drawer-open{right:0!important;box-shadow:0 18px 70px rgba(28,25,23,.22)} .drawer-backdrop{position:fixed;inset:0;z-index:120;display:block;background:rgba(28,25,23,.28);backdrop-filter:blur(2px)} .drawer-backdrop[hidden]{display:none} .drawer-toggle{position:fixed;top:104px;z-index:125;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border-soft);border-radius:4px;background:rgba(253,251,247,.96);color:var(--ocre);box-shadow:0 8px 22px rgba(28,25,23,.08);cursor:pointer} .drawer-toggle:hover{border-color:var(--terracotta);color:var(--terracotta)} .drawer-toggle-left{left:.8rem} .drawer-toggle-right{right:.8rem} .drawer-icon-menu,.drawer-icon-toc{position:relative;display:block;width:18px;height:14px} .drawer-icon-menu:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:currentColor;box-shadow:0 6px 0 currentColor,0 12px 0 currentColor} .drawer-icon-toc:before{content:"";position:absolute;left:5px;right:0;top:0;height:2px;background:currentColor;box-shadow:0 6px 0 currentColor,0 12px 0 currentColor} .drawer-icon-toc:after{content:"";position:absolute;left:0;top:0;width:2px;height:2px;background:currentColor;box-shadow:0 6px 0 currentColor,0 12px 0 currentColor}} @media(max-width:760px){.drawer-toggle{top:auto;bottom:1rem} .drawer-toggle-left{left:.6rem} .drawer-toggle-right{right:.6rem} .reading-page .reading-layout{padding:.75rem .75rem 2.5rem}} .content p{text-align:justify;text-justify:inter-word;hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal} .site-plan{margin:1.6rem 0 2.4rem;display:grid;gap:1rem} .plan-node{display:block;padding:1rem 1.1rem;border:1px solid var(--border-soft);border-radius:4px;background:var(--bg-block);color:var(--text-primary);text-decoration:none} .plan-node:hover,.plan-parts a:hover{border-color:var(--terracotta);color:var(--text-primary);text-decoration:none} .plan-node span{display:block;font-family:var(--font-display);font-size:1.28rem;line-height:1.1} .plan-node small{display:block;margin-top:.35rem;color:var(--text-secondary);font-family:var(--font-ui);font-size:.78rem} .plan-root{position:relative;justify-self:center;min-width:min(260px,100%);text-align:center;background:var(--bg-accent);border-color:var(--border-strong)} .plan-root:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:1rem;background:var(--border-strong)} .plan-branches{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:1rem} .plan-branches:before{content:"";position:absolute;left:16.66%;right:16.66%;top:.5rem;height:1px;background:var(--border-strong)} .plan-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin-top:.4rem} .plan-parts a{min-height:58px;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:.55rem;padding:.7rem .75rem;border:1px solid var(--border-soft);border-radius:4px;background:var(--bg-page);color:var(--text-primary);text-decoration:none;line-height:1.15} .plan-parts span{color:var(--ocre);font-family:var(--font-display);font-weight:600} @media(max-width:760px){.plan-branches{grid-template-columns:1fr} .plan-root:after,.plan-branches:before{display:none} .plan-parts{grid-template-columns:1fr}} @media(max-width:1200px){.header-inner,.reading-page .header-inner{width:100%;height:auto;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand nav" "search search";align-items:center;gap:.65rem 1.2rem;padding:.8rem clamp(1rem,3vw,1.6rem)} .brand{grid-area:brand;min-width:0;margin:0;font-size:clamp(1.15rem,2.4vw,1.45rem)} .brand-logo{width:46px;height:46px} .top-nav{grid-area:nav;justify-content:flex-end;gap:.25rem;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 1rem,#000 calc(100% - 1rem),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 1rem,#000 calc(100% - 1rem),transparent 100%)} .top-nav::-webkit-scrollbar{display:none} .top-nav a{flex:0 0 auto;white-space:nowrap;padding:.45rem .55rem} .search{grid-area:search;display:block} .search input{height:40px;padding:.55rem .8rem} .search-results{left:0;right:auto;width:min(680px,100%)} .drawer-toggle{top:132px}} @media(max-width:760px){body{overflow-x:hidden} .home{width:auto;max-width:none;overflow:hidden} .home-page .hero{display:block} .home-page .hero,.home-page .hero-main,.home-page .hero-copy{width:100%;min-width:0;max-width:100%} .home-page .hero-subtitle,.home-page .hero-lead{max-width:100%;overflow-wrap:break-word} .button-row{display:flex;flex-wrap:nowrap;gap:.55rem} .home-page .button-row{display:flex;flex-wrap:nowrap;width:calc(100vw - 2rem);max-width:100%} .button-row .button{flex:0 1 calc(50% - .275rem);width:auto;max-width:calc(50% - .275rem);min-width:0;justify-content:center;min-height:46px;padding:.66rem .55rem;font-size:clamp(.78rem,3.35vw,.94rem);line-height:1.1;white-space:normal;text-align:center} .home-page .button-row .button{flex:0 1 calc(50% - .275rem);min-width:0;max-width:calc(50% - .275rem);white-space:normal} .header-inner,.reading-page .header-inner{grid-template-columns:1fr;grid-template-areas:"brand" "nav" "search";gap:.6rem;padding:.85rem 1rem} .brand{font-size:clamp(1.15rem,5.4vw,1.35rem)} .brand-logo{width:42px;height:42px} .top-nav{justify-content:flex-start;gap:.35rem;margin:0 -1rem;padding:.05rem 1rem .25rem;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 1.6rem),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 1.6rem),transparent 100%)} .top-nav a{min-height:34px;display:inline-flex;align-items:center;border:1px solid var(--border-soft);border-radius:4px;background:var(--bg-block);padding:.38rem .55rem;font-size:.76rem} .top-nav a[aria-current="page"]:after{display:none} .search input{height:38px;font-size:.88rem} .search-results{width:100%;max-height:58vh}} .parts-carousel{position:relative;max-width:min(100%,70rem);margin:1.1rem auto 0;--carousel-accent:var(--terracotta)} .carousel-viewport{overflow:hidden;border:1px solid var(--border-soft);border-radius:4px;background:var(--bg-page)} .carousel-track{display:flex;transition:transform .62s cubic-bezier(.22,.78,.2,1);will-change:transform} .part-slide{position:relative;flex:0 0 100%;min-height:clamp(310px,30vw,440px);overflow:hidden;display:flex;align-items:flex-start;isolation:isolate;padding:clamp(.85rem,2vw,1.6rem);background:var(--bg-block)} .part-slide:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(253,251,247,.84) 0%,rgba(253,251,247,.62) 22%,rgba(253,251,247,.22) 38%,rgba(253,251,247,.04) 56%,rgba(253,251,247,0) 72%),linear-gradient(0deg,rgba(253,251,247,.16) 0%,rgba(253,251,247,.03) 36%,transparent 62%);pointer-events:none} .part-slide:after{content:"";position:absolute;inset:auto 0 0 0;z-index:1;height:24%;background:linear-gradient(0deg,rgba(28,25,23,.07),transparent);pointer-events:none} .part-backdrop{position:absolute;z-index:0;inset:0;width:100%;height:100%;margin:0;opacity:.92;background-repeat:no-repeat;background-position:center;background-size:cover;filter:saturate(1.9) contrast(1.45) brightness(.92);mix-blend-mode:multiply;transform:scale(1.04);transition:opacity .5s ease,transform .7s ease,filter .5s ease;pointer-events:none} .part-backdrop.fit-figure{background-size:auto var(--part-fit-height,96%);transform:none} .part-slide.is-active .part-backdrop{opacity:1;animation:partBackdropDrift 10s ease-in-out infinite} .part-slide.is-active .part-backdrop.fit-figure{animation:none;transform:none} .part-slide-content{position:relative;z-index:2;max-width:min(400px,34%);margin-top:clamp(.6rem,2.8vw,2.4rem);transform:translateY(12px);opacity:.45;text-shadow:0 2px 18px rgba(253,251,247,.92);transition:opacity .45s ease,transform .55s ease} .part-slide.is-active .part-slide-content{transform:translateY(0);opacity:1} .part-slide small{display:inline-flex;min-width:2.55rem;min-height:2.55rem;align-items:center;justify-content:center;margin-bottom:.7rem;border:1px solid var(--border-strong);background:var(--bg-accent);color:var(--ocre);font-family:var(--font-display);font-size:1rem;line-height:1} .part-slide h3{max-width:760px;margin:0 0 .65rem;color:var(--text-primary);font-family:var(--font-display);font-size:clamp(1.75rem,3.35vw,3.15rem);font-weight:400;line-height:.98;letter-spacing:-.01em;text-wrap:balance} .part-slide p{max-width:360px;margin:0 0 1rem;color:var(--text-secondary);font-size:clamp(.94rem,1.15vw,1.04rem);line-height:1.45} .carousel-button{position:absolute;top:1rem;z-index:2;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--border-soft);border-radius:4px;background:rgba(253,251,247,.92);color:var(--ocre);box-shadow:0 12px 28px rgba(28,25,23,.1);cursor:pointer;transform:none} .carousel-button:hover,.carousel-button:focus-visible{border-color:var(--terracotta);color:var(--terracotta)} .carousel-button span{display:block;margin-top:-.08rem;font-family:var(--font-display);font-size:2.4rem;line-height:1} .carousel-button-prev{right:4.35rem} .carousel-button-next{right:.85rem} .carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.85rem} .carousel-dots{display:flex;flex-wrap:wrap;gap:.42rem} .carousel-dot{width:2rem;height:.34rem;border:0;border-radius:999px;background:var(--border-strong);cursor:pointer;transition:width .24s ease,background .24s ease} .carousel-dot.is-active{width:3.2rem;background:var(--terracotta)} .carousel-status{color:var(--text-secondary);font-family:var(--font-ui);font-size:.78rem} .carousel-progress{height:2px;margin-top:.8rem;overflow:hidden;background:var(--border-soft)} .carousel-progress span{display:block;width:100%;height:100%;background:var(--terracotta);transform:scaleX(.07);transform-origin:left center;transition:transform .42s ease} @keyframes partBackdropDrift{0%,100%{transform:scale(1.04)} 50%{transform:scale(1.08)}} @media(max-width:760px){.part-slide{min-height:330px;padding:.85rem} .part-slide:before{background:linear-gradient(0deg,rgba(253,251,247,.96) 0%,rgba(253,251,247,.78) 34%,rgba(253,251,247,.24) 62%,rgba(253,251,247,.02) 100%),linear-gradient(90deg,rgba(253,251,247,.68),rgba(253,251,247,.06))} .part-backdrop{width:100%;height:100%;opacity:.94;background-position:center;background-size:cover} .part-backdrop.fit-figure{background-size:auto var(--part-fit-height-mobile,92%)} .part-slide-content{max-width:100%;margin-top:3rem} .part-slide h3{font-size:clamp(1.75rem,9vw,2.55rem)} .carousel-button{top:.85rem;bottom:auto;width:42px;height:42px;transform:none} .carousel-button-prev{left:.85rem;right:auto} .carousel-button-next{left:3.95rem;right:auto} .carousel-controls{display:grid;grid-template-columns:1fr auto;align-items:flex-start} .carousel-dots{gap:.34rem} .carousel-dot{width:1.15rem} .carousel-dot.is-active{width:2rem}} @media(prefers-reduced-motion:reduce){.carousel-track,.part-slide-content,.part-backdrop,.carousel-dot,.carousel-progress span{transition:none} .part-slide.is-active .part-backdrop{animation:none}} .home-page .hero-actions{display:grid;grid-template-columns:max-content max-content;width:max-content;max-width:100%;gap:.7rem} .home-page .hero-actions .button{display:flex;min-height:48px;justify-content:center;justify-self:stretch;max-width:none;white-space:nowrap} .reading-page #top,.reading-page .content h1,.reading-page .content h2,.reading-page .content h3{scroll-margin-top:128px} .reading-page .book-sidebar,.reading-page .toc-side{max-height:calc(100dvh - 112px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin} .reading-page .toc-side{padding-right:.35rem} .reading-page .toc-side .side-card{margin-bottom:0} .reading-page .content .reading-tools{position:sticky;top:96px;z-index:44;display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:0 0 2rem;padding:.8rem 0 1rem;background:linear-gradient(180deg,var(--bg-page) 0%,rgba(253,251,247,.96) 76%,rgba(253,251,247,0) 100%);border-bottom:1px solid var(--border-soft)} .reading-page .content .reading-tools a[href="#top"]{background:var(--terracotta);border-color:var(--terracotta);color:#fffdf8;box-shadow:none} @media(max-width:1280px){.reading-page .book-sidebar,.reading-page .toc-side{height:100dvh;max-height:100dvh;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}} @media(max-width:1200px){html{scroll-padding-top:160px} .reading-page .content .reading-tools{top:138px} .reading-page #top,.reading-page .content h1,.reading-page .content h2,.reading-page .content h3{scroll-margin-top:170px}} @media(max-width:760px){html{scroll-padding-top:120px} .reading-page .content .reading-tools{top:112px;gap:.45rem;padding:.65rem 0 .85rem} .reading-page #top,.reading-page .content h1,.reading-page .content h2,.reading-page .content h3{scroll-margin-top:130px} .reading-page .content .reading-tools a[href="#top"]{padding:.68rem .78rem;font-size:.82rem} .home-page .hero-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-width:22rem;gap:.55rem} .home-page .hero-actions .button{display:flex;width:100%;min-width:0;max-width:none;min-height:46px;padding:.66rem .5rem;font-size:clamp(.76rem,3.2vw,.9rem);line-height:1.1;white-space:normal;text-align:center}}
