/* Design inspired by the approved homepage mockup. */
:root{--ink:#082e48;--blue:#176a8b;--sky:#eaf4f8;--paper:#fffcf6;--muted:#526775;--line:#dce7eb;--accent:#f8ca43}
body{background:var(--paper)}
.topbar{background:var(--ink);font-size:.83rem;padding:7px 16px}
header{width:min(1340px,calc(100% - 64px));padding:22px 0;border:0;gap:24px}
header .phone{background:var(--ink);color:white;border-radius:100px;padding:12px 22px}
header nav a{font-size:1rem;font-weight:600}
header nav a[aria-current=page]{box-shadow:0 3px var(--accent)}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:-.025em}
.button{border-radius:100px;padding:13px 24px;gap:18px;min-height:54px;font-size:1rem}
.button span[aria-hidden]{font-size:1.5rem;line-height:1}
.button:hover{transform:translateY(-1px)}
.modern-hero{position:relative;background-color:#082e48;background-image:linear-gradient(90deg,rgba(4,34,54,.55) 0%,rgba(4,34,54,.2) 43%,rgba(4,34,54,0) 68%),url('assets/accueil-mediterranee.webp');background-size:cover;background-position:center 48%;color:white}
.hero-inner{min-height:580px;display:flex;align-items:center;padding:66px 0 92px}
.hero-copy{width:57%;max-width:700px}
.modern-hero .eyebrow{color:#e2f3fc;font-size:.83rem;letter-spacing:.2em;margin:0 0 32px}
.modern-hero .eyebrow:after{content:'';display:block;width:64px;height:3px;background:var(--accent);margin-top:17px}
.modern-hero h1{font-size:clamp(3.5rem,5.5vw,5.6rem);line-height:1.06;margin-bottom:25px;text-shadow:0 2px 18px #082e4850}
.modern-hero h1 em{color:var(--accent);font-style:normal}
.modern-hero .lead{color:#f1f6fa;font-size:1.42rem;line-height:1.5;margin-bottom:0}
.modern-hero .actions{gap:14px;margin-top:33px}
.hero-primary{background:var(--accent);border-color:var(--accent);color:#082e48}
.hero-primary:hover{background:#ffda62;border-color:#ffda62}
.hero-secondary{background:#082e4833;border-color:#ecf7ff;color:white}
.hero-secondary:hover{background:#164a68;border-color:white}
.hero-name{font-size:.9rem;margin:24px 0 0;color:#e3edf4}
.schedule-wrap{position:relative;margin-top:-40px;z-index:1}
.schedule-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px;background:var(--paper);border-radius:24px;box-shadow:0 14px 40px #082e4810}
.schedule-card{display:flex;align-items:center;gap:26px;padding:28px 32px;border-radius:18px;background:#e9f3f7;min-width:0}
.schedule-card.domicile{background:#faf1dc}
.schedule-card svg{width:74px;height:74px;flex-shrink:0}
.schedule-card>div{border-left:1px solid #8ba5b4;padding-left:26px}
.schedule-card h2{font-size:2rem;margin:0 0 9px}
.schedule-card p{margin:0;font-size:1.15rem;line-height:1.5}
.schedule-card strong{font-weight:600}
.section{padding-top:72px;padding-bottom:72px}
.card,.service-card{border-radius:20px;box-shadow:0 10px 30px #082e4807;border-color:var(--line);background:white}
.card .number,.service-index{background:#fff2ca;color:var(--ink)}
.dark{background:var(--ink)}
.dark h2,.dark p,.dark a{color:#f4f8fa}
.dark .button{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.band{background:#edf5f7}
.contact-strip{background:#f9f0d9;border:0;border-radius:24px}
.page-intro h1{font-family:Georgia,'Times New Roman',serif}
.page-intro{padding-top:55px}
.atelier-photo img{border-radius:16px}
footer{padding-top:50px}.footer-bottom{line-height:1.6}
.large-text .hero-copy{max-width:none}.large-text .hero-inner{min-height:650px}
@media(min-width:701px) and (max-width:1100px){header{flex-wrap:wrap}header nav{order:3;width:100%;justify-content:center}header>.phone{margin-left:auto}.hero-copy{width:65%}.hero-inner{min-height:560px}.modern-hero h1{font-size:4.3rem}.schedule-card{gap:16px;padding:22px 20px}.schedule-card svg{width:50px;height:50px}.schedule-card>div{padding-left:16px}.schedule-card h2{font-size:1.65rem}.schedule-card p{font-size:1.03rem}}
@media(max-width:700px){header{width:calc(100% - 36px);padding:17px 0;gap:14px}.topbar{font-size:.74rem}header>.phone{font-size:.8rem;padding:11px 13px}header nav{width:100%;order:3;gap:5px;justify-content:space-between}header nav a{font-size:.94rem;padding:6px 10px}header nav a[aria-current=page]{background:#fdf0c5;box-shadow:none}.modern-hero{background-image:linear-gradient(0deg,rgba(4,34,54,.96) 0%,rgba(4,34,54,.9) 42%,rgba(4,34,54,.15) 80%),url('assets/accueil-mediterranee.webp');background-position:66% top;background-size:auto 100%}.hero-inner{min-height:690px;padding:265px 0 68px;align-items:end}.hero-copy{width:100%;max-width:none}.modern-hero .eyebrow{font-size:.71rem;margin-bottom:20px;letter-spacing:.15em}.modern-hero h1{font-size:clamp(2.65rem,10vw,4rem);line-height:1.08;margin-bottom:20px}.modern-hero .lead{font-size:1.15rem}.modern-hero .actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:25px}.modern-hero .button{width:100%;min-height:52px}.hero-name{font-size:.8rem;line-height:1.5;margin-top:18px}.schedule-wrap{margin-top:-28px}.schedule-panel{grid-template-columns:1fr;padding:12px;gap:12px;border-radius:20px}.schedule-card{gap:19px;padding:22px 18px}.schedule-card svg{width:49px;height:49px}.schedule-card>div{padding-left:18px}.schedule-card h2{font-size:1.7rem}.schedule-card p{font-size:1.02rem}.section{padding-top:48px;padding-bottom:48px}.button{padding:12px 20px}.business-logo{width:180px}.footer-logo .business-logo{width:210px}.large-text .hero-inner{padding-top:265px;min-height:800px}.large-text .hero-copy{width:100%}.large-text .modern-hero h1{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}
@media(max-width:700px){.modern-hero{background-size:100% 100%,auto 380px;background-position:center,right top;background-repeat:no-repeat;background-image:linear-gradient(0deg,#082e48 0%,#082e48 45%,rgba(8,46,72,.85) 62%,rgba(8,46,72,0) 92%),url('assets/accueil-mediterranee.webp')}}

/* Clear service/location heading, retaining the approved homepage design. */
.modern-hero h1{font-size:clamp(2.65rem,4.15vw,4rem);line-height:1.12;overflow-wrap:normal}
.modern-hero .hero-tagline{color:#f1f6fa;font-size:1.35rem;margin:0 0 14px;font-weight:600}
.modern-hero .lead{font-size:1.2rem}
@media(min-width:701px) and (max-width:1100px){.modern-hero h1{font-size:3rem}}
@media(max-width:700px){.modern-hero h1{font-size:clamp(2rem,8.2vw,3rem)}.modern-hero .hero-tagline{font-size:1.15rem}.modern-hero .lead{font-size:1.1rem}.large-text .modern-hero h1{font-size:2.05rem}}
