/* ═══════════════════════════════════════
   FRIDA RESSOURCES — style.css
═══════════════════════════════════════ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --forest:#2a4232;
  --moss:#3d5c47;
  --sage:#7a9e82;
  --mint:#c4d9c8;
  --cream:#f8f4ed;
  --parch:#ede8de;
  --white:#fff;
  --gold:#c9a84c;
  --ink:#1c2e22;
  --text:#3a4a3e;
  --lt:#6b7d6e;
}

html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--text);font-family:'Jost',sans-serif;font-weight:300;overflow-x:hidden}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:900;padding:0 60px;height:70px;display:flex;align-items:center;justify-content:space-between;transition:all .4s}
nav.scrolled{background:rgba(26,44,32,.97);backdrop-filter:blur(12px);box-shadow:0 2px 30px rgba(0,0,0,.25)}
.nav-logo{font-family:'Playfair Display',serif;font-size:21px;font-weight:700;color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px}
.nav-logo span{width:28px;height:1.5px;background:var(--gold);display:inline-block}
.nav-links{display:flex;gap:34px;list-style:none}
.nav-links a{font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.8);text-decoration:none;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-cta{background:var(--gold)!important;color:var(--ink)!important;padding:9px 20px;border-radius:2px;font-weight:600!important}
.nav-cta::after{display:none!important}
.nav-cta:hover{background:#dbb95c!important}

/* ── HERO ── */
.hero{min-height:100vh;background:var(--forest);position:relative;display:flex;align-items:center;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 65% 50%,rgba(61,92,71,.55) 0%,transparent 65%),radial-gradient(ellipse 50% 80% at 5% 90%,rgba(15,28,18,.8) 0%,transparent 55%)}
.hero-ring{position:absolute;right:-100px;top:50%;transform:translateY(-50%);width:680px;height:680px;border-radius:50%;border:1px solid rgba(201,168,76,.12);pointer-events:none}
.hero-ring::before{content:'';position:absolute;inset:55px;border-radius:50%;border:1px solid rgba(201,168,76,.08)}
.hero-ring::after{content:'';position:absolute;inset:120px;border-radius:50%;border:1px solid rgba(201,168,76,.05)}
.hero-content{position:relative;z-index:2;padding:130px 80px 80px;max-width:680px}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:22px;display:flex;align-items:center;gap:14px;opacity:0;animation:up .8s .2s ease forwards}
.eyebrow::before{content:'';width:38px;height:1px;background:var(--gold)}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(54px,7vw,90px);font-weight:900;color:#fff;line-height:.95;letter-spacing:-2px;margin-bottom:10px;opacity:0;animation:up .8s .4s ease forwards}
.hero h1 em{font-style:italic;color:var(--mint);display:block}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:21px;font-style:italic;color:rgba(255,255,255,.55);margin:22px 0 42px;line-height:1.55;opacity:0;animation:up .8s .6s ease forwards}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:up .8s .8s ease forwards}
.hero-stats{position:absolute;bottom:0;right:0;display:flex;opacity:0;animation:up .8s 1s ease forwards}
.stat{background:rgba(255,255,255,.05);backdrop-filter:blur(10px);border-left:1px solid rgba(255,255,255,.08);border-top:1px solid rgba(255,255,255,.08);padding:26px 38px;text-align:center}
.stat-n{font-family:'Playfair Display',serif;font-size:38px;font-weight:700;color:var(--gold);display:block;line-height:1}
.stat-l{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.45);display:block;margin-top:5px}

/* ── BUTTONS ── */
.btn-g{background:var(--gold);color:var(--ink);padding:15px 36px;border-radius:2px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:all .3s;display:inline-block}
.btn-g:hover{background:#dbb95c;transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,168,76,.35)}
.btn-o{background:transparent;color:rgba(255,255,255,.8);padding:15px 36px;border-radius:2px;border:1px solid rgba(255,255,255,.28);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .3s;display:inline-block}
.btn-o:hover{border-color:rgba(255,255,255,.7);color:#fff;transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:#fff;padding:16px 38px;border-radius:2px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:all .3s;display:inline-block;border:none;cursor:pointer}
.btn-dark:hover{background:var(--forest);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25)}

/* ── SECTION BASE ── */
section{padding:100px 80px}
.sec-eye{font-size:10px;font-weight:600;letter-spacing:3.5px;text-transform:uppercase;color:var(--sage);display:flex;align-items:center;gap:12px;margin-bottom:14px}
.sec-eye::before{content:'';width:30px;height:1px;background:var(--sage)}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(36px,4vw,56px);font-weight:900;color:var(--ink);line-height:1.05;letter-spacing:-1.5px}
.sec-title em{font-style:italic;color:var(--moss)}

/* ── ABOUT ── */
.about{background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-visual{position:relative}
.about-frame{aspect-ratio:3/4;border-radius:4px;overflow:hidden;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.15)}
.about-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .6s ease}
.about-frame:hover img{transform:scale(1.03)}
.about-frame-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(42,66,50,.3));pointer-events:none}
.about-badge{position:absolute;bottom:-20px;right:-20px;width:108px;height:108px;background:var(--gold);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 8px 32px rgba(201,168,76,.4);z-index:2}
.about-badge .n{font-family:'Playfair Display',serif;font-size:30px;font-weight:900;color:var(--ink);line-height:1}
.about-badge .l{font-size:8px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:rgba(28,46,34,.7);margin-top:4px;line-height:1.3;padding:0 8px}
.about-text .lead{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;color:var(--moss);line-height:1.5;margin-bottom:20px}
.about-text p{font-size:15px;line-height:1.85;color:var(--lt);margin-bottom:14px}
.about-text strong{color:var(--text);font-weight:500}
.about-deco{width:1px;height:60px;background:linear-gradient(to bottom,var(--sage),transparent);margin:20px 0}
.territory{margin-top:28px;padding:20px 22px;background:var(--parch);border-left:3px solid var(--sage);border-radius:0 4px 4px 0}
.territory p{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--moss);margin-bottom:10px}
.tags{display:flex;flex-wrap:wrap;gap:7px}
.tag{font-size:11px;font-weight:500;background:var(--white);color:var(--moss);padding:4px 12px;border-radius:2px;border:1px solid var(--mint);letter-spacing:.5px}

/* ── SERVICES ── */
.services-sec{background:var(--cream)}
.srv-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px;flex-wrap:wrap;gap:24px}
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--mint)}
.srv-card{background:var(--white);padding:44px 34px;position:relative;transition:all .4s;overflow:hidden;cursor:default}
.srv-card::before{content:'';position:absolute;inset:0;background:var(--forest);transform:translateY(100%);transition:transform .45s cubic-bezier(.76,0,.24,1);z-index:0}
.srv-card:hover::before{transform:translateY(0)}
.srv-card>*{position:relative;z-index:1}
.srv-icon{width:50px;height:50px;background:var(--parch);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:22px;font-size:20px;transition:background .4s}
.srv-card:hover .srv-icon{background:rgba(255,255,255,.1)}
.srv-card h3{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--ink);margin-bottom:12px;letter-spacing:-.5px;transition:color .4s}
.srv-card:hover h3{color:#fff}
.srv-card p{font-size:14px;line-height:1.78;color:var(--lt);margin-bottom:14px;transition:color .4s}
.srv-card:hover p{color:rgba(255,255,255,.65)}
.srv-list{list-style:none}
.srv-list li{font-size:13px;color:var(--lt);padding:6px 0;border-bottom:1px solid var(--parch);display:flex;align-items:center;gap:8px;transition:all .4s}
.srv-card:hover .srv-list li{color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.1)}
.srv-list li::before{content:'→';color:var(--sage);font-size:11px;transition:color .4s}
.srv-card:hover .srv-list li::before{color:var(--gold)}

/* ── PLATFORMS ── */
.plat-sec{background:var(--forest);padding:72px 80px;text-align:center}
.plat-sec .sec-eye{justify-content:center;color:var(--mint)}
.plat-sec .sec-eye::before{background:var(--mint)}
.plat-sec .sec-title{color:#fff}
.plat-grid{display:flex;justify-content:center;gap:18px;margin-top:46px;flex-wrap:wrap}
.plat-pill{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.75);padding:13px 32px;border-radius:100px;font-size:14px;font-weight:500;letter-spacing:.5px;transition:all .3s;text-decoration:none;display:inline-block}
.plat-pill:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);transform:translateY(-3px)}

/* ── PROCESS ── */
.process-sec{background:var(--parch)}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:54px;position:relative}
.proc-grid::before{content:'';position:absolute;top:20px;left:calc(12.5% + 10px);right:calc(12.5% + 10px);height:1px;background:linear-gradient(to right,var(--mint),var(--sage),var(--mint));z-index:0}
.proc-step{position:relative;z-index:1}
.step-dot{width:12px;height:12px;border-radius:50%;background:var(--forest);border:3px solid var(--gold);margin-bottom:22px}
.step-num{font-family:'Playfair Display',serif;font-size:58px;font-weight:900;color:var(--mint);line-height:1;margin-bottom:14px}
.proc-step h4{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:var(--ink);margin-bottom:9px}
.proc-step p{font-size:13.5px;line-height:1.72;color:var(--lt)}

/* ── ZONE ── */
.zone-sec{background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:480px}
.zone-map{background:var(--forest);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:60px;min-height:420px}
.zone-map::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(61,92,71,.4),rgba(26,46,30,.85))}
.map-area{position:relative;z-index:1;width:100%;max-width:340px;aspect-ratio:1/1}
.map-dot{position:absolute;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:default}
.dot-ring{width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(201,168,76,.25),0 0 0 8px rgba(201,168,76,.1);animation:pulse 2.5s infinite;margin:0 auto}
.dot-label{font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.45);padding:3px 8px;border-radius:2px;white-space:nowrap}
.dot-lodeve{top:45%;left:42%}
.dot-clermont{top:22%;left:60%}
.dot-guilhem{top:28%;left:18%}
.dot-soumont{top:62%;left:66%}
.dot-pegairolles{top:70%;left:28%}
.dot-le-bosc{top:54%;left:75%}
.dot-lodeve .dot-ring{background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.2),0 0 0 10px rgba(255,255,255,.08);width:16px;height:16px}
.zone-content{padding:72px 64px;display:flex;flex-direction:column;justify-content:center}
.zone-content .sec-title{margin-bottom:18px}
.zone-content .lead{font-family:'Cormorant Garamond',serif;font-size:19px;font-style:italic;color:var(--lt);line-height:1.6;margin-bottom:28px}
.zone-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.zone-list li{font-size:13px;color:var(--text);display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--parch);border-radius:2px;font-weight:500;transition:background .3s}
.zone-list li:hover{background:var(--mint)}
.zone-list li::before{content:'📍';font-size:12px}

/* ── TESTIMONIALS ── */
.testi-sec{background:var(--cream)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.testi-card{background:var(--white);padding:34px 30px;border-radius:4px;border-bottom:3px solid var(--mint);transition:border-color .3s}
.testi-card:hover{border-color:var(--sage)}
.qmark{font-family:'Playfair Display',serif;font-size:68px;color:var(--mint);line-height:.6;margin-bottom:18px;display:block}
.testi-card p{font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;line-height:1.65;color:var(--text);margin-bottom:18px}
.testi-author{display:flex;align-items:center;gap:12px;border-top:1px solid var(--parch);padding-top:14px}
.avatar{width:36px;height:36px;background:var(--forest);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--mint);font-size:13px;font-weight:700;font-family:'Playfair Display',serif;flex-shrink:0}
.author-name{font-size:13px;font-weight:600;color:var(--ink)}
.author-loc{font-size:11px;color:var(--lt);letter-spacing:.5px}

/* ── CTA BAND ── */
.cta-band{background:var(--gold);padding:72px 80px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-band h2{font-family:'Playfair Display',serif;font-size:clamp(28px,3vw,44px);font-weight:900;color:var(--ink);letter-spacing:-1px;line-height:1.1;max-width:520px}
.cta-band h2 em{font-style:italic}

/* ── CONTACT ── */
.contact-sec{background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:0}
.contact-info{background:var(--forest);padding:80px 64px;color:#fff}
.contact-info .sec-eye{color:var(--mint)}
.contact-info .sec-eye::before{background:var(--mint)}
.contact-info .sec-title{color:#fff;margin-bottom:36px}
.c-item{display:flex;align-items:flex-start;gap:18px;margin-bottom:30px}
.c-icon{width:42px;height:42px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;margin-top:2px}
.c-item h4{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--mint);margin-bottom:6px}
.c-item p,.c-item a{font-size:15px;color:rgba(255,255,255,.8);line-height:1.6;text-decoration:none}
.c-item a:hover{color:var(--gold)}
.siret-box{margin-top:36px;padding:18px 20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:3px}
.siret-box p{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:4px}
.siret-box strong{font-size:15px;color:rgba(255,255,255,.65);letter-spacing:2px;font-weight:400}
.contact-form{padding:80px 64px}
.contact-form h3{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:-.5px}
.contact-form .fsub{font-size:14px;color:var(--lt);margin-bottom:32px}
.fg{margin-bottom:20px}
.fg label{display:block;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--sage);margin-bottom:8px}
.fg input,.fg select,.fg textarea{width:100%;padding:13px 16px;border:1.5px solid var(--parch);border-radius:2px;background:var(--cream);font-family:'Jost',sans-serif;font-size:14px;color:var(--ink);transition:border-color .3s;outline:none;appearance:none}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--sage)}
.fg textarea{resize:vertical;min-height:110px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* ── FOOTER ── */
footer{background:var(--ink);padding:52px 80px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.footer-logo{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:#fff;display:flex;align-items:center;gap:10px}
.footer-logo span{width:24px;height:1px;background:var(--gold);display:inline-block}
footer p{font-size:12px;color:rgba(255,255,255,.3);letter-spacing:.5px}
.footer-links{display:flex;gap:24px}
.footer-links a{font-size:11px;color:rgba(255,255,255,.4);text-decoration:none;letter-spacing:1px;transition:color .3s}
.footer-links a:hover{color:var(--gold)}

/* ── ANIMATIONS ── */
@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(201,168,76,.25),0 0 0 8px rgba(201,168,76,.1)}50%{box-shadow:0 0 0 6px rgba(201,168,76,.3),0 0 0 12px rgba(201,168,76,.08)}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav{padding:0 24px}
  .nav-links{display:none}
  section{padding:64px 24px}
  .hero-content{padding:110px 24px 60px}
  .hero-stats{display:none}
  .about,.zone-sec,.contact-sec{grid-template-columns:1fr}
  .srv-grid{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr 1fr}
  .proc-grid::before{display:none}
  .testi-grid{grid-template-columns:1fr}
  .cta-band{padding:52px 24px;flex-direction:column;text-align:center}
  footer{padding:40px 24px;flex-direction:column;text-align:center}
  .zone-map{min-height:300px;padding:32px}
  .zone-content{padding:48px 24px}
  .plat-sec{padding:60px 24px}
  .contact-info{padding:60px 24px}
  .contact-form{padding:60px 24px}
  .form-row{grid-template-columns:1fr}
  .zone-list{grid-template-columns:1fr}
  .about-badge{bottom:-10px;right:-10px;width:90px;height:90px}
}
