:root{
  --ink:#171f21;
  --ink-soft:#4a5456;
  --teal:#2e8797;
  --teal-dark:#1f5f6b;
  --teal-light:#e4eeef;
  --gold:#ad8a52;
  --gold-light:#d9c393;
  --gold-dark:#8a6b3c;
  --cream:#f6f2e9;
  --cream-2:#ece2cd;
  --white:#ffffff;
  --line:rgba(23,31,33,0.10);
  --line-gold:rgba(173,138,82,0.4);
  --shadow:0 28px 56px -22px rgba(23,31,33,0.24);
  --shadow-sm:0 12px 28px -14px rgba(23,31,33,0.2);
  --ease:cubic-bezier(.22,1,.36,1);
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Helvetica,Arial,sans-serif;
  background-color:var(--cream);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/></svg>");
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
section{position:relative;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.eyebrow{
  font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-dark);margin:0 0 18px;
}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-0.01em;margin:0;}
h2{font-size:clamp(2rem,3.6vw,2.85rem);line-height:1.15;}
p{line-height:1.68;color:var(--ink-soft);}
.lead{font-size:clamp(1.05rem,1.4vw,1.22rem);}

/* ornamental divider */
.ornament{display:flex;align-items:center;gap:14px;margin:0 0 26px;}
.ornament span{width:34px;height:1px;background:var(--line-gold);}
.ornament i{width:5px;height:5px;border-radius:50%;background:var(--gold);display:block;font-style:normal;}
.section-head.center .ornament{justify-content:center;}

/* reveal animation */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease), transform .9s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-stagger > *{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal-stagger.in > *{opacity:1;transform:translateY(0);}
.reveal-stagger.in > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.in > *:nth-child(2){transition-delay:.15s;}
.reveal-stagger.in > *:nth-child(3){transition-delay:.25s;}
.reveal-stagger.in > *:nth-child(4){transition-delay:.35s;}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 30px;border-radius:6px;font-size:13px;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;
  cursor:pointer;transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s, color .3s, border-color .3s;
  border:1px solid transparent;white-space:nowrap;
}
.btn-primary{background:var(--ink);color:var(--cream);border-color:var(--gold);}
.btn-primary:hover{background:var(--teal-dark);border-color:var(--gold-light);transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-outline:hover{border-color:var(--gold);color:var(--gold-dark);transform:translateY(-2px);}
.btn-light{background:var(--cream);color:var(--ink);border-color:var(--gold);}
.btn-light:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.btn-ghost{background:rgba(255,255,255,0.06);color:#f3ede0;border-color:rgba(243,237,224,0.35);}
.btn-ghost:hover{border-color:var(--gold-light);background:rgba(255,255,255,0.1);}
.btn-sm{padding:11px 20px;font-size:12px;}

/* NAV */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:20px 0;transition:background .4s var(--ease), box-shadow .4s var(--ease), padding .4s var(--ease);
}
header.scrolled{
  background:rgba(246,242,233,0.85);backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 1px 0 var(--line-gold);padding:12px 0;
}
header.on-dark:not(.scrolled) .brand{color:#f3ede0;}
header.on-dark:not(.scrolled) .brand .brand-sub{color:rgba(243,237,224,0.72);}
header.on-dark:not(.scrolled) .nav-links > a{color:rgba(243,237,224,0.85);}
header.on-dark:not(.scrolled) .nav-drop > span{color:rgba(243,237,224,0.85);}
header.on-dark:not(.scrolled) .nav-links > a:hover{color:var(--gold-light);}
header.on-dark:not(.scrolled) .nav-drop:hover > span,
header.on-dark:not(.scrolled) .nav-drop:focus-within > span{color:var(--gold-light);}
header.on-dark:not(.scrolled) .burger span{background:#f3ede0;}
nav{display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto;padding:0 32px;}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:16px;letter-spacing:.01em;color:var(--ink);transition:color .4s;}
.brand img{height:28px;width:auto;}
.brand .brand-txt{display:flex;flex-direction:column;line-height:1.05;}
.brand .brand-main{font-family:var(--serif);font-size:16.5px;font-weight:700;letter-spacing:.02em;}
.brand .brand-sub{font-size:9.5px;letter-spacing:.24em;color:var(--ink-soft);margin-top:2px;transition:color .4s;}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links > a{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);transition:color .25s;position:relative;}
.nav-links > a:hover{color:var(--gold-dark);}
.nav-links > a.legal-link{opacity:.75;font-weight:500;}
.nav-cta{display:flex;align-items:center;gap:18px;}

/* NAV DROPDOWN */
.nav-drop{position:relative;padding:10px 0;}
.nav-drop > span{
  font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);
  cursor:pointer;transition:color .25s;display:inline-flex;align-items:center;gap:5px;
}
.nav-drop > span::after{content:"";width:5px;height:5px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.7;}
.nav-drop:hover > span, .nav-drop:focus-within > span{color:var(--gold-dark);}
.drop-menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);
  background:var(--white);border:1px solid var(--line-gold);border-radius:10px;
  padding:8px;min-width:250px;box-shadow:var(--shadow-sm);
  opacity:0;pointer-events:none;transition:opacity .22s var(--ease), transform .22s var(--ease);
  display:flex;flex-direction:column;gap:1px;z-index:50;
}
.nav-drop:hover .drop-menu, .nav-drop:focus-within .drop-menu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.drop-menu a{
  padding:10px 14px;border-radius:6px;font-size:12.5px;text-transform:none;letter-spacing:0;
  font-weight:500;color:var(--ink);white-space:nowrap;display:block;
}
.drop-menu a:hover{background:var(--cream-2);color:var(--gold-dark);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
.burger span{width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.3s;}

/* HERO */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;
  padding:150px 0 90px;color:#f3ede0;
}
.hero-bg{position:absolute;inset:-18% 0;z-index:0;will-change:transform;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(15,20,22,.78) 0%, rgba(17,26,28,.62) 38%, rgba(17,24,26,.72) 75%, rgba(12,17,18,.88) 100%);
}
.hero-content{position:relative;z-index:1;max-width:680px;}
.hero .eyebrow{color:var(--gold-light);}
.hero h1{font-size:clamp(2.6rem,5vw,4.1rem);line-height:1.12;color:#faf6ec;}
.hero-sub{margin:26px 0 40px;max-width:520px;color:rgba(243,237,224,0.82);}
.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.hero-trust{margin-top:44px;display:flex;gap:28px;flex-wrap:wrap;align-items:center;}
.hero-trust div{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(243,237,224,0.65);display:flex;align-items:center;gap:9px;}
.hero-trust div i{width:4px;height:4px;border-radius:50%;background:var(--gold);display:block;font-style:normal;}

/* SUBPAGE HERO (Particuliers / Professionnels / Devenir CGP) */
.subpage-hero{padding:168px 0 80px;background:var(--ink);color:#f3ede0;position:relative;overflow:hidden;}
.subpage-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 0%, rgba(173,138,82,0.18), transparent 55%);}
.subpage-hero .wrap{position:relative;z-index:1;max-width:760px;}
.subpage-hero .eyebrow{color:var(--gold-light);}
.subpage-hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem);color:#faf6ec;line-height:1.14;}
.subpage-hero p.lead{color:rgba(243,237,224,0.78);margin-top:22px;max-width:600px;}
.subpage-hero .hero-actions{margin-top:34px;}
.crumb{font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:rgba(243,237,224,0.55);margin-bottom:22px;}
.crumb a{color:var(--gold-light);}

/* STATS */
.stats{padding:76px 0;background:var(--white);border-bottom:1px solid var(--line);}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;}
.stat{padding:0 30px;position:relative;}
.stat + .stat::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:var(--line-gold);}
.stat .num{font-family:var(--serif);font-size:clamp(2.3rem,4.2vw,3.1rem);font-weight:600;color:var(--ink);letter-spacing:-0.01em;}
.stat .num-rule{width:26px;height:2px;background:var(--gold);margin:10px auto 14px;}
.stat p{margin:0;font-size:13.5px;color:var(--ink-soft);max-width:230px;margin-left:auto;margin-right:auto;}

/* TRUST / REVIEWS + QUOTE */
.trust{padding:70px 0;background:var(--cream-2);border-top:1px solid var(--line-gold);border-bottom:1px solid var(--line-gold);}
.trust-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
.review-badge{display:flex;align-items:center;gap:20px;}
.review-badge .g-icon{width:46px;height:46px;flex-shrink:0;}
.review-stars{display:flex;gap:3px;margin-bottom:6px;}
.review-stars svg{width:17px;height:17px;fill:var(--gold);}
.review-score{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--ink);}
.review-count{font-size:13px;color:var(--ink-soft);}
.quote-block{border-left:2px solid var(--gold);padding-left:28px;}
.quote-block p{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,1.7vw,1.4rem);color:var(--ink);line-height:1.5;margin:0;}
.quote-block .quote-attr{margin-top:16px;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-dark);font-weight:600;font-style:normal;}

/* HOOK (entrepreneurs teaser) */
.hook{
  background:var(--ink);color:#f3ede0;border-radius:16px;padding:64px;text-align:center;
  position:relative;overflow:hidden;border:1px solid rgba(173,138,82,0.3);
}
.hook::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%, rgba(173,138,82,0.22), transparent 55%);}
.hook > *{position:relative;z-index:1;}
.hook .eyebrow{color:var(--gold-light);}
.hook h2{color:#faf6ec;max-width:820px;margin:0 auto 22px;font-size:clamp(1.6rem,3.1vw,2.5rem);line-height:1.25;}
.hook p.lead{color:rgba(243,237,224,0.78);max-width:640px;margin:0 auto 30px;}
.hook-note{margin-top:22px;font-size:12px;color:rgba(243,237,224,0.5);max-width:520px;margin-left:auto;margin-right:auto;}

/* SECTION HEAD */
.section-head{max-width:640px;margin:0 0 56px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

section.pad{padding:120px 0;}

/* EXPERTISE CARDS */
.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.exp-card{
  background:var(--white);border-radius:12px;padding:36px 28px;border:1px solid var(--line);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s;
}
.exp-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:var(--line-gold);}
.exp-icon{width:46px;height:46px;margin-bottom:24px;color:var(--ink);}
.exp-icon svg{width:100%;height:100%;stroke:var(--teal-dark);}
.exp-card h3{font-size:18.5px;margin-bottom:14px;font-weight:600;}
.exp-card ul{margin:0;padding:0;list-style:none;}
.exp-card li{font-size:13.5px;color:var(--ink-soft);padding:7px 0;border-top:1px solid var(--line);}
.exp-card li:first-child{border-top:none;}
.exp-card-link{display:inline-block;margin-top:16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-dark);}

/* CASE STUDY */
.case{background:var(--ink);border-radius:16px;padding:64px;color:#f3ede0;overflow:hidden;position:relative;border:1px solid rgba(173,138,82,0.3);}
.case::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 10%, rgba(173,138,82,0.18), transparent 55%);}
.case-inner{position:relative;z-index:1;}
.case-top{max-width:640px;margin-bottom:48px;}
.case-top .eyebrow{color:var(--gold-light);}
.case-top h2{color:#faf6ec;}
.case-top p{color:rgba(243,237,224,0.72);}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.case-card{background:rgba(255,255,255,0.04);border:1px solid rgba(243,237,224,0.14);border-radius:10px;padding:30px;}
.case-card.win{background:rgba(173,138,82,0.1);border-color:rgba(173,138,82,0.5);}
.case-card h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:rgba(243,237,224,0.55);margin:0 0 18px;font-weight:600;}
.case-card.win h4{color:var(--gold-light);}
.case-amount{font-family:var(--serif);font-size:clamp(2.1rem,3.4vw,2.6rem);font-weight:600;letter-spacing:-0.01em;}
.case-perf{display:inline-block;margin-top:12px;font-size:12.5px;padding:5px 12px;border-radius:100px;background:rgba(255,255,255,0.08);color:rgba(243,237,224,0.8);}
.case-card.win .case-perf{background:rgba(173,138,82,0.3);color:#f6ead1;}
.case-card p.desc{color:rgba(243,237,224,0.6);font-size:13.5px;margin-top:16px;}
.case-card.win p.desc{color:rgba(243,237,224,0.75);}

/* APPROACH TIMELINE */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.tl-item{position:relative;padding-top:4px;}
.tl-item .tl-num{
  font-family:var(--serif);font-size:34px;font-weight:600;color:var(--gold);line-height:1;margin-bottom:16px;
}
.tl-item .tl-rule{width:100%;height:1px;background:var(--line-gold);margin-bottom:18px;}
.tl-item h3{font-size:16.5px;margin-bottom:10px;}
.tl-item p{font-size:13.5px;}

/* VALUES */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.value-card{padding:8px 4px;}
.value-card .vi{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.value-card .vi i{width:6px;height:6px;border-radius:50%;background:var(--gold);display:block;font-style:normal;}
.value-card h3{font-size:17.5px;margin-bottom:10px;}
.value-card p{font-size:14px;}

/* ABOUT */
.about{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center;}
.about-visual{
  position:relative;border-radius:14px;padding:14px;background:var(--white);
  box-shadow:var(--shadow);border:1px solid var(--line-gold);
}
.about-visual .frame{border-radius:8px;overflow:hidden;aspect-ratio:4/5;position:relative;}
.about-visual img{width:100%;height:100%;object-fit:cover;object-position:center 20%;}
.about-visual .frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,0.15);border-radius:8px;pointer-events:none;}
.about-quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,1.9vw,1.55rem);font-weight:500;letter-spacing:-0.005em;line-height:1.45;color:var(--ink);margin-bottom:24px;}
.about-name{display:flex;align-items:center;gap:14px;margin-top:30px;}
.about-name .an-line{width:36px;height:1.5px;background:var(--gold);}
.about-name strong{display:block;font-size:15px;font-family:var(--serif);}
.about-name span{font-size:12.5px;color:var(--ink-soft);letter-spacing:.03em;}

/* SOLUTIONS (Particuliers / Professionnels pages) */
.solution{display:grid;grid-template-columns:.4fr .6fr;gap:56px;align-items:start;padding:56px 0;border-top:1px solid var(--line);}
.solution:first-of-type{border-top:none;}
.solution .sol-num{font-family:var(--serif);font-size:15px;color:var(--gold);letter-spacing:.1em;margin-bottom:10px;}
.solution h3{font-size:clamp(1.4rem,2.2vw,1.75rem);margin-bottom:6px;}
.solution-body p{margin:0 0 14px;}
.solution-list{margin:18px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;}
.solution-list li{font-size:14px;color:var(--ink-soft);display:flex;align-items:center;gap:9px;}
.solution-list li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0;}

/* CGP page */
.cgp-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.cgp-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:32px 26px;}
.cgp-card .ic{font-size:26px;margin-bottom:18px;}
.cgp-card h3{font-size:17px;margin-bottom:10px;}
.cgp-card p{font-size:13.5px;}
.profiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.profile-card{background:var(--cream-2);border-radius:12px;padding:32px 26px;border:1px solid var(--line-gold);}
.profile-card .ic{font-size:26px;margin-bottom:16px;}
.profile-card h3{font-size:16.5px;margin-bottom:10px;}
.profile-card p{font-size:13.5px;}
.accompagnement{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.accomp-item{padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--white);}
.accomp-item strong{display:block;font-family:var(--serif);font-size:16.5px;margin-bottom:8px;}
.accomp-item p{font-size:13.5px;margin:0;}
.faq-item{padding:26px 0;border-top:1px solid var(--line);}
.faq-item:first-child{border-top:none;}
.faq-item h3{font-size:16px;margin-bottom:10px;font-family:var(--serif);}
.faq-item p{font-size:14px;margin:0;}

/* CGP RECRUIT (kept for potential reuse) */
.recruit{background:var(--cream-2);border-radius:16px;padding:64px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;border:1px solid var(--line-gold);}
.recruit-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-top:26px;}
.recruit-list div{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;}
.recruit-list div::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0;}

/* CONTACT / CLOSING */
.closing{padding:140px 0;text-align:center;position:relative;overflow:hidden;background:var(--white);}
.closing-watermark{position:absolute;top:50%;left:50%;width:900px;max-width:140vw;opacity:.035;pointer-events:none;will-change:transform;}
.closing-watermark img{filter:brightness(0);}
.closing h2{font-size:clamp(2.1rem,4.5vw,3.3rem);max-width:780px;margin:0 auto 18px;position:relative;}
.closing p.lead{max-width:560px;margin:0 auto 42px;position:relative;}
.closing-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;}
.closing-note{margin-top:22px;font-size:12.5px;color:var(--ink-soft);letter-spacing:.03em;position:relative;}

/* TOOLS */
.tool-layout{display:grid;grid-template-columns:1.1fr 1.4fr;gap:40px;align-items:start;}
.tool-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:32px;}
.tool-card h3{font-size:16px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.field{margin-bottom:18px;}
.field label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;}
.field label .val{font-family:var(--serif);font-size:14px;color:var(--teal-dark);font-weight:700;}
.field input[type="number"]{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:8px;font-size:14px;
  font-family:inherit;color:var(--ink);background:var(--cream);transition:border-color .2s,box-shadow .2s;
}
.field input[type="number"]:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(46,135,151,.12);background:var(--white);}
.field input[type="range"]{width:100%;accent-color:var(--teal);}
.field-unit{position:relative;}
.field-unit input[type="number"]{padding-right:64px;}
.field-unit .unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:11.5px;color:var(--ink-soft);font-weight:700;pointer-events:none;text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;}
/* remove number input spinner clutter, keep native for accessibility but style consistently */
.field input[type="number"]::-webkit-inner-spin-button,
.field input[type="number"]::-webkit-outer-spin-button{opacity:.5;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.seg-tabs{display:flex;flex-wrap:wrap;gap:8px;}
.seg-tabs button{
  padding:9px 16px;border-radius:100px;border:1px solid var(--line);background:var(--white);
  font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.2s;
}
.seg-tabs button.active{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.tool-results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px;}
.result-card{background:var(--ink);color:#f3ede0;border-radius:12px;padding:22px 20px;border:1px solid rgba(173,138,82,.35);}
.result-card .rc-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(243,237,224,.6);margin-bottom:8px;}
.result-card .rc-val{font-family:var(--serif);font-size:24px;font-weight:600;color:#faf6ec;}
.result-card .rc-sub{font-size:11.5px;color:rgba(243,237,224,.55);margin-top:6px;}
.result-card.gold{background:linear-gradient(155deg,var(--teal) 0%,var(--teal-dark) 100%);border-color:var(--gold-light);}
.chart-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:22px;}
.chart-card canvas{max-height:280px;}
.tool-table{width:100%;border-collapse:collapse;font-size:12.5px;}
.tool-table th{text-align:right;padding:10px 12px;border-bottom:1.5px solid var(--gold);color:var(--ink);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;}
.tool-table th:first-child, .tool-table td:first-child{text-align:left;}
.tool-table td{text-align:right;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--ink-soft);}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--white);}
.tool-disclaimer{font-size:12px;color:var(--ink-soft);margin-top:18px;line-height:1.6;}
.pdf-btn{display:inline-flex;align-items:center;gap:8px;}
.tool-columns-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.tool-col{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px;}
.tool-col h4{font-size:13.5px;margin-bottom:14px;color:var(--ink);}
.tool-col .tc-result{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.tool-col .tc-cap{font-family:var(--serif);font-size:19px;font-weight:600;}
.tool-col .tc-gain{font-size:12px;color:var(--ink-soft);margin-top:4px;}
.tabbed-panel{display:none;}
.tabbed-panel.active{display:block;}

/* LEAD GATE */
.gated-content{position:relative;}
.gated-content.locked .tool-results,
.gated-content.locked .chart-card,
.gated-content.locked .pdf-btn,
.gated-content.locked .table-wrap{
  filter:blur(9px);
  pointer-events:none;
  user-select:none;
}
.lead-gate{display:none;}
.gated-content.locked .lead-gate{
  display:flex;position:absolute;inset:-10px;align-items:center;justify-content:center;
  z-index:20;padding:20px;background:rgba(246,242,233,.35);border-radius:16px;
}
.lead-form{
  background:var(--white);border:1px solid var(--line-gold);border-radius:16px;
  padding:32px 30px;max-width:400px;width:100%;box-shadow:0 24px 64px rgba(23,31,33,.2);text-align:left;
}
.lead-form h3{font-family:var(--serif);font-size:19px;font-weight:600;margin-bottom:8px;}
.lead-form > p{font-size:13px;color:var(--ink-soft);margin-bottom:18px;line-height:1.6;}
.lead-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.lead-form input[type="text"],
.lead-form input[type="email"],
.lead-form input[type="tel"]{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;
  font-size:13.5px;font-family:inherit;color:var(--ink);margin-bottom:10px;background:var(--cream);transition:border-color .2s;
}
.lead-form input:focus{outline:none;border-color:var(--teal);background:var(--white);}
.lead-consent{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;color:var(--ink-soft);line-height:1.5;margin:6px 0 16px;cursor:pointer;}
.lead-consent input{margin-top:2px;width:auto;flex-shrink:0;}
.lead-consent a{color:var(--teal-dark);}
.lead-form button[type="submit"]{width:100%;}
.lead-error{color:#a4302f;font-size:12px;margin-top:10px;}

@media print{
  header, .mobile-menu, footer, .no-print, .hero-actions, .tool-card form, .seg-tabs, .pdf-btn { display:none !important; }
  body{background:#fff !important;}
  .print-header{display:flex !important;align-items:center;gap:12px;margin-bottom:26px;padding-bottom:16px;border-bottom:2px solid #ad8a52;}
  .print-header img{height:32px;}
  .print-header .ph-name{font-family:var(--serif);font-weight:700;font-size:18px;}
  .print-summary{display:block !important;margin-bottom:20px;font-size:12.5px;}
  .print-summary div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eee;}
  .tool-results{grid-template-columns:repeat(3,1fr);}
  .result-card{background:#171f21 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  section.pad{padding:10px 0 !important;}
  .subpage-hero{display:none !important;}
}
.print-header, .print-summary{display:none;}

/* LEGAL PAGE */
.legal-page{padding:170px 0 100px;max-width:760px;}
.legal-page h1{font-size:clamp(1.9rem,3.4vw,2.5rem);margin-bottom:34px;}
.legal-page .legal-block{margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line);}
.legal-page .legal-block:last-child{border-bottom:none;}
.legal-page p{font-size:14.5px;color:var(--ink-soft);margin:0 0 8px;}
.legal-page strong{color:var(--ink);}
.legal-warning{
  background:var(--cream-2);border:1px solid var(--line-gold);border-radius:10px;
  padding:24px 26px;margin-bottom:44px;
}
.legal-warning p{font-size:13.5px;color:var(--ink-soft);margin:0;line-height:1.7;}
.legal-warning .lw-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-dark);font-weight:700;margin-bottom:10px;display:block;}

footer{border-top:1px solid var(--line-gold);padding:64px 0 34px;background:var(--white);}
.footer-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;margin-bottom:14px;}
.footer-brand img{height:24px;}
.footer-brand span{font-family:var(--serif);letter-spacing:.03em;}
.footer-tagline{font-size:13px;color:var(--ink-soft);max-width:220px;margin:0;}
.footer-cols{display:grid;grid-template-columns:1.3fr .9fr .9fr .9fr;gap:32px;margin-bottom:44px;}
.footer-col h4{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-dark);margin:0 0 16px;font-weight:700;}
.footer-col a{display:block;font-size:13px;color:var(--ink-soft);padding:5px 0;text-transform:none;letter-spacing:0;font-weight:500;}
.footer-col a:hover{color:var(--gold-dark);}
.footer-links{display:flex;gap:26px;flex-wrap:wrap;}
.footer-links a{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--ink-soft);}
.footer-links a:hover{color:var(--gold-dark);}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:#8a9294;border-top:1px solid var(--line);padding-top:24px;}

@media (max-width: 920px){
  .nav-links{display:none;}
  .burger{display:flex;}
  .hero{padding:130px 0 70px;min-height:auto;}
  .hero-sub{max-width:100%;}
  .stats-grid{grid-template-columns:1fr;gap:30px;}
  .stat + .stat::before{display:none;}
  .cards-4{grid-template-columns:1fr 1fr;}
  .case{padding:40px 26px;}
  .case-grid{grid-template-columns:1fr;}
  .timeline{grid-template-columns:1fr 1fr;}
  .values{grid-template-columns:1fr;}
  .about{grid-template-columns:1fr;}
  .recruit{grid-template-columns:1fr;padding:40px 26px;}
  .recruit-list{grid-template-columns:1fr;}
  .trust-grid{grid-template-columns:1fr;gap:32px;}
  .quote-block{border-left:none;border-top:2px solid var(--gold);padding-left:0;padding-top:22px;}
  .solution{grid-template-columns:1fr;gap:18px;}
  .cgp-cards{grid-template-columns:1fr 1fr;}
  .profiles{grid-template-columns:1fr;}
  .accompagnement{grid-template-columns:1fr;}
  section.pad{padding:80px 0;}
  .footer-cols{grid-template-columns:1fr 1fr;gap:30px 20px;}
  .tool-layout{grid-template-columns:1fr;}
  .tool-results{grid-template-columns:1fr;}
  .tool-columns-3{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
  .lead-form-row{grid-template-columns:1fr;}
  .lead-form{padding:26px 20px;}
}
@media (max-width:600px){
  .cards-4{grid-template-columns:1fr;}
  .timeline{grid-template-columns:1fr;}
  .cgp-cards{grid-template-columns:1fr;}
  .solution-list{grid-template-columns:1fr;}
  .wrap{padding:0 22px;}
}

/* mobile menu */
.mobile-menu{
  position:fixed;inset:0;background:var(--cream);z-index:99;display:none;
  flex-direction:column;padding:110px 32px 40px;gap:24px;overflow-y:auto;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-family:var(--serif);font-size:22px;font-weight:600;}
.mobile-menu a.legal-link{font-family:-apple-system,sans-serif;font-size:14px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;}
.mobile-menu .mm-label{font-family:-apple-system,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark);font-weight:700;margin:6px 0 -8px;}
.mobile-menu .mm-sub{display:flex;flex-direction:column;gap:14px;padding-left:4px;}
.mobile-menu .mm-sub a{font-size:15px;font-weight:500;color:var(--ink-soft);font-family:-apple-system,sans-serif;}
