/* Statesia Universal 25 — Joomla 2.5 / PHP 5.6
   Design universel, sans framework et sans dépendance externe.
*/
:root{--ink:#0a3353;--ink2:#174d6a;--teal:#0f9da6;--cyan:#1790bd;--sky:#eef7fa;--mist:#f7fafb;--line:#dce8ed;--white:#fff;--text:#3a5263;--muted:#6d8290;--shadow:0 18px 45px rgba(10,51,83,.08);--radius:18px;--container:1320px;--reading:940px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,Helvetica,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,svg,video,iframe{max-width:100%;height:auto}table{max-width:100%;border-collapse:collapse}.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}.narrow-container{width:min(calc(100% - 48px),var(--reading));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;left:16px;top:12px;transform:translateY(-150%);background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}.skip-link:focus{transform:translateY(0)}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,232,237,.92);transition:box-shadow .2s}.site-header.is-scrolled{box-shadow:0 10px 30px rgba(10,51,83,.07)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:31px;height:31px;display:inline-flex;align-items:flex-end;gap:3px}.brand-mark i{display:block;width:5px;background:var(--cyan);border-radius:1px 1px 0 0}.brand-mark i:nth-child(1){height:10px}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:27px}.brand-mark i:nth-child(4){height:14px;background:var(--teal)}.brand-copy{display:grid;gap:2px}.brand-copy strong{font-size:23px;letter-spacing:.13em;font-weight:650;line-height:1}.brand-copy small{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.primary-nav{display:flex;align-items:center;gap:20px}.primary-nav ul,.primary-nav .menu,.fallback-menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.primary-nav li{position:relative;margin:0;padding:0}.primary-nav a{display:block;padding:12px 0;font-size:14px;font-weight:600;color:var(--ink)}.primary-nav li.active>a,.primary-nav a:hover{color:#0d7896}.primary-nav ul ul{display:none;position:absolute;top:100%;left:-18px;min-width:320px;padding:12px 18px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.primary-nav li:hover>ul{display:block}.primary-nav ul ul li{width:100%}.primary-nav ul ul a{padding:9px 0;font-size:13px;line-height:1.35}.language-slot{margin-left:8px}.language-slot ul{gap:8px}.language-slot img{width:auto;max-height:18px}.nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:9px;cursor:pointer}.nav-toggle span:not(.sr-only){display:block;height:2px;background:var(--ink);margin:5px 0}

/* Hero */
.hero{overflow:hidden;background:radial-gradient(circle at 82% 26%,rgba(23,144,189,.12),transparent 26%),linear-gradient(100deg,#fff 0%,#fff 44%,#f5fbfd 100%);border-bottom:1px solid var(--line)}.hero-grid{min-height:590px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr)}.hero-copy{padding:90px 58px 84px 0;align-self:center}.eyebrow{margin:0 0 17px;color:#176889;font-size:12px;font-weight:750;letter-spacing:.2em;text-transform:uppercase}.eyebrow.light{color:#a9d8e5}.hero h1{max-width:820px;margin:0;color:var(--ink);font-size:clamp(42px,4.5vw,72px);line-height:1.02;letter-spacing:-.04em;font-weight:650}.hero-lead{max-width:760px;margin:28px 0 0;color:var(--text);font-size:clamp(18px,1.45vw,22px);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 24px;border:1px solid transparent;border-radius:8px;font-size:15px;font-weight:650;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff!important;background:linear-gradient(135deg,#07557a,#0a3959);box-shadow:0 12px 24px rgba(10,51,83,.16)}.button-secondary{background:#fff;border-color:#176889;color:var(--ink)!important}.hero-visual{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(220,232,237,.65)}.hero-visual svg{width:94%}.bars rect{fill:rgba(23,144,189,.14)}.curve{fill:none;stroke-width:2.2}.curve-one{stroke:#147dad}.curve-two{stroke:#0ea8b4}.curve-dash{stroke:#3a9cc3;stroke-dasharray:5 8}.network-lines line{stroke:#328fb1;stroke-width:1.1;opacity:.75}.network-nodes circle{fill:#147b9e}.network-nodes circle:nth-child(3n){fill:#10a8aa}.visual-label{position:absolute;z-index:2;top:45px;left:26px;font-size:12px;line-height:1.75;letter-spacing:.2em;text-transform:uppercase;color:#2b6b87}

/* Home sections */
.section{padding:82px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-heading h2,.publications-panel h2,.contact-cta h2{margin:0;color:var(--ink);font-size:clamp(30px,3vw,46px);line-height:1.08;letter-spacing:-.03em;font-weight:650}.expertise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.expertise-card{min-height:175px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:15px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(10,51,83,.035);transition:transform .2s,box-shadow .2s,border-color .2s}.expertise-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#bad9e4}.expertise-card strong{display:block;margin-bottom:7px;font-size:17px;line-height:1.3}.expertise-card small{display:block;color:var(--text);font-size:13px;line-height:1.5}.card-number{font-size:11px;letter-spacing:.14em;color:#4a879e}.card-arrow{align-self:end;padding-bottom:4px;font-size:21px;color:#176889}.home-content-section{background:#f7fbfc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-component{font-size:16px}.home-component h2,.home-component h3{margin-top:38px}.home-component h2:first-child{margin-top:0}.home-component p{color:var(--text)}.home-component a{color:#0d7896;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.home-component img{border-radius:10px}.publications-section{background:#fff}.publications-panel{display:grid;grid-template-columns:1fr auto;gap:38px;align-items:center;padding:40px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#f8fbfc,#edf6f9)}.publications-panel p{max-width:760px;color:var(--text)}

/* Interior shell */
.breadcrumbs-bar{padding:12px 0;background:#f7fafb;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.breadcrumbs-bar ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}.interior-shell{min-height:66vh;padding:66px 0 82px;background:linear-gradient(180deg,#f7fbfc 0,#fff 210px)}.interior-container{display:grid;grid-template-columns:minmax(0,1fr);gap:38px}.interior-container.has-left{grid-template-columns:240px minmax(0,1fr)}.interior-container.has-right{grid-template-columns:minmax(0,1fr) 240px}.interior-container.has-left.has-right{grid-template-columns:220px minmax(0,1fr) 220px}.content-main{min-width:0}.component-frame{width:min(100%,var(--reading));margin:0 auto;padding:42px 48px;background:#fff;border:1px solid #e3edf1;border-radius:18px;box-shadow:0 16px 45px rgba(10,51,83,.05)}.is-reference-detail .component-frame{width:min(100%,1100px)}.is-references-index .component-frame{width:min(100%,1120px)}.is-contact-page .component-frame{width:min(100%,900px)}.before-content,.after-content{width:min(100%,var(--reading));margin:0 auto 26px}.after-content{margin:26px auto 0}.sidebar .moduletable{margin-bottom:22px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.sidebar h3{margin-top:0}.sidebar ul{list-style:none;padding:0;margin:0}.sidebar li{margin:0 0 9px}

/* Generic Joomla content */
.component-frame h1,.component-frame .page-header h1,.component-frame .page-header h2,.component-frame>.item-page>h2:first-child,.component-frame>.blog>h2:first-child{margin:0 0 30px;color:var(--ink);font-size:clamp(36px,4vw,58px);line-height:1.06;letter-spacing:-.035em;font-weight:650;text-transform:none}.component-frame h2{margin:42px 0 18px;color:var(--ink);font-size:30px;line-height:1.16;letter-spacing:-.02em}.component-frame h3{margin:34px 0 14px;color:var(--ink2);font-size:23px;line-height:1.25}.component-frame h4{margin:26px 0 10px;color:var(--ink2);font-size:18px;line-height:1.35}.component-frame p,.component-frame li,.component-frame dd{color:var(--text);font-size:16px;line-height:1.72}.component-frame p{margin:0 0 17px}.component-frame ul,.component-frame ol{padding-left:1.25em}.component-frame a{color:#0c7898;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}.component-frame a:hover{color:#075673}.component-frame img{max-width:100%!important;height:auto!important;margin:10px 10px 18px 0;border-radius:10px}.component-frame hr{border:0;border-top:1px solid var(--line);margin:34px 0}.component-frame blockquote{margin:30px 0;padding:20px 24px;background:#f6fafb;border-left:4px solid var(--teal);border-radius:0 10px 10px 0;color:var(--text)}.component-frame table{width:100%;display:block;overflow-x:auto;margin:26px 0;border:1px solid var(--line);border-radius:10px}.component-frame th,.component-frame td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.component-frame th{background:#f2f8fa;color:var(--ink)}.component-frame .readmore a,.component-frame a.readmore{display:inline-flex;padding:9px 14px;border:1px solid #aacbd7;border-radius:7px;text-decoration:none;font-weight:650}.article-info,.article-info-term,.createdby,.published{color:var(--muted);font-size:12px}.items-row,.items-leading>div{margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid var(--line)}.pagination,.pagination ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0}.pagination a,.pagination span{display:grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:7px;text-decoration:none}.category-list table{width:100%}

/* Forms: contact, search, login */
.component-frame form{max-width:760px}.component-frame fieldset{margin:0 0 24px;padding:0;border:0}.component-frame legend{margin-bottom:18px;color:var(--ink);font-size:20px;font-weight:650}.component-frame label{display:block;margin:0 0 7px;color:var(--ink);font-size:13px;font-weight:650}.component-frame input[type="text"],.component-frame input[type="email"],.component-frame input[type="password"],.component-frame input[type="search"],.component-frame textarea,.component-frame select{width:100%;max-width:100%;min-height:46px;padding:10px 12px;border:1px solid #c7dbe3;border-radius:8px;background:#fff;color:var(--ink);font:inherit;outline:none}.component-frame textarea{min-height:150px;resize:vertical}.component-frame input:focus,.component-frame textarea:focus,.component-frame select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,157,166,.12)}.component-frame button,.component-frame input[type="submit"],.component-frame .button{min-height:46px;padding:0 20px;border:0;border-radius:8px;background:var(--ink);color:#fff!important;font-weight:650;cursor:pointer;text-decoration:none}.contact h3{margin-top:12px}.contact-address,.contact-contactinfo,.contact-miscinfo{padding:18px 20px;background:#f7fbfc;border:1px solid var(--line);border-radius:10px}.contact-form{margin-top:28px}.login,.registration,.reset,.remind,.search,.finder{max-width:760px}

/* Services: class-only enhancement, no node moving */
.is-service-page .component-frame{width:min(100%,1020px)}.is-service-page .service-title{margin-bottom:28px!important}.is-service-page .service-objective{margin:0 0 24px!important;padding:24px 26px!important;background:linear-gradient(135deg,#eef8fa,#fbfdfe)!important;border:1px solid #cfe4ea!important;border-left:4px solid var(--teal)!important;border-radius:12px!important;color:var(--ink)!important;font-size:17px!important;line-height:1.65!important;text-transform:none!important}.is-service-page .service-definition{margin:0 0 24px!important;padding-left:20px;border-left:2px solid #d6e7ed;color:var(--text)!important;font-size:16px!important;line-height:1.72!important}.is-service-page .service-section-title{margin:40px 0 18px!important;padding-top:6px;color:var(--ink)!important;font-size:25px!important;text-transform:none!important}.is-service-page .service-offer{position:relative;margin:10px 0!important;padding:16px 18px 16px 46px!important;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--ink)!important;font-size:15px!important;line-height:1.55!important;font-weight:600!important;text-transform:none!important}.is-service-page .service-offer:before{content:"→";position:absolute;left:18px;top:16px;color:var(--teal);font-weight:700}.is-service-page .service-validation{clear:both!important;float:none!important;position:static!important;display:block!important;width:100%!important;height:auto!important;margin:28px 0!important;padding:24px 26px!important;overflow:visible!important;background:#f7fbfc!important;border:1px solid #cfe2e8!important;border-left:4px solid #147b9e!important;border-radius:12px!important;color:var(--text)!important;font-size:16px!important;line-height:1.7!important;font-weight:400!important;text-transform:none!important;white-space:normal!important}.is-service-page .service-validation:before{content:"Validation indépendante des modèles";display:block;margin:0 0 9px;color:var(--ink);font-size:20px;line-height:1.3;font-weight:650}.is-service-page .service-categories-title{margin-top:48px!important;padding-top:24px;border-top:1px solid var(--line)}.is-service-page .service-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;list-style:none!important;padding:0!important}.is-service-page .service-categories li{margin:0!important}.is-service-page .service-categories a{display:block;height:100%;padding:13px 15px;background:#f8fbfc;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:13px;font-weight:600}.is-service-page .obsolete-link{color:var(--muted)!important;text-decoration:none!important;cursor:default}.contact-cta-interior{margin-top:0}

/* References index */
.is-references-index .reference-section{margin:0 0 22px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 9px 25px rgba(10,51,83,.035)}.is-references-index .reference-section h2{margin-top:0}.is-references-index .reference-section img{max-width:120px!important;float:left;margin:0 22px 12px 0}.is-references-index .reference-section:after{content:"";display:block;clear:both}.is-references-index .reference-section .readmore,.is-references-index .reference-section a[href*="study-reports"],.is-references-index .reference-section a[href*="publications"],.is-references-index .reference-section a[href*="communications"],.is-references-index .reference-section a[href*="posters"]{font-weight:650}

/* Long reference pages */
.is-reference-detail .component-frame{padding:44px 52px}.is-reference-detail .component-frame>div>h2:first-child,.is-reference-detail .component-frame h1:first-child{margin-bottom:32px}.is-reference-detail .component-frame p{padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid #edf2f4}.is-reference-detail .component-frame p:last-child{border-bottom:0}.is-reference-detail .component-frame img{max-width:100px!important;float:left;margin:3px 18px 10px 0}.is-reference-detail .component-frame h2,.is-reference-detail .component-frame h3{clear:both}.is-reference-detail .reference-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none!important;padding:0!important;margin-top:36px!important}.is-reference-detail .reference-nav a{display:block;padding:12px;background:#f7fbfc;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:13px;font-weight:650}

/* Teaching */
.is-teaching-page .component-frame{width:min(100%,980px)}.is-teaching-page .teaching-lead{margin:0 0 26px!important;padding:22px 24px;background:#f1f8fa;border:1px solid #cfe2e8;border-radius:12px;font-size:17px!important}.is-teaching-page .course-item{position:relative;margin:10px 0!important;padding:17px 18px 17px 46px!important;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--ink)!important;font-weight:600}.is-teaching-page .course-item:before{content:"•";position:absolute;left:20px;color:var(--teal);font-size:24px;line-height:1}.is-teaching-page a[href*="univ-lemans.fr"]{font-weight:650}

/* Contact */
.is-contact-page .component-frame{background:linear-gradient(180deg,#fff,#fbfdfe)}.is-contact-page .contact>h3,.is-contact-page .contact .contact-name{color:var(--ink)}.is-contact-page .contact-miscinfo img{max-width:180px!important}

/* Footer / CTA */
.contact-cta{padding:66px 0;color:#fff;background:radial-gradient(circle at 86% 44%,rgba(28,145,170,.33),transparent 30%),linear-gradient(118deg,#073956 0%,#064665 55%,#082f4a 100%)}.cta-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:56px}.contact-cta h2{max-width:900px;color:#fff}.contact-cta p:not(.eyebrow){max-width:780px;margin:14px 0 0;color:#cbe1e9;font-size:17px}.button-light{min-width:180px;color:var(--ink)!important;background:#fff}.site-footer{padding:36px 0;background:#06283e;color:#d5e5eb}.footer-grid{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:36px}.footer-brand .brand-copy strong{color:#fff;font-size:18px}.footer-brand .brand-copy small{color:#8fb3c1}.site-footer p{margin:0;font-size:12px;color:#9ebbc6}.site-footer ul,.footer-fallback{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:0;padding:0}.site-footer a{color:#d5e5eb;font-size:13px}.error-shell{padding:12vh 0}.error-shell h1{font-size:100px;margin:0}

/* FaLang credit is preserved; paid FaLang editions can remove it through the extension itself. */

/* Responsive */
@media(max-width:1160px){.hero-grid{grid-template-columns:1fr .9fr}.hero-copy{padding-right:34px}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-nav ul,.primary-nav .menu,.fallback-menu{gap:17px}.primary-nav a{font-size:13px}}
@media(max-width:920px){.container,.narrow-container{width:min(calc(100% - 32px),var(--container))}.header-inner{min-height:72px}.brand-copy strong{font-size:20px}.brand-copy small{display:none}.nav-toggle{display:block}.primary-nav{position:absolute;left:16px;right:16px;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.primary-nav.is-open{display:flex}.primary-nav ul,.primary-nav .menu,.fallback-menu{flex-direction:column;align-items:stretch;gap:3px}.primary-nav ul ul{display:block;position:static;min-width:0;padding:0 0 0 18px;border:0;box-shadow:none}.language-slot{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line)}.hero-grid{min-height:0;grid-template-columns:1fr}.hero-copy{padding:66px 0 32px}.hero-visual{min-height:380px;border-left:0}.section{padding:66px 0}.interior-container,.interior-container.has-left,.interior-container.has-right,.interior-container.has-left.has-right{grid-template-columns:1fr}.component-frame{padding:34px 32px}.publications-panel,.cta-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.reference-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.container,.narrow-container{width:min(calc(100% - 24px),var(--container))}.hero h1{font-size:clamp(38px,12vw,52px)}.hero-lead{font-size:17px}.hero-actions{flex-direction:column}.button{width:100%}.hero-visual{min-height:285px}.expertise-grid{grid-template-columns:1fr}.expertise-card{min-height:145px;padding:21px}.interior-shell{padding:42px 0 58px}.component-frame,.is-reference-detail .component-frame{padding:28px 22px;border-radius:12px}.component-frame h1,.component-frame .page-header h1,.component-frame .page-header h2,.component-frame>.item-page>h2:first-child{font-size:36px}.is-service-page .service-categories{grid-template-columns:1fr}.is-references-index .reference-section{padding:22px}.is-references-index .reference-section img,.is-reference-detail .component-frame img{float:none;max-width:140px!important}.reference-nav{grid-template-columns:1fr!important}.contact-cta{padding:52px 0}.publications-panel{padding:28px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* =====================================================================
   v2.1 — finition globale
   ===================================================================== */

/* FaLang: attribution preserved, visually integrated */
.compact-falang-credit .falang-credit{
  clear:both!important;
  display:block!important;
  margin:30px 0 0!important;
  padding-top:14px!important;
  border-top:1px solid #edf2f4!important;
  color:#91a3ad!important;
  font-size:10px!important;
  line-height:1.4!important;
  text-align:center!important;
}
.compact-falang-credit .falang-credit a,
.compact-falang-credit .falang-credit-link{
  color:#8198a4!important;
  font-size:10px!important;
  font-weight:400!important;
  text-decoration:none!important;
}

/* Home: clean legacy content, retain news */
.home-component .legacy-home-hidden,
.home-component .legacy-news-duplicate{display:none!important}
.home-component.home-news-stream{
  width:min(100%,1040px);
  margin:0 auto;
}
.home-component .home-news-title{
  margin:0 0 28px!important;
  color:var(--ink)!important;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
}
.home-component.home-news-stream>p{
  margin:0!important;
  padding:18px 0!important;
  border-bottom:1px solid #e6eef1;
}
.home-component.home-news-stream>p:last-child{border-bottom:0}
.home-component.home-news-stream h3,
.home-component.home-news-stream h4{
  margin-top:30px;
  color:var(--ink2);
}

/* Reference landing: 2 x 2 editorial cards */
.is-references-index .references-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.is-references-index .references-grid>.reference-section{
  height:100%;
  margin:0;
  display:flex;
  flex-direction:column;
}
.is-references-index .references-grid>.reference-section h2{
  font-size:25px;
  line-height:1.15;
}
.is-references-index .references-grid>.reference-section .readmore,
.is-references-index .references-grid>.reference-section p:last-child{
  margin-top:auto;
}
.is-references-index .references-grid>.reference-section img{
  float:none!important;
  display:block;
  width:auto;
  max-width:150px!important;
  margin:0 0 20px!important;
}

/* Reference detail: cleaner long-form rhythm */
.is-reference-detail .component-frame h2{
  margin-top:52px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.is-reference-detail .component-frame h2:first-child{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.is-reference-detail .component-frame p{
  orphans:3;
  widows:3;
}

/* Contact */
.is-contact-page .contact-intro{
  display:grid;
  gap:7px;
  margin:-4px 0 32px;
  padding:24px 26px;
  background:linear-gradient(135deg,#eef8fa,#fbfdfe);
  border:1px solid #cfe4ea;
  border-left:4px solid var(--teal);
  border-radius:12px;
}
.is-contact-page .contact-intro strong{
  color:var(--ink);
  font-size:22px;
  line-height:1.25;
}
.is-contact-page .contact-intro span{
  max-width:680px;
  color:var(--text);
  font-size:15px;
  line-height:1.65;
}
.is-contact-page .contact-empty{display:none!important}
.is-contact-page .contact{
  display:block;
}
.is-contact-page .contact h2:first-of-type{
  margin-top:0;
}
.is-contact-page .contact-address,
.is-contact-page .contact-contactinfo,
.is-contact-page .contact-miscinfo{
  margin:18px 0;
}
.is-contact-page .contact-form{
  padding-top:8px;
}
.is-contact-page .contact-form fieldset{
  display:grid;
  gap:16px;
}
.is-contact-page .contact-form .control-group,
.is-contact-page .contact-form dl{
  margin:0;
}

/* Empty legacy output */
.component-frame table:empty{display:none}

/* Small polish */
.component-frame .content-page-title{
  position:relative;
}
.component-frame .content-page-title:after{
  content:"";
  display:block;
  width:58px;
  height:3px;
  margin-top:18px;
  background:linear-gradient(90deg,var(--cyan),var(--teal));
  border-radius:3px;
}
.is-service-page .service-objective,
.is-teaching-page .teaching-lead,
.is-contact-page .contact-intro{
  box-shadow:0 8px 24px rgba(10,51,83,.035);
}

@media(max-width:760px){
  .is-references-index .references-grid{grid-template-columns:1fr}
  .is-contact-page .contact-intro{padding:21px}
}


/* =====================================================================
   v2.2 — sélecteur de langue natif FR / EN
   ===================================================================== */
.native-language-switch{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-left:12px;
  padding:4px;
  background:#f4f8fa;
  border:1px solid #dce8ed;
  border-radius:10px;
}
.native-language-switch .language-button{
  min-width:47px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 8px;
  color:#315d72;
  background:transparent;
  border:1px solid transparent;
  border-radius:7px;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.04em;
  text-decoration:none!important;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.native-language-switch a.language-button:hover,
.native-language-switch a.language-button:focus{
  color:#083c59;
  background:#fff;
  border-color:#bfd8e2;
  transform:translateY(-1px);
}
.native-language-switch .language-button.is-current{
  color:#fff;
  background:#0a4d70;
  border-color:#0a4d70;
  cursor:default;
}
.native-language-switch .flag{
  width:18px;
  height:12px;
  display:inline-block;
  flex:0 0 auto;
  border-radius:1px;
  box-shadow:0 0 0 1px rgba(10,51,83,.12);
}
.native-language-switch .flag-fr{
  background:linear-gradient(90deg,#173f8f 0 33.333%,#fff 33.333% 66.666%,#e32938 66.666% 100%);
}
.native-language-switch .flag-gb{
  position:relative;
  background:#234b91;
  overflow:hidden;
}
.native-language-switch .flag-gb:before{
  content:"";
  position:absolute;
  left:7px;top:-2px;
  width:4px;height:16px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.15);
}
.native-language-switch .flag-gb:after{
  content:"";
  position:absolute;
  left:-2px;top:4px;
  width:22px;height:4px;
  background:#e3343f;
}
@media(max-width:920px){
  .native-language-switch{
    margin:12px 0 0;
    align-self:flex-start;
  }
}


/* =====================================================================
   v2.3 — Design system / lisibilité / navigation
   ===================================================================== */

:root{
  --container:1280px;
  --reading:900px;
  --measure:74ch;
  --radius:16px;
  --radius-sm:10px;
  --space-1:6px;
  --space-2:10px;
  --space-3:16px;
  --space-4:24px;
  --space-5:32px;
  --space-6:48px;
  --space-7:64px;
  --text-base:16.5px;
  --text-small:13px;
  --shadow-soft:0 10px 30px rgba(10,51,83,.055);
  --shadow-card:0 16px 42px rgba(10,51,83,.065);
}

/* Base typography */
body{
  font-size:var(--text-base);
  line-height:1.68;
  text-rendering:optimizeLegibility;
  font-kerning:normal;
}
button,input,select,textarea{
  font:inherit;
}
p,li,dd,dt,label,input,textarea,select,button{
  letter-spacing:0;
}
::selection{
  background:rgba(15,157,166,.18);
  color:var(--ink);
}

/* Accessible keyboard focus */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus{
  outline:3px solid rgba(15,157,166,.25);
  outline-offset:3px;
}
@supports selector(:focus-visible){
  a:focus:not(:focus-visible),
  button:focus:not(:focus-visible),
  input:focus:not(:focus-visible),
  textarea:focus:not(:focus-visible),
  select:focus:not(:focus-visible){outline:none}
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible{
    outline:3px solid rgba(15,157,166,.28);
    outline-offset:3px;
  }
}

/* Header and navigation */
.site-header{
  background:rgba(255,255,255,.975);
}
.header-inner{
  min-height:76px;
  gap:24px;
}
.brand{
  gap:11px;
}
.brand-copy strong{
  font-size:21px;
  letter-spacing:.12em;
  font-weight:680;
}
.brand-copy small{
  font-size:7.5px;
  letter-spacing:.11em;
}
.primary-nav{
  gap:14px;
}
.primary-nav ul,
.primary-nav .menu,
.fallback-menu{
  gap:6px;
}
.primary-nav a{
  position:relative;
  padding:10px 11px;
  border-radius:7px;
  font-size:13.5px;
  line-height:1.2;
  font-weight:620;
  transition:color .16s ease,background .16s ease;
}
.primary-nav a:hover{
  background:#f3f8fa;
}
.primary-nav li.active>a{
  color:#075f7d;
  background:#eef7fa;
}
.primary-nav li.active>a:after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:4px;
  height:2px;
  background:var(--teal);
  border-radius:2px;
}
.primary-nav ul ul{
  top:calc(100% + 3px);
  min-width:300px;
  padding:10px;
  border-radius:12px;
  box-shadow:var(--shadow-card);
}
.primary-nav ul ul a{
  padding:10px 12px;
  border-radius:7px;
  line-height:1.4;
}
.native-language-switch{
  margin-left:6px;
}

/* Hero: same identity, calmer scale */
.hero-grid{
  min-height:535px;
  grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr);
}
.hero-copy{
  padding:76px 56px 72px 0;
}
.hero h1{
  max-width:790px;
  font-size:clamp(40px,4vw,64px);
  line-height:1.04;
  letter-spacing:-.035em;
}
.hero-lead{
  max-width:700px;
  margin-top:24px;
  font-size:clamp(18px,1.35vw,20px);
  line-height:1.65;
}
.hero-actions{
  margin-top:30px;
}
.hero-visual{
  min-height:505px;
}
.eyebrow{
  margin-bottom:14px;
  font-size:11px;
  letter-spacing:.18em;
}

/* Section rhythm */
.section{
  padding:72px 0;
}
.section-heading{
  margin-bottom:28px;
}
.section-heading h2,
.publications-panel h2,
.contact-cta h2{
  font-size:clamp(29px,2.8vw,42px);
  line-height:1.12;
}
.expertise-grid{
  gap:14px;
}
.expertise-card{
  min-height:160px;
  padding:22px;
  border-radius:11px;
}
.expertise-card strong{
  font-size:16px;
}
.expertise-card small{
  font-size:12.5px;
  line-height:1.55;
}
.expertise-card:hover{
  transform:translateY(-3px);
}

/* Interior structure */
.interior-shell{
  padding:54px 0 72px;
  background:
    linear-gradient(180deg,#f5fafc 0,#fff 230px);
}
.interior-container{
  gap:32px;
}
.component-frame{
  padding:50px 56px 54px;
  border-color:#e1ebef;
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
}
.is-service-page .component-frame{
  width:min(100%,960px);
}
.is-reference-detail .component-frame{
  width:min(100%,1040px);
}
.is-references-index .component-frame{
  width:min(100%,1080px);
}

/* Universal content type scale */
.component-frame h1,
.component-frame .page-header h1,
.component-frame .page-header h2,
.component-frame>.item-page>h2:first-child,
.component-frame>.blog>h2:first-child{
  max-width:20ch;
  margin:0 0 30px;
  font-size:clamp(34px,3.4vw,50px);
  line-height:1.08;
  letter-spacing:-.03em;
  font-weight:680;
}
.component-frame h2{
  max-width:28ch;
  margin:48px 0 18px;
  font-size:28px;
  line-height:1.2;
  letter-spacing:-.018em;
  font-weight:650;
}
.component-frame h3{
  max-width:34ch;
  margin:36px 0 13px;
  font-size:21px;
  line-height:1.3;
  font-weight:650;
}
.component-frame h4{
  max-width:42ch;
  margin:28px 0 10px;
  font-size:17px;
  line-height:1.4;
  font-weight:650;
}
.component-frame p,
.component-frame li,
.component-frame dd{
  max-width:var(--measure);
  color:#405967;
  font-size:16px;
  line-height:1.74;
}
.component-frame p{
  margin:0 0 18px;
}
.component-frame ul,
.component-frame ol{
  max-width:var(--measure);
  margin:0 0 24px;
  padding-left:1.35em;
}
.component-frame li{
  margin-bottom:7px;
}
.component-frame li::marker{
  color:#2e839e;
}
.component-frame strong,
.component-frame b{
  color:#183f55;
  font-weight:680;
}
.component-frame a{
  color:#087694;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.component-frame a:hover{
  color:#05546c;
  text-decoration-thickness:2px;
}
.component-frame img{
  margin:14px 14px 24px 0;
}
.component-frame hr{
  margin:42px 0;
}

/* Prevent legacy spacer paragraphs from creating large visual gaps */
.component-frame .legacy-spacer{
  display:none!important;
}

/* Services */
.is-service-page .service-title{
  margin-bottom:26px!important;
}
.is-service-page .service-objective{
  margin:0 0 30px!important;
  padding:22px 24px!important;
  border-left-width:3px!important;
  border-radius:10px!important;
  font-size:16px!important;
  line-height:1.72!important;
  box-shadow:none!important;
}
.is-service-page .service-definition{
  margin:0 0 32px!important;
  padding:2px 0 2px 22px;
  border-left:2px solid #c7dfe7;
  font-size:15.5px!important;
  line-height:1.75!important;
}
.is-service-page .service-section-title{
  margin:46px 0 17px!important;
  padding-top:0!important;
  font-size:23px!important;
  line-height:1.25!important;
}
.is-service-page .service-offer{
  margin:8px 0!important;
  padding:15px 18px 15px 44px!important;
  border-color:#dbe8ed;
  border-radius:9px;
  background:#fbfdfe;
  box-shadow:none;
  font-size:15px!important;
  line-height:1.55!important;
  font-weight:620!important;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.is-service-page .service-offer:hover{
  background:#f5fafb;
  border-color:#bad8e2;
  transform:translateX(2px);
}
.is-service-page .service-offer:before{
  content:"";
  left:19px;
  top:23px;
  width:9px;
  height:9px;
  border:2px solid var(--teal);
  border-radius:50%;
}
.is-service-page .service-validation{
  margin:34px 0!important;
  padding:22px 24px!important;
  border-left-width:3px!important;
  border-radius:10px!important;
  background:#f5fafb!important;
  font-size:15.5px!important;
  line-height:1.72!important;
}
.is-service-page .service-validation:before{
  margin-bottom:10px;
  font-size:18px;
  line-height:1.3;
}
.is-service-page .service-subsection{
  margin:40px 0 14px!important;
  padding-top:24px;
  border-top:1px solid var(--line);
  color:var(--ink)!important;
  font-size:19px!important;
  line-height:1.35!important;
  font-weight:650!important;
  text-transform:none!important;
}
.is-service-page .legacy-method-note{
  margin:0 0 24px!important;
  padding:17px 19px!important;
  background:#f8fbfc;
  border:1px solid #dfebef;
  border-radius:9px;
  color:#4a626f!important;
  font-size:14.5px!important;
  line-height:1.68!important;
}
.is-service-page .service-categories-title{
  margin-top:48px!important;
  padding-top:26px;
  font-size:19px!important;
}
.is-service-page .service-categories{
  gap:8px;
}
.is-service-page .service-categories a{
  padding:12px 14px;
  background:#fbfdfe;
  border-radius:8px;
  font-size:12.5px;
}

/* References */
.is-references-index .references-grid{
  gap:16px;
}
.is-references-index .references-grid>.reference-section{
  padding:26px!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.is-references-index .references-grid>.reference-section h2{
  margin-top:0!important;
  font-size:23px;
}
.is-references-index .references-grid>.reference-section p,
.is-references-index .references-grid>.reference-section li{
  font-size:14.5px;
  line-height:1.65;
}
.is-reference-detail .component-frame h2{
  margin-top:48px;
  padding-top:24px;
}
.reference-nav a{
  line-height:1.45;
}

/* Teaching */
.is-teaching-page .teaching-lead{
  padding:20px 22px;
  border-radius:10px;
  box-shadow:none!important;
}
.is-teaching-page .course-item{
  margin:8px 0!important;
  padding:15px 17px 15px 42px!important;
  border-radius:9px;
  font-size:15px!important;
}

/* Contact */
.is-contact-page .contact-intro{
  margin-bottom:28px;
  padding:21px 23px;
  border-left-width:3px;
  border-radius:10px;
  box-shadow:none!important;
}
.is-contact-page .contact-intro strong{
  font-size:20px;
}
.is-contact-page input[type="text"],
.is-contact-page input[type="email"],
.is-contact-page input[type="tel"],
.is-contact-page textarea,
.is-contact-page select{
  width:100%;
  max-width:680px;
  min-height:44px;
  padding:10px 12px;
  color:var(--ink);
  background:#fff;
  border:1px solid #cadce3;
  border-radius:8px;
  box-shadow:inset 0 1px 2px rgba(10,51,83,.025);
}
.is-contact-page textarea{
  min-height:150px;
  resize:vertical;
}
.is-contact-page label{
  display:block;
  margin-bottom:6px;
  color:#294e62;
  font-size:13px;
  font-weight:650;
}

/* CTA / footer */
.contact-cta{
  padding:58px 0;
}
.cta-grid{
  gap:42px;
}
.contact-cta p:not(.eyebrow){
  font-size:16px;
  line-height:1.65;
}
.site-footer{
  padding:32px 0;
}
.site-footer a{
  line-height:1.4;
}

/* Buttons */
.button{
  min-height:48px;
  padding:0 21px;
  border-radius:8px;
  font-size:14px;
}
.button-primary{
  box-shadow:0 8px 20px rgba(10,51,83,.14);
}

/* Mobile / tablet refinements */
@media(max-width:920px){
  .header-inner{min-height:70px}
  .primary-nav a{padding:11px 10px}
  .hero-copy{padding:58px 0 28px}
  .hero-visual{min-height:330px}
  .component-frame{padding:38px 34px 42px}
  .component-frame h2{margin-top:42px}
}
@media(max-width:640px){
  body{font-size:16px}
  .container,.narrow-container{width:min(calc(100% - 22px),var(--container))}
  .hero h1{font-size:clamp(36px,11vw,48px)}
  .hero-lead{font-size:16.5px}
  .section{padding:58px 0}
  .interior-shell{padding:34px 0 52px}
  .component-frame,.is-reference-detail .component-frame{
    padding:26px 20px 30px;
    border-radius:11px;
  }
  .component-frame h1,
  .component-frame .page-header h1,
  .component-frame .page-header h2,
  .component-frame>.item-page>h2:first-child{
    font-size:33px;
    line-height:1.1;
  }
  .component-frame h2{font-size:24px}
  .component-frame h3{font-size:20px}
  .component-frame p,.component-frame li,.component-frame dd{font-size:15.5px}
  .is-service-page .service-objective,
  .is-service-page .service-validation{
    padding:19px 18px!important;
  }
  .contact-cta{padding:48px 0}
}


/* =====================================================================
   v2.4 — Logo, typographie unifiée et responsive téléphone/tablette
   ===================================================================== */

html,body{
  max-width:100%;
  overflow-x:hidden;
}
body,
input,button,select,textarea{
  font-family:"Aptos","Segoe UI Variable","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
}
body{
  color:#3d5665;
  font-size:16.5px;
  line-height:1.7;
}

/* Real Statésia logo */
.brand-with-logo{
  display:flex;
  align-items:center;
  flex:0 1 auto;
  min-width:0;
  padding:6px 0;
}
.brand-logo{
  display:block;
  width:min(280px,23vw);
  height:auto;
  max-height:58px;
  object-fit:contain;
  object-position:left center;
}
.site-header .brand-mark,
.site-header .brand-copy{
  display:none!important;
}

/* Global readable content */
.component-frame,
.home-component,
.publications-panel,
.reference-section,
.contact-intro,
.sidebar .moduletable{
  font-family:inherit!important;
}
.component-frame p,
.component-frame li,
.component-frame dd,
.home-component p,
.home-component li{
  font-family:inherit!important;
}
.component-frame pre,
.component-frame code{
  max-width:100%;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.component-frame a,
.home-component a,
.site-footer a{
  overflow-wrap:anywhere;
}
.component-frame table,
.home-component table{
  width:100%!important;
  max-width:100%!important;
  border-collapse:collapse;
}
.component-frame img,
.home-component img,
.contact img{
  max-width:100%!important;
  height:auto!important;
}

/* Tablet: switch to compact navigation before menu starts colliding */
@media(max-width:1024px){
  .container,.narrow-container{
    width:min(calc(100% - 36px),var(--container));
  }
  .header-inner{
    min-height:72px;
    position:relative;
    gap:14px;
  }
  .brand-logo{
    width:min(235px,44vw);
    max-height:52px;
  }
  .nav-toggle{
    display:block!important;
    flex:0 0 44px;
    margin-left:auto;
  }
  .primary-nav{
    position:absolute!important;
    z-index:120;
    left:0!important;
    right:0!important;
    top:calc(100% + 1px)!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
    max-height:calc(100vh - 84px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:14px 16px 18px!important;
    background:#fff!important;
    border:1px solid var(--line)!important;
    border-radius:0 0 14px 14px!important;
    box-shadow:0 18px 38px rgba(10,51,83,.12)!important;
  }
  .primary-nav.is-open{
    display:flex!important;
  }
  .primary-nav ul,
  .primary-nav .menu,
  .fallback-menu{
    width:100%;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:3px!important;
  }
  .primary-nav li{
    width:100%;
  }
  .primary-nav a{
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    padding:10px 12px!important;
    border-radius:8px;
  }
  .primary-nav li.active>a:after{
    display:none;
  }
  .primary-nav ul ul{
    position:static!important;
    display:block!important;
    width:100%;
    min-width:0!important;
    margin:2px 0 6px!important;
    padding:2px 0 2px 14px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .primary-nav ul ul a{
    min-height:40px;
    padding:8px 10px!important;
    font-size:13px!important;
  }
  .native-language-switch{
    align-self:flex-start;
    margin:8px 0 0!important;
  }
  .hero-grid{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .hero-copy{
    padding:54px 0 30px!important;
  }
  .hero-visual{
    min-height:320px!important;
    border-left:0!important;
    border-top:1px solid rgba(220,232,237,.7);
  }
  .expertise-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .publications-panel,
  .cta-grid,
  .footer-grid{
    grid-template-columns:1fr!important;
  }
  .cta-grid{
    gap:24px!important;
  }
  .button-light{
    justify-self:start;
  }
  .interior-container,
  .interior-container.has-left,
  .interior-container.has-right,
  .interior-container.has-left.has-right{
    grid-template-columns:1fr!important;
  }
  .sidebar{
    order:2;
  }
  .component-frame,
  .is-reference-detail .component-frame,
  .is-references-index .component-frame,
  .is-contact-page .component-frame{
    width:100%!important;
    max-width:100%!important;
    padding:36px 32px!important;
  }
  .references-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .component-frame table,
  .home-component table{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* Phone */
@media(max-width:700px){
  .container,.narrow-container{
    width:min(calc(100% - 22px),var(--container));
  }
  .header-inner{
    min-height:66px;
  }
  .brand-with-logo{
    max-width:calc(100% - 58px);
  }
  .brand-logo{
    width:min(205px,64vw);
    max-height:47px;
  }
  .nav-toggle{
    width:42px;
    height:42px;
    padding:8px;
  }
  .hero-copy{
    padding:42px 0 28px!important;
  }
  .hero h1{
    font-size:clamp(34px,10.5vw,46px)!important;
    line-height:1.08!important;
  }
  .hero-lead{
    font-size:16.5px!important;
    line-height:1.62!important;
  }
  .hero-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .hero-actions .button{
    width:100%!important;
  }
  .hero-visual{
    display:none!important;
  }
  .section{
    padding:50px 0!important;
  }
  .section-heading{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
  }
  .section-heading h2,
  .publications-panel h2,
  .contact-cta h2{
    font-size:clamp(27px,8vw,36px)!important;
  }
  .expertise-grid,
  .references-grid,
  .is-references-index .references-grid{
    grid-template-columns:1fr!important;
  }
  .expertise-card{
    min-height:0!important;
    grid-template-columns:34px minmax(0,1fr) auto!important;
    padding:18px!important;
    gap:12px!important;
  }
  .interior-shell{
    padding:26px 0 46px!important;
  }
  .component-frame,
  .is-reference-detail .component-frame,
  .is-references-index .component-frame,
  .is-contact-page .component-frame{
    padding:24px 18px 28px!important;
    border-radius:10px!important;
    box-shadow:none!important;
  }
  .component-frame h1,
  .component-frame .page-header h1,
  .component-frame .page-header h2,
  .component-frame>.item-page>h2:first-child,
  .component-frame>.blog>h2:first-child{
    max-width:none!important;
    font-size:clamp(30px,9vw,39px)!important;
    line-height:1.1!important;
    overflow-wrap:anywhere;
  }
  .component-frame h2{
    max-width:none!important;
    font-size:24px!important;
  }
  .component-frame h3{
    max-width:none!important;
    font-size:20px!important;
  }
  .component-frame p,
  .component-frame li,
  .component-frame dd{
    max-width:none!important;
    font-size:15.5px!important;
    line-height:1.7!important;
  }
  .component-frame ul,
  .component-frame ol{
    max-width:none!important;
    padding-left:1.2em!important;
  }
  .component-frame img,
  .home-component img,
  .is-reference-detail .component-frame img,
  .is-references-index .reference-section img{
    float:none!important;
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    margin:14px auto 22px!important;
  }
  .is-service-page .service-objective,
  .is-service-page .service-validation,
  .is-teaching-page .teaching-lead,
  .is-contact-page .contact-intro{
    padding:18px 17px!important;
  }
  .is-service-page .service-offer,
  .is-teaching-page .course-item{
    padding-right:14px!important;
  }
  .publications-panel{
    padding:22px!important;
  }
  .contact-cta{
    padding:44px 0!important;
  }
  .button,
  .button-light{
    width:100%!important;
    min-width:0!important;
  }
  .site-footer{
    padding:28px 0!important;
  }
  .site-footer ul,
  .footer-fallback{
    flex-direction:column!important;
    gap:8px!important;
  }
  .native-language-switch .language-button{
    min-width:54px;
    height:38px;
  }
}

/* Very small phones */
@media(max-width:420px){
  .brand-logo{
    width:min(180px,61vw);
  }
  .component-frame,
  .is-reference-detail .component-frame,
  .is-references-index .component-frame,
  .is-contact-page .component-frame{
    padding-left:15px!important;
    padding-right:15px!important;
  }
  .expertise-card{
    grid-template-columns:30px minmax(0,1fr)!important;
  }
  .expertise-card .card-arrow{
    display:none;
  }
}


/* =====================================================================
   v2.5 — Références / Actualités / Footer juridique
   ===================================================================== */

/* Reference section navigation */
.reference-shell-head{
  width:min(100%,1100px);
  margin:0 auto 22px;
  padding:22px 24px;
  background:#f7fbfc;
  border:1px solid var(--line);
  border-radius:13px;
}
.reference-shell-copy{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:22px;
  margin-bottom:14px;
}
.reference-shell-copy .eyebrow{margin:0}
.reference-shell-intro{
  max-width:720px;
  margin:0;
  color:#536c79;
  font-size:14px;
  line-height:1.6;
  text-align:right;
}
.reference-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.reference-tabs a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:9px 12px;
  color:#2b6178;
  background:#fff;
  border:1px solid #d9e8ed;
  border-radius:8px;
  font-size:13px;
  line-height:1.25;
  font-weight:650;
  text-align:center;
  text-decoration:none!important;
  transition:.16s ease;
}
.reference-tabs a:hover{
  color:#073f5c;
  border-color:#acd1dc;
  background:#f2fafb;
}
.reference-tabs a.is-current{
  color:#fff;
  background:#0a4d70;
  border-color:#0a4d70;
}

/* Landing page cards */
.is-references-index .references-grid{
  gap:18px!important;
}
.is-references-index .references-grid>.reference-section{
  position:relative;
  min-height:270px;
  padding:28px!important;
  background:linear-gradient(145deg,#fff,#f9fcfd);
  border-color:#dce9ee!important;
  border-radius:13px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.is-references-index .references-grid>.reference-section:hover{
  transform:translateY(-3px);
  border-color:#bedbe4!important;
  box-shadow:0 14px 34px rgba(10,51,83,.07)!important;
}
.is-references-index .references-grid>.reference-section h2{
  font-size:24px!important;
  margin-bottom:16px!important;
}

/* Long reference detail pages */
.is-reference-detail .component-frame{
  padding-top:42px!important;
}
.is-reference-detail .component-frame h1,
.is-reference-detail .component-frame .page-header h2,
.is-reference-detail .component-frame>div>h2:first-child{
  margin-bottom:30px!important;
}
.is-reference-detail .component-frame p{
  max-width:none;
  padding:16px 0!important;
  margin:0!important;
  border-bottom:1px solid #e8eff2!important;
  color:#405967;
  line-height:1.72;
}
.is-reference-detail .component-frame p:has(img),
.is-reference-detail .component-frame p.reference-entry{
  padding:20px!important;
  margin:10px 0!important;
  background:#fbfdfe;
  border:1px solid #e1ebef!important;
  border-radius:10px;
}
.is-reference-detail .component-frame h3,
.is-reference-detail .component-frame h4{
  clear:both;
  max-width:none;
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid #dce8ed;
}
.is-reference-detail .component-frame img{
  max-width:92px!important;
  height:auto;
  margin:0 18px 12px 0!important;
  border-radius:7px!important;
  box-shadow:none!important;
}

/* Reports: mission cards */
.reference-reports .component-frame p.reference-entry{
  border-left:3px solid #188eab!important;
}
.reference-reports .component-frame p.reference-entry:before{
  content:"Étude / mission";
  display:block;
  margin-bottom:7px;
  color:#23748e;
  font-size:10px;
  font-weight:750;
  letter-spacing:.13em;
  text-transform:uppercase;
}
html[lang^="en"] .reference-reports .component-frame p.reference-entry:before{
  content:"Study / assignment";
}

/* Publications: bibliographic rhythm */
.reference-publications .component-frame p.reference-entry{
  border-left:3px solid #0f9da6!important;
}
.reference-publications .component-frame p.reference-entry a{
  font-weight:650;
}
.reference-publications .component-frame h4{
  color:#1a6079;
  font-size:18px!important;
}

/* Conferences: timeline feeling */
.reference-conferences .component-frame p.reference-entry{
  position:relative;
  padding-left:26px!important;
  border-left:2px solid #c8e1e8!important;
}
.reference-conferences .component-frame p.reference-entry:before{
  content:"";
  position:absolute;
  left:-6px;
  top:25px;
  width:10px;
  height:10px;
  background:#0f9da6;
  border:3px solid #fff;
  border-radius:50%;
  box-shadow:0 0 0 1px #b9d7df;
}

/* Posters: title-led cards */
.reference-posters .component-frame h4{
  margin-top:26px!important;
  padding:20px 22px 6px!important;
  background:#f7fbfc;
  border:1px solid #e0ebef;
  border-bottom:0;
  border-radius:10px 10px 0 0;
}
.reference-posters .component-frame h4 + p{
  padding:10px 22px 20px!important;
  background:#f7fbfc;
  border:1px solid #e0ebef!important;
  border-top:0!important;
  border-radius:0 0 10px 10px;
}

/* News / Actualités */
.news-section{
  background:#f5fafc;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.news-heading{
  align-items:flex-end;
}
.news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.news-card{
  min-height:285px;
  display:flex;
  flex-direction:column;
  padding:25px;
  background:#fff;
  border:1px solid #dce9ee;
  border-radius:13px;
  box-shadow:0 8px 24px rgba(10,51,83,.035);
}
.news-meta{
  margin:0 0 13px;
  color:#25728d;
  font-size:10.5px;
  line-height:1.3;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.news-card h3{
  margin:0 0 14px;
  color:var(--ink);
  font-size:19px;
  line-height:1.32;
  letter-spacing:-.01em;
}
.news-card p:not(.news-meta){
  margin:0 0 20px;
  color:#536b78;
  font-size:14px;
  line-height:1.65;
}
.news-card>a{
  margin-top:auto;
  color:#176f8b;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
.news-card>a:hover{text-decoration:underline}
.news-module .moduletable{margin:0}

/* Footer: legal link and stronger navigation */
.footer-fallback{
  align-items:center;
}
.footer-fallback a:last-child{
  padding-left:17px;
  border-left:1px solid rgba(213,229,235,.24);
}
.site-footer a:hover{
  color:#fff;
}

/* Tablet / phone */
@media(max-width:900px){
  .reference-shell-copy{
    display:block;
  }
  .reference-shell-intro{
    margin-top:8px;
    text-align:left;
  }
  .reference-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .news-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:640px){
  .reference-shell-head{
    padding:17px;
  }
  .reference-tabs{
    grid-template-columns:1fr;
  }
  .news-grid{
    grid-template-columns:1fr;
  }
  .news-card{
    min-height:0;
    padding:21px;
  }
  .is-reference-detail .component-frame p.reference-entry{
    padding:17px!important;
  }
  .reference-posters .component-frame h4{
    padding:17px 17px 5px!important;
  }
  .reference-posters .component-frame h4 + p{
    padding:9px 17px 17px!important;
  }
  .footer-fallback a:last-child{
    padding-left:0;
    border-left:0;
  }
}

/* v2.7 — modernisation du bloc historique de l'accueil */
body.is-home .home-legacy-modern{width:min(100%,1100px);margin:0 auto}
body.is-home .home-legacy-title{margin:0 0 14px!important;max-width:760px;color:var(--ink);font-size:clamp(27px,3.1vw,40px)!important;line-height:1.12!important;letter-spacing:-.025em}
body.is-home .home-legacy-kicker{display:inline-flex;align-items:center;gap:9px;margin:0 0 17px!important;padding:0!important;border:0!important;color:#18778e!important;font-size:11px!important;font-weight:750!important;letter-spacing:.13em;text-transform:uppercase}
body.is-home .home-legacy-kicker:before{content:"";width:27px;height:2px;background:var(--teal);border-radius:2px}
body.is-home .home-legacy-welcome{display:none!important}
body.is-home .home-legacy-intro{max-width:860px!important;margin:0 0 27px!important;padding:0!important;border:0!important;color:#526b78!important;font-size:16.5px!important;line-height:1.75!important}
body.is-home .home-legacy-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
body.is-home .home-legacy-service{position:relative;min-height:150px;margin:0!important;padding:23px 23px 21px 67px!important;background:#fff;border:1px solid #dce9ee!important;border-radius:12px;color:#425d6b!important;font-size:14.5px!important;line-height:1.65!important;box-shadow:0 8px 24px rgba(10,51,83,.035);transition:.18s ease}
body.is-home .home-legacy-service:hover{transform:translateY(-2px);border-color:#bddce5!important;box-shadow:0 13px 30px rgba(10,51,83,.065)}
body.is-home .home-legacy-service:before{content:attr(data-index);position:absolute;left:22px;top:22px;display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:#edf8f9;color:#0f8f98;font-size:11px;font-weight:800}
body.is-home .home-legacy-service a{color:#176f8b!important;font-weight:700!important;text-decoration:none!important;border-bottom:1px solid rgba(23,111,139,.22)}
body.is-home .home-legacy-service a:hover{border-bottom-color:#176f8b}
@media(max-width:820px){body.is-home .home-legacy-services{grid-template-columns:1fr}}
@media(max-width:520px){body.is-home .home-legacy-service{min-height:0;padding:19px 18px 18px 58px!important}body.is-home .home-legacy-service:before{left:17px;top:18px;width:29px;height:29px}}


/* =====================================================================
   v2.8 — strict bilingual mirror
   ===================================================================== */
.statesia-universal29 .mirror-brand{
  display:grid;
  grid-template-rows:auto auto;
  gap:2px;
  width:226px;
  text-decoration:none!important;
}
.statesia-universal29 .mirror-brand-wordmark{
  display:block;
  width:226px;
  height:38px;
  overflow:hidden;
}
.statesia-universal29 .mirror-brand-wordmark .brand-logo{
  display:block;
  width:226px!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
}
.statesia-universal29 .mirror-brand-tagline{
  display:block;
  padding-left:41px;
  color:#55778d;
  font-size:8.5px;
  line-height:1.1;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}
.statesia-universal29 .mirror-section-intro{
  max-width:850px;
  margin-bottom:28px;
}
.statesia-universal29 .mirror-section-intro h2,
.statesia-universal29 .mirror-page-head h1{
  max-width:20ch;
  margin:8px 0 14px;
  color:var(--ink);
  font-size:clamp(30px,4vw,48px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.statesia-universal29 .mirror-section-intro>p:last-child,
.statesia-universal29 .mirror-page-head>p:last-child,
.statesia-universal29 .mirror-lead{
  max-width:780px;
  color:#526b78;
  font-size:16.5px;
  line-height:1.72;
}
.statesia-universal29 .mirror-home-about{
  background:#fff;
}
.statesia-universal29 .mirror-pillar-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.statesia-universal29 .mirror-pillar-grid>a{
  position:relative;
  display:grid;
  grid-template-columns:38px 1fr;
  grid-template-rows:auto auto;
  column-gap:14px;
  min-height:145px;
  padding:23px;
  background:#f9fcfd;
  border:1px solid #dce9ee;
  border-radius:12px;
  text-decoration:none!important;
  transition:.18s ease;
}
.statesia-universal29 .mirror-pillar-grid>a:hover{
  transform:translateY(-2px);
  background:#fff;
  border-color:#b8d9e2;
  box-shadow:0 12px 28px rgba(10,51,83,.06);
}
.statesia-universal29 .mirror-pillar-grid span{
  grid-row:1/3;
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;height:32px;
  border-radius:50%;
  background:#eaf7f7;
  color:#0f8f98;
  font-size:10px;
  font-weight:800;
}
.statesia-universal29 .mirror-pillar-grid strong{
  color:var(--ink);
  font-size:17px;
  line-height:1.3;
}
.statesia-universal29 .mirror-pillar-grid small{
  margin-top:7px;
  color:#5b7280;
  font-size:13.5px;
  line-height:1.55;
}
.statesia-universal29 .mirror-native-page{
  max-width:1100px;
  margin:0 auto;
}
.statesia-universal29 .mirror-page-head{
  margin-bottom:34px;
  padding-bottom:25px;
  border-bottom:1px solid #dfe9ed;
}
.statesia-universal29 .mirror-reference-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.statesia-universal29 .mirror-reference-card{
  display:flex;
  flex-direction:column;
  min-height:245px;
  padding:25px;
  background:#fbfdfe;
  border:1px solid #dce9ee;
  border-radius:12px;
  text-decoration:none!important;
  transition:.18s ease;
}
.statesia-universal29 .mirror-reference-card:hover{
  transform:translateY(-2px);
  border-color:#b8d9e2;
  box-shadow:0 12px 28px rgba(10,51,83,.055);
}
.statesia-universal29 .mirror-card-number{
  color:#0f9da6;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.statesia-universal29 .mirror-reference-card h2{
  margin:17px 0 10px;
  color:var(--ink);
  font-size:23px;
  line-height:1.25;
}
.statesia-universal29 .mirror-reference-card p{
  margin:0 0 20px!important;
  padding:0!important;
  border:0!important;
  color:#566f7d;
  font-size:14.5px;
  line-height:1.65;
}
.statesia-universal29 .mirror-card-link{
  margin-top:auto;
  color:#176f8b;
  font-size:13px;
  font-weight:750;
}
.statesia-universal29 .mirror-definition{
  margin:0 0 28px;
  padding:23px 25px;
  background:#f4fafb;
  border-left:3px solid var(--teal);
  border-radius:0 10px 10px 0;
}
.statesia-universal29 .mirror-definition h2,
.statesia-universal29 .mirror-offers h2{
  margin:0 0 10px;
  color:var(--ink);
  font-size:22px;
}
.statesia-universal29 .mirror-definition p,
.statesia-universal29 .mirror-method-note p{
  max-width:78ch!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.statesia-universal29 .mirror-offers{
  margin:32px 0;
}
.statesia-universal29 .mirror-offer-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.statesia-universal29 .mirror-offer{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:start;
  padding:17px 18px;
  background:#fff;
  border:1px solid #e0eaee;
  border-radius:9px;
}
.statesia-universal29 .mirror-offer span{
  display:flex;align-items:center;justify-content:center;
  width:29px;height:29px;border-radius:50%;
  background:#edf8f9;color:#0d8b94;font-size:10px;font-weight:800;
}
.statesia-universal29 .mirror-offer p{
  margin:3px 0 0!important;
  padding:0!important;
  border:0!important;
  color:#405c6a;
  font-size:14px;
  line-height:1.55;
}
.statesia-universal29 .mirror-method-note{
  margin-top:28px;
  padding:21px 23px;
  background:#f8fafb;
  border:1px solid #e1e9ed;
  border-radius:10px;
}
.statesia-universal29 .mirror-method-note strong{
  display:block;
  margin-bottom:7px;
  color:#1a6079;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.statesia-universal29 .mirror-course-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.statesia-universal29 .mirror-course-grid>div{
  padding:23px;
  background:#f9fcfd;
  border:1px solid #dde9ed;
  border-radius:11px;
}
.statesia-universal29 .mirror-course-grid span{
  color:#0f9da6;font-size:11px;font-weight:800;
}
.statesia-universal29 .mirror-course-grid h2{
  margin:14px 0 9px;
  color:var(--ink);
  font-size:19px;
  line-height:1.3;
}
.statesia-universal29 .mirror-course-grid p{
  margin:0!important;padding:0!important;border:0!important;
  color:#566f7d;font-size:14px;line-height:1.6;
}
.statesia-universal29 .mirror-external-link{
  margin:24px 0 0!important;padding:0!important;border:0!important;
}
.statesia-universal29 .mirror-contact-intro{
  max-width:820px;
  margin:0 auto 22px;
  padding:0 4px;
}
.statesia-universal29 .mirror-contact-intro h1{
  margin:8px 0 13px;
  color:var(--ink);
  font-size:clamp(30px,4vw,46px);
  line-height:1.1;
}
.statesia-universal29 .mirror-contact-intro>p:last-child{
  max-width:70ch;
  color:#526b78;
  font-size:16px;
  line-height:1.7;
}
.statesia-universal29 .mirror-contact-component h1,
.statesia-universal29 .mirror-contact-component .page-header{
  display:none!important;
}
.statesia-universal29 .mirror-footer-brand small{
  text-transform:none;
}
/* Clean historic visual markers consistently in either language */
.statesia-universal29 .component-frame h1:empty,
.statesia-universal29 .component-frame h2:empty,
.statesia-universal29 .component-frame h3:empty,
.statesia-universal29 .component-frame h4:empty{
  display:none!important;
}
@media(max-width:900px){
  .statesia-universal29 .mirror-course-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .statesia-universal29 .mirror-pillar-grid,
  .statesia-universal29 .mirror-reference-grid,
  .statesia-universal29 .mirror-offer-grid{grid-template-columns:1fr}
  .statesia-universal29 .mirror-brand{width:205px}
  .statesia-universal29 .mirror-brand-wordmark{width:205px;height:35px}
  .statesia-universal29 .mirror-brand-wordmark .brand-logo{width:205px!important}
  .statesia-universal29 .mirror-brand-tagline{padding-left:37px;font-size:7.8px}
}
@media(max-width:420px){
  .statesia-universal29 .mirror-brand{width:178px}
  .statesia-universal29 .mirror-brand-wordmark{width:178px;height:30px}
  .statesia-universal29 .mirror-brand-wordmark .brand-logo{width:178px!important}
  .statesia-universal29 .mirror-brand-tagline{padding-left:32px;font-size:7px;letter-spacing:.09em}
}
\n\n/* v2.8.1 — explicit styling for mirrored home cards on EN and FR */\n.statesia-universal29 .mirror-pillar-grid .mirror-pillar-card{\n  min-height:164px;\n  align-content:start;\n}\n.statesia-universal29 .mirror-pillar-grid .mirror-pillar-card strong{\n  display:block;\n  margin-top:1px;\n}\n.statesia-universal29 .mirror-pillar-grid .mirror-pillar-card small{\n  display:block;\n  margin-top:8px;\n}\n@media(max-width:760px){\n  .statesia-universal29 .mirror-pillar-grid .mirror-pillar-card{min-height:0;}\n}\n

/* v2.8.2 — equal hierarchy for the historical FR/EN home content */
body.is-home .home-legacy-modern > .home-legacy-intro,
body.is-home .home-legacy-modern h1.home-legacy-intro,
body.is-home .home-legacy-modern h2.home-legacy-intro,
body.is-home .home-legacy-modern h3.home-legacy-intro,
body.is-home .home-legacy-modern h4.home-legacy-intro{
  display:block!important;
  max-width:860px!important;
  margin:0 0 27px!important;
  padding:0!important;
  border:0!important;
  color:#526b78!important;
  font-family:inherit!important;
  font-size:16.5px!important;
  font-weight:400!important;
  line-height:1.75!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.is-home .home-legacy-bridge{
  display:none!important;
}
body.is-home .home-legacy-service>span{
  display:block;
}
body.is-home .home-legacy-service a{
  overflow-wrap:anywhere;
}


/* =====================================================================
   v2.9 — secure native contact form
   ===================================================================== */
.statesia-universal29 .statesia-contact-shell{
  width:min(100%,960px);
  margin:0 auto;
}
.statesia-universal29 .statesia-contact-card{
  padding:34px;
  background:#fff;
  border:1px solid #dce8ed;
  border-radius:14px;
  box-shadow:0 14px 36px rgba(10,51,83,.06);
}
.statesia-universal29 .contact-alert{
  margin-bottom:24px;
  padding:17px 19px;
  border-radius:10px;
  font-size:14px;
  line-height:1.6;
}
.statesia-universal29 .contact-alert strong{
  display:block;
  margin-bottom:4px;
  color:inherit;
}
.statesia-universal29 .contact-alert p{
  margin:0!important;
  padding:0!important;
  border:0!important;
  max-width:none!important;
}
.statesia-universal29 .contact-alert ul{
  margin:7px 0 0;
  padding-left:20px;
}
.statesia-universal29 .contact-alert-success{
  color:#155d48;
  background:#edf8f4;
  border:1px solid #c7e7dc;
}
.statesia-universal29 .contact-alert-error{
  color:#783838;
  background:#fff5f4;
  border:1px solid #efd1cd;
}
.statesia-universal29 .contact-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:21px 22px;
}
.statesia-universal29 .contact-field{
  min-width:0;
}
.statesia-universal29 .contact-field-full{
  grid-column:1/-1;
}
.statesia-universal29 .contact-field>label{
  display:block;
  margin-bottom:7px;
  color:#173f56;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.statesia-universal29 .contact-field>label>span[aria-hidden="true"]{
  color:#b7423a;
}
.statesia-universal29 .contact-field input[type="text"],
.statesia-universal29 .contact-field input[type="email"],
.statesia-universal29 .contact-field input[type="number"],
.statesia-universal29 .contact-field textarea{
  box-sizing:border-box;
  width:100%;
  min-height:47px;
  padding:11px 13px;
  color:#163f55;
  background:#fbfdfe;
  border:1px solid #cbdde4;
  border-radius:8px;
  font:inherit;
  font-size:15px;
  line-height:1.5;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.statesia-universal29 .contact-field textarea{
  min-height:190px;
  resize:vertical;
}
.statesia-universal29 .contact-field input:focus,
.statesia-universal29 .contact-field textarea:focus{
  background:#fff;
  border-color:#2a8fa6;
  box-shadow:0 0 0 3px rgba(23,144,189,.12);
}
.statesia-universal29 .contact-field small{
  display:block;
  margin-top:7px;
  color:#6b7f8a;
  font-size:11.5px;
  line-height:1.5;
}
.statesia-universal29 .contact-captcha-zone{
  max-width:520px;
  padding:18px 20px;
  background:#f7fbfc;
  border:1px solid #dce9ed;
  border-radius:10px;
}
.statesia-universal29 .contact-captcha-input{
  max-width:120px;
}
.statesia-universal29 .contact-captcha-zone .cf-turnstile{
  max-width:100%;
}
.statesia-universal29 .contact-consent{
  padding-top:2px;
}
.statesia-universal29 .contact-consent>label{
  display:flex;
  gap:11px;
  align-items:flex-start;
  margin:0;
  color:#536c79;
  font-size:12.5px;
  line-height:1.55;
  font-weight:400;
}
.statesia-universal29 .contact-consent input{
  flex:0 0 auto;
  width:17px;
  height:17px;
  margin:2px 0 0;
}
.statesia-universal29 .contact-consent a{
  color:#176f8b;
  font-weight:650;
}
.statesia-universal29 .contact-form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:27px;
  padding-top:22px;
  border-top:1px solid #e2ecef;
}
.statesia-universal29 .contact-security-note{
  max-width:520px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:#71838c;
  font-size:11.5px!important;
  line-height:1.5!important;
}
.statesia-universal29 .contact-submit{
  flex:0 0 auto;
  min-height:46px;
  cursor:pointer;
}
.statesia-universal29 .contact-hp{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
@media(max-width:720px){
  .statesia-universal29 .statesia-contact-card{
    padding:23px 19px;
  }
  .statesia-universal29 .contact-form-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .statesia-universal29 .contact-field-full{
    grid-column:auto;
  }
  .statesia-universal29 .contact-form-footer{
    display:block;
  }
  .statesia-universal29 .contact-submit{
    width:100%;
    margin-top:17px;
  }
}
