/* KavaDerma — Fine Line (styles isolés sous .kd-fineline-page) v1.0.0 */
.kd-fineline-page{--fl-bg:#0a0a0a;--fl-ink:#0f0f10;--fl-fg:#ececec;--fl-muted:#a9a9a9;--fl-gold:#c9a24a;--fl-gold-2:#e6c477;--fl-line:rgba(201,162,74,.35);--fl-card:#141416;color:var(--fl-fg);background:var(--fl-bg);font-family:'Cormorant Garamond',Georgia,serif;line-height:1.6;-webkit-font-smoothing:antialiased}
.kd-fineline-page *,.kd-fineline-page *::before,.kd-fineline-page *::after{box-sizing:border-box}
.kd-fineline-page__container{max-width:1200px;margin:0 auto;padding:0 24px}
.kd-fineline-page__container--sm{max-width:820px}
.kd-fineline-page__section{padding:96px 0;position:relative}
.kd-fineline-page__section--ink{background:var(--fl-ink)}
.kd-fineline-page__ta-center{text-align:center}
.kd-fineline-page__section-head{margin-bottom:56px}
.kd-fineline-page__h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(48px,7vw,96px);line-height:1.02;letter-spacing:.5px;margin:0 0 12px;color:#fff}
.kd-fineline-page__h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(28px,3.4vw,44px);line-height:1.15;letter-spacing:.4px;margin:0 0 14px;color:#fff}
.kd-fineline-page__subtitle{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(20px,2.2vw,28px);color:var(--fl-gold-2);margin:0 0 20px;letter-spacing:.4px;font-weight:400;line-height:1.3}
h2.kd-fineline-page__subtitle--hero{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;color:var(--fl-gold-2)}
.kd-fineline-page__eyebrow{display:inline-block;font-family:'Inter',system-ui,sans-serif;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--fl-gold-2);padding:8px 14px;border:1px solid var(--fl-line);border-radius:999px;margin-bottom:22px}
.kd-fineline-page__divider{width:64px;height:2px;background:linear-gradient(90deg,transparent,var(--fl-gold),transparent);margin:0 auto 22px}
.kd-fineline-page__lead,.kd-fineline-page__muted{font-family:'Inter',system-ui,sans-serif;color:var(--fl-muted);font-size:17px;max-width:720px;margin:0 auto 22px}
.kd-fineline-page__lead-inline{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:#e9dcbd;font-size:clamp(19px,2vw,24px);text-align:center;max-width:780px;margin:0 auto 28px}
.kd-fineline-page__prose{font-family:'Inter',system-ui,sans-serif;color:#d9d9d9;font-size:16.5px;line-height:1.85}
.kd-fineline-page__prose p{margin:0 0 16px}

/* HERO */
.kd-fineline-page__hero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#000}
.kd-fineline-page__hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(20%) contrast(1.05) brightness(.7);animation:kd-fl-zoom 18s ease-out forwards}
@keyframes kd-fl-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.kd-fineline-page__hero-overlay{position:absolute;inset:0;background:radial-gradient(1200px 700px at 50% 55%,rgba(0,0,0,.35),rgba(0,0,0,.85) 70%),linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.9) 100%)}
.kd-fineline-page__hero-inner{position:relative;z-index:2;max-width:900px;padding:120px 24px 96px;animation:kd-fl-rise .9s ease-out both}
@keyframes kd-fl-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* BOUTONS */
.kd-fineline-page__cta-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:14px}
.kd-fineline-page__btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;border-radius:999px;font-family:'Inter',system-ui,sans-serif;font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:13px;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease,border-color .25s ease;border:1px solid transparent;cursor:pointer;line-height:1}
.kd-fineline-page__btn--gold{background:linear-gradient(135deg,var(--fl-gold) 0%,var(--fl-gold-2) 100%);color:#111}
.kd-fineline-page__btn--gold:hover{transform:translateY(-2px);box-shadow:0 12px 28px -12px rgba(201,162,74,.55)}
.kd-fineline-page__btn--ghost{background:transparent;color:#f2e6c8;border-color:var(--fl-line)}
.kd-fineline-page__btn--ghost:hover{background:rgba(201,162,74,.08);border-color:var(--fl-gold);color:#fff}

/* CARTES POURQUOI */
.kd-fineline-page__cards{display:grid;gap:24px}
.kd-fineline-page__cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kd-fineline-page__cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kd-fineline-page__card{background:var(--fl-card);border:1px solid rgba(255,255,255,.05);border-top:1px solid var(--fl-line);padding:36px 28px;border-radius:6px;text-align:center;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.kd-fineline-page__card:hover{transform:translateY(-4px);border-color:var(--fl-gold);box-shadow:0 20px 40px -20px rgba(201,162,74,.25)}
.kd-fineline-page__card-title{font-family:'Playfair Display',Georgia,serif;font-size:24px;color:var(--fl-gold-2);margin:0 0 12px;font-weight:500;letter-spacing:.3px}
.kd-fineline-page__card-text{font-family:'Inter',system-ui,sans-serif;color:var(--fl-muted);font-size:15.5px;margin:0}

/* GALERIE */
.kd-fineline-page__gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kd-fineline-page__gallery-item{display:block;overflow:hidden;border-radius:4px;background:#0f0f10;position:relative;aspect-ratio:1/1;border:1px solid rgba(255,255,255,.04);transition:border-color .35s ease}
.kd-fineline-page__gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease,filter .5s ease;filter:grayscale(10%) brightness(.95)}
.kd-fineline-page__gallery-item:hover{border-color:var(--fl-gold)}
.kd-fineline-page__gallery-item:hover img{transform:scale(1.06);filter:grayscale(0) brightness(1)}

/* IDEAL POUR */
.kd-fineline-page__pillbox{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kd-fineline-page__pill{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--fl-card);border:1px solid rgba(255,255,255,.05);border-radius:4px;font-family:'Inter',system-ui,sans-serif;font-size:15px;color:#e6e6e6;transition:border-color .3s ease,transform .3s ease}
.kd-fineline-page__pill:hover{border-color:var(--fl-gold);transform:translateY(-2px)}
.kd-fineline-page__dot{width:6px;height:6px;border-radius:50%;background:var(--fl-gold);flex-shrink:0;box-shadow:0 0 12px rgba(201,162,74,.6)}

/* ETAPES */
.kd-fineline-page__steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:kdfl}
.kd-fineline-page__step{position:relative;padding:32px 24px;background:var(--fl-card);border:1px solid rgba(255,255,255,.05);border-radius:6px;text-align:left}
.kd-fineline-page__step-n{font-family:'Playfair Display',Georgia,serif;font-size:14px;letter-spacing:.4em;color:var(--fl-gold-2);display:block;margin-bottom:14px}
.kd-fineline-page__step-title{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:500;color:#fff;margin:0 0 8px}
.kd-fineline-page__step-text{font-family:'Inter',system-ui,sans-serif;color:var(--fl-muted);font-size:14.5px;margin:0;line-height:1.6}

/* FAQ */
.kd-fineline-page__faq{display:flex;flex-direction:column;gap:12px}
.kd-fineline-page__faq-item{background:var(--fl-card);border:1px solid rgba(255,255,255,.05);border-radius:4px;overflow:hidden;transition:border-color .3s ease}
.kd-fineline-page__faq-item[open]{border-color:var(--fl-line)}
.kd-fineline-page__faq-item summary{list-style:none;cursor:pointer;padding:20px 24px;font-family:'Playfair Display',Georgia,serif;font-size:18px;color:#f4e9cf;display:flex;justify-content:space-between;align-items:center;gap:16px;position:relative}
.kd-fineline-page__faq-item summary::-webkit-details-marker{display:none}
.kd-fineline-page__faq-item summary::after{content:'+';color:var(--fl-gold);font-family:'Inter',system-ui,sans-serif;font-weight:300;font-size:24px;transition:transform .3s ease}
.kd-fineline-page__faq-item[open] summary::after{content:'−';transform:rotate(0)}
.kd-fineline-page__faq-answer{padding:0 24px 22px;font-family:'Inter',system-ui,sans-serif;color:var(--fl-muted);font-size:15.5px;line-height:1.7}
.kd-fineline-page__faq-answer p{margin:0 0 10px}

/* RESPONSIVE */
@media (max-width:960px){
    .kd-fineline-page__section{padding:72px 0}
    .kd-fineline-page__cards--3,.kd-fineline-page__cards--4{grid-template-columns:1fr}
    .kd-fineline-page__gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
    .kd-fineline-page__pillbox{grid-template-columns:repeat(2,minmax(0,1fr))}
    .kd-fineline-page__steps{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
    .kd-fineline-page__section{padding:56px 0}
    .kd-fineline-page__hero{min-height:82vh}
    .kd-fineline-page__hero-inner{padding:96px 20px 72px}
    .kd-fineline-page__pillbox{grid-template-columns:1fr}
    .kd-fineline-page__steps{grid-template-columns:1fr}
    .kd-fineline-page__gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}
