/* ═══════════════════════════════════════════════════════════════
   K'HUB — style.css  (thème public)
   ═══════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --black:     #f0f2f6;
  --dark:      #e8eaf0;
  --dark2:     #dde0ea;
  --card:      #ffffff;
  --accent:    #8ad9bd;
  --accent2:   #7dd4f8;
  --accent3:   #95e0ff;
  --accent-bg: rgba(0,200,150,.07);
  --ab:        rgba(0,200,150,.2);
  --white:     #1a1d2e;
  --grey:      #6b7280;
  --grey2:     #4b5563;
  --ff-h: 'Syne', sans-serif;
  --ff-b: 'Inter', system-ui, sans-serif;
  --ease: cubic-bezier(.16,1,.3,1);
}
html  { scroll-behavior: smooth; }
body  { font-family: var(--ff-b); background: var(--black); color: var(--white); overflow-x: hidden; cursor: none; }
img   { max-width: 100%; height: auto; display: block; }
a     { color: inherit; }
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track  { background: var(--dark2); }
::-webkit-scrollbar-thumb  { background: var(--accent); border-radius: 2px; }

/* ── CURSEUR ── */
#cur  { position:fixed;width:8px;height:8px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%); }
#curR { position:fixed;width:32px;height:32px;border:1.5px solid var(--accent);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:.4;transition:width .3s,height .3s,opacity .3s; }

/* ── LOADER ── */
#loader { position:fixed;inset:0;background:var(--black);z-index:9000;display:flex;align-items:center;justify-content:center;transition:opacity .8s .2s,transform .8s .2s; }
#loader.gone { opacity:0;pointer-events:none;transform:translateY(-20px); }
.loader-inner { text-align:center; }
.loader-txt { font-family:var(--ff-h);font-size:4rem;font-weight:800;letter-spacing:-.04em;color:#1a1d2e; }
.loader-txt span { color:var(--accent); }
.loader-bar { height:2px;background:var(--accent);width:0;transition:width 1s var(--ease);margin-top:.5rem; }

/* ── NAV ── */
nav { position:fixed;top:0;left:0;width:100%;z-index:800;padding:1.6rem 3rem;display:flex;align-items:center;justify-content:space-between;transition:padding .4s,background .5s; }
nav.stuck { padding:1rem 3rem;background:rgba(240,242,246,.92);backdrop-filter:blur(22px);border-bottom:1px solid var(--ab);box-shadow:0 2px 20px rgba(0,0,0,.06); }
.nav-logo { font-family:var(--ff-h);font-size:1.5rem;font-weight:800;letter-spacing:-.04em;color:var(--white);text-decoration:none; }
.nav-logo em { color:var(--accent);font-style:normal; }
.nav-links { display:flex;gap:2.2rem;list-style:none; }
.nav-links a { font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey2);text-decoration:none;transition:color .3s;font-weight:500;position:relative; }
.nav-links a::after { content:'';position:absolute;bottom:-3px;left:0;width:0;height:1.5px;background:var(--accent);transition:width .3s var(--ease); }
.nav-links a:hover,.nav-links a.active { color:var(--accent); }
.nav-links a:hover::after,.nav-links a.active::after { width:100%; }
.nav-cta { font-family:var(--ff-h);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#0f1a14;padding:.6rem 1.5rem;border-radius:100px;text-decoration:none;transition:background .3s,transform .2s,box-shadow .3s; }
.nav-cta:hover { background:var(--accent2);transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,200,150,.3); }
.has-dropdown { position:relative; }
.dropdown { display:none;position:absolute;top:calc(100% + .8rem);left:0;background:var(--card);border:1px solid var(--ab);border-radius:8px;min-width:200px;padding:.5rem;box-shadow:0 8px 30px rgba(0,0,0,.1);z-index:100; }
.has-dropdown:hover .dropdown { display:block; }
.dropdown a { display:block;padding:.6rem 1rem;font-size:.8rem;color:var(--grey2);border-radius:4px;transition:background .2s,color .2s; }
.dropdown a:hover { background:var(--accent-bg);color:var(--accent); }
.hamburger { display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;z-index:810;padding:.3rem; }
.hamburger span { display:block;width:24px;height:1.5px;background:var(--white);transition:all .3s;transform-origin:center; }
.hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0;transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.mob-nav { display:none;position:fixed;inset:0;background:#1a1d2e;z-index:800;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;opacity:0;transition:opacity .4s; }
.mob-nav.open { display:flex;opacity:1; }
.mob-nav a { font-family:var(--ff-h);font-size:2.4rem;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.03em;transition:color .3s; }
.mob-nav a:hover { color:var(--accent); }
.mob-close { position:absolute;top:1.5rem;right:2rem;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer; }

/* ── HERO ── */
.hero { position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden; }
.hero-bg { position:absolute;inset:0;background-size:cover;background-position:center; }
.hero-bg::after { content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,13,20,.95) 0%,rgba(10,13,20,.80) 55%,rgba(0,200,150,.08) 100%); }
.hero-mesh { position:absolute;inset:0;pointer-events:none; }
.mc { position:absolute;border-radius:50%;border:1px solid rgba(0,200,150,.18);animation:meshPulse 6s ease-in-out infinite; }
.mc1 { width:600px;height:600px;right:-150px;top:-150px;opacity:.25; }
.mc2 { width:400px;height:400px;right:50px;top:50px;animation-delay:1.5s;opacity:.15; }
.mc3 { width:200px;height:200px;right:150px;top:150px;animation-delay:3s;opacity:.35; }
@keyframes meshPulse { 0%,100%{transform:scale(1)}50%{transform:scale(1.05)} }
.dot-field { position:absolute;inset:0;overflow:hidden;pointer-events:none; }
.dot-field span { position:absolute;width:3px;height:3px;background:var(--accent);border-radius:50%;opacity:0;animation:dotFloat var(--dur,8s) var(--del,0s) ease-in-out infinite; }
@keyframes dotFloat { 0%{opacity:0;transform:translateY(0)}20%{opacity:.6}80%{opacity:.3}100%{opacity:0;transform:translateY(-120px)} }
.hero-content { position:relative;z-index:2;padding:8rem 3rem 5rem;max-width:1200px;width:100%;margin:0 auto; }
.hero-tag { display:inline-flex;align-items:center;gap:.6rem;background:rgba(0,200,150,.12);border:1px solid var(--ab);border-radius:100px;padding:.35rem 1rem .35rem .5rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent3);margin-bottom:2rem;animation:heroFade 1s .2s var(--ease) both; }
.hero-tag-dot { width:22px;height:22px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:#0f1a14;font-weight:800; }
@keyframes heroFade { from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none} }
h1 { font-family:var(--ff-h);font-size:clamp(3.5rem,8vw,7rem);font-weight:800;line-height:.95;letter-spacing:-.04em;margin-bottom:2rem;animation:heroFade .9s .35s var(--ease) both; }
.h1-line { display:block; }
.h1-outline { -webkit-text-stroke:1.5px #f0f2f6;color:transparent; }
.h1-accent  { color:var(--accent); }
.hero-sub { font-size:1.05rem;line-height:1.75;color:rgba(200,210,220,.85);max-width:480px;margin-bottom:3rem;font-weight:300;animation:heroFade .9s .5s var(--ease) both; }
.hero-ctas { display:flex;gap:1rem;flex-wrap:wrap;animation:heroFade .9s .65s var(--ease) both; }

/* ── BTNS ── */
.btn-accent { display:inline-flex;align-items:center;gap:.7rem;background:var(--accent);color:#0f1a14;padding:1rem 2rem;border-radius:100px;font-family:var(--ff-h);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-decoration:none;transition:all .3s; }
.btn-accent:hover { background:var(--accent2);transform:translateY(-3px);box-shadow:0 16px 50px rgba(0,200,150,.3); }
.btn-ghost { display:inline-flex;align-items:center;gap:.7rem;background:transparent;border:1.5px solid rgba(26,29,46,.3);color:var(--white);padding:1rem 2rem;border-radius:100px;font-family:var(--ff-h);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-decoration:none;transition:all .3s; }
.btn-ghost:hover { border-color:var(--accent);color:var(--accent);transform:translateY(-3px); }
.arr { display:inline-block;transition:transform .3s; }
.btn-accent:hover .arr,.btn-ghost:hover .arr { transform:translateX(5px); }

/* ── HERO BAR ── */
.hero-bar { position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;animation:heroFade .9s .9s var(--ease) both; }
.hb-item { flex:1;padding:1.6rem 2rem;border-top:1px solid rgba(0,200,150,.2);background:rgba(10,12,20,.72);backdrop-filter:blur(12px);display:flex;align-items:center;gap:1.2rem;transition:background .3s; }
.hb-item:hover { background:rgba(0,200,150,.07); }
.hb-item+.hb-item { border-left:1px solid rgba(0,200,150,.2); }
.hb-num { font-family:var(--ff-h);font-size:2rem;font-weight:800;color:var(--accent);line-height:1; }
.hb-txt { font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(180,195,215,.8);line-height:1.4; }

/* ── SECTIONS ── */
section { padding:8rem 3rem; }
.wrap { max-width:1200px;margin:0 auto; }
.eyebrow { display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem; }
.eyebrow::before { content:'';display:block;width:24px;height:1.5px;background:var(--accent); }
h2 { font-family:var(--ff-h);font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:.95;letter-spacing:-.04em;margin-bottom:1.8rem; }
.outline { -webkit-text-stroke:1.5px var(--white);color:transparent; }
.lead { font-size:1rem;line-height:1.8;color:var(--grey2);max-width:520px;font-weight:300; }

/* ── MARQUEE ── */
.marquee-wrap { border-top:1px solid var(--ab);border-bottom:1px solid var(--ab);padding:1.2rem 0;overflow:hidden;background:var(--dark); }
.marquee-track { display:flex;width:max-content;animation:marquee 20s linear infinite; }
.marquee-track:hover { animation-play-state:paused; }
@keyframes marquee { 0%{transform:translateX(0)}100%{transform:translateX(-50%)} }
.marquee-item { display:flex;align-items:center;gap:1.5rem;padding:0 2.5rem;white-space:nowrap;font-family:var(--ff-h);font-size:1.1rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--grey);transition:color .3s; }
.marquee-item:hover { color:var(--white); }
.marquee-dot { width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0; }

/* ── SERVICES ── */
.services-section { background:var(--dark); }
.services-header { display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:5rem; }
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--ab); }
.svc { background:var(--card);padding:3rem 2.5rem;position:relative;overflow:hidden;transition:background .4s,transform .4s var(--ease); }
.svc::after { content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease); }
.svc:hover { background:#f8fffe;transform:translateY(-4px); }
.svc:hover::after { transform:scaleX(1); }
.svc-tag { font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1.8rem; }
.svc-icon { width:56px;height:56px;background:var(--accent-bg);border:1px solid var(--ab);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;transition:background .4s; }
.svc:hover .svc-icon { background:rgba(0,200,150,.15); }
.svc-icon svg { stroke:var(--accent); }
h3 { font-family:var(--ff-h);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem; }
.svc-desc { font-size:.85rem;line-height:1.75;color:var(--grey2);font-weight:300; }
.svc-more { display:inline-flex;align-items:center;gap:.4rem;margin-top:1.8rem;font-family:var(--ff-h);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);text-decoration:none;transition:gap .3s; }
.svc-more:hover { gap:.8rem; }
.svc.large { grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center; }
.svc-img { border-radius:8px;overflow:hidden;height:240px; }
.svc-img img { width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease); }
.svc:hover .svc-img img { transform:scale(1.05); }

/* ── PARALLAX ── */
.parallax-band { position:relative;height:500px;display:flex;align-items:center;overflow:hidden; }
.parallax-photo { position:absolute;inset:-20%;background-size:cover;background-position:center;will-change:transform; }
.parallax-photo::after { content:'';position:absolute;inset:0;background:rgba(8,10,14,.82); }
.parallax-text { position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 3rem;width:100%;display:flex;align-items:center;justify-content:space-between;gap:4rem;flex-wrap:wrap;color:#f0f2f6; }
blockquote { font-family:var(--ff-h);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:800;line-height:.95;letter-spacing:-.04em;max-width:700px; }
.mq-line { display:block; }
.mq-outline { -webkit-text-stroke:1px #f0f2f6;color:transparent; }
.mq-accent { color:var(--accent); }
.bq-author { font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-top:1.5rem; }

/* ── TARIFS ── */
.pricing-section { background:var(--dark); }
.pricing-header { text-align:center;margin-bottom:5rem; }
.pricing-header .lead { margin:0 auto; }
.pricing-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem; }
.price-card { border:1px solid var(--ab);border-radius:8px;padding:2.8rem 2.4rem;background:var(--card);position:relative;overflow:hidden;transition:border-color .4s,transform .4s var(--ease); }
.price-card:hover { border-color:var(--accent);transform:translateY(-6px); }
.price-card.featured { background:var(--accent);border-color:var(--accent); }
.price-card.featured * { color:#0f1a14 !important; }
.price-badge { position:absolute;top:1.2rem;right:1.2rem;background:#0f1a14;color:var(--accent);font-family:var(--ff-h);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border-radius:100px; }
.price-card.featured .price-badge { background:rgba(0,0,0,.2); }
.price-name { font-family:var(--ff-h);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem; }
.price-amount { font-family:var(--ff-h);font-size:3.5rem;font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:.3rem; }
.price-amount span { font-size:1.5rem; }
.price-period { font-size:.75rem;color:var(--grey2);margin-bottom:2rem; }
.price-features { list-style:none;display:flex;flex-direction:column;gap:.9rem;margin-bottom:2.5rem; }
.price-features li { display:flex;align-items:center;gap:.8rem;font-size:.85rem;font-weight:300;color:var(--grey2); }
.price-features li::before { content:'✓';width:18px;height:18px;background:var(--accent-bg);border:1px solid var(--ab);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.6rem;color:var(--accent);line-height:18px;text-align:center; }
.price-card.featured .price-features li::before { background:rgba(0,0,0,.1);border-color:rgba(0,0,0,.2);color:#0f1a14; }
.price-btn { display:block;text-align:center;padding:.9rem;border-radius:100px;font-family:var(--ff-h);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:all .3s; }
.price-btn-outline { border:1.5px solid var(--ab);color:var(--white);background:transparent; }
.price-btn-outline:hover { border-color:var(--accent);background:var(--accent-bg); }
.price-btn-dark { background:#1a1d2e;color:var(--accent); }
.price-btn-dark:hover { background:rgba(0,0,0,.8);transform:translateY(-2px); }

/* ── AVIS ── */
.testi-section { background:var(--black); }
.testi-header { text-align:center;margin-bottom:5rem; }
.rating-avg { display:flex;align-items:center;gap:.8rem;justify-content:center;margin-top:1rem;font-size:.88rem;color:var(--grey2); }
.testi-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem; }
.testi-card { border:1px solid var(--ab);border-radius:6px;padding:2.2rem;background:var(--card);transition:border-color .4s,transform .3s var(--ease); }
.testi-card:hover { border-color:var(--accent);transform:translateY(-4px); }
.stars { color:var(--accent);font-size:1rem;letter-spacing:2px;margin-bottom:1.2rem; }
.testi-text { font-size:.88rem;line-height:1.75;color:var(--grey2);font-weight:300;font-style:italic;margin-bottom:1.5rem; }
.testi-author { display:flex;align-items:center;gap:.8rem; }
.author-av { width:38px;height:38px;border-radius:50%;overflow:hidden;border:2px solid var(--ab);flex-shrink:0; }
.author-av img { width:100%;height:100%;object-fit:cover; }
.author-name { font-family:var(--ff-h);font-size:.88rem;font-weight:700; }
.author-role { font-size:.7rem;color:var(--grey); }

/* ── CONTACT ── */
.contact-section { background:var(--dark); }
.contact-inner { display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:start; }
.contact-inner h2 { margin-bottom:1.5rem; }
.contact-inner > div > p { font-size:.93rem;line-height:1.8;color:var(--grey2);margin-bottom:2.5rem;font-weight:300; }
.cinfo { display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--ab); }
.cinfo:last-of-type { border-bottom:none; }
.cinfo-ico { width:34px;height:34px;background:var(--accent-bg);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0; }
.cinfo-body strong { display:block;font-family:var(--ff-h);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:.25rem; }
.cinfo-body a,.cinfo-body span { font-size:.9rem;color:var(--white);text-decoration:none; }
.cinfo-body a:hover { color:var(--accent); }
.contact-form-wrap { background:var(--card);border:1px solid var(--ab);border-radius:8px;padding:3rem; }
.form-header h3 { font-family:var(--ff-h);font-size:1.6rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.4rem; }
.form-header p { font-size:.82rem;color:var(--grey2);margin-bottom:2rem; }
.fg { margin-bottom:1.3rem; }
.fg label { display:block;font-family:var(--ff-h);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-bottom:.5rem; }
.fg input,.fg select,.fg textarea { width:100%;background:rgba(0,0,0,.03);border:1px solid var(--ab);border-radius:6px;padding:.8rem 1rem;color:var(--white);font-family:var(--ff-b);font-size:.88rem;transition:border-color .3s;outline:none; }
.fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--accent);background:#fff; }
.fg textarea { resize:vertical;min-height:110px; }
.fg select { appearance:none; }
.form-2col { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.form-submit { width:100%;background:var(--accent);color:#0f1a14;border:none;padding:1.1rem;border-radius:100px;font-family:var(--ff-h);font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .3s; }
.form-submit:hover { background:var(--accent2);transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,200,150,.25); }

/* ── ALERTS ── */
.alert { padding:.9rem 1.2rem;border-radius:6px;margin-bottom:1rem;font-size:.88rem; }
.alert-success { background:rgba(0,200,150,.1);border:1px solid var(--accent);color:#007a5a; }
.alert-error   { background:rgba(239,68,68,.1);border:1px solid #ef4444;color:#b91c1c; }

/* ── FOOTER ── */
footer { background:var(--dark2);border-top:1px solid var(--ab);padding:4rem 3rem 2rem; }
.footer-inner { max-width:1200px;margin:0 auto; }
.footer-top { display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem; }
.flogo { font-family:var(--ff-h);font-size:1.8rem;font-weight:800;letter-spacing:-.04em;color:var(--white);display:block;margin-bottom:1rem;text-decoration:none; }
.flogo em { color:var(--accent);font-style:normal; }
.footer-brand p { font-size:.84rem;line-height:1.7;color:var(--grey);max-width:240px; }
.footer-social { display:flex;gap:.8rem;margin-top:1.5rem; }
.fsoc { width:36px;height:36px;border:1px solid var(--ab);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--grey2);text-decoration:none;transition:all .3s; }
.fsoc:hover { border-color:var(--accent);color:var(--accent); }
.footer-col h4 { font-family:var(--ff-h);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1.4rem; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:.75rem; }
.footer-col a { font-size:.84rem;color:var(--grey);text-decoration:none;transition:color .3s; }
.footer-col a:hover { color:var(--white); }
.footer-bottom { border-top:1px solid var(--ab);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem; }
.footer-bottom p { font-size:.72rem;color:var(--grey); }

/* ── PROSE (contenu pages) ── */
.prose h2,.prose h3 { font-family:var(--ff-h);font-weight:700;letter-spacing:-.02em;margin:2rem 0 1rem; }
.prose h2 { font-size:1.8rem; }
.prose h3 { font-size:1.3rem; }
.prose p { line-height:1.85;color:var(--grey2);margin-bottom:1rem; }
.prose ul,.prose ol { padding-left:1.5rem;margin-bottom:1rem;color:var(--grey2); }
.prose li { margin-bottom:.4rem;line-height:1.7; }
.prose a { color:var(--accent); }
.prose strong { color:var(--white);font-weight:600; }

/* ── REVEAL ── */
.rv  { opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform .9s var(--ease); }
.rvl { opacity:0;transform:translateX(-32px);transition:opacity .9s var(--ease),transform .9s var(--ease); }
.rvr { opacity:0;transform:translateX(32px);transition:opacity .9s var(--ease),transform .9s var(--ease); }
.rv.on,.rvl.on,.rvr.on { opacity:1;transform:none; }
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}

/* ── PAGE CONTENT ── */
.page-main { min-height:60vh; }
.page-content { padding-top:8rem; }
.page-excerpt { font-size:1.15rem;line-height:1.75;color:var(--grey2);margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--ab); }

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  section{padding:6rem 2rem}
  nav{padding:1.2rem 2rem}nav.stuck{padding:.9rem 2rem}
  .nav-links,.nav-cta{display:none}.hamburger{display:flex}
  .hero-content{padding:6rem 2rem 8rem}.hero-bar{display:none}
  .services-grid{grid-template-columns:1fr 1fr;background:none;gap:1px}
  .svc.large{grid-column:auto;grid-template-columns:1fr}.svc-img{height:200px}
  .pricing-grid{grid-template-columns:1fr 1fr}
  .contact-inner{grid-template-columns:1fr;gap:3rem}
  .testi-grid{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .services-header{grid-template-columns:1fr}
}
@media(max-width:640px){
  section{padding:5rem 1.2rem}nav{padding:1rem 1.2rem}
  h1{font-size:clamp(3rem,11vw,4.5rem)}
  .services-grid{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:1fr}
  .form-2col{grid-template-columns:1fr}
  .contact-form-wrap{padding:1.8rem 1.2rem}
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  body{cursor:auto}#cur,#curR{display:none}
}

/* Fix bouton featured pricing */
.price-btn-accent-inv { background: #0f1a14; color: #8ad9bd !important; border: 2px solid #0f1a14; }
.price-btn-accent-inv:hover { background: #000; transform: translateY(-2px); }
.price-card.featured .price-btn-accent-inv { background: #0f1a14; color: #8ad9bd !important; }

/* Fix bouton featured pricing */
.price-card.featured .price-btn-dark,
.price-btn-dark {
  background: #0f1a14 !important;
  color: #8ad9bd !important;
  border: 2px solid #0f1a14 !important;
}
.price-btn-dark:hover {
  background: #000 !important;
  transform: translateY(-2px);
}

/* ── SECTIONS RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 768px) {

  /* Sections alternées → colonne unique */
  .section-row {
    grid-template-columns: 1fr !important;
    direction: ltr !important;
    min-height: auto !important;
  }
  .section-row > div {
    direction: ltr !important;
  }
  .section-row .section-img {
    height: 260px !important;
    min-height: 260px !important;
  }
  .section-row .section-txt {
    padding: 2.5rem 1.5rem !important;
  }

  /* Hero intérieur */
  .page-hero {
    height: 320px !important;
    padding: 2rem 1.5rem !important;
  }
  .page-hero h1 {
    font-size: clamp(1.8rem, 8vw, 2.8rem) !important;
  }

  /* Grille événements → 1 colonne */
  .events-grid {
    grid-template-columns: 1fr !important;
  }

  /* CTA final */
  .page-cta {
    padding: 3rem 1.5rem !important;
  }
}

@media (max-width: 768px) {
  /* Section rows */
  .section-row {
    grid-template-columns: 1fr !important;
    direction: ltr !important;
  }
  .section-row > div {
    direction: ltr !important;
  }
  .section-img {
    height: 280px !important;
    min-height: 280px !important;
  }
  .section-txt {
    padding: 2.5rem 1.5rem !important;
  }

  /* Hero intérieur */
  [style*="height:480px"][style*="overflow:hidden"],
  [style*="height:440px"][style*="overflow:hidden"],
  [style*="height:420px"][style*="overflow:hidden"],
  [style*="height:320px"][style*="overflow:hidden"] {
    height: 300px !important;
  }
  [style*="padding:3rem 6rem"] {
    padding: 2rem 1.5rem !important;
  }

  /* Grille events 3 col → 1 col */
  [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
  }

  /* Contact 50/50 → stack */
  [style*="grid-template-columns:1fr 1fr"][style*="min-height:700px"] {
    grid-template-columns: 1fr !important;
  }

  /* Galerie 3 photos index */
  [style*="grid-template-columns:2fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    height: auto !important;
  }
  [style*="grid-template-columns:2fr 1fr 1fr"] > div {
    height: 200px !important;
  }

  /* Pricing grid */
  .pricing-grid {
    grid-template-columns: 1fr !important;
  }

  /* Services grid */
  .services-grid {
    grid-template-columns: 1fr !important;
  }
  .svc.large {
    grid-column: span 1 !important;
  }
}

@media (max-width: 480px) {
  .section-txt {
    padding: 2rem 1.2rem !important;
  }
  .section-img {
    height: 220px !important;
  }
}

/* ── NAV LINKS LISIBLES ───────────────────────────────────────────── */
.nav-links a {
  color: #8ad9bd !important;
  font-weight: 600;
  text-shadow: 0 1px 8px rgba(0,0,0,.5);
}
.nav-links a:hover {
  color: #fff !important;
}
.nav-cta {
  background: #8ad9bd !important;
  color: #0f1a14 !important;
  border-color: #8ad9bd !important;
}

/* Nav après scroll → fond sombre, liens foncés */
.nav.scrolled .nav-links a {
  color: var(--dark) !important;
  text-shadow: none;
  font-weight: 700;
}
.nav.scrolled .nav-links a:hover {
  color: #8ad9bd !important;
}
.nav.scrolled .nav-cta {
  background: #0f1a14 !important;
  color: #8ad9bd !important;
  border-color: #0f1a14 !important;
}
.nav.scrolled .nav-logo {
  color: var(--dark) !important;
}

/* Pas d'ombre sur les liens nav après scroll */
.nav.scrolled .nav-links a {
  text-shadow: none !important;
}

/* Suppression totale ombres liens nav */
.nav-links a,
.nav.scrolled .nav-links a {
  text-shadow: none !important;
}

/* ── TYPOGRAPHIE H1/H2 moins écrasée ─────────────────────────────── */
h1 {
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
}
h2 {
  line-height: 1.1 !important;
  letter-spacing: -.02em !important;
}
h3 {
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
}

/* ── TITRES ÉTIRÉS EN HAUTEUR ─────────────────────────────────────── */
h1 {
  transform: scaleY(1.05) !important;
  transform-origin: top left !important;
  display: block !important;
}
h2 {
  transform: scaleY(1.1) !important;
  transform-origin: top left !important;
  display: block !important;
}

/* ── PHOTOS SECTIONS EN GOUTTE D'EAU ─────────────────────────────── */
.section-img {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3rem !important;
  background: var(--dark) !important;
}
.section-img img {
  width: 420px !important;
  height: 520px !important;
  object-fit: cover !important;
  border-radius: 60% 40% 70% 30% / 50% 60% 40% 50% !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.4) !important;
  transition: border-radius .8s ease, transform .8s ease !important;
}
.section-img img:hover {
  border-radius: 40% 60% 30% 70% / 60% 40% 60% 40% !important;
  transform: scale(1.03) !important;
}

@media (max-width: 768px) {
  .section-img {
    padding: 2rem !important;
  }
  .section-img img {
    width: 280px !important;
    height: 340px !important;
  }
}

/* ── ANNULATION GOUTTE D'EAU ─────────────────────────────────────── */
.section-img {
  display: block !important;
  align-items: unset !important;
  justify-content: unset !important;
  padding: 0 !important;
  background: unset !important;
}
.section-img img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.section-img img:hover {
  border-radius: 0 !important;
}

/* Fix chevauchement hero */
.hero-content h1 { padding-bottom: 2.5rem !important; }


.hero-content h1 .h1-line:first-child { color: #ffffff !important; -webkit-text-stroke: 0 !important; }


/* Annulation scaleY écrasé */
h1, h2, h3 { transform: none !important; }

/* Police plus aérée pour les titres */
:root { --ff-h: "Outfit", sans-serif; }


.hero-content h1 .h1-line:first-child { color: #ffffff !important; -webkit-text-stroke: 0 !important; }
h1, h2, h3 { transform: none !important; }
:root { --ff-h: "Outfit", sans-serif; }

