/* Carnet bleu : une identité vivante, des pages et des souvenirs. */
:root{--paper:#edf6ff;--ink:#214b76;--muted:#526d85;--rule:#c5dcef;--accent:#d35f46;--serif:'Caveat','Segoe Print',cursive}
body{background:#aaccec;font-size:16px}
.notebook{max-width:none;margin:0;background-color:#f2f8ff;background-image:linear-gradient(#82b4e518 1px,transparent 1px),linear-gradient(90deg,#82b4e518 1px,transparent 1px);background-size:28px 28px;box-shadow:none;border-radius:0;overflow:hidden}
.notebook::before{background:#e9806a55;width:2px;left:calc(var(--gutter)*.48)}
.header-inner{padding-top:27px;padding-bottom:24px;background:#f6fbffb8}
.brand strong{font-weight:750}.brand{font-size:15px}.brand img{width:50px;height:50px}
nav{font-size:14px}nav a{padding:9px 6px}nav a:last-child{background:#f8dc79;padding:8px 19px;border-radius:9px 15px 8px 12px;transform:rotate(-2deg);box-shadow:2px 3px 0 #d8b85936}
.welcome{grid-template-columns:43% 57%;min-height:690px;padding-top:38px;padding-bottom:83px;isolation:isolate}
.welcome-copy{padding-top:20px;padding-bottom:30px}
.welcome-copy>.eyebrow{display:inline-block;padding:7px 13px;color:#316c9e;background:#d7eafc;letter-spacing:1.4px;font-size:11px;border-radius:5px;transform:rotate(-2deg);margin-bottom:25px}
.welcome h1{font-family:var(--hand);font-size:clamp(68px,6.4vw,108px);font-weight:650;line-height:.98;letter-spacing:-2px}
.welcome h1 em{font-weight:650;font-style:normal;color:#d45f43}
.welcome h1 em::after{height:15px;background:#f7d76395;bottom:3px;border:0;border-radius:4px;z-index:-1;transform:rotate(-3deg)}
.welcome-copy .lead{font-size:17px;line-height:1.8;margin:27px 0;max-width:420px}
.welcome-copy>.text-link{font-family:var(--hand);font-size:27px;background:#2b689c;color:white;border:0;padding:10px 23px;border-radius:9px 16px 10px 14px;box-shadow:3px 5px 0 #b3cfe9;transform:rotate(-1deg);transition:transform .2s,box-shadow .2s}
.welcome-copy>.text-link:hover{transform:translateY(-3px) rotate(0);box-shadow:3px 8px 0 #b3cfe9}
.welcome-art{margin:0 -35px 0 -5px;padding:12px 12px 52px;background:#fffefb;border:1px solid #e0e9ed;transform:rotate(2deg);box-shadow:4px 12px 30px #31527024;align-self:center;z-index:0}
.welcome-art::before{content:'';position:absolute;top:-18px;left:42%;width:115px;height:34px;background:#efd77abf;transform:rotate(-7deg);z-index:2;box-shadow:0 1px 2px #31527012}
.welcome-art img{width:100%;height:auto;mix-blend-mode:normal;mask-image:none;border-radius:2px}
.welcome-art figcaption{font:500 27px/1.2 var(--hand);color:#3b779f;text-align:center;position:absolute;bottom:13px;left:10px;right:10px;margin:0;transform:rotate(-1deg)}
.welcome-art .illustration-credit{position:static;display:block;font:11px 'Segoe UI',sans-serif;color:#687e8f;text-align:right;margin-top:7px}
.page-footnote{color:#5c7d99;font-size:11px}.page-footnote a{font:500 24px var(--hand)}
.journal-section{background:#deedfc;background-image:repeating-linear-gradient(transparent 0,transparent 35px,#6f9dca20 35px,#6f9dca20 36px);border-top:2px dashed #8fb6d7;padding-top:54px}
.journal-section .section-heading h2{font-size:76px;color:#265c8a}.journal-section .section-heading .eyebrow{color:#c76145;font-size:28px}
.section-heading>.text-link{background:#fff8df;padding:8px 15px;border:0;box-shadow:2px 4px 0 #b4cde45c;transform:rotate(2deg);font:500 24px var(--hand)}
.news-card{background:#fffefa;border:0;padding:20px 20px 27px;box-shadow:4px 9px 18px #345b8020;transition:transform .2s,box-shadow .2s;border-radius:2px}
.news-card:nth-child(3n+1){transform:rotate(-2deg)}.news-card:nth-child(3n+2){transform:rotate(1.7deg)}.news-card:nth-child(3n){transform:rotate(-.6deg)}
.news-card::before{width:16px;height:16px;left:calc(50% - 8px);top:-7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffbfa8,#df6249 60%,#a7402b);box-shadow:2px 4px 4px #35516d50;transform:none}
.news-card:hover{transform:translateY(-5px);box-shadow:4px 15px 24px #345b8030}
.news-image>img{border:0;box-shadow:none}.news-card h3{color:#2b6492;font-size:35px}.news-card>p{font-size:15px}.news-meta{font-size:12px}.news-card>.text-link{color:#c45c43}
.journal-blank{background:#ffffff91;padding:30px 40px;box-shadow:3px 7px 0 #b8d3e95e;border-radius:3px;transform:rotate(-.7deg)}
.blank-message{border-left:4px solid #f0cb59;padding:18px 25px}.blank-message h3{color:#2d6c9f;font-size:49px}.blank-message p{font-size:14px}
.ink-page{background-color:#f4f9ff}.chapter-heading h1{color:#2e6d9f}.chapter-heading .hand-note{color:#cd694e}
.paper-stamp{border-color:#cf694b;color:#cf694b;background:#fff3cc9c}
.chapter-art{padding:13px 13px 25px;background:#fffefb;box-shadow:5px 9px 25px #345b8020;transform:rotate(2deg);position:relative}
.chapter-art::before{content:'';position:absolute;top:-13px;left:40%;width:90px;height:26px;background:#f2db8bc9;transform:rotate(-6deg)}
.chapter-art img{mix-blend-mode:normal}.chapter-art figcaption{color:#3977a6}
.care-notes article{padding:29px 25px;background:#fff5c9;box-shadow:3px 7px 0 #cadff057;transform:rotate(-1.5deg)}
.care-notes article:nth-child(2){background:#dceff4;transform:rotate(1.2deg)}.care-notes article:nth-child(3){background:#fbe6df;transform:rotate(-.8deg)}
.care-notes article::before{background:#c873564f;top:-9px;left:32%;height:24px;width:74px;transform:rotate(-3deg)}
.care-notes p{font-size:16px}.care-notes h2{font-size:35px}.hand-number{color:#bd664d}
.letter-sheet{background:#fffef8;box-shadow:5px 12px 30px #3c668023;transform:rotate(-.5deg);border:1px solid #e2e9e9}
.paper-note{background:#fff0bd;padding:27px;border:0;box-shadow:4px 8px 0 #d4e5f3;transform:rotate(1deg)}
.site-footer{margin:0;padding:45px var(--gutter) 26px;background:#cfe4f7;border-top:2px dashed #90b5d4}
.handwritten-footer .footer-contact>p{font-size:38px;color:#316c9c}.footer-contact>a{color:#be6048}.footer-bottom{font-size:12px;border-top-color:#aac9e2}.footer-contact .ink-link{background:#fff1b6;box-shadow:3px 4px 0 #aecbe0;border:0;padding:13px 24px}
@media(min-width:1800px){.welcome{min-height:760px}.welcome-art{max-width:960px}}
@media(max-width:1100px){.notebook{margin:0;border-radius:0}.welcome{min-height:610px}.welcome h1{font-size:76px}.welcome-art{margin-right:-10px}.welcome-copy .lead{font-size:15px}.welcome-art figcaption{font-size:23px}}
@media(max-width:760px){body{background:var(--paper)}.notebook{box-shadow:none}.welcome{display:grid;grid-template-columns:1fr;padding-top:17px;padding-bottom:75px;gap:16px;min-height:0}.welcome-copy{padding:18px 0}.welcome h1{font-size:clamp(62px,12vw,85px);letter-spacing:-1px}.welcome-copy>.eyebrow{font-size:10px}.welcome-copy .lead{font-size:16px;max-width:100%;margin:23px 0}.welcome-art{width:calc(100% - 8px);margin:7px auto 18px;padding:9px 9px 46px;transform:rotate(1.2deg)}.welcome-art figcaption{font-size:24px}.welcome-art::before{width:85px;height:25px;top:-12px}.page-footnote{font-size:10px}.page-footnote a{font-size:19px}.page-footnote>span:first-child{display:none}.journal-section{padding-block:40px}.journal-section .section-heading h2{font-size:60px}.section-heading>.text-link{font-size:20px}.journal-blank{padding:20px 17px;transform:none}.blank-message{padding-left:17px}.blank-message h3{font-size:40px}.news-card:nth-child(n){transform:none}.care-notes article:nth-child(n){transform:none;margin-bottom:16px}.letter-sheet{transform:none}.site-footer{padding:35px var(--gutter) 25px}.header-inner{background:#edf6ff}nav a:last-child{transform:none}.chapter-art{margin:15px 5px}.welcome-copy>.text-link{font-size:26px}}
@media(prefers-reduced-motion:reduce){.welcome-copy>.text-link,.news-card{transition:none}.news-card:hover,.welcome-copy>.text-link:hover{transform:none}}


.login-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;min-height:650px}
.login-intro h1{font:650 clamp(52px,5.5vw,88px)/1.05 var(--hand);margin:20px 0}
.login-intro>p{font-size:17px;max-width:430px;color:var(--muted);margin:22px 0}
.login-sheet{padding:38px;background:#fffefa;box-shadow:5px 10px 30px #31527020;border:1px solid #d4e0e8;border-radius:8px;position:relative}
.login-sheet::before{content:'';position:absolute;width:100px;height:26px;top:-12px;left:38%;background:#f2d985c9;transform:rotate(-5deg)}
.login-sheet h2{font:600 44px var(--hand);margin:0 0 25px}
.login-sheet label{display:block;font-size:15px;margin:20px 0 8px;color:var(--ink)}
.login-sheet input{display:block;width:100%;min-width:0;border:1px solid #bfd3e2;border-radius:7px;padding:13px 14px;background:#f7fbff;color:var(--ink);font-size:16px}
.login-sheet input:focus{outline:2px solid #508ab8;outline-offset:2px}
.login-submit{display:flex;justify-content:space-between;width:100%;border:0;border-radius:9px;padding:12px 20px;margin-top:27px;background:#2d6899;color:white;font:600 28px var(--hand);cursor:pointer}
.login-help{font-size:13px;color:var(--muted);line-height:1.8;margin-top:23px}
.login-error{background:#fff0e9;color:#973d2e;padding:13px;border-left:3px solid #cf6849;font-size:14px}
@media(max-width:760px){.login-section{grid-template-columns:1fr;gap:32px;min-height:0}.login-intro h1{font-size:60px}.login-sheet{padding:27px}}

/* Signature horizontale : le département appartient au nom. */
.brand-horizontal { gap: 12px; min-width: 0; }
.brand-horizontal .brand-wordmark { display: inline; white-space: nowrap; font-family: 'Segoe UI', Arial, sans-serif; font-size: clamp(22px, 1.8vw, 31px); line-height: 1.15; letter-spacing: -.9px; font-weight: 400; }
.brand-horizontal .brand-wordmark strong { display: inline; font: inherit; font-weight: 700; letter-spacing: inherit; }
.brand-horizontal .brand-department { display: inline; font: inherit; font-weight: 600; vertical-align: baseline; color: #2f6834; }
.brand-horizontal img { flex: 0 0 auto; width: 52px; height: 52px; }
@media(min-width:761px) and (max-width:1100px) { .header-inner { flex-wrap: wrap; gap: 15px; } .header-inner #navigation { margin-left: auto; gap: 18px; font-size: 13px; } }
@media(max-width:760px) { .brand-horizontal .brand-wordmark { font-size: 25px; } .brand-horizontal img { width: 44px; height: 44px; } }
@media(max-width:460px) { .brand-horizontal { gap: 7px; } .brand-horizontal .brand-wordmark { font-size: 21px; letter-spacing: -.7px; } .brand-horizontal img { width: 37px; height: 37px; } .header-inner { column-gap: 12px; } }
@media(max-width:350px) { .brand-horizontal .brand-wordmark { font-size: 19px; } .brand-horizontal img { width: 33px; height: 33px; } .menu-toggle { font-size: 11px; } }

/* Arbre fourni par la structure : le blanc se fond dans le papier. */
.brand-horizontal img, .news-no-image img { mix-blend-mode: multiply; object-fit: contain; }
