/* ============================================
   CABINET AVOCAT — CSS PRINCIPAL v2
   Palette : Blanc chaud + Orange brique
   Titres  : Bebas Neue  |  Corps : Raleway
============================================ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Raleway:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  --orange:      #e85d26;
  --orange-dark: #cf4a18;
  --orange-pale: #fff1eb;
  --orange-mid:  #f5d5c5;
  --cream:       #fdf8f3;
  --cream-dark:  #f0e8e0;
  --white:       #ffffff;
  --dark:        #1c1510;
  --dark-mid:    #3a2e27;
  --text:        #1c1510;
  --text-light:  #7a6a60;
  --text-muted:  #a09088;
  --border:      rgba(28,21,16,0.09);
  --font-title:  'Bebas Neue', Impact, sans-serif;
  --font-body:   'Raleway', sans-serif;
  --radius:      4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --shadow:      0 4px 24px rgba(28,21,16,0.08);
  --shadow-lg:   0 12px 48px rgba(28,21,16,0.14);
  --shadow-ora:  0 8px 28px rgba(232,93,38,0.32);
  --ease:        0.3s cubic-bezier(0.25,0.46,0.45,0.94);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);color:var(--text);background:var(--cream);line-height:1.65;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
address{font-style:normal}

h1,h2,h3,h4{font-family:var(--font-title);letter-spacing:.02em;line-height:.95}
h1{font-size:clamp(3.5rem,7vw,7rem)}
h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}
h3{font-size:clamp(1.8rem,2.5vw,2.4rem)}
h4{font-size:1.3rem}
p{font-size:15px;color:var(--text-light);line-height:1.8;font-weight:400}

.section-tag{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.section-tag::before{content:'';width:24px;height:3px;background:var(--orange);border-radius:2px;flex-shrink:0}
.section-tag span{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:16px 32px;border-radius:var(--radius);border:none;cursor:pointer;transition:var(--ease)}
.btn svg{width:14px;height:14px;flex-shrink:0}
.btn-orange{background:var(--orange);color:var(--white)}
.btn-orange:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:var(--shadow-ora)}
.btn-outline{background:transparent;color:var(--text);border:2px solid rgba(28,21,16,.15)}
.btn-outline:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-2px)}
.btn-outline-white{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.4)}
.btn-outline-white:hover{border-color:var(--white);background:rgba(255,255,255,.12)}
.btn-white{background:var(--white);color:var(--orange)}
.btn-white:hover{background:var(--orange-pale);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.18)}

/* LAYOUT */
.container{max-width:1200px;margin:0 auto;padding:0 60px}
.section{padding:100px 0}

/* HEADER */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background var(--ease),box-shadow var(--ease),padding var(--ease)}
.site-header.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(16px);box-shadow:0 2px 24px rgba(28,21,16,.08)}
.header-inner{max-width:1200px;margin:0 auto;padding:0 60px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.site-logo{display:flex;align-items:center}
.logo-text{font-family:var(--font-title);font-size:1.5rem;letter-spacing:.06em;color:var(--white);transition:color var(--ease)}
.logo-text .logo-dot{color:var(--orange)}
.logo-img{height:40px;width:auto}
.site-header.scrolled .logo-text{color:var(--dark)}
.main-nav ul{display:flex;align-items:center;gap:28px}
.main-nav a{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7);transition:color var(--ease);position:relative;padding-bottom:2px}
.main-nav a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--orange);transition:width var(--ease);border-radius:2px}
.main-nav a:hover,.main-nav a.active{color:var(--white)}
.main-nav a:hover::after,.main-nav a.active::after{width:100%}
.site-header.scrolled .main-nav a{color:var(--text-light)}
.site-header.scrolled .main-nav a:hover,.site-header.scrolled .main-nav a.active{color:var(--orange)}
.nav-cta{background:var(--orange)!important;color:var(--white)!important;padding:10px 22px!important;border-radius:var(--radius)!important;font-family:var(--font-body)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;border:none!important;cursor:pointer;transition:background var(--ease),transform var(--ease)!important;display:inline-block!important}
.nav-cta:hover{background:var(--orange-dark)!important;transform:translateY(-1px)!important;color:var(--white)!important}
.nav-cta::after{display:none!important}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.burger span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px;transition:var(--ease)}
.site-header.scrolled .burger span{background:var(--dark)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:998}
.nav-overlay.active{display:block}

/* HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:var(--white)}
.hero-left{padding:130px 70px 80px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#fff8f4 0%,var(--white) 60%)}
.hero h1{color:var(--dark);margin-bottom:24px}
.hero h1 .line-accent{color:var(--orange);display:block}
.hero h1 .line-normal{display:block}
.hero-sub{font-size:15px;line-height:1.8;color:var(--text-light);max-width:440px;margin-bottom:40px;font-weight:400}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:flex;gap:0;margin-top:52px;padding-top:36px;border-top:1px solid var(--border)}
.hero-stat{flex:1;padding-right:24px;border-right:1px solid var(--border)}
.hero-stat:last-child{border-right:none;padding-right:0}
.hero-stat:not(:first-child){padding-left:24px}
.hero-stat strong{display:block;font-family:var(--font-title);font-size:2.8rem;color:var(--orange);line-height:1;letter-spacing:.02em}
.hero-stat span{font-size:10px;color:var(--text-muted);font-weight:600;letter-spacing:.1em;text-transform:uppercase;display:block;margin-top:5px}
.hero-right{position:relative;overflow:hidden;background:var(--cream-dark)}
.hero-right img{width:100%;height:100%;object-fit:cover;display:block}
.hero-badge{position:absolute;top:48px;left:-4px;background:var(--orange);color:var(--white);padding:16px 24px 16px 32px;border-radius:0 40px 40px 0;box-shadow:var(--shadow-ora)}
.hero-badge strong{display:block;font-family:var(--font-title);font-size:1.4rem;letter-spacing:.04em}
.hero-badge span{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.8}

/* STRIP */
.strip{background:var(--orange);overflow:hidden}
.strip-inner{display:flex;align-items:stretch}
.strip-item{flex:1;padding:20px 28px;display:flex;align-items:center;gap:12px;border-right:1px solid rgba(255,255,255,.18);transition:background var(--ease)}
.strip-item:last-child{border-right:none}
.strip-item:hover{background:rgba(255,255,255,.1)}
.strip-item svg{width:18px;height:18px;color:var(--white);flex-shrink:0;opacity:.9}
.strip-item span{font-size:11px;font-weight:700;color:var(--white);letter-spacing:.1em;text-transform:uppercase}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:5fr 7fr;min-height:640px}
.about-img-col{position:relative;overflow:hidden}
.about-img-col img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(10%);transition:transform .8s ease}
.about-img-col:hover img{transform:scale(1.03)}
.about-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,21,16,.65) 0%,transparent 55%)}
.about-quote-card{position:absolute;bottom:32px;left:32px;right:32px;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.22);border-left:3px solid var(--orange);padding:20px 24px;border-radius:0 var(--radius-md) var(--radius-md) 0}
.about-quote-card p{font-size:14px;font-style:italic;color:var(--white);line-height:1.65;font-weight:400}
.about-text-col{padding:80px 70px;background:var(--cream);display:flex;flex-direction:column;justify-content:center}
.about-text-col h2{color:var(--dark);margin-bottom:20px}
.about-text-col p{margin-bottom:14px}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0 36px}
.val-card{background:var(--white);border:1px solid var(--border);padding:20px;border-radius:var(--radius-md);transition:var(--ease)}
.val-card:hover{border-color:var(--orange);box-shadow:0 4px 20px rgba(232,93,38,.1);transform:translateY(-2px)}
.val-card svg{width:22px;height:22px;color:var(--orange);margin-bottom:10px}
.val-card strong{display:block;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dark);margin-bottom:5px}
.val-card span{font-size:12px;color:var(--text-muted);line-height:1.55}

/* COMPETENCES CARDS */
.competences-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.comp-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:36px 28px;position:relative;overflow:hidden;transition:var(--ease);cursor:pointer}
.comp-card:hover{border-color:var(--orange);box-shadow:0 8px 32px rgba(232,93,38,.12);transform:translateY(-4px)}
.comp-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}
.comp-icon{width:48px;height:48px;background:var(--orange-pale);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}
.comp-icon svg{width:22px;height:22px;color:var(--orange)}
.comp-num{font-family:var(--font-title);font-size:3rem;color:rgba(232,93,38,.1);line-height:1;letter-spacing:.02em}
.comp-card h3{color:var(--dark);margin-bottom:10px;font-size:1.6rem}
.comp-card p{font-size:13px;color:var(--text-muted);line-height:1.7}
.comp-arrow{display:flex;align-items:center;gap:6px;margin-top:20px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);opacity:0;transform:translateX(-8px);transition:var(--ease)}
.comp-card:hover .comp-arrow{opacity:1;transform:translateX(0)}

/* COMPETENCES FULL (page) */
.competence-full-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;margin-bottom:2rem;border:1px solid var(--border);transition:var(--ease)}
.competence-full-card:hover{box-shadow:var(--shadow-lg)}
.competence-full-card.reverse{direction:rtl}
.competence-full-card.reverse>*{direction:ltr}
.competence-full-img{overflow:hidden}
.competence-full-img img{width:100%;height:100%;min-height:320px;object-fit:cover;transition:transform .7s ease}
.competence-full-card:hover .competence-full-img img{transform:scale(1.04)}
.competence-full-body{padding:3rem;display:flex;flex-direction:column;justify-content:center}
.competence-full-body h3{color:var(--dark);margin-bottom:1rem}
.competence-full-body p{margin-bottom:1rem}
.competence-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.competence-list li{font-size:13px;color:var(--text-light);display:flex;align-items:center;gap:8px;font-weight:400}
.competence-list li::before{content:'';width:7px;height:7px;background:var(--orange);border-radius:50%;flex-shrink:0}

/* SERVICES */
.service-row-item{display:grid;grid-template-columns:1fr 1fr;min-height:420px;border-bottom:1px solid var(--border)}
.service-row-item.reverse{direction:rtl}
.service-row-item.reverse>*{direction:ltr}
.service-row-img{overflow:hidden;position:relative}
.service-row-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.service-row-item:hover .service-row-img img{transform:scale(1.04)}
.service-row-body{padding:60px;display:flex;flex-direction:column;justify-content:center;background:var(--white)}
.service-row-body h3{color:var(--dark);margin-bottom:14px}
.service-row-body p{margin-bottom:24px}
.service-more{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);transition:gap var(--ease)}
.service-row-item:hover .service-more{gap:14px}
.service-more svg{width:14px;height:14px}

/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:var(--ease)}
.blog-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--orange-mid)}
.blog-card-img{height:210px;overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.blog-card:hover .blog-card-img img{transform:scale(1.05)}
.blog-card-body{padding:24px}
.blog-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.blog-cat{background:var(--orange-pale);color:var(--orange);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:40px}
.blog-date{font-size:11px;color:var(--text-muted);font-weight:500}
.blog-card h3{font-family:var(--font-body);font-size:16px;font-weight:700;color:var(--dark);line-height:1.4;margin-bottom:8px}
.blog-card p{font-size:13px;margin-bottom:16px}
.blog-more{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.blog-more svg{width:12px;height:12px}

/* FAQ */
.faq-list{max-width:780px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{width:100%;background:none;border:none;text-align:left;padding:22px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--dark);transition:color var(--ease)}
.faq-question:hover{color:var(--orange)}
.faq-icon{width:28px;height:28px;flex-shrink:0;background:var(--orange-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background var(--ease),transform var(--ease);color:var(--orange)}
.faq-icon svg{width:14px;height:14px}
.faq-item.open .faq-icon{background:var(--orange);transform:rotate(45deg)}
.faq-item.open .faq-icon svg{color:var(--white)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(0.4,0,0.2,1)}
.faq-answer-inner{padding:0 0 22px}
.faq-answer-inner p{font-size:14px}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;align-items:start}
.contact-details{display:flex;flex-direction:column;gap:20px;margin-top:32px}
.contact-detail{display:flex;align-items:flex-start;gap:16px}
.contact-detail-icon{width:44px;height:44px;background:var(--orange-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--ease)}
.contact-detail:hover .contact-detail-icon{background:var(--orange)}
.contact-detail:hover .contact-detail-icon svg{color:var(--white)}
.contact-detail-icon svg{width:18px;height:18px;color:var(--orange);transition:color var(--ease)}
.contact-detail-body strong{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dark);margin-bottom:3px}
.contact-detail-body span,.contact-detail-body a{font-size:14px;color:var(--text-light)}
.contact-detail-body a:hover{color:var(--orange)}
.contact-form-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow)}
.contact-form-card h3{font-family:var(--font-body);font-size:20px;font-weight:700;color:var(--dark);margin-bottom:4px}
.contact-form-card>p{font-size:13px;margin-bottom:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-field.full{grid-column:1 / -1}
.form-field label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dark)}
.form-field input,.form-field select,.form-field textarea{padding:12px 16px;border:1.5px solid rgba(28,21,16,.12);border-radius:var(--radius);font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--cream);transition:border-color var(--ease),background var(--ease);width:100%;font-weight:400}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--orange);background:var(--white)}
.form-field textarea{resize:vertical;min-height:130px}
.form-submit-btn{width:100%;margin-top:20px;justify-content:center;font-size:12px}
.form-note{font-size:11px;color:var(--text-muted);margin-top:10px;line-height:1.6}
.form-note a{color:var(--orange)}
.maps-wrap{margin-top:24px;border-radius:var(--radius-md);overflow:hidden;height:220px;background:var(--cream-dark)}
.maps-wrap iframe{width:100%;height:100%;border:none}
.maps-placeholder{height:100%;display:flex;align-items:center;justify-content:center}
.maps-placeholder p{font-size:12px;text-align:center;padding:1rem}
.alert{padding:14px 18px;border-radius:var(--radius);font-size:13px;margin-bottom:20px;font-weight:500}
.alert-success{background:#d4f0e0;color:#155724;border-left:3px solid #27ae60}
.alert-error{background:#fde8e8;color:#721c24;border-left:3px solid #e74c3c}

/* PAGE HERO */
.page-hero{padding:140px 60px 80px;background:var(--dark);position:relative;overflow:hidden;text-align:center}
.page-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(232,93,38,.15) 0%,transparent 60%)}
.page-hero-bg{position:absolute;inset:0;z-index:0}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.12;filter:grayscale(40%)}
.page-hero-content{position:relative;z-index:1;max-width:700px;margin:0 auto}
.page-hero-content h1{color:var(--white);margin-bottom:16px}
.page-hero-content p{color:rgba(255,255,255,.6);font-size:16px}

/* TESTIMONIALS */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.testi-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:28px;transition:var(--ease)}
.testi-card:hover{border-color:var(--orange-mid);box-shadow:var(--shadow);transform:translateY(-3px)}
.testi-stars{display:flex;gap:3px;margin-bottom:16px}
.testi-stars svg{width:16px;height:16px;fill:var(--orange);color:var(--orange)}
.testi-card p{font-size:14px;font-style:italic;color:var(--text-light);line-height:1.75;margin-bottom:20px}
.testi-author{display:flex;align-items:center;gap:12px}
.testi-avatar{width:40px;height:40px;border-radius:50%;background:var(--orange-pale);display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:1.2rem;color:var(--orange)}
.testi-name strong{display:block;font-size:14px;font-weight:700;color:var(--dark)}
.testi-name span{font-size:12px;color:var(--text-muted)}

/* CTA */
.cta-section{background:linear-gradient(135deg,var(--orange) 0%,#d94f1a 50%,#c23d10 100%);padding:100px 60px;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:rgba(255,255,255,.06);border-radius:50%}
.cta-section::after{content:'';position:absolute;bottom:-120px;left:-60px;width:350px;height:350px;background:rgba(255,255,255,.04);border-radius:50%}
.cta-inner{max-width:700px;margin:0 auto;position:relative;z-index:1}
.cta-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.18);padding:8px 18px;border-radius:40px;margin-bottom:24px}
.cta-tag span{font-size:10px;font-weight:700;color:var(--white);letter-spacing:.18em;text-transform:uppercase}
.cta-section h2{color:var(--white);margin-bottom:16px}
.cta-section p{color:rgba(255,255,255,.75);font-size:15px;margin-bottom:40px}
.cta-buttons{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.cta-tel-link{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;color:rgba(255,255,255,.7);font-size:13px;font-weight:500;text-decoration:none;transition:color var(--ease)}
.cta-tel-link:hover{color:var(--white)}
.cta-tel-link svg{width:14px;height:14px}

/* FOOTER */
.site-footer{background:var(--dark);color:rgba(255,255,255,.6)}
.footer-top{max-width:1200px;margin:0 auto;padding:72px 60px 48px;display:grid;grid-template-columns:2fr 1fr 2fr;gap:48px}
.footer-logo-text{font-family:var(--font-title);font-size:1.5rem;color:var(--white);letter-spacing:.06em;display:block;margin-bottom:12px}
.footer-logo-text .logo-dot{color:var(--orange)}
.footer-brand p{font-size:13px;color:rgba(255,255,255,.45);line-height:1.7;max-width:260px;margin-bottom:20px}
.footer-social{display:flex;gap:8px}
.footer-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--ease)}
.footer-social a:hover{border-color:var(--orange);background:rgba(232,93,38,.15)}
.footer-social svg{width:16px;height:16px;color:rgba(255,255,255,.6)}
.footer-social a:hover svg{color:var(--orange)}
.footer-nav h4,.footer-contact h4{font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--white);margin-bottom:20px}
.footer-nav ul{display:flex;flex-direction:column;gap:10px}
.footer-nav a{font-size:13px;color:rgba(255,255,255,.45);transition:color var(--ease);display:flex;align-items:center;gap:6px}
.footer-nav a::before{content:'';width:0;height:1px;background:var(--orange);transition:width var(--ease)}
.footer-nav a:hover{color:var(--white)}
.footer-nav a:hover::before{width:12px}
.footer-contact address{display:flex;flex-direction:column;gap:12px}
.footer-contact p{font-size:13px;color:rgba(255,255,255,.45);display:flex;align-items:flex-start;gap:10px;transition:color var(--ease)}
.footer-contact p:hover{color:rgba(255,255,255,.75)}
.footer-contact svg{width:15px;height:15px;flex-shrink:0;color:var(--orange);margin-top:2px}
.footer-contact a{color:inherit}
.footer-contact a:hover{color:var(--orange)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);max-width:1200px;margin:0 auto;padding:20px 60px;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.3)}
.footer-legal-links{display:flex;gap:20px}
.footer-legal-links a{font-size:12px;color:rgba(255,255,255,.3);transition:color var(--ease)}
.footer-legal-links a:hover{color:var(--orange)}

/* MENTIONS LÉGALES */
.legal-page{max-width:820px;margin:0 auto;padding:120px 60px 80px}
.legal-page h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:40px;color:var(--dark)}
.legal-page h2{font-size:1.6rem;color:var(--dark);margin:2.5rem 0 .8rem}
.legal-page p{margin-bottom:1rem}

/* ADMIN */
.admin-body{font-family:var(--font-body);background:#f5f4f2;min-height:100vh}
.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark) 0%,#2e1e14 100%)}
.admin-login-card{background:var(--white);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:400px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.admin-login-card h1{font-size:2rem;color:var(--dark);margin-bottom:4px}
.admin-login-card>p{font-size:13px;margin-bottom:28px}
.admin-layout{display:flex;min-height:100vh}
.admin-sidebar{width:260px;background:var(--dark);color:var(--white);flex-shrink:0;display:flex;flex-direction:column}
.admin-sidebar-brand{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.07)}
.admin-sidebar-brand strong{display:block;font-family:var(--font-title);font-size:1.3rem;letter-spacing:.04em}
.admin-sidebar-brand span{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.06em}
.admin-nav{padding:12px 0;flex:1}
.admin-nav a{display:flex;align-items:center;gap:12px;padding:12px 20px;font-size:13px;font-weight:500;color:rgba(255,255,255,.55);transition:var(--ease);border-left:3px solid transparent}
.admin-nav a:hover,.admin-nav a.active{color:var(--white);background:rgba(255,255,255,.05);border-left-color:var(--orange)}
.admin-nav svg{width:17px;height:17px;flex-shrink:0}
.admin-main{flex:1;padding:32px;overflow-y:auto}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.admin-topbar h2{font-size:1.5rem;color:var(--dark);font-family:var(--font-body);font-weight:700}
.admin-card{background:var(--white);border-radius:var(--radius-md);padding:28px;box-shadow:0 2px 12px rgba(0,0,0,.05);margin-bottom:20px;border:1px solid rgba(0,0,0,.05)}
.admin-card h3{font-family:var(--font-body);font-size:13px;font-weight:700;color:var(--dark);margin-bottom:20px;letter-spacing:.06em;text-transform:uppercase}
.admin-field{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.admin-field label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#666}
.admin-field input,.admin-field textarea,.admin-field select{padding:10px 14px;border:1.5px solid rgba(0,0,0,.1);border-radius:var(--radius);font-family:var(--font-body);font-size:14px;width:100%;transition:border-color var(--ease);background:#fafafa;color:var(--dark)}
.admin-field input:focus,.admin-field textarea:focus{outline:none;border-color:var(--orange);background:var(--white)}
.admin-field textarea{resize:vertical;min-height:100px}
.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.admin-save{margin-top:8px}
.upload-preview{margin-top:8px;display:flex;align-items:center;gap:12px}
.upload-preview img{height:44px;width:auto;border-radius:4px;border:1px solid var(--border)}
.badge-success{background:#d4f0e0;color:#155724;padding:10px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;display:inline-block}
.badge-error{background:#fde8e8;color:#721c24;padding:10px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;display:inline-block}

/* ANIMATIONS */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

/* RESPONSIVE */
@media(max-width:1024px){
  .container{padding:0 40px}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-right{height:420px}
  .about-grid{grid-template-columns:1fr}
  .about-img-col{height:420px}
  .competence-full-card{grid-template-columns:1fr}
  .competence-full-card.reverse{direction:ltr}
  .competence-full-img{height:280px}
  .service-row-item{grid-template-columns:1fr}
  .service-row-item.reverse{direction:ltr}
  .service-row-img{height:280px}
  .blog-grid{grid-template-columns:1fr 1fr}
  .testimonials-grid{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-nav{display:none}
  .contact-grid{grid-template-columns:1fr;gap:40px}
}
@media(max-width:768px){
  .container{padding:0 24px}
  .section{padding:72px 0}
  .header-inner{padding:0 24px}
  .main-nav{position:fixed;top:0;right:-100%;width:min(300px,85vw);height:100vh;background:var(--dark);z-index:999;padding:80px 28px 28px;transition:right .4s cubic-bezier(0.25,0.46,0.45,0.94);box-shadow:-8px 0 40px rgba(0,0,0,.35);overflow-y:auto}
  .main-nav.open{right:0}
  .main-nav ul{flex-direction:column;gap:0}
  .main-nav a{display:block;padding:14px 0;font-size:13px;color:rgba(255,255,255,.65);border-bottom:1px solid rgba(255,255,255,.06)}
  .main-nav a.active,.main-nav a:hover{color:var(--white)}
  .nav-cta{margin-top:16px;display:inline-flex!important}
  .burger{display:flex}
  .hero-left{padding:100px 24px 60px}
  .about-text-col{padding:56px 24px}
  .service-row-body{padding:40px 24px}
  .cta-section{padding:80px 24px}
  .footer-top{grid-template-columns:1fr;padding:48px 24px 32px}
  .footer-bottom{flex-direction:column;text-align:center;padding:16px 24px}
  .page-hero{padding:110px 24px 60px}
  .legal-page{padding:100px 24px 60px}
  .blog-grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .admin-layout{flex-direction:column}
  .admin-sidebar{width:100%}
  .admin-grid-2{grid-template-columns:1fr}
  .strip-inner{flex-direction:column}
  .strip-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.18)}
  .strip-item:last-child{border-bottom:none}
}
@media(max-width:480px){
  h1{font-size:clamp(3rem,11vw,4.5rem)}
  h2{font-size:clamp(2rem,9vw,3rem)}
  .hero-stats{flex-direction:column;gap:16px}
  .hero-stat{border-right:none;padding:0 0 16px;border-bottom:1px solid var(--border)}
  .hero-stat:last-child{border-bottom:none;padding-bottom:0}
  .hero-actions{flex-direction:column}
  .cta-buttons{flex-direction:column}
  .btn{width:100%;justify-content:center}
  .contact-form-card{padding:24px}
}

/* ============================================
   CORRECTIFS SVG — empêche l'héritage de taille
============================================ */

/* Val-cards (À propos, valeurs) */
.val-card svg {
  width: 22px !important;
  height: 22px !important;
  display: block;
  flex-shrink: 0;
}

/* Comp-cards (compétences) */
.comp-icon svg {
  width: 22px !important;
  height: 22px !important;
  display: block;
}

/* Comp-arrow */
.comp-arrow svg {
  width: 12px !important;
  height: 12px !important;
  flex-shrink: 0;
}

/* Strip */
.strip-item svg {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0;
}

/* CTA section — pas d'icône géante, les SVG dans cta-inner restent petits */
.cta-inner svg {
  width: 16px !important;
  height: 16px !important;
}

/* Boutons — SVG inline */
.btn svg {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0;
}

/* Service-more */
.service-more svg {
  width: 14px !important;
  height: 14px !important;
}

/* Blog more */
.blog-more svg {
  width: 12px !important;
  height: 12px !important;
}

/* Blog card — flèches décoratives dans les cartes */
.blog-card svg,
.blog-card-body svg {
  width: 14px !important;
  height: 14px !important;
}

/* Contact details */
.contact-detail-icon svg {
  width: 18px !important;
  height: 18px !important;
}
.contact-detail-body svg {
  width: 14px !important;
  height: 14px !important;
}

/* Footer social */
.footer-social svg {
  width: 16px !important;
  height: 16px !important;
}

/* Footer contact */
.footer-contact svg {
  width: 15px !important;
  height: 15px !important;
}

/* CTA tel-link */
.cta-tel-link svg {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0;
}

/* Nav CTA */
.nav-cta svg {
  width: 14px !important;
  height: 14px !important;
}

/* Hero badge — pas d'icône */
.hero-badge svg {
  width: 14px !important;
  height: 14px !important;
}

/* Testimonials stars */
.testi-stars svg {
  width: 16px !important;
  height: 16px !important;
}

/* FAQ icon */
.faq-icon svg {
  width: 14px !important;
  height: 14px !important;
}

/* Section-tag — pas d'icône SVG dedans normalement */
/* About quote card — pas d'icône */

/* Service-row body */
.service-row-body svg {
  width: 14px !important;
  height: 14px !important;
}

/* Admin nav */
.admin-nav svg {
  width: 17px !important;
  height: 17px !important;
  flex-shrink: 0;
}

/* Competence full body */
.competence-full-body svg {
  width: 14px !important;
  height: 14px !important;
}

/* CORRECTIF BLOG — retirer les grandes flèches décoratives standalone */
/* Les flèches doivent rester inline dans .blog-more uniquement */
.blog-card > svg,
.blog-card-body > svg {
  display: none !important;
}

/* CORRECTIF CTA — retirer l'icône téléphone géante si elle s'affiche standalone */
.cta-section > svg,
.cta-inner > svg {
  display: none !important;
}

/* Assurer que les SVG dans les sections ne s'affichent pas en pleine page */
section > svg,
.section > svg,
div > svg:not([class]):not([style]) {
  max-width: 24px !important;
  max-height: 24px !important;
}


/* ============================================
   RÈGLE GLOBALE SVG — filet de sécurité
============================================ */
svg {
  overflow: hidden;
  vertical-align: middle;
}
/* Empêche tout SVG sans classe et sans style inline de grandir démesurément */
p svg, span svg, div svg, a svg, button svg, li svg, address svg {
  max-width: 28px;
  max-height: 28px;
}
/* Exception : les SVG dans les sections de contenu pleine page 
   (compétences full-card, service img) ne doivent pas exister en standalone */


/* ============================================
   STYLES PAGES SECONDAIRES
============================================ */

/* Parcours timeline (À propos) */
.parcours-list { display:flex; flex-direction:column; gap:0; margin:28px 0; }
.parcours-item { display:flex; gap:24px; align-items:flex-start; padding:20px 0; border-bottom:1px solid var(--border); }
.parcours-item:last-child { border-bottom:none; }
.parcours-year { font-family:var(--font-title); font-size:2rem; color:var(--orange); min-width:60px; line-height:1; letter-spacing:.02em; opacity:.8; }
.parcours-desc strong { display:block; font-size:14px; font-weight:700; color:var(--dark); margin-bottom:4px; }
.parcours-desc span { font-size:13px; color:var(--text-muted); line-height:1.6; }

/* Profile section (À propos) */
.profile-section { display:grid; grid-template-columns:360px 1fr; gap:60px; align-items:start; }
.profile-photo { position:relative; }
.profile-photo img { width:100%; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.profile-badge { position:absolute; bottom:20px; left:20px; background:var(--dark); color:var(--white); padding:14px 18px; border-radius:var(--radius); border-left:3px solid var(--orange); }
.profile-badge strong { display:block; font-family:var(--font-title); font-size:1.2rem; letter-spacing:.02em; }
.profile-badge span { font-size:10px; color:rgba(255,255,255,.6); letter-spacing:.08em; }
.profile-text h2 { color:var(--dark); margin-bottom:20px; }
.profile-text p { margin-bottom:14px; }

/* Section header (anciens dividers) */
.section-header { margin-bottom:48px; }
.section-header h2 { color:var(--dark); }
.section-header p { max-width:560px; }
.section-header--center { text-align:center; }
.section-header--center p { margin:0 auto; }
.divider { width:40px; height:3px; background:var(--orange); border-radius:2px; margin:12px 0; }
.divider--center { margin:12px auto; }

/* About (pages secondaires) */
.about-img-main { width:100%; height:520px; object-fit:cover; border-radius:var(--radius-lg); }
.about-img-accent { display:none; }
.about-quote { margin:20px 0; padding:16px 20px; border-left:3px solid var(--orange); background:var(--orange-pale); border-radius:0 var(--radius) var(--radius) 0; }
.about-quote p { font-size:15px; font-style:italic; color:var(--dark); line-height:1.6; }

/* FAQ sidebar layout fix */
@media(max-width:900px) {
  .profile-section { grid-template-columns:1fr; }
  .profile-photo { max-width:380px; }
}

/* Services page — service-row-item avec ancienne structure service-img */
.service-img { overflow:hidden; }
.service-img img { width:100%; height:100%; min-height:220px; object-fit:cover; transition:transform .7s ease; }
.service-row-item:hover .service-img img { transform:scale(1.04); }
.service-body { padding:40px; display:flex; flex-direction:column; justify-content:center; background:var(--white); }
.service-body .section-tag { margin-bottom:10px; }
.service-body h3 { color:var(--dark); margin-bottom:12px; }
.service-body p { margin-bottom:20px; }

/* Ancienne classe service-card qui pointe sur service-row-item */
.service-row-item.service-card { grid-template-columns:280px 1fr; min-height:auto; }

/* Value-item (ancienne structure À propos) */
.values-list { display:flex; flex-direction:column; gap:0; margin:20px 0 32px; }
.value-item { display:flex; gap:16px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--border); }
.value-item:last-child { border-bottom:none; }
.value-icon { width:40px; height:40px; background:var(--orange-pale); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.value-icon svg { width:18px !important; height:18px !important; color:var(--orange); }
.value-text strong { display:block; font-size:13px; font-weight:700; color:var(--dark); letter-spacing:.04em; text-transform:uppercase; margin-bottom:4px; }
.value-text span { font-size:12px; color:var(--text-muted); line-height:1.55; }

/* Étapes process (services) */
.process-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.process-step { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-md); padding:28px; text-align:center; }
.process-num { font-family:var(--font-title); font-size:3.5rem; color:var(--orange); opacity:.6; line-height:1; letter-spacing:.02em; margin-bottom:12px; }
.process-step h3 { color:var(--white); font-size:1.4rem; margin-bottom:8px; }
.process-step p { font-size:13px; color:rgba(255,255,255,.55); line-height:1.65; }

/* Blog read more (ancienne classe encore utilisée) */
.blog-read-more { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); }
.blog-read-more svg { width:12px !important; height:12px !important; }

/* Contact form submit */
.form-submit { margin-top:4px; }
.contact-form { background:var(--white); border-radius:var(--radius-lg); padding:40px; box-shadow:var(--shadow); border:1px solid var(--border); }
.contact-form h3 { font-family:var(--font-body); font-size:20px; font-weight:700; color:var(--dark); margin-bottom:4px; }
.contact-form > p { font-size:13px; margin-bottom:28px; }

/* Maps */
.maps-wrap { margin-top:24px; border-radius:var(--radius-md); overflow:hidden; height:220px; background:var(--cream-dark); }
.maps-wrap iframe { width:100%; height:100%; border:none; }

