:root{
  --navy:#071d31;
  --navy2:#0d2d48;
  --ivory:#f7f1e7;
  --paper:#fffaf1;
  --ink:#061b2f;
  --muted:#5f6876;
  --line:#d8cfc1;
  --accent:#b54835;
  --gold:#c89340;
  --white:#ffffff;
  --shadow:0 24px 60px rgba(7,29,49,.15);
  --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55} img{max-width:100%;display:block} a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 42px));margin:auto}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:800}.serif{font-family:Georgia,'Times New Roman',serif}.topbar{position:sticky;top:0;z-index:50;background:rgba(247,241,231,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:18px;min-width:310px}.brand .mark{font-family:Georgia,'Times New Roman',serif;font-size:48px;letter-spacing:.08em}.brand .divider{height:42px;width:1px;background:var(--accent)}.brand .name{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.05}.links{margin-left:auto;display:flex;align-items:center;gap:21px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lang{display:flex;gap:8px}.lang a{border:1px solid var(--line);width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.lang a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--navy);color:white;border:1px solid var(--navy);padding:14px 22px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 14px 28px rgba(7,29,49,.18);transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn.light{background:transparent;color:var(--navy);box-shadow:none}.btn.ivory{background:var(--paper);color:var(--navy);border-color:var(--paper)}.hero{padding:58px 0 42px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,6.1vw,82px);line-height:.98;margin:18px 0 24px;letter-spacing:-.04em}.hero p.lead{font-size:20px;max-width:690px;color:#26384a}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0}.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.proof div{border-top:1px solid var(--line);padding-top:15px}.proof strong{font-family:Georgia,'Times New Roman',serif;font-size:24px}.proof span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.portrait-card{background:var(--navy);padding:18px;box-shadow:var(--shadow);position:relative}.portrait-card:after{content:"";position:absolute;right:-16px;bottom:-16px;width:85%;height:85%;border:1px solid var(--accent);z-index:-1}.portrait-card img{height:620px;width:100%;object-fit:cover;object-position:center top;background:#e8ece7}.caption{padding:22px;color:#fff}.caption h3{font-family:Georgia,'Times New Roman',serif;font-size:32px;margin:0 0 10px}.caption p{color:#ced7df;margin:0}.section{padding:72px 0}.section.light{background:var(--paper);border-block:1px solid var(--line)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}.section-title h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,4vw,56px);line-height:1;margin:10px 0 0;letter-spacing:-.03em}.section-title p{max-width:520px;color:#4c5968}.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.pillar{background:#fffaf1;border:1px solid var(--line);padding:32px;border-radius:var(--radius);box-shadow:0 16px 40px rgba(7,29,49,.06)}.pillar.dark{background:var(--navy);color:#fff;border-color:rgba(255,255,255,.12)}.pillar h3{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.05;margin:0 0 16px}.pillar.dark p,.pillar.dark li{color:#dbe4eb}.pillar ul{padding-left:18px;color:#394b5d}.mini-cta{margin-top:24px}.offers-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.offer{background:var(--paper);border:1px solid var(--line);padding:22px;min-height:285px;display:flex;flex-direction:column}.offer .num{font-family:Georgia,'Times New Roman',serif;color:var(--accent);font-size:28px;font-weight:bold}.offer h3{font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.05;margin:14px 0 12px}.offer p{font-size:14px;color:#435164;margin:0 0 14px}.offer .tag{margin-top:auto;color:var(--accent);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.program{background:linear-gradient(135deg,var(--navy),#0b304d);color:#fff;position:relative;overflow:hidden}.program:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.12),transparent 30%),repeating-radial-gradient(circle at 82% 22%,rgba(255,255,255,.08) 0 1px,transparent 1px 46px);opacity:.45}.program .wrap{position:relative}.program-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:42px;align-items:start}.program h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,5vw,70px);line-height:1;letter-spacing:-.04em;margin:18px 0}.program p{color:#d8e2e9}.modules{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.module{border:1px solid rgba(255,255,255,.18);padding:18px;background:rgba(255,255,255,.05)}.module strong{display:block;color:#fff}.module span{font-size:14px;color:#cfdce5}.audience{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.audience div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:16px;color:#e8eef2}.founder-grid{display:grid;grid-template-columns:.55fr 1fr;gap:42px;align-items:center}.founder-photo{border:1px solid var(--line);padding:12px;background:#fff;box-shadow:var(--shadow)}.founder-photo img{height:540px;object-fit:cover;object-position:center top;width:100%}.bio h2{font-family:Georgia,'Times New Roman',serif;font-size:52px;margin:10px 0 20px}.bio p{color:#3a4a5b}.book-card{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:center;border:1px solid var(--line);background:var(--paper);padding:34px}.book-card h2{font-family:Georgia,'Times New Roman',serif;font-size:46px;line-height:1.05;margin:0 0 18px}.contact{background:var(--navy);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact h2{font-family:Georgia,'Times New Roman',serif;font-size:58px;line-height:1;margin:0 0 24px}.contact p{color:#d4e0e8}.contact-list{border:1px solid rgba(255,255,255,.15);padding:30px;background:rgba(255,255,255,.05)}.contact-list a,.contact-list span{display:block;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff}.footer{padding:24px 0;background:#031522;color:#d5dfe7;text-align:center;font-size:13px}.footer strong{letter-spacing:.12em}.fr .en-only{display:none}.en .fr-only{display:none}@media(max-width:1050px){.links{gap:12px;font-size:10px}.brand{min-width:auto}.offers-grid{grid-template-columns:repeat(2,1fr)}.audience{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.nav{height:auto;padding:16px 0;align-items:flex-start}.links{display:none}.brand .mark{font-size:38px}.hero-grid,.pillars,.program-grid,.founder-grid,.book-card,.contact-grid{grid-template-columns:1fr}.portrait-card img{height:auto}.offers-grid,.modules,.audience,.proof{grid-template-columns:1fr}.section-title{display:block}.section{padding:52px 0}.hero h1{font-size:46px}.contact h2,.bio h2{font-size:42px}}

/* v2 corrections: keep the approved photo treatment clean and remove the offset border artifact */
.portrait-card:after{display:none!important;content:none!important;}
.portrait-card{border:1px solid var(--navy);}
.portrait-card img{border:12px solid rgba(255,255,255,.96);}
.book-card img{max-width:260px;width:100%;height:auto;object-fit:contain;}


/* V3 REFINEMENT: wider KEA-like layout, clean anchors, approved portrait frame */
:root{
  --wide: min(1380px, calc(100% - 72px));
}
[id], main { scroll-margin-top: 105px; }
.wrap{width:var(--wide);}
.hero{padding:82px 0 64px;}
.hero-grid{grid-template-columns:1.06fr .74fr;gap:76px;align-items:start;}
.hero h1{font-size:clamp(54px,5.5vw,88px);max-width:900px;}
.hero p.lead{font-size:21px;line-height:1.7;max-width:820px;}
.proof{gap:22px;margin-top:44px;}
.proof div{padding-top:20px;}
.proof strong{font-size:30px;}
.proof span{font-size:14px;line-height:1.45;}
.portrait-card{background:transparent;padding:0;box-shadow:0 26px 70px rgba(7,29,49,.13);}
.portrait-card:after{display:none;}
.portrait-card img{height:auto;width:100%;object-fit:contain;background:transparent;}
.portrait-card .caption{background:var(--navy);padding:26px 30px;border:1px solid rgba(255,255,255,.08);}
.section{padding:96px 0;}
.section-title{margin-bottom:50px;gap:76px;}
.section-title p{max-width:660px;font-size:17px;line-height:1.75;}
.section-title h2{max-width:800px;}
.pillars{gap:34px;}
.pillar{padding:42px;border-radius:0;}
.pillar h3{font-size:38px;}
.pillar p,.pillar li{font-size:16px;}
.offers-grid{grid-template-columns:repeat(5,1fr);gap:22px;}
.offer{min-height:350px;padding:28px 24px;}
.offer h3{font-size:24px;line-height:1.1;}
.offer p{font-size:14.8px;line-height:1.55;}
.program-grid{gap:72px;}
.modules{gap:18px;}
.module{padding:24px;}
.founder-grid{gap:70px;}
.founder-photo img{border:1px solid var(--line);box-shadow:var(--shadow);}
.book-section{padding:90px 0;}
.book-card{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:70px;
  align-items:center;
  background:rgba(255,250,241,.72);
  border:1px solid var(--line);
  padding:60px 70px;
  box-shadow:0 18px 54px rgba(7,29,49,.06);
}
.book-visual{display:flex;align-items:center;justify-content:center;min-height:360px;}
.book-visual img{width:min(455px,100%);height:auto;object-fit:contain;}
.book-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,4.2vw,66px);line-height:1.04;margin:14px 0 24px;letter-spacing:-.035em;}
.book-copy p{font-size:18px;line-height:1.72;color:#3d4d5d;max-width:760px;margin:0 0 18px;}
.contact{background:linear-gradient(135deg,var(--navy),#0b304d);color:#fff;text-align:center;}
.contact-centered{max-width:980px;}
.contact-centered h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,4.8vw,72px);line-height:1.05;margin:18px auto 20px;max-width:900px;}
.contact-centered p{color:#dbe4eb;font-size:18px;max-width:760px;margin:0 auto 28px;line-height:1.7;}
.contact-links{display:flex;justify-content:center;gap:16px 28px;flex-wrap:wrap;margin:0 auto 34px;color:#fff;}
.contact-links a,.contact-links span{border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:4px;}
.contact .btn.ivory{margin:auto;}

/* Hide old contact-grid rules if old markup appears */
.contact-grid{display:grid;}

@media(max-width:1200px){
  .offers-grid{grid-template-columns:repeat(2,1fr);}
  .hero-grid,.book-card{grid-template-columns:1fr;}
}
@media(max-width:720px){
  :root{--wide:min(100% - 28px,1380px);}
  .hero{padding:46px 0;}
  .section{padding:64px 0;}
  .section-title{display:block;}
  .pillars,.offers-grid{grid-template-columns:1fr;}
  .book-card{padding:30px 22px;gap:30px;}
}


/* V4: restore approved KEA-style homepage, lighter portrait border, wider breathing layout */
:root{--wide:min(1450px, calc(100% - 76px));}
[id], main{scroll-margin-top:105px;}
.wrap{width:var(--wide);}
.topbar .wrap{width:min(1450px, calc(100% - 76px));}
.nav{height:78px;}
.brand{min-width:385px;}
.links{gap:19px;}

.hero-classic{padding:82px 0 64px;}
.hero-classic-grid{
  display:grid;
  grid-template-columns:1.12fr .82fr .86fr;
  gap:56px;
  align-items:center;
}
.hero-classic h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(56px,5.15vw,91px);
  line-height:.98;
  margin:22px 0 22px;
  letter-spacing:-.045em;
}
.hero-copy .lead{
  font-size:18.5px;
  line-height:1.68;
  max-width:720px;
  color:#26384a;
}
.hero-photo-frame{
  border:2px solid var(--navy);
  padding:16px;
  background:#fffaf1;
  box-shadow:none;
}
.hero-photo-frame img{
  width:100%;
  height:570px;
  object-fit:cover;
  object-position:center top;
  background:#e7ebe5;
}
.founder-intro h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(42px,3.4vw,58px);
  line-height:1.05;
  margin:0;
  letter-spacing:-.035em;
}
.small-rule{
  width:58px;
  height:2px;
  background:var(--accent);
  margin:24px 0 28px;
}
.founder-intro p{
  font-size:18px;
  line-height:1.75;
  color:#24384a;
  max-width:520px;
}
.founder-intro .btn.light{
  margin-top:14px;
  background:transparent;
  box-shadow:none;
}
.proof{
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:38px;
}
.proof div{border-top:1px solid var(--line);padding-top:18px;}
.proof strong{font-size:28px;}
.proof span{font-size:14px;line-height:1.5;}

.hero-grid{display:none;} /* old hero safety */
.portrait-card{display:none;} /* old hero safety */

.section{padding:94px 0;}
.section-title{gap:76px;margin-bottom:50px;}
.section-title p{max-width:690px;font-size:17px;line-height:1.76;}
.section-title h2{max-width:830px;}
.pillars{gap:36px;}
.pillar{border-radius:0;padding:42px;}
.offers-grid{grid-template-columns:repeat(5,1fr);gap:22px;}
.offer{min-height:365px;padding:30px 24px;}
.offer h3{font-size:24px;}
.offer p{font-size:15px;line-height:1.56;}

.book-section{padding:90px 0;}
.book-card{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:76px;
  align-items:center;
  background:rgba(255,250,241,.72);
  border:1px solid var(--line);
  padding:62px 78px;
  box-shadow:0 18px 54px rgba(7,29,49,.06);
}
.book-visual{display:flex;align-items:center;justify-content:center;min-height:420px;}
.book-visual img{
  width:min(570px,100%);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 24px 30px rgba(7,29,49,.12));
}
.book-copy h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(48px,4.2vw,70px);
  line-height:1.03;
  margin:14px 0 24px;
  letter-spacing:-.035em;
}
.book-copy p{font-size:18.5px;line-height:1.72;color:#3d4d5d;max-width:790px;margin:0 0 18px;}

.contact{
  background:linear-gradient(135deg,var(--navy),#0b304d);
  color:#fff;
  text-align:center;
}
.contact-centered{max-width:990px;}
.contact-centered h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(44px,4.8vw,72px);
  line-height:1.05;
  margin:18px auto 20px;
}
.contact-centered p{color:#dbe4eb;font-size:18px;max-width:780px;margin:0 auto 28px;line-height:1.7;}
.contact-links{display:flex;justify-content:center;gap:16px 28px;flex-wrap:wrap;margin:0 auto 34px;color:#fff;}
.contact-links a,.contact-links span{border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:4px;}
.contact .btn.ivory{margin:auto;}
.contact-grid{display:none;}

@media(max-width:1260px){
  .hero-classic-grid{grid-template-columns:1fr;gap:36px;}
  .hero-photo-frame{max-width:560px;}
  .hero-photo-frame img{height:auto;}
  .offers-grid{grid-template-columns:repeat(2,1fr);}
  .book-card{grid-template-columns:1fr;}
}
@media(max-width:760px){
  :root{--wide:min(100% - 28px,1450px);}
  .topbar .wrap{width:min(100% - 28px,1450px);}
  .nav{height:auto;min-height:78px;flex-wrap:wrap;padding:12px 0;}
  .brand{min-width:0;}
  .brand .mark{font-size:38px;}
  .brand .name{font-size:16px;}
  .links{flex-wrap:wrap;gap:12px;}
  .hero-classic{padding:48px 0;}
  .hero-classic h1{font-size:clamp(42px,14vw,62px);}
  .section{padding:64px 0;}
  .section-title{display:block;}
  .pillars,.offers-grid{grid-template-columns:1fr;}
  .book-card{padding:30px 22px;gap:30px;}
}


/* V5: KEFA homepage correction — wider, aligned, clear economic + financial positioning */
:root{--wide:min(1580px, calc(100% - 96px));}
.wrap{width:var(--wide);}
.topbar .wrap{width:var(--wide);}
.nav{height:80px;}
.brand{min-width:435px;}
.links{gap:22px;}

.hero-classic{padding:88px 0 76px;}
.hero-classic-grid{
  display:grid;
  grid-template-columns:minmax(520px, 1.05fr) minmax(360px, .72fr) minmax(390px, .78fr);
  gap:70px;
  align-items:start;
}
.hero-copy{padding-top:6px;}
.hero-classic h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(52px,4.65vw,84px);
  line-height:1.02;
  margin:24px 0 26px;
  letter-spacing:-.045em;
  max-width:820px;
}
.hero-copy .lead{
  font-size:18.5px;
  line-height:1.72;
  max-width:760px;
  color:#26384a;
}
.hero-photo-frame{
  margin-top:8px;
  border:2px solid var(--navy);
  padding:16px;
  background:transparent;
  box-shadow:none;
}
.hero-photo-frame img{
  width:100%;
  height:585px;
  object-fit:cover;
  object-position:center top;
  background:#e7ebe5;
}
.founder-intro{
  margin-top:38px;
}
.founder-intro h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(42px,3.1vw,58px);
  line-height:1.05;
  margin:0;
  letter-spacing:-.035em;
}
.founder-intro p{
  font-size:18px;
  line-height:1.78;
  max-width:560px;
}
.proof{
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:42px;
  max-width:860px;
}
.proof strong{font-size:28px;}
.proof span{font-size:14.5px;line-height:1.5;}

.book-card{
  grid-template-columns:minmax(440px,.78fr) minmax(640px,1.22fr);
  gap:84px;
  padding:68px 84px;
}
.book-visual{
  min-height:440px;
  justify-content:center;
}
.book-visual img{
  width:min(620px,100%);
  max-height:490px;
  object-fit:contain;
  filter:drop-shadow(0 24px 34px rgba(7,29,49,.16));
}
.book-copy h2{font-size:clamp(52px,4.3vw,74px);}
.book-copy p{font-size:19px;line-height:1.75;}

@media(max-width:1450px){
  :root{--wide:min(1380px, calc(100% - 76px));}
  .hero-classic-grid{grid-template-columns:1.02fr .72fr .76fr;gap:54px;}
  .hero-classic h1{font-size:clamp(48px,4.7vw,76px);}
  .hero-photo-frame img{height:520px;}
  .founder-intro{margin-top:28px;}
}
@media(max-width:1180px){
  .hero-classic-grid{grid-template-columns:1fr;gap:38px;}
  .hero-photo-frame{max-width:540px;margin-top:0;}
  .hero-photo-frame img{height:auto;}
  .founder-intro{margin-top:0;}
  .book-card{grid-template-columns:1fr;}
}


/* V6: Header/menu readability refinement */
.topbar{
  min-height:96px;
}
.nav{
  height:96px;
  align-items:center;
}
.brand .mark{
  font-size:54px;
  letter-spacing:.095em;
}
.brand .name{
  font-size:22px;
  line-height:1.05;
}
.brand .divider{
  height:50px;
}
.links{
  font-size:14px;
  letter-spacing:.105em;
  gap:26px;
}
.lang a{
  width:44px;
  height:44px;
  font-size:13px;
}
.links .btn,
.nav .btn{
  padding:18px 28px;
  font-size:13px;
}
.hero-classic{
  padding-top:72px;
}

@media(max-width:1450px){
  .links{
    font-size:13px;
    gap:20px;
  }
  .brand{
    min-width:395px;
  }
  .brand .mark{
    font-size:50px;
  }
  .brand .name{
    font-size:20px;
  }
}
@media(max-width:1180px){
  .topbar{min-height:auto;}
  .nav{
    height:auto;
    min-height:88px;
    flex-wrap:wrap;
    padding:12px 0;
  }
  .links{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}


/* V9: clean rebuild of homepage hero. No squeezed layout. No proof inside photo/bio. */
:root{--wide:min(1500px, calc(100% - 88px));}
.wrap{width:var(--wide);}
.topbar .wrap{width:var(--wide);}
[id], main{scroll-margin-top:112px;}

/* header readability */
.topbar{min-height:94px;}
.nav{height:94px;align-items:center;}
.brand{min-width:420px;}
.brand .mark{font-size:52px;letter-spacing:.095em;}
.brand .name{font-size:21px;line-height:1.05;}
.brand .divider{height:50px;}
.links{font-size:13.5px;letter-spacing:.105em;gap:24px;}
.lang a{width:44px;height:44px;font-size:13px;}
.nav .btn{padding:17px 28px;font-size:13px;}

/* disable old hero variants safely */
.hero-grid,
.hero-classic-grid,
.portrait-card,
.photo-proof,
.hero-copy > .proof{
  display:none !important;
}

/* clean KEFA hero */
.hero-kefa{
  padding:76px 0 58px;
}
.hero-kefa-grid{
  display:grid !important;
  grid-template-columns:minmax(520px, 1.05fr) minmax(410px, .78fr) minmax(410px, .82fr);
  gap:64px;
  align-items:start;
}
.hero-kefa .hero-copy{
  padding-top:8px;
}
.hero-kefa h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(54px,4.7vw,84px);
  line-height:1.02;
  margin:24px 0 26px;
  letter-spacing:-.045em;
  max-width:840px;
}
.hero-kefa .lead{
  font-size:19px;
  line-height:1.72;
  max-width:760px;
  color:#26384a;
}
.hero-photo-frame{
  display:block !important;
  border:2px solid var(--navy);
  padding:16px;
  background:#fffaf1;
  box-shadow:none;
  margin:0;
  align-self:start;
}
.hero-photo-frame img{
  display:block;
  width:100%;
  height:570px;
  object-fit:cover;
  object-position:center top;
  background:#e7ebe5;
}
.founder-intro{
  display:block;
  margin-top:34px;
  align-self:start;
}
.founder-intro h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(44px,3.2vw,60px);
  line-height:1.05;
  margin:0;
  letter-spacing:-.035em;
}
.small-rule{
  width:58px;
  height:2px;
  background:var(--accent);
  margin:24px 0 28px;
}
.founder-intro p{
  font-size:18px;
  line-height:1.76;
  max-width:560px;
  color:#24384a;
}
.founder-intro .btn.light{
  margin-top:14px;
  background:transparent;
  box-shadow:none;
}

/* proof points: separate horizontal row below the whole hero */
.hero-proof-row{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:44px;
  max-width:1040px;
}
.hero-proof-row div{
  border-top:1px solid var(--line);
  padding-top:18px;
}
.hero-proof-row strong{
  font-family:Georgia,'Times New Roman',serif;
  font-size:30px;
  color:var(--ink);
  display:block;
}
.hero-proof-row span{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:15px;
  line-height:1.5;
}

/* book section: larger book within a clean premium card */
.book-card{
  display:grid;
  grid-template-columns:minmax(430px,.78fr) minmax(640px,1.22fr);
  gap:84px;
  align-items:center;
  padding:68px 84px;
}
.book-visual{
  display:flex;
  min-height:440px;
  justify-content:center;
  align-items:center;
}
.book-visual img{
  width:min(620px,100%);
  max-height:500px;
  object-fit:contain;
  filter:drop-shadow(0 24px 34px rgba(7,29,49,.16));
}
.book-copy h2{font-size:clamp(52px,4.3vw,74px);}

@media(max-width:1350px){
  :root{--wide:min(1280px, calc(100% - 72px));}
  .hero-kefa-grid{grid-template-columns:1fr;gap:36px;}
  .hero-photo-frame{max-width:560px;}
  .hero-photo-frame img{height:auto;}
  .founder-intro{margin-top:0;}
  .book-card{grid-template-columns:1fr;}
}
@media(max-width:760px){
  :root{--wide:min(100% - 28px,1500px);}
  .topbar .wrap{width:var(--wide);}
  .nav{height:auto;min-height:88px;flex-wrap:wrap;padding:12px 0;}
  .brand{min-width:0;}
  .brand .mark{font-size:40px;}
  .brand .name{font-size:16px;}
  .links{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:12px;}
  .hero-kefa{padding:46px 0;}
  .hero-kefa h1{font-size:clamp(42px,13vw,62px);}
  .hero-proof-row{grid-template-columns:1fr;gap:20px;}
  .book-card{padding:30px 22px;gap:30px;}
}


/* V10: keep founder name on one line and align bio higher like approved KEA style */
.founder-intro{
  margin-top:0 !important;
  padding-top:18px;
}
.founder-intro h2{
  white-space:nowrap;
  font-size:clamp(42px,3.0vw,58px) !important;
  line-height:1.05 !important;
  max-width:none;
}
.founder-intro .small-rule{
  margin:22px 0 26px;
}
.founder-intro p{
  font-size:18px;
  line-height:1.74;
}
.hero-kefa-grid{
  align-items:start;
}

/* Give the bio column enough width so Benoit Kudinga does not wrap */
@media(min-width:1351px){
  .hero-kefa-grid{
    grid-template-columns:minmax(500px, .98fr) minmax(390px, .74fr) minmax(500px, .92fr);
    gap:62px;
  }
}

@media(max-width:1350px){
  .founder-intro h2{
    white-space:normal;
  }
}


/* V11: make KEFA positioning visible at 100% without losing premium feel */
.hero-kefa{
  padding:54px 0 46px !important;
}
.hero-kefa-grid{
  grid-template-columns:minmax(520px,.96fr) minmax(390px,.72fr) minmax(500px,.92fr) !important;
  gap:58px !important;
  align-items:start !important;
}
.hero-kefa h1{
  font-size:clamp(48px,3.8vw,68px) !important;
  line-height:1.04 !important;
  max-width:720px !important;
  margin:18px 0 20px !important;
}
.hero-kefa .lead{
  font-size:19px !important;
  line-height:1.62 !important;
  max-width:720px !important;
  margin-top:0 !important;
}
.hero-photo-frame{
  padding:14px !important;
}
.hero-photo-frame img{
  height:505px !important;
}
.founder-intro{
  padding-top:4px !important;
  margin-top:0 !important;
}
.founder-intro h2{
  font-size:clamp(44px,2.75vw,54px) !important;
  white-space:nowrap !important;
}
.founder-intro .small-rule{
  margin:18px 0 22px !important;
}
.founder-intro p{
  font-size:17.5px !important;
  line-height:1.64 !important;
  max-width:560px !important;
}
.founder-intro .btn.light{
  margin-top:8px !important;
}
.hero-proof-row{
  margin-top:28px !important;
  max-width:1060px !important;
  gap:38px !important;
}
.hero-proof-row div{
  padding-top:14px !important;
}
.hero-proof-row strong{
  font-size:27px !important;
}
.hero-proof-row span{
  font-size:14.5px !important;
  line-height:1.42 !important;
}

/* Keep the page wide on desktop, but avoid the center column becoming oversized */
@media(max-width:1450px){
  .hero-kefa-grid{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }
  .hero-kefa h1{
    max-width:860px !important;
  }
  .hero-photo-frame{
    max-width:540px !important;
  }
  .hero-photo-frame img{
    height:auto !important;
  }
  .founder-intro h2{
    white-space:normal !important;
  }
  .hero-proof-row{
    grid-template-columns:repeat(3,1fr) !important;
  }
}
@media(max-width:720px){
  .hero-proof-row{
    grid-template-columns:1fr !important;
  }
}


/* V12: lift Services and Offers sections so content appears higher at 100% */
#moteurs,
#engines,
#offres,
#offers{
  padding-top:54px !important;
}

#moteurs .section-title,
#engines .section-title,
#offres .section-title,
#offers .section-title{
  margin-bottom:34px !important;
}

/* Make anchor jumps feel more exact under the sticky header */
#moteurs,
#engines,
#offres,
#offers,
#finance,
#fondateur,
#founder,
#livre,
#book,
#contact{
  scroll-margin-top:96px !important;
}

/* Slightly tighten only the opening area of Services and Offers */
#moteurs .section-title h2,
#engines .section-title h2,
#offres .section-title h2,
#offers .section-title h2{
  margin-top:8px !important;
}

#moteurs .section-title p,
#engines .section-title p,
#offres .section-title p,
#offers .section-title p{
  margin-top:0 !important;
}


/* V13: approved book mockup inserted */
.book-visual img{
  width: min(620px, 100%) !important;
  max-height: 500px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 24px 34px rgba(7,29,49,.14)) !important;
}

.book-card{
  overflow: hidden;
}

@media(max-width:900px){
  .book-visual img{
    width: min(420px, 100%) !important;
    max-height: none !important;
  }
}


/* v14 final book section fix: use the approved standalone mockup cleanly */
.book-section{
  padding: 88px 0 !important;
}
.book-card{
  display:grid !important;
  grid-template-columns: minmax(360px, 520px) 1fr !important;
  gap: 54px !important;
  align-items: center !important;
  border: 1px solid var(--line) !important;
  background: var(--paper) !important;
  padding: 56px 44px !important;
  overflow: hidden !important;
}
.book-visual{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height: 0 !important;
}
.book-visual img{
  display:block !important;
  width: 100% !important;
  max-width: 500px !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 24px 28px rgba(7,29,49,.14)) !important;
}
.book-copy h2{
  font-family: Georgia,'Times New Roman',serif !important;
  font-size: clamp(52px,4.5vw,74px) !important;
  line-height: 0.98 !important;
  margin: 14px 0 24px !important;
  letter-spacing: -.035em !important;
  max-width: 760px !important;
}
.book-copy p{
  font-size: 18px !important;
  line-height: 1.72 !important;
  color: #3d4d5d !important;
  max-width: 760px !important;
  margin: 0 0 18px !important;
}

@media (max-width: 980px){
  .book-card{
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding: 34px 24px !important;
  }
  .book-visual{
    justify-content:center !important;
  }
  .book-visual img{
    max-width: 420px !important;
  }
}


/* v16 book fix: intact book mockup with section-matched background */
.book-section{
  padding: 88px 0 !important;
}
.book-card{
  display: grid !important;
  grid-template-columns: minmax(360px, 520px) 1fr !important;
  gap: 54px !important;
  align-items: center !important;
  border: 1px solid var(--line) !important;
  background: var(--paper) !important;
  padding: 56px 44px !important;
  overflow: hidden !important;
}
.book-visual{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background: var(--paper) !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.book-visual img{
  display: block !important;
  width: min(500px, 100%) !important;
  max-width: 500px !important;
  height: auto !important;
  object-fit: contain !important;
  background: var(--paper) !important;
  filter: none !important;
}
.book-copy h2{
  font-family: Georgia,'Times New Roman',serif !important;
  font-size: clamp(52px,4.5vw,74px) !important;
  line-height: 0.98 !important;
  margin: 14px 0 24px !important;
  letter-spacing: -.035em !important;
  max-width: 760px !important;
}
.book-copy p{
  font-size: 18px !important;
  line-height: 1.72 !important;
  color: #3d4d5d !important;
  max-width: 760px !important;
  margin: 0 0 18px !important;
}
@media (max-width: 980px){
  .book-card{
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding: 34px 24px !important;
  }
  .book-visual{
    justify-content: center !important;
  }
  .book-visual img{
    max-width: 420px !important;
  }
}


/* v17: make book larger in the book section */
.book-section .book-card{
  grid-template-columns: minmax(440px, 600px) 1fr !important;
  gap: 54px !important;
}
.book-section .book-visual{
  justify-content: center !important;
}
.book-section .book-visual img{
  width: min(560px, 100%) !important;
  max-width: 560px !important;
  height: auto !important;
}
@media (max-width: 1100px){
  .book-section .book-card{
    grid-template-columns: minmax(360px, 480px) 1fr !important;
    gap: 40px !important;
  }
  .book-section .book-visual img{
    width: min(460px, 100%) !important;
    max-width: 460px !important;
  }
}
@media (max-width: 980px){
  .book-section .book-card{
    grid-template-columns: 1fr !important;
  }
  .book-section .book-visual img{
    width: min(420px, 100%) !important;
    max-width: 420px !important;
  }
}


/* v18: book section title fits on one line and text moves upward */
.book-section{
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}
.book-card{
  align-items: center !important;
}
.book-copy{
  padding-top: 0 !important;
}
.book-copy .eyebrow{
  margin-bottom: 10px !important;
}
.book-copy h2{
  font-size: clamp(44px, 3.6vw, 62px) !important;
  line-height: 1.02 !important;
  max-width: none !important;
  white-space: nowrap !important;
  margin: 8px 0 22px !important;
}
.book-copy p{
  font-size: 18px !important;
  line-height: 1.68 !important;
}
.book-copy .btn{
  margin-top: 4px !important;
}

@media(max-width:1200px){
  .book-copy h2{
    white-space: normal !important;
    font-size: clamp(42px, 5vw, 58px) !important;
  }
}


/* v19: stronger founder biography section */
.founder-grid{
  align-items:center !important;
  gap:64px !important;
}
.bio h2{
  font-size: clamp(48px, 4vw, 68px) !important;
  line-height: 1.04 !important;
  margin: 12px 0 26px !important;
  letter-spacing: -.035em !important;
}
.bio p{
  font-size: 18px !important;
  line-height: 1.72 !important;
  color: #24384a !important;
  max-width: 920px !important;
  margin: 0 0 18px !important;
}
.founder-photo{
  background: var(--paper) !important;
}
@media(max-width:900px){
  .founder-grid{
    gap:34px !important;
  }
  .bio h2{
    font-size: 44px !important;
  }
}


/* v25: stable HOME layout — proof row belongs to the right hero area under photo/bio */
.hero-kefa-v25{
  padding: 68px 0 46px !important;
}

.hero-kefa-v25 .hero-kefa-main{
  display:grid !important;
  grid-template-columns: minmax(480px, .86fr) minmax(820px, 1.34fr) !important;
  gap: 56px !important;
  align-items:start !important;
}

.hero-kefa-v25 .hero-copy{
  display:block !important;
  grid-column:auto !important;
  grid-row:auto !important;
}

.hero-kefa-v25 .hero-copy h1,
.hero-kefa-v25 h1{
  font-size: clamp(52px, 4.15vw, 76px) !important;
  line-height: 1.02 !important;
  max-width: 760px !important;
}

.hero-kefa-v25 .hero-right{
  display:block !important;
}

.hero-kefa-v25 .hero-right-top{
  display:grid !important;
  grid-template-columns: minmax(360px, .9fr) minmax(420px, 1fr) !important;
  gap: 48px !important;
  align-items:start !important;
}

.hero-kefa-v25 .hero-photo-frame{
  display:block !important;
  margin:0 !important;
  align-self:start !important;
  grid-column:auto !important;
  grid-row:auto !important;
}

.hero-kefa-v25 .hero-photo-frame img{
  height:505px !important;
  object-fit:cover !important;
  object-position:center top !important;
}

.hero-kefa-v25 .founder-intro{
  display:block !important;
  margin:0 !important;
  padding-top: 10px !important;
  align-self:start !important;
  grid-column:auto !important;
  grid-row:auto !important;
}

.hero-kefa-v25 .founder-intro h2{
  white-space:nowrap !important;
}

.hero-kefa-v25 .hero-proof-right{
  width:100% !important;
  max-width:none !important;
  margin: 24px 0 0 !important;
  display:grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 34px !important;
}

.hero-kefa-v25 .hero-proof-right div{
  border-top:1px solid var(--line) !important;
  padding-top:14px !important;
}

.hero-kefa-v25 .hero-proof-right strong{
  font-size:27px !important;
}

.hero-kefa-v25 .hero-proof-right span{
  font-size:14px !important;
  line-height:1.44 !important;
}

/* prevent older grid placement rules from affecting this version */
.hero-kefa-v25 .hero-proof-row{
  grid-column:auto !important;
  grid-row:auto !important;
}

.hero-kefa-v25 + .section{
  padding-top:58px !important;
}

@media(max-width:1350px){
  .hero-kefa-v25 .hero-kefa-main{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .hero-kefa-v25 .hero-right-top{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .hero-kefa-v25 .hero-photo-frame{
    max-width:540px !important;
  }
  .hero-kefa-v25 .hero-photo-frame img{
    height:auto !important;
  }
  .hero-kefa-v25 .founder-intro h2{
    white-space:normal !important;
  }
}

@media(max-width:760px){
  .hero-kefa-v25 .hero-proof-right{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
}


/* v26: lower the HOME credibility row to align with the KEFA positioning paragraph */
@media(min-width:1351px){
  .hero-kefa-v25 .hero-proof-right{
    margin-top: 54px !important;
  }
}

/* keep the mobile/tablet behavior unchanged */
@media(max-width:1350px){
  .hero-kefa-v25 .hero-proof-right{
    margin-top: 28px !important;
  }
}


/* v27: lower the HOME credibility row further so the top rule aligns with the KEFA positioning paragraph */
@media(min-width:1351px){
  .hero-kefa-v25 .hero-proof-right{
    margin-top: 92px !important;
  }
}

/* keep tablet/mobile unchanged */
@media(max-width:1350px){
  .hero-kefa-v25 .hero-proof-right{
    margin-top: 28px !important;
  }
}


/* v28: final HOME proof row adjustment — slightly upward for a cleaner premium balance */
@media(min-width:1351px){
  .hero-kefa-v25 .hero-proof-right{
    margin-top: 78px !important;
  }
}


/* v29: Analyses / Insights section */
.links{
  gap: 18px !important;
}
@media(min-width:1351px){
  .links{
    font-size: 13px !important;
    gap: 18px !important;
  }
  .nav .btn{
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

#analyses,
#insights{
  scroll-margin-top: 96px !important;
}

.insights-section{
  background: var(--paper) !important;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding-top: 72px !important;
  padding-bottom: 80px !important;
}

.insights-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.insight-card{
  border: 1px solid var(--line);
  background: rgba(255, 250, 241, .66);
  padding: 34px 30px;
  min-height: 300px;
  display: flex;
  flex-direction: column;
}

.insight-kicker{
  color: var(--accent);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 12px;
  margin-bottom: 18px;
}

.insight-card h3{
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--ink);
  font-size: 29px;
  line-height: 1.05;
  letter-spacing: -.025em;
  margin: 0 0 18px;
}

.insight-card p{
  color: #314355;
  font-size: 16px;
  line-height: 1.62;
  margin: 0 0 28px;
}

.insight-card span{
  margin-top: auto;
  color: var(--accent);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: 12px;
}

@media(max-width: 1000px){
  .insights-grid{
    grid-template-columns: 1fr;
  }
  .insight-card{
    min-height: auto;
  }
}


/* v30: make Analyses / Insights more client-facing and visually complete */
.insights-section{
  min-height: calc(100vh - 96px) !important;
  padding-top: 84px !important;
  padding-bottom: 120px !important;
}

.insights-section .section-title{
  margin-bottom: 44px !important;
}

.insights-section .section-title p{
  max-width: 760px !important;
}

.insight-card{
  min-height: 320px !important;
}

#analyses,
#insights{
  scroll-margin-top: 94px !important;
}

@media(max-width: 1000px){
  .insights-section{
    min-height: auto !important;
    padding-bottom: 80px !important;
  }
}


/* v31: cleaner menu after removing Founder/Fondateur */
.links{
  gap: 22px !important;
}
@media(min-width:1351px){
  .links{
    gap: 22px !important;
  }
}


/* v32: keep Livre / Book focused when clicked from the menu */
#livre,
#book{
  scroll-margin-top: 94px !important;
}

.book-section{
  min-height: calc(100vh - 94px) !important;
  padding-top: 72px !important;
  padding-bottom: 120px !important;
  display: flex !important;
  align-items: center !important;
}

.book-section .wrap{
  width: var(--wide) !important;
}

/* Keep mobile natural so it does not create unnecessary blank space */
@media(max-width: 900px){
  .book-section{
    min-height: auto !important;
    padding-top: 64px !important;
    padding-bottom: 76px !important;
    display: block !important;
  }
}


/* v33: Mobile menu */
.mobile-menu{
  display:none;
}

@media(max-width:780px){
  .topbar{
    position:sticky;
  }

  .nav{
    width:min(100% - 28px, 1180px);
    padding:14px 0 !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    position:relative;
  }

  .brand{
    min-width:0 !important;
    gap:12px !important;
  }

  .brand .mark{
    font-size:36px !important;
    letter-spacing:.07em !important;
  }

  .brand .divider{
    height:34px !important;
  }

  .brand .name{
    font-size:15px !important;
    line-height:1.05 !important;
  }

  .links{
    display:none !important;
  }

  .mobile-menu{
    display:block !important;
    margin-left:auto;
    position:relative;
    z-index:80;
  }

  .mobile-menu summary{
    list-style:none;
    cursor:pointer;
    background:var(--navy);
    color:#fff;
    border:1px solid var(--navy);
    padding:12px 15px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    box-shadow:0 10px 22px rgba(7,29,49,.16);
  }

  .mobile-menu summary::-webkit-details-marker{
    display:none;
  }

  .mobile-menu summary:after{
    content:" ☰";
    letter-spacing:0;
  }

  .mobile-menu[open] summary:after{
    content:" ×";
  }

  .mobile-panel{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    width:min(82vw, 320px);
    background:var(--paper);
    border:1px solid var(--line);
    box-shadow:0 24px 55px rgba(7,29,49,.18);
    padding:18px;
    display:grid;
    gap:2px;
  }

  .mobile-panel a{
    display:block;
    padding:12px 10px;
    border-bottom:1px solid rgba(216,207,193,.72);
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--ink);
  }

  .mobile-panel a:last-child{
    border-bottom:0;
  }

  .mobile-lang{
    display:flex;
    gap:10px;
    padding:14px 10px 10px;
  }

  .mobile-lang a{
    width:42px;
    height:42px;
    border:1px solid var(--line);
    border-radius:50%;
    display:grid;
    place-items:center;
    padding:0;
  }

  .mobile-lang a.active{
    background:var(--navy);
    color:#fff;
    border-color:var(--navy);
  }

  .mobile-panel .mobile-cta{
    margin-top:8px;
    background:var(--navy);
    color:#fff;
    text-align:center;
    border:1px solid var(--navy);
  }
}

@media(max-width:430px){
  .brand .mark{
    font-size:31px !important;
  }

  .brand .name{
    font-size:13px !important;
  }

  .brand .divider{
    height:30px !important;
  }

  .mobile-menu summary{
    padding:11px 12px;
  }
}
