
:root{
  --navy:#0B1C2C;
  --line-dark:#2c4054;
  --gold:#8a6d2f;        /* usage décoratif : traits, bordures, puces */
  --gold-text:#7c6329;   /* texte sur fond clair - ratio ≥ 4.9:1 */
  --gold-on-dark:#c9ad72; /* texte sur fond marine - ratio ≥ 7.9:1 */
  --cream:#f1eee7;
  --paper:#fcfbf8;
  --ink:#132333;
  --muted:#5b6873;
  --line:#dcd6ca;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(1180px,calc(100% - 96px));margin:auto}

/* Skip link */
.skip-link{position:absolute;left:-999px;top:auto;background:var(--navy);color:#fff;padding:14px 20px;font-size:14px;z-index:100}
.skip-link:focus{left:16px;top:16px}

/* Header & navigation */
header{position:sticky;top:0;z-index:20;background:rgba(251,249,244,.96);backdrop-filter:blur(10px);border-bottom:1px solid #e7e0d4}
.nav{height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;flex-direction:column;gap:3px;align-items:flex-start;flex-shrink:0}
.brand svg{width:183px;height:auto;display:block}
.brand-sub{font-size:14px;letter-spacing:.13em;padding-left:7px;color:var(--muted)}
nav.primary-nav{display:flex;align-items:center;gap:25px}
nav.primary-nav a{font-size:15px;letter-spacing:.02em}
nav.primary-nav a:hover{color:var(--gold-text)}
.nav-contact{border-bottom:1px solid var(--gold);padding-bottom:6px}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--line);background:none;cursor:pointer;padding:0;flex-shrink:0}
.nav-toggle span{display:block;width:18px;height:1px;background:var(--navy);margin:0 auto;transition:transform .2s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-nav{border-top:1px solid #e7e0d4;background:var(--paper)}
.mobile-nav nav{display:flex;flex-direction:column}
.mobile-nav a{padding:16px max(6vw,24px);font-size:15px;border-bottom:1px solid var(--line)}
.mobile-nav a:last-child{border-bottom:0}

/* Focus visibility */
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* Hero */
.hero{width:min(1180px,calc(100% - 96px));margin:54px auto 70px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}
.hero-left{padding:15px 0}
.hero-right{background:var(--cream)}
.hero-right .portrait-caption{background:var(--navy);padding:21px 25px;display:flex;flex-direction:column;gap:4px}
.hero-right .portrait-caption b{font:22px Georgia,serif;font-weight:400;color:#fff}
.hero-right .portrait-caption span{font-size:14px;letter-spacing:.025em;color:#d6dce0}
.kicker{color:var(--gold-text);font-size:14px;letter-spacing:.055em;font-weight:700;margin-bottom:25px}
h1{font:400 clamp(48px,4.8vw,68px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:0 0 28px;max-width:760px}
.lead{font-family:Georgia,serif;font-size:25px;line-height:1.4;max-width:720px;color:var(--ink)}
.hero .body{font-size:17px;line-height:1.85;max-width:540px;color:#50606d;margin-top:16px}
.cta{display:inline-block;border-bottom:1px solid var(--gold);padding:0 0 7px;color:var(--navy);font-weight:700;letter-spacing:.03em;font-size:14px}
.cta:hover{opacity:.75}
.hero .cta{padding:14px 22px;background:var(--navy);color:#fff;border:0;font-size:16px;display:inline-flex;gap:45px;margin-top:15px}
.hero-foot{font-size:14px;margin-top:35px;color:var(--ink)}
.hero-foot span{display:block;font-size:14px;line-height:1.7;color:var(--muted);margin-top:8px}

/* Sections */
.section{padding:85px 0;scroll-margin-top:100px}
.section.dark{background:var(--navy);color:#fff}
.section.alt{background:var(--cream)}
#approche{border-top:1px solid var(--line)}
.num{font-size:14px;letter-spacing:.04em;color:var(--gold-text);font-weight:700}
.dark .num{color:var(--gold-on-dark)}
.title{font:400 44px/1.13 Georgia,serif;letter-spacing:-.025em;margin:12px 0 28px;max-width:780px}
.subtitle{max-width:780px;font-size:16px;line-height:1.85;color:#5f6d79}
.dark .subtitle{color:#c4ced6}

/* 01 - intro-split + card grid */
.intro-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.intro-split .title{margin-top:0}
.intro-split .subtitle{margin-top:0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:30px}
.card{padding-top:28px;border-top:1px solid var(--line)}
.card h3{font:400 25px/1.2 Georgia,serif;margin:10px 0 14px}
.card p{font-size:16px;line-height:1.85;color:#64717d}

/* 02 - services */
.services{display:grid;grid-template-columns:1fr 1fr;gap:0 55px;margin-top:35px}
.service{padding:28px 0;border-top:1px solid var(--line)}
.service h3{font:400 27px/1.22 Georgia,serif;margin:0 0 12px}
.service p{font-size:17px;color:#50606d}
.tags{font-size:14px;letter-spacing:.06em;color:var(--gold-text);margin-top:22px}

/* 03 - réseau (dark) + steps */
.network{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.steps article{display:flex;gap:22px;border-top:1px solid var(--line-dark);padding:23px 0}
.steps article>span{color:var(--gold-on-dark);font-size:14px;padding-top:5px;flex-shrink:0}
.steps h3{font:400 25px/1.2 Georgia,serif;margin:0 0 10px}
.steps p{font-size:16px;color:#c5ced5;margin:0;line-height:1.8}

/* 04 - renfort */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.contact-note{font-size:14px;color:var(--muted);margin-top:28px;max-width:450px}

/* 05 - parcours / biofacts */
.biofacts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:30px}
.fact{padding:26px;border-right:1px solid var(--line);font-size:16px}
.fact:last-child{border-right:0}
.fact b{display:block;color:var(--gold-text);font-size:14px;letter-spacing:.06em;margin-bottom:7px}

/* RoAnn cross-sell */
.roann{background:linear-gradient(120deg,var(--navy),#10293d);color:#fff;padding:55px 0}
.roannbox{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center}
.roann .title{font-size:34px}
.roann .subtitle{color:#c5ced5;font-size:16px}
.roannmark{font:62px/1 Georgia,serif;color:var(--gold-on-dark);text-align:center}

/* Footer */
footer{padding:45px 0;background:#06131f;color:#b9c2c9;font-size:14px;border-top:1px solid var(--line-dark)}
.footer-row{display:flex;justify-content:space-between;gap:12px 30px;flex-wrap:wrap}
.footer-draft{color:#7d8993}

/* Hero entrance - single orchestrated moment, gated on user preference */
@media(prefers-reduced-motion:no-preference){
  .hero-left,.hero-right{animation:hero-in .7s ease-out both}
  .hero-right{animation-delay:.12s}
  @keyframes hero-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Responsive */
@media(max-width:1050px){
  nav.primary-nav{display:none}
  .nav-toggle{display:flex}
  .hero{gap:40px}
  .nav-contact{display:none}
}
@media(max-width:800px){
  .wrap,.hero{width:calc(100% - 48px)}
  .nav{height:85px}
  nav.primary-nav{display:none}
  .nav-toggle{display:flex}
  .hero{grid-template-columns:1fr;gap:30px;margin-top:35px}
  .hero-left{padding:0}
  .hero-right{width:min(100%,420px);margin:auto}
  h1{font-size:52px}
  .intro-split,.network,.grid2,.roannbox{grid-template-columns:1fr;gap:20px}
  .grid3{grid-template-columns:1fr;gap:20px}
  .services{grid-template-columns:1fr}
  .section{padding:55px 0}
  .title{font-size:36px}
  .roannmark{text-align:left;margin-top:15px}
  .hero-foot{margin-top:25px}
  .biofacts{grid-template-columns:1fr 1fr}
  .fact{padding:20px}
  .fact:nth-child(2n){border-right:0}
  .lead{font-size:23px}
}
@media(max-width:400px){
  .wrap,.hero{width:calc(100% - 36px)}
  h1{font-size:44px}
  .brand svg{width:160px}
  .nav{gap:10px}
  .biofacts{grid-template-columns:1fr}
  .fact{border-right:0!important}
}

/* FIRION - adjustments approved after editorial comparison with RoAnn */
.brand{gap:0}.brand svg{width:190px}.hero-right img{width:100%;height:auto}.portrait-caption{text-align:center;align-items:center}.roann .kicker{color:#dbc395}.roann .roannbox{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:60px}.roannmark{font:inherit;display:flex;align-items:center;justify-content:center;min-height:75px;white-space:nowrap;color:#D7C59A}.roann-symbol{width:31px;height:53px;object-fit:contain;margin-right:10px}.roann-wordmark{width:130px;height:auto;object-fit:contain}.roann-rule{height:43px;width:1px;margin:0 15px;background:linear-gradient(transparent,#A88F54 15%,#A88F54 85%,transparent)}.roann-position{width:138px;display:flex;flex-direction:column;justify-content:center;gap:3px;font:600 12px/1.25 Arial,sans-serif;text-transform:uppercase;color:#D7C59A}.brand-equal-line{display:flex;justify-content:space-between;width:100%;white-space:nowrap}.brand-equal-line i{font:inherit;font-style:normal;letter-spacing:0}.roann .title{font-size:36px}.roann .subtitle{color:#d3dbe0}@media(max-width:900px){.roann .roannbox{grid-template-columns:1fr;gap:24px}.roannmark{justify-content:flex-start}.brand svg{width:177px}}@media(max-width:560px){.roann-symbol{width:25px;height:42px}.roann-wordmark{width:107px}.roann-rule{height:34px;margin:0 12px}.roann-position{width:126px;font-size:11px}}

/* October revision: FIRION editorial identity and dedicated RoAnn reference space. */
.research-note{max-width:850px;font-size:18px;line-height:1.7;color:var(--muted);border-left:2px solid var(--gold);padding-left:20px;margin:20px 0}
.roann-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:26px;border-bottom:1px solid #52606b;margin-bottom:30px}
.roann-label{color:#ddcba3;font-size:15px;letter-spacing:.03em;text-align:right}
.roann-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}
.roann-feature .title{font-size:38px;line-height:1.2;color:#fbf7ee;margin-top:0}
.roann-feature .title em{font-weight:400;color:#ddcba3}
.roann-feature .subtitle{font-size:18px;color:#e0e5e8;line-height:1.75}
.roann-link{display:inline-block;color:#eed5a0;border-bottom:1px solid #a88f54;margin-top:22px;padding:8px 0;font-size:17px}
.mission-card{background:#182a39;border:1px solid #596064;padding:28px}
.mission-card .num{color:#ddcba3;font-size:14px;line-height:1.5}
.mission-card h3{font:400 27px/1.3 Georgia,serif;color:#fbf7ee;margin:15px 0}
.mission-card p{font-size:17px;line-height:1.75;color:#e0e5e8}
.mission-card .mission-note{border-top:1px solid #465460;padding-top:15px;font-size:15px;margin-bottom:0}
.roann-bridge{display:grid;grid-template-columns:1fr 1.3fr;gap:42px;border-top:1px solid #52606b;margin-top:30px;padding-top:24px;color:#e0e5e8}
.roann-bridge .num{color:#ddcba3;font-size:14px}.roann-bridge p{font-size:16px;line-height:1.7;margin:8px 0 0}.roann-bridge>div p{font:400 24px/1.4 Georgia,serif;color:#fbf7ee}
@media(max-width:800px){.roann-heading{display:block;margin-bottom:24px}.roann-label{display:block;text-align:left;margin-top:20px}.roann-feature,.roann-bridge{grid-template-columns:1fr;gap:22px}.roann-feature .title{font-size:30px}.mission-card{padding:22px}.roann-bridge{margin-top:24px}.research-note{font-size:17px}}

.experience-section{background:#e7e0d3;border-top:1px solid var(--line)}
.experience-section .subtitle{max-width:860px}
.experience-list{margin-top:28px;border-top:1px solid #b7ac97}
.experience-row{display:grid;grid-template-columns:230px minmax(0,1fr);gap:38px;padding:26px 0;border-bottom:1px solid #c8bead}
.experience-sector{font:400 23px/1.35 Georgia,serif;color:var(--navy)}
.experience-row h3{font:400 26px/1.35 Georgia,serif;margin:0 0 10px;color:var(--navy)}
.experience-role{font-size:14px;font-weight:600;color:#655333}
.experience-row p{font-size:17px;line-height:1.75;margin:10px 0 0;color:#3c4850}
@media(max-width:800px){.experience-row{grid-template-columns:1fr;gap:12px;padding:23px 0}.experience-sector{font:600 15px/1.5 Arial,sans-serif;color:#655333}.experience-row h3{font-size:24px}}

.experience-group{margin-top:32px}.experience-group-heading{border-left:3px solid var(--gold);padding-left:19px}.experience-group-heading h3{font:400 29px/1.3 Georgia,serif;margin:0;color:var(--navy)}.experience-group-heading p{font-size:16px;line-height:1.6;color:#4e5960;margin:9px 0 0}.experience-group .experience-list{margin-top:19px}.experience-group .experience-row h3{font-size:23px}.experience-group .experience-row{padding:22px 0}.experience-group .experience-row:last-child{border-bottom:0}
@media(max-width:800px){.experience-group-heading h3{font-size:26px}.experience-group{margin-top:28px}}

.professional-links{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:26px 0}.professional-links article{border-top:1px solid var(--line);padding-top:19px}.professional-links h3{font:400 25px/1.35 Georgia,serif;margin:0 0 12px}.professional-links p{font-size:17px;line-height:1.75;color:#46535c}.professional-links a{font-size:16px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.professional-links{grid-template-columns:1fr;gap:22px}}

/* ILS-led October concept */
.hero h1{font-size:clamp(42px,4.1vw,61px);line-height:1.1;letter-spacing:-.035em}.hero h1 em{font-weight:400;color:#806632}.hero .lead{font-size:24px}.hero .body{font-size:18px;line-height:1.75}.hero-right{align-self:start}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:26px}.offer-card{padding-top:22px;border-top:2px solid #aa905a}.offer-card .num{font-size:13px}.offer-card h3{font:400 29px/1.25 Georgia,serif;margin:16px 0}.offer-card p{font-size:17px;line-height:1.75}.service-note{border-top:1px solid var(--line);padding-top:18px;margin:22px 0 0;font-size:16px;color:#4d5961}
#ils{background:#152a39;color:#f5f1e8;padding:48px 0}.ils-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:52px}.ils-intro .title{font-size:38px;line-height:1.2}.ils-intro .title em{color:#dbc99c;font-weight:400}.ils-intro .subtitle{font-size:18px;color:#dee3e6}.ils-deliverables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:24px 0}.ils-deliverables article{border-top:1px solid #69736f;padding-top:20px}.ils-deliverables h3{font:400 25px/1.3 Georgia,serif;margin:0 0 12px;color:#e3d1a7}.ils-deliverables p{font-size:17px;line-height:1.7;color:#dee3e6}.ils-scope{font-size:16px;line-height:1.7;max-width:960px;color:#d4dce0}.ils-cta{background:#d8c49a;color:#112735;border-color:#d8c49a;margin-top:10px}
.more-experience,.profile-detail{border-top:1px solid #bbaf99;margin-top:24px;padding-top:18px}.more-experience summary,.profile-detail summary{cursor:pointer;font-size:17px;font-weight:600;line-height:1.5;padding:8px 0}.more-experience summary::marker,.profile-detail summary::marker{color:#806632}.experience-list .experience-row{padding:22px 0}.experience-row h3{font-size:24px}.profile-detail .professional-links{margin-bottom:6px}.roann-compact{display:grid;grid-template-columns:360px minmax(0,1fr);gap:58px;align-items:start}.roann-compact .roannmark{margin-top:7px}.roann-compact .title{font-size:32px;margin-top:0}.roann-compact p{font-size:17px;line-height:1.7;color:#dce3e7}.roann-compact .roann-link{margin-top:0}
@media(max-width:800px){.offer-grid,.ils-intro,.ils-deliverables,.roann-compact{grid-template-columns:1fr;gap:20px}.hero h1{font-size:43px}.hero .lead{font-size:22px}.offer-card h3{font-size:27px}#ils{padding:34px 0}.ils-intro .title{font-size:32px}.ils-deliverables{gap:16px}.roann-compact{gap:24px}.experience-row h3{font-size:23px}}
.hero-left,.hero-right{animation:none}.ils-cta{display:inline-block;padding:13px 20px;font-size:16px;border:0;line-height:1.4}

/* Navigation multilingue et pages d’information */
.language-nav{display:flex;align-items:center;gap:3px;margin-left:auto;flex-shrink:0}.language-nav a{font-size:14px;line-height:1;padding:13px 8px;color:var(--muted)}.language-nav a[aria-current="page"]{color:var(--navy);border-bottom:2px solid var(--gold);font-weight:700}.nav{gap:22px}.nav-toggle{flex-shrink:0}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer-links a{text-decoration:underline;text-underline-offset:4px}.legal-page{max-width:860px;padding:55px 0 75px;margin:auto}.legal-page h1{font-size:42px;line-height:1.16}.legal-page h2{font:400 26px/1.25 Georgia,serif;margin-top:36px}.legal-page p{font-size:17px;line-height:1.8;overflow-wrap:anywhere}.draft-note{border-left:3px solid var(--gold);padding:12px 16px;background:var(--cream);margin:25px 0}.legal-page mark{background:#fff0bd;color:#302817;padding:2px 4px}.mobile-nav[hidden]{display:none}.footer-draft{display:none}img{height:auto}.brand{max-width:190px}.hero>div,.grid2>div,.network>div,.intro-split>div{min-width:0}.roann-position{flex-shrink:0}.roann-rule{flex-shrink:0}.tags{overflow-wrap:anywhere}.hero .cta{gap:24px}
@media(max-width:1380px){nav.primary-nav{display:none}.nav-toggle{display:flex}.nav{gap:18px}.language-nav{margin-left:auto}}
@media(max-width:560px){.brand svg{width:130px}.nav{gap:10px}.language-nav a{padding:13px 7px}.language-nav{gap:0}.legal-page h1{font-size:34px}.hero .cta{padding:13px 17px}.biofacts{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid var(--line)}.fact:last-child{border-bottom:0}}
@media(max-width:360px){.brand svg{width:115px}.language-nav a{font-size:13px;padding:13px 5px}.wrap,.hero{width:calc(100% - 32px)}}

/* Approved vertical gold mark */
header{background:#0b1c2c;border-bottom:1px solid #3b4650}
.nav{height:112px;gap:26px}.brand{width:80px;max-width:80px}.brand svg{width:80px;height:94px;object-fit:contain}
nav.primary-nav a{color:#f5f1e8;font-size:14px}.language-nav a{color:#dce1e5}.language-nav a[aria-current="page"]{color:#e0c78d;border-color:#b39456}
.nav-toggle{border-color:#74808a}.nav-toggle span{background:#f5f1e8}.mobile-nav{background:#0b1c2c}.mobile-nav a{color:#f5f1e8;border-color:#3b4650}
.section{scroll-margin-top:122px}.hero{scroll-margin-top:122px}
@media(max-width:800px){.nav{height:96px}.brand,.brand svg{width:68px;max-width:68px}.brand svg{height:80px}.section{scroll-margin-top:106px}}

/* Global editorial rhythm: compact spacing, warm section backgrounds. */
:root{--cream:#eee8dc;--paper:#f8f5ef;--line:#d8cfbf}
.hero{margin-top:34px;margin-bottom:38px;gap:56px}
.section{padding:44px 0}
#approche{background:var(--cream);border-top:1px solid var(--line)}
#interventions{background:var(--paper)}
#reseau{background:#0b1c2c}
#renfort{background:#eee8dc;padding-bottom:30px}
#parcours{background:#f8f5ef;padding-top:30px;border-top:1px solid var(--line)}
#contact{background:#eee8dc}
.roann{background:#203446;padding:38px 0}
footer{padding:28px 0}
.title{margin:10px 0 20px}
.intro-split{gap:56px;margin-top:12px}
.grid3{gap:30px;margin-top:20px}
.card{padding-top:18px}
.card p:last-child,.service p:last-child{margin-bottom:0}
.services{margin-top:24px;gap:0 42px}
.service{padding:22px 0}
.tags{margin-top:14px}
.network{gap:56px}
.steps article{padding:18px 0}
.steps article:last-child{padding-bottom:0}
.grid2{gap:56px}
.grid2>div>.lead:first-child{margin-top:0}
.biofacts{margin-top:22px;background:#eee8dc}
.fact{padding:20px}
.roann .subtitle{margin-bottom:0}
nav.primary-nav a:hover{color:#e0c78d}
@media(max-width:800px){
 .hero{margin-top:26px;margin-bottom:30px;gap:24px}
 .section{padding:32px 0}
 #renfort{padding-bottom:24px}#parcours{padding-top:24px}
 .intro-split,.network,.grid2,.roann .roannbox{gap:18px}
 .grid3{gap:18px;margin-top:16px}
 .title{margin-bottom:16px}
 .roann{padding:30px 0}
 footer{padding:24px 0}
}

/* Production refinement */
.ils-explanation{font-size:15px;line-height:1.7;color:#46535c;max-width:580px;margin:12px 0 8px;border-left:2px solid #a58c56;padding-left:16px}
.more-experience summary,.profile-detail summary{display:list-item;list-style-position:inside;background:#eee6d7;border:1px solid #c7b99d;border-radius:4px;padding:14px 18px;margin-bottom:8px;color:#102637}
.more-experience summary:hover,.profile-detail summary:hover{background:#e5d9c5}
.more-experience summary:focus-visible,.profile-detail summary:focus-visible{outline:3px solid #a58c56;outline-offset:2px}
.more-experience summary::after,.profile-detail summary::after{content:'  +';font-weight:700;color:#806632;float:right}
.more-experience[open] summary::after,.profile-detail[open] summary::after{content:'  −'}
.roann-compact{grid-template-columns:220px minmax(0,1fr)}.roannmark{justify-content:flex-start}.roann-wordmark{width:150px}
@media(max-width:800px){.roann-compact{grid-template-columns:1fr}.hero .ils-explanation{font-size:14px}.hero{gap:18px}.wrap,.hero{width:calc(100% - 36px)}}
@media(max-width:400px){.hero h1{font-size:clamp(34px,10vw,43px)}.hero .lead{font-size:21px}.hero .body{font-size:16px}}

/* V19 — more restrained secondary headline and responsive kicker */
.hero h1 em{display:inline-block;font-size:.66em;line-height:1.22;letter-spacing:-.012em;font-style:italic;margin-top:.17em;color:#806632}
.hero .kicker{font-size:12px;line-height:1.55;letter-spacing:.045em;max-width:100%;text-wrap:balance}
@media(max-width:560px){.hero h1 em{font-size:.64em}.hero .kicker{font-size:11px;letter-spacing:.018em}}


/* V20 — section 02: typographic editorial layout */
#ils.ils-editorial{background:#142839;padding:70px 0 64px;color:#f6f2e9}
.ils-editorial .ils-intro{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(32px,6vw,100px);align-items:end}
.ils-editorial .ils-intro .num{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#dbc495;margin-bottom:26px}
.ils-editorial .ils-intro .title{font-size:clamp(34px,3.2vw,48px);letter-spacing:-.028em;line-height:1.19;margin:0;max-width:570px;text-wrap:balance}
.ils-editorial .ils-intro .title em{color:#ddcba3;font-style:italic;font-weight:400}
.ils-editorial .ils-intro .subtitle{margin:0 0 5px;padding-left:27px;border-left:1px solid #9d885f;font-size:17px;line-height:1.82;max-width:500px;color:#e3e4e3}
.ils-editorial .ils-deliverables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:48px 0 0;border-top:1px solid #65717b;border-bottom:1px solid #65717b}
.ils-editorial .ils-deliverables article{border:0;padding:28px 30px 32px 0;min-width:0}
.ils-editorial .ils-deliverables article+article{border-left:1px solid #65717b;padding-left:30px}
.ils-editorial .ils-step{font:400 13px/1.4 Arial,sans-serif;letter-spacing:.12em;color:#ddcba3;display:block;margin-bottom:23px}
.ils-editorial .ils-deliverables h3{font:400 clamp(22px,2vw,27px)/1.26 Georgia,serif;color:#f7f0e4;margin:0 0 15px;text-wrap:balance}
.ils-editorial .ils-deliverables p{font-size:16px;line-height:1.75;color:#d6dce0;margin:0}
.ils-editorial .ils-conclusion{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:28px}
.ils-editorial .ils-scope{margin:0;max-width:750px;font-size:14px;line-height:1.75;color:#d0d8dd}
.ils-editorial .ils-cta{flex-shrink:0;margin:0;background:transparent;color:#edd9ae;border:1px solid #af9769;padding:13px 20px;font-size:14px;letter-spacing:.015em;text-decoration:none;transition:background .2s,color .2s}
.ils-editorial .ils-cta:hover{background:#dbc99c;color:#142839;opacity:1}
@media(max-width:850px){#ils.ils-editorial{padding:46px 0}.ils-editorial .ils-intro{grid-template-columns:1fr;gap:25px}.ils-editorial .ils-intro .subtitle{max-width:700px}.ils-editorial .ils-deliverables{margin-top:35px}.ils-editorial .ils-deliverables article{padding-right:18px}.ils-editorial .ils-deliverables article+article{padding-left:18px}.ils-editorial .ils-conclusion{align-items:flex-start;flex-direction:column;gap:24px}}
@media(max-width:620px){#ils.ils-editorial{padding:38px 0 40px}.ils-editorial .ils-intro .num{margin-bottom:18px}.ils-editorial .ils-intro .title{font-size:34px}.ils-editorial .ils-intro .subtitle{padding-left:16px;font-size:16px}.ils-editorial .ils-deliverables{grid-template-columns:1fr;margin-top:28px}.ils-editorial .ils-deliverables article,.ils-editorial .ils-deliverables article+article{padding:22px 0;border:0;border-bottom:1px solid #65717b}.ils-editorial .ils-deliverables article:last-child{border-bottom:0}.ils-editorial .ils-step{margin-bottom:12px}.ils-editorial .ils-deliverables h3{font-size:25px;margin-bottom:9px}.ils-editorial .ils-conclusion{padding-top:22px}.ils-editorial .ils-cta{width:100%;text-align:center}}

/* Three profile credentials, responsive */
.biofacts{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.biofacts{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid var(--line)}.fact:last-child{border-bottom:0}}
/* Four core services in a balanced two-column layout */
#interventions .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 42px}
#experiences .applicable-law{margin-top:8px;font-size:15px;color:#50606d}
@media(max-width:720px){#interventions .offer-grid{grid-template-columns:1fr;gap:18px}}
/* V22: accessibility and small screen resilience */
:root{color-scheme:light}html{scroll-padding-top:124px}body{overflow-wrap:break-word}
img,svg{max-width:100%}.offer-grid > *, .ils-intro > *,.ils-deliverables > *,.experience-row > *{min-width:0}
@media(max-width:480px){.hero h1{font-size:clamp(35px,9.3vw,43px)}.hero .lead{font-size:21px}.wrap,.hero{width:calc(100% - 36px)}.roannmark{transform-origin:left center;max-width:100%}.hero .cta{max-width:100%;white-space:normal;gap:12px}}
@media(max-width:360px){.nav{gap:6px}.language-nav a{padding:12px 4px}.roann-compact{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
summary:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #c9ad72;outline-offset:4px}

/* V23: final prepublication refinements */
#interventions .offer-grid + .service-note{margin-top:26px}
#interventions .service-note + .cta{margin-top:26px}
#interventions .cta{margin-top:24px}
.hero .cta{margin-top:21px}
#ils .ils-cta{margin-top:28px}
.biofacts{grid-template-columns:1fr 1fr 1.45fr}
.fact{overflow-wrap:anywhere}
@media(max-width:800px){.biofacts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.biofacts{grid-template-columns:1fr}}
@media(min-width:1101px){nav.primary-nav{display:flex}.nav-toggle{display:none}}
@media(max-width:1100px){nav.primary-nav{display:none}.nav-toggle{display:flex}}
.kicker,.num,.offer-card .num,.ils-deliverables article .num{font-size:max(13px,0.78rem)}
.experience-law{display:block;color:#68737b;font-size:14px;line-height:1.6;margin-top:10px}
.roannmark[role=img]{display:flex}
.legal-back{margin-top:25px}
@media(max-width:800px){.experience-law{font-size:14px}}

/* FIRION V26: selected experience, editorial cards, no third-party font */
.experience-section{background:#eee8dc}
.xp-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}
.xp-head .subtitle{margin:0}
.xp-count{font-size:13px;color:#6a6d6d;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.xp-filters{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 27px;padding:0 0 18px;border-bottom:1px solid #c9bda9}
.xp-filter{font:500 14px/1.4 Arial,Helvetica,sans-serif;padding:9px 15px;cursor:pointer;border:1px solid #b9ad9a;background:transparent;color:#142b3b;border-radius:2px}
.xp-filter:hover{border-color:#8a6d2f;background:#f8f5ef}
.xp-filter[aria-pressed="true"]{background:#102538;color:#fff;border-color:#102538}
.xp-filter:focus-visible{outline:3px solid #8a6d2f;outline-offset:3px}
.xp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.xp-card{min-width:0;background:#f8f5ef;border:1px solid #d2c8b9;padding:25px 26px 23px;display:flex;flex-direction:column;gap:11px}
.xp-card[hidden],.xp-empty[hidden]{display:none!important}
.xp-card--featured{border-top:3px solid #9c804b;background:#fcfaf5}
.xp-sector{font:600 12px/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.075em;color:#7e622c;margin:0}
.xp-title{font:400 25px/1.22 Georgia,serif;color:#102538;margin:0}
.xp-role{font-size:14px;color:#5a4830;font-weight:600;margin:0}
.xp-desc{font-size:16px;line-height:1.65;margin:0;color:#394b58}
.xp-meta{font-size:13px;line-height:1.65;color:#65717b;margin:auto 0 0;padding-top:12px;border-top:1px solid #d8cfbf}
.xp-empty{font-size:16px;color:#50606d}
@media(max-width:720px){.xp-grid{grid-template-columns:1fr}.xp-head{display:block}.xp-count{margin-top:12px}.xp-card{padding:22px}.xp-title{font-size:23px}}
@media(max-width:400px){.xp-filter{padding:8px 10px;font-size:13px}.xp-card{padding:18px}}

/* V29: accessible contact details */
.contact-channels{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin:18px 0 10px}
.contact-channels .cta{margin:0}
.contact-phone{font-size:17px;font-weight:600;color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:6px;white-space:nowrap}
.contact-phone:hover{color:var(--gold-text)}
.contact-phone:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
@media(max-width:560px){.contact-channels{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.contact-phone{font-size:16px}}


/* FIRION V32 — correction de navigation par ancres.
   Evite le cumul de scroll-padding et scroll-margin de la V31.
   Le dernier bloc occupe au moins la hauteur utile de la fenêtre,
   afin que l'ancre Contact puisse se placer sous le menu fixe. */
html{scroll-padding-top:0}
.section{scroll-margin-top:120px}
#contact{min-height:calc(100svh - 120px)}
@media(max-width:800px){
  .section{scroll-margin-top:102px}
  #contact{min-height:calc(100svh - 102px)}
}


/* FIRION V33 — contact architectural, high-information density without a form.
   Replaces the V32 forced empty-height with a balanced full-height layout. */
#contact.contact-editorial{
  background:#eee8dc;
  min-height:calc(100svh - 120px);
  padding:clamp(44px,6.5vh,72px) 0 36px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
#contact .contact-shell{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:58px;width:min(1180px,calc(100% - 96px));margin:0 auto}
#contact .contact-main{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);column-gap:clamp(36px,6vw,100px);align-items:start}
#contact .contact-intro,#contact .contact-content{min-width:0}
#contact .contact-intro .num{font-size:13px;letter-spacing:.06em;color:#806632;margin:0 0 18px}
#contact .contact-intro .title{font-size:clamp(37px,3.5vw,51px);line-height:1.14;letter-spacing:-.025em;margin:0;max-width:500px;text-wrap:balance}
#contact .contact-lead{font:400 clamp(20px,1.55vw,24px)/1.48 Georgia,serif;color:#122a3b;margin:0;max-width:610px;text-wrap:pretty}
#contact .contact-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:32px 0 18px}
#contact .contact-method{position:relative;min-width:0;background:#f8f5ef;border:1px solid #cabfae;padding:19px 37px 20px 19px;display:flex;flex-direction:column;gap:12px;min-height:105px;transition:background-color .2s,border-color .2s}
#contact .contact-method:hover{background:#fff;border-color:#99804c}
#contact .contact-method:focus-visible{outline:3px solid #927a4a;outline-offset:3px}
#contact .contact-method-label{color:#84682f;letter-spacing:.08em;text-transform:uppercase;font:600 12px/1.4 Arial,Helvetica,sans-serif}
#contact .contact-method-value{color:#102638;font:600 clamp(14px,1.05vw,17px)/1.5 Arial,Helvetica,sans-serif;overflow-wrap:anywhere}
#contact .contact-method-arrow{position:absolute;right:16px;top:18px;color:#806632;font-size:17px}
#contact .contact-note{border-left:2px solid #ac9568;padding-left:15px;font-size:14px;line-height:1.75;color:#52616b;max-width:600px;margin:24px 0 0}
#contact .contact-signoff{border-top:1px solid #c3b69e;padding:20px 0 0;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;font:500 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.04em;color:#56616b}
#contact .contact-signoff-brand{font:400 20px/1 Georgia,serif;letter-spacing:.075em;color:#82652e}
@media(max-width:900px){
 #contact .contact-main{grid-template-columns:1fr;gap:27px}
 #contact .contact-shell{width:calc(100% - 48px)}
 #contact .contact-intro .title{max-width:650px}
 #contact .contact-lead{max-width:750px}
}
@media(max-width:800px){
 #contact.contact-editorial{min-height:calc(100svh - 102px);padding:34px 0 26px}
 #contact .contact-shell{gap:45px}
}
@media(max-width:560px){
 #contact .contact-main{gap:22px}
 #contact .contact-shell{width:calc(100% - 36px)}
 #contact .contact-intro .title{font-size:38px}
 #contact .contact-lead{font-size:19px}
 #contact .contact-methods{grid-template-columns:1fr;gap:10px;margin-top:24px}
 #contact .contact-method{min-height:0;padding:14px 42px 14px 16px;gap:6px}
 #contact .contact-note{font-size:13px}
 #contact .contact-signoff{display:grid;gap:9px;font-size:11px}
}


/* FIRION V34 — structured contact, aligned with RoAnn's editorial hierarchy.
   Introductory message below heading; email, phone and office address on the right. */
#contact .contact-main{grid-template-columns:minmax(0, .99fr) minmax(0, 1.01fr);column-gap:clamp(40px,6vw,96px)}
#contact .contact-intro .title{max-width:520px}
#contact .contact-intro .contact-lead{margin:30px 0 0;font:400 clamp(19px,1.55vw,23px)/1.55 Georgia,serif;color:#21394a;max-width:520px;text-wrap:pretty}
#contact .contact-methods{margin:0 0 15px}
#contact .contact-address{background:#f8f5ef;border:1px solid #cabfae;padding:19px 22px 20px;display:flex;flex-direction:column;gap:11px}
#contact .contact-address-label{color:#84682f;letter-spacing:.08em;text-transform:uppercase;font:600 12px/1.4 Arial,Helvetica,sans-serif}
#contact .contact-address address{color:#102638;font:500 16px/1.6 Arial,Helvetica,sans-serif;font-style:normal}
#contact .contact-address address span{display:block;color:#53616e;font-size:14px}
#contact .contact-note{margin:22px 0 0}
@media(max-width:900px){
 #contact .contact-main{grid-template-columns:1fr;gap:29px}
 #contact .contact-intro .contact-lead{max-width:760px;margin-top:19px}
 #contact .contact-methods{margin:0 0 12px}
}
@media(max-width:560px){
 #contact .contact-intro .contact-lead{font-size:19px;line-height:1.55;margin-top:17px}
 #contact .contact-address{padding:16px}
 #contact .contact-address address{font-size:15px}
}


/* FIRION V35 — contact area tightened while preserving anchor offset for the last section. */
#contact.contact-editorial{
  min-height:max(560px,calc(100svh - 192px));
  padding:32px 0 24px;
}
#contact .contact-shell{
  gap:28px;
}
#contact .contact-main{
  align-items:start;
}
#contact .contact-intro .title{
  max-width:500px;
}
#contact .contact-intro .contact-lead{
  margin:22px 0 0;
  max-width:500px;
}
#contact .contact-methods{
  margin:0 0 12px;
}
#contact .contact-method{
  min-height:94px;
  padding:16px 34px 16px 18px;
}
#contact .contact-address{
  padding:16px 18px 16px;
}
#contact .contact-address address,
#contact .contact-address address span{
  color:#102638;
  font:600 clamp(14px,1.05vw,17px)/1.5 Arial,Helvetica,sans-serif;
}
#contact .contact-address address span{
  display:inline;
}
#contact .contact-note{
  margin:16px 0 0;
}
#contact .contact-signoff{
  padding-top:16px;
}
@media(max-width:900px){
  #contact.contact-editorial{
    min-height:calc(100svh - 120px);
    padding:28px 0 22px;
  }
  #contact .contact-shell{gap:22px}
}
@media(max-width:800px){
  #contact.contact-editorial{
    min-height:calc(100svh - 102px);
    padding:26px 0 20px;
  }
}
@media(max-width:560px){
  #contact.contact-editorial{padding:24px 0 18px}
  #contact .contact-shell{gap:18px}
  #contact .contact-intro .contact-lead{margin-top:16px}
  #contact .contact-method{padding:14px 38px 14px 16px;min-height:0}
  #contact .contact-address{padding:14px 16px}
  #contact .contact-signoff{padding-top:12px}
}


/* FIRION V36 — simplified footer with brand logo + cookie notice */
.footer-row{align-items:center}
.footer-links{display:flex;gap:14px 24px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-left:auto}
.footer-brand{display:inline-flex;align-items:center;color:inherit;flex-shrink:0}
.footer-brand svg{display:block;height:56px;width:auto}
footer a{color:#d5dce1}
footer a:hover{text-decoration:underline}
.cookie-notice{position:fixed;left:24px;bottom:24px;z-index:9999;max-width:min(560px,calc(100vw - 48px));background:#f8f5ef;border:1px solid #cabfae;box-shadow:0 18px 48px rgba(4,16,26,.22);padding:16px 18px;border-radius:2px;color:#102638}
.cookie-title{margin:0 0 8px;font:600 14px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#84682f}
.cookie-text{margin:0;font-size:14px;line-height:1.6;color:#253947}
.cookie-button{margin-top:12px;background:#0b1c2c;color:#fff;border:0;padding:10px 14px;font:600 13px/1 Arial,Helvetica,sans-serif;cursor:pointer}
.cookie-button:hover{background:#102638}
@media(max-width:640px){.footer-row{gap:14px 22px;align-items:flex-start}.footer-brand svg{height:44px}.footer-links{width:100%;justify-content:flex-start}.cookie-notice{left:16px;right:16px;bottom:16px;max-width:none;padding:14px 15px}}


/* FIRION V39 — header and footer have identical original gold SVG dimensions.
   Desktop 80 x 94px; mobile 68 x 80px. */
header .brand svg, footer .footer-brand svg {
  width:80px !important;
  height:94px !important;
  object-fit:contain;
  display:block;
}
footer .footer-row { align-items:center; }
footer .footer-brand { flex-shrink:0; }
footer .footer-links { margin-left:auto; justify-content:flex-end; }
@media (max-width:800px) {
 header .brand svg, footer .footer-brand svg {
   width:68px !important;
   height:80px !important;
 }
}
@media (max-width:640px) {
 footer .footer-links { width:auto; margin-left:auto; justify-content:flex-end; text-align:right; }
}
@media (max-width:380px) {
 footer .footer-links { width:100%; margin-left:0; justify-content:flex-start; text-align:left; }
}

/* V42 — European Legal Practice: visible, clearly differentiated European engagements */
.european-practice{margin:32px 0 30px}
.european-practice-title{font:700 15px/1.45 Arial,sans-serif;letter-spacing:.09em;color:var(--gold-text);margin:0 0 12px;text-transform:uppercase}
.european-practice-intro{font-size:17px;line-height:1.75;color:#46535c;max-width:790px;margin:0}
.european-practice-grid{margin:25px 0 0;gap:32px}
.european-practice-grid article{min-width:0;border-top:2px solid var(--gold);padding-top:20px}
.european-practice-place{font:700 12px/1.4 Arial,sans-serif;color:var(--gold-text);letter-spacing:.08em;margin:0 0 10px}
.european-practice-grid h4{font:400 24px/1.35 Georgia,serif;color:var(--navy);margin:0 0 11px}
.european-practice-grid p{font-size:16px;line-height:1.65;color:#46535c;margin:0}
@media(max-width:800px){.european-practice{margin:28px 0}.european-practice-grid{grid-template-columns:1fr;gap:22px}.european-practice-grid h4{font-size:23px}}

/* V42 — Alphalex practice qualification */
.european-practice-grid p.european-practice-context{margin-top:8px;font-size:14px;line-height:1.6;font-style:italic;color:#59666f}
