  :root{
    --seine:#012333;
    --seine-2:#011b27;
    --ivory:#f9f5ed;
    --gold:#d09945;
    --terracotta:#d35d31;
    --ink:#061520;
    --muted:#445562;
    --ease:cubic-bezier(.22,1,.36,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter Tight',sans-serif;
    background:#fff;
    color:var(--ink);
    overflow-x:hidden;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.font-serif{font-family:'Fraunces',serif;font-weight:400;}
  em, .italic{font-style:italic;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1400px;margin:0 auto;padding:0 24px;}
  section{position:relative;}
  .dark{background:var(--seine);color:var(--ivory);}
  .light{background:#ffffff;color:var(--ink);}
  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
    font-weight:500;margin-bottom:22px;
  }
  .eyebrow.on-dark{color:rgba(249,245,237,.65);}
  .eyebrow.on-light{color:var(--muted);}
  .eyebrow .dash{width:24px;height:1px;background:currentColor;opacity:.5;}

  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:15px 30px;border-radius:999px;font-size:.85rem;font-weight:500;
    cursor:pointer;border:none;transition:transform .5s var(--ease), box-shadow .5s var(--ease), background .4s var(--ease);
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-ivory{background:var(--ivory);color:var(--ink);}
  .btn-ivory:hover{box-shadow:0 14px 34px -12px rgba(249,245,237,.5);}
  .btn-gold{background:var(--gold);color:var(--ink);}
  .btn-gold:hover{box-shadow:0 14px 34px -12px rgba(208,153,69,.6);}
  .btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}
  .link-arrow{
    font-size:.85rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;
    position:relative;
  }
  .link-arrow span{transition:transform .4s var(--ease);}
  .link-arrow:hover span{transform:translateX(5px);}

  /* NAV */
  header{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    padding:26px 0;transition:all .5s var(--ease);
  }
  header.scrolled{
    padding:16px 0;background:rgba(1,35,51,.55);
    backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);
    box-shadow:0 8px 30px rgba(0,0,0,.15);
  }
  nav{display:flex;align-items:center;justify-content:space-between;}
  .logo{font-family:'Fraunces',serif;font-size:1.4rem;color:var(--ivory);}
  .logo em{color:var(--gold);}
  .nav-links{display:flex;gap:38px;}
  .nav-links a{
    color:var(--ivory);font-size:.88rem;opacity:.85;position:relative;padding-bottom:3px;
  }
  .nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .4s var(--ease);}
  .nav-links a:hover::after{width:100%;}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:1100;position:relative;}
  .burger span{width:24px;height:2px;background:var(--ivory);transition:transform .35s var(--ease), opacity .25s var(--ease);}
  .burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger.active span:nth-child(2){opacity:0;}
  .burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* HERO */
  .hero{
    position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;
    overflow:hidden;background:var(--seine);color:var(--ivory);padding-top:110px;
  }
  .hero-media{position:absolute;inset:0;z-index:0;}
  .hero-media img{width:100%;height:100%;object-fit:cover;animation:kenburns 24s ease-in-out infinite alternate;}
  @keyframes kenburns{0%{transform:scale(1.04);}100%{transform:scale(1.15) translateY(-1%);}}
  .hero::before{
    content:'';position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg, rgba(1,20,30,.15) 0%, rgba(1,20,30,.25) 45%, rgba(1,20,30,.92) 100%);
  }
  .hero-inner{position:relative;z-index:2;}
  .hero-content{padding:0 24px;max-width:1400px;margin:0 auto;width:100%;}
  .hero h1{
    font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:1.04;font-weight:400;margin-bottom:28px;letter-spacing:-.01em;
  }
  .hero h1 em{color:var(--gold);}
  .hero p.lead{font-size:clamp(1rem,1.5vw,1.15rem);max-width:520px;color:rgba(249,245,237,.85);margin-bottom:36px;}
  .hero-btns{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-bottom:56px;}
  .stats-row{
    display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
    border-top:1px solid rgba(249,245,237,.15);padding:32px 24px;position:relative;z-index:2;
  }
  .stats-row .stat-num{font-family:'Fraunces',serif;font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:6px;}
  .stats-row .stat-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(249,245,237,.6);}

  /* REVEAL */
  .reveal{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease), transform .9s var(--ease);}
  .reveal.visible{opacity:1;transform:translateY(0);}

  /* CONCEPT */
  #concept{padding:140px 0;}
  .concept-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start;}
  .concept-grid h2{font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.12;}
  .concept-grid h2 em{color:var(--terracotta);}
  .concept-text{padding-top:14px;}
  .concept-text p{color:var(--muted);font-size:1.02rem;margin-bottom:20px;}

  /* RESTAURATION */
  #restauration{padding:140px 0;border-top:1px solid #eee;}
  .catering-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:56px;}
  .catering-card{padding:32px 28px;border:1px solid #e7e2d8;border-radius:20px;transition:border-color .4s var(--ease), transform .4s var(--ease);}
  .catering-card:hover{border-color:var(--terracotta);transform:translateY(-4px);}
  .catering-label{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--terracotta);margin-bottom:14px;display:block;font-weight:600;}
  .catering-card h3{font-size:1.3rem;margin-bottom:10px;color:var(--ink);}
  .catering-card p{color:var(--muted);font-size:.92rem;}

  /* ENTREPRISES */
  #entreprises{padding:140px 0;border-top:1px solid #eee;}
  .entreprises-cta{margin-top:48px;text-align:center;}

  /* PARTICULIERS */
  #particuliers{padding:140px 0;border-top:1px solid #eee;}

  /* FLEET */
  #flotte{padding:140px 0;}
  .fleet-head{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;margin-bottom:56px;align-items:start;}
  .fleet-head h2{font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.12;}
  .fleet-head h2 em{color:var(--gold);}
  .fleet-head p{color:rgba(249,245,237,.7);padding-top:14px;font-size:1.02rem;}
  .fleet-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(249,245,237,.08);}
  .fleet-card{position:relative;overflow:hidden;min-height:480px;background:var(--seine-2);}
  .fleet-card.tall{grid-row:span 2;min-height:100%;}
  .fleet-card img{
    width:100%;height:100%;object-fit:cover;position:absolute;inset:0;
    transition:transform 1s var(--ease), filter 1s var(--ease);
  }
  .fleet-card:hover img{transform:scale(1.06);}
  .fleet-card.overlay-style::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(1,20,30,0) 35%, rgba(1,20,30,.9) 100%);
  }
  .fleet-card.overlay-style .fleet-text{
    position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px;
  }
  .fleet-card.split-style{display:flex;flex-direction:column;min-height:480px;}
  .fleet-card.split-style .fleet-img-top{position:relative;height:50%;overflow:hidden;}
  .fleet-card.split-style .fleet-img-top img{position:absolute;inset:0;}
  .fleet-card.split-style .fleet-text{padding:30px 34px;flex:1;}
  .fleet-num{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:block;}
  .fleet-title{font-family:'Fraunces',serif;font-size:1.9rem;color:var(--ivory);margin-bottom:10px;}
  .fleet-cap{color:rgba(249,245,237,.6);font-size:.92rem;margin-bottom:14px;}
  .fleet-desc{color:rgba(249,245,237,.8);font-size:.94rem;max-width:420px;}
  .fleet-card.full-width{grid-column:1 / -1;min-height:420px;}

  /* MÉTHODE */
  #methode{padding:140px 0;}
  .methode-head{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;margin-bottom:70px;align-items:start;}
  .methode-head h2{font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.12;}
  .methode-head h2 em{color:var(--terracotta);}
  .methode-head p{color:var(--muted);padding-top:14px;font-size:1.02rem;}
  .steps-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e7e2d8;}
  .step{padding:36px 26px;border-right:1px solid #e7e2d8;}
  .step:last-child{border-right:none;}
  .step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px;}
  .step-num{font-family:'Fraunces',serif;font-size:2.6rem;color:var(--terracotta);}
  .step-arrow{color:var(--muted);font-size:1.1rem;}
  .step h3{font-family:'Inter Tight',sans-serif;font-weight:600;font-size:1.1rem;margin-bottom:12px;}
  .step p{color:var(--muted);font-size:.92rem;}

  /* CONTACT */
  #contact{padding:140px 0 100px;}
  .contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start;}
  .contact-grid h2{font-size:clamp(2.2rem,4.4vw,3.2rem);line-height:1.15;margin-bottom:22px;}
  .contact-grid h2 em{color:var(--gold);}
  .contact-grid > div:first-child p{color:rgba(249,245,237,.75);margin-bottom:34px;max-width:420px;}
  .contact-links{display:flex;flex-direction:column;gap:14px;}
  .contact-links a{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--ivory);opacity:.9;}
  .contact-links span.arr{color:var(--gold);}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:26px;}
  .form-group{display:flex;flex-direction:column;gap:10px;}
  .form-group.full{grid-column:1/-1;}
  label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(249,245,237,.55);}
  input,select,textarea{
    background:transparent;border:none;border-bottom:1px solid rgba(249,245,237,.25);
    padding:8px 0;color:var(--ivory);font-family:'Inter Tight',sans-serif;font-size:.98rem;
    transition:border-color .3s;
  }
  input::placeholder,textarea::placeholder{color:rgba(249,245,237,.35);}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);}
  select option{background:var(--seine);color:var(--ivory);}
  textarea{resize:vertical;min-height:60px;}
  .contact-form{margin-top:6px;}
  .submit-btn{width:100%;justify-content:center;margin-top:12px;padding:18px;font-size:.9rem;letter-spacing:.02em;text-transform:uppercase;}
  .form-alert{
    padding:16px 20px;border-radius:12px;font-size:.9rem;margin-bottom:24px;
  }
  .form-alert.success{background:rgba(208,153,69,.15);border:1px solid rgba(208,153,69,.4);color:var(--ivory);}
  .form-alert.error{background:rgba(211,93,49,.15);border:1px solid rgba(211,93,49,.4);color:var(--ivory);}
  .form-alert ul{margin:8px 0 0 18px;list-style:disc;}
  .honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden;}

  /* FOOTER */
  footer{background:#fff;padding:44px 0;border-top:1px solid #eee;}
  .footer-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;}
  .footer-logo{font-family:'Fraunces',serif;font-size:1.2rem;color:var(--ink);}
  .footer-logo em{color:var(--terracotta);}
  .footer-row .copy{font-size:.85rem;color:var(--muted);}
  .footer-legal{display:flex;gap:26px;font-size:.85rem;color:var(--muted);}
  .footer-legal a:hover{color:var(--ink);}

  @media(max-width:900px){
    .concept-grid,.fleet-head,.methode-head,.contact-grid{grid-template-columns:1fr;gap:28px;}
    .fleet-grid{grid-template-columns:1fr;}
    .fleet-card.tall{grid-row:auto;min-height:420px;}
    .stats-row{grid-template-columns:repeat(2,1fr);}
    .steps-row{grid-template-columns:1fr 1fr;}
    .step{border-bottom:1px solid #e7e2d8;}
    .form-row{grid-template-columns:1fr;}
    .catering-grid{grid-template-columns:1fr;}
  }
  /* WHATSAPP */
  .whatsapp-float{
    position:fixed;bottom:24px;right:100px;width:60px;height:60px;
    background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 30px -8px rgba(0,0,0,.4);z-index:2000;
    transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  }
  .whatsapp-float:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 16px 36px -8px rgba(0,0,0,.5);}
  .whatsapp-float svg{width:30px;height:30px;fill:#fff;}

  /* COOKIE CONSENT — petite carte non intrusive, coin bas-gauche */
  .cookie-overlay{
    position:fixed;left:24px;bottom:24px;z-index:5000;max-width:340px;width:calc(100% - 48px);
    pointer-events:none;
  }
  .cookie-overlay.hidden{display:none;}
  .cookie-modal{
    pointer-events:auto;
    background:#fff;color:var(--ink);border-radius:18px;width:100%;
    padding:26px;box-shadow:0 20px 50px -12px rgba(0,0,0,.3);border:1px solid #eee;
  }
  .cookie-modal h3{font-size:1.05rem;margin-bottom:10px;}
  .cookie-modal p{color:var(--muted);font-size:.85rem;line-height:1.55;margin-bottom:18px;}
  .cookie-modal p a{text-decoration:underline;color:var(--ink);}
  .cookie-btns{display:flex;gap:10px;flex-wrap:wrap;}
  .cookie-btns .btn{padding:11px 20px;font-size:.8rem;}
  .btn-outline{background:transparent;color:var(--ink);border:1px solid #d8d2c4;}
  .btn-outline:hover{border-color:var(--ink);}
  .cookie-manage-link{cursor:pointer;background:none;border:none;font:inherit;color:var(--muted);padding:0;}
  .cookie-manage-link:hover{color:var(--ink);}
  @media(max-width:600px){
    .cookie-overlay{left:16px;right:16px;bottom:16px;max-width:none;width:auto;}
    .cookie-btns .btn{flex:1;justify-content:center;}
  }

  @media(max-width:720px){
    .whatsapp-float{width:52px;height:52px;bottom:18px;right:82px;}
    .whatsapp-float svg{width:26px;height:26px;}
    .nav-links{
      position:fixed;top:0;right:0;height:100vh;width:76%;max-width:320px;z-index:1090;
      background:rgba(1,27,39,.98);backdrop-filter:blur(16px);flex-direction:column;
      justify-content:center;padding:0 40px;gap:26px;transform:translateX(100%);
      transition:transform .5s var(--ease);
    }
    .nav-links.open{transform:translateX(0);}
    .burger{display:flex;}
    .nav-cta{display:none;}
    .stats-row{grid-template-columns:1fr 1fr;}
    .steps-row{grid-template-columns:1fr;}
    .step{border-right:none;}
  }

/* ===== Ajouts Sein'ario Bordeaux (identité Paris conservée) ===== */
.logo .logo-city{font-family:'Inter Tight',sans-serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;margin-left:10px;opacity:.7;vertical-align:middle;font-style:normal;}
.hero-media.empty{background:
  radial-gradient(120% 80% at 75% 20%, rgba(208,153,69,.28) 0%, rgba(208,153,69,0) 55%),
  linear-gradient(180deg,#0a3a52 0%,#012333 65%,#011b27 100%);}
.fleet-card .no-photo{position:absolute;inset:0;background:linear-gradient(160deg,#0b3550 0%,#011b27 90%);}
.fleet-card.split-style .fleet-img-top .no-photo{position:absolute;inset:0;}

/* Pages secondaires */
.page-hero{background:var(--seine);color:var(--ivory);padding:170px 0 90px;}
.page-hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.08;letter-spacing:-.01em;max-width:18ch;margin-bottom:24px;}
.page-hero p.lead{max-width:60ch;color:rgba(249,245,237,.82);font-size:1.08rem;margin-bottom:32px;}
.crumbs{font-size:.82rem;color:rgba(249,245,237,.6);margin-bottom:28px;}
.crumbs a{text-decoration:underline;text-underline-offset:3px;}
.prose-section{padding:90px 0;background:#fff;color:var(--ink);}
.prose{max-width:720px;margin:0 auto;}
.prose h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.2;margin:2.2em 0 .6em;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.25rem;margin:1.6em 0 .4em;}
.prose p,.prose li{color:var(--muted);font-size:1.05rem;line-height:1.75;margin-bottom:1em;}
.prose ul{list-style:disc;margin:0 0 1.2em 1.3em;}
.prose a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold);}
.prose .note{border-left:3px solid var(--gold);padding:4px 0 4px 18px;margin:1.6em 0;}
.cta-band{background:var(--seine);color:var(--ivory);padding:64px 0;text-align:center;}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:22px;}

/* FAQ */
#faq{padding:120px 0;border-top:1px solid #eee;}
.faq-list{max-width:820px;margin-top:48px;}
.faq-list details{border-bottom:1px solid #e7e2d8;padding:6px 0;}
.faq-list summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;font-family:'Fraunces',serif;font-size:1.2rem;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--gold);transition:transform .3s var(--ease);}
.faq-list details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq-list details p{color:var(--muted);padding:0 40px 22px 0;max-width:70ch;}

/* Blog */
.article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:8px;}
.article-card{display:block;padding:32px 28px;border:1px solid #e7e2d8;border-radius:20px;transition:border-color .4s var(--ease),transform .4s var(--ease);}
.article-card:hover{border-color:var(--terracotta);transform:translateY(-4px);}
.article-card .catering-label{margin-bottom:12px;}
.article-card h2{font-size:1.4rem;margin-bottom:10px;line-height:1.25;}
.article-card p{color:var(--muted);font-size:.95rem;}
.related{margin-top:3em;padding-top:1.5em;border-top:1px solid #e7e2d8;}

/* Footer étendu */
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid #eee;}
.footer-cols h4{font-family:'Fraunces',serif;font-weight:400;font-size:1rem;margin-bottom:12px;}
.footer-cols a{display:block;font-size:.9rem;color:var(--muted);padding:4px 0;}
.footer-cols a:hover{color:var(--ink);}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .hero-media img{animation:none;}
}
