*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffaf4;color:#142f53;font-family:Georgia,serif;line-height:1.55}a{color:inherit}a:focus-visible{outline:3px solid #a76c15;outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;z-index:100;padding:1rem}.wrap{max-width:1190px;margin:auto;padding:0 25px}.site-header{background:linear-gradient(115deg,#e3f1ff,#fff7e9 60%,#f9e6c6);border-bottom:1px solid #d5b989}.head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:12px;padding-bottom:12px}.brand{display:flex;align-items:center;text-decoration:none;gap:12px;flex-shrink:0}.brand img{width:75px;height:75px;object-fit:contain}.brand span{font-size:clamp(1.15rem,2vw,1.8rem);color:#98611b;letter-spacing:.04em;white-space:nowrap}.nav{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(9px,1.4vw,22px);justify-content:flex-end}.nav a{text-decoration:none;font-size:.94rem;white-space:nowrap;padding:6px 0}.nav a[aria-current=page]{border-bottom:2px solid #a76c15;font-weight:bold}.nav .lang{color:#96601a;font-weight:bold}.hero{background:linear-gradient(180deg,#dceeff 0%,#fff4e3 43%,#ffcf8b 68%,#f9c07a 100%);position:relative;overflow:hidden;min-height:570px;display:flex;align-items:flex-start}.hero:after{content:'';position:absolute;inset:auto 0 0;height:220px;background:url('assets/casablanca.jpg') center bottom/cover no-repeat;pointer-events:none}.hero .wrap{width:100%;position:relative;z-index:1;display:grid;grid-template-columns:1fr 2fr;gap:30px;padding-top:80px}.hero aside{font-size:1.4rem;font-style:italic;max-width:240px}.hero h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.08;margin:0 0 12px}.hero h2{font-size:clamp(1.5rem,3vw,2.6rem);color:#93601d;margin:0 0 22px}.btn{display:inline-block;text-decoration:none;border-radius:9px;background:#073e43;color:white;padding:13px 25px;font-size:1.1rem;box-shadow:0 2px 3px #0002}.btn:hover{background:#075c62}.intro{text-align:center;padding:50px 25px 25px}.intro h1,.intro h2{font-size:clamp(2rem,4vw,3rem);margin:0 0 12px}.intro p{max-width:760px;margin:0 auto}.section{padding:35px 0}.section h2{font-size:2rem;margin:0 0 20px;color:#94621e}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid #e9d9c1;border-radius:13px;padding:24px;box-shadow:0 4px 17px #162f5010}.card h2,.card h3{color:#12365a;margin:0 0 12px;font-size:1.5rem}.card p{margin:0 0 12px}.symbol{font-size:2.8rem;color:#a36a19;line-height:1.3}.quote{padding:32px 0;text-align:center;font-size:1.5rem;font-style:italic}.quote small{display:block;font-size:1rem;margin-top:12px}.banner{padding:50px 25px;background:linear-gradient(115deg,#f9e8d1,#e8f2f7);border-block:1px solid #e1c89e}.banner .wrap{max-width:900px}.banner h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 10px}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.steps article{background:#fff;border:1px solid #e4d2b6;border-radius:12px;padding:20px}.steps article:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#a16b25;color:white;font-weight:bold;margin-bottom:12px}.steps h3{margin:0 0 8px}.steps p{margin:0}.portrait-layout{display:grid;grid-template-columns:minmax(230px,1fr) 2fr;gap:32px;align-items:start}.portrait{width:100%;max-height:630px;object-fit:contain;background:#151515;border-radius:10px}.bio h2{margin-top:0}.bio p{margin-top:0}.contact{background:#0b305b;color:white;padding:36px 0;border-top:5px solid #b5843b}.contact-inner{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center}.contact a{color:white;text-decoration:none;overflow-wrap:anywhere}.contact a:hover{text-decoration:underline}.contact p{margin:7px 0;font-size:clamp(.95rem,1.8vw,1.25rem)}.contact strong{color:#edc37a}.contact .map{display:flex;gap:20px;align-items:center;border-left:1px solid #b5843b;padding-left:22px}.map img{width:125px;max-height:165px;object-fit:contain;mix-blend-mode:screen}.map span{color:#edc37a;font-style:italic}.bottom{text-align:center;padding:15px;color:#95631f;letter-spacing:.1em;font-size:.85rem}.disclaimer{font-size:.88rem;color:#5b6675;padding:12px 25px 26px;text-align:center}.small{font-size:.92rem}.price{font-size:1.35rem;color:#94621e;font-weight:bold}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}.footnav{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;padding:14px 20px;background:#f4e9db}.footnav a{text-decoration:none}.footnav a:hover{text-decoration:underline}@media(max-width:900px){.head{flex-direction:column;align-items:flex-start}.nav{justify-content:flex-start}.hero .wrap{grid-template-columns:1fr;padding-top:35px}.hero aside{font-size:1.1rem}.hero{min-height:620px}.grid,.grid.two{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}@media(max-width:600px){.wrap{padding:0 17px}.brand img{width:56px;height:56px}.brand span{font-size:1.2rem}.nav{gap:12px}.nav a{font-size:.87rem}.hero{min-height:610px}.hero:after{height:190px}.hero .wrap{gap:12px}.hero h1{font-size:2.45rem}.hero h2{font-size:1.65rem}.grid,.grid.two,.steps,.portrait-layout,.contact-inner{grid-template-columns:1fr}.contact .map{border-left:0;border-top:1px solid #b5843b;padding:20px 0 0}.quote{font-size:1.2rem}}
.legal-content{max-width:950px;padding-top:45px;padding-bottom:55px}.legal-content h1{font-size:clamp(2rem,4vw,3rem)}.legal-content h2{margin-top:30px;color:#94621e}.legal-content p{overflow-wrap:anywhere}.medical-note{padding:20px;background:#f4e9db;border-left:4px solid #b5843b}
/* Accueil — hero Casablanca complet, version 23-09-2026 */
.hero.hero-home{min-height:0;height:auto;aspect-ratio:1536/688;background:url('assets/hero-casablanca-complet.webp') center center/cover no-repeat;position:relative;display:block;overflow:hidden}
.hero-home:after{display:none}
.hero-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-rdv{position:absolute;left:42.4%;top:41.7%;width:18.5%;height:9.5%;font-size:0;color:transparent;border-radius:12px}
.hero-rdv:focus-visible{outline:4px solid #fff;outline-offset:4px}
@media(max-width:900px){.hero.hero-home{aspect-ratio:1536/688;background-position:center center}.hero-rdv{left:42%;top:41.5%;width:19.5%;height:10.5%}}
@media(max-width:600px){.hero.hero-home{aspect-ratio:1/1.02;background-size:auto 100%;background-position:43% center}.hero-rdv{left:34%;top:41.5%;width:34%;height:10%}}
