/* Institut Martigane — Design refresh 2026
   Non-destructive visual layer: layout/content/scripts remain untouched. */

:root{
  --nv:#0b1f33;
  --nv2:#14324d;
  --go:#b88a37;
  --go2:#d7ad59;
  --cr:#f6f4ef;
  --wm:#e8e3da;
  --tx:#17212b;
  --mu:#64707c;
  --bd:#ddd7cd;
  --im-surface:#ffffff;
  --im-surface-2:#fbfaf7;
  --im-navy:#0b1f33;
  --im-navy-2:#153a59;
  --im-gold:#b88a37;
  --im-gold-light:#e5c67f;
  --im-ink:#17212b;
  --im-muted:#65717d;
  --im-border:rgba(11,31,51,.11);
  --im-shadow-sm:0 6px 20px rgba(11,31,51,.06);
  --im-shadow:0 16px 45px rgba(11,31,51,.10);
  --im-shadow-lg:0 28px 70px rgba(4,18,31,.16);
  --im-radius:14px;
  --im-radius-sm:10px;
}

html{scroll-padding-top:86px}
body{
  background:
    radial-gradient(circle at 12% 4%,rgba(184,138,55,.055),transparent 28rem),
    linear-gradient(180deg,#faf9f6 0%,#f6f4ef 42%,#f7f5f1 100%)!important;
  color:var(--im-ink)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body,button,input,textarea,select{font-family:'Source Sans 3',Arial,sans-serif}
::selection{background:rgba(184,138,55,.28);color:var(--im-navy)}
a{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
img{image-rendering:auto}

/* Utility top bar */
.tb{height:34px!important;background:#06121e!important;border-bottom:1px solid rgba(255,255,255,.045)}
.tb-i{max-width:1240px!important;padding-left:28px!important;padding-right:28px!important}
.tb-i span,.tb-r a{color:rgba(255,255,255,.58)!important;font-style:normal!important;letter-spacing:.01em}
.tb-r a:hover{color:var(--im-gold-light)!important}

/* Azure contact strip */
.azur-strip{
  background:linear-gradient(90deg,#087fa9 0%,#0099cc 50%,#087fa9 100%)!important;
  min-height:42px;
  box-shadow:inset 0 -1px rgba(255,255,255,.12);
}
.azur-btn{box-shadow:0 4px 16px rgba(0,48,70,.16)!important;border-radius:999px!important}
.azur-btn:hover{transform:translateY(-1px)!important;box-shadow:0 7px 20px rgba(0,48,70,.22)!important}

/* Main header */
.hd{
  background:rgba(11,31,51,.965)!important;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  box-shadow:0 9px 30px rgba(3,15,26,.18)!important;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.hd-i{max-width:1240px!important;height:72px!important;padding-left:28px!important;padding-right:28px!important}
.logo{gap:12px!important}
.logo-i{color:rgba(255,255,255,.52)!important;letter-spacing:3.2px!important}
.logo-n{font-size:20px!important;letter-spacing:1.2px!important}
.logo-n span{color:var(--im-gold-light)!important}
.nav{gap:2px}
.nf{height:72px!important;padding:0 .78rem!important;color:rgba(255,255,255,.72)!important;border-bottom-width:2px!important}
.nf:hover{color:#fff!important;background:rgba(255,255,255,.035)}
.nf.active,.nf.on{color:#fff!important;border-bottom-color:var(--im-gold)!important}
.nc,.nav .nc{
  height:auto!important;
  min-height:38px;
  border-radius:9px!important;
  padding:.55rem 1rem!important;
  margin-left:.6rem!important;
  background:linear-gradient(135deg,var(--im-gold),#d0a24f)!important;
  color:var(--im-navy)!important;
  box-shadow:0 7px 20px rgba(184,138,55,.22);
  border:1px solid rgba(255,255,255,.12)!important;
}
.nc:hover,.nav .nc:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(184,138,55,.30);filter:brightness(1.04)}
.lang-switch,.lang-sw{border-left-color:rgba(255,255,255,.16)!important}
.lang-switch a,.lang-sw a{border-radius:6px!important;padding:4px 7px!important}
.lang-switch a.active,.lang-sw a.active{background:rgba(184,138,55,.18)!important;color:var(--im-gold-light)!important}
.burger{border-radius:8px!important}
.burger:hover{background:rgba(255,255,255,.07)!important}
.nav-mobile{background:rgba(8,25,40,.985)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);top:72px!important}
.nav-mobile a{border-bottom-color:rgba(255,255,255,.075)!important}
.nav-mobile .nm-cta{border-radius:9px!important;background:linear-gradient(135deg,var(--im-gold),#d0a24f)!important}

/* Secondary/breadcrumb bars */
.fb,.bcr{background:rgba(255,255,255,.93)!important;border-bottom:1px solid var(--im-border)!important;box-shadow:0 3px 16px rgba(11,31,51,.045)!important}
.fb-i,.bcr-i{max-width:1240px!important}

/* Heroes */
.hero,.page-hero,.art-hero,.bh,.prod-hero{
  position:relative;
  isolation:isolate;
  box-shadow:inset 0 -1px rgba(255,255,255,.08);
}
.hero::after,.page-hero::after,.art-hero::after,.bh::after,.prod-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(229,198,127,.55),transparent);
  z-index:4;
  pointer-events:none;
}
.hero-i,.page-hero-i,.art-hero-i,.bh-i,.prod-hero-i{max-width:1240px!important}
.hero h1,.page-hero h1,.art-hero h1,.bh h1,.prod-hero h1{
  letter-spacing:-.025em!important;
  text-wrap:balance;
  text-shadow:0 3px 20px rgba(0,0,0,.20);
}
.hero p,.page-hero p,.art-hero p,.bh p,.prod-hero p{line-height:1.72!important}
.hero-tag,.page-hero-bcr,.art-bcr,.bh-tag,.prod-tag{
  letter-spacing:.13em!important;
}
.hero-tag,.bh-tag,.prod-tag{
  border-radius:999px!important;
  padding:.35rem .8rem!important;
  border:1px solid rgba(229,198,127,.35)!important;
  background:rgba(11,31,51,.42)!important;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.hero .hb,.art-cta,.art-cta-big,.cta-block,.sb-cta{
  border-radius:var(--im-radius)!important;
  box-shadow:var(--im-shadow)!important;
}
.pil-i,.kpi,.stat{transition:transform .22s ease,background .22s ease,border-color .22s ease}
.pil-i:hover,.kpi:hover,.stat:hover{transform:translateY(-3px)}

/* Global content widths */
.main,.wrap,.art-wrap,.art-main{max-width:1240px!important}
.main,.wrap,.art-wrap{padding-top:2.4rem!important;padding-bottom:5rem!important}

/* Headings */
.st,.section-title{border-bottom-color:var(--im-border)!important}
.st h2,.section-title,.sec h2,.art-sec h2,.prod-body h2,.intro-block h2{
  color:var(--im-navy)!important;
  letter-spacing:-.015em;
}
.section-title{position:relative;padding-bottom:.75rem!important}
.section-title::after{
  content:"";
  position:absolute;
  left:0;bottom:-1px;
  width:52px;height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--im-gold),var(--im-gold-light));
}

/* Cards and content surfaces */
.intro-card,.intro-block,.art-intro,.spec-box,.sb,.sb-box,.enc,.pl-card,.rel-card,.other-card,.prod-card,.bl-card,.next-card,.ai,.af{
  border-color:var(--im-border)!important;
}
.intro-card,.intro-block,.art-intro,.spec-box,.sb,.sb-box,.enc,.pl-card,.rel-card,.other-card,.prod-card,.bl-card,.next-card{
  background:rgba(255,255,255,.94)!important;
  border-radius:var(--im-radius)!important;
  box-shadow:var(--im-shadow-sm)!important;
  overflow:hidden;
}
.intro-card,.intro-block,.art-intro{border-left:4px solid var(--im-gold)!important;padding:1.65rem 1.8rem!important}
.intro-card p,.intro-block p,.art-intro p{color:#475461!important}

.af{
  border-radius:var(--im-radius)!important;
  box-shadow:var(--im-shadow-sm)!important;
  background:#fff!important;
}
.af:hover{transform:translateY(-3px);box-shadow:var(--im-shadow)!important}
.af-img{overflow:hidden}
.af-body{padding:1.75rem!important}
.af-r,.bl-card-r,.prod-card-link,.other-card a,.fbtn{
  border-radius:8px!important;
}

.al{border-color:var(--im-border)!important;border-radius:var(--im-radius)!important;box-shadow:var(--im-shadow-sm)!important;background:#fff}
.ai{border-radius:0!important;background:#fff!important;padding:1rem 1.15rem!important}
.ai:hover{background:#faf8f3!important;transform:translateX(2px)}
.ai-th{border-radius:7px!important;overflow:hidden}

/* Product/category cards */
.prod-grid,.other-grid,.related-grid,.pl-grid,.next-grid{gap:1.15rem!important}
.prod-card,.other-card,.rel-card,.pl-card,.next-card,.bl-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}
.prod-card:hover,.other-card:hover,.rel-card:hover,.pl-card:hover,.next-card:hover,.bl-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:var(--im-shadow)!important;
  border-color:rgba(184,138,55,.28)!important;
}
.prod-card-img,.bl-card-img{overflow:hidden}
.prod-card-img img,.other-card img,.rel-card img,.bl-card-img img{transition:transform .5s cubic-bezier(.2,.7,.2,1)!important}
.prod-card:hover img,.other-card:hover img,.rel-card:hover img,.bl-card:hover img{transform:scale(1.045)!important}
.prod-card-badge,.badge,.bdg,.rel-tag,.other-card-tag,.bl-card-tag{
  border-radius:999px!important;
  letter-spacing:.08em!important;
}
.prod-card-body,.other-card-body,.bl-card-body{padding:1.15rem 1.2rem 1.3rem!important}
.prod-card-title,.other-card-t,.rel-t,.bl-card-t{letter-spacing:-.01em}

/* Specs / KPIs */
.spec-strip,.kpis,.kpi-row{gap:1px!important;border-radius:var(--im-radius)!important;overflow:hidden;box-shadow:var(--im-shadow-sm)!important;border:1px solid var(--im-border)!important;background:var(--im-border)!important}
.spec-cell,.kpi{
  background:#fff!important;
  border:0!important;
}
.spec-box-title,.sb-h,.sb-box-t{
  background:linear-gradient(135deg,var(--im-navy),var(--im-navy-2))!important;
  color:#fff!important;
}
.spec-table{border-collapse:separate!important;border-spacing:0!important}
.spec-table tr:nth-child(even){background:#faf9f6!important}
.spec-table tr:hover{background:#f6f0e4!important}
.spec-table th,.spec-table td{border-color:rgba(11,31,51,.085)!important}

/* Article/editorial */
.art-body,.prod-body{color:#35424e!important}
.art-body p,.art-sec p,.prod-body p{line-height:1.84!important}
.art-body h2,.art-sec h2,.prod-body h2{margin-top:2rem!important}
.art-body h3,.art-sec h3,.prod-body h3{color:var(--im-navy)!important}
.enc{padding:1.2rem 1.35rem!important}
.enc.or{border-left:4px solid var(--im-gold)!important;background:linear-gradient(90deg,rgba(184,138,55,.07),#fff 28%)!important}
.enc.bl{border-left:4px solid #2794bd!important;background:linear-gradient(90deg,rgba(39,148,189,.07),#fff 28%)!important}

/* Buttons and CTAs */
.fbtn,.af-r,.art-cta a,.art-cta-big a,.cta-block a,.sb-cta a,.prod-card-link{
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important;
}
.fbtn:hover,.af-r:hover,.art-cta a:hover,.art-cta-big a:hover,.cta-block a:hover,.sb-cta a:hover,.prod-card-link:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 24px rgba(11,31,51,.16)!important;
}

/* Footer */
.fa{background:linear-gradient(145deg,#0a2035 0%,#0c2741 55%,#102e49 100%)!important;padding:3.1rem 2rem!important;border-top:1px solid rgba(229,198,127,.17)}
.fa-i{max-width:1240px!important;gap:3rem!important}
.fa-t{color:var(--im-gold-light)!important;font-size:15px!important}
.fa-x,.fa-a{color:rgba(255,255,255,.61)!important}
.fa-a:hover{color:#fff!important;transform:translateX(2px)}
.ft{background:#06131f!important}
.ft-i{max-width:1240px!important;padding-top:1.55rem!important;padding-bottom:1.55rem!important}
.ft-logo{letter-spacing:.02em}
.ft-links a{color:rgba(255,255,255,.48)!important}
.ft-links a:hover{color:var(--im-gold-light)!important}
.ft-copy{color:rgba(255,255,255,.30)!important}

/* Popups/forms */
.nl-box,#ck-modal .ck-m-box,.wa-card{border-radius:16px!important;box-shadow:var(--im-shadow-lg)!important}
.nl-header,#ck-modal .ck-m-head{background:linear-gradient(135deg,#0a1e31,#164362)!important}
.nl-field input{
  border-radius:9px!important;
  min-height:42px;
  border-color:rgba(11,31,51,.14)!important;
  background:#fbfaf7!important;
}
.nl-field input:focus{border-color:var(--im-gold)!important;box-shadow:0 0 0 4px rgba(184,138,55,.11)!important}
.nl-submit,#ck-banner .ck-accept,#ck-modal .ck-all{
  border-radius:9px!important;
  background:linear-gradient(135deg,var(--im-gold),#d3a957)!important;
  box-shadow:0 7px 18px rgba(184,138,55,.21);
}
#ck-banner{background:rgba(9,28,45,.98)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top-color:var(--im-gold)!important}
#ck-banner .ck-refuse{border-radius:8px!important}
#ck-modal .ck-row{border-radius:10px!important;border-color:var(--im-border)!important}

/* WhatsApp floating contact */
.wa-fab-btn{box-shadow:0 10px 28px rgba(0,0,0,.22)!important;transition:transform .22s ease,box-shadow .22s ease!important}
.wa-fab-btn:hover{transform:translateY(-3px) scale(1.03)!important;box-shadow:0 14px 34px rgba(0,0,0,.27)!important}

/* Small polish */
hr{border:0;border-top:1px solid var(--im-border)}
blockquote{border-left:3px solid var(--im-gold);padding-left:1rem;color:#4c5965}

@media(max-width:1100px){
  .hd-i,.tb-i{padding-left:20px!important;padding-right:20px!important}
  .nf{padding-left:.58rem!important;padding-right:.58rem!important;font-size:12.5px!important}
}

@media(max-width:960px){
  .hd-i{height:68px!important;padding-left:16px!important;padding-right:16px!important}
  .nav-mobile{top:68px!important}
  .main,.wrap,.art-wrap{padding-top:1.6rem!important;padding-bottom:3.5rem!important}
  .fa{padding:2.3rem 1rem!important}
  .fa-i{gap:1.5rem!important}
}

@media(max-width:600px){
  body{font-size:14.5px!important}
  .tb{display:none!important}
  .hd-i{height:64px!important}
  .nav-mobile{top:64px!important}
  .logo-i{display:none!important}
  .logo-n{font-size:18px!important}
  .azur-strip{padding:.45rem .75rem!important}
  .main,.wrap,.art-wrap,.art-main{padding-left:14px!important;padding-right:14px!important}
  .intro-card,.intro-block,.art-intro{padding:1.2rem 1.15rem!important;border-radius:12px!important}
  .af-body{padding:1.25rem!important}
  .prod-grid,.other-grid,.related-grid,.pl-grid,.next-grid{gap:.9rem!important}
  .fa{padding:2rem 1rem!important}
  .ft-i{padding-left:1rem!important;padding-right:1rem!important}
  .ft-links{gap:.85rem!important;flex-wrap:wrap}
  .nl-box,#ck-modal .ck-m-box{border-radius:13px!important}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
