@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

/* ============================================
   YNK AGENCY — CONCIERGERIE DE LUXE
   Charte : #c8a96e (or) · #e8a423 (or vif) · #da2824 (rouge)
   ============================================ */

:root{
    --gold:#c8a96e;
    --gold-bright:#e8a423;
    --red:#da2824;
    --dark:#0e0e0e;
    --dark-2:#161616;
    --dark-3:#1d1d1d;
    --cream:#f5f1ea;
    --cream-2:#ebe5da;
    --text-dark:#1e1a16;
    --text-muted:#5c534a;
    --text-light:#a89e93;
    --serif:'Cormorant Garamond',Georgia,serif;
    --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    --tr:.35s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:var(--sans);
    font-weight:400;
    color:var(--text-dark);
    background:var(--cream);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

.container{max-width:1280px;margin:0 auto;padding:0 32px}

/* ---------- Typo communes ---------- */
.eyebrow{
    font-family:var(--sans);
    font-size:11px;
    font-weight:500;
    letter-spacing:.35em;
    text-transform:uppercase;
    color:var(--gold);
    display:inline-flex;
    align-items:center;
    gap:14px;
    margin-bottom:24px;
}
.eyebrow::before,.eyebrow::after{
    content:'';
    width:32px;
    height:1px;
    background:var(--gold);
    opacity:.6;
}
.section-title{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2rem,4vw,3.25rem);
    line-height:1.15;
    letter-spacing:-.01em;
}
.section-title em{font-style:italic;color:var(--gold);font-weight:500}
.section-sub{
    font-size:14px;
    color:#4a4240;
    max-width:560px;
    margin:18px auto 0;
}

/* ---------- Boutons ---------- */
.btn{
    display:inline-block;
    padding:14px 34px;
    font-family:var(--sans);
    font-size:11px;
    font-weight:600;
    letter-spacing:.3em;
    text-transform:uppercase;
    transition:var(--tr);
    cursor:pointer;
    border:1px solid transparent;
}
.btn-primary{background:var(--gold);color:#fff}
.btn-primary:hover{
    background:var(--gold-bright);
    transform:translateY(-2px);
    box-shadow:0 10px 30px rgba(232,164,35,.25);
}
.btn-outline{
    border-color:rgba(255,255,255,.4);
    color:#fff;
    background:transparent;
}
.btn-outline:hover{
    border-color:var(--gold);
    color:var(--gold);
    background:rgba(200,169,110,.08);
}
.btn-dark{
    background:var(--dark);
    color:#fff;
}
.btn-dark:hover{
    background:var(--gold);
    transform:translateY(-2px);
}

/* ============================================
   HEADER
   ============================================ */
.site-header{
    position:absolute;
    top:0;left:0;right:0;
    z-index:100;
    padding:20px 0;
    transition:var(--tr);
}
.site-header.inner-hero{
    background:rgba(14,14,14,.6);
    backdrop-filter:blur(6px);
}
.site-header.scrolled{
    position:fixed;
    background:rgba(14,14,14,.94);
    backdrop-filter:blur(12px);
    padding:14px 0;
    box-shadow:0 1px 0 rgba(200,169,110,.15);
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.logo{display:flex;align-items:center}
.logo img{height:54px;width:auto;transition:var(--tr)}
.site-header.scrolled .logo img{height:44px}

/* Navigation desktop */
.nav-desktop{
    display:flex;
    align-items:center;
    gap:42px;
}
.nav-desktop a{
    font-size:11px;
    font-weight:500;
    letter-spacing:.25em;
    text-transform:uppercase;
    color:rgba(255,255,255,.95);
    position:relative;
    padding:6px 0;
    transition:var(--tr);
}
.nav-desktop a::after{
    content:'';
    position:absolute;
    left:50%;bottom:0;
    width:0;height:1px;
    background:var(--gold);
    transition:var(--tr);
    transform:translateX(-50%);
}
.nav-desktop a:hover,.nav-desktop a.active{color:var(--gold)}
.nav-desktop a:hover::after,.nav-desktop a.active::after{width:100%}

.header-cta{
    padding:12px 28px;
    border:1px solid var(--gold);
    color:var(--gold);
    font-size:11px;
    font-weight:600;
    letter-spacing:.3em;
    text-transform:uppercase;
    transition:var(--tr);
}
.header-cta:hover{
    background:var(--gold);
    color:#fff;
}

/* Hamburger */
.menu-toggle{
    display:none;
    width:42px;height:42px;
    position:relative;
    z-index:200;
}
.menu-toggle span{
    display:block;
    position:absolute;
    left:8px;
    width:26px;height:1.5px;
    background:#fff;
    transition:var(--tr);
}
.menu-toggle span:nth-child(1){top:14px}
.menu-toggle span:nth-child(2){top:20px}
.menu-toggle span:nth-child(3){top:26px}
.menu-toggle.open span{background:var(--gold)}
.menu-toggle.open span:nth-child(1){top:20px;transform:rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){top:20px;transform:rotate(-45deg)}

/* Offcanvas mobile */
.offcanvas{
    position:fixed;
    top:0;right:0;
    width:min(360px,82vw);
    height:100vh;
    background:linear-gradient(160deg,#0e0e0e 0%,#1a1a1a 100%);
    z-index:150;
    padding:110px 40px 40px;
    transform:translateX(100%);
    transition:transform .45s cubic-bezier(.65,0,.35,1);
    box-shadow:-20px 0 60px rgba(0,0,0,.4);
    overflow-y:auto;
}
.offcanvas.open{transform:translateX(0)}
.offcanvas::before{
    content:'';
    position:absolute;
    top:0;left:0;
    width:3px;height:100%;
    background:linear-gradient(180deg,var(--gold) 0%,var(--gold-bright) 100%);
}
.offcanvas nav a{
    display:block;
    font-family:var(--serif);
    font-size:22px;
    color:#fff;
    padding:16px 0;
    border-bottom:1px solid rgba(200,169,110,.15);
    letter-spacing:.05em;
    transition:var(--tr);
}
.offcanvas nav a.active,.offcanvas nav a:hover{color:var(--gold);padding-left:8px}
.offcanvas .mobile-cta{
    display:block;
    margin-top:32px;
    text-align:center;
    padding:14px;
    background:var(--gold);
    color:#fff;
    font-size:11px;
    font-weight:600;
    letter-spacing:.3em;
    text-transform:uppercase;
}
.offcanvas-info{
    margin-top:36px;
    padding-top:24px;
    border-top:1px solid rgba(200,169,110,.15);
    font-size:12px;
    color:#a89e93;
    line-height:1.8;
}
.offcanvas-info span{color:var(--gold);font-size:10px;letter-spacing:.25em;text-transform:uppercase;display:block;margin-bottom:4px}
.offcanvas-overlay{
    position:fixed;inset:0;
    background:rgba(0,0,0,.6);
    backdrop-filter:blur(4px);
    z-index:140;
    opacity:0;visibility:hidden;
    transition:var(--tr);
}
.offcanvas-overlay.open{opacity:1;visibility:visible}

/* ============================================
   HERO (home)
   ============================================ */
.hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    overflow:hidden;
}
.hero-bg{
    position:absolute;inset:0;
    background:url('img/hero-jet.jpg') center/cover no-repeat,#1a1a1a;
    z-index:0;
}
.hero-bg::after{
    content:'';
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 50%,rgba(0,0,0,.7) 100%);
}
.hero-content{
    position:relative;
    z-index:2;
    max-width:880px;
    padding:0 24px;
}
.hero h1{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2.5rem,6vw,5rem);
    line-height:1.05;
    letter-spacing:-.015em;
    margin-bottom:28px;
}
.hero h1 em{
    font-style:italic;
    color:var(--gold);
    font-weight:500;
    display:block;
    margin-top:4px;
}
.hero p.lead{
    font-size:15px;
    color:rgba(255,255,255,.92);
    max-width:580px;
    margin:0 auto 42px;
    line-height:1.7;
}
.hero-buttons{
    display:flex;
    gap:18px;
    justify-content:center;
    flex-wrap:wrap;
}

.scroll-hint{
    position:absolute;
    bottom:32px;left:50%;
    transform:translateX(-50%);
    z-index:2;
    font-size:9px;
    letter-spacing:.4em;
    color:rgba(255,255,255,.8);
    text-transform:uppercase;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
}
.scroll-hint::after{
    content:'';
    width:1px;height:38px;
    background:linear-gradient(180deg,var(--gold),transparent);
    animation:scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse{
    0%,100%{opacity:.4;transform:scaleY(.7)}
    50%{opacity:1;transform:scaleY(1)}
}

/* ============================================
   PAGE HERO (sous-pages)
   ============================================ */
.page-hero{
    position:relative;
    min-height:62vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    padding:120px 0 60px;
    overflow:hidden;
}
.page-hero-bg{
    position:absolute;inset:0;
    background-size:cover;
    background-position:center;
    background-color:#1a1612;
    z-index:0;
}
.page-hero-bg::after{
    content:'';
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.45) 60%,rgba(0,0,0,.75) 100%);
}
.page-hero-content{
    position:relative;
    z-index:2;
    max-width:760px;
    padding:0 24px;
}
.page-hero h1{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2.2rem,5vw,4rem);
    line-height:1.1;
    margin-bottom:18px;
}
.page-hero h1 em{font-style:italic;color:var(--gold);font-weight:500}
.page-hero p{
    font-size:15px;
    color:rgba(255,255,255,.92);
    max-width:560px;
    margin:0 auto;
    line-height:1.7;
}
.breadcrumb{
    font-size:10px;
    letter-spacing:.35em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:28px;
}
.breadcrumb a{color:rgba(255,255,255,.7);transition:var(--tr)}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb span{margin:0 10px;opacity:.5}

/* ============================================
   PHILOSOPHIE / À PROPOS
   ============================================ */
.philosophy{
    padding:120px 0;
    background:var(--cream);
}
.philosophy-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}
.philosophy-img{
    position:relative;
    aspect-ratio:4/5;
    overflow:hidden;
}
.philosophy-img img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform 1.2s ease;
}
.philosophy-img:hover img{transform:scale(1.04)}
.philosophy-img::before{
    content:'';
    position:absolute;
    top:18px;left:18px;
    right:-18px;bottom:-18px;
    border:1px solid var(--gold);
    z-index:-1;
}
.philosophy-text .eyebrow{justify-content:flex-start}
.philosophy-text .eyebrow::before{display:none}
.philosophy h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(1.8rem,3.2vw,2.75rem);
    line-height:1.2;
    margin-bottom:28px;
    color:var(--text-dark);
}
.philosophy h2 em{font-style:italic;color:var(--gold);font-weight:500}
.philosophy-text p{
    font-size:15px;
    color:#3d3530;
    margin-bottom:18px;
    line-height:1.8;
}
.divider{
    width:60px;height:1px;
    background:var(--gold);
    margin:36px 0;
}
.values{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}
.value-item{
    border-left:1px solid var(--gold);
    padding-left:18px;
}
.value-item .label{
    font-size:11px;
    font-weight:600;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:8px;
    display:block;
}
.value-item .value-title{
    font-family:var(--serif);
    font-size:18px;
    font-weight:500;
    color:var(--text-dark);
    margin-bottom:6px;
}
.value-item .desc{
    font-size:12px;
    color:var(--text-muted);
    line-height:1.5;
}

/* ============================================
   SERVICES (dark)
   ============================================ */
.services{
    padding:120px 0;
    background:var(--dark);
    color:#fff;
    text-align:center;
}
.services .eyebrow{justify-content:center;color:var(--gold)}
.services h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2rem,4vw,3.25rem);
    line-height:1.15;
    color:#fff;
}
.services h2 em{font-style:italic;color:var(--gold);font-weight:500}
.services .section-sub{color:var(--text-light)}
.services-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-top:64px;
    text-align:left;
}
.services-grid.cols-3{grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{
    background:var(--dark-2);
    overflow:hidden;
    transition:var(--tr);
    border:1px solid rgba(200,169,110,.06);
    display:flex;
    flex-direction:column;
}
.service-card:hover{
    transform:translateY(-6px);
    border-color:rgba(200,169,110,.3);
    box-shadow:0 20px 40px rgba(0,0,0,.4);
}
.service-img{
    aspect-ratio:16/10;
    overflow:hidden;
    position:relative;
    background:#1a1a1a;
}
.service-img img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .8s ease;
}
.service-card:hover .service-img img{transform:scale(1.06)}
.service-body{padding:22px 22px 26px;flex:1}
.service-num{
    font-family:var(--serif);
    font-size:11px;
    color:var(--gold);
    letter-spacing:.2em;
    margin-bottom:6px;
    display:block;
}
.service-body h3{
    font-family:var(--serif);
    font-size:18px;
    font-weight:500;
    margin-bottom:8px;
    color:#fff;
    letter-spacing:.01em;
}
.service-body p{
    font-size:12px;
    color:#b0a89e;
    line-height:1.6;
}

/* ============================================
   STATS BAR
   ============================================ */
.stats{
    background:var(--dark-3);
    padding:60px 0;
    color:#fff;
}
.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    text-align:center;
}
.stat-item{
    border-right:1px solid rgba(200,169,110,.15);
    padding:8px 0;
}
.stat-item:last-child{border-right:none}
.stat-item .num{
    font-family:var(--serif);
    font-size:48px;
    font-weight:400;
    color:var(--gold);
    line-height:1;
    margin-bottom:8px;
}
.stat-item .label{
    font-size:10px;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:#b0a89e;
}

/* ============================================
   ABONNEMENTS / PACKAGES
   ============================================ */
.packages{
    padding:120px 0;
    background:var(--cream);
}
.packages.dark{background:var(--dark);color:#fff}
.packages.dark .eyebrow{color:var(--gold)}
.packages.dark h2{color:#fff}
.packages.dark .section-sub{color:var(--text-light)}
.packages-header{text-align:center;margin-bottom:24px}
.packages-header h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2rem,4vw,3.25rem);
    line-height:1.15;
}
.packages-header h2 em{font-style:italic;color:var(--gold);font-weight:500}

.packs-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
.pack-card{
    background:#fff;
    border:1px solid rgba(200,169,110,.2);
    padding:42px 36px 36px;
    position:relative;
    transition:var(--tr);
    display:flex;
    flex-direction:column;
}
.packages.dark .pack-card{
    background:var(--dark-2);
    border-color:rgba(200,169,110,.15);
}
.pack-card:hover{
    transform:translateY(-8px);
    box-shadow:0 30px 60px rgba(0,0,0,.12);
    border-color:var(--gold);
}
.pack-card.featured{
    background:linear-gradient(160deg,#1a1612 0%,#0e0e0e 100%);
    color:#fff;
    border-color:var(--gold);
    transform:scale(1.02);
}
.pack-card.featured:hover{transform:scale(1.02) translateY(-8px)}
.pack-card.featured .pack-title{color:#fff}
.pack-card.featured .pack-features li{color:#d4ccc4}

.pack-badge{
    position:absolute;
    top:-12px;left:50%;
    transform:translateX(-50%);
    background:var(--gold);
    color:#fff;
    font-size:9px;
    font-weight:600;
    letter-spacing:.3em;
    text-transform:uppercase;
    padding:7px 18px;
    white-space:nowrap;
}
.pack-tier{
    font-size:10px;
    font-weight:600;
    letter-spacing:.4em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:14px;
    display:flex;
    align-items:center;
    gap:8px;
}
.pack-tier .medal{font-size:18px}
.pack-title{
    font-family:var(--serif);
    font-size:32px;
    font-weight:500;
    color:var(--text-dark);
    margin-bottom:6px;
}
.pack-price{
    font-family:var(--serif);
    font-size:14px;
    color:var(--text-muted);
    margin-bottom:6px;
}
.pack-price strong{
    font-size:24px;
    color:var(--gold);
    font-weight:500;
}
.pack-card.featured .pack-price{color:#d4ccc4}
.pack-tagline{
    font-style:italic;
    font-size:13px;
    color:#3d3530;
    line-height:1.6;
    margin:18px 0 24px;
    padding-bottom:24px;
    border-bottom:1px solid rgba(200,169,110,.2);
}
.pack-card.featured .pack-tagline{color:#ccc5bc}
.pack-features{list-style:none;margin-bottom:28px;flex:1}
.pack-features li{
    font-size:13px;
    color:#2a2420;
    padding:8px 0 8px 24px;
    position:relative;
    line-height:1.5;
}
.pack-features li::before{
    content:'';
    position:absolute;
    left:0;top:14px;
    width:10px;height:1px;
    background:var(--gold);
}
.pack-ideal{
    font-size:11px;
    color:var(--text-muted);
    letter-spacing:.05em;
    margin-bottom:24px;
    padding:14px;
    background:var(--cream);
    border-left:2px solid var(--gold);
}
.pack-card.featured .pack-ideal{
    background:rgba(200,169,110,.08);
    color:#ccc5bc;
}
.pack-ideal strong{
    display:block;
    color:var(--gold);
    font-size:10px;
    letter-spacing:.3em;
    text-transform:uppercase;
    margin-bottom:6px;
    font-weight:600;
}
.pack-cta{
    display:block;
    text-align:center;
    padding:14px;
    background:var(--gold);
    color:#fff;
    font-size:11px;
    font-weight:600;
    letter-spacing:.3em;
    text-transform:uppercase;
    transition:var(--tr);
}
.pack-cta:hover{background:var(--gold-bright)}

/* Options supplémentaires */
.options-block{
    margin-top:80px;
    padding:48px;
    background:#fff;
    border:1px solid rgba(200,169,110,.2);
    text-align:center;
}
.packages.dark .options-block{background:var(--dark-2);border-color:rgba(200,169,110,.15)}
.options-block h3{
    font-family:var(--serif);
    font-size:24px;
    font-weight:500;
    margin-bottom:8px;
    color:var(--text-dark);
}
.packages.dark .options-block h3{color:#fff}
.options-block .sub{font-size:12px;color:var(--text-muted);margin-bottom:28px;letter-spacing:.05em}
.options-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    text-align:left;
}
.options-list li{
    list-style:none;
    padding:14px 18px;
    background:var(--cream);
    border-left:2px solid var(--gold);
    font-size:13px;
    color:var(--text-dark);
}
.packages.dark .options-list li{background:var(--dark-3);color:var(--text-light)}

/* ============================================
   TESTIMONIALS
   ============================================ */
.testimonials{
    padding:120px 0;
    background:var(--cream);
    text-align:center;
}
.testimonials .eyebrow{justify-content:center}
.testi-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    margin-top:64px;
    text-align:left;
}
.testi-card{
    background:#fff;
    padding:36px 30px;
    border:1px solid rgba(200,169,110,.18);
    position:relative;
    transition:var(--tr);
}
.testi-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 40px rgba(0,0,0,.08);
}
.stars{
    color:var(--gold-bright);
    font-size:14px;
    letter-spacing:2px;
    margin-bottom:18px;
}
.testi-card .quote{
    font-family:var(--serif);
    font-size:16px;
    font-style:italic;
    color:#2a2420;
    line-height:1.6;
    margin-bottom:24px;
}
.testi-author{
    font-family:var(--sans);
    font-size:12px;
    font-weight:600;
    letter-spacing:.05em;
    color:var(--text-dark);
}
.testi-role{
    font-size:10px;
    letter-spacing:.25em;
    text-transform:uppercase;
    color:var(--gold);
    margin-top:4px;
}

/* ============================================
   CTA SECTION
   ============================================ */
.cta-section{
    padding:120px 0;
    background:var(--dark);
    color:#fff;
    text-align:center;
}
.cta-section .eyebrow{justify-content:center;color:var(--gold)}
.cta-section h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2rem,4vw,3.25rem);
    line-height:1.15;
    color:#fff;
    margin-bottom:18px;
}
.cta-section h2 em{font-style:italic;color:var(--gold);font-weight:500}
.cta-section p{
    color:#b0a89e;
    font-size:14px;
    max-width:520px;
    margin:0 auto 38px;
}

/* ============================================
   CONTACT FORM
   ============================================ */
.contact{
    padding:120px 0;
    background:var(--cream);
}
.contact-grid{
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:80px;
    align-items:start;
}
.contact-info .eyebrow{justify-content:flex-start}
.contact-info .eyebrow::before{display:none}
.contact-info h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(1.8rem,3vw,2.5rem);
    line-height:1.2;
    margin-bottom:24px;
    color:var(--text-dark);
}
.contact-info h2 em{font-style:italic;color:var(--gold);font-weight:500}
.contact-info > p{
    font-size:14px;
    color:#3d3530;
    line-height:1.8;
    margin-bottom:32px;
}
.contact-block{margin-top:24px}
.contact-block .label{
    font-size:10px;
    font-weight:600;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:6px;
    display:block;
}
.contact-block .value{
    font-family:var(--serif);
    font-size:18px;
    color:var(--text-dark);
    font-weight:500;
}
.contact-block .small{
    font-size:13px;
    color:#3d3530;
    margin-top:4px;
}

.contact-form{
    background:#fff;
    padding:48px 44px;
    border:1px solid rgba(200,169,110,.2);
}
.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-bottom:18px;
}
.form-group{margin-bottom:18px}
.form-group label{
    display:block;
    font-size:10px;
    font-weight:600;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--text-dark);
    margin-bottom:8px;
}
.form-group input,
.form-group select,
.form-group textarea{
    width:100%;
    padding:14px 16px;
    background:var(--cream);
    border:1px solid transparent;
    font-family:var(--sans);
    font-size:14px;
    color:var(--text-dark);
    transition:var(--tr);
    border-radius:0;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    outline:none;
    border-color:var(--gold);
    background:#fff;
}
.form-group textarea{
    min-height:120px;
    resize:vertical;
    font-family:var(--sans);
}
.form-group select{
    appearance:none;
    background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c8a96e'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e");
    background-repeat:no-repeat;
    background-position:right 12px center;
    padding-right:38px;
}
.form-submit{
    width:100%;
    padding:16px;
    background:var(--gold);
    color:#fff;
    font-size:11px;
    font-weight:600;
    letter-spacing:.35em;
    text-transform:uppercase;
    transition:var(--tr);
}
.form-submit:hover{
    background:var(--gold-bright);
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(232,164,35,.3);
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer{
    background:var(--dark);
    color:var(--text-light);
    padding:80px 0 24px;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:60px;
    margin-bottom:56px;
}
.footer-brand .logo img{height:60px}
.footer-brand p{
    font-size:13px;
    color:#a89e93;
    line-height:1.7;
    margin-top:20px;
    max-width:300px;
    font-style:italic;
}
.footer-col h4{
    font-size:11px;
    font-weight:600;
    letter-spacing:.35em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:20px;
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:10px}
.footer-col a{
    font-size:13px;
    color:#a89e93;
    transition:var(--tr);
}
.footer-col a:hover{color:var(--gold)}
.footer-contact-line{
    font-size:13px;
    color:#a89e93;
    margin-bottom:14px;
}
.footer-contact-line strong{color:var(--gold);font-weight:500;font-size:10px;letter-spacing:.25em;text-transform:uppercase;display:block;margin-bottom:4px}
.footer-bottom{
    border-top:1px solid rgba(200,169,110,.15);
    padding-top:24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
}
.footer-bottom p{
    font-size:11px;
    color:#8a847c;
    letter-spacing:.05em;
}
.footer-social{display:flex;gap:24px}
.footer-social a{
    font-size:10px;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:#a89e93;
    transition:var(--tr);
}
.footer-social a:hover{color:var(--gold)}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width:1024px){
    .services-grid{grid-template-columns:repeat(3,1fr)}
    .philosophy-grid{gap:50px}
    .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
    .packs-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}
    .pack-card.featured{transform:none}
    .pack-card.featured:hover{transform:translateY(-8px)}
    .options-list{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:768px){
    .container{padding:0 22px}
    .nav-desktop,.header-cta{display:none}
    .menu-toggle{display:block}
    .site-header{padding:16px 0}

    .hero{min-height:90vh}
    .hero h1{font-size:2.4rem}
    .hero-buttons{flex-direction:column;align-items:stretch;max-width:280px;margin:0 auto}

    .page-hero{min-height:50vh;padding:100px 0 40px}

    .philosophy,.services,.testimonials,.cta-section,.contact,.packages{padding:80px 0}
    .philosophy-grid{grid-template-columns:1fr;gap:50px}
    .philosophy-img::before{display:none}
    .values{grid-template-columns:1fr;gap:16px}

    .services-grid,.services-grid.cols-3{grid-template-columns:1fr;gap:14px}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:30px}
    .stat-item{border-right:none}
    .stat-item:nth-child(odd){border-right:1px solid rgba(200,169,110,.15)}
    .stat-item .num{font-size:38px}

    .testi-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr;gap:40px}
    .contact-form{padding:32px 24px}
    .form-row{grid-template-columns:1fr;gap:0;margin-bottom:0}

    .options-block{padding:32px 22px}
    .options-list{grid-template-columns:1fr}

    .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
    .footer-brand{grid-column:1/-1}
    .footer-bottom{flex-direction:column;text-align:center}
}

@media (max-width:480px){
    .footer-grid{grid-template-columns:1fr}
    .stats-grid{grid-template-columns:1fr 1fr}
}

/* Animations d'apparition */
.fade-in{
    opacity:0;
    transform:translateY(20px);
    transition:opacity .8s ease,transform .8s ease;
}
.fade-in.visible{
    opacity:1;
    transform:translateY(0);
}
