/* Pharmacie de la Marie 2 -- shared design system (extracted from inline <style> for caching) */

:root{
    --red:#EE2E32;
    --red-dark:#c81f22;
    --green:#5FBF3C;
    --green-dark:#469b2b;
    --navy:#14212A;
    --navy-soft:#1d3140;
    --nova-blue:#0E3A5F;
    --ink:#20272b;
    --grey:#5c6870;
    --bg-soft:#F6F8F6;
    --white:#ffffff;
    --radius:16px;
    --shadow:0 10px 30px rgba(20,33,42,0.08);
    --shadow-strong:0 20px 50px rgba(20,33,42,0.16);
  }

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
    margin:0;
    font-family:'Inter',sans-serif;
    color:var(--ink);
    background:var(--white);
    line-height:1.6;
  }

h1,h2,h3,h4{
    font-family:'Poppins',sans-serif;
    margin:0 0 .5em;
    line-height:1.2;
  }

p{margin:0 0 1em;}

a{color:inherit;text-decoration:none;}

img{max-width:100%;display:block;}

ul{margin:0;padding:0;list-style:none;}

.container{max-width:1180px;margin:0 auto;padding:0 24px;}

.eyebrow{
    display:inline-block;
    font-weight:700;
    font-size:.78rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--green-dark);
    background:rgba(95,191,60,.12);
    padding:6px 14px;
    border-radius:999px;
    margin-bottom:14px;
  }

.eyebrow.red{color:var(--red-dark);background:rgba(238,46,50,.1);}

.section{padding:88px 0;position:relative;}

.deco-icon{position:absolute;height:72px;width:auto;opacity:.30;pointer-events:none;z-index:1;}

@media (max-width:720px){.deco-icon{display:none;}}

.section-head{max-width:680px;margin:0 auto 48px;text-align:center;}

.section-head h2{font-size:clamp(1.6rem,3vw,2.3rem);}

.section-head p{color:var(--grey);font-size:1.05rem;}

.bg-soft{background:var(--bg-soft);}

.tint-red{background:linear-gradient(160deg,#fefbfb 0%,#fdf4f4 100%);}

.btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 26px;border-radius:999px;font-weight:600;
    font-size:.95rem;border:2px solid transparent;cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
    white-space:nowrap;
  }

.btn:hover{transform:translateY(-2px);}

.btn-lg{padding:18px 36px;font-size:1.1rem;}

.btn-red{background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(238,46,50,.3);}

.btn-red:hover{background:var(--red-dark);}

.btn-outline{border-color:rgba(255,255,255,.5);color:#fff;}

.btn-outline:hover{background:rgba(255,255,255,.12);}

.btn-green{background:var(--green);color:#0e2b06;box-shadow:0 8px 20px rgba(95,191,60,.3);}

.btn-green:hover{background:var(--green-dark);color:#fff;}

.btn-navy-outline{border-color:var(--navy);color:var(--navy);}

.btn-navy-outline:hover{background:var(--navy);color:#fff;}

.btn-phone{
    display:inline-flex;align-items:center;gap:6px;
    padding:8px 16px;border-radius:999px;font-weight:600;font-size:.85rem;
    color:#fff;white-space:nowrap;
    background:linear-gradient(135deg,#ff6b61 0%,var(--red) 55%,var(--red-dark) 100%);
    box-shadow:0 4px 12px rgba(238,46,50,.28);
    transition:transform .15s ease, box-shadow .15s ease;
  }

.btn-phone:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(238,46,50,.35);}

.btn-phone svg{width:14px;height:14px;flex-shrink:0;}

/* HEADER */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(20,33,42,.06);
  }

.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 40px;max-width:1400px;margin:0 auto;}

.brand{display:flex;align-items:center;gap:10px;}

.brand img{height:44px;width:auto;}

.brand-text{font-family:'Poppins',sans-serif;font-weight:700;font-size:1rem;line-height:1.1;color:var(--navy);letter-spacing:.01em;}

.brand-text span{display:block;color:var(--green-dark);font-size:.72rem;font-weight:600;letter-spacing:.06em;}

nav.main-nav{display:flex;align-items:center;gap:18px;}

nav.main-nav a{position:relative;display:inline-block;font-size:.86rem;font-weight:600;color:var(--navy);opacity:1;letter-spacing:.01em;padding:8px 2px;white-space:nowrap;}

nav.main-nav a::after{content:'';position:absolute;left:0;bottom:3px;width:0;height:2px;background:var(--green);transition:width .25s ease;}

nav.main-nav a:hover{color:var(--green-dark);}

nav.main-nav a:hover::after{width:100%;}

.nav-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;}

.nav-phone{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);font-size:.92rem;white-space:nowrap;flex-shrink:0;}

.nav-phone svg{flex-shrink:0;}

.nav-phone span.txt{white-space:nowrap;}

.brand{flex-shrink:0;}

nav.main-nav{flex-shrink:1;}

.nav-wrap{flex-wrap:nowrap;gap:16px;}

.burger{display:none;background:none;border:none;cursor:pointer;padding:6px;}

.burger span{display:block;width:26px;height:2px;background:var(--navy);margin:5px 0;border-radius:2px;}

/* HERO */
  .hero{
    position:relative;background:linear-gradient(180deg,#ffffff 0%,#f3f9f2 100%);color:var(--ink);
    padding:64px 0 0;overflow:hidden;
  }

.hero-inner{
    display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;
    max-width:1180px;margin:0 auto;padding:0 24px 64px;
  }

.hero h1{font-size:clamp(1.9rem,3.8vw,2.85rem);color:var(--navy);letter-spacing:.01em;line-height:1.25;text-transform:uppercase;}

.hero h1 em{
    font-style:normal;
    background:linear-gradient(135deg,#8fef6a 0%,var(--green) 45%,var(--green-dark) 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  }

.hero h1 em.red-em{
    background:linear-gradient(135deg,#ff8f8f 0%,var(--red) 45%,var(--red-dark) 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  }

.hero p.lead{font-size:1.14rem;line-height:1.65;color:var(--grey);max-width:520px;}

.hero p.lead em{color:var(--green-dark);font-style:normal;font-weight:600;}

.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:32px;}

.hero-btn-secondary{
    display:inline-flex;align-items:center;gap:8px;
    font-weight:700;font-size:1.05rem;color:var(--navy);
    padding-bottom:4px;border-bottom:2px solid rgba(20,33,42,.15);
    transition:border-color .2s ease, gap .2s ease, color .2s ease;
  }

.hero-btn-secondary svg{width:16px;height:16px;transition:transform .2s ease;}

.hero-btn-secondary:hover{color:var(--green-dark);border-bottom-color:var(--green-dark);gap:12px;}

.hero-btn-secondary:hover svg{transform:translateX(4px);}

.hero-btn-secondary.accent-red{color:var(--red-dark);border-bottom-color:rgba(238,46,50,.28);}

.hero-btn-secondary.accent-red:hover{color:var(--red-dark);border-bottom-color:var(--red-dark);}

.hero-photo{
    position:relative;z-index:1;
    border-radius:var(--radius);overflow:hidden;
    box-shadow:0 20px 45px rgba(20,33,42,.14), 0 14px 32px rgba(95,191,60,.2);
    border:6px solid rgba(20,33,42,.06);
    aspect-ratio:4/3;
  }

.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}

.quick-info{display:flex;gap:26px;flex-wrap:wrap;margin-top:36px;color:var(--grey);font-size:.92rem;}

.quick-info div{display:flex;align-items:center;gap:8px;}

.quick-info svg{flex-shrink:0;width:18px;height:18px;color:var(--green-dark);}

/* VALUE BAND (Sécurité / Disponibilité / Réactivité) */
  .value-band{padding:64px 0;background:var(--white);}

.motto-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}

.motto-item{
    display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;
    background:#fff;border-radius:22px;padding:40px 28px;
    border:1px solid rgba(20,33,42,.06);box-shadow:var(--shadow);
    font-family:'Poppins',sans-serif;font-weight:700;font-size:1.25rem;color:var(--navy);
    opacity:0;transform:scale(.6) translateY(16px);
  }

.motto-row.in-view .motto-item{animation:mottoPop 1.4s cubic-bezier(.34,1.56,.64,1) forwards;}

.motto-row.in-view .motto-item:nth-child(1){animation-delay:0s;}

.motto-row.in-view .motto-item:nth-child(2){animation-delay:.25s;}

.motto-row.in-view .motto-item:nth-child(3){animation-delay:.5s;}

.motto-icon{
    width:64px;height:64px;border-radius:50%;flex-shrink:0;color:#fff;
    display:flex;align-items:center;justify-content:center;
  }

.motto-item:nth-child(1) .motto-icon{background:linear-gradient(135deg,var(--red),var(--red-dark));}

.motto-item:nth-child(2) .motto-icon{background:linear-gradient(135deg,var(--green),var(--green-dark));}

.motto-item:nth-child(3) .motto-icon{background:linear-gradient(135deg,var(--nova-blue),var(--navy));}

.motto-icon svg{width:30px;height:30px;flex-shrink:0;}

@keyframes mottoPop{
    0%{opacity:0;transform:scale(.6) translateY(16px);}
    70%{opacity:1;transform:scale(1.06) translateY(0);}
    100%{opacity:1;transform:scale(1) translateY(0);}
  }

@media (prefers-reduced-motion:reduce){
    .motto-item{animation:none !important;opacity:1;transform:none;}
  }

@media (max-width:720px){
    .motto-row{grid-template-columns:1fr;}
  }

/* HERO VISUAL / FLOATING CARD */
  .hero-visual{position:relative;}

.hero-visual::before{
    content:'';position:absolute;top:-22px;right:-22px;bottom:22px;left:22px;
    background:linear-gradient(135deg,rgba(95,191,60,.24),rgba(14,58,95,.16));
    border-radius:var(--radius);z-index:0;
  }

.hero-visual::after{
    content:'';position:absolute;bottom:-30px;right:-30px;width:140px;height:140px;
    background-image:radial-gradient(rgba(95,191,60,.45) 2.5px, transparent 2.5px);
    background-size:16px 16px;z-index:0;opacity:.9;
  }

/* ENTRANCE ANIMATIONS */
  @keyframes revealUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

@keyframes revealScale{from{opacity:0;transform:scale(.94);}to{opacity:1;transform:scale(1);}}

.reveal{opacity:0;animation:revealUp 2s ease-out forwards;}

.reveal-scale{opacity:0;animation:revealScale 2.2s ease-out forwards;}

@media (prefers-reduced-motion:reduce){
    .reveal,.reveal-scale{animation:none;opacity:1;}
  }

/* STATS SECTION */
  .stats-section{
    position:relative;
  }

.stats-section::after{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--red),var(--green));
  }

.stats-section .container{position:relative;z-index:1;}

#chiffres .section-head{max-width:900px;}

#chiffres .section-head h2{white-space:nowrap;font-size:clamp(1.3rem,2.6vw,2.1rem);}

@media (max-width:720px){
    #chiffres .section-head h2{white-space:normal;font-size:clamp(1.4rem,4.5vw,1.8rem);}
  }

.stats-grid{
    display:grid;grid-template-columns:repeat(5,1fr);gap:20px;
  }

.stat-card{
    background:#fff;border-radius:var(--radius);padding:30px 20px;text-align:center;
    box-shadow:var(--shadow);border:1px solid rgba(20,33,42,.05);border-top:3px solid var(--green);
    transition:transform .18s ease, box-shadow .18s ease;
  }

.stat-card.accent-red{border-top-color:var(--red);}

.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-strong);}

.stat-card .icon-circle{margin:0 auto 16px;}

.stat-card strong{
    display:block;font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(1.6rem,2.4vw,2.1rem);margin-bottom:8px;
    background:linear-gradient(135deg,#8fef6a 0%,var(--green) 45%,var(--green-dark) 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  }

.stat-card.accent-red strong{
    background:linear-gradient(135deg,#ff9d90 0%,var(--red) 45%,var(--red-dark) 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  }

.stat-card span{font-size:.84rem;color:var(--grey);line-height:1.4;}

/* SERVICES GRID */
  .services-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }

.service-card{
    background:#fff;border-radius:var(--radius);padding:30px 26px;
    box-shadow:var(--shadow);border:1px solid rgba(20,33,42,.05);
    transition:transform .18s ease, box-shadow .18s ease;
  }

.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-strong);}

.icon-circle{
    width:52px;height:52px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:rgba(95,191,60,.12);color:var(--green-dark);margin-bottom:16px;
  }

.icon-circle.red{background:rgba(238,46,50,.1);color:var(--red-dark);}

.service-card h3{font-size:1.05rem;}

.service-card p{color:var(--grey);font-size:.92rem;margin:0;}

/* PDA / EHPAD hero band */
  .pda-band{
    background:var(--bg-soft);
    color:var(--ink);
  }

.pda-flex h2{color:var(--navy);font-size:clamp(1.6rem,3vw,2.2rem);}

.pda-flex p{color:var(--grey);}

.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px;}

.stat-card{
    background:#fff;border:1px solid rgba(20,33,42,.06);box-shadow:var(--shadow);
    border-radius:14px;padding:18px 20px;
  }

.stat-card strong{display:block;font-family:'Poppins',sans-serif;font-size:1.7rem;color:var(--green-dark);}

.stat-card span{font-size:.82rem;color:var(--grey);}

.pda-photo img{width:100%;object-fit:cover;}

/* two column feature */
  .feature-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}

.feature-row.reverse .feature-media{order:2;}

.feature-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}

.feature-media img{width:100%;object-fit:cover;}

.checklist li{
    display:flex;gap:10px;margin-bottom:12px;color:var(--ink);font-size:.96rem;
  }

.checklist li svg{flex-shrink:0;width:20px;height:20px;color:var(--green-dark);margin-top:2px;}

.mini-gallery{
    display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;
  }

.mini-gallery.two{grid-template-columns:1fr 1fr;}

.mini-gallery.two img{height:300px;}

@media (max-width:720px){
    .mini-gallery.two img{height:220px;}
  }

.robot-features{display:flex;flex-direction:column;gap:14px;}

.rf-card{
    display:flex;align-items:flex-start;gap:16px;background:#fff;
    border:1px solid rgba(20,33,42,.07);border-radius:14px;padding:16px 18px;
    box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .15s ease;
  }

.rf-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong);}

.rf-badge{
    flex-shrink:0;width:40px;height:40px;border-radius:50%;
    background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-family:'Poppins',sans-serif;font-weight:800;font-size:1.15rem;
  }

.rf-card h4{margin:0 0 4px;font-size:.98rem;color:var(--navy);}

.rf-card p{margin:0;font-size:.88rem;color:var(--grey);}

.mini-gallery img{
    width:100%;height:220px;object-fit:contain;object-position:center;
    background:var(--bg-soft);border-radius:12px;box-shadow:var(--shadow);padding:6px;
  }

.mini-gallery.collage{
    grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:12px;
  }

.mini-gallery.collage img.main{
    grid-column:1/-1;height:230px;object-fit:cover;padding:0;
  }

.mini-gallery.collage img.sub{
    height:160px;object-fit:cover;padding:0;
  }

.mini-gallery.collage img.contain{
    object-fit:contain;background:var(--bg-soft);padding:8px;
  }

@media (max-width:720px){
    .mini-gallery{grid-template-columns:1fr 1fr;}
    .mini-gallery img{height:160px;}
    .mini-gallery.collage img.main{height:180px;}
    .mini-gallery.collage img.sub{height:130px;}
  }

/* robot gallery */
  .robot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px;}

.robot-card{border-radius:14px;overflow:hidden;box-shadow:var(--shadow);position:relative;}

.robot-card img{width:100%;height:210px;object-fit:cover;}

.robot-card .cap{
    position:absolute;left:0;right:0;bottom:0;padding:12px 14px;
    background:linear-gradient(to top, rgba(20,33,42,.92), transparent);
    color:#fff;font-size:.82rem;font-weight:600;
  }

/* et aussi grid */
  .also-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

.also-card{
    background:#fff;border-radius:14px;padding:22px;border:1px solid rgba(20,33,42,.07);
  }

.also-card h4{font-size:.95rem;margin-bottom:6px;color:var(--navy);}

.also-card p{font-size:.86rem;color:var(--grey);margin:0;}

.other-est{
    margin-top:30px;padding:20px 24px;background:rgba(95,191,60,.08);
    border-radius:14px;font-size:.92rem;color:var(--ink);
  }

.other-est strong{color:var(--green-dark);}

/* NovaPDA */
  .nova-section{
    background:#fff;border:1px solid rgba(20,33,42,.08);border-top:4px solid var(--nova-blue);border-radius:24px;
    padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
    box-shadow:var(--shadow);
  }

.nova-logo-row{display:flex;align-items:center;gap:14px;margin-bottom:18px;}

.nova-badge{
    font-family:'Poppins',sans-serif;font-weight:800;font-size:1.3rem;color:var(--nova-blue);
    background:rgba(14,58,95,.08);padding:8px 16px;border-radius:10px;
  }

.nova-pillars{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;}

.nova-pillar{background:var(--bg-soft);border-radius:12px;padding:16px;border-left:3px solid var(--nova-blue);}

.nova-pillar h4{font-size:.88rem;margin-bottom:4px;color:var(--nova-blue);}

.nova-pillar p{font-size:.82rem;color:var(--grey);margin:0;}

.btn-nova-outline{border-color:var(--nova-blue);color:var(--nova-blue);}

.btn-nova-outline:hover{background:var(--nova-blue);color:#fff;}

.btn-nova{background:var(--nova-blue);color:#fff;box-shadow:0 8px 20px rgba(14,58,95,.3);}

.btn-nova:hover{background:#0a2c48;}

/* SECTEUR D'INTERVENTION */
  .coverage-map{
    max-width:760px;margin:0 auto;border-radius:24px;overflow:hidden;
    box-shadow:var(--shadow);border:1px solid rgba(20,33,42,.06);
  }

.coverage-map svg{display:block;width:100%;height:auto;}

.coverage-legend{
    display:flex;justify-content:center;gap:28px;margin-top:22px;flex-wrap:wrap;
    font-size:.85rem;color:var(--grey);
  }

.coverage-legend .dot{
    display:inline-block;width:10px;height:10px;border-radius:50%;
    margin-right:6px;vertical-align:middle;
  }

.coverage-legend .dot-red{background:var(--red);}

.coverage-legend .dot-green{background:var(--green-dark);opacity:.65;}

/* HISTOIRE */
  .timeline{display:flex;flex-direction:column;max-width:960px;margin:0 auto;}

.timeline-item{display:flex;gap:64px;position:relative;padding-bottom:44px;}

.timeline-item:last-child{padding-bottom:0;}

.timeline-item::before{
    content:'';position:absolute;left:332px;top:10px;bottom:-4px;width:2px;
    background:linear-gradient(180deg, rgba(95,191,60,.4), rgba(238,46,50,.4));
  }

.timeline-item:last-child::before{display:none;}

.timeline-item::after{
    content:'';position:absolute;left:325px;top:18px;width:14px;height:14px;border-radius:50%;
    background:var(--green);box-shadow:0 0 0 4px #fff, 0 0 0 6px rgba(95,191,60,.15);z-index:1;
  }

.timeline-item.now::after{
    background:var(--red);box-shadow:0 0 0 4px #fff, 0 0 0 6px rgba(238,46,50,.15);
  }

.timeline-year{
    flex-shrink:0;width:300px;text-align:right;padding-top:6px;padding-right:0;
    font-family:'Poppins',sans-serif;font-weight:800;line-height:1.05;
    font-size:clamp(1.5rem,2.8vw,2rem);color:var(--ink);
    white-space:normal;overflow-wrap:break-word;word-break:normal;hyphens:none;
  }

.timeline-item.now .timeline-year{color:var(--red-dark);}

.timeline-content{
    padding:18px 24px;margin-top:2px;background:#fff;border-radius:16px;
    border-left:4px solid var(--green);box-shadow:var(--shadow);
    transition:transform .18s ease, box-shadow .18s ease;
  }

.timeline-item.now .timeline-content{border-left-color:var(--red);}

.timeline-content:hover{transform:translateX(4px);box-shadow:var(--shadow-strong);}

.timeline-content h4{margin:0 0 6px;font-size:1.08rem;color:var(--navy);}

.timeline-content p{margin:0;font-size:.92rem;color:var(--grey);}

/* TIMELINE SEQUENTIAL REVEAL */
  .timeline-year{opacity:0;transform:translateX(-14px);}

.timeline-content{opacity:0;}

.timeline.in-view .timeline-year{animation:timelineSlide 1.8s ease forwards;}

.timeline.in-view .timeline-content{animation:timelineFade 2s ease forwards;}

.timeline.in-view .timeline-item:nth-child(1) .timeline-year{animation-delay:0s;}

.timeline.in-view .timeline-item:nth-child(1) .timeline-content{animation-delay:.3s;}

.timeline.in-view .timeline-item:nth-child(2) .timeline-year{animation-delay:.55s;}

.timeline.in-view .timeline-item:nth-child(2) .timeline-content{animation-delay:.85s;}

.timeline.in-view .timeline-item:nth-child(3) .timeline-year{animation-delay:1.1s;}

.timeline.in-view .timeline-item:nth-child(3) .timeline-content{animation-delay:1.4s;}

.timeline.in-view .timeline-item:nth-child(4) .timeline-year{animation-delay:1.65s;}

.timeline.in-view .timeline-item:nth-child(4) .timeline-content{animation-delay:1.95s;}

.timeline.in-view .timeline-item:nth-child(5) .timeline-year{animation-delay:2.2s;}

.timeline.in-view .timeline-item:nth-child(5) .timeline-content{animation-delay:2.5s;}

.timeline.in-view .timeline-item:nth-child(6) .timeline-year{animation-delay:2.75s;}

.timeline.in-view .timeline-item:nth-child(6) .timeline-content{animation-delay:3.05s;}

@keyframes timelineSlide{
    from{opacity:0;transform:translateX(-14px);}
    to{opacity:1;transform:translateX(0);}
  }

@keyframes timelineFade{
    from{opacity:0;}
    to{opacity:1;}
  }

@media (prefers-reduced-motion:reduce){
    .timeline-year, .timeline-content{opacity:1 !important;transform:none !important;animation:none !important;}
  }

.timeline-quote{
    max-width:760px;margin:40px auto 0;text-align:center;padding:24px;
    background:var(--bg-soft);border-radius:16px;
  }

.timeline-quote p{
    margin:0;font-family:'Poppins',sans-serif;font-weight:700;font-size:1.1rem;
    color:var(--navy);letter-spacing:.01em;
  }

.timeline-quote p span{color:var(--green-dark);}

/* team */
  .team-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}

.team-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;}

.team-stats div{text-align:center;background:var(--bg-soft);border-radius:12px;padding:18px 10px;}

.team-stats strong{display:block;font-family:'Poppins',sans-serif;font-size:1.6rem;color:var(--green-dark);}

.team-stats span{font-size:.76rem;color:var(--grey);}

.quality-badges{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}

.quality-badge{
    display:flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(20,33,42,.08);
    border-radius:12px;padding:12px 16px;font-size:.85rem;font-weight:600;color:var(--navy);box-shadow:var(--shadow);
  }

.quality-badge svg{width:22px;height:22px;color:var(--green-dark);flex-shrink:0;}

/* contact */
  .contact-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;}

.contact-card{
    background:#fff;color:var(--ink);border-radius:20px;padding:32px;
    border:1px solid rgba(20,33,42,.06);box-shadow:var(--shadow-strong);
    border-top:4px solid var(--green);margin-bottom:24px;
    transition:transform .18s ease, box-shadow .18s ease;
  }

.contact-card:hover{transform:translateY(-3px);}

.contact-card h3{color:var(--navy);font-size:1.25rem;}

.map-card{
    background:#fff;border-radius:20px;padding:28px;
    border:1px solid rgba(20,33,42,.06);box-shadow:var(--shadow-strong);
    border-top:4px solid var(--red);
    transition:transform .18s ease, box-shadow .18s ease;
  }

.map-card:hover{transform:translateY(-3px);}

.map-card h3{color:var(--navy);font-size:1.1rem;margin-bottom:16px;}

.contact-line{display:flex;gap:14px;margin-bottom:20px;align-items:flex-start;}

.contact-line svg{width:20px;height:20px;color:var(--green-dark);flex-shrink:0;margin-top:3px;}

.contact-line a, .contact-line span{color:var(--grey);font-size:.94rem;}

.hours-table{width:100%;margin-top:6px;font-size:.9rem;}

.hours-table td{padding:3px 0;color:var(--grey);}

.hours-table td:last-child{text-align:right;font-weight:600;color:var(--navy);}

.social-row{display:flex;gap:10px;margin-top:24px;}

.social-row a{
    width:38px;height:38px;border-radius:50%;background:rgba(20,33,42,.06);color:var(--navy);
    display:flex;align-items:center;justify-content:center;transition:background .15s, color .15s;
  }

.social-row a:hover{background:var(--green);color:#fff;}

.form-card{
    background:#fff;border:1px solid rgba(20,33,42,.06);border-radius:20px;
    padding:32px;box-shadow:var(--shadow-strong);border-top:4px solid var(--nova-blue);
    transition:transform .18s ease, box-shadow .18s ease;
  }

.form-card:hover{transform:translateY(-3px);}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

.form-grid .full{grid-column:1/-1;}

label{display:block;font-size:.82rem;font-weight:600;color:var(--navy);margin-bottom:6px;}

input,select,textarea{
    width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(20,33,42,.15);
    font-family:'Inter',sans-serif;font-size:.92rem;background:#fbfbfb;
  }

input:focus,select:focus,textarea:focus{outline:2px solid var(--green);border-color:transparent;}

textarea{resize:vertical;min-height:110px;}

.form-note{font-size:.8rem;color:var(--grey);margin-top:14px;}

.map-frame{border-radius:12px;overflow:hidden;border:0;display:block;width:100%;}

/* footer */
  footer{
    position:relative;overflow:hidden;
    background:linear-gradient(160deg,#2c4526 0%,#3a5a32 100%);
    color:rgba(255,255,255,.88);padding:56px 0 24px;
  }

footer::after{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--red),var(--green));
  }

footer .container{position:relative;z-index:1;}

.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}

.footer-grid h4{color:#fff;font-size:.9rem;margin-bottom:14px;}

.footer-grid li{margin-bottom:10px;font-size:.86rem;}

.footer-grid a:hover{color:var(--green);}

.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}

.footer-brand img{height:38px;}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem;
  }

/* EHPAD callout banner */
  .ehpad-banner{
    background:var(--green);color:#0e2b06;border-radius:20px;padding:32px 40px;
    display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  }

.ehpad-banner h3{margin:0 0 4px;font-size:1.25rem;color:#0e2b06;}

.ehpad-banner p{margin:0;color:rgba(14,43,6,.8);font-size:.94rem;}

/* LINKEDIN FEED */
  .li-feed{
    overflow:hidden;position:relative;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  }

.li-track{display:flex;gap:20px;width:max-content;animation:li-scroll 44s linear infinite;}

.li-feed:hover .li-track{animation-play-state:paused;}

@keyframes li-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.li-card{
    background:#fff;border:1px solid rgba(20,33,42,.08);border-radius:var(--radius);
    box-shadow:var(--shadow);padding:22px;width:320px;flex-shrink:0;
  }

.li-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}

.li-card-head img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff;}

.li-card-head .li-name{font-weight:700;font-size:.9rem;color:var(--navy);line-height:1.3;}

.li-card-head .li-meta{font-size:.76rem;color:var(--grey);display:flex;align-items:center;gap:5px;}

.li-card-head .li-meta svg{width:13px;height:13px;flex-shrink:0;color:#0A66C2;}

.li-card p{font-size:.88rem;color:var(--ink);margin:0 0 14px;line-height:1.5;}

.li-card a.li-link{font-size:.82rem;font-weight:700;color:#0A66C2;display:inline-flex;align-items:center;gap:4px;}

@media (max-width:720px){.li-card{width:260px;}}

.fade-note{font-size:.78rem;color:var(--grey);text-align:center;margin-top:10px;}

/* partners strip */
  .partners-strip{padding:52px 0;border-bottom:1px solid rgba(20,33,42,.06);}

.partners-strip .section-head{margin-bottom:32px;}

.partners-row{
    display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 20px;
  }

.partner-card{
    display:flex;align-items:center;justify-content:center;
    height:88px;width:168px;padding:16px 22px;border-radius:14px;background:var(--bg-soft);
    border:1px solid rgba(20,33,42,.06);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  }

.partner-card img{
    max-height:52px;max-width:120px;width:auto;height:auto;object-fit:contain;
  }

.partner-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);background:#fff;}

@media (max-width:720px){
    .partner-card{height:72px;width:136px;padding:12px 16px;}
    .partner-card img{max-height:40px;max-width:96px;}
  }

nav.main-nav.open{
    display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;padding:20px 24px;gap:16px;box-shadow:0 12px 24px rgba(0,0,0,.08);
  }
