/* Compléments : portrait, tarifs et prise de rendez-vous */
.portrait-photo{display:block;width:100%;height:448px;object-fit:cover;object-position:center top}
.prices{grid-template-columns:.72fr 1.28fr;align-items:start;gap:60px}.price-card{padding:35px}.price-card p{display:flex;justify-content:space-between;gap:10px;margin:0 0 12px}.price-card p span{color:#a16251;white-space:nowrap}.price-card small,.tariff-grid small{color:var(--muted)}.follow-up h3{font-size:1.7rem}.tariff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:23px 0}.tariff-grid article{background:rgba(255,255,255,.43);padding:22px;text-align:center}.tariff-grid article:nth-child(2){background:#f3d9d2}.tariff-grid h4,.additional h4{font:1.3rem var(--serif);margin:0 0 13px}.tariff-grid b,.additional b{display:inline-block;background:#ab745f;color:white;padding:4px 15px;border-radius:18px;font:1.35rem var(--serif)}.tariff-grid p{margin:12px 0 8px;font-size:.86rem}.additional{display:flex;justify-content:space-between;gap:25px;align-items:center;background:#f3d9d2;padding:22px 28px}.additional p{margin:0;max-width:460px;color:var(--muted);font-size:.9rem}.price-footer{display:flex;gap:15px;justify-content:space-between;text-align:center;margin-top:25px;color:var(--muted);font-size:.8rem}.price-footer span{flex:1}.appointment{padding:95px 32px;text-align:center;background:var(--ink);color:white}.appointment .eyebrow{color:#dfad9a}.appointment p:not(.eyebrow){max-width:560px;margin:18px auto 28px;color:#e2e9e0}.appointment .button{background:var(--peach);color:var(--ink)}.footer-links{display:flex;flex-wrap:wrap;gap:12px}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:not(:last-child):after{content:"|";margin-left:12px;color:var(--line)}
@media(max-width:800px){.portrait-photo{height:330px}.tariff-grid{grid-template-columns:1fr}.price-footer{flex-direction:column}.appointment{padding:75px 20px}}
@media(max-width:430px){.additional{align-items:flex-start;flex-direction:column}}

/* Les étapes sont de vrais liens et les illustrations restent légères sur mobile. */
.stages a{display:block;color:var(--ink);text-decoration:none;font-family:var(--serif);font-size:1.23rem;padding:21px 15px 21px 0}.stages a:hover{color:#a16251}.service-grid article{scroll-margin-top:95px}.service-grid article>img{display:block;width:104px;height:92px;object-fit:contain;margin:0 0 16px}.service-grid article>a{color:#a16251;text-decoration:none;font-weight:700;font-size:.85rem}.service-grid article>a:hover{color:var(--ink)}

/* Grille tarifaire redimensionnée pour remplir la section sans étirer le texte. */
.prices{grid-template-columns:1fr 1.15fr;row-gap:42px}.price-card{min-height:225px;display:flex;flex-direction:column;justify-content:center}.follow-up{grid-column:1 / -1}.tariff-grid article{min-height:228px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.tariff-grid small{max-width:230px}.additional{min-height:104px}.price-footer{max-width:900px;margin:28px auto 0}.price-footer span{padding:0 13px}.price-footer span+span{border-left:1px solid rgba(53,68,61,.2)}
@media(max-width:800px){.stages a{padding:21px 15px 21px 0}.service-grid article>img{width:90px;height:80px}.follow-up{grid-column:auto}.price-card{min-height:0}.tariff-grid article{min-height:0}.price-footer span+span{border-left:0;border-top:1px solid rgba(53,68,61,.2);padding-top:10px}}

.brand-with-logo{flex-direction:row;align-items:center;gap:11px}.brand-with-logo img{display:block;width:58px;height:58px;object-fit:contain}.brand-with-logo>span{display:flex;flex-direction:column}.brand-with-logo b{font-family:var(--serif);font-weight:500;font-size:1.32rem}.brand-with-logo small{font-size:.67rem;text-transform:uppercase;letter-spacing:.13em;margin-top:5px}@media(max-width:800px){.brand-with-logo img{width:47px;height:47px}.brand-with-logo b{font-size:1.1rem}.brand-with-logo small{font-size:.55rem}}

.reviews{padding:100px max(32px,calc((100vw - 1176px)/2));background:#f7f2e9}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}.review-grid article{min-height:175px;background:var(--cream);padding:28px;display:flex;flex-direction:column;justify-content:space-between}.review-grid span{color:#a16251}.review-grid p{font:1.25rem/1.35 var(--serif);margin:15px 0}.review-grid small{color:var(--muted)}.back-link{color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600}.booking-main{max-width:1176px;margin:0 auto;padding:70px 32px 110px}.booking-heading{max-width:650px;margin:0 auto 48px;text-align:center}.booking-heading h1{font-size:clamp(2.8rem,5vw,4.4rem)}.booking-heading>p:last-child{color:var(--muted);font-size:1.05rem}.booking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.booking-card{min-height:430px;background:#e7ece3;color:var(--ink);padding:33px;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,box-shadow .2s}.booking-card.featured{background:#f1d9d1}.booking-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(66,61,50,.13)}.booking-card img{width:94px;height:85px;object-fit:contain;margin-bottom:16px}.booking-card h2{font-size:1.8rem}.booking-card>p:not(.eyebrow){color:var(--muted);margin:18px 0 28px}.booking-card>span{margin-top:auto;color:#a16251;font-weight:700;font-size:.9rem}@media(max-width:800px){.reviews{padding:70px 20px}.review-grid,.booking-grid{grid-template-columns:1fr}.booking-main{padding:50px 20px 75px}.booking-card{min-height:0}.booking-heading{margin-bottom:35px}}
