
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,400&family=Lato:wght@300;400;700&family=Fira+Code:wght@400;500&display=swap');
:root{--white:#ffffff;--cream:#fff8f5;--linen:#fdf0ea;--rose:#f8ddd5;--coral:#e87060;--blush:#d04858;--mauve:#8a2840;--teal:#2a7878;--sage:#5a9870;--text:#3a2830;--muted:#8a6070;--dark:#281820;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}
body{font-family:'Lato',sans-serif;background:var(--cream);color:var(--text);min-height:100vh;}
#prog{position:fixed;top:0;left:0;height:3px;background:linear-gradient(to right,var(--coral),var(--blush),var(--mauve));z-index:1000;width:0%;}
#bt{position:fixed;bottom:28px;right:28px;width:44px;height:44px;background:var(--mauve);border:none;color:white;font-size:.9rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .25s;z-index:999;text-decoration:none;}
#bt.on{opacity:1;pointer-events:auto;}#bt:hover{transform:translateY(-3px);}
.nav{background:var(--dark);border-bottom:3px solid var(--coral);padding:10px 28px;display:flex;align-items:center;justify-content:space-between;}
.nav .bc{font-family:'Fira Code',monospace;font-size:.6rem;color:rgba(232,112,96,.6);letter-spacing:.12em;}
.nav .bc .s{color:rgba(232,112,96,.22);margin:0 8px;}
.nav .dept{font-family:'Playfair Display',serif;font-style:italic;font-size:.9rem;color:#f0b8a8;}
.hero{position:relative;min-height:540px;display:flex;align-items:flex-end;overflow:hidden;}
.anat-bg{position:absolute;inset:0;background:linear-gradient(160deg,#fff8f5 0%,#fdf0ea 35%,#fceae0 60%,#f8e0d8 100%);}
.anat-svg{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);width:min(680px,85vw);}
.ground{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,rgba(253,240,234,.98) 0%,rgba(253,240,234,.7) 60%,transparent);}
.hero-txt{position:relative;z-index:2;width:100%;padding:38px 44px 50px;background:linear-gradient(to top,rgba(253,240,234,.98) 0%,rgba(253,240,234,.65) 55%,transparent);}
.hero-eyebrow{font-family:'Fira Code',monospace;font-size:.62rem;color:var(--blush);letter-spacing:.22em;margin-bottom:10px;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(3.5rem,8vw,6.5rem);font-weight:900;color:var(--dark);line-height:.88;}
.hero h1 em{display:block;font-style:italic;font-size:.32em;font-weight:400;color:var(--coral);letter-spacing:.08em;margin-bottom:7px;}
.hero-sub{margin-top:12px;font-size:1.05rem;color:rgba(58,40,48,.75);max-width:540px;line-height:1.78;font-weight:300;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.chip{padding:5px 14px;border:1.5px solid;font-family:'Fira Code',monospace;font-size:.6rem;letter-spacing:.1em;border-radius:20px;}
.ch-c{border-color:rgba(232,112,96,.45);color:var(--coral);background:rgba(232,112,96,.08);}
.ch-m{border-color:rgba(138,40,64,.4);color:var(--mauve);}
.main{max-width:1100px;margin:0 auto;padding:0 24px 80px;}
.intro{background:white;border:2px solid rgba(232,112,96,.2);border-top:5px solid var(--coral);padding:26px 42px;margin-bottom:36px;border-radius:0 0 6px 6px;}
.intro p{font-size:1.04rem;color:var(--text);line-height:1.85;}
.intro strong{color:var(--blush);}
.grid{display:grid;grid-template-columns:1fr 320px;gap:32px;}
.sh{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:700;color:var(--blush);margin:44px 0 14px;padding-bottom:8px;border-bottom:2px solid rgba(232,112,96,.25);display:flex;align-items:center;gap:12px;}
.sh:first-child{margin-top:0;}
.mc p{font-size:1rem;color:var(--text);line-height:1.88;margin-bottom:14px;}
.mc strong{color:var(--dark);}
.fonctions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;}
.fn{background:white;border:1.5px solid rgba(232,112,96,.18);border-top:4px solid var(--coral);border-radius:4px;padding:14px;opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s;}
.fn.on{opacity:1;transform:translateY(0);}
.fn h4{font-family:'Playfair Display',serif;font-size:.97rem;color:var(--blush);margin-bottom:4px;}
.fn p{font-size:.84rem!important;color:var(--muted)!important;margin:0!important;line-height:1.5!important;}
.dt{width:100%;border-collapse:collapse;margin:16px 0;font-size:.87rem;}
.dt thead th{background:var(--blush);color:white;padding:9px 13px;text-align:left;font-family:'Fira Code',monospace;font-size:.63rem;letter-spacing:.1em;}
.dt td{padding:8px 13px;border-bottom:1px solid rgba(232,112,96,.12);color:var(--text);}
.dt tr:nth-child(even) td{background:rgba(232,112,96,.04);}
.dt td:first-child{font-family:'Fira Code',monospace;color:var(--blush);font-size:.77rem;}
.tl{position:relative;padding-left:26px;margin:14px 0;}
.tl::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--coral),var(--blush),var(--mauve),transparent);}
.tl-item{position:relative;margin-bottom:17px;opacity:0;transform:translateX(-10px);transition:opacity .45s,transform .45s;}
.tl-item.on{opacity:1;transform:translateX(0);}
.tl-item::before{content:'';position:absolute;left:-21px;top:6px;width:9px;height:9px;background:var(--coral);border-radius:50%;border:2px solid white;box-shadow:0 0 0 2px var(--coral);}
.tl-yr{font-family:'Fira Code',monospace;font-size:.66rem;color:var(--blush);font-weight:500;letter-spacing:.12em;margin-bottom:1px;}
.tl-item p{font-size:.97rem!important;margin:0!important;line-height:1.6!important;}
.vocab{list-style:none;}
.vocab li{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid rgba(232,112,96,.12);opacity:0;transform:translateX(-8px);transition:opacity .4s,transform .4s;}
.vocab li.on{opacity:1;transform:translateX(0);}
.vocab li:last-child{border-bottom:none;}
.vt{font-family:'Fira Code',monospace;font-size:.71rem;color:var(--coral);min-width:130px;flex-shrink:0;}
.vd{font-size:.92rem;color:var(--text);}
.scard{background:white;border:1.5px solid rgba(232,112,96,.18);border-radius:6px;padding:18px;margin-bottom:16px;position:relative;}
.scard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--coral),var(--mauve));border-radius:6px 6px 0 0;}
.scard h3{font-family:'Playfair Display',serif;font-size:1rem;color:var(--blush);margin-bottom:12px;padding-bottom:7px;border-bottom:1px solid rgba(232,112,96,.15);}
.kl{list-style:none;}
.kl li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(232,112,96,.1);}
.kl li:last-child{border-bottom:none;}
.kk{font-size:.8rem;color:var(--muted);}
.kv{font-family:'Fira Code',monospace;font-size:.82rem;color:var(--blush);}
footer{background:var(--dark);border-top:3px solid var(--coral);padding:20px 44px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.fb{font-family:'Playfair Display',serif;font-style:italic;font-size:.95rem;color:#f0b8a8;}
.fm{font-family:'Fira Code',monospace;font-size:.6rem;color:rgba(240,184,168,.35);text-align:right;line-height:1.8;}
@media(max-width:820px){.grid{grid-template-columns:1fr;}.fonctions{grid-template-columns:1fr;}.hero-txt{padding:28px 20px 34px;}}
