/* Deux identités complémentaires, une même attention à la lisibilité. */
.site-cab { --sand:#eee4d0; }
.site-dist { --ink:#234641;--green:#28564e;--sage:#dbe8df;--sage-light:#eef3ed;--cream:#fbf9f4;--sand:#eee4e2;--ochre:#ead9b8; }
.site-header .button { white-space:nowrap; }
.peer-link { font-size:.8rem; margin-top:20px; opacity:.85; }
.cab-hero .hero-copy h1 { font-size:clamp(2.6rem,4.7vw,4.9rem); }
.hero-rating { display:flex; flex-wrap:wrap; gap:12px; }
.home-evidence { display:flex; flex-wrap:wrap; gap:15px 35px; padding:25px 0; border-bottom:1px solid var(--line); font-size:.9rem; }
.home-evidence span { display:flex;align-items:center;gap:10px; }
.short-quote { font-family:var(--serif);font-size:1.65rem;line-height:1.4;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0; }
.short-quote cite { display:block;font: .8rem var(--sans);margin-top:15px;color:var(--muted); }
.cab-gallery-pair { display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center; }
.cab-gallery-pair img { width:100%;object-fit:cover;border-radius:18px;max-height:410px; }
.soft-heading { max-width:760px; }
.dist-hero { display:grid;grid-template-columns:1.15fr 1fr;gap:75px;align-items:center;padding-top:70px;padding-bottom:75px; }
.dist-hero h1 { font-size:clamp(2.8rem,4.7vw,4.8rem);line-height:1.08;letter-spacing:-.045em; }
.dist-hero .intro { font-size:1.08rem;max-width:550px; }
.dist-portrait { margin:0;position:relative;background:var(--sage);border-radius:45% 45% 18px 18px;padding:35px 35px 0; }
.dist-portrait>img { height:495px;width:100%;object-fit:cover;object-position:50% 30%;border-radius:45% 45% 12px 12px; }
.voice-label { position:absolute;bottom:30px;left:-35px;padding:20px 26px;background:var(--white);border-radius:14px;box-shadow:0 12px 40px #203b3410;display:flex;align-items:center;gap:16px; }
.voice-label strong { display:block;font-family:var(--serif);font-size:1.3rem;font-weight:400; }
.voice-label span { font-size:.78rem;color:var(--muted); }
.voice-wave { display:flex;gap:4px;align-items:center;height:34px; }
.voice-wave i { display:block;width:4px;background:var(--moss);border-radius:4px;height:18px; }
.voice-wave i:nth-child(2n){height:30px}.voice-wave i:nth-child(3n){height:12px}
.dist-tagline { display:flex;gap:12px;align-items:center;font-size:.85rem;margin-top:22px; }
.dist-tagline svg { width:19px; }
.formats-duo { display:grid;grid-template-columns:1fr 1fr;gap:30px; }
.format-story { padding:46px;border-radius:22px;background:var(--sage-light);position:relative; }
.audio-story { background:var(--sand); }
.format-icon { display:block;margin-bottom:22px; }.format-icon svg { width:38px;height:38px;stroke-width:1.25; }
.format-story h2 { font-size:2.5rem;margin-top:15px; }.format-story p { max-width:480px; }
.format-price { font:2.3rem var(--serif);margin:24px 0; }.format-price span { font:.83rem var(--sans);display:block;margin-top:7px; }
.format-story .text-link { margin-top:15px; }
.three-promises { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px; }
.three-promises article { border-top:1px solid var(--line);padding-top:25px; }
.three-promises h3 { font-size:1.6rem; }.three-promises svg { color:var(--moss);margin-bottom:20px; }
.talk-panel { background:var(--sage);border-radius:26px;padding:55px;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center; }
.talk-panel h2 { margin:10px 0 0; }.talk-panel p { max-width:630px; }
.format-detail { display:grid;grid-template-columns:1.4fr .8fr;gap:65px;align-items:start; }
.format-detail .price-card { position:sticky;top:30px; }.format-detail .price-card h2 { font-size:2rem; }
.detail-list { padding-left:20px; }.detail-list li { margin:14px 0; }
.comparison-table { overflow:auto; }.comparison-table table { width:100%;border-collapse:collapse; }.comparison-table th,.comparison-table td { padding:20px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top; }.comparison-table th { background:var(--sage-light); }
.contact-form select { width:100%;border:1px solid #bbc7b0;padding:14px;border-radius:8px;background:var(--white);color:var(--ink);margin-top:8px; }
.local-reassure { display:grid;grid-template-columns:1fr 1fr;gap:55px; }
.city-intro { max-width:760px; }.local-facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }.local-facts>div { padding:25px;background:var(--sage-light);border-radius:14px; }
.local-facts h3 { font-size:1.4rem; }.local-facts p { font-size:.9rem; }
.sources { margin-top:24px; }.preview-content .wrap { max-width:100%; }
.form-success-details { display:block;margin-top:10px; }
.dist-portrait-wrap { position:relative;margin:0 0 25px;background:var(--sage);border-radius:45% 45% 20px 20px;padding:26px 26px 0; }
img.dist-portrait { display:block;padding:0;height:510px;width:100%;object-fit:cover;object-position:50% 30%;border-radius:45% 45% 16px 16px; }
.voice-badge { position:absolute;bottom:45px;left:-25px;padding:20px 26px;background:var(--white);border-radius:14px;box-shadow:0 12px 40px #203b3410;display:flex;align-items:center;gap:16px; }
.voice-badge strong { font-family:var(--serif);font-size:1.3rem;font-weight:400; }.voice-badge>span { line-height:1.45; }
.portrait-note { display:block;padding:15px 12px;font-size:.78rem;line-height:1.5;text-align:right; }
.dist-promises { display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:25px;padding-bottom:25px; }
.dist-promises>div { display:flex;align-items:center;gap:18px;line-height:1.6;font-size:.87rem; }.dist-promises svg { width:29px;height:29px;flex-shrink:0; }
.call-panel { background:var(--sage);border-radius:24px;display:grid;grid-template-columns:1.5fr 1fr;overflow:hidden;align-items:center; }.call-panel>div { padding:50px 55px; }.call-panel .botanical { width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply; }
.comparison-scroll { overflow-x:auto; }.format-comparison { width:100%;border-collapse:collapse;table-layout:fixed; }.format-comparison th,.format-comparison td { padding:22px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.95rem; }.format-comparison th { background:var(--sage); }.format-comparison caption { text-align:left;padding-bottom:20px; }
.city-link { gap:15px; }
@media(max-width:1100px){.dist-hero{gap:40px}.dist-portrait{padding:24px 24px 0}.dist-portrait>img{height:430px}.voice-label{left:-15px}.format-story{padding:32px}.format-detail{gap:35px}.talk-panel{padding:38px;grid-template-columns:1fr}.site-header .button{white-space:normal}}
@media(max-width:760px){.dist-hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:45px;gap:38px}.dist-hero h1{font-size:clamp(2.5rem,10vw,3.5rem)}.dist-portrait{max-width:480px;width:100%;margin:auto}.dist-portrait>img{height:400px}.voice-label{left:12px;bottom:18px;padding:15px 20px}.formats-duo,.three-promises,.format-detail,.local-reassure,.local-facts{grid-template-columns:1fr}.format-story{padding:28px}.format-detail .price-card{position:static}.cab-gallery-pair{grid-template-columns:1fr}.cab-gallery-pair img{max-height:340px}.talk-panel{padding:28px}.home-evidence{gap:16px;font-size:.82rem}.comparison-table th,.comparison-table td{padding:13px;font-size:.85rem}.short-quote{font-size:1.5rem}.site-dist .page-heading h1{font-size:clamp(2.4rem,8vw,3.5rem)}}
@media(max-width:400px){.voice-label strong{font-size:1.13rem}.dist-portrait>img{height:340px}.format-story h2{font-size:2.1rem}}
@media(max-width:1100px){img.dist-portrait{height:440px}.voice-badge{left:-12px;padding:16px}.call-panel>div{padding:35px}.dist-promises{gap:20px}}
@media(max-width:760px){.dist-portrait-wrap{max-width:450px;margin:0 auto;width:100%}img.dist-portrait{height:400px}.voice-badge{left:10px;bottom:65px}.dist-promises{grid-template-columns:1fr;gap:18px}.dist-promises>div{justify-content:flex-start}.call-panel{grid-template-columns:1fr}.call-panel>div{padding:28px}.call-panel .botanical{max-height:230px}.format-comparison{min-width:540px}.format-comparison td,.format-comparison th{padding:13px;font-size:.86rem}.site-dist .format-detail h2{font-size:2rem}}
