/* CONSTANZA / EDITION 05 — Quiet kinetic editorial direction, October 2026 */
:root { --max:1400px; --gutter:clamp(22px, 5vw, 86px); --v5-red:#aa4964; --v5-line:rgba(87,52,63,.125); --v5-smooth:cubic-bezier(.2,.7,.1,1); }
html {scroll-padding-top:95px}
body { background:#fffaf7; }
.container { max-width:var(--max); padding-inline:var(--gutter); }
.site-header { background:rgba(255,250,247,.94);border-color:var(--v5-line);box-shadow:none!important; }
.header-content { max-width:var(--max);padding-inline:var(--gutter);min-height:86px;gap:clamp(14px,1.6vw,26px); }
.brand {gap:11px;transition:opacity .3s ease;}
.brand:hover {opacity:.68}
.brand-emblem {font-size:43px;}
.brand-lockup strong {font-size:31px;}
.brand-lockup small {font-size:8px;letter-spacing:.18em;}
.desktop-nav {gap:clamp(10px,1.3vw,23px);}
.desktop-nav a {font-size:11px;letter-spacing:-.006em; font-weight:650;transition:color .25s;}
.desktop-nav a:hover {color:var(--v5-red)}
.header-book,.btn,.mobile-actions a {border-radius:6px!important;}
.header-book {background:#c85575;padding:13px 18px;font-size:11px; min-height:43px;}
.header-book::after,.btn-primary::after,.btn-dark::after,.reviews-load>span::after {content:'↗';font-family:Arial,sans-serif;font-size:13px;font-weight:400;margin-left:12px;display:inline-block;transition:transform .35s var(--v5-smooth)}
.header-book:hover::after,.btn-primary:hover::after,.btn-dark:hover::after,.reviews-load:hover>span::after {transform:translate(2px,-2px)}
.header-book:hover {background:var(--ink)}
/* Reusable composition: every section shares the same left and right edges. */
.section-block {padding:clamp(88px,9vw,136px) 0;}
.section-head {grid-template-columns:78px minmax(0,1fr) minmax(0,230px); gap:clamp(18px,2vw,32px);margin-bottom:clamp(45px,5vw,76px);}
.section-head h2 {letter-spacing:-.052em;line-height:1.04;font-size:clamp(46px,5.4vw,79px);}
.section-num {font-size:11px;letter-spacing:.14em;font-weight:690;color:#9a5367;}
.overline,.micro-label,.data-tag {font-size:10px;letter-spacing:.19em;color:#a45068;}
.section-head>p {font-size:13px;line-height:1.6;max-width:225px;align-self:center;}
/* HERO / a human photograph and typographic counterweight; editorial breathing room */
.hero {min-height:max(730px,100svh);padding-top:86px;grid-template-columns:minmax(0,53%) minmax(0,47%);}
.hero-text {padding:62px clamp(22px,3vw,56px) 45px max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));justify-content:center;position:relative;}
.eyebrow {letter-spacing:.14em;margin-bottom:clamp(17px,2.4vw,30px);font-size:9px;}
.hero h1 {font-size:clamp(42px,4.28vw,66px);line-height:1.075;letter-spacing:-.051em;max-width:670px;margin-bottom:clamp(17px,2vw,29px)}
.hero h1 em {display:inline; color:#a64d68;}
.hero .hero-intro {font-size:clamp(13px,1.1vw,16px);line-height:1.55;max-width:470px;margin-bottom:0;}
.hero-buttons {gap:12px;margin-top:clamp(21px,3vw,37px);}
.btn {min-height:49px;padding:13px 22px;font-size:12px;gap:13px;letter-spacing:.012em;transition:transform .32s var(--v5-smooth),background .32s,color .32s,box-shadow .32s;box-shadow:none!important;}
.btn:hover {transform:translateY(-2px);}
.btn-primary {background:#ca5777;color:white;}
.btn-ghost {border-color:rgba(56,43,53,.40);background:transparent;}
.hero .hero-note {font-size:11px;margin:11px 0 0;}
.hero-meta {font-size:9px;gap:16px;margin-top:35px;}
.hero-meta span+span::before {content:'·';margin-right:16px;color:#d77d96;}
.hero-photo-wrap {min-height:0;background:#eadad1;}
.hero-photo-wrap img {object-position:center 30%;filter:brightness(1.055) contrast(.99) saturate(.94);transform:scale(1.02);will-change:transform;}
.hero-photo-wrap::after {background:linear-gradient(to top,rgba(61,28,42,.19),transparent 40%);}
.hero-side-note {position:absolute;bottom:34px;left:36px;font-size:9px;font-weight:700;letter-spacing:.19em;color:#fff;z-index:2;writing-mode:vertical-rl;text-shadow:0 1px 3px #382b35;}
.hero-narrative {padding:clamp(37px,4.5vw,65px) var(--gutter);background:#fffaf7;border-bottom:1px solid var(--v5-line);}
.hero-narrative-inner {max-width:calc(var(--max) - 2 * var(--gutter));margin:auto;display:grid;grid-template-columns:clamp(140px,15vw,195px) repeat(2,minmax(0,1fr));gap:clamp(25px,4vw,68px)}
.hero-narrative .micro-label {margin-top:5px}
.hero-narrative p {font:clamp(18px,1.6vw,23px)/1.48 var(--serif);color:#513b46;margin:0}
/* Kinetic chapter indicator: no enclosing UI card. */
.page-rail {right:clamp(12px,1.7vw,29px);border-left:0;background:rgba(255,250,247,.77);padding:16px 7px 16px 12px;gap:8px;}
.rail-point {transition:opacity .3s,transform .3s;}
.rail-point:hover {opacity:1;transform:translateX(-3px)}
.rail-track {height:26px;}
/* Situation index: thin hairlines; no cards, no conspicuous separators */
.situations {background:#fffaf7;}
.situations-grid {border-top:1px solid var(--v5-line);border-bottom:1px solid var(--v5-line);}
.situation {border-right:1px solid var(--v5-line);padding:38px clamp(15px,1.8vw,27px) 30px;position:relative;isolation:isolate;}
.situation:first-child {padding-left:0}.situation:last-child {padding-right:0;}
.situation::before {content:'';position:absolute;z-index:-1;left:7px;right:7px;top:0;height:2px;background:#de6582;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--v5-smooth);}
.situation:hover::before {transform:scaleX(1)}
.situation:hover {background:rgba(252,219,217,.14);}
.situation-glyph {width:77px;height:77px;margin-bottom:29px;color:#a24c64;background:#f8dfe0;transition:transform .6s var(--v5-smooth),background .4s;}
.situation:nth-child(even) .situation-glyph {background:#fceacb;}
.situation-glyph .glyph {height:38px;width:38px;}
.situation h3 {font-size:clamp(20px,1.85vw,29px);letter-spacing:-.027em;line-height:1.2;margin-bottom:15px;}
.situation .micro-label {font-size:9px;letter-spacing:.16em;margin-bottom:17px;}
.situation p {font-size:13px;line-height:1.75;}
.situation-counter {font:normal 14px/1 var(--serif);color:#ab5d76;padding-top:28px;margin-top:auto;}
.situation:hover .situation-glyph {transform:translateY(-4px) rotate(-4deg) scale(1.025);}
/* Benefits: two magazine-like essays; no square decorative blocks. */
.benefits {background:#f9e3e3;overflow:hidden;}
.benefits .section-head {grid-template-columns:78px minmax(0,1fr) 0;}
.benefits .section-head h2 {max-width:890px;}
.benefit-grid {border-color:rgba(104,62,77,.18);gap:clamp(36px,4vw,70px);}
.benefit-pane,.benefit-pane+.benefit-pane {padding:36px 0 48px!important;border:0;}
.benefit-pane+.benefit-pane {padding-left:clamp(32px,4.5vw,68px)!important;border-left:1px solid rgba(104,62,77,.16);}
.benefit-cap {align-items:baseline;border-bottom:1px solid var(--v5-line);padding-bottom:12px;}
.benefit-cap .bullet-number {font:italic 28px/1 var(--serif);opacity:.75;}
.benefit-pane h3 {font-size:clamp(38px,3.6vw,57px);margin:28px 0 22px;}
.benefit-pane li {border-top:0;border-bottom:1px solid var(--v5-line);padding:17px 10px 17px 24px;font-size:clamp(14px,1.08vw,16px);transition:padding-left .28s,color .28s;}
.benefit-pane li::before {width:5px;height:5px;top:29px;}
.benefit-pane li:hover {padding-left:33px;color:#99435b;}
/* Process: a precision sequence with equal baselines and restrained active points. */
.process {background:#fffaf7;}
.process .section-head {grid-template-columns:78px minmax(0,1fr) 0;}
.process .section-head h2 {max-width:1050px;}
.process-map {margin-top:50px;}
.process-line {top:30px;left:0;right:0;height:1px;background:rgba(173,93,114,.28);}
.process-line::after {content:'';position:absolute;inset:0;background:#ce6b89;transform:scaleX(0);transform-origin:left;}
.process.in-view .process-line::after {animation:v5-draw 7s ease-in-out 1 forwards;}
.process-grid {gap:clamp(18px,2.3vw,40px);}
.process-step {padding:0 0 20px;display:flex;flex-direction:column;align-items:flex-start;}
.process-node {width:60px;height:60px;margin:0 0 40px 0;border:1px solid #ca708b;font:normal 22px/1 var(--serif);color:#9c4f66;background:#fffaf7;border-radius:50%;}
.process-step:hover .process-node,.process-step.is-visible .process-node {background:#fffaf7;color:#9c4f66;transform:none;}
.process-step:hover .process-node {background:#cf6583;color:white;transform:translateY(-3px);}
.process-icon {height:32px;margin-bottom:14px;}
.process-icon .glyph {width:28px;height:28px;}
.process-detail {padding-right:6px;}
.process-detail h3 {font-size:clamp(24px,2vw,30px);margin:0 0 12px;min-height:2.25em;}
.process-detail p {font-size:14px;line-height:1.76;}
.process-footer {align-items:center;margin-top:50px;padding-top:25px;border-color:var(--v5-line);}
.process-footer>div {display:flex;gap:25px;align-items:center;justify-content:flex-end;}
.text-action {font-size:12px;padding-bottom:6px;border-color:#d6aab5;position:relative;transition:color .25s,border-color .25s;}
.text-action:hover {border-color:#9e5267;}
/* Practical: readable 90€ and place details, never crooked panels. */
.practical {background:#fff8f4;}
.practical-layout {grid-template-columns:40% 60%;border-color:var(--v5-line);}
.tarif {background:#fbe6b9;padding:clamp(38px,5vw,73px);min-height:460px;}
.price {font-size:clamp(105px,13vw,185px);line-height:1;letter-spacing:-.1em;white-space:nowrap;}
.practical-icon {opacity:.65;right:clamp(20px,3vw,45px);top:clamp(22px,3vw,45px);}
.practical-details {padding:0 0 0 clamp(38px,5.4vw,87px);}
.practical-item {padding:clamp(30px,3.2vw,49px) 0;gap:25px;transition:transform .25s;}
.practical-item:hover {transform:translateX(4px)}
.practical-item h3 {font-size:clamp(26px,2.5vw,36px);}
.practical-item p {line-height:1.76;}
/* About: authentic human portrait paired with real consulting room. */
.about {background:#fffaf7;}
.about-layout {grid-template-columns:47% 53%;}
.about-pictures {min-height:690px;padding-right:11%;}
.about-portrait {width:75%;aspect-ratio:3/4.05;}
.about-portrait img,.about-cabinet img {transition:transform .9s var(--v5-smooth),filter .8s;}
.about-portrait:hover img,.about-cabinet:hover img {transform:scale(1.055);filter:brightness(1.065);}
.about-cabinet {width:46%;top:39%;}
.about-copy {padding-left:clamp(30px,6vw,88px);}
.about-lead {font-size:clamp(30px,3vw,46px);line-height:1.23;}
.about-copy>p:not(.about-lead) {font-size:14px;line-height:1.9;}
.about-copy h3 {font-size:36px;margin-top:34px;}
/* FAQ: two rhythms, generous negative space and clear expanded answer */
.faq {background:#fff8f4;}
.faq-layout {grid-template-columns:33% minmax(0,67%);gap:0;}
.faq-aside {padding-right:clamp(30px,5vw,76px);position:sticky;top:130px;align-self:start;}
.faq-aside .section-num {margin-bottom:52px;}
.faq-aside h2 {font-size:clamp(48px,5.25vw,78px);line-height:1.06;}
.faq-aside p {font-size:15px;line-height:1.8;}
.faq-list {border-color:var(--v5-line);}
.faq-item {border-color:var(--v5-line);transition:background .3s;}
.faq-item:hover {background:rgba(252,219,217,.26);}
.faq-item summary {grid-template-columns:40px minmax(0,1fr) 29px;gap:clamp(14px,2vw,25px);padding:24px 10px 24px 0;font-size:14px;font-weight:660;min-height:79px;}
.faq-q {line-height:1.55;}
.faq-n {font-size:16px;}
.faq-toggle {border-color:rgba(161,75,99,.6);}
.faq-item[open] {background:rgba(252,219,217,.15);}
.faq-item[open] .faq-q {color:#a44865;}
.faq-answer {padding:0 60px 29px 66px;max-width:840px;font-size:14px;line-height:1.8;}
/* Real Google reviews widget: loaded strictly after an affirmative click. */
.review-band {background:#fffaf7;border-block:1px solid var(--v5-line);}
.reviews-editorial {display:grid;grid-template-columns:42% 1fr;gap:clamp(45px,7vw,105px);align-items:center;padding-block:clamp(55px,7vw,105px);}
.reviews-intro h2 {font:clamp(43px,5vw,68px)/1.03 var(--serif);letter-spacing:-.045em;margin:0 0 15px;max-width:480px;}
.reviews-intro p {font-size:14px;color:var(--muted);}
.reviews-panel {border-left:1px solid var(--v5-line);padding-left:clamp(28px,4vw,65px);min-width:0;}
.reviews-placeholder {display:flex;flex-direction:column;align-items:flex-start;gap:15px;}
.review-symbol {font:44px/1 var(--serif);color:#cb6583;}
.reviews-placeholder p {font:clamp(22px,2.5vw,33px)/1.32 var(--serif);max-width:520px;margin:0;}
.reviews-placeholder small {color:#847079;font-size:11px;line-height:1.5;max-width:390px;}
.reviews-load {cursor:pointer;border:none;border-bottom:1px solid #ac7082;background:transparent;padding:6px 0;color:var(--ink);font-size:13px;font-weight:700;transition:color .3s,border-color .3s;}
.reviews-load:hover {color:#b34e6b;border-color:#b34e6b;}
/* The exterior Elfsight javascript sets up the root on explicit user action. */
.elfsight-app-e8cc7a67-f744-429f-bb55-ba2920147fca:empty {display:none;}
/* Final CTA = editorial cover / not a promotional box */
.contact {background:#553443;color:#fff8f3;overflow:hidden;position:relative;}
.contact::before {content:'';position:absolute;width:680px;height:680px;border:1px solid rgba(255,234,226,.15);border-radius:50%;right:-240px;top:14%;pointer-events:none;}
.contact::after {content:'';position:absolute;width:480px;height:480px;border:1px solid rgba(255,234,226,.11);border-radius:50%;right:-142px;top:27%;pointer-events:none;}
.contact-inner {padding:clamp(85px,10vw,150px) var(--gutter);max-width:var(--max);position:relative;z-index:2;}
.contact-inner .section-num,.contact .overline {color:#e9a8b8;}
.contact-inner h2 {font-size:clamp(67px,10vw,142px);max-width:1020px;line-height:1;letter-spacing:-.055em;margin-bottom:28px;}
.contact-inner h2 em {color:#ffb6ca;}
.contact-inner>p:not(.contact-location) {font:clamp(18px,2vw,25px)/1.5 var(--serif);color:#f7e2e8;}
.contact-number {font-size:clamp(42px,5.5vw,75px);color:#fff9f5;transition:letter-spacing .4s,color .4s;}
.contact-number:hover {letter-spacing:.012em;color:#ffd6df;}
.contact-actions {justify-content:center;gap:15px;}
.contact .btn-dark {background:#f9e6b9;color:#432d36;}
.contact .btn-dark:hover {background:#fff4d7;}
.contact .btn-line {border-color:rgba(255,249,244,.5);color:#fff9f5;}
.contact .btn-line:hover {border-color:#fff9f5;background:rgba(255,255,255,.07);}
.contact-location {color:#ddc7d2;line-height:1.7;}
/* Micro-movements keep rhythm without motion overload: run only while section is in view. */
@keyframes v5-float {0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-5px,0)}}
@keyframes v5-line {0%,100%{transform:scaleX(.65);opacity:.65}50%{transform:scaleX(1);opacity:1}}
@keyframes v5-draw {0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes v5-photo {0%,100%{transform:scale(1.02)}50%{transform:scale(1.048)}}
@keyframes v5-glow {0%,100%{opacity:.55}50%{opacity:.95}}
@keyframes v5-step {0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes v5-shift {0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
@keyframes v5-appear {from{opacity:0;translate:0 13px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:no-preference){
 .hero.in-view .hero-photo-wrap img {animation:v5-photo 18s ease-in-out infinite;}
 .hero.in-view .eyebrow-dot {animation:v5-glow 5s ease-in-out infinite;}
 .situations.in-view .situation-glyph {animation:v5-float 9s ease-in-out infinite;}
 .situations.in-view .situation:nth-child(even) .situation-glyph {animation-delay:-3s;}
 .benefits.in-view .bullet-number {animation:v5-glow 9s ease-in-out infinite;}
 .process.in-view .process-node {animation:v5-step 9s ease-in-out infinite;}
 .process.in-view .process-step:nth-child(2) .process-node {animation-delay:-2s;}
 .process.in-view .process-step:nth-child(3) .process-node {animation-delay:-4s;}
 .process.in-view .process-step:nth-child(4) .process-node {animation-delay:-6s;}
 .practical.in-view .price span {display:inline-block;animation:v5-step 8s ease-in-out infinite;}
 .about.in-view .about-cabinet {animation:v5-float 13s ease-in-out infinite;}
 .faq.in-view .faq-toggle {animation:v5-glow 10s ease-in-out infinite;}
 .review-band.in-view .review-symbol {animation:v5-float 9s ease-in-out infinite;}
 .contact.in-view::before {animation:v5-glow 14s ease-in-out infinite;}
 .contact.in-view .contact-number {animation:v5-glow 12s ease-in-out infinite;}
 /* On scroll: one-shot arrivals, with fully accessible no-js baseline. */
 html.has-motion [data-reveal]:not(.is-visible) {opacity:0;transform:translateY(15px);}
 html.has-motion [data-reveal].is-visible {opacity:1;transform:none;transition:opacity .8s var(--v5-smooth),transform .8s var(--v5-smooth);}
}
/* Tablet: intentional stacking, avoid cramped headline and vanishing nav items. */
@media(max-width:1280px){
 .desktop-nav {gap:11px;}
 .desktop-nav a {font-size:10px;}
 .desktop-nav a:nth-child(2),.desktop-nav a:nth-child(6) {display:flex;}
 .brand-lockup strong {font-size:29px;}
 .header-content {gap:14px;}
 .header-book {padding-inline:13px;}
 .hero {grid-template-columns:52% 48%;}
 .hero h1 {font-size:clamp(42px,4.4vw,60px);}
 .hero-text {padding-right:30px;}
 .section-head {grid-template-columns:64px 1fr minmax(0,190px);}
 .page-rail {display:none;}
}
@media(max-width:1120px){
 .desktop-nav,.header-book {display:none!important;}
 .mobile-menu-toggle {display:flex;flex-direction:column;align-items:flex-end;gap:5px;margin-left:auto;background:transparent;border:0;cursor:pointer;font-size:9px;font-weight:800;letter-spacing:.15em;color:var(--ink);}
 .mobile-menu-toggle i {width:27px;height:1px;background:var(--ink);}
 .mobile-nav {position:absolute;top:78px;left:0;right:0;background:#fffaf7;padding:24px var(--gutter) 32px;border-bottom:1px solid var(--v5-line);box-shadow:0 18px 35px rgba(0,0,0,.08);display:flex;flex-direction:column;}
 .mobile-nav[hidden]{display:none}
 .mobile-nav a {font:24px/1.2 var(--serif);padding:11px 4px;border-bottom:1px solid var(--v5-line);text-decoration:none;}
 .header-content {min-height:78px;}
 .hero {padding-top:78px;grid-template-columns:52% 48%;}
 .hero-text {padding:50px 24px 40px var(--gutter);}
 .hero h1 {font-size:clamp(38px,4.65vw,55px);}
 .hero-photo-wrap {min-height:660px;}
 .section-head {grid-template-columns:64px 1fr;}
 .section-head>p {grid-column:2;}
 .situations-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
 .situation:nth-child(3){border-right:0}.situation:nth-child(n+4){border-top:1px solid var(--v5-line)}.situation:nth-child(4){padding-left:0}.situation:nth-child(5){padding-right:22px;}
 .benefit-pane+.benefit-pane {padding-left:34px!important;}
 .benefit-grid {gap:32px;}
 .process-grid {gap:18px;}
 .process-detail h3 {font-size:24px;}
 .about-pictures {min-height:650px;}
}
@media(max-width:790px){
 .hero {display:flex;flex-direction:column;min-height:0;}
 .hero-text {order:1;padding:clamp(45px,6vw,70px) var(--gutter) 36px;}
 .hero h1 {font-size:clamp(42px,7.5vw,64px);max-width:700px;}
 .hero-photo-wrap {order:2;min-height:0;height:67vw;max-height:600px;}
 .hero-photo-wrap img {object-position:center 30%;}
 .hero-narrative-inner {grid-template-columns:1fr 1fr;gap:25px;}
 .hero-narrative .micro-label {grid-column:1/-1;}
 .section-head {grid-template-columns:1fr;gap:9px;}
 .section-head>p {grid-column:1;max-width:460px;}
 .section-head h2 {font-size:clamp(43px,8vw,65px);}
 .benefits .section-head,.process .section-head {grid-template-columns:1fr;}
 .section-block {padding:80px 0;}
 .situations-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .situation:nth-child(3){border-right:1px solid var(--v5-line)}.situation:nth-child(4){border-right:0}
 .situation:nth-child(odd){padding-left:0}.situation:nth-child(5){grid-column:1/-1;border-top:1px solid var(--v5-line);padding-right:0;}
 .benefit-grid {display:block;}
 .benefit-pane+.benefit-pane {border-left:0;border-top:1px solid var(--v5-line);padding-left:0!important;}
 .process-grid {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px;}
 .process-line {display:none;}
 .process-step {border-top:1px solid var(--v5-line);padding-top:25px;}
 .process-footer {align-items:flex-start;flex-direction:column;}
 .practical-layout {grid-template-columns:1fr;}
 .tarif {min-height:0;}
 .practical-details {padding:0;}
 .about-layout {display:block;}
 .about-pictures {min-height:0;aspect-ratio:1.3/1;max-width:670px;}
 .about-copy {padding:48px 0 0;}
 .about-portrait {height:93%;}
 .about-cabinet {top:34%;}
 .faq-layout {display:block;}
 .faq-aside {position:static;padding:0 0 37px;}
 .faq-aside .section-num {margin-bottom:12px;}
 .faq-aside h2 {font-size:clamp(43px,7vw,72px);}
 .reviews-editorial {grid-template-columns:1fr;gap:25px;}
 .reviews-panel {border-left:0;border-top:1px solid var(--v5-line);padding-left:0;padding-top:28px;}
}
@media(max-width:600px){
 :root {--gutter:23px}
 .header-content {min-height:67px;padding-inline:var(--gutter)}
 .brand-lockup strong {font-size:27px}.brand-emblem {font-size:40px}
 .mobile-nav {top:67px}.hero {padding-top:67px;}
 .hero-text {padding:42px var(--gutter) 34px;}
 .hero h1 {font-size:clamp(39px,10.5vw,56px);line-height:1.04;}
 .hero .hero-intro {font-size:14px;}
 .hero-buttons {display:grid;grid-template-columns:1fr 1fr;width:100%;gap:9px;}
 .hero-buttons .btn {font-size:11px;padding:13px 8px;gap:4px;min-height:47px;}
 .hero-meta {display:none;}
 .hero-photo-wrap {height:85vw;max-height:500px;}
 .hero-side-note {font-size:8px;bottom:19px;left:17px;}
 .hero-narrative {padding:35px var(--gutter);}
 .hero-narrative-inner {display:block;}
 .hero-narrative .micro-label {display:block;margin:0 0 16px;}
 .hero-narrative p {font-size:18px;margin-bottom:17px;}
 .section-block {padding:80px 0;}
 .section-head .section-num {margin-bottom:13px;}
 .section-head h2 {font-size:clamp(42px,10vw,57px);}
 .situations-grid {display:block;border-bottom:0;}
 .situation,.situation:first-child,.situation:nth-child(odd),.situation:nth-child(4),.situation:nth-child(5){display:grid;grid-template-columns:65px 1fr;gap:0 16px;padding:24px 0;border-right:0;border-top:1px solid var(--v5-line);}
 .situation .situation-glyph{grid-row:1/3;width:60px;height:60px;margin-bottom:0}
 .situation .glyph{height:30px;width:30px}
 .situation .situation-counter{display:none}
 .situation h3{font-size:24px}
 .benefit-pane,.benefit-pane+.benefit-pane {padding:25px 0 38px!important;}
 .benefit-pane h3 {font-size:40px;}
 .process-map {margin-top:10px;}
 .process-grid {display:block;}
 .process-step {display:grid;grid-template-columns:55px minmax(0,1fr);gap:12px;padding:25px 0;}
 .process-node {width:52px;height:52px;font-size:20px;margin:0;grid-row:1/3;}
 .process-icon{display:none}
 .process-detail h3{min-height:0;margin-bottom:10px;font-size:26px}
 .process-footer>div{display:flex;align-items:flex-start;gap:15px;flex-wrap:wrap;justify-content:flex-start}
 .tarif {padding:34px var(--gutter)}
 .price {font-size:clamp(112px,33vw,160px);}
 .practical-item {padding:29px 0;grid-template-columns:35px 1fr;gap:15px;}
 .about-pictures {aspect-ratio:1/1.2;max-width:500px;}
 .about-portrait {height:85%;width:77%;}
 .about-cabinet {height:52%;width:46%;top:41%;}
 .about-copy {padding:34px 0 0;}
 .faq-item summary {font-size:13px;padding:19px 0;gap:9px;grid-template-columns:29px 1fr 25px;}
 .faq-answer {padding:0 8px 26px 38px;font-size:13px;}
 .reviews-editorial {padding-block:70px;}
 .reviews-intro h2 {font-size:47px;}
 .contact-inner {padding:82px var(--gutter) 95px;}
 .contact-inner h2 {font-size:clamp(55px,12vw,77px);}
 .contact-number {font-size:clamp(33px,9vw,53px);}
 .contact-actions {display:grid;grid-template-columns:1fr;gap:9px;}
 .mobile-actions {padding:9px 12px calc(9px + env(safe-area-inset-bottom));}
 .mobile-locator {background:rgba(55,39,49,.93);}
 .footer-main,.footer-bottom {padding-inline:var(--gutter);}
}
@media(max-width:360px){.hero h1{font-size:38px}.hero-buttons .btn{font-size:10px}.situation{grid-template-columns:56px 1fr;gap:12px}.situation .situation-glyph{width:54px;height:54px}.contact-number{font-size:33px}}
@media(prefers-reduced-motion:reduce){
 .hero-photo-wrap img,.situations .situation-glyph,.process-node,.practical .price span,.about-cabinet,.faq-toggle,.review-symbol,.contact-number,.contact::before {animation:none!important;transform:none!important;}
 html.has-motion [data-reveal] {opacity:1!important;transform:none!important;}
}
