/* Unified public-site layout — scoped to the editorial preview. */
:root{--ink:#12344f;--muted:#526b7b;--accent:#127e88}
body{color:var(--ink)}
.skip-link{position:fixed;left:18px;top:-100px;z-index:200;background:white;padding:14px;border:2px solid #127e88}.skip-link:focus{top:10px}
:focus-visible{outline:3px solid #127e88;outline-offset:4px}
[id]{scroll-margin-top:112px}
.site-header{min-height:90px;padding:14px max(24px,calc((100vw - 1240px)/2));gap:30px}
.site-header .brand-logo{width:205px;max-height:54px}
.brand-tagline{font-size:10px}.main-nav{gap:23px;font-size:14px}
.main-nav .button{padding:12px 20px;font-size:14px}
.button-primary{background:#127e88}.button-primary:hover{background:#12344f}
.button-secondary{color:#176b77;border-color:#a7c8cc}
.solution-nav{display:flex;justify-content:center;gap:34px;background:#f6f9fa;border-bottom:1px solid #e0e8eb;padding:0 18px}
.solution-nav a{padding:16px 0;font-size:14px;color:#596e7c;border-bottom:3px solid transparent}
.solution-nav a[aria-current]{border-color:var(--accent);color:var(--ink);font-weight:750}
.product-salles{--accent:#aa5d20}.product-enfance{--accent:#377851}
.hero{padding:80px max(28px,calc((100vw - 1180px)/2));min-height:560px}
.hero h1{font-size:clamp(38px,4.2vw,60px);line-height:1.09;letter-spacing:-.04em;max-width:680px}
.hero-copy{max-width:670px}.hero .lead{font-size:19px;line-height:1.65;max-width:600px}
.hero-home .hero-copy{max-width:640px}.hero-home{min-height:650px}
.hero-rh{background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 32%,rgba(255,255,255,.85) 53%,rgba(255,255,255,.12) 100%),url('./assets/hero-terriova-rh-fast.webp');background-size:cover;background-position:center right}
.hero-rh:after,.hero-product:after{display:none}
.hero-product{min-height:510px}.hero-copy>.product-logo{width:215px;margin:0 0 22px}
.hero-product .editorial-status{font-size:12px;padding:5px 11px;margin:0 0 18px}
.breadcrumb{margin-bottom:22px;font-size:12px}
.hero-notes{margin-top:32px}.hero-signature{font-size:25px;max-width:260px}
.page-anchors{display:flex;justify-content:center;gap:34px;padding:19px 24px;border-bottom:1px solid #e4ebee;font-size:14px;font-weight:650}
.section{padding:76px max(24px,calc((100vw - 1180px)/2))}
.section-heading{max-width:760px}.section-heading h2{font-size:clamp(29px,3vw,40px);line-height:1.18;letter-spacing:-.025em;margin:12px 0 20px}.section-heading>p:last-child{font-size:17px;line-height:1.65;color:var(--muted)}
.solution-grid{gap:22px;margin-top:40px}.solution-card{padding:46px 27px 28px;border-radius:20px;min-width:0;box-shadow:none!important}
.solution-card p{font-size:16px;line-height:1.6}.solution-card .card-lead{min-height:52px;font-size:15px}.solution-card .status{font-size:11px;padding:4px 10px;top:13px;right:14px}
.solution-card .product-card-brand{margin:8px 0 14px!important}.product-card-brand .product-logo{width:225px}
.solution-card>.solution-cta{font-size:14px;padding:11px 18px}
.principles{padding:60px max(24px,calc((100vw - 1180px)/2));background:#f5f9fa}.principle-grid{gap:10px}.principle-grid p{font-size:15px}
.product-benefits,.salles-benefits{max-width:none;margin:auto}.salles-stories{max-width:1060px;margin:50px auto 0;gap:74px}
.salles-story{gap:76px}.story-copy h3{font-size:clamp(26px,2.7vw,34px);letter-spacing:-.025em}.story-copy>p:last-child{font-size:17px;line-height:1.75}.story-art{padding:25px;border-radius:28px}.story-art svg{max-height:245px}.story-art figcaption{font-size:11px}
.salles-details{max-width:1060px;margin:45px auto 0}
.booking-journey{padding:64px max(24px,calc((100vw - 1080px)/2));gap:80px}.journey-intro{justify-self:start}.journey-intro h2{font-size:36px;letter-spacing:-.025em}.journey-list{padding-top:6px}
.compact-principles .two-side>div{background:transparent;border:0;padding:18px}.two-side h3{font-size:21px}.two-side p{font-size:17px;color:var(--muted)}
.excel-bridge{display:grid;grid-template-columns:1fr 1fr;gap:12px 70px;background:#12344f;color:white}.excel-bridge>.eyebrow{grid-column:1/-1;color:#91d4d3}.excel-bridge h2{font-size:clamp(30px,3.2vw,42px);line-height:1.18;letter-spacing:-.025em;margin:0}.excel-bridge p:not(.eyebrow){color:#d4e4eb;font-size:18px;line-height:1.7;margin-top:0}.text-link{font-weight:750;border-bottom:1px solid #84c6ce;padding-bottom:5px}
.pricing{background:#f8fafb}.pricing>.section-heading h2{font-size:30px}.pricing-selector{margin-bottom:38px}.pricing-selector button{font-size:15px;padding:11px 22px}.price-grid{gap:16px}.price-grid article{background:white;border-radius:16px}.price-grid strong{font-size:33px}.pricing-note{font-size:14px;max-width:900px;margin:24px auto 0}.notice{font-size:12px}
.faq-section .editorial-faq{max-width:860px}.editorial-faq details{padding:19px 0}.editorial-faq summary{font-size:16px;line-height:1.5}.editorial-faq details p{font-size:16px;line-height:1.75;color:var(--muted);max-width:760px}
.about{background:#f0f7f8}.about-points{margin-top:26px}.about-points>div{padding:18px 24px}.about-points h3{font-size:20px}.about-points p{font-size:16px}
.contact-section{padding:66px max(24px,calc((100vw - 1180px)/2));gap:65px}.contact-copy h2{font-size:clamp(30px,3.5vw,43px);line-height:1.15}.contact-copy p{font-size:17px;line-height:1.65}.demo-form>p.full:not(.form-success){font-size:12px;line-height:1.6;opacity:.9}.demo-form input,.demo-form select,.demo-form textarea{font-size:16px}.site-footer{padding:40px max(24px,calc((100vw - 1180px)/2))}
@media(max-width:1050px){.main-nav{gap:14px}.main-nav .button{padding:10px 14px}.site-header{gap:20px}.site-header .brand-logo{width:170px}.hero-signature{display:none}}
@media(max-width:800px){.site-header{min-height:74px;padding:12px 20px}.main-nav{top:74px}.hero{padding:48px 24px;min-height:0}.hero h1{font-size:38px}.hero-home{background-position:65% center}.hero-rh{background-image:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.88)),url('./assets/hero-terriova-rh-fast.webp')}.hero-copy>.product-logo{width:190px}.hero-notes{display:flex;flex-wrap:wrap;gap:18px}.hero-notes span{font-size:12px;padding:0}.solution-nav{gap:20px}.solution-nav a{font-size:13px}.page-anchors{gap:20px;font-size:13px;flex-wrap:wrap}.section{padding:50px 22px}.solution-grid{grid-template-columns:1fr;max-width:480px}.solution-card .card-lead{min-height:0}.salles-story{grid-template-columns:1fr;gap:22px}.salles-stories{gap:44px}.salles-story:nth-child(even) .story-copy,.salles-story:nth-child(even) .story-art{order:initial}.booking-journey,.excel-bridge{grid-template-columns:1fr;gap:30px}.excel-bridge>.eyebrow{grid-column:auto}.story-art svg{max-height:200px}.principle-grid{grid-template-columns:1fr 1fr}.principle-grid>div{border:0}.contact-section{padding:48px 22px;gap:28px}.site-footer{padding:36px 22px}.pricing-selector{gap:8px}.pricing-selector button{padding:10px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Navigation repliée dès que la largeur ne permet plus une ligne confortable. */
@media(min-width:801px) and (max-width:1050px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:20px 24px;flex-direction:column;align-items:stretch;gap:14px;box-shadow:0 10px 18px #0b2d4d18}.main-nav.open{display:flex}.main-nav .button{justify-content:center}}
@media(max-width:600px){.solution-nav{gap:16px}.solution-nav a{font-size:12px}.page-anchors{gap:14px}.hero h1{font-size:34px;overflow-wrap:break-word}.section-heading h2{overflow-wrap:break-word}.pricing-selector button{min-height:44px}.menu-toggle{min-width:44px;min-height:44px}.demo-form>*{min-width:0}.demo-form input,.demo-form select,.demo-form textarea{width:100%;min-width:0}.footer-links,.legal-links{flex-wrap:wrap}.contact-copy a{overflow-wrap:anywhere}}

/* Contact links keep their natural width; forms keep their full column. */
.contact-section > a.button{justify-self:start;width:auto;max-width:100%;min-height:48px;padding:15px 26px;text-align:center}
@media(min-width:801px){.contact-section:has(>a.button){grid-template-columns:minmax(0,1fr) auto;gap:48px}.contact-section:has(>a.button) .contact-copy p{max-width:600px}}
