/* Direction 01: Affinités éditoriales. */
.presentation{background:var(--cream);color:var(--ink)}
.presentation .site-header,.article-page .site-header{max-width:1260px;padding:28px 40px;margin:auto}
.site-header nav{display:flex;gap:28px;align-items:center;font-size:.9rem}
.site-header nav a{text-decoration:none;color:var(--ink)}
.site-header .secondary{border-color:var(--color-border);background:transparent;border-radius:var(--radius);min-height:44px;padding:8px 16px}
.presentation main{max-width:none;margin:0;padding:0;min-height:0}
.site-wrap{width:min(1180px,calc(100% - 80px));margin:auto}
.presentation h1,.presentation h2,.presentation h3,.article-page h1,.article-page h2,.article-page h3{font-family:var(--font-heading);font-weight:500}
.presentation .eyebrow,.article-page .eyebrow{color:var(--terra);font-size:13px;letter-spacing:.12em;line-height:1.6}
.landing-hero{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:80px;padding:56px 0 88px}
.landing-hero h1{font-size:clamp(3.6rem,6vw,5.3rem);line-height:.99;letter-spacing:-.055em;margin:24px 0}
.landing-hero h1 em{color:var(--terra);font-weight:400}
.hero-copy>p:not(.eyebrow){font-size:1.03rem;line-height:1.8;color:var(--muted);max-width:410px}
.presentation .primary{background:var(--blue);color:var(--paper);border-radius:var(--radius);padding:16px 24px;min-height:54px;font-size:.93rem}
.presentation .primary:hover{background:var(--color-text)}
.presentation .under-cta,.hero-copy .under-cta{font-size:.82rem;line-height:1.6;margin-top:16px;color:var(--muted)}
.hero-art{position:relative;height:490px}
.art-page{position:absolute;inset:0 0 32px 16px;background:var(--color-soft);border-radius:var(--radius);overflow:hidden}
.art-page:after{content:"";position:absolute;bottom:-89px;left:8%;width:90%;height:340px;border:1px solid var(--color-accent);border-radius:var(--radius);transform:rotate(-14deg)}
.art-orbit{position:absolute;inset:15px 0 0;width:100%;height:100%}
.art-caption{position:absolute;top:43px;left:50%;transform:translateX(-50%);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);white-space:nowrap}
.floating-profile{position:absolute;width:262px;left:-18px;bottom:0;padding:24px 24px;background:var(--color-surface);border:1px solid var(--color-soft);border-radius:var(--radius);box-shadow:0 20px 50px color-mix(in srgb, var(--color-primary) 8.63%, transparent);transform:none}
.floating-profile h3,.floating-profile h2{font-size:1.3rem;line-height:1.4;margin:8px 0 16px}
.floating-profile .little-line{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:8px}
.little-line b{font-weight:500}.line-track{height:3px;flex:1;background:var(--color-soft);margin-left:8px}.line-track i{height:3px;display:block;background:var(--color-accent)}
.art-note{position:absolute;right:5px;bottom:12px;font-family:var(--font-heading);font-style:italic;font-size:1rem;transform:none}
.demo-label{font-size:13px;letter-spacing:.055em;text-transform:uppercase;color:var(--color-muted);line-height:1.6}
.statement{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:32px}
.statement strong,.statement h2{font-family:var(--font-heading);font-size:1.5rem;font-weight:500;letter-spacing:-.02em;max-width:600px;line-height:1.45;margin:0}
.statement span,.statement p{font-size:.83rem;line-height:1.7;max-width:270px;color:var(--muted)}
.conversation-section{padding:100px 0;display:grid;grid-template-columns:.88fr 1.12fr;gap:88px;align-items:center}
.section-kicker{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);font-weight:700;margin:0 0 16px}
.section-title{font-size:clamp(2.25rem,4vw,3rem);line-height:1.13;letter-spacing:-.035em;margin:0}
.section-text{color:var(--muted);max-width:450px;font-size:1rem;line-height:1.8;margin:24px 0}
.mode-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:24px 0}
.mode-links a{font-size:.82rem;text-decoration:none;border:1px solid var(--ink);padding:12px 16px;border-radius:var(--radius);line-height:1.6}
.mode-links a:first-child{background:var(--ink);color:var(--paper)}
.privacy-note{font-size:.83rem;line-height:1.7;color:var(--muted);margin-top:20px}
.chat{background:var(--color-surface);border:1px solid var(--line);padding:28px;border-radius:var(--radius);box-shadow:0 18px 45px color-mix(in srgb, var(--color-text) 2.75%, transparent)}
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.chat-identity{display:flex;gap:12px;align-items:center}
.chat-identity strong{display:block;font-size:1rem}.chat-identity small{display:block;font-size:13px;margin-top:4px;color:var(--muted)}
.chat-meta{font-size:13px;color:var(--muted)}
.luv-avatar{width:38px;height:34px;display:grid;place-items:center;color:var(--ink);background:var(--color-soft);border-radius:12px;letter-spacing:6px;font-size:40px;line-height:20px;padding-left:8px;padding-bottom:20px;flex-shrink:0}
.chat-log{display:grid;gap:16px}
.bubble{max-width:90%;padding:16px 20px;border-radius:var(--radius);font-size:.92rem;line-height:1.7}
.bubble.luv{background:var(--color-background)}.bubble.you{background:var(--blue);color:var(--paper);justify-self:end;border-bottom-right-radius:var(--radius)}
.bubble-label{display:block;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;color:var(--color-muted)}
.bubble.you .bubble-label{color:var(--color-soft)}
.conversation-foot{text-align:center;font-size:13px;line-height:1.7;color:var(--muted);margin:16px 0 0}
.profile-section{background:var(--color-soft);padding:76px 0}
.profile-section .site-wrap{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.profile-card{background:var(--color-background);padding:36px;border-radius:var(--radius);position:relative;max-width:510px}
.profile-card-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.profile-name{font-size:2rem;margin:16px 0 16px;letter-spacing:-.025em}
.profile-quote{font-size:.97rem;line-height:1.8;max-width:360px;color:var(--muted)}
.profile-tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 8px}
.profile-tags span{font-size:13px;border:1px solid var(--color-muted);padding:8px 8px;border-radius:var(--radius);color:var(--color-primary)}
.radar{display:block;width:100%;height:auto;max-width:350px;margin:20px auto}
.profile-actions{margin-top:16px}.profile-actions a{color:var(--ink);font-size:.88rem;text-underline-offset:5px}
.path-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;padding:68px 0;border-bottom:1px solid var(--line)}
.step-num{font-size:13px;letter-spacing:.12em;color:var(--terra)}
.path-steps h3,.path-steps h2{margin:16px 0 12px;font-size:1.5rem}
.path-steps p{font-size:.94rem;line-height:1.8;color:var(--muted);max-width:305px}
.privacy-feature{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:76px 0;border-bottom:1px solid var(--line)}
.privacy-feature h2{font-size:2.3rem;line-height:1.17;margin:16px 0}
.privacy-feature p:not(.eyebrow){line-height:1.8;color:var(--muted);font-size:1rem}
.text-link{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--color-muted);padding-bottom:4px;display:inline-block;font-size:.9rem;margin-top:16px}
.landing-guides{padding:76px 0;border-bottom:1px solid var(--line)}
.landing-guides .section-title{margin:20px 0 36px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.guide-grid>a{display:block;text-decoration:none;color:var(--ink);border-top:1px solid var(--color-border);padding:24px 16px 8px 0}
.guide-grid h3{font-size:1.75rem;line-height:1.3;margin:16px 0}.guide-grid p{font-size:.95rem;line-height:1.8;color:var(--muted);max-width:400px}
.guide-grid>a:hover .text-link{color:var(--terra)}
.landing-faq{padding:76px 0;border-bottom:1px solid var(--line)}
.landing-faq h2{margin:20px 0 32px}
.landing-faq details{border-bottom:1px solid var(--line);padding:24px 0;max-width:900px}
.landing-faq summary{cursor:pointer;font-size:1rem;font-weight:500;line-height:1.6}
.landing-faq details p{margin-top:16px;color:var(--muted);line-height:1.8;font-size:1rem;max-width:810px}
.last-call{padding:76px 0 84px;text-align:center}
.last-call h2{font-size:3.2rem;margin:16px 0 32px}.last-call .under-cta{margin-top:20px}
.site-footer{max-width:1180px;width:calc(100% - 80px);padding:36px 0 44px;display:grid;grid-template-columns:1fr 1.3fr;gap:32px;margin:auto;border-top:1px solid var(--line);align-items:start;justify-content:initial;font-size:.85rem}
.site-footer p{margin-top:8px;color:var(--muted);font-size:.82rem;line-height:1.7}
.site-footer nav{display:flex;gap:16px 24px;flex-wrap:wrap;justify-content:flex-end}
.site-footer a{color:var(--ink);text-decoration:none;font-size:.85rem}.site-footer .brand-footer{font-size:1.4rem}
.site-footer .social-links{grid-column:1/-1;justify-content:flex-start;align-items:center;gap:8px 12px}
.site-footer .social-title{flex-basis:100%;font-weight:700}
.site-footer .social-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius);line-height:1.3}
.site-footer .social-links a:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.site-footer .social-links a:focus-visible{outline:3px solid var(--terra);outline-offset:4px}
.site-footer .footer-note{grid-column:1/-1;font-size:13px;margin:0}
@media(max-width:1050px){.landing-hero{gap:44px}.landing-hero h1{font-size:4.3rem}.conversation-section{gap:48px}.profile-section .site-wrap,.privacy-feature{gap:60px}.chat{padding:24px}}
@media(max-width:800px){.landing-hero{gap:32px}.landing-hero h1{font-size:3.6rem}.hero-art{height:390px}.floating-profile{width:220px;left:-7px;padding:16px}.art-note{font-size:.85rem}.conversation-section{grid-template-columns:1fr;gap:40px;padding:64px 0}.conversation-section>div:first-child{max-width:600px}.section-text{max-width:550px}.chat{max-width:620px;width:100%;margin:auto}.profile-section .site-wrap{gap:36px}.profile-card{padding:24px}.profile-name{font-size:1.6rem}.path-steps{gap:24px}.privacy-feature{gap:36px}}
@media(max-width:650px){.presentation .site-header,.article-page .site-header{padding:24px 20px}.site-header nav{gap:12px;font-size:13px}.site-header .nav-method{display:none}.site-header .secondary{padding:8px 12px;min-height:42px;font-size:13px;white-space:nowrap}.site-wrap{width:calc(100% - 40px)}.landing-hero{grid-template-columns:1fr;gap:36px;padding:36px 0 56px}.landing-hero h1{font-size:4rem;margin:24px 0}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-art{height:365px;width:calc(100% - 20px);max-width:365px;margin:auto}.art-page{inset:0 0 28px 20px;border-radius:var(--radius)}.floating-profile{width:213px;left:-5px;padding:16px 20px}.floating-profile h3{font-size:1.17rem}.art-caption{font-size:13px;top:34px}.art-note{bottom:5px;right:-4px}.statement{display:block;padding:24px 0}.statement strong{display:block;font-size:1.4rem}.statement span{display:block;max-width:none;margin-top:16px}.conversation-section{padding:56px 0}.section-title{font-size:2.25rem}.chat{padding:20px}.bubble{font-size:.9rem;padding:16px;max-width:94%}.chat-meta{display:none}.profile-section{padding:48px 0}.profile-section .site-wrap,.privacy-feature,.guide-grid{grid-template-columns:1fr;gap:32px}.profile-section .site-wrap>div:last-child{order:-1}.profile-card{width:100%;max-width:460px;margin:auto}.path-steps{grid-template-columns:1fr;padding:44px 0;gap:28px}.path-steps p{max-width:none}.path-steps h3{margin-top:12px}.privacy-feature,.landing-guides,.landing-faq{padding:48px 0}.privacy-feature h2{font-size:2.2rem}.last-call{padding:56px 0}.last-call h2{font-size:2.5rem}.site-footer{width:calc(100% - 40px);grid-template-columns:1fr;gap:24px}.site-footer nav{justify-content:flex-start}.mode-links{align-items:flex-start}.mode-links a{font-size:13px}}
@media(max-width:360px){.landing-hero h1{font-size:3.5rem}.hero-art{height:340px}.mode-links a{padding:8px 12px}.site-header .secondary{font-size:13px;padding:8px 8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


.blog-grid{display:grid;gap:0;margin:32px 0 44px}.blog-grid article{padding:32px 0;border-top:1px solid var(--line)}.article-page .blog-grid h2{font-size:2rem;line-height:1.25;margin:16px 0}.blog-grid h2 a{color:var(--ink);text-decoration:none}.blog-grid h2 a:hover{color:var(--terra)}.blog-grid p{max-width:680px;color:var(--muted);line-height:1.8}
.compatibility-hero-link{display:flex;gap:8px;flex-direction:column;text-decoration:none;color:var(--ink);margin-top:24px;max-width:410px}
.compatibility-hero-link strong{font-size:1.2rem;font-weight:700;color:var(--terra)}
.compatibility-hero-link span{font-size:.82rem;line-height:1.6}
.compatibility-section{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px;padding:80px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.compatibility-copy .section-title em{font-weight:400;color:var(--terra)}
.compatibility-rules{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.compatibility-rules>div{border-top:1px solid var(--color-border);padding-top:16px}
.rule-number{font-size:13px;letter-spacing:.1em;color:var(--terra)}
.compatibility-rules h3{font-size:1.4rem;line-height:1.3;margin:12px 0}
.compatibility-rules p{font-size:.9rem;line-height:1.7;color:var(--muted)}
.compatibility-demo{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:0;box-shadow:0 18px 45px color-mix(in srgb, var(--color-text) 2.75%, transparent)}
.compatibility-score{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0 8px}
.compatibility-score div>span{display:block;font-size:13px;color:var(--muted)}
.compatibility-score strong{display:block;font-family:var(--font-heading);font-size:3.5rem;line-height:1.2;font-weight:500;color:var(--ink)}
.compatibility-score strong span{font-size:1.9rem}
.essentials-tag{font-size:13px;line-height:1.4;padding:8px 12px;border-radius:var(--radius);color:var(--color-text);background:var(--color-soft);text-align:center}
.compatibility-demo .compatibility-radar{display:block;width:100%;height:auto;margin:0 auto}
.compatibility-demo .radar-grid{fill:none;stroke:var(--color-border);stroke-width:1}
.compatibility-demo .radar-scale{fill:var(--color-muted);font-size:13px}
.compatibility-demo .radar-area{fill:color-mix(in srgb, var(--color-accent) 14.90%, transparent);stroke:var(--color-accent);stroke-width:2}
.compatibility-demo .radar-point{fill:var(--color-accent)}
.compatibility-demo .radar-labels{fill:var(--ink);font-size:13px}
.compatibility-demo .radar-value{fill:var(--terra);font-weight:700}
.compatibility-demo-note{font-size:13px;line-height:1.6;margin:4px 0 0;color:var(--muted)}
.compatibility-demo-values{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:0 0 16px;font-size:13px;line-height:1.5}
.compatibility-demo-values div{display:flex;justify-content:space-between;gap:8px}
.compatibility-demo-values dt{color:var(--muted)}
.compatibility-demo-values dd{margin:0;color:var(--terra);font-weight:700;white-space:nowrap}
.essential-example{border-left:3px solid var(--color-accent);background:var(--color-soft);border-radius:var(--radius);padding:16px 24px;margin-top:16px}
.essential-example h3{font-size:1.35rem;margin:8px 0}
.essential-example p{font-size:.87rem;line-height:1.65;color:var(--muted);margin:8px 0 0}
.essential-example .essential-example-note{font-size:13px}
.compatibility-section-note{grid-column:1/-1;font-size:13px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin:0;max-width:900px}
@media(max-width:900px){.compatibility-section{grid-template-columns:1fr;gap:32px;padding:60px 0}.compatibility-copy .section-text{max-width:650px}.compatibility-examples{max-width:560px;width:100%;margin:auto}}
@media(max-width:650px){.compatibility-section{padding:48px 0;gap:28px}.compatibility-rules{gap:16px}.compatibility-rules h3{font-size:1.23rem}.compatibility-rules p{font-size:.86rem}.compatibility-demo{padding:20px 16px}.compatibility-score{padding:0 8px}.compatibility-score strong{font-size:3.2rem}.compatibility-score strong span{font-size:1.7rem}.compatibility-demo-note{padding:0 8px}.compatibility-section-note{font-size:13px}.compatibility-hero-link{margin-top:20px}}

/* Readable public status and a complete compact mobile navigation. */
.service-status{font-size:.875rem!important;line-height:1.65;color:var(--muted);max-width:650px}
@media(max-width:650px){
 .presentation .site-header,.article-page .site-header{display:grid;grid-template-columns:1fr;gap:16px;padding:20px}
 .site-header .brand{width:max-content;max-width:100%;gap:8px}
 .site-header .brand-name{white-space:nowrap;font-size:1.18rem}
 .site-header .brand-slogan{font-size:13px;line-height:1.5;white-space:normal}
 .site-header nav{width:100%;display:flex;gap:12px;justify-content:space-between;font-size:.875rem}
 .site-header .nav-method{display:block}
 .site-header nav a{display:flex;align-items:center;min-height:44px;white-space:nowrap}
 .site-header .secondary{font-size:.8125rem;min-height:44px;padding:8px 12px}
 .presentation .demo-label,.presentation .privacy-note,.presentation .under-cta{font-size:.875rem}
}
