/* DR. EDDLIMI v7 — MOBILE-FIRST, SAFARI-SAFE */
:root{
--bk:#111;--ch:#222;--g8:#333;--g6:#555;--g5:#666;--g4:#888;--g3:#aaa;--g2:#d4d4d4;--g1:#e8e4e0;--g0:#f4f2ef;
--wh:#fff;--cr:#faf8f5;--gd:#c5a47e;--gdd:#a07d5a;--gdl:#f5efe9;--ok:#2e7d32;
--fd:'Playfair Display',Georgia,serif;--fb:'DM Sans',system-ui,sans-serif;
--px:clamp(16px,5vw,56px);--mx:1200px;
--e:cubic-bezier(.25,.46,.45,.94);--eo:cubic-bezier(.16,1,.3,1);--d:.35s;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
html{scroll-padding-top:64px}
body{font-family:var(--fb);font-weight:400;font-size:16px;line-height:1.6;color:var(--g8);background:var(--wh);overflow-x:hidden;-webkit-tap-highlight-color:transparent}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--mx);margin:0 auto;padding:0 var(--px)}.gold{color:var(--gd)}
.label{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gd);margin-bottom:10px}
.heading{font-family:var(--fd);font-weight:500;font-size:clamp(1.6rem,3.5vw,2.5rem);line-height:1.2;color:var(--bk)}
.sub{font-size:14px;color:var(--g5);margin-top:8px}
.section{padding:clamp(48px,8vw,96px) 0}
.section--sm{padding:clamp(36px,5vw,64px) 0}
.section__header{text-align:center;max-width:520px;margin:0 auto clamp(28px,4vw,48px)}

/* Btns — min 44px touch target */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--fb);font-size:14px;font-weight:500;letter-spacing:.03em;padding:14px 28px;min-height:44px;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all var(--d) var(--e);line-height:1}
.btn--gold{background:var(--gd);color:var(--wh);border-color:var(--gd)}.btn--gold:hover{background:var(--gdd);border-color:var(--gdd)}
.btn--primary{background:var(--bk);color:var(--wh);border-color:var(--bk)}.btn--primary:hover{background:var(--ch)}
.btn--ghost{background:transparent;color:var(--wh);border-color:rgba(255,255,255,.3)}.btn--ghost:hover{border-color:var(--wh)}
.btn--ghost-light{background:transparent;color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.12)}.btn--ghost-light:hover{color:var(--wh);border-color:rgba(255,255,255,.3)}
.btn--outline{background:transparent;color:var(--bk);border-color:var(--g2)}.btn--outline:hover{border-color:var(--bk)}
.btn--full{width:100%}
.btn:active{transform:scale(.97)}
@media(hover:none){.btn:hover{transform:none}}

/* Loader */
.loader{position:fixed;inset:0;z-index:9999;background:var(--bk);display:flex;align-items:center;justify-content:center}
.loader.done{opacity:0;pointer-events:none;transition:opacity .5s var(--eo)}
.loader__logo{font-family:var(--fd);font-size:1.3rem;color:var(--wh);display:block;margin-bottom:20px}
.loader__bar{width:100px;height:2px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.loader__fill{width:0;height:100%;background:var(--gd)}

/* Nav overlay */
.nav-ov{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity var(--d) var(--eo);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.nav-ov.active{opacity:1;pointer-events:auto}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:64px;display:flex;align-items:center;transition:all var(--d) var(--e)}
.nav--s{background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(0,0,0,.05)}
.nav__inner{max-width:var(--mx);margin:0 auto;padding:0 var(--px);width:100%;display:flex;align-items:center;justify-content:space-between}
.nav__logo{font-family:var(--fd);font-size:1.05rem;font-weight:500;color:var(--wh);transition:color var(--d)}
.nav--s .nav__logo{color:var(--bk)}
.nav__menu{display:flex;align-items:center;gap:24px}
.nav__link{font-size:13px;color:rgba(255,255,255,.6);transition:color var(--d)}
.nav__link:hover{color:var(--wh)}
.nav--s .nav__link{color:var(--g5)}.nav--s .nav__link:hover{color:var(--bk)}
.nav__cta{font-size:13px;font-weight:500;color:var(--wh);padding:8px 18px;border:1px solid rgba(255,255,255,.25);border-radius:4px;transition:all var(--d);min-height:36px;display:flex;align-items:center}
.nav__cta:hover{background:var(--wh);color:var(--bk)}
.nav--s .nav__cta{color:var(--wh);background:var(--gd);border-color:var(--gd)}
.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;width:32px;min-height:44px;justify-content:center;z-index:1002}
.nav__toggle span{height:1.5px;background:var(--wh);border-radius:1px;transition:all var(--d)}
.nav--s .nav__toggle span{background:var(--bk)}
.nav__toggle--active span{background:var(--bk)!important}
.nav__toggle--active span:first-child{transform:rotate(45deg) translate(3px,3px)}
.nav__toggle--active span:last-child{transform:rotate(-45deg) translate(3px,-3px)}

/* Hero — image-ready */
.hero{position:relative;min-height:100dvh;min-height:-webkit-fill-available;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero__bg{position:absolute;inset:0;background:#0d0c0a;background-size:cover;background-position:center}
.hero__overlay{position:absolute;inset:0;background:rgba(13,12,10,.65)}
.hero__orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none}
.hero__orb--1{width:45vw;height:45vw;top:-5%;right:-10%;background:rgba(198,169,108,.06)}
.hero__orb--2{width:30vw;height:30vw;bottom:-5%;left:-8%;background:rgba(198,169,108,.04)}
.hero__content{position:relative;text-align:center;padding:100px var(--px) 60px;max-width:800px}
.hero__badge,.hero__sub,.hero__actions,.hero__scroll{opacity:0;transform:translateY(20px)}
.hero__line{opacity:0;transform:translateY(40px)}
.hero__badge{display:inline-flex;align-items:center;gap:7px;padding:7px 16px;border:1px solid rgba(198,169,108,.2);border-radius:50px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gd);margin-bottom:28px}
.hero__dot{width:5px;height:5px;border-radius:50%;background:var(--gd);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
.hero__title{font-family:var(--fd);font-weight:500;font-size:clamp(2rem,6vw,3.8rem);line-height:1.1;color:var(--wh);margin-bottom:16px}
.hero__line{display:block}
.hero__sub{font-size:clamp(13px,1.3vw,15px);color:rgba(255,255,255,.4);font-weight:300;line-height:1.65;margin-bottom:32px}
.hero__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.hero__scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%)}
.hero__scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,rgba(255,255,255,.2),transparent);animation:scrollL 2.5s ease-in-out infinite}
@keyframes scrollL{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* Trust — horizontal counters */
.trust{padding:clamp(28px,4vw,48px) 0;background:var(--wh);border-bottom:1px solid var(--g1)}
.trust__row{display:flex;align-items:center;justify-content:center;gap:0;max-width:800px;margin:0 auto}
.trust2{text-align:center;flex:1;padding:8px 12px}
.trust2__num{display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:500;color:var(--bk);letter-spacing:-.02em;height:40px}
.trust2__num.gold-text{font-size:clamp(.85rem,1.6vw,1.1rem);color:var(--gd);letter-spacing:.01em;font-weight:600}
.trust2__label{font-size:11px;color:var(--g5);text-transform:uppercase;letter-spacing:.1em;font-weight:500;margin-top:2px;display:block}
.trust2__sep{width:1px;height:36px;background:linear-gradient(to bottom,transparent,var(--g2),transparent);flex-shrink:0}
@media(max-width:600px){.trust__row{flex-wrap:wrap;gap:4px 0}.trust2{flex:0 0 50%;padding:10px 8px}.trust2__sep{display:none}}

/* About */
.about{background:var(--wh)}
.about__grid{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.about__img-col{position:relative}
.about__img-wrap{border-radius:8px;overflow:hidden;position:relative;z-index:1;-webkit-transform:translateZ(0);transform:translateZ(0);border:3px solid var(--gd);padding:6px;background:var(--wh);box-shadow:0 8px 32px rgba(0,0,0,.08)}
.about__img-ph{aspect-ratio:3/4;background:var(--g0);display:flex;align-items:center;justify-content:center;color:var(--g3);font-size:14px}
.about__accent{position:absolute;top:-8px;right:-8px;width:40%;height:50%;border:1px solid var(--gdl);border-radius:8px;opacity:.2}
.about__text-col .heading{margin-bottom:16px}
.about__body p{margin-bottom:10px;color:var(--g6);font-size:15px}
.about__body strong{color:var(--bk);font-weight:500}
.creds{margin-top:20px;display:flex;flex-direction:column}
.cred{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--g1)}
.cred:last-child{border-bottom:none}
.cred__ic{width:34px;height:34px;border-radius:8px;background:var(--gdl);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cred__ic svg{width:16px;height:16px;color:var(--gdd)}
.cred strong{display:block;font-size:14px;color:var(--bk);font-weight:500}
.cred span{font-size:12px;color:var(--g4)}

/* ============================================
   SERVICES — SWIPER CAROUSEL
   ============================================ */
.sec-services{background:var(--g0);padding:clamp(48px,8vw,80px) 0;overflow:hidden}
.sec-services__hd{text-align:center;margin-bottom:clamp(24px,4vw,36px)}
.srv-carousel{position:relative}
.srv-swiper{padding:0 var(--px) 40px}
.srv-card{display:block;background:var(--wh);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--bk);border:1px solid var(--g1);transition:all .35s var(--eo);-webkit-transform:translateZ(0);transform:translateZ(0);height:100%}
.srv-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.srv-card img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover;background:var(--g0)}
.srv-card div{padding:14px 16px}
.srv-card h3{font-family:var(--fd);font-size:15px;font-weight:500;margin-bottom:4px;color:var(--bk)}
.srv-card p{font-size:12px;color:var(--g5);line-height:1.45;margin-bottom:6px}
.srv-card__more{font-size:11px;font-weight:600;color:var(--gd);cursor:pointer}
.srv-card__info{display:none;padding:14px 16px;background:var(--cr);border-top:1px solid var(--g1);font-size:13px;color:var(--g6);line-height:1.55}
.srv-card__info.open{display:block}
.srv-card__info a{display:inline-block;margin-top:8px;font-size:12px;font-weight:600;color:var(--gd)}
.srv-pagination{margin-top:8px}
.srv-pagination .swiper-pagination-bullet{width:6px;height:6px;background:var(--g3);opacity:1}
.srv-pagination .swiper-pagination-bullet-active{background:var(--bk);width:18px;border-radius:3px}
.srv-nav-wrap{display:flex;justify-content:center;gap:10px;margin-top:16px}
.srv-nav{width:42px;height:42px;border-radius:50%;border:1px solid var(--g2);background:var(--wh);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--bk);transition:all var(--d)}
.srv-nav:hover{border-color:var(--bk);background:var(--bk);color:var(--wh)}
@media(max-width:768px){.srv-nav-wrap{display:none}}

/* Brands Marquee — infinite loop */
.brands{padding:14px 0;background:var(--bk);overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.brands__track{display:flex;width:fit-content}
.brands__slide{display:flex;flex-shrink:0;animation:marquee 18s linear infinite}
.brands__slide span{padding:0 24px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);white-space:nowrap}
.brands__slide span::after{content:'·';margin-left:24px;color:var(--gd);opacity:.4}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}

/* Media — "Ils parlent de nous" */
.media{padding:10px 0 28px;background:var(--cr);overflow:hidden;border-bottom:1px solid var(--g1)}
.media__label{text-align:center;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--g4);margin-bottom:12px;position:relative;top:-38px}
.media__track{overflow:hidden;position:relative}
.media__inner{display:flex;align-items:center;width:max-content}
.media__inner img{height:40px;width:auto;padding:0 32px;object-fit:contain;opacity:.75;flex-shrink:0}

/* Avant/Après + Instagram */
.avant-apres{background:var(--bk);padding:clamp(40px,6vw,72px) 0}
.avant-apres .label{color:var(--gd)}
.avant-apres .heading{color:var(--wh)}
.avant-apres .sub{color:rgba(255,255,255,.45)}
.aa-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;text-decoration:none;color:var(--wh);transition:all var(--d);min-height:56px}
.aa-link:hover{background:rgba(255,255,255,.08);border-color:var(--gd)}
.aa-link__left{display:flex;align-items:center;gap:14px}
.aa-link__left svg{color:var(--gd);flex-shrink:0}
.aa-link__left strong{display:block;font-size:15px}
.aa-link__left span{font-size:12px;color:rgba(255,255,255,.45);display:block;margin-top:2px}
.aa-link__arrow{font-size:13px;color:var(--gd);font-weight:500;white-space:nowrap;flex-shrink:0}
@media(max-width:480px){.aa-link{flex-direction:column;align-items:flex-start;gap:12px}}

/* Testimonials */
.testimonials{background:var(--cr)}
.testi-wrap{display:flex;align-items:center;gap:12px}
.testi-nav{width:44px;height:44px;border-radius:50%;border:1px solid var(--g2);background:var(--wh);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--bk);transition:all var(--d);flex-shrink:0}
.testi-nav:hover{border-color:var(--bk);background:var(--bk);color:var(--wh)}
@media(max-width:768px){.testi-nav{display:none}}
.testi-swiper{padding-bottom:44px;flex:1;overflow:hidden}
.testi{background:var(--wh);border:1px solid var(--g1);border-radius:8px;padding:clamp(18px,2.5vw,28px);height:100%;display:flex;flex-direction:column;-webkit-transform:translateZ(0);transform:translateZ(0)}
.testi__stars{color:var(--gd);font-size:14px;letter-spacing:2px;margin-bottom:10px}
.testi p{font-family:var(--fd);font-size:clamp(14px,1.2vw,16px);font-weight:400;font-style:italic;color:var(--g8);line-height:1.6;flex:1;margin-bottom:16px}
.testi footer{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--g1)}
.testi__av{width:32px;height:32px;border-radius:50%;background:var(--bk);color:var(--wh);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0}
.testi footer strong{display:block;font-size:13px;color:var(--bk)}
.testi footer span{font-size:11px;color:var(--g4)}
.testi-pagination .swiper-pagination-bullet{width:6px;height:6px;background:var(--g3);opacity:1}
.testi-pagination .swiper-pagination-bullet-active{background:var(--bk);width:18px;border-radius:3px}

/* CTA */
.cta{position:relative;padding:clamp(56px,10vw,112px) 0;overflow:hidden}
.cta__bg{position:absolute;inset:0;background:var(--bk)}
.cta__orb{position:absolute;width:40vw;height:40vw;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(198,169,108,.06),transparent 60%)}
.cta__content{position:relative;text-align:center}
.cta__content h2{font-family:var(--fd);font-weight:500;font-size:clamp(1.5rem,4vw,2.4rem);color:var(--wh);margin-bottom:12px;line-height:1.2}
.cta__content p{font-size:14px;color:rgba(255,255,255,.4);margin-bottom:24px}
.cta__btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* FAQ */
.faq{background:var(--wh)}
.faq__grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(24px,4vw,60px);align-items:start}
.faq__left{position:sticky;top:80px}
.faq__item{border-bottom:1px solid var(--g2)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;padding:14px 0;font-size:14px;font-weight:500;color:var(--bk);cursor:pointer;list-style:none;min-height:44px}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:'+';font-family:var(--fd);font-size:1.2rem;color:var(--gd);transition:transform .4s cubic-bezier(.16,1,.3,1);flex-shrink:0;margin-left:12px}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{overflow:hidden}
.faq__item p{padding:0 0 14px;font-size:14px;color:var(--g5);line-height:1.55}

/* Contact */
.contact{background:var(--cr)}
.contact__grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(20px,4vw,48px);align-items:start}
.contact__info{display:flex;flex-direction:column;gap:16px}
.cb{display:flex;gap:12px;align-items:flex-start}
.cb__icon{width:36px;height:36px;border-radius:8px;background:var(--gdl);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gdd)}
.cb h4{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--g4);margin-bottom:3px}
.cb p{font-size:14px;color:var(--g8);line-height:1.5}
.cb a{color:var(--bk);border-bottom:1px solid var(--g2);transition:border-color var(--d)}
.cb a:hover{border-color:var(--gd)}
.contact__map{border-radius:8px;overflow:hidden;aspect-ratio:16/10;background:var(--g0);-webkit-transform:translateZ(0);transform:translateZ(0)}
.contact__map iframe{width:100%;height:100%}

/* Booking */
.booking{background:var(--wh)}
.booking__inner{max-width:600px;margin:0 auto}
.booking__hd{text-align:center;margin-bottom:clamp(20px,3vw,32px)}
.form{background:var(--cr);padding:clamp(18px,3vw,32px);border-radius:8px;border:1px solid var(--g1)}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.form__g{display:flex;flex-direction:column}
.form__g--full{margin-bottom:12px}
.form__g label{font-size:12px;font-weight:500;color:var(--g8);margin-bottom:3px}
.form__g input,.form__g select,.form__g textarea{padding:12px;border:1px solid var(--g2);border-radius:4px;font-family:var(--fb);font-size:16px;color:var(--bk);background:var(--wh);outline:none;min-height:44px;transition:border-color var(--d)}
.form__g input:focus,.form__g select:focus,.form__g textarea:focus{border-color:var(--gd)}
.form__g input::placeholder,.form__g textarea::placeholder{color:var(--g3)}
.form__g textarea{resize:vertical}
.form__check{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--g5);line-height:1.5;margin-bottom:16px;cursor:pointer}
.form__check input{margin-top:2px;flex-shrink:0;width:16px;height:16px;accent-color:var(--gd)}
.form__ok{display:none;text-align:center;padding:40px 16px}
.form__ok.visible{display:block}
.form__ok svg{color:var(--ok);margin-bottom:10px}
.form__ok h3{font-family:var(--fd);font-size:1.2rem;font-weight:500;color:var(--bk);margin-bottom:4px}
.form__ok p{color:var(--g5);font-size:14px}

/* Social Bubbles — site colors */
.socials{position:fixed;bottom:24px;right:20px;z-index:997;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(16px);pointer-events:none;transition:all .5s var(--eo)}
.socials.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.socials__btn{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bk);color:var(--gd);border:1px solid var(--ch);box-shadow:0 4px 12px rgba(0,0,0,.12);transition:all var(--d)}
.socials__btn svg{width:20px;height:20px}
.socials__btn:hover{background:var(--gd);color:var(--wh);border-color:var(--gd)}

/* Mobile CTA */
.mob-cta{display:none;visibility:hidden;position:fixed;bottom:0;left:0;right:0;z-index:998;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--wh);border-top:1px solid var(--g1);transform:translateY(100%);transition:transform .4s var(--eo);gap:8px}
.mob-cta.visible{transform:translateY(0);visibility:visible}
.mob-cta__call{width:46px;min-height:46px;background:var(--g0);color:var(--bk);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mob-cta__rdv{flex:1;text-align:center;background:var(--gd);color:var(--wh);padding:13px;border-radius:6px;font-size:14px;font-weight:600;min-height:46px;display:flex;align-items:center;justify-content:center}

/* Footer */
.footer{background:var(--bk);color:rgba(255,255,255,.3);padding:36px 0 18px}
.footer__top{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.06)}
.footer__brand{font-family:var(--fd);font-size:1rem;color:var(--wh)}
.footer__brand p{font-family:var(--fb);font-size:11px;color:rgba(255,255,255,.2);margin-top:2px}
.footer__nav{display:flex;gap:18px}
.footer__nav a{font-size:12px;transition:color var(--d);min-height:44px;display:flex;align-items:center}
.footer__nav a:hover{color:var(--wh)}
.footer__social{display:flex;justify-content:center;gap:16px;padding:20px 0}
.footer__social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);transition:all var(--d)}
.footer__social a:hover{border-color:var(--gd);color:var(--gd)}
.footer__bottom{padding-top:14px;text-align:center;font-size:11px;color:rgba(255,255,255,.12)}

/* ===== SAFE Scroll Animations =====
   Elements are VISIBLE by default. Animation only adds polish.
   If JS fails, everything still shows. */
.anim-ready{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.anim-ready.anim-in{opacity:1;transform:translateY(0)}

/* Stagger delays for children */
.cred.anim-ready:nth-child(2){transition-delay:.08s}
.cred.anim-ready:nth-child(3){transition-delay:.16s}
.cred.anim-ready:nth-child(4){transition-delay:.24s}
.srv-card.anim-ready:nth-child(2){transition-delay:.06s}
.srv-card.anim-ready:nth-child(3){transition-delay:.12s}
.srv-card.anim-ready:nth-child(4){transition-delay:.18s}
.srv-card.anim-ready:nth-child(5){transition-delay:.24s}
.srv-card.anim-ready:nth-child(6){transition-delay:.30s}
.srv-card.anim-ready:nth-child(7){transition-delay:.36s}
.srv-card.anim-ready:nth-child(8){transition-delay:.42s}
.srv-card.anim-ready:nth-child(9){transition-delay:.48s}
.srv-card.anim-ready:nth-child(10){transition-delay:.54s}
.srv-card.anim-ready:nth-child(11){transition-delay:.60s}
.cb.anim-ready:nth-child(2){transition-delay:.06s}
.cb.anim-ready:nth-child(3){transition-delay:.12s}
.cb.anim-ready:nth-child(4){transition-delay:.18s}
.cb.anim-ready:nth-child(5){transition-delay:.24s}
.faq__item.anim-ready:nth-child(2){transition-delay:.06s}
.faq__item.anim-ready:nth-child(3){transition-delay:.12s}
.faq__item.anim-ready:nth-child(4){transition-delay:.18s}
.faq__item.anim-ready:nth-child(5){transition-delay:.24s}
.trust__item.anim-ready:nth-child(2){transition-delay:.08s}
.trust__item.anim-ready:nth-child(3){transition-delay:.16s}
.trust__item.anim-ready:nth-child(4){transition-delay:.24s}

/* Directional variants */
.about__img-col.anim-ready{transform:translateX(-40px)}
.about__img-col.anim-in{transform:translateX(0)}
.about__text-col.anim-ready{transform:translateX(40px)}
.about__text-col.anim-in{transform:translateX(0)}
.contact__map.anim-ready{transform:translateX(40px)}
.contact__map.anim-in{transform:translateX(0)}
.ig-band.anim-ready{transform:translateX(-40px)}
.ig-band.anim-in{transform:translateX(0)}

/* FAQ p overflow for animation */
.faq__item p{overflow:hidden}

/* Zellige pattern — dark sections */
.hero__bg .zellige,.cta__bg .zellige,.avant-apres .zellige{position:absolute;inset:0;pointer-events:none;background-image:url('img/zellige.svg');background-size:50px 50px;background-repeat:repeat;opacity:.04}
.hero__bg .zellige{opacity:.03}

/* Section divider — gold line with diamond — EVERYWHERE */
.section,.sec-services,.testimonials,.faq,.contact,.booking,.trust,.media,.avant-apres,.cta{position:relative;overflow:visible}
.section::before,.sec-services::before,.testimonials::before,.faq::before,.contact::before,.booking::before,.trust::before,.media::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(80%,500px);height:1px;background:linear-gradient(90deg,transparent,var(--gd),transparent)}
.section::after,.sec-services::after,.testimonials::after,.faq::after,.contact::after,.booking::after,.trust::after,.media::after{content:'';position:absolute;top:-4px;left:50%;transform:translateX(-50%) rotate(45deg);width:7px;height:7px;background:var(--gd);z-index:5}
/* Dark sections — diamond on dark bg */
.avant-apres::before,.cta::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(80%,500px);height:1px;background:linear-gradient(90deg,transparent,var(--gd),transparent);z-index:2}
.avant-apres::after,.cta::after{content:'';position:absolute;top:-3px;left:50%;transform:translateX(-50%) rotate(45deg);width:7px;height:7px;background:var(--gd);z-index:2}

/* Responsive */
@media(max-width:1024px){
.faq__grid{grid-template-columns:1fr}.faq__left{position:static;margin-bottom:16px}
}
@media(max-width:768px){
.nav__toggle{display:flex}
.nav__menu{position:fixed;top:0;right:-100%;width:280px;height:100dvh;background:var(--wh);flex-direction:column;padding:80px 24px 40px;gap:0;box-shadow:-4px 0 24px rgba(0,0,0,.06);transition:right var(--d) var(--eo);align-items:stretch;z-index:1001}
.nav__menu--open{right:0}
.nav__link,.nav--s .nav__link{color:var(--g8);padding:14px 0;border-bottom:1px solid var(--g1);font-size:15px;min-height:48px;display:flex;align-items:center}
.nav__cta,.nav--s .nav__cta{color:var(--wh);background:var(--gd);border-color:var(--gd);text-align:center;margin-top:14px;padding:14px;justify-content:center}
.about__grid{grid-template-columns:1fr;gap:28px}
.about__img-col{max-width:300px;margin:0 auto}
.contact__grid{grid-template-columns:1fr}.contact__map{aspect-ratio:16/9}
.form__row{grid-template-columns:1fr}
.footer__top{flex-direction:column;gap:16px;text-align:center}
.footer__nav{flex-wrap:wrap;justify-content:center}
.mob-cta{display:flex}
.socials{bottom:90px;right:16px}
}
@media(max-width:480px){
.hero__title{font-size:1.9rem}
.hero__actions{flex-direction:column;align-items:stretch}
.hero__scroll{display:none}
.cta__btns{flex-direction:column;align-items:stretch}
}
