@font-face{font-family:Fraunces;src:url("assets/fraunces-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Fraunces;src:url("assets/fraunces-500italic.woff2") format("woff2");font-style:italic;font-weight:500;font-display:swap}
:root{--paper:#fbfcfe;--ink:#14263c;--blue:#244c68;--yellow:#fbc13f;--logo-blue:#2893ac;--logo-coral:#f57b62;--line:#d5e0e8;--muted:#586b7d;--navy:#0f1e33;--surface:#f3f6fa;--surface-alt:#eaf0f6;--serif:Fraunces,Georgia,serif;--sans:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}p{margin:0 0 20px}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.07;margin:0;letter-spacing:-.045em}h2{font-size:clamp(36px,4.05vw,60px)}h3{font-size:30px}em{font-family:var(--serif);font-weight:500}img{max-width:100%;display:block}button{color:inherit}button:disabled{cursor:default}[hidden]{display:none!important}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:3px solid var(--logo-blue);outline-offset:5px}.wrap{max-width:1392px;margin:auto;padding-left:64px;padding-right:64px}.section-space{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;line-height:1.5;margin-bottom:30px}.small-dot{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin:0 10px 1px 0}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;border:1px solid var(--blue);border-radius:5px;padding:18px 23px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;line-height:1.45;text-align:left;transition:background .2s,transform .2s}.button:hover{background:var(--navy);transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.button-small{font-size:14px;padding:12px 18px;gap:20px}.text-link{display:inline-flex;align-items:center;gap:18px;background:none;border:0;padding:0 0 5px;border-bottom:1px solid currentColor;font-size:14px;font-weight:600;line-height:1.6}.text-link:hover{color:var(--blue)}.fine{font-size:13px;line-height:1.6;color:var(--muted);margin-top:14px}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--yellow);padding:10px}.skip:focus{top:10px}
.header{height:94px;border-bottom:1px solid var(--line);padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1600px;margin:auto}.brand{display:inline-flex;align-items:center;gap:10px;line-height:1}.brand>span{font-family:var(--serif);font-size:39px;letter-spacing:-.07em}.brand-dot{color:var(--blue)}.nav{display:flex;gap:29px;font-size:14px}.nav a{position:relative}.nav a:hover{color:var(--blue)}.header-actions{display:flex;gap:16px;align-items:center}.menu-toggle{display:none;background:none;border:0;width:40px;height:40px;padding:8px}.menu-toggle span{display:block;height:1px;margin:7px 0;background:var(--ink)}
.lang-toggle{min-width:42px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.08em}.lang-toggle:hover{border-color:var(--blue);color:var(--blue)}
.hero{display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:32px;padding-top:64px;padding-bottom:60px;min-height:700px}.hero .eyebrow{margin-bottom:26px}.hero h1{font-size:clamp(56px,5.6vw,84px);line-height:1.02;letter-spacing:-.058em;white-space:nowrap}.hero-invitation{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(30px,3vw,44px);line-height:1.2;letter-spacing:-.04em;color:var(--blue);margin:13px 0 25px}.hero-description{max-width:465px;line-height:1.65;color:var(--muted);font-size:17px;margin-bottom:28px}.hero-ctas{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.hero-ctas .button{gap:20px}.reassurance{font-size:12px;color:var(--muted);margin:11px 0 29px}.human-intro{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.55;max-width:470px}.human-intro img{width:43px;height:43px;border-radius:50%;object-fit:cover}.human-intro strong{font-weight:600}.human-intro>span:last-child{font-size:22px;margin-left:12px}.hero-art{position:relative;align-self:stretch;display:flex;justify-content:center;align-items:center;min-width:0;min-height:550px}.art-topline{position:absolute;top:1px;left:12px;right:0;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.14em;color:var(--muted)}.artwork{width:100%;mix-blend-mode:multiply;transform:rotate(-6deg);margin-top:-34px}.voice{position:absolute;display:block;font-size:13px;font-weight:600;padding:9px 13px;line-height:1.5;background:var(--paper);border:1px solid currentColor;box-shadow:3px 3px 0 var(--paper);white-space:nowrap;transition:transform .2s}.voice:hover{transform:rotate(0deg) translateY(-4px)}.voice-blue{top:19%;left:1%;color:var(--blue);transform:rotate(-8deg)}.voice-red{top:26%;right:-6px;color:#925344;transform:rotate(7deg)}.voice-black{bottom:23%;left:0;transform:rotate(5deg)}.voice-yellow{bottom:27%;right:-7px;color:var(--blue);background:var(--surface);transform:rotate(-6deg)}.art-caption{position:absolute;bottom:0;text-align:center;font-size:13px;line-height:1.7;letter-spacing:.01em;margin:0}.art-caption em{font-size:17px;letter-spacing:-.02em}.manifesto-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.manifesto-strip .wrap{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:24px;padding-bottom:24px}.manifesto-strip span{font-family:var(--serif);font-size:24px;letter-spacing:-.02em}.manifesto-strip span+span:before{content:"·";margin-right:50px;color:var(--blue)}.manifesto-strip a{font-size:26px;color:var(--blue)}
.experience{padding:96px 0 104px;background:var(--surface);color:var(--ink)}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.experience h2{font-size:64px;line-height:1.05;margin-bottom:25px}.experience h2 em{color:var(--blue)}.experience-copy>p:not(.eyebrow):not(.experience-note){max-width:350px;font-size:16px;color:var(--muted)}.experience .eyebrow{color:var(--blue)}.scenarios{margin-top:36px;display:grid;gap:0}.scenarios button{padding:19px 0;display:flex;gap:17px;align-items:center;background:none;border:0;border-top:1px solid var(--line);color:var(--ink);text-align:left;font-size:15px;line-height:1.4}.scenarios button:last-child{border-bottom:1px solid var(--line)}.scenarios button>span:first-child{font-size:12px;color:var(--blue)}.scenarios button>span:last-child{margin-left:auto;font-size:23px}.scenarios button[aria-pressed=true]{color:var(--blue)}.scenarios button[aria-pressed=true]>span:first-child{color:var(--blue)}.scenarios button:hover{background:var(--surface-alt)}.experience-note{font-size:12px;color:var(--muted);line-height:1.6;margin:22px 0 0}.notebook{position:relative;background:var(--paper);color:var(--ink);padding:28px 35px 34px;transform:none;box-shadow:7px 9px 0 #d5e0eb;min-height:490px;display:flex;flex-direction:column}.notebook-head{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.12em}.notebook-head>span:last-child{margin-left:auto;color:var(--muted)}.dialogue{padding:30px 0 20px;min-height:324px}.dialogue-kicker,.dialogue-label{font-size:12px;font-weight:600;letter-spacing:.14em;margin-bottom:13px;color:var(--muted)}.dialogue-user{font-family:var(--serif);font-size:26px;line-height:1.25;letter-spacing:-.025em;margin:0 0 22px}.dialogue-rule{width:38px;height:2px;background:var(--blue);margin:0 0 22px}.dialogue-label{color:var(--blue)}.dialogue-question{font-size:18px;line-height:1.55;margin-bottom:0}.notebook-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:auto}.demo-next{display:flex;align-items:center;gap:20px;padding:0 0 6px;border:0;border-bottom:1px solid var(--ink);background:none;font-size:14px;font-weight:600;margin-left:auto}.demo-next span{font-size:23px}.notebook-caption{position:absolute;bottom:-42px;font-family:var(--serif);font-style:italic;color:var(--muted);font-size:16px;left:0;right:0;text-align:center;line-height:1.35}
.understand>.eyebrow{color:var(--blue)}.understand-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.understand h2 em{color:var(--blue)}.understand-grid>div>p{font-size:17px;line-height:1.75}.understand .emphasis{border-left:2px solid var(--blue);padding-left:20px;margin:28px 0;font-weight:600}.journey{background:var(--surface-alt)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:65px}.section-heading h2{font-size:48px}.section-heading>p{font-size:14px;color:var(--muted);min-width:205px;border-left:1px solid var(--line);padding-left:26px;margin-bottom:0}.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.journey-steps article{border-top:1px solid var(--line);padding-top:17px;display:flex;flex-direction:column}.step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:37px}.step-top>span:first-child{font-family:var(--serif);font-size:43px;color:var(--blue)}.step-top>span:last-child{font-size:12px;letter-spacing:.15em}.journey-steps h3{font-size:29px;line-height:1.12;min-height:72px;margin-bottom:20px}.journey-steps article>p{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:35px}.step-result{font-size:12px;color:var(--muted);margin-top:auto;padding-top:17px;border-top:1px solid var(--line)}.step-result span{display:block;color:var(--ink);font-size:13px;margin-top:3px}.journey-foot{display:flex;align-items:center;justify-content:center;gap:14px;margin:50px 0 0;font-size:14px}
.guide{display:grid;grid-template-columns:1fr 1.2fr;gap:95px;align-items:center}.guide-photo{margin:0;position:relative}.guide-photo img{aspect-ratio:4/4.25;width:100%;height:auto;object-fit:cover;object-position:50% 45%;border-radius:3px}.guide-photo figcaption{position:absolute;bottom:20px;left:20px;right:20px;background:var(--paper);padding:16px 20px;display:flex;flex-direction:column;line-height:1.6}.guide-photo strong{font-family:var(--serif);font-size:23px;font-weight:600}.guide-photo figcaption span{font-size:11px;color:var(--muted);white-space:nowrap}.guide-copy h2{margin-bottom:29px}.guide-copy h2 em{color:var(--blue)}.guide-copy>p{font-size:16px;color:var(--muted)}.guide-copy>.eyebrow{font-size:12px;color:var(--blue)}.guide-detail{display:flex;gap:24px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin:30px 0}.guide-detail>span{font-family:var(--serif);font-size:70px;line-height:1.1;color:var(--blue)}.guide-detail p{font-size:13px;margin:0;line-height:1.7;color:var(--muted)}.guide-detail strong{color:var(--ink);font-weight:600}.guide-copy>.fine{font-size:12px;margin-bottom:0}
.start-section{background:var(--surface-alt)}.start-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:95px}.start-section h2{font-size:61px;margin-bottom:28px}.start-section h2 em{color:var(--blue)}.start-grid>div>p:not(.eyebrow):not(.fine){font-size:16px}.start-section .fine{color:var(--muted);font-size:12px}.button-dark{background:var(--ink);border-color:var(--ink);margin-top:12px}.button-dark:hover{background:var(--blue)}.pricing{padding:9px 0 0 36px;border-left:1px solid var(--line);align-self:center}.pricing h3{font-size:27px;letter-spacing:-.03em;margin-bottom:32px}.pricing article{display:flex;gap:18px;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px}.pricing .eyebrow{font-size:12px;display:block;margin-bottom:8px}.pricing h4{font-size:25px;letter-spacing:-.03em;margin-bottom:10px}.pricing article p{font-size:13px;margin-bottom:0}.pricing article>strong{font-family:var(--serif);font-size:33px;line-height:1.5;white-space:nowrap;letter-spacing:-.05em}.pricing article>strong>small{font:400 12px/1.5 var(--sans);display:block;letter-spacing:0}.pricing-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:13px;margin-bottom:24px;max-width:350px}.pricing-footer{font-size:12px;margin:22px 0 0}.pricing-footer a{text-decoration:underline;text-underline-offset:4px}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq h2{margin-bottom:25px}.faq>div>p:not(.eyebrow){font-size:14px;color:var(--muted)}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:16px;line-height:1.45;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:24px;font-weight:300;color:var(--blue);flex-shrink:0}.faq details[open] summary>span{transform:rotate(45deg)}.faq details>p{padding:16px 30px 0 0;margin:0;font-size:14px;color:var(--muted);line-height:1.75}.faq details a{text-decoration:underline;text-underline-offset:3px}.last-word{padding-top:0;padding-bottom:65px;text-align:center}.last-word>span{display:block;font-size:14px;margin-bottom:6px;color:var(--muted)}.last-word button{background:none;border:0;border-bottom:1px solid var(--blue);padding:0 0 10px;color:var(--blue);font-family:var(--serif);font-size:clamp(32px,4vw,58px);letter-spacing:-.04em;line-height:1.2}.last-word button span{display:inline-block;margin-left:20px;font-family:var(--sans);font-weight:400}
.footer{background:var(--navy);color:var(--paper);padding:44px 0 24px}.footer-top{display:flex;gap:35px;align-items:center;margin-bottom:29px}.footer .brand>span{font-size:37px}.footer-top>span{font-size:13px;color:#dbe6f1}.footer-top>div{margin-left:auto;display:flex;gap:23px;font-size:12px}.footer .wrap>p{max-width:740px;color:#c5d4e2;font-size:12px;line-height:1.7;margin-bottom:30px}.footer-bottom{border-top:1px solid #3b4f64;padding-top:20px;display:flex;justify-content:space-between;color:#c5d4e2;font-size:12px;letter-spacing:.03em}
dialog{max-width:510px;width:calc(100% - 36px);border:0;border-radius:5px;padding:40px;background:var(--paper);color:var(--ink);max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#0f1e33cc;backdrop-filter:blur(6px)}dialog>.eyebrow{font-size:12px;margin:22px 0 18px}dialog h2{font-size:52px;margin-bottom:24px}dialog h2 em{color:var(--blue)}dialog>p:not(.eyebrow):not(.fine){font-size:15px;line-height:1.7}dialog ul{font-size:14px;padding-left:20px;margin:20px 0 28px;line-height:1.9}dialog .button{font-size:14px;width:100%;gap:15px}dialog>.fine{font-size:12px;text-align:center;margin-bottom:0}.close-dialog{position:absolute;right:17px;top:13px;background:none;border:0;font-size:32px;line-height:1;padding:10px;font-weight:300}body:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){.hero{min-height:760px}.hero h1{font-size:88px}.hero-art{min-height:600px}}
@media(max-width:1150px){.wrap{padding-left:40px;padding-right:40px}.header{padding:0 32px;gap:20px}.nav{gap:21px}.hero{gap:18px;padding-top:48px;min-height:650px}.hero h1{font-size:66px}.hero-invitation{font-size:34px}.hero-art{min-height:520px}.voice{font-size:12px;padding:8px}.hero-ctas{gap:16px}.hero-ctas .button{font-size:14px;gap:15px}.hero-ctas .text-link{font-size:12px}.experience-grid,.understand-grid,.guide,.start-grid,.faq{gap:50px}.experience h2{font-size:57px}.notebook{padding:23px 27px;min-height:470px}.dialogue-user{font-size:24px}.manifesto-strip span+span:before{margin-right:20px}.section-space{padding-top:85px;padding-bottom:85px}.start-section h2{font-size:52px}.pricing{padding-left:25px}.journey-steps{gap:26px}.journey-steps h3{font-size:25px}.section-heading h2{font-size:43px}.guide-photo img{aspect-ratio:4/5}}
@media(max-width:900px){.header{height:82px}.nav{gap:16px;font-size:13px}.nav a:nth-child(4){display:none}.header .button{font-size:12px;padding:12px;gap:12px}.brand>span{font-size:34px}.brand img{width:29px}.hero h1{font-size:55px}.hero-invitation{font-size:30px}.hero-description{font-size:15px}.hero-art{min-height:490px}.voice{font-size:12px}.voice-blue{top:26%}.voice-red{top:33%}.voice-black{bottom:29%}.voice-yellow{bottom:32%}.art-caption{bottom:40px}.art-topline{font-size:12px;top:36px}.hero .eyebrow{font-size:12px}.human-intro{font-size:12px}.hero{min-height:610px}.manifesto-strip span{font-size:20px}.experience-grid{gap:38px}.experience h2{font-size:48px}.notebook{padding:20px;min-height:480px}.scenarios button{font-size:13px;gap:10px}.notebook-head{font-size:12px;gap:8px}.dialogue-user{font-size:23px}.dialogue-question{font-size:16px}.experience-copy>p:not(.eyebrow):not(.experience-note){font-size:15px}.section-heading{align-items:start}.section-heading h2{font-size:36px}.section-heading>p{font-size:12px;min-width:165px}.journey-steps h3{font-size:22px}.journey-steps article>p{font-size:14px}.guide{gap:38px}.guide-copy h2{font-size:44px}.guide-photo img{aspect-ratio:3/4.4}.start-grid{gap:35px}.start-section h2{font-size:44px}.pricing h3{font-size:24px}.pricing article>strong{font-size:27px}.faq{gap:40px}.faq h2{font-size:43px}.footer-top{gap:23px}.footer-top>div{gap:17px;font-size:12px}.footer-top>span{font-size:12px}}
@media(max-width:700px){html{scroll-padding-top:30px}.wrap{padding-left:24px;padding-right:24px}.header{padding:0 24px;height:78px;position:relative}.header .button{font-size:12px;padding:10px 12px}.header .button span{font-size:19px}.brand>span{font-size:33px}.brand img{width:26px}.brand{gap:7px}.menu-toggle{display:block}.header-actions{gap:9px}.nav{display:none;position:absolute;top:77px;left:0;right:0;flex-direction:column;gap:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 24px 22px}.nav.open{display:flex}.nav a{padding:12px 0;font-size:16px}.nav a:nth-child(4){display:block}.hero{grid-template-columns:1fr;gap:0;padding-top:40px;padding-bottom:32px;min-height:0}.hero h1{font-size:clamp(45px,9vw,66px);white-space:normal}.hero .eyebrow{font-size:12px;margin-bottom:24px}.hero-invitation{font-size:33px;margin:13px 0 22px}.hero-description{font-size:16px;max-width:470px}.hero-ctas{gap:19px}.hero-ctas .button{font-size:14px;padding:15px 18px}.hero-ctas .text-link{font-size:13px}.reassurance{font-size:12px;margin-bottom:25px}.human-intro{font-size:12px}.human-intro img{width:40px;height:40px}.hero-art{min-height:430px;width:100%;max-width:480px;margin:32px auto 0}.artwork{max-width:430px;margin-top:-10px}.art-topline{top:4px;left:0;right:0;font-size:12px}.voice{font-size:12px;padding:7px 10px}.voice-blue{top:23%;left:0}.voice-red{top:29%;right:0}.voice-black{bottom:27%;left:0}.voice-yellow{bottom:31%;right:0}.art-caption{bottom:0;font-size:12px}.art-caption em{font-size:15px}.manifesto-strip .wrap{padding-top:18px;padding-bottom:18px;gap:12px}.manifesto-strip span{font-size:16px}.manifesto-strip span+span:before{display:none}.manifesto-strip span:nth-child(3){max-width:125px}.manifesto-strip a{display:none}.experience{padding:57px 0 82px}.experience-grid{grid-template-columns:1fr;gap:40px}.experience h2{font-size:49px}.experience-copy>p:not(.eyebrow):not(.experience-note){font-size:16px;max-width:none}.experience .eyebrow{margin-bottom:25px}.scenarios{margin-top:28px}.scenarios button{font-size:14px;padding:18px 0}.experience-note{font-size:12px}.notebook{max-width:470px;width:calc(100% - 8px);margin:0 auto;min-height:450px;padding:24px;transform:rotate(1.3deg)}.notebook-head{font-size:12px}.dialogue-user{font-size:26px}.dialogue-question{font-size:18px}.notebook-caption{font-size:14px;bottom:-40px}.section-space{padding-top:62px;padding-bottom:62px}.eyebrow{font-size:12px;margin-bottom:25px}.understand-grid{grid-template-columns:1fr;gap:27px}.understand h2{font-size:42px}.understand-grid>div>p{font-size:16px}.section-heading{display:block;margin-bottom:33px}.section-heading h2{font-size:37px}.section-heading>p{font-size:14px;margin-top:25px;padding-left:17px}.journey-steps{grid-template-columns:1fr;gap:32px}.step-top{margin-bottom:15px}.journey-steps h3{font-size:30px;min-height:0}.journey-steps article>p{font-size:16px;margin-bottom:20px}.step-result{font-size:12px}.step-result span{font-size:13px}.journey-foot{display:block;margin-top:35px;text-align:center;line-height:2}.journey-foot .text-link{margin-left:5px}.guide{grid-template-columns:1fr;gap:35px}.guide-photo{max-width:450px}.guide-photo img{aspect-ratio:4/4.1}.guide-copy h2{font-size:48px}.guide-copy>.eyebrow{font-size:12px}.start-grid{grid-template-columns:1fr;gap:40px}.start-section h2{font-size:46px}.pricing{padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.pricing h3{font-size:28px}.pricing article p{font-size:14px}.pricing article>strong{font-size:35px}.pricing-note{font-size:12px}.pricing-footer{font-size:13px}.faq{grid-template-columns:1fr;gap:26px}.faq h2{font-size:45px}.faq details{padding:21px 0}.faq summary{font-size:15px}.faq details>p{font-size:15px}.faq>div>p:not(.eyebrow){margin-bottom:0}.last-word{padding-bottom:50px}.last-word button{font-size:41px}.last-word>span{font-size:12px}.footer-top{flex-wrap:wrap;gap:15px}.footer-top>span{font-size:12px}.footer-top>div{width:100%;margin-left:0;gap:24px;margin-top:8px;font-size:12px}.footer .wrap>p{font-size:12px}.footer-bottom{font-size:12px;gap:16px}.footer{padding-top:35px}.start-grid>div>p:not(.eyebrow):not(.fine){font-size:15px}dialog{padding:29px}dialog h2{font-size:46px}.close-dialog{top:10px;right:10px}}
@media(max-width:370px){.header{padding:0 18px}.header .button{font-size:12px}.brand img{display:none}.wrap{padding-left:20px;padding-right:20px}.hero h1{font-size:43px}.hero-invitation{font-size:29px}.hero-art{min-height:370px}.voice{font-size:12px;padding:6px 7px}.hero-ctas{gap:15px}.manifesto-strip span{font-size:14px}.notebook{padding:20px}.dialogue-user{font-size:24px}.dialogue-question{font-size:16px}.pricing article>strong{font-size:29px}.last-word button{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Révision de la palette du logo et intégration du test existant. */
.header{position:sticky;top:0;z-index:30;background:var(--paper);max-width:none;box-shadow:0 3px 14px #24372c08}
.skip{z-index:50}
.nav a[aria-current=location]{color:var(--blue);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}
.artwork{width:78%;max-width:420px;transform:rotate(-4deg);margin-top:-24px;mix-blend-mode:normal}
.voice-black{color:var(--blue)}
.hero-ctas .text-link{font-size:13px}
.experience-grid{grid-template-columns:.9fr 1.15fr;align-items:start;gap:70px}
.experience-copy{padding-top:26px;position:sticky;top:132px}
.experience-copy>p:not(.eyebrow):not(.experience-note){max-width:430px}
.quiz-guide{display:flex;flex-direction:column;gap:0;margin:30px 0}
.quiz-guide>span{font-size:14px;padding:12px 0;border-top:1px solid var(--line)}
.quiz-guide>span:last-child{border-bottom:1px solid var(--line)}
.quiz-guide>span:before{content:"·";color:var(--blue);font-weight:700;margin-right:13px}
.quiz-notebook{scroll-margin-top:120px;border:1px solid var(--line);transform:none;min-height:470px;padding:28px 30px 30px}
.quiz-notebook h3:focus{outline:none}
.notebook-head{gap:10px;font-size:12px;letter-spacing:.06em}
.quiz-intro{padding-top:28px}
.quiz-intro>.eyebrow{font-size:12px;letter-spacing:.06em;margin:0 0 22px}
.quiz-intro h3{font-size:42px;line-height:1.1;margin-bottom:23px}
.quiz-intro>p{font-size:16px}
.quiz-intro>.fine{font-size:12px;color:var(--muted);line-height:1.7}
.quiz-intro>.button{margin:9px 0 0}
.quiz-progress{display:block;width:100%;height:4px;appearance:none;border:0;border-radius:2px;background:#d5e0eb;accent-color:var(--blue);margin:24px 0}
.quiz-progress::-webkit-progress-bar{background:#d5e0eb;border-radius:2px}
.quiz-progress::-webkit-progress-value{background:var(--blue);border-radius:2px}
.quiz-progress::-moz-progress-bar{background:var(--blue)}
.quiz-prompt{font-family:var(--serif);font-size:25px;line-height:1.25;letter-spacing:-.025em;margin-bottom:22px}
.quiz-scale{display:flex;justify-content:space-between;gap:18px;font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:4px}
.quiz-scale>span{max-width:46%}
.quiz-scale>span:last-child{text-align:right}
.quiz-voice{padding:19px 0 14px;border-bottom:1px solid var(--line)}
.quiz-voice>label{display:block;font-size:14px;line-height:1.6;margin-bottom:8px;cursor:pointer}
.quiz-voice:last-child{border-bottom:0}
.quiz-slider-row{display:flex;align-items:center;gap:20px;min-height:32px}
.quiz-slider-row output{white-space:nowrap;font-size:12px;min-width:40px;text-align:right;color:var(--blue);font-variant-numeric:tabular-nums}
.quiz-slider-row input{appearance:none;-webkit-appearance:none;height:6px;flex:1;min-width:0;background:#d5e0eb;border-radius:5px;cursor:pointer;accent-color:var(--blue);padding:0}
.quiz-slider-row input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;background:var(--blue);border:4px solid var(--paper);box-shadow:0 0 0 1px #8298ae;border-radius:50%}
.quiz-slider-row input::-moz-range-thumb{width:16px;height:16px;background:var(--blue);border:4px solid var(--paper);box-shadow:0 0 0 1px #8298ae;border-radius:50%}
.quiz-slider-row input:focus-visible{outline:3px solid #2893ac;outline-offset:8px}
.quiz-hint{font-size:12px;color:var(--muted);margin:17px 0 10px}
.quiz-zero{font-size:12px;font-weight:400;color:var(--blue)}
.quiz-error{font-size:13px;color:#8b3c2c;margin:14px 0 0}
.quiz-error:empty{display:none}
.quiz-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.quiz-actions>.text-link{font-size:13px}
.quiz-actions>.button{font-size:14px}
.quiz-quality{min-height:175px}
.quiz-quality .quiz-voice>label{font-size:14px;color:var(--muted)}
.quiz-quality .quiz-slider-row{margin-top:22px}
.quiz-result-title{font-size:32px;line-height:1.18;margin:28px 0 17px}
.quiz-result-intro{font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:0}
.quiz-map{display:block;width:100%;max-width:420px;margin:0 auto}
.quiz-map text{font-family:var(--sans)}
.quiz-map-note,.quiz-result-note{font-size:12px;color:var(--muted);line-height:1.7}
.quiz-bars{display:grid;gap:13px;margin:25px 0 28px}
.quiz-bar{display:grid;grid-template-columns:24px 1fr 100px 28px;gap:10px;align-items:center;font-size:13px;line-height:1.4}
.quiz-key{font-size:12px;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--blue)}
.quiz-bar strong{font-size:12px;font-weight:400;text-align:right;color:var(--blue)}
.quiz-bar meter{width:100%;height:10px;appearance:none}
.quiz-bar meter::-webkit-meter-bar{background:#d5e0eb;border:0;border-radius:4px}
.quiz-bar meter::-webkit-meter-optimum-value{background:var(--blue);border-radius:4px}
.quiz-bar meter::-moz-meter-bar{background:var(--blue)}
.quiz-insight{border-left:2px solid var(--blue);padding:17px 18px;background:var(--surface);margin:25px 0}
.quiz-insight .eyebrow{font-size:12px;letter-spacing:.06em;margin:0 0 12px}
.quiz-insight>p:last-child{font-family:var(--serif);font-size:19px;line-height:1.5;margin-bottom:0}
.quiz-portraits{font-size:14px;margin:24px 0}
.quiz-portraits summary{cursor:pointer;color:var(--blue);font-weight:600;padding:6px 0}
.quiz-portraits p{font-size:14px;line-height:1.6;margin:17px 0}
.quiz-compass{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:25px 0}
.quiz-compass h4{font-size:23px;margin-bottom:14px}
.quiz-compass p{font-size:14px;margin:0}
.quiz-result-next{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}
.quiz-result-next h4{font-size:26px;line-height:1.15;margin-bottom:16px}
.quiz-result-next p{font-size:14px}
.quiz-result-next .button{width:100%;font-size:14px;gap:15px}
.guide{align-items:start}
.guide-photo{position:sticky;top:125px}
.guide-copy>.guide-lead{font-size:19px;color:var(--ink);line-height:1.65}
.guide-copy>.guide-bio{font-size:14px;color:var(--muted)}
@media(max-width:1150px){.experience-grid{gap:42px;grid-template-columns:.85fr 1.15fr}.quiz-notebook{padding:24px}.artwork{width:76%}.quiz-bar{grid-template-columns:22px 1fr 80px 25px;gap:7px}}
@media(max-width:900px){.experience-grid{gap:30px;grid-template-columns:.8fr 1.2fr}.experience h2{font-size:45px}.quiz-notebook{padding:20px}.notebook-head{font-size:12px;letter-spacing:0;gap:8px}.quiz-bar{grid-template-columns:22px 1fr 55px 24px;gap:6px}.quiz-prompt{font-size:23px}.quiz-slider-row{gap:13px}.quiz-result-title{font-size:28px}.quiz-intro h3{font-size:37px}}
@media(max-width:700px){html{scroll-padding-top:104px}.header{position:sticky;top:0}.experience-grid{grid-template-columns:1fr;gap:30px}.experience-copy{position:static;padding-top:0}.experience h2{font-size:49px}.quiz-guide{margin:24px 0}.quiz-notebook{width:100%;max-width:500px;transform:none;padding:24px;scroll-margin-top:98px;min-height:0}.artwork{width:73%;max-width:330px;margin-top:-5px}.quiz-intro h3{font-size:38px}.quiz-prompt{font-size:25px}.quiz-bar{grid-template-columns:22px 1fr 74px 25px;gap:8px}.quiz-result-title{font-size:29px}.guide-photo{position:static}.quiz-actions>.text-link{font-size:12px}.quiz-slider-row{min-height:40px}.quiz-voice>label{font-size:15px}.quiz-zero{line-height:1.6;text-align:left}.guide-copy>.guide-lead{font-size:18px}.hero-ctas .text-link{font-size:13px}.art-topline{font-size:12px;letter-spacing:.06em}}
@media(max-width:700px){.guide-photo{position:relative;top:auto}.header{padding-left:18px;padding-right:18px;gap:10px}.header-actions{gap:6px}.header .button{white-space:nowrap;padding:12px 10px;gap:8px}.header .brand>span{font-size:31px}.header .brand img{width:25px}}
@media(max-width:370px){.quiz-notebook{padding:18px}.notebook-head{font-size:12px}.quiz-bar{grid-template-columns:20px 1fr 50px 24px;gap:6px}.quiz-actions{gap:12px}.quiz-actions>.button{font-size:13px;padding:12px}.quiz-prompt{font-size:23px}}

/* Accueil : réserver un rapport d’image stable, sans imposer sa hauteur en pixels. */
.hero {
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  grid-template-areas: "heading art" "copy art";
  grid-template-rows: auto auto;
  align-items: start;
  align-content: center;
  row-gap: 0;
  min-height: 0;
  padding-top: 42px;
  padding-bottom: 42px;
}
.hero-heading { grid-area: heading; }
.hero-copy { grid-area: copy; }
.hero .eyebrow { margin-bottom: 18px; }
.hero h1 { font-size: clamp(46px, 5.4vw, 80px); }
.hero-invitation { margin-bottom: 20px; }
.hero-description { margin-bottom: 22px; }
.reassurance { margin-bottom: 22px; }
.hero-art {
  grid-area: art;
  align-self: center;
  flex-direction: column;
  gap: 30px;
  min-height: 0;
  margin: 0;
  padding: 0 0 4px;
}
.art-topline { position: static; width: 100%; gap: 12px; }
.art-topline > span:last-child { white-space: nowrap; }
.artwork {
  width: 82%;
  max-width: 440px;
  height: auto;
  aspect-ratio: 877 / 893;
  object-fit: contain;
  flex: none;
  margin: 0;
  transform: none;
}
.art-caption { position: static; }
.voice-blue { top: 20%; left: 0; }
.voice-red { top: 31%; right: 0; }
.voice-black { bottom: 28%; left: 0; }
.voice-yellow { bottom: 22%; right: 0; }
@media (max-width: 1150px) {
  .hero { padding-top: 32px; padding-bottom: 32px; }
  .hero-art { gap: 24px; }
  .art-topline { font-size: 11px; letter-spacing: .06em; }
}
@media (max-width: 700px) {
  .hero { grid-template-areas: "heading" "art" "copy"; grid-template-columns: 1fr; padding-top: 26px; }
  .hero h1 { font-size: clamp(43px, 8.7vw, 60px); }
  .hero .eyebrow { margin-bottom: 14px; font-size: 11px; }
  .hero-invitation { margin: 10px 0 0; font-size: 30px; }
  .hero-art { max-width: 380px; width: 100%; margin: 20px auto 24px; gap: 0; padding: 0; }
  .artwork { width: 58%; max-width: 220px; }
  .art-topline, .art-caption { display: none; }
  .voice { font-size: 11px; padding: 6px 8px; }
  .voice-blue { top: 9%; }
  .voice-red { top: 30%; }
  .voice-black { bottom: 21%; }
  .voice-yellow { bottom: 0; }
  .hero-description { margin-bottom: 20px; }
}

/* Version fusion : corps, Self, autonomie et ressources. */
.self-origin { color: #c5d4e2; font-size: 12px; line-height: 1.7; max-width: 450px; }
.nav a[aria-current=page] { color: var(--blue); text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 2px; }
.hero-description strong { font-weight: 600; color: var(--ink); }
.nav { gap: 23px; }
.section-heading h2 { max-width: 760px; }
.meeting-details { margin: 0 0 28px; }
.meeting-details > div { display: grid; grid-template-columns: 90px 1fr; gap: 15px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.meeting-details dt { font-size: 14px; font-weight: 600; color: var(--blue); }
.meeting-details dd { margin: 0; font-size: 15px; line-height: 1.6; }
.journey-illustration { margin: 46px 0 0; }
.journey-illustration img { width: 100%; height: auto; aspect-ratio: 2126 / 740; object-fit: contain; }
.journey-illustration figcaption { font-family: var(--serif); font-size: 20px; text-align: center; margin-top: 16px; color: var(--blue); }
.resources { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.resource-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 100px; }
.resource-intro .eyebrow, .resource-contents .eyebrow { color: var(--blue); }
.resource-intro h2 { font-size: clamp(38px, 4vw, 56px); margin-bottom: 28px; }
.resource-intro h2 em { color: var(--blue); }
.resource-intro > p:not(.eyebrow):not(.fine) { max-width: 510px; font-size: 17px; }
.resource-intro .button { margin-top: 8px; }
.resource-contents { border-left: 1px solid var(--line); padding-left: 38px; }
.resource-contents ol { list-style: none; margin: 0; padding: 0; }
.resource-contents li { display: flex; gap: 20px; padding: 23px 0; border-top: 1px solid var(--line); }
.resource-contents li > span { color: var(--blue); font-size: 14px; padding-top: 4px; }
.resource-contents h3 { font-size: 27px; margin-bottom: 12px; }
.resource-contents li p { font-size: 15px; color: var(--muted); margin: 0; line-height: 1.65; }
.self-section { background: var(--navy); color: var(--paper); }
.self-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 90px; }
.self-section .eyebrow { color: var(--yellow); }
.self-copy h2 { margin-bottom: 30px; font-size: clamp(44px, 4.2vw, 62px); }
.self-copy h2 em { color: var(--yellow); }
.self-copy > p:not(.eyebrow) { font-size: 17px; color: #e4edf5; }
.self-copy > p.self-metaphor { font-family: var(--serif); font-style: italic; font-size: 27px; line-height: 1.45; color: var(--yellow); margin: 27px 0; }
.self-autonomy { border-left: 2px solid var(--yellow); padding-left: 21px; margin: 28px 0 0; }
.self-compass { padding-top: 2px; }
.self-compass h3 { font-size: 35px; margin-bottom: 16px; }
.self-intro { font-size: 15px; color: #c5d4e2; max-width: 430px; }
.self-qualities { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; margin: 30px 0; }
.self-qualities > div { border-top: 1px solid #3b4f64; padding: 17px 0 18px; }
.self-qualities dt { font-family: var(--serif); font-size: 23px; line-height: 1.3; color: var(--yellow); }
.self-qualities dd { font-size: 14px; line-height: 1.6; color: #e4edf5; margin: 9px 0 0; }
.self-compass .text-link { font-size: 13px; color: #e4edf5; }
.self-section .text-link:hover { color: var(--yellow); }

/* Épigraphes validées : des respirations éditoriales sobres, comme dans un livre. */
.section-epigraph {
  max-width: 540px;
  margin: 0 0 30px;
  padding: 1px 0 2px 19px;
  border-left: 1px solid var(--logo-coral);
}
.section-epigraph blockquote {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(18px, 1.45vw, 22px);
  font-style: italic;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -.018em;
  text-wrap: balance;
}
.section-epigraph figcaption {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 8px;
  align-items: baseline;
  margin-top: 10px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.section-epigraph figcaption cite::before { content: "·"; margin-right: 8px; color: var(--logo-coral); }
.section-epigraph figcaption span { color: var(--blue); font-weight: 600; }
.section-epigraph cite { font-style: normal; }
.self-section .section-epigraph { border-left-color: var(--yellow); }
.self-section .section-epigraph blockquote, .self-section .section-epigraph figcaption span { color: var(--yellow); }
.self-section .section-epigraph figcaption { color: #c5d4e2; }
.self-section .section-epigraph figcaption cite::before { color: var(--yellow); }

@media (max-width: 1150px) {
  .self-grid, .resource-grid { gap: 48px; }
  .resource-contents { padding-left: 28px; }
  .self-copy > p.self-metaphor { font-size: 25px; }
}
@media (max-width: 1150px) {
  .menu-toggle { display: block; }
  .header { position: sticky; }
  .nav { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0; background: var(--paper); border-bottom: 1px solid var(--line); padding: 10px 32px 22px; }
  .nav.open { display: flex; }
  .nav a, .nav a:nth-child(4) { display: block; padding: 12px 0; font-size: 16px; }
}
@media (max-width: 700px) {
  .self-grid, .resource-grid { grid-template-columns: 1fr; gap: 42px; }
  .self-copy h2 { font-size: 44px; }
  .self-copy > p:not(.eyebrow), .resource-intro > p:not(.eyebrow):not(.fine) { font-size: 16px; }
  .self-copy > p.self-metaphor { font-size: 25px; }
  .self-qualities { column-gap: 22px; }
  .self-qualities dt { font-size: 22px; }
  .self-compass .text-link { font-size: 12px; }
  .resource-contents { border-left: 0; padding-left: 0; }
  .resource-contents h3 { font-size: 26px; }
  .meeting-details > div { grid-template-columns: 1fr; gap: 5px; }
  .journey-illustration { margin-top: 32px; }
  .journey-illustration figcaption { font-size: 16px; }
  .manifesto-strip span:nth-child(3) { max-width: 135px; }
  .hero-description { font-size: 16px; }
  .section-epigraph { margin-bottom: 25px; padding-left: 15px; }
  .section-epigraph blockquote { font-size: 18px; line-height: 1.5; }
}

/* Article : même identité, largeur de lecture et sommaire propres au texte long. */
.article-hero { padding-top: 38px; padding-bottom: 48px; border-bottom: 1px solid var(--line); }
.article-back { display: inline-block; color: var(--blue); font-size: 14px; margin-bottom: 36px; }
.article-hero .eyebrow { margin-bottom: 22px; color: var(--blue); }
.article-hero h1 { font-size: clamp(48px, 5.4vw, 78px); line-height: 1.06; max-width: 1000px; }
.article-hero h1 em { color: var(--blue); }
.article-deck { font-size: 21px; max-width: 720px; line-height: 1.55; margin: 26px 0; }
.article-meta { display: flex; flex-wrap: wrap; gap: 25px; font-size: 13px; color: var(--muted); }
.reading-layout { display: grid; grid-template-columns: 245px minmax(0, 760px); gap: 70px; padding-top: 48px; padding-bottom: 70px; justify-content: space-between; }
.reading-sidebar { min-width: 0; }
.article-toc { position: sticky; top: 122px; max-height: calc(100dvh - 145px); overflow-y: auto; padding-right: 10px; }
.article-toc summary { font-weight: 600; font-size: 15px; color: var(--blue); list-style: none; cursor: pointer; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.article-toc summary::-webkit-details-marker { display: none; }
.article-toc summary > span { float: right; font-size: 21px; line-height: 1; }
.article-toc[open] summary > span { transform: rotate(45deg); }
.article-toc nav { padding-top: 11px; }
.article-toc a { display: flex; gap: 12px; padding: 8px 0; font-size: 14px; line-height: 1.45; }
.article-toc a > span { color: var(--blue); font-size: 12px; min-width: 18px; padding-top: 2px; }
.article-toc a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 4px; }
.article-content { min-width: 0; font-size: 18px; line-height: 1.85; }
.article-content > section { padding: 48px 0 30px; border-top: 1px solid var(--line); }
.article-content > section:first-child { padding-top: 0; border-top: 0; }
.article-content p { margin-bottom: 18px; }
.article-content h2 { font-size: 37px; line-height: 1.17; margin-bottom: 30px; scroll-margin-top: 120px; }
.article-content .clean { padding-left: 23px; margin: 22px 0 28px; }
.article-content .clean li { padding: 3px 0; }
.article-content .q { border-left: 2px solid var(--logo-blue); padding: 10px 0 10px 23px; font-family: var(--serif); font-size: 23px; line-height: 1.5; color: var(--blue); }
.article-content .q + .q { margin-top: -10px; }
.article-content .summary-box { background: var(--surface); padding: 32px; }
.article-content .summary-box h2 { color: var(--blue); }
.article-diagram { margin: 38px 0 18px; padding: 30px 24px; background: var(--surface-alt); border-top: 3px solid var(--blue); }
.article-diagram .eyebrow { font-size: 12px; line-height: 1.6; margin-bottom: 24px; color: var(--blue); }
.reaction-flow { display: grid; grid-template-columns: 1fr 22px 1.2fr 22px 1fr; gap: 10px; align-items: center; }
.reaction-flow > div { align-self: stretch; padding: 18px 14px; background: var(--paper); border: 1px solid var(--line); }
.reaction-flow > div:nth-of-type(2) { background: var(--surface-alt); border-color: #b9cedd; }
.reaction-flow > div:nth-of-type(3) { background: #f6e5da; border-color: #d9bba8; }
.diagram-step { display: block; font-size: 12px; font-family: var(--sans); font-weight: 600; line-height: 1.5; letter-spacing: .05em; margin-bottom: 14px; color: var(--blue); }
.reaction-flow strong { font-size: 16px; line-height: 1.5; display: block; }
.diagram-arrow { color: var(--blue); font-size: 22px; text-align: center; }
.article-diagram figcaption { font-size: 14px; color: var(--muted); line-height: 1.65; margin-top: 22px; }
.parts-opposition { display: grid; grid-template-columns: 1fr 40px 1fr; gap: 14px; align-items: center; }
.parts-opposition > div { padding: 24px 20px; background: var(--surface-alt); border-top: 2px solid var(--logo-blue); }
.parts-opposition > div:last-child { background: #f7e5db; border-color: var(--logo-coral); }
.parts-opposition blockquote { font-family: var(--serif); font-size: 22px; line-height: 1.4; margin: 0 0 18px; }
.parts-opposition p { font-size: 14px; margin: 0; line-height: 1.5; }
.opposition-arrows { font-size: 35px; text-align: center; color: var(--blue); }
.article-origin { padding: 28px 0; border-top: 1px solid var(--line); color: var(--muted); }
.article-origin h2 { font-family: var(--sans); font-size: 15px; letter-spacing: 0; margin-bottom: 18px; }
.article-origin p { font-size: 14px; line-height: 1.7; }
.article-end { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 22px; padding-top: 16px; }
.article-next { background: var(--surface); padding: 70px 0; }
.article-next .eyebrow { color: var(--blue); }
.article-next h2 { font-size: 52px; margin-bottom: 24px; }
.article-next h2 em { color: var(--blue); }
.article-next p:not(.eyebrow) { max-width: 560px; }
.article-next-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; margin-top: 28px; }
@media (max-width: 1150px) {
  .reading-layout { grid-template-columns: 205px minmax(0, 1fr); gap: 38px; }
  .reaction-flow { grid-template-columns: 1fr; }
  .diagram-arrow { transform: rotate(90deg); }
  .parts-opposition { grid-template-columns: 1fr 28px 1fr; gap: 8px; }
  .parts-opposition > div { padding: 18px 14px; }
}
@media (max-width: 900px) {
  .reading-layout { grid-template-columns: 1fr; gap: 32px; }
  .article-toc { position: static; max-height: none; padding: 20px; background: var(--surface); }
  .article-toc summary { padding-bottom: 0; border-bottom: 0; }
  .article-toc a { padding: 10px 0; }
  .article-content h2 { font-size: 33px; }
}
@media (max-width: 700px) {
  .article-hero { padding-top: 25px; padding-bottom: 32px; }
  .article-back { margin-bottom: 25px; }
  .article-hero h1 { font-size: clamp(38px, 9.6vw, 54px); }
  .article-deck { font-size: 18px; }
  .article-meta { gap: 12px; font-size: 12px; }
  .reading-layout { padding-top: 28px; padding-bottom: 45px; }
  .article-content { font-size: 17px; line-height: 1.8; }
  .article-content h2 { font-size: 29px; line-height: 1.2; }
  .article-content > section { padding-top: 34px; padding-bottom: 20px; }
  .article-content .q { font-size: 21px; padding-left: 17px; }
  .article-content .summary-box { padding: 23px; }
  .article-diagram { padding: 23px 18px; }
  .parts-opposition { grid-template-columns: 1fr; }
  .opposition-arrows { transform: rotate(90deg); }
  .parts-opposition > div { padding: 23px; }
  .article-next { padding: 50px 0; }
  .article-next h2 { font-size: 41px; }
}

/* Mouvement éditorial : les éléments importants entrent une seule fois dans le champ. */
.reveal-motion [data-reveal] {
  opacity: 1;
  transform: translate3d(0, 10px, 0);
  transition: transform 360ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms);
  will-change: transform;
}
.reveal-motion [data-reveal="left"] { transform: translate3d(-10px, 0, 0); }
.reveal-motion [data-reveal="right"] { transform: translate3d(10px, 0, 0); }
.reveal-motion [data-reveal="soft"] { transform: translate3d(0, 8px, 0) scale(.992); }
.reveal-motion [data-reveal="fade"] { transform: none; }
.reveal-motion [data-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  will-change: auto;
}

@media (max-width: 700px) {
  .reveal-motion [data-reveal] {
    transform: translate3d(0, 8px, 0);
    transition-duration: 300ms;
  }
  .reveal-motion [data-reveal="left"] { transform: translate3d(-8px, 0, 0); }
  .reveal-motion [data-reveal="right"] { transform: translate3d(8px, 0, 0); }
  .reveal-motion [data-reveal="soft"] { transform: translate3d(0, 6px, 0) scale(.995); }
  .reveal-motion [data-reveal="fade"] { transform: none; }
  .reveal-motion [data-reveal].is-visible { transform: translate3d(0, 0, 0) scale(1); }
}

@media (prefers-reduced-motion: reduce), print {
  .reveal-motion [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
    will-change: auto;
  }
}

/* Le Self reste stable pendant que les quatre parts retrouvent leur place autour de lui. */
.hero-logo-motion { overflow: visible; }
.hero-part {
  transform-box: view-box;
  transform-origin: center;
  animation: hero-parts-gather 1900ms cubic-bezier(.4, 0, .2, 1) both;
}
.hero-part-blue {
  --part-x: -74px;
  --part-y: -56px;
  animation-delay: 80ms;
}
.hero-part-coral {
  --part-x: 72px;
  --part-y: -50px;
  animation-delay: 120ms;
}
.hero-part-green {
  --part-x: -66px;
  --part-y: 60px;
  animation-delay: 160ms;
}
.hero-part-ochre {
  --part-x: 76px;
  --part-y: 56px;
  animation-delay: 200ms;
}
@keyframes hero-parts-gather {
  from { transform: translate(var(--part-x), var(--part-y)); }
  to { transform: translate(0, 0); }
}

@media (max-width: 700px) {
  .hero-part-blue { --part-x: -48px; --part-y: -36px; }
  .hero-part-coral { --part-x: 46px; --part-y: -32px; }
  .hero-part-green { --part-x: -43px; --part-y: 39px; }
  .hero-part-ochre { --part-x: 49px; --part-y: 36px; }
}

@media (prefers-reduced-motion: reduce), (forced-colors: active), print {
  .hero-part {
    animation: none;
    transform: none;
  }
}

/* Les trois états locaux préfigurent l’adaptation réelle selon la session et l’accès. */
html[data-audience="free"] [data-audience-only~="guest"],
html[data-audience="full"] [data-audience-only~="guest"] { display: none !important; }
.space-link {
  padding: 7px 2px 6px;
  border-bottom: 1px solid currentColor;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
.space-link:hover { color: var(--blue); }
.audience-simulation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 7px 20px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  color: var(--blue);
  font-size: 12px;
  line-height: 1.5;
}
.audience-simulation strong { color: var(--blue); }
.member-note {
  max-width: 510px;
  margin: -6px 0 25px;
  color: var(--muted);
  font-size: 13px;
}
.member-return { background: var(--surface); }
.member-return-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 90px;
  align-items: center;
}
.member-return h2 { margin-bottom: 25px; }
.member-return h2 em { color: var(--blue); }
.member-return p:not(.eyebrow) { max-width: 680px; }
.member-return-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 28px; }
.member-return aside { border-left: 1px solid var(--line); padding: 10px 0 10px 30px; }
.member-return aside > span { display: block; margin-bottom: 12px; font-family: var(--serif); font-size: 27px; line-height: 1.15; }
.member-return aside p { margin: 0; color: var(--muted); font-size: 14px; }

@media (max-width: 1050px) {
  .header-actions > .button { display: none !important; }
}
@media (max-width: 700px) {
  .space-link { font-size: 12px; }
  .audience-simulation { flex-wrap: wrap; gap: 3px 6px; padding: 6px 18px; }
  .audience-simulation span:last-child { width: 100%; text-align: center; }
  .member-return-grid { grid-template-columns: 1fr; gap: 38px; }
  .member-return aside { border-left: 0; border-top: 1px solid var(--line); padding: 25px 0 0; }
}

/* Fusion A/B : davantage de repères décisionnels, sans allonger la page. */
.button-label-short { display: none; }
.space-label-short { display: none; }
.button .button-label-wide,
.button .button-label-short { font-size: inherit; line-height: inherit; }

.self-qualities-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  margin: 28px 0 30px;
  font-family: var(--serif);
  font-size: clamp(21px, 2vw, 28px);
  line-height: 1.4;
  color: var(--yellow);
}
.self-qualities-inline span:not(:last-child)::after {
  content: "·";
  padding: 0 10px;
  color: #8498ad;
}

.journey-facts {
  min-width: 310px;
  max-width: 390px;
  border-left: 1px solid var(--line);
  padding-left: 26px;
}
.journey-facts p { margin: 0; padding: 9px 0; border-top: 1px solid var(--line); }
.journey-facts p:first-child { border-top: 0; padding-top: 0; }
.journey-facts strong { display: block; font-size: 14px; line-height: 1.35; }
.journey-facts span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.journey-detail { margin: 24px 0 0; text-align: center; }
.journey-detail .text-link { font-size: 13px; }
.journey-detail + .journey-foot { margin-top: 24px; }

.resource-strip {
  padding: 48px 0;
  background: var(--surface);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.resource-callout {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(300px, 1.2fr) auto;
  gap: 50px;
  align-items: center;
}
.resource-callout .eyebrow { margin-bottom: 10px; color: var(--blue); }
.resource-callout h2 { font-size: clamp(30px, 3vw, 45px); }
.resource-callout h2 em { color: var(--blue); }
.resource-callout > p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.resource-callout .text-link { white-space: nowrap; }

.pricing-footer { padding-top: 18px; border-top: 1px solid var(--line); }
.pricing-footer p { margin: 0 0 10px; max-width: 440px; line-height: 1.55; }
.pricing-footer strong { font-weight: 700; }

@media (max-width: 1050px) {
  .header-actions > .button:not([hidden]) { display: inline-flex !important; }
  .header-actions > .button .button-label-wide { display: none; }
  .header-actions > .button .button-label-short { display: inline; }
  .header-actions > .button [aria-hidden="true"] { display: none; }
  .header-actions > .button { min-height: 38px; padding: 8px 11px; font-size: 12px; }
  .resource-callout { gap: 30px; }
}

.header-actions > .button[hidden] { display: none !important; }

@media (max-width: 900px) {
  .section-heading { align-items: flex-start; }
  .journey-facts { min-width: 260px; padding-left: 20px; }
  .resource-callout { grid-template-columns: 1fr auto; }
  .resource-callout > p { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 700px) {
  .header { padding-left: 18px; padding-right: 18px; }
  .header-actions { gap: 6px; }
  .header .brand > span { font-size: 29px; }
  .header .brand img { width: 24px; }
  .lang-toggle { min-width: 36px; padding: 0 7px; }
  .space-link { font-size: 11px; }
  .space-label-wide { display: none; }
  .space-label-short { display: inline; }
  .header-actions > .button { padding: 7px 9px; }
  .menu-toggle { width: 34px; padding: 6px; }
  .journey-facts { min-width: 0; max-width: none; margin-top: 25px; padding-left: 17px; }
  .journey-detail { text-align: left; }
  .resource-strip { padding: 38px 0; }
  .resource-callout { grid-template-columns: 1fr; gap: 18px; }
  .resource-callout > p { grid-column: auto; grid-row: auto; }
  .resource-callout .text-link { justify-self: start; }
  .self-qualities-inline { font-size: 22px; }
}

@media (max-width: 370px) {
  .header .brand > span { font-size: 27px; }
  .header-actions > .button { padding-left: 7px; padding-right: 7px; }
  .space-link { font-size: 10px; }
}



/* Corrections du 17 septembre : format visible, test, pages Programme, Offre et Appel. */
.hero-format { display: flex; flex-wrap: wrap; gap: 6px 0; margin: 18px 0 0; font-size: 14px; font-weight: 600; color: var(--ink); }
.hero-format span + span::before { content: "·"; margin: 0 10px; color: var(--logo-coral); }
.pricing-actions { display: flex; flex-wrap: wrap; gap: 14px 26px; margin-top: 14px; }
.pricing-footer .pricing-actions a { text-decoration: none; }
.guide-copy > .button-dark { margin-top: 6px; }
.inline-link { text-decoration: underline; text-underline-offset: 3px; }

.quiz-map { max-width: 520px; }
.quiz-key { width: 12px; height: 12px; border: 0; }
.quiz-key-manager { background: #efc2b3; }
.quiz-key-firefighter { background: #a9cbb9; }
.quiz-mirror { margin: 26px 0; padding: 22px 22px 6px; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
.quiz-mirror h4 { font-size: 24px; margin-bottom: 16px; }
.quiz-mirror figure { margin: 0 0 16px; }
.quiz-mirror figcaption { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); margin-bottom: 6px; }
.quiz-mirror blockquote { margin: 0; font-family: var(--serif); font-size: 19px; line-height: 1.45; letter-spacing: -.01em; }
.quiz-mirror > p { font-size: 14px; color: var(--muted); line-height: 1.65; }
.quiz-scores { margin: 10px 0 24px; font-size: 14px; }
.quiz-scores summary { cursor: pointer; color: var(--blue); font-weight: 600; padding: 6px 0; }

.page-hero { border-bottom: 0; }
.page-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 34px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.page-facts p { margin: 0; padding: 20px 22px 20px 0; }
.page-facts p + p { padding-left: 22px; border-left: 1px solid var(--line); }
.page-facts strong { display: block; font-family: var(--serif); font-weight: 600; font-size: 40px; line-height: 1.1; letter-spacing: -.03em; color: var(--blue); }
.page-facts span { display: block; margin-top: 4px; font-size: 13px; line-height: 1.5; color: var(--muted); }
.page-facts-large strong { font-size: 46px; }
.page-blocks { list-style: none; margin: -10px 0 26px; padding: 0; font-size: 14px; }
.page-blocks li { padding: 8px 0; border-top: 1px solid var(--line); }
.page-blocks span { display: inline-block; min-width: 64px; font-size: 12px; font-weight: 700; color: var(--blue); }
.page-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.page-split h2 { margin-bottom: 24px; }
.page-split h2 em, .page-next h2 em, .page-hero h1 em { color: var(--blue); }
.page-lead { font-size: 16px; color: var(--muted); max-width: 520px; }
.page-steps { list-style: none; counter-reset: page-step; margin: 0; padding: 0; }
.page-steps li { counter-increment: page-step; display: grid; grid-template-columns: 56px 1fr; column-gap: 12px; padding: 20px 0; border-top: 1px solid var(--line); }
.page-steps li:last-child { border-bottom: 1px solid var(--line); }
.page-steps li::before { content: counter(page-step, decimal-leading-zero); grid-row: span 2; font-family: var(--serif); font-size: 30px; line-height: 1; color: var(--blue); }
.page-steps strong { font-size: 17px; }
.page-steps span { font-size: 15px; color: var(--muted); line-height: 1.65; }
.page-band { background: var(--surface-alt); }
.page-pillars > div { grid-template-columns: 110px 1fr; }
.page-offers { display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; align-items: stretch; }
.page-offer { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 32px; display: flex; flex-direction: column; }
.page-offer-main { border-color: var(--blue); box-shadow: 0 10px 30px #0f1e3312; }
.page-offer .eyebrow { margin-bottom: 12px; color: var(--blue); }
.page-offer h3 { font-size: 32px; margin-bottom: 8px; }
.page-offer-for { font-size: 14px; color: var(--muted); margin-bottom: 20px; }
.page-price { font-family: var(--serif); font-weight: 600; font-size: 46px; line-height: 1; letter-spacing: -.03em; margin: 0 0 8px; }
.page-price small { display: block; margin-top: 6px; font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); }
.page-price-note { font-size: 13px; color: var(--muted); padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.page-offer ul { margin: 4px 0 0; padding-left: 18px; font-size: 15px; line-height: 1.6; }
.page-offer li { margin: 7px 0; }
.page-guarantee { margin: 28px 0 0; padding: 16px 20px; border-left: 2px solid var(--blue); background: var(--paper); font-size: 15px; max-width: 820px; }
.page-call-guide img { width: 100%; max-width: 420px; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 70%; border-radius: 6px; }
.page-call-guide p { margin-top: 18px; font-size: 14px; color: var(--muted); max-width: 420px; }
.page-call-guide strong { color: var(--ink); }
.page-two-lists { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 10px 0 34px; }
.page-two-lists h3 { font-size: 21px; margin-bottom: 10px; }
.page-two-lists ul { margin: 0; padding-left: 18px; font-size: 15px; line-height: 1.6; color: var(--muted); }
.page-two-lists li { margin: 6px 0; }
.page-booking { background: var(--surface); border-radius: 6px; padding: 26px 28px; margin-bottom: 30px; }
.page-booking .eyebrow { margin-bottom: 10px; color: var(--blue); }
.page-write h3 { font-size: 22px; margin-bottom: 8px; }
.page-write p { font-size: 15px; color: var(--muted); }
.page-write .article-next-actions { margin-top: 10px; }

@media (max-width: 900px) {
  .page-split { grid-template-columns: 1fr; gap: 36px; }
  .page-offers { grid-template-columns: 1fr; }
  .page-facts { grid-template-columns: repeat(2, 1fr); }
  .page-facts p:nth-child(3) { padding-left: 0; border-left: 0; }
  .page-facts p:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 700px) {
  .epigraph-wide-only { display: none; }
  .hero-format { font-size: 13px; margin-top: 12px; }
  .page-facts strong { font-size: 32px; }
  .page-facts p { padding: 16px 12px 16px 0; }
  .page-facts p + p { padding-left: 12px; }
  .page-facts p:nth-child(3) { padding-left: 0; }
  .page-two-lists { grid-template-columns: 1fr; gap: 18px; }
  .page-offer { padding: 24px 20px; }
  .page-price { font-size: 40px; }
  .page-pillars > div { grid-template-columns: 1fr; }
  .quiz-mirror { padding: 18px 16px 4px; }
  .quiz-mirror blockquote { font-size: 17px; }
}
.quiz-bars-narrow { display: none; }
@media (max-width: 700px) {
  .quiz-map, .quiz-map-note, .quiz-scores-wide { display: none; }
  .quiz-bars-narrow { display: grid; }
  .hero-format { gap: 6px; }
  .hero-format span { padding: 3px 10px; border-radius: 20px; background: var(--surface); }
  .hero-format span + span::before { content: none; }
}

/* Entrée du 18 septembre : le logo, une invitation, une action. */
.arrival-page { --arrival-navy: #0f1e33; }
.arrival {
  display: flex; align-items: center; justify-content: center;
  min-height: calc(100svh - 76px); padding: 28px 24px 52px;
  background: var(--arrival-navy); color: #f4f7fb; text-align: center;
}
.arrival-content { width: 100%; max-width: 920px; margin: auto; }
.arrival-symbol { position: relative; width: fit-content; margin: 0 auto 16px; padding-bottom: 34px; }
.arrival-mark {
  display: block; width: clamp(210px, 31svh, 310px); height: auto;
  overflow: visible; filter: drop-shadow(0 12px 10px #050d195c);
}
.arrival-part { transform-box: view-box; transform-origin: 50% 50%; }
.part-hit { cursor: pointer; -webkit-tap-highlight-color: transparent; outline: none; }
.part-hit .arrival-part { transition: filter 180ms; }
.part-hit:hover .arrival-part, .part-hit:focus-visible .arrival-part { filter: brightness(1.13); }
.part-hit:focus-visible .arrival-part > g { stroke: #fff; stroke-width: 55px; }
.arrival-self { pointer-events: none; }
.arrival-symbol.is-welcoming .arrival-part { animation: arrival-heartbeat 1400ms ease-in-out 3; }
.arrival-symbol.is-engaged:not(.is-welcoming) .arrival-part { animation: arrival-heartbeat 1400ms ease-in-out infinite; }
@keyframes arrival-heartbeat {
  0%, 52%, 100% { transform: scale(1); }
  12% { transform: scale(1.045); }
  24% { transform: scale(1); }
  35% { transform: scale(1.025); }
}
.arrival-voices { position: absolute; bottom: 0; left: 50%; width: min(320px, 85vw); height: 24px; transform: translateX(-50%); }
.arrival-voices span {
  position: absolute; inset: 0; opacity: 0; transform: translateY(3px); pointer-events: none;
  color: #d8e6f1; font-size: 15px; font-weight: 400; line-height: 24px;
  transition: opacity 140ms, transform 140ms;
}
.arrival-voices span:not([hidden]) { opacity: 1; transform: none; }
.arrival h1 {
  font-family: var(--sans); font-size: clamp(43px, 5vw, 68px); font-weight: 600;
  line-height: 1.06; letter-spacing: -.05em; text-wrap: balance;
}
.arrival-baseline { margin: 22px 0 29px; color: #bacadb; font-size: clamp(20px, 2.1vw, 25px); font-weight: 400; letter-spacing: -.02em; }
.arrival-actions { display: flex; flex-direction: column; align-items: center; gap: 12px; }
/* Bouton secondaire « Essayer une pratique » (2026-09-30) : meme famille que le principal, en contour,
   pour rester derriere « Essayer une seance gratuite » sans casser l'effet d'arrivee. */
.arrival .button.button-ghost { min-height: 48px; padding: 12px 24px; background: transparent; color: #f3f7fb; border-color: #ffffff59; box-shadow: none; font-weight: 500; }
.arrival .button.button-ghost:hover { background: #ffffff1f; color: #fff; }
.arrival .button {
  justify-content: center; padding: 16px 28px; min-height: 54px; border: 1px solid #eaf0f7;
  border-radius: 12px; background: #eef4fa; color: #13273e; font-size: 16px;
  font-weight: 600; box-shadow: 0 2px 5px #00000014; transition: background-color 180ms;
}
.arrival .button:hover { background: #fff; transform: none; }
.arrival .button:focus-visible { outline-color: #8fcad0; }
.arrival-intro { padding: 66px 0; background: #f6f8fa; border-bottom: 1px solid #e0e7ed; }
.arrival-intro-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: start; }
.arrival-intro .eyebrow { margin-bottom: 18px; color: #577187; }
.arrival-intro h2 { font-family: var(--sans); font-size: clamp(29px, 2.65vw, 40px); font-weight: 500; letter-spacing: -.04em; line-height: 1.15; color: #18324b; }
.arrival-intro h2 em { font: inherit; color: #527085; }
.arrival-intro-copy > p { font-size: 17px; line-height: 1.65; color: #465968; margin-bottom: 17px; }
.arrival-intro-copy > .arrival-format { color: #18324b; font-size: 16px; font-weight: 600; }
.arrival-intro-copy > .arrival-context { font-size: 15px; }
.arrival-intro-links { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 24px; }
.arrival-intro-links .text-link { color: #214b63; }
@media (max-width: 1150px) {
  .arrival-intro-grid { gap: 38px; }
}
@media (max-width: 700px) {
  .arrival { min-height: calc(100svh - 68px); padding: 32px 22px 46px; }
  .arrival-symbol { margin-bottom: 12px; }
  .arrival-mark { width: clamp(200px, 29svh, 252px); max-width: 70vw; }
  .arrival h1 { font-size: clamp(38px, 10vw, 51px); }
  .arrival-baseline { margin: 20px 0 26px; font-size: 21px; }
  .arrival .button { padding: 15px 24px; font-size: 16px; }
  .arrival-intro { padding: 42px 0; }
  .arrival-intro-grid { grid-template-columns: 1fr; gap: 24px; }
  .arrival-intro h2 { font-size: 30px; }
  .arrival-intro-copy > p { font-size: 16px; }
  .arrival-intro-copy > .arrival-context { font-size: 15px; }
}
@media (max-height: 650px) and (min-width: 701px) {
  .arrival { padding-top: 16px; padding-bottom: 24px; }
  .arrival-mark { width: 160px; }
  .arrival-symbol { margin-bottom: 6px; padding-bottom: 27px; }
  .arrival h1 { font-size: 42px; }
  .arrival-baseline { margin: 13px 0 18px; font-size: 20px; }
}
@media (max-height: 740px) and (max-width: 700px) {
  .arrival { padding-top: 24px; padding-bottom: 32px; }
  .arrival-mark { width: clamp(150px, 28svh, 200px); }
  .arrival-symbol { padding-bottom: 28px; margin-bottom: 8px; }
  .arrival h1 { font-size: clamp(34px, 9.7vw, 45px); }
  .arrival-baseline { margin: 14px 0 22px; font-size: 20px; }
}
@media (prefers-reduced-motion: reduce), print {
  .arrival-symbol .arrival-part { animation: none !important; transform: none; }
  .arrival-voices span, .part-hit .arrival-part, .arrival-page .header { transition: none; }
}

/* Une navigation stable, commune à l'accueil et aux pages de détail. */
.header {
  height: 76px; padding: 0 32px; gap: 24px;
  background: var(--navy); color: #edf3f7;
  border-bottom: 1px solid #ffffff14; box-shadow: 0 3px 14px #0f1e3308;
}
.header .brand { flex-shrink: 0; gap: 9px; }
.header .brand > img { display: block; width: 32px; height: 36px; object-fit: contain; }
.header .brand > span { font-size: 36px; }
.header .brand-dot { color: #66b3b8; }
.header .space-link { color: #dae3ed; border-color: #ffffff50; font-weight: 400; white-space: nowrap; }
.header .nav a { color: #dae3ed; white-space: nowrap; }
.header .nav a:hover, .header .nav a[aria-current] { color: #9ed3d8; }
.header .nav a[aria-current] { text-decoration: underline; text-underline-offset: 7px; }
.header :focus-visible { outline-color: #9ed3d8; }
.header-actions { gap: 14px; }
.header-actions > .button:not([hidden]) { display: inline-flex !important; }
.header-actions > .button {
  min-height: 40px; border-radius: 7px; background: #eaf0f6;
  border-color: #eaf0f6; color: var(--navy); white-space: nowrap;
}
.header-actions > .button:hover { background: #fff; transform: none; }
.header .button .button-label-wide, .header .button .button-label-short { font-size: inherit; line-height: inherit; }
.header .menu-toggle span { background: #edf3f7; }
.language-selector { position: relative; display: flex; flex-shrink: 0; }
.header .lang-toggle {
  display: grid; place-items: center; width: 40px; min-width: 40px; height: 40px;
  padding: 0; color: #dae3ed; border: 1px solid #ffffff24; background: transparent;
}
.header .lang-toggle:hover, .header .lang-toggle[aria-expanded="true"] { color: #fff; border-color: #8fcad0; background: #ffffff0c; }
.language-options {
  position: absolute; z-index: 10; right: 0; top: calc(100% + 12px); width: 180px;
  padding: 7px; border: 1px solid #ffffff29; border-radius: 10px;
  background: #16273f; box-shadow: 0 12px 32px #030c1940;
}
.language-options button {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  min-height: 44px; padding: 9px 12px; border: 0; border-radius: 5px;
  background: transparent; color: #edf3f7; font-size: 14px; text-align: left;
}
.language-options button:hover, .language-options button[aria-pressed="true"] { background: #ffffff0e; }
.language-options button span { visibility: hidden; color: #9ed3d8; }
.language-options button[aria-pressed="true"] span { visibility: visible; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
@media (min-width: 1200px) {
  .header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; }
  .header .nav, .header .nav.open {
    display: flex; position: static; padding: 0; border: 0; background: none;
    flex-direction: row; justify-content: center; align-items: center;
    gap: clamp(16px, 1.7vw, 27px); font-size: 14px;
  }
  .header .nav a { display: block; padding: 0; }
  .header .menu-toggle { display: none; }
}
@media (min-width: 1200px) and (max-width: 1440px) {
  .header { padding: 0 24px; gap: 18px; }
  .header .nav { gap: 16px; font-size: 13px; }
  .header-actions > .button .button-label-wide { display: none; }
  .header-actions > .button .button-label-short { display: inline; }
  .header-actions > .button [aria-hidden="true"] { display: none; }
  .header-actions > .button { padding: 9px 14px; font-size: 13px; }
}
@media (max-width: 1199px) {
  .header .menu-toggle { display: block; }
  .header .nav {
    display: none; position: absolute; inset: 100% 0 auto; flex-direction: column;
    align-items: stretch; gap: 0; padding: 14px 32px 22px;
    max-height: calc(100svh - 76px); overflow-y: auto;
    background: var(--navy); border-bottom: 1px solid #ffffff24;
  }
  .header .nav.open { display: flex; }
  .header .nav a { display: block; min-height: 44px; padding: 10px 0; font-size: 16px; }
}
@media (min-width: 1366px) and (max-width: 1440px) {
  .header .nav { font-size: 14px; gap: 20px; }
}
@media (max-width: 700px) {
  .header { height: 68px; padding: 0 18px; gap: 10px; }
  .header .brand > span { font-size: 29px; }
  .header .brand > img { width: 24px; height: 28px; }
  .header .brand { gap: 6px; }
  .header-actions { gap: 6px; }
  .header .space-link { font-size: 12px; }
  .header-actions > .button { min-height: 38px; padding: 7px 9px; }
  .header .nav { padding: 12px 24px 20px; max-height: calc(100svh - 68px); }
}
@media (max-width: 370px) {
  .header { padding: 0 12px; gap: 6px; }
  .header .brand > span { font-size: 25px; }
  .header .brand > img { width: 22px; height: 26px; }
  .header-actions { gap: 4px; }
  .header-actions > .button { padding: 7px; }
  .header .lang-toggle { width: 36px; min-width: 36px; height: 38px; }
  .header .menu-toggle { width: 34px; }
}


/* Retour de Guy du 19 septembre : un premier écran qui respire.
   En haut de l'accueil, l'en-tête se fond dans le bleu et ne garde que le logo,
   la langue, « Mon espace » et le menu. Le reste revient dès qu'on descend. */
.arrival-page .header { transition: border-color 300ms, box-shadow 300ms; }
.arrival-page .header .nav, .arrival-page .header-actions > .button { transition: opacity 300ms, visibility 300ms; }
.arrival-page.arrival-at-top .header { border-bottom-color: transparent; box-shadow: none; }
.arrival-page.arrival-at-top .header-actions > .button { opacity: 0; visibility: hidden; }
@media (min-width: 1200px) {
  .arrival-page.arrival-at-top .header .nav:not(.open) { opacity: 0; visibility: hidden; }
  .arrival-page.arrival-at-top .header .menu-toggle { display: block; }
  .arrival-page.arrival-at-top .header .nav.open {
    position: absolute; inset: 100% 0 auto; flex-direction: column; align-items: stretch;
    gap: 0; padding: 14px 32px 22px; background: var(--navy); border-bottom: 1px solid #ffffff24;
  }
  .arrival-page.arrival-at-top .header .nav.open a { min-height: 44px; padding: 10px 0; font-size: 16px; }
}

/* Le titre dans la typographie de la marque, et non dans la police du système. */
.arrival h1 { font-family: var(--serif); font-weight: 600; letter-spacing: -.035em; line-height: 1.04; }
.arrival-baseline { font-family: var(--serif); font-style: italic; font-weight: 500; letter-spacing: -.01em; color: #c3d2e1; }

/* Une invitation discrète, après les trois battements, tant qu'aucune voix n'est affichée. */
.arrival-hint {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  white-space: nowrap; line-height: 24px; font-size: 14px; letter-spacing: .06em;
  color: #8ea5bb; opacity: 0; pointer-events: none; transition: opacity 700ms ease;
}
@media (prefers-reduced-motion: reduce) {
  .arrival-page .header, .arrival-page .header .nav, .arrival-page .header-actions > .button, .arrival-hint { transition: none; }
}
.arrival-symbol[data-active-voice] .arrival-hint { transition-duration: 120ms; }
@media (min-width: 1200px) {
  .arrival-page.arrival-at-top .header-actions { grid-column: 3; }
}
.arrival-page.arrival-at-top .header-actions > .button:not([hidden]) { display: none !important; }


/* Retour de Guy du 19 septembre, suite : une respiration lente après les battements,
   puis l'invitation à choisir une couleur et à descendre. */
.arrival { position: relative; }
/* La respiration anime les parts comme les battements (même mécanisme), et non le dessin entier :
   Safari iOS changeait de couche de rendu au passage et produisait un petit décalage latéral.
   L'étoile du centre reste immobile. Retour de Guy : un peu plus ample et un peu plus lente. */
.arrival-symbol.is-breathing .arrival-part { animation: arrival-breath 5600ms cubic-bezier(.45, 0, .55, 1) 1; }
@keyframes arrival-breath {
  0%, 100% { transform: scale(1); }
  46% { transform: scale(1.058); }
  56% { transform: scale(1.058); }
}
.arrival-symbol .arrival-hint { opacity: 0; }
.arrival.has-arrived .arrival-symbol:not([data-active-voice]) .arrival-hint { opacity: 1; }
.arrival-scroll {
  position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%);
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  color: #8ea5bb; opacity: 0; pointer-events: none; transition: opacity 900ms ease, color 200ms;
}
.arrival.has-arrived .arrival-scroll { opacity: 1; pointer-events: auto; animation: arrival-scroll-drift 2600ms ease-in-out 900ms 3; }
.arrival-scroll:hover, .arrival-scroll:focus-visible { color: #e3edf3; }
.arrival-scroll:focus-visible { opacity: 1; pointer-events: auto; outline: 2px solid #8fcad0; outline-offset: 2px; }
@keyframes arrival-scroll-drift {
  0%, 100% { transform: translate(-50%, 0); }
  50% { transform: translate(-50%, 5px); }
}
@media (max-height: 650px) {
  .arrival-scroll { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .arrival-symbol.is-breathing .arrival-part, .arrival.has-arrived .arrival-scroll { animation: none; }
  .arrival-scroll { transition: none; }
}
/* Place réservée à l'invitation à descendre, sous le bouton. */
.arrival { padding-bottom: 88px; }
@media (max-width: 700px) {
  .arrival { padding-bottom: 80px; }
  .arrival-scroll { bottom: 12px; }
}
@media (max-height: 650px) {
  .arrival { padding-bottom: 24px; }
}

/* Anglais par défaut : le texte français d'origine n'apparaît pas avant la traduction. */
.i18n-pending body { visibility: hidden; }


/* Téléphone : tour des parts après la respiration, puis « Découvre tes parts ». */
.part-hit .arrival-part { transition: filter 180ms, transform 700ms cubic-bezier(.45, 0, .55, 1); }
.part-hit.is-spotlit .arrival-part { transform: scale(1.09); filter: brightness(1.08); }
.arrival-discover {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  display: none; white-space: nowrap; line-height: 24px; font-size: 15px; font-weight: 600;
  color: #e3edf3; border-bottom: 1px solid #ffffff55; opacity: 0; pointer-events: none;
  transition: opacity 700ms ease;
}
.arrival-discover span { color: #9ed3d8; margin-left: 4px; }
.arrival.is-touch .arrival-hint { display: none; }
.arrival.is-touch .arrival-discover { display: inline-block; }
.arrival.is-touch.tour-done .arrival-discover { opacity: 1; pointer-events: auto; }
.arrival.is-touching .arrival-scroll, .arrival.is-touring .arrival-scroll { opacity: 0; pointer-events: none; }
.arrival-discover:focus-visible { outline: 2px solid #8fcad0; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .part-hit .arrival-part, .arrival-discover { transition: none; }
}

/* Section « L'humain » : rôle de l'accompagnateur à gauche, cartes des accompagnateurs à droite.
   La grille de cartes accueille un ou plusieurs accompagnateurs sans autre réglage. */
.guide-copy > .guide-role-title { font-family: var(--serif); font-size: 26px; font-weight: 600; line-height: 1.25; margin: 34px 0 14px; }
.guide-team > .eyebrow { font-size: 12px; color: var(--blue); margin-bottom: 22px; }
.guide-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 44px; }
.guide-team .guide-photo { position: relative; top: auto; }
.guide-card > p { font-size: 15px; line-height: 1.65; color: var(--muted); margin: 18px 0 0; }
.guide-card-contact.article-next-actions { margin-top: 22px; flex-wrap: nowrap; gap: 14px; }
.guide-card-contact .text-link { font-size: 12px; gap: 8px; white-space: nowrap; }
@media (min-width: 701px) { .guide { grid-template-columns: 1.2fr 1fr; } }
.resource-callout + .resource-callout { margin-top: 40px; padding-top: 40px; border-top: 1px solid var(--line); }

/* Lien « Installer l'application » : uniquement en bas du menu burger (le pied de page le porte partout). */
.header .nav a.nav-install { display: none; }
@media (max-width: 1199px) {
  .header .nav a.nav-install { display: block; margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--blue); font-weight: 600; }
}
