/* Institut Martigane — Premium homepage layer v13
   Homepage-only. Keeps existing information architecture, URLs and scripts intact. */

body.home-premium{
  --hp-navy:#071b2d;
  --hp-navy-2:#0e2b46;
  --hp-gold:#c39a4a;
  --hp-gold-2:#e6c77d;
  --hp-ice:#eef5f7;
}

/* Editorial navigation bar */
.home-premium .fb{
  position:relative;
  z-index:20;
  background:rgba(255,255,255,.9)!important;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.home-premium .fb-i{
  min-height:48px;
  gap:.35rem;
  display:flex;
  align-items:center;
  overflow-x:auto;
  scrollbar-width:none;
}
.home-premium .fb-i::-webkit-scrollbar{display:none}
.home-premium .fbtn{
  white-space:nowrap;
  border:1px solid transparent;
  border-radius:999px!important;
  padding:.45rem .85rem!important;
  color:#425160!important;
}
.home-premium .fbtn:hover{
  background:#f3efe7!important;
  border-color:rgba(195,154,74,.22)!important;
  color:var(--hp-navy)!important;
}
.home-premium .fbtn.active{
  background:var(--hp-navy)!important;
  border-color:var(--hp-navy)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(7,27,45,.15);
}

/* High-impact hero */
.home-premium .hero{
  min-height:600px!important;
  background:var(--hp-navy)!important;
  overflow:hidden;
}
.home-premium .hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 36%,rgba(195,154,74,.12),transparent 28%),
    linear-gradient(110deg,rgba(4,16,27,.99) 8%,rgba(6,27,45,.92) 48%,rgba(6,27,45,.58) 78%,rgba(6,27,45,.76) 100%);
}
.home-premium .hero-bg img{
  opacity:.62!important;
  filter:saturate(.83) contrast(1.06);
  transform:scale(1.025);
}
.home-premium .hero-gr{
  background:
    linear-gradient(180deg,rgba(7,27,45,.06) 0%,rgba(7,27,45,.1) 55%,rgba(7,27,45,.72) 100%),
    linear-gradient(90deg,rgba(7,27,45,.9) 0%,rgba(7,27,45,.45) 62%,rgba(7,27,45,.12) 100%)!important;
}
.home-premium .hero-i{
  min-height:600px;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.72fr)!important;
  gap:4rem!important;
  padding-top:4.4rem!important;
  padding-bottom:4.4rem!important;
}
.home-premium .hero-copy{max-width:720px}
.home-premium .hl{
  display:inline-flex!important;
  width:auto;
  border:1px solid rgba(230,199,125,.28);
  background:rgba(255,255,255,.055);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border-radius:999px;
  padding:.38rem .72rem .38rem .58rem;
  letter-spacing:2.2px!important;
  color:var(--hp-gold-2)!important;
  margin-bottom:1.3rem!important;
}
.home-premium .hl::before{
  width:7px!important;
  height:7px!important;
  border-radius:50%;
  background:var(--hp-gold-2)!important;
  box-shadow:0 0 0 5px rgba(230,199,125,.10);
}
.home-premium .ht{
  max-width:700px;
  font-size:clamp(2.65rem,5vw,5.05rem)!important;
  line-height:1.01!important;
  letter-spacing:-.045em!important;
  margin-bottom:1.4rem!important;
  text-shadow:0 8px 34px rgba(0,0,0,.25)!important;
}
.home-premium .ht em{
  color:var(--hp-gold-2)!important;
  font-weight:600;
}
.home-premium .hx{
  max-width:635px!important;
  font-size:17px!important;
  line-height:1.72!important;
  color:rgba(255,255,255,.75)!important;
  margin-bottom:1.35rem!important;
}
.home-premium .hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:0 0 1.65rem;
}
.home-premium .hero-proof span{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .72rem;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
  border-radius:999px;
  color:rgba(255,255,255,.84);
  font-size:12.5px;
  font-weight:600;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.home-premium .hero-proof span::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--hp-gold-2);
}
.home-premium .hb{
  gap:.75rem!important;
  align-items:center;
}
.home-premium .hero .bg,
.home-premium .hero .bgh{
  min-height:48px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border-radius:10px!important;
  padding:.72rem 1.2rem!important;
  font-size:14px!important;
  font-weight:700!important;
}
.home-premium .hero .bg{
  background:linear-gradient(135deg,var(--hp-gold),#ddb965)!important;
  color:var(--hp-navy)!important;
  box-shadow:0 12px 28px rgba(195,154,74,.25);
}
.home-premium .hero .bg:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(195,154,74,.34)}
.home-premium .hero .bgh{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#fff!important;
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
}
.home-premium .hero .bgh:hover{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.36)!important}

/* Premium service cards in hero */
.home-premium .pils{
  gap:.7rem!important;
  align-self:center;
}
.home-premium .pil{
  position:relative;
  min-height:78px;
  border-radius:14px!important;
  padding:.9rem 1rem!important;
  background:rgba(8,28,45,.56)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
  box-shadow:0 12px 35px rgba(0,0,0,.13);
}
.home-premium .pil::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(180deg,transparent,var(--hp-gold-2),transparent);
  opacity:.35;
  transition:opacity .2s ease;
}
.home-premium .pil:hover{
  transform:translateX(-4px);
  background:rgba(13,44,69,.78)!important;
  border-color:rgba(230,199,125,.38)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.21);
}
.home-premium .pil:hover::before{opacity:1}
.home-premium .pil-i{
  width:42px!important;
  height:42px!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,rgba(195,154,74,.22),rgba(230,199,125,.08))!important;
  border:1px solid rgba(230,199,125,.18);
  font-size:17px!important;
}
.home-premium .pil-t{font-size:14px!important;letter-spacing:-.005em}
.home-premium .pil-s{font-size:11.5px!important;color:rgba(255,255,255,.52)!important;margin-top:3px}
.home-premium .pil-a{
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  transition:transform .2s ease,background .2s ease;
}
.home-premium .pil:hover .pil-a{transform:translateX(2px);background:rgba(195,154,74,.18)}

/* Trust / proof bar */
.home-premium .proof-bar{
  position:relative;
  z-index:5;
  background:#fff;
  border-bottom:1px solid rgba(7,27,45,.08);
  box-shadow:0 9px 28px rgba(7,27,45,.05);
}
.home-premium .proof-bar-i{
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  min-height:92px;
}
.home-premium .proof-item{
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:1rem 1.4rem;
  border-right:1px solid rgba(7,27,45,.08);
}
.home-premium .proof-item:last-child{border-right:0}
.home-premium .proof-icon{
  width:40px;height:40px;flex:0 0 40px;
  border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#f7f1e6,#fffaf0);
  border:1px solid rgba(195,154,74,.22);
  font-size:18px;
}
.home-premium .proof-kicker{
  color:#7c8791;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:1px;
}
.home-premium .proof-value{
  color:var(--hp-navy);
  font-size:14px;
  font-weight:700;
  line-height:1.25;
}

/* Category gallery */
.home-premium .pb{
  max-width:1240px;
  height:auto!important;
  margin:2.1rem auto 0;
  padding:0 28px;
  gap:1rem;
  overflow:visible!important;
  background:transparent;
}
.home-premium .pc{
  height:245px;
  border-radius:16px;
  border:1px solid rgba(7,27,45,.09);
  box-shadow:0 12px 32px rgba(7,27,45,.08);
}
.home-premium .pc::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,27,45,.04) 25%,rgba(7,27,45,.88) 100%);
  pointer-events:none;
}
.home-premium .pc img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease!important}
.home-premium .pc:hover img{transform:scale(1.075)!important;filter:saturate(1.08)}
.home-premium .pc-l{
  z-index:2;
  padding:1.1rem 1.15rem 1.05rem!important;
  background:none!important;
  font-size:13px!important;
  letter-spacing:.08em!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
}
.home-premium .pc-l::after{
  content:"→";
  width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  transition:transform .2s ease,background .2s ease;
}
.home-premium .pc:hover .pc-l::after{transform:translateX(3px);background:rgba(195,154,74,.26)}

/* Editorial main area */
.home-premium .main{
  padding-top:3.2rem!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:3rem!important;
}
.home-premium .st{
  margin-bottom:1.6rem!important;
  padding-bottom:.9rem!important;
}
.home-premium .st h2{font-size:24px!important;letter-spacing:-.025em}
.home-premium .st span{
  margin-left:auto;
  background:#fff;
  border:1px solid rgba(7,27,45,.08);
  border-radius:999px;
  padding:.25rem .65rem;
  box-shadow:0 4px 12px rgba(7,27,45,.04);
}
.home-premium .intro-card{
  border-left:0!important;
  position:relative;
  padding:1.75rem 1.9rem 1.75rem 2.05rem!important;
  background:
    linear-gradient(90deg,rgba(195,154,74,.07),transparent 42%),
    rgba(255,255,255,.96)!important;
}
.home-premium .intro-card::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,var(--hp-gold),var(--hp-gold-2));
}
.home-premium .intro-card p{font-size:15px!important;line-height:1.85!important}
.home-premium .af{
  grid-template-columns:1.08fr .92fr!important;
  min-height:300px;
}
.home-premium .af-img{height:auto!important;min-height:300px}
.home-premium .af-body{padding:2rem!important}
.home-premium .af-t{font-size:22px!important;line-height:1.24!important;letter-spacing:-.02em}
.home-premium .af-x{font-size:14px!important}
.home-premium .af-r{padding:.58rem 1rem!important;background:var(--hp-navy)!important}
.home-premium .al{overflow:hidden;border-radius:16px!important}
.home-premium .ai{min-height:88px}
.home-premium .ai-title{font-size:14px!important}

/* Sidebar refined */
.home-premium aside{position:relative}
.home-premium .sb{border-radius:14px!important;box-shadow:0 9px 26px rgba(7,27,45,.06)!important}
.home-premium .sb-h{
  padding:.85rem 1.1rem!important;
  font-family:'Source Sans 3',sans-serif!important;
  font-size:12px!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.08em;
  background:linear-gradient(135deg,var(--hp-navy),#123d5f)!important;
}
.home-premium .sb-b{padding:1.15rem!important}
.home-premium .sb .bg{border-radius:9px!important;padding:.58rem 1rem!important;font-weight:700!important}
.home-premium .tl a{padding:.1rem 0}

/* Subtle entrance animation, respects reduced motion */
@media (prefers-reduced-motion:no-preference){
  .home-premium .hero-copy>*{animation:hp-rise .65s both}
  .home-premium .hero-copy>*:nth-child(2){animation-delay:.06s}
  .home-premium .hero-copy>*:nth-child(3){animation-delay:.12s}
  .home-premium .hero-copy>*:nth-child(4){animation-delay:.18s}
  .home-premium .hero-copy>*:nth-child(5){animation-delay:.24s}
  .home-premium .pil{animation:hp-card .55s both}
  .home-premium .pil:nth-child(1){animation-delay:.13s}
  .home-premium .pil:nth-child(2){animation-delay:.19s}
  .home-premium .pil:nth-child(3){animation-delay:.25s}
  .home-premium .pil:nth-child(4){animation-delay:.31s}
  @keyframes hp-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes hp-card{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
}

/* Responsive */
@media(max-width:1100px){
  .home-premium .hero-i{grid-template-columns:1fr 335px!important;gap:2rem!important}
  .home-premium .ht{font-size:clamp(2.5rem,5.2vw,4.2rem)!important}
  .home-premium .proof-bar-i{grid-template-columns:repeat(2,1fr)}
  .home-premium .proof-item:nth-child(2){border-right:0}
  .home-premium .proof-item:nth-child(-n+2){border-bottom:1px solid rgba(7,27,45,.08)}
}
@media(max-width:960px){
  .home-premium .hero,.home-premium .hero-i{min-height:auto!important}
  .home-premium .hero-i{grid-template-columns:1fr!important;padding:3.4rem 1.2rem 3rem!important}
  .home-premium .hero-copy{max-width:780px}
  .home-premium .pils{display:grid!important;grid-template-columns:repeat(2,1fr);gap:.65rem!important}
  .home-premium .pil:hover{transform:translateY(-2px)}
  .home-premium .pb{grid-template-columns:repeat(2,1fr)!important;padding:0 1rem!important;margin-top:1.2rem}
  .home-premium .pc{height:220px}
  .home-premium .main{grid-template-columns:1fr!important;gap:2rem!important;padding-top:2.4rem!important}
  .home-premium aside{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
  .home-premium aside .sb{margin-bottom:0!important}
  .home-premium aside .sb:last-child{grid-column:1/-1}
}
@media(max-width:640px){
  .home-premium .hero-i{padding:2.7rem 1rem 2.5rem!important}
  .home-premium .ht{font-size:clamp(2.35rem,12vw,3.4rem)!important}
  .home-premium .hx{font-size:15px!important}
  .home-premium .hero-proof{gap:.4rem}
  .home-premium .hero-proof span{font-size:11.5px;padding:.38rem .58rem}
  .home-premium .hb{display:grid!important;grid-template-columns:1fr}
  .home-premium .hero .bg,.home-premium .hero .bgh{width:100%}
  .home-premium .pils{grid-template-columns:1fr}
  .home-premium .proof-bar-i{grid-template-columns:1fr}
  .home-premium .proof-item{border-right:0!important;border-bottom:1px solid rgba(7,27,45,.08)!important;min-height:70px;padding:.75rem 1rem}
  .home-premium .proof-item:last-child{border-bottom:0!important}
  .home-premium .proof-icon{width:36px;height:36px;flex-basis:36px}
  .home-premium .pb{grid-template-columns:1fr!important}
  .home-premium .pc{height:210px}
  .home-premium .st{align-items:flex-start;flex-direction:column;gap:.5rem!important}
  .home-premium .st span{margin-left:0}
  .home-premium .af{grid-template-columns:1fr!important}
  .home-premium .af-img{min-height:210px!important}
  .home-premium .af-body{padding:1.35rem!important}
  .home-premium .af-t{font-size:19px!important}
  .home-premium aside{grid-template-columns:1fr}
  .home-premium aside .sb:last-child{grid-column:auto}
}
