@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&display=swap');
@import url('./enhancements.css');

:root{--cream:#f8f4ec;--paper:#fffdf8;--ink:#26352f;--sage:#587064;--sage-dark:#314d42;--sage-pale:#dde6de;--terra:#c9795e;--line:#d8ded7;--serif:"Newsreader",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}h2[id]{scroll-margin-top:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.025em}h2{font-size:clamp(2.3rem,4vw,4rem);margin-bottom:22px}.section{max-width:1180px;margin:auto;padding:86px 36px}.eyebrow{color:var(--terra);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}.light{color:#f4c2ae}.section-intro{font-size:1.05rem;max-width:610px;margin:0 auto 46px;color:#66746d}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(248,244,236,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(49,77,66,.1);box-shadow:0 5px 24px rgba(38,53,47,.04)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border:1px solid var(--sage);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1rem}.brand strong,.brand small{display:block}.brand strong{font-family:var(--serif);font-size:1.05rem;font-weight:500;line-height:1.15}.brand small{color:#718077;font-size:.64rem;letter-spacing:.06em;margin-top:2px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:.77rem;font-weight:500}.site-header nav a:not(.nav-cta):hover{color:var(--terra)}.nav-cta{border:1px solid var(--sage-dark);border-radius:999px;padding:9px 18px}.nav-cta:hover{background:var(--sage-dark);color:white}
.hero{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;max-width:1320px;margin:auto;padding:32px 5vw 58px;overflow:hidden}.hero-copy{padding-right:4vw}.hero h1{font-size:clamp(4.2rem,7vw,7rem);margin-bottom:22px;color:var(--sage-dark)}.hero-lead{max-width:600px;font-size:1.05rem;color:#5f6f67}.hero-actions{display:flex;align-items:center;gap:26px;margin:30px 0}.button{display:inline-block;padding:13px 21px;border-radius:999px;font-size:.78rem;font-weight:600}.primary{background:var(--sage-dark);color:white;box-shadow:0 10px 25px rgba(49,77,66,.15)}.primary:hover{background:#243f35;transform:translateY(-1px)}.text-link{font-size:.8rem;font-weight:600}.text-link span{margin-left:8px;color:var(--terra)}.quick-trust{display:flex;gap:18px;list-style:none;padding:24px 0 0;margin:0;border-top:1px solid var(--line);font-size:.7rem}.quick-trust span{color:var(--terra);margin-right:5px}.hero-visual{position:relative;min-height:500px}.photo-placeholder{background:linear-gradient(145deg,#dfe8df,#cbd9cf);display:flex;align-items:center;justify-content:center;color:#587064;text-align:center;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;overflow:hidden;position:relative}.photo-placeholder:after{content:"";width:46%;aspect-ratio:1;border-radius:50% 50% 44% 44%;background:rgba(255,255,255,.35);position:absolute;bottom:-13%;left:27%}.photo-placeholder span{position:relative;z-index:1;background:rgba(255,253,248,.78);padding:11px 15px;border-radius:4px}.main-photo{height:480px;border-radius:48% 48% 10px 10px}.leaf{position:absolute;font-family:var(--serif);font-size:7rem;color:rgba(88,112,100,.18);transform:rotate(35deg)}.leaf-one{top:-50px;right:-50px}.leaf-two{bottom:-50px;left:-90px}
.intro{text-align:center}.intro h2{max-width:760px;margin-left:auto;margin-right:auto}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}.promise-grid article{padding:36px 38px}.promise-grid article+article{border-left:1px solid var(--line)}.promise-grid span{font-family:var(--serif);color:var(--terra);font-style:italic}.promise-grid h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;margin:15px 0 8px}.promise-grid p{font-size:.86rem;color:#66746d;margin:0}
.about{display:grid;grid-template-columns:.7fr 1.3fr;gap:62px;align-items:center;padding-top:62px;padding-bottom:68px;position:relative}.about:before{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(201,121,94,.24);border-radius:50%;left:-55px;bottom:28px}.about-photo{height:440px;width:min(100%,350px);justify-self:center;border-radius:180px 180px 8px 8px;box-shadow:18px 18px 0 var(--sage-pale)}.about-copy h2{font-size:clamp(2.5rem,3.6vw,3.7rem)}.about-copy>p:not(.eyebrow){color:#5f6f67;max-width:650px}.diploma-line{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.diploma-line span,.alto-points span{border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.7rem}
.audience{background-color:var(--paper);background-image:radial-gradient(circle at 8% 12%,rgba(221,230,222,.8) 0 1px,transparent 1.5px);background-size:22px 22px;max-width:none;padding-top:78px;padding-bottom:82px;padding-left:max(40px,calc((100vw - 1160px)/2));padding-right:max(40px,calc((100vw - 1160px)/2))}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:42px}.section-heading h2{margin:0}.section-heading>p{max-width:430px;color:#66746d;margin:0 0 9px}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.audience-grid article{background:rgba(248,244,236,.95);padding:24px;min-height:285px;border:1px solid transparent;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.audience-grid article:nth-child(1){background:var(--sage-dark);color:#fff}.audience-grid article:nth-child(4){background:#ead5c9}.audience-grid article:hover{transform:translateY(-7px);box-shadow:0 18px 34px rgba(38,53,47,.1);border-color:rgba(88,112,100,.2)}.card-top{display:flex;align-items:center;gap:12px;color:var(--terra);font-family:var(--serif);font-style:italic;font-size:1rem}.card-top i{height:1px;background:currentColor;opacity:.45;flex:1}.audience-grid article:nth-child(1) .card-top{color:#f2bfaa}.audience-grid h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;line-height:1.15;margin:40px 0 12px}.audience-grid p{font-size:.78rem;color:#66746d;margin:0}.audience-grid article:nth-child(1) p{color:#dce6e0}.audience-grid small{margin-top:auto;padding-top:22px;font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--terra)}.audience-grid article:nth-child(1) small{color:#f2bfaa}
.areas-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.areas-grid article{display:flex;gap:24px;padding:26px 18px;border-bottom:1px solid var(--line)}.areas-grid article:nth-child(odd){border-right:1px solid var(--line)}.areas-grid article>span{font-family:var(--serif);font-style:italic;color:var(--terra)}.areas-grid h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;margin:0 0 4px}.areas-grid p{font-size:.82rem;color:#66746d;margin:0}
.alto-section{background:var(--sage-dark);color:#fbf8f0;padding:100px 40px}.alto-inner{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}.alto-copy>p:not(.eyebrow){color:#d5ded9;max-width:620px}.alto-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.alto-points span{border-color:#7b9187;color:#e9efeb}.alto-photo{height:560px;margin:0;border-radius:48% 48% 8px 8px;overflow:hidden;position:relative;background:#6f877b}.alto-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 42%}.alto-photo figcaption{position:absolute;left:20px;bottom:20px;background:rgba(255,253,248,.9);color:var(--sage-dark);padding:9px 13px;border-radius:3px;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.process{text-align:center}.process h2{margin-bottom:60px}.steps{display:grid;grid-template-columns:repeat(3,1fr);text-align:left}.steps article{padding:25px 28px;border-top:1px solid var(--line)}.steps article+article{border-left:1px solid var(--line)}.steps span{font-family:var(--serif);font-style:italic;color:var(--terra)}.steps h3{font-family:var(--serif);font-size:1.45rem;font-weight:500;margin:24px 0 10px}.steps p{font-size:.8rem;color:#66746d}
.pricing{background:var(--paper);max-width:none;padding-left:max(40px,calc((100vw - 1160px)/2));padding-right:max(40px,calc((100vw - 1160px)/2))}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.price-grid article{border:1px solid var(--line);padding:32px;min-height:245px;display:flex;flex-direction:column}.price-grid article>p{font-family:var(--serif);font-size:1.35rem}.price-grid strong{font-family:var(--serif);font-size:3.2rem;font-weight:400;margin:auto 0}.price-grid strong small{font-family:var(--sans);font-size:.72rem;font-weight:400}.price-grid article>span:last-child{font-size:.74rem;color:#718077}.price-grid .featured{background:var(--sage-dark);color:white;border-color:var(--sage-dark)}.tag{align-self:flex-start;background:#f2bfaa;color:#57372b;font-size:.65rem!important;text-transform:uppercase;letter-spacing:.1em;padding:5px 8px;margin-bottom:15px}.featured>span:last-child{color:#d2ddd7!important}.payment-note{text-align:center;font-size:.75rem;color:#718077;margin:25px 0 0}
.location{display:grid;grid-template-columns:1.1fr .9fr;gap:85px;align-items:center}.map-placeholder{height:500px;background:#e5e5da;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.map-placeholder:before,.map-placeholder:after{content:"";position:absolute;width:120%;height:1px;background:#c3cbbf;transform:rotate(-25deg)}.map-placeholder:after{transform:rotate(32deg)}.map-circle{position:absolute;width:280px;height:280px;border:1px dashed var(--terra);border-radius:50%}.map-pin{color:var(--terra);font-size:1.4rem;z-index:2}.map-placeholder strong,.map-placeholder small{z-index:2;background:#e5e5da;padding:0 8px}.map-placeholder strong{font-family:var(--serif);font-size:1.8rem}.location-copy>p:not(.eyebrow){color:#5f6f67}.hours{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.hours span{color:var(--terra)}
.contact{background:var(--terra);color:#fffaf3;text-align:center;padding:100px 40px}.contact h2{font-size:clamp(3rem,6vw,5.4rem)}.contact>p:not(.eyebrow){max-width:590px;margin:0 auto 35px}.contact-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.contact-actions a,.contact-actions button{border:1px solid rgba(255,255,255,.55);padding:13px 20px;border-radius:999px;font:inherit;font-size:.85rem;color:inherit;background:transparent;cursor:pointer}.contact-actions a:hover,.contact-actions button:hover{background:white;color:var(--terra)}
footer{background:#203a31;color:white;display:flex;justify-content:space-between;align-items:center;padding:48px 6vw;font-size:.76rem}.footer-brand .brand-mark{border-color:#b9c8c0}.footer-brand small,footer p,footer small{color:#b9c8c0}footer>div{text-align:right}footer>div a,footer>div small{display:block}footer>div a{margin-bottom:8px}.footer-links a:hover{text-decoration:underline;text-underline-offset:3px}.back-to-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--sage-dark);border:1px solid var(--line);box-shadow:0 8px 28px rgba(38,53,47,.15);z-index:45;font-size:1.2rem}.back-to-top:hover{background:var(--sage-dark);color:white}.mobile-nav{display:none}
.provisional-photo{margin:0;position:relative;overflow:hidden;background:var(--sage-pale)}.provisional-photo img{display:block;width:100%;height:100%;object-fit:cover}.provisional-photo figcaption{position:absolute;left:18px;bottom:18px;background:rgba(255,253,248,.9);color:var(--sage-dark);padding:8px 12px;border-radius:3px;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.process h2{margin-bottom:22px}.process-intro{max-width:720px;margin:0 auto 45px;color:#66746d}.real-map{height:500px;position:relative;overflow:hidden;background:#e5e5da;border-radius:4px}.real-map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.72) contrast(.94)}.real-map span{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,253,248,.94);padding:10px 14px;color:var(--sage-dark);font-size:.7rem;font-weight:600;text-align:center;box-shadow:0 6px 20px rgba(38,53,47,.12);pointer-events:none}
@media(max-width:900px){.site-header{height:76px}.site-header nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding-top:60px}.hero-copy{padding:0}.hero h1{font-size:clamp(3.5rem,12vw,5.5rem)}.hero-visual{margin-top:55px;min-height:500px}.main-photo{height:500px}.hero-note{left:10px}.quick-trust{flex-wrap:wrap}.about,.alto-inner,.location{grid-template-columns:1fr}.about-photo{height:500px;max-width:420px}.audience-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.steps article:nth-child(3){border-left:0}.price-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:10px}}
@media(max-width:620px){html{scroll-padding-top:92px}body{padding-bottom:68px}section[id]{scroll-margin-top:92px}h2{font-size:2.65rem}.section{padding:75px 22px}.site-header{padding:0 18px}.site-header .brand small{display:none}.nav-cta{padding:9px 14px}.hero{padding:42px 22px 65px}.hero h1{font-size:3.45rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.quick-trust{display:grid;gap:8px}.hero-visual{min-height:430px}.main-photo{height:430px}.hero-note{width:250px;bottom:-15px}.promise-grid,.audience-grid,.areas-grid,.steps{grid-template-columns:1fr}.promise-grid article+article,.areas-grid article:nth-child(odd),.steps article+article{border-left:0}.about{gap:50px}.about-photo{height:420px}.section-heading{margin-bottom:35px}.audience-grid article{min-height:230px}.alto-section{padding:75px 22px}.alto-inner{gap:45px}.alto-photo{height:430px}.areas-grid article{border-right:0!important}.contact{padding:75px 22px}.contact-actions{flex-direction:column}.contact-actions a{word-break:break-word}footer{align-items:flex-start;flex-direction:column;gap:28px}footer>div{text-align:left}.back-to-top{right:14px;bottom:82px;width:40px;height:40px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;height:68px;background:rgba(255,253,248,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:50;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.6rem;color:#5f6f67}.mobile-nav span{height:20px;color:var(--terra);font-size:.95rem}.mobile-nav a:active{background:var(--sage-pale)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Présentation sans photographies provisoires. */
.hero.hero-text-only{grid-template-columns:1fr;min-height:440px;text-align:center;padding-top:80px;padding-bottom:64px;background:radial-gradient(ellipse at 50% 35%,rgba(221,230,222,.55),transparent 65%)}
.hero-text-only .hero-copy{padding:0;max-width:820px;margin:auto}
.hero-text-only .hero-lead{margin-left:auto;margin-right:auto}
.hero-text-only .hero-actions{justify-content:center}
.about.about-text-only{display:block;max-width:900px;padding-top:48px;padding-bottom:56px}
.about-text-only:before{display:none}
.about-text-only .about-copy{padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-text-only .about-copy>p{max-width:none}
.about-text-only .about-copy>p:last-child{margin-bottom:0}
@media(max-width:620px){.hero.hero-text-only{min-height:auto;padding:54px 24px 42px}.about.about-text-only{padding-top:20px;padding-bottom:28px}}

.hero h1 .hero-subtitle{display:block;font-family:var(--sans);font-size:clamp(1rem,2vw,1.35rem);line-height:1.5;letter-spacing:0;margin-top:20px;color:var(--sage)}
