
*{margin:0;padding:0;box-sizing:border-box}
:root{--ink:#08090b;--paper:#f5f4ef;--muted:#9b9da3;--accent:#18bfc4;--line:rgba(255,255,255,.14)}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:var(--ink);color:#fff;overflow-x:hidden}
body::selection{background:var(--accent);color:#061012}
.container{width:min(1320px,calc(100% - 64px));margin:auto}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:linear-gradient(to bottom,rgba(0,0,0,.75),transparent);border:0;transition:.35s}
.site-header.scrolled{background:rgba(8,9,11,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav-wrapper{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo,.footer-logo{color:#fff;text-decoration:none;font-weight:900;letter-spacing:1.8px;font-size:20px}
.logo span,.footer-logo span,.section-label,.hero-label,.service-number,.project-info span,.news-meta,.payment-label,.payment-card-label{color:var(--accent)}
.main-nav{display:flex;align-items:center;gap:30px}
.main-nav a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:1.3px;font-weight:700;opacity:.86}
.main-nav a:hover{opacity:1;color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:999px;text-decoration:none;font-weight:800;transition:.3s}
.btn-primary{background:var(--accent);color:#061012}.btn-dark{background:#fff;color:#08090b}.btn-outline{border:1px solid rgba(255,255,255,.35);color:#fff}
.btn:hover{transform:translateY(-3px)}
.hero{min-height:100vh;padding:0;position:relative;display:flex;align-items:flex-end;background:#050607}
.hero .container{width:100%;max-width:none}
.hero-grid{min-height:100vh;display:block;position:relative}
.hero-content{position:absolute;z-index:4;left:max(32px,calc((100vw - 1320px)/2));bottom:10vh;max-width:950px;padding-right:30px}
.hero-label{display:block;margin-bottom:18px;font-size:11px;font-weight:900;letter-spacing:2.5px}
.hero h1{font-size:clamp(64px,9.2vw,150px);line-height:.82;letter-spacing:-7px;margin:0 0 30px;text-transform:uppercase}
.hero p{max-width:620px;color:#d1d2d4;font-size:17px;line-height:1.65}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-services{margin-top:25px;color:#aaa;font-size:12px;letter-spacing:1.4px;text-transform:uppercase}
.hero-visual{position:absolute;inset:0}
.hero-image-placeholder{height:100vh;min-height:100vh;border-radius:0;background:#111;overflow:hidden}
.hero-video,.hero-image-placeholder img{width:100%;height:100vh;min-height:100vh;object-fit:cover;border-radius:0;filter:saturate(.8) contrast(1.05);opacity:.72}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.28) 58%,rgba(0,0,0,.18)),linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%)}
.realisations,.services,.reservation,.partners,.news,.contact-section,.portfolio-gallery,.services-detail,.partners-list{padding:120px 0;background:var(--ink);color:#fff}
.realisations,.news,.reservation{background:#101216}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px}
.section-label{font-size:11px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase;display:inline-block;margin-bottom:14px}
.section-heading h2,.services-heading h2,.reservation-content h2,.payment-content h2,.partners-heading h2,.contact-content h2{font-size:clamp(42px,5.2vw,82px);line-height:.95;letter-spacing:-3px}
.section-link{color:#fff;text-decoration:none;font-weight:700}
.realisations-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px}
.project-card{position:relative;background:#15171b;overflow:hidden;border-radius:0}
.project-image{min-height:460px;overflow:hidden}.project-large .project-image,.project-large .project-image img{min-height:580px}
.project-image img{width:100%;height:100%;min-height:460px;object-fit:cover;display:block;transition:.7s}
.project-card:hover img{transform:scale(1.06)}
.project-info{position:absolute;inset:auto 0 0;padding:28px;background:linear-gradient(transparent,rgba(0,0,0,.88));padding-top:100px}
.project-info h3{font-size:27px}.project-info span{font-size:10px;font-weight:900;letter-spacing:1.5px}
.services-heading,.partners-heading{max-width:900px;margin-bottom:55px}.services-heading p,.partners-heading p{color:var(--muted);font-size:17px;margin-top:20px}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#2a2c31;border:1px solid #2a2c31}
.service-card{padding:38px 30px;background:#0d0f12;min-height:300px;transition:.3s;border:0;border-radius:0}
.service-card:hover{background:#15191d;transform:none}.service-number{display:block;margin-bottom:70px;font-size:12px;font-weight:900}.service-card h3{font-size:25px;margin-bottom:15px}.service-card p{color:#9699a0;line-height:1.7}
.reservation-grid,.payment-grid,.contact-grid{display:grid;grid-template-columns:1fr 460px;gap:80px;align-items:center}
.reservation-content p,.payment-content p,.contact-content>p{color:#a7a9ae;line-height:1.7;font-size:17px;margin:24px 0 30px}
.reservation-card,.payment-card,.contact-form{padding:32px;background:#15171b;border:1px solid #2b2e34;border-radius:4px}
.reservation-card label,.contact-form label{display:block;margin:0 0 8px;font-size:12px;color:#aaa}
.reservation-card select,.reservation-card input,.contact-form input,.contact-form textarea{width:100%;padding:15px;margin-bottom:18px;background:#0b0c0f;color:#fff;border:1px solid #30333a;border-radius:0;font:inherit}
.reservation-button,.payment-button,.contact-button{width:100%;min-height:54px;border:0;background:var(--accent);color:#071012;font-weight:900;cursor:pointer}
.payment-section{padding:120px 0;background:#050607}.payment-actions{display:flex;gap:12px;flex-wrap:wrap}.payment-primary{background:var(--accent);color:#061012}.payment-secondary{border:1px solid #444;color:#fff}
.payment-row{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid #303238}.payment-row span{color:#92959b}
.partners-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#292b30}.partner-logo{min-height:130px;background:#0e1013;display:flex;align-items:center;justify-content:center;color:#777;font-size:11px;font-weight:800}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.news-card{background:#0d0f12;overflow:hidden}.news-image{min-height:260px;background:#1a1c20;display:flex;align-items:center;justify-content:center}.news-content{padding:28px}.news-content h3{font-size:25px;margin:12px 0}.news-content p{color:#999;line-height:1.7}.news-content a{display:inline-block;margin-top:18px;color:#fff;text-decoration:none}
.contact-details{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#292b30}.contact-details div{padding:20px;background:#0d0f12}.contact-details span{display:block;color:#888;font-size:11px;margin-bottom:7px}
.site-footer{padding:85px 0 28px;background:#050607;border-top:1px solid #24262b}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}.footer-brand p,.footer-column a,.footer-column span{color:#85888f;text-decoration:none;line-height:1.7}.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column h4{margin-bottom:8px}.footer-bottom{margin-top:55px;padding-top:25px;border-top:1px solid #22252a;display:flex;justify-content:space-between;color:#666;font-size:12px}.footer-bottom a{color:#777;text-decoration:none;margin-left:18px}
.portfolio-page,.services-page,.partners-page{padding:190px 0 90px;background:#08090b}.portfolio-page h1,.services-page h1,.partners-page h1{font-size:clamp(58px,8vw,120px);line-height:.88;letter-spacing:-6px;text-transform:uppercase;max-width:1100px}.portfolio-page-intro,.services-page-intro,.partners-page-intro{color:#999;font-size:18px;line-height:1.7;max-width:700px;margin-top:28px}
.portfolio-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.portfolio-filter{padding:11px 18px;border:1px solid #333;background:transparent;color:#fff;border-radius:999px;font-weight:700;cursor:pointer}.portfolio-filter.active{background:#fff;color:#08090b}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.portfolio-item{position:relative;min-height:500px;overflow:hidden}.portfolio-item img{width:100%;height:100%;min-height:500px;object-fit:cover;transition:.7s}.portfolio-item:hover img{transform:scale(1.06)}.portfolio-overlay{position:absolute;inset:auto 0 0;padding:30px;padding-top:100px;background:linear-gradient(transparent,rgba(0,0,0,.9))}.portfolio-overlay span{color:var(--accent);font-size:10px;font-weight:900}.portfolio-overlay h2{font-size:28px;margin-top:8px}
.services-detail-grid,.partners-list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.service-detail-card,.partner-card{background:#101216;padding:38px;overflow:hidden}.service-media{margin:-38px -38px 30px}.service-media img,.service-media video{width:100%;height:360px;object-fit:cover}.service-detail-card h2,.partner-card h2{font-size:32px;margin:12px 0}.service-detail-card p,.partner-card p{color:#96999f;line-height:1.7;margin-bottom:22px}.service-detail-card a,.partner-card a{color:#fff;text-decoration:none;font-weight:800}
.partner-card-logo{height:230px;margin:-38px -38px 30px;background:#fff;display:flex;align-items:center;justify-content:center;color:#111}.partner-card-logo img{max-width:75%;max-height:75%;object-fit:contain}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.active{opacity:1;transform:none}
.mobile-menu-button{display:none;width:44px;height:44px;border:1px solid #333;background:#111;padding:10px}.mobile-menu-button span{display:block;height:2px;background:#fff;margin:5px 0}
@media(max-width:900px){
.container{width:min(100% - 32px,1320px)}.main-nav{display:none}.mobile-menu-button{display:block}.main-nav.mobile-open{display:flex;position:absolute;top:76px;left:16px;right:16px;padding:24px;background:#0d0f12;flex-direction:column;align-items:flex-start;border:1px solid #292c31}
.nav-wrapper>.btn{display:none}.hero-content{left:20px;bottom:7vh}.hero h1{font-size:clamp(54px,17vw,88px);letter-spacing:-4px}.hero p{font-size:15px}.realisations-grid,.services-grid,.news-grid,.partners-grid,.portfolio-grid,.services-detail-grid,.partners-list-grid,.reservation-grid,.payment-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.project-image,.project-image img,.project-large .project-image,.project-large .project-image img{min-height:430px}.portfolio-item,.portfolio-item img{min-height:430px}.section-heading{align-items:flex-start;flex-direction:column}.portfolio-page h1,.services-page h1,.partners-page h1{letter-spacing:-3px}.footer-bottom{flex-direction:column;gap:15px}.contact-details{grid-template-columns:1fr}
}


/* ===== IKAYDO VISION V2 ===== */
.about-studio{padding:145px 0;background:#08090b;border-top:1px solid #1e2024}
.about-studio-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:end}
.about-studio h2{font-size:clamp(54px,7vw,105px);line-height:.87;letter-spacing:-5px;text-transform:uppercase}
.about-copy p{color:#a5a8ae;font-size:18px;line-height:1.75;max-width:600px;margin-bottom:30px}
.about-copy a{color:#fff;text-decoration:none;font-weight:900;border-bottom:1px solid #555;padding-bottom:7px}
.studio-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:100px;border-top:1px solid #292c31;border-bottom:1px solid #292c31}
.studio-stats div{padding:38px 25px;border-right:1px solid #292c31}
.studio-stats div:last-child{border-right:0}
.studio-stats strong{display:block;font-size:clamp(42px,5vw,76px);line-height:1;color:#fff;letter-spacing:-3px}
.studio-stats span{display:block;color:#858991;margin-top:12px;font-size:12px;text-transform:uppercase;letter-spacing:1px}

.premium-partners{grid-template-columns:repeat(4,1fr);background:#25282d}
.partner-real{background:#fff!important;padding:24px}
.partner-real img{width:100%;height:90px;object-fit:contain;filter:grayscale(1);opacity:.8;transition:.35s}
.partner-real:hover img{filter:grayscale(0);opacity:1;transform:scale(1.03)}
.partner-name{color:#fff!important;text-decoration:none;background:#111318!important;font-size:20px!important}
.partner-name span{color:#fff}

.news-image{overflow:hidden}
.news-image img{width:100%;height:300px;object-fit:cover;display:block;filter:saturate(.8);transition:.6s}
.news-card:hover .news-image img{transform:scale(1.055);filter:saturate(1)}
.news-card{transition:.35s}.news-card:hover{transform:translateY(-5px)}

.realisations-grid{grid-template-columns:1.35fr .95fr .95fr}
.project-card{min-height:520px}
.project-card .project-image,.project-card .project-image img{height:100%;min-height:520px}
.project-large .project-image,.project-large .project-image img{min-height:620px}
.project-info{z-index:2}
.project-card:after{content:"↗";position:absolute;right:25px;top:25px;width:46px;height:46px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;opacity:0;transform:translateY(8px);transition:.3s}
.project-card:hover:after{opacity:1;transform:none}

@media(max-width:900px){
 .about-studio{padding:90px 0}.about-studio-grid{grid-template-columns:1fr;gap:45px}
 .about-studio h2{letter-spacing:-3px}.studio-stats{grid-template-columns:repeat(2,1fr);margin-top:65px}
 .studio-stats div{border-bottom:1px solid #292c31}.premium-partners{grid-template-columns:repeat(2,1fr)}
 .realisations-grid{grid-template-columns:1fr}.project-card,.project-card .project-image,.project-card .project-image img,.project-large .project-image,.project-large .project-image img{min-height:480px}
}

.portfolio-item video{width:100%;height:100%;min-height:500px;object-fit:cover;display:block}


/* ===== IKAYDO RESERVATION — VISUAL V3 ===== */
.reservation{position:relative;overflow:hidden;padding:145px 0 120px;background:
radial-gradient(circle at 12% 25%,rgba(24,191,196,.10),transparent 30%),
radial-gradient(circle at 80% 60%,rgba(204,145,65,.08),transparent 28%),#0b0d10}
.reservation:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent)}
.reservation .reservation-grid{position:relative;z-index:2;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:72px;align-items:start}
.reservation-content h2{font-size:clamp(52px,6.4vw,98px);max-width:800px;text-transform:uppercase;line-height:.88;letter-spacing:-5px}
.reservation-content>p{max-width:650px}
.reservation-showcase{position:relative;height:620px;margin-top:54px;perspective:1000px}
.showcase-photo{position:absolute;margin:0;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 70px rgba(0,0,0,.42)}
.showcase-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.showcase-main{width:48%;height:540px;left:22%;top:25px;z-index:3;transform:rotate(-1.5deg);animation:ikFloatMain 6s ease-in-out infinite}
.showcase-top{width:31%;height:365px;right:1%;top:0;z-index:2;transform:rotate(5deg);animation:ikFloatRight 7s ease-in-out infinite}
.showcase-bottom{width:32%;height:350px;left:0;bottom:8px;z-index:4;transform:rotate(-6deg);animation:ikFloatLeft 8s ease-in-out infinite}
.showcase-photo:hover{z-index:6}.showcase-photo:hover img{transform:scale(1.055);filter:saturate(1.08)}
.showcase-badge{position:absolute;right:2%;bottom:58px;z-index:7;padding:18px 22px;background:rgba(8,9,11,.84);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(14px);animation:ikPulse 4s ease-in-out infinite}
.showcase-badge strong{display:block;color:var(--accent);font-size:18px;letter-spacing:2px}.showcase-badge span{display:block;margin-top:5px;color:#ddd;font-size:10px;letter-spacing:1px;text-transform:uppercase}
.reservation-marquee{overflow:hidden;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);margin-top:25px;padding:13px 0;color:#7f858d;font-size:10px;letter-spacing:2px;white-space:nowrap}
.reservation-marquee div{width:max-content;animation:ikMarquee 24s linear infinite}
.reservation-card{position:sticky;top:118px;padding:32px;background:rgba(18,21,25,.86);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.35);backdrop-filter:blur(18px)}
.reservation-card label{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#9da2aa;font-weight:800}
.reservation-card select,.reservation-card input{border-radius:10px;background:rgba(5,7,9,.8);border-color:#343940;transition:.25s}
.reservation-card select:focus,.reservation-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(24,191,196,.09)}
.booking-price-box,.booking-status-box{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid #30343a}.booking-price-box span,.booking-status-box span{color:#8d939b;font-size:11px;text-transform:uppercase;letter-spacing:1px}
.reservation-button{border-radius:10px;transition:.3s}.reservation-button:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(24,191,196,.22)}
@keyframes ikFloatMain{0%,100%{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(-.5deg) translateY(-12px)}}
@keyframes ikFloatRight{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(3.5deg) translateY(15px)}}
@keyframes ikFloatLeft{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-10px)}}
@keyframes ikPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes ikMarquee{to{transform:translateX(-50%)}}
@media(max-width:900px){
 .reservation{padding:100px 0 80px}.reservation .reservation-grid{grid-template-columns:1fr;gap:48px}
 .reservation-content h2{letter-spacing:-3px}.reservation-showcase{height:520px}
 .showcase-main{width:55%;height:450px;left:22%}.showcase-top{width:34%;height:300px}.showcase-bottom{width:35%;height:300px}
 .reservation-card{position:relative;top:auto}
}
@media(max-width:560px){
 .reservation-showcase{height:430px;margin-top:35px}.showcase-main{width:61%;height:370px;left:19%}.showcase-top{width:38%;height:245px}.showcase-bottom{width:39%;height:240px}.showcase-badge{right:0;bottom:20px;padding:12px 14px}
}
@media(prefers-reduced-motion:reduce){.showcase-main,.showcase-top,.showcase-bottom,.showcase-badge,.reservation-marquee div{animation:none}}


/* ===== IKAYDO NOUVEAU DESIGN — ETAPE 1 : HEADER + HERO CLAIR ===== */
body{background:#f5f1ea;color:#111}
.site-header{background:rgba(250,247,241,.94);border-bottom:1px solid rgba(20,20,20,.09);backdrop-filter:blur(18px)}
.site-header.scrolled{background:rgba(250,247,241,.98)}
.logo{color:#111}.logo span{color:#12bfc6}.main-nav a{color:#161616}.main-nav a:hover{color:#0caeb5}
.header-reserve{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border-radius:999px;background:#12c3cb;color:#071214;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.8px;text-decoration:none;transition:.25s}
.header-reserve:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(18,195,203,.22)}
.mobile-menu-button span{background:#111}

.hero-light{position:relative;min-height:760px;padding:135px 0 75px;background:
radial-gradient(circle at 74% 22%,rgba(20,194,202,.10),transparent 24%),
linear-gradient(120deg,#faf7f1 0%,#f6f1e8 64%,#efe5d5 100%);overflow:hidden}
.hero-light:after{content:"";position:absolute;inset:auto -10% -45% 35%;height:620px;background:radial-gradient(circle,rgba(200,147,74,.16),transparent 62%);pointer-events:none}
.hero-light-inner{position:relative;z-index:2;display:grid;grid-template-columns:.88fr 1.12fr;gap:48px;align-items:center}
.hero-light-copy{padding:35px 0}
.hero-eyebrow{display:block;margin-bottom:22px;color:#0aaeb6;font-size:10px;font-weight:900;letter-spacing:3px}
.hero-light h1{margin:0;font-size:clamp(72px,8vw,132px);line-height:.76;letter-spacing:-7px;text-transform:uppercase;color:#0d0d0d}
.hero-light h1 span{display:block}.hero-light h1 .hero-accent{color:#11b9c1}
.hero-light-copy>p{max-width:570px;margin:34px 0 28px;color:#4f4c47;font-size:16px;line-height:1.75}
.hero-light-actions{display:flex;gap:13px;flex-wrap:wrap}
.hero-primary,.hero-secondary{display:inline-flex;align-items:center;gap:12px;min-height:50px;padding:0 22px;border-radius:999px;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.6px}
.hero-primary{background:#14c5cd;color:#071214}.hero-secondary{border:1px solid #252525;color:#111;background:rgba(255,255,255,.4)}
.play-dot{display:grid;place-items:center;width:25px;height:25px;border:1px solid #222;border-radius:50%;font-size:8px}
.hero-mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;border-top:1px solid rgba(0,0,0,.13)}
.hero-mini-stats div{padding:17px 13px 0 0;border-right:1px solid rgba(0,0,0,.11)}
.hero-mini-stats div:last-child{border-right:0}.hero-mini-stats strong{display:block;font-size:13px}.hero-mini-stats span{display:block;margin-top:4px;color:#777;font-size:9px}

.hero-light-media{position:relative;height:600px;perspective:1200px}
.hero-light-media figure{margin:0;overflow:hidden;background:#ddd;box-shadow:0 30px 70px rgba(61,42,18,.18)}
.hero-light-media img{width:100%;height:100%;object-fit:cover;display:block}
.hero-media-main{position:absolute;z-index:3;left:10%;top:35px;width:58%;height:520px;clip-path:polygon(8% 0,100% 0,90% 100%,0 93%);animation:heroFloatA 7s ease-in-out infinite}
.hero-media-photo{position:absolute;z-index:4;right:0;top:0;width:35%;height:315px;clip-path:polygon(8% 4%,100% 0,93% 100%,0 94%);animation:heroFloatB 8s ease-in-out infinite}
.hero-media-audio{position:absolute;z-index:2;right:2%;bottom:12px;width:38%;height:260px;clip-path:polygon(0 5%,100% 0,94% 100%,7% 94%);animation:heroFloatC 9s ease-in-out infinite}
.hero-shape-a{position:absolute;z-index:1;left:4%;top:7%;width:78%;height:86%;border:1px solid rgba(17,185,193,.28);transform:rotate(-4deg)}
.hero-signature{position:absolute;z-index:6;right:5%;bottom:34px;padding:15px 18px;background:rgba(250,247,241,.91);box-shadow:0 15px 35px rgba(0,0,0,.1);backdrop-filter:blur(12px)}
.hero-signature strong{display:block;color:#111;font-size:13px;letter-spacing:1.5px}.hero-signature span{display:block;margin-top:4px;color:#0aaeb6;font-size:9px;text-transform:uppercase;letter-spacing:1px}

@keyframes heroFloatA{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(0)}}
@keyframes heroFloatB{0%,100%{transform:translateY(0) rotate(1.5deg)}50%{transform:translateY(11px) rotate(.5deg)}}
@keyframes heroFloatC{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}

@media(max-width:980px){
 .header-reserve{display:none}
 .hero-light{padding-top:115px}.hero-light-inner{grid-template-columns:1fr}.hero-light-copy{padding-bottom:0}
 .hero-light h1{font-size:clamp(65px,14vw,110px)}.hero-light-media{height:590px}
}
@media(max-width:620px){
 .hero-light{padding-top:100px}.hero-light h1{font-size:clamp(55px,18vw,82px);letter-spacing:-4px}
 .hero-mini-stats{grid-template-columns:repeat(2,1fr);row-gap:18px}
 .hero-light-media{height:470px}.hero-media-main{left:3%;width:68%;height:410px}
 .hero-media-photo{width:39%;height:230px}.hero-media-audio{width:42%;height:205px}
}
@media(prefers-reduced-motion:reduce){.hero-media-main,.hero-media-photo,.hero-media-audio{animation:none}}


/* ETAPE 1 CORRIGEE — équilibre du hero */
@media (min-width:981px){
  .hero-light-inner{grid-template-columns:.82fr 1.18fr;gap:62px}
  .hero-light h1{font-size:clamp(66px,6.7vw,112px);line-height:.80;letter-spacing:-6px}
  .hero-light-copy{padding-left:8px}
  .hero-light-media{height:610px}
  .hero-media-main{left:5%;width:61%;height:535px}
  .hero-media-main img{object-position:center 38%}
  .hero-media-photo{right:0;width:33%;height:310px}
  .hero-media-audio{right:1%;width:36%;height:255px}
}


/* ===== ETAPE 2 — 4 UNIVERS ===== */
.expertises-light{position:relative;padding:115px 0 125px;background:#f7f3ec;color:#111;overflow:hidden}
.expertises-light:before{content:"04";position:absolute;right:-18px;top:-70px;font-size:310px;line-height:1;font-weight:900;color:rgba(13,13,13,.025);letter-spacing:-25px;pointer-events:none}
.expertises-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;margin-bottom:55px}
.section-kicker-light{display:block;margin-bottom:15px;color:#0aaeb6;font-size:10px;font-weight:900;letter-spacing:3px}
.expertises-heading h2{margin:0;font-size:clamp(48px,6vw,86px);line-height:.88;letter-spacing:-5px;text-transform:uppercase}
.expertises-heading h2 span{color:#13b8c0}
.expertises-heading>p{max-width:530px;margin:0 0 8px;color:#625e58;font-size:15px;line-height:1.8}
.expertises-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(0,0,0,.14);border-bottom:1px solid rgba(0,0,0,.14)}
.expertise-card{position:relative;min-height:430px;padding:25px 25px 28px;color:#111;text-decoration:none;border-right:1px solid rgba(0,0,0,.14);overflow:hidden;transition:transform .35s ease,background .35s ease,color .35s ease}
.expertise-card:last-child{border-right:0}
.expertise-card:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 20%,rgba(19,184,192,.10));opacity:0;transition:.4s}
.expertise-card:hover{transform:translateY(-8px);background:#111;color:#fff}
.expertise-card:hover:before{opacity:1}
.expertise-number{position:relative;z-index:2;color:#96918a;font-size:10px;font-weight:800;letter-spacing:2px}
.expertise-icon{position:relative;z-index:2;display:grid;place-items:center;width:72px;height:72px;margin:60px 0 62px;border:1px solid rgba(0,0,0,.18);border-radius:50%;font-size:25px;transition:.35s}
.expertise-card:hover .expertise-icon{border-color:#17c3ca;color:#17c3ca;transform:rotate(-8deg) scale(1.06)}
.expertise-copy{position:relative;z-index:2}
.expertise-copy>span{color:#0aaeb6;font-size:9px;font-weight:900;letter-spacing:2px}
.expertise-copy h3{margin:7px 0 14px;font-size:35px;letter-spacing:-2px}
.expertise-copy p{min-height:54px;margin:0 0 25px;color:#706b64;font-size:12px;line-height:1.55;transition:.35s}
.expertise-card:hover .expertise-copy p{color:#bbb}
.expertise-copy strong{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid rgba(0,0,0,.13);font-size:10px;text-transform:uppercase;letter-spacing:1px}
.expertise-card:hover .expertise-copy strong{border-color:rgba(255,255,255,.18)}
.expertise-copy b{font-size:18px;color:#12bcc4}
@media(max-width:900px){
 .expertises-heading{grid-template-columns:1fr;gap:25px}.expertises-grid{grid-template-columns:repeat(2,1fr)}
 .expertise-card:nth-child(2){border-right:0}.expertise-card:nth-child(-n+2){border-bottom:1px solid rgba(0,0,0,.14)}
}
@media(max-width:560px){
 .expertises-light{padding:80px 0}.expertises-heading h2{letter-spacing:-3px}.expertises-grid{grid-template-columns:1fr}
 .expertise-card{min-height:330px;border-right:0;border-bottom:1px solid rgba(0,0,0,.14)}
 .expertise-card:last-child{border-bottom:0}.expertise-icon{margin:35px 0 38px}
}

/* ===== IKAYDO VERSION COMPLETE — harmonisation claire ===== */
.about-studio,.realisations,.partners,.news,.contact-section{background:#f7f3ec;color:#111}
.about-studio{padding:105px 0;border-top:1px solid rgba(0,0,0,.08)}
.about-studio h2,.partners h2,.news h2,.contact-section h2{color:#111}
.about-copy p,.partners p,.news p,.contact-content p{color:#66615b}
.studio-stats{border-color:rgba(0,0,0,.12)}.studio-stats div{border-color:rgba(0,0,0,.12)}
.studio-stats strong{color:#12b9c1}.studio-stats span{color:#69645e}

.portfolio-complete{padding:115px 0;background:#111;color:#fff}
.portfolio-complete .section-label,.portfolio-complete .section-link{color:#16c2ca}
.light-heading h2{font-size:clamp(48px,6vw,88px);line-height:.88;letter-spacing:-5px;text-transform:uppercase;color:#fff}
.light-heading h2 span{color:#17bdc5}
.portfolio-filters{display:flex;gap:8px;flex-wrap:wrap;margin:35px 0 28px}
.portfolio-filters button{border:1px solid #3b3b3b;background:transparent;color:#aaa;border-radius:999px;padding:10px 17px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.portfolio-filters button.active,.portfolio-filters button:hover{background:#18bec6;color:#071214;border-color:#18bec6}
.portfolio-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:245px;gap:14px}
.portfolio-item{position:relative;grid-column:span 4;overflow:hidden;background:#222}
.portfolio-item.p-wide{grid-column:span 8}.portfolio-item.p-tall{grid-row:span 2}
.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .5s}
.portfolio-item:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.portfolio-item>div{position:absolute;z-index:2;left:22px;bottom:20px}.portfolio-item span{font-size:9px;letter-spacing:2px;color:#1ad0d7;font-weight:900}.portfolio-item h3{margin:5px 0 0;font-size:23px;color:#fff}
.portfolio-item:hover img{transform:scale(1.045);filter:saturate(1.08)}
.portfolio-item.is-hidden{display:none}

.reservation{background:linear-gradient(135deg,#f7f3ec,#eee5d8);color:#111}
.reservation .section-label{color:#0aaeb6}.reservation-content h2{color:#111}.reservation-content>p{color:#625e58}
.reservation-card{background:rgba(255,255,255,.78);border-color:rgba(0,0,0,.12);box-shadow:0 28px 80px rgba(69,49,25,.12)}
.reservation-card label{color:#68635d}.reservation-card input,.reservation-card select{background:#fff;color:#111;border-color:#d8d1c8}
.booking-price-box,.booking-status-box{border-color:#ddd5cb;color:#111}

.payment-light{background:#e9dfd1;color:#111}.payment-light h2{color:#111}.payment-light h2 span{color:#0aaeb6}
.payment-light p{color:#615c55}.payment-light .payment-card{background:#111;color:#fff;border-radius:18px}
.payment-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.payment-badges span{padding:9px 12px;border:1px solid rgba(0,0,0,.14);border-radius:999px;font-size:9px;font-weight:800}
.payment-button:disabled{opacity:.7;cursor:not-allowed}

.partners{padding:105px 0}.premium-partners{background:#fff;border:1px solid rgba(0,0,0,.08)}
.news{padding:110px 0}.news-card{background:#fff;border:1px solid rgba(0,0,0,.08)}.news-content h3{color:#111}.news-meta,.news-content a{color:#0aaeb6}
.contact-section{padding:110px 0}.contact-details div{border-color:rgba(0,0,0,.12)}.contact-details span{color:#777}.contact-details strong{color:#111}
.site-footer{background:#111}

@media(max-width:800px){
 .portfolio-mosaic{grid-template-columns:1fr;grid-auto-rows:330px}.portfolio-item,.portfolio-item.p-wide{grid-column:auto}.portfolio-item.p-tall{grid-row:auto}
}

/* Acompte réservation V4 */
.deposit-row strong{color:var(--accent,#14b8a6);font-size:18px}.balance-row strong{font-size:17px}.booking-payment-note{margin:12px 0 0;font-size:12px;line-height:1.55;color:#756f68}.reservation-card .deposit-row{margin-top:4px}
