
  :root{
    --ivory:#F5F0E5;
    --cream:#FBF8F0;
    --ink:#241D16;
    --ink-soft:#352D24;
    --stone:#665B4C;
    --bordeaux:#6E2334;
    --bordeaux-deep:#551926;
    --ochre:#BC8B3C;
    --royal:#153991;
    --royal-deep:#0F2A6E;
    --line:rgba(39,32,25,.16);
    --line-light:rgba(251,248,240,.22);
    --shadow:0 24px 60px -28px rgba(39,32,25,.45);
  }
  *,*::before,*::after{box-sizing:border-box;}
  body,h1,h2,h3,p,figure,blockquote,ul{margin:0;}
  ul{padding-left:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ivory);
    color:var(--ink);
    font-family:'Jost',sans-serif;
    font-weight:400;
    font-size:17px;
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  /* subtle paper grain */
  body::before{
    content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.025;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  h1,h2,h3{font-family:'Fraunces',serif;font-weight:400;line-height:1.12;letter-spacing:-.01em;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
  .eyebrow{
    font-family:'Jost',sans-serif;font-weight:400;font-size:12px;
    text-transform:uppercase;letter-spacing:.32em;color:var(--bordeaux);
  }

  /* ============ HEADER ============ */
  .site-head{position:absolute;top:0;left:0;right:0;z-index:50;transition:background .5s ease, box-shadow .5s ease;}
  .site-head:not(.scrolled) .utility,
  .site-head:not(.scrolled) .brand,
  .site-head:not(.scrolled) .menu a,
  .site-head:not(.scrolled) .btn{text-shadow:0 1px 14px rgba(20,15,11,.55);}
  .utility{
    border-bottom:1px solid var(--line-light);
    font-size:12px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--cream);transition:color .5s ease,border-color .5s ease;
  }
  .utility .wrap{display:flex;justify-content:space-between;align-items:center;height:46px;}
  .utility a{display:inline-flex;align-items:center;gap:9px;transition:opacity .25s;}
  .utility a:hover{opacity:.65;}
  .distinctions{display:flex;align-items:center;gap:14px;}
  .distinctions .dot{color:var(--ochre);opacity:.7;}
  .nav{display:flex;align-items:center;justify-content:space-between;height:96px;gap:24px;}
  .brand{display:flex;flex-direction:row;align-items:center;gap:15px;line-height:1;color:var(--cream);transition:color .5s ease;}
  .brand-mark{
    width:46px;height:46px;flex:none;border-radius:50%;
    box-shadow:0 2px 14px rgba(20,15,11,.4);transition:width .4s ease,height .4s ease;
  }
  .brand-text{display:flex;flex-direction:column;}
  .brand .name{font-family:'Fraunces',serif;font-size:25px;letter-spacing:.01em;}
  .brand .sub{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;margin-top:7px;opacity:.8;}
  .menu{display:flex;align-items:center;justify-content:center;gap:clamp(18px,1.8vw,38px);list-style:none;flex:1 1 auto;min-width:0;}
  .menu li{flex:0 0 auto;white-space:nowrap;}
  .menu a{
    font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);
    position:relative;padding:6px 0;transition:color .5s ease;white-space:nowrap;
  }
  .menu a::after{
    content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
    background:var(--ochre);transition:right .35s ease;
  }
  .menu a:hover::after,.menu a.active::after{right:0;}
  .menu a.active{color:var(--ochre);}
  .btn{
    display:inline-block;font-family:'Jost',sans-serif;font-size:12.5px;font-weight:400;
    letter-spacing:.2em;text-transform:uppercase;padding:15px 30px;
    border:1px solid currentColor;color:var(--cream);transition:all .35s ease;cursor:pointer;
    background:transparent;
  }
  .btn:hover{background:var(--cream);color:var(--ink);}
  .btn-solid{background:var(--bordeaux);border-color:var(--bordeaux);color:var(--cream);}
  .btn-solid:hover{background:var(--bordeaux-deep);border-color:var(--bordeaux-deep);color:var(--cream);}

  /* scrolled state */
  .site-head.scrolled{background:var(--ivory);box-shadow:0 1px 0 var(--line),0 14px 40px -30px rgba(39,32,25,.6);}
  .site-head.scrolled .utility{color:var(--ink-soft);border-color:var(--line);}
  .site-head.scrolled .brand,.site-head.scrolled .menu a{color:var(--ink);}
  .site-head.scrolled .menu a.active{color:var(--bordeaux);}
  .site-head.scrolled .btn{color:var(--ink);}
  .site-head.scrolled .btn:hover{background:var(--ink);color:var(--ivory);}
  .site-head.scrolled .nav{height:78px;}
  .site-head.scrolled .brand-mark{width:40px;height:40px;}

  /* ============ HERO ============ */
  .hero{
    position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;
    padding:0;background:#1c1612;
  }
  .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .hero-veil{
    position:absolute;inset:0;
    background:
      linear-gradient(to bottom, rgba(20,15,11,.68) 0%, rgba(20,15,11,.12) 24%, rgba(20,15,11,0) 40%),
      linear-gradient(to top, rgba(20,15,11,.90) 0%, rgba(20,15,11,.45) 38%, rgba(20,15,11,.05) 66%);
  }
  .hero-inner{position:relative;width:100%;padding:0;text-align:center;}
  .hero-inner .eyebrow{
    color:#F2C879;font-size:13.5px;font-weight:500;letter-spacing:.34em;
    text-shadow:0 2px 20px rgba(20,15,11,.9),0 0 4px rgba(20,15,11,.6);
  }
  .hero h1{
    color:#FFFDF7;font-size:clamp(2.4rem,5.6vw,5.1rem);max-width:16ch;margin:22px auto 26px;
    text-shadow:0 2px 30px rgba(20,15,11,.55);
  }
  .hero h1 em{font-style:italic;color:#F0DDBF;white-space:nowrap;}
  .hero p{
    color:rgba(251,248,240,.96);max-width:52ch;font-size:18px;margin:0 auto 38px;
    text-shadow:0 1px 18px rgba(20,15,11,.62);
  }
  .hero-cta{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;}
  .hero-note{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(251,248,240,.85);text-shadow:0 1px 14px rgba(20,15,11,.6);}
  .scroll-cue{
    position:absolute;right:40px;bottom:92px;display:flex;flex-direction:column;align-items:center;gap:14px;
    color:rgba(251,248,240,.9);font-size:11px;letter-spacing:.24em;text-transform:uppercase;
    writing-mode:vertical-rl;text-shadow:0 1px 14px rgba(20,15,11,.6);
  }
  .scroll-cue span::after{
    content:"";display:block;width:1px;height:54px;margin:14px auto 0;
    background:linear-gradient(var(--ochre),transparent);
  }

  /* page load animation */
  .reveal-load{opacity:0;transform:translateY(26px);}
  .loaded .reveal-load{opacity:1;transform:none;transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);}
  .loaded .d1{transition-delay:.15s;}
  .loaded .d2{transition-delay:.30s;}
  .loaded .d3{transition-delay:.45s;}
  .loaded .d4{transition-delay:.60s;}
  .loaded .d5{transition-delay:.72s;}

  /* scroll reveal */
  .reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}

  /* ============ TILE DIVIDER ============ */
  .tile-band{
    height:34px;
    background:
      repeating-conic-gradient(from 45deg, var(--bordeaux) 0deg 90deg, var(--ivory) 90deg 180deg);
    background-size:34px 34px;opacity:.16;
  }

  /* ============ INTRO ============ */
  .intro{padding:130px 0 60px;}
  .intro-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:start;}
  .intro h2{font-size:clamp(2rem,3.4vw,3rem);margin:20px 0 0;max-width:13ch;}
  .intro .body p{margin-bottom:22px;color:var(--ink-soft);}
  .intro .body p:last-child{margin-bottom:0;}
  .pull{
    margin-top:46px;padding-left:30px;border-left:2px solid var(--ochre);
    font-family:'Fraunces',serif;font-style:italic;font-size:24px;line-height:1.5;color:var(--bordeaux);
  }

  /* ============ DISH SHOWCASE ============ */
  .dish{padding:46px 0 34px;}
  .dish-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:74px;align-items:center;}
  .dish-figure{position:relative;}
  .dish-figure img{
    width:100%;height:520px;object-fit:cover;position:relative;z-index:1;
    box-shadow:var(--shadow);
  }
  .dish-frame{
    position:absolute;z-index:0;left:26px;top:26px;right:-26px;bottom:-26px;
    border:1px solid var(--ochre);
  }
  .dish-text .eyebrow{display:block;}
  .dish-text h2{font-size:clamp(1.9rem,3vw,2.7rem);margin:18px 0 22px;max-width:14ch;}
  .dish-text p{color:var(--ink-soft);margin-bottom:18px;}

  /* ============ FEATURES ============ */
  .features{padding:70px 0 120px;}
  .feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);}
  .feat{padding:46px 38px 10px;border-right:1px solid var(--line);}
  .feat:last-child{border-right:none;}
  .feat .num{font-family:'Fraunces',serif;font-size:15px;color:var(--ochre);}
  .feat h3{font-size:1.6rem;margin:18px 0 14px;}
  .feat p{font-size:15.5px;color:var(--ink-soft);line-height:1.7;}

  /* ============ MAITRE BAND ============ */
  .maitre{background:var(--bordeaux);color:var(--cream);padding:110px 0;position:relative;overflow:hidden;}
  .maitre::after{
    content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;
    border:1px solid rgba(251,248,240,.16);
  }
  .maitre::before{
    content:"";position:absolute;right:10px;top:90px;width:200px;height:200px;border-radius:50%;
    border:1px solid rgba(251,248,240,.12);
  }
  .maitre-grid{display:grid;grid-template-columns:.8fr 1.1fr;gap:80px;align-items:center;position:relative;z-index:1;}
  .maitre .eyebrow{color:var(--ochre);}
  .maitre h2{font-size:clamp(2rem,3.3vw,2.9rem);margin:18px 0;color:var(--cream);}
  .maitre p{color:rgba(251,248,240,.95);font-size:17px;margin-bottom:18px;}
  .maitre p:last-child{margin-bottom:0;}
  .seal{
    width:150px;height:150px;border-radius:50%;border:1px solid var(--ochre);
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
    font-family:'Fraunces',serif;color:var(--ochre);margin-bottom:8px;
  }
  .seal .s-top{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-family:'Jost',sans-serif;}
  .seal .s-mid{font-size:30px;line-height:1;margin:8px 0;}
  .seal .s-bot{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-family:'Jost',sans-serif;}

  /* ============ CARTE / MENU ============ */
  .carte{background:var(--cream);padding:120px 0;border-top:1px solid var(--line);}
  .carte .head{text-align:center;max-width:60ch;margin:0 auto 56px;}
  .carte .head .eyebrow{display:block;}
  .carte .head h2{font-size:clamp(2rem,3.4vw,3rem);margin:18px 0 16px;}
  .carte .head p{color:var(--ink-soft);}

  /* formules */
  .formules{
    max-width:760px;margin:0 auto 64px;border:1px solid var(--line);background:var(--ivory);
  }
  .formules-row{display:grid;grid-template-columns:1.6fr 1fr 1fr;}
  .formules-row+.formules-row{border-top:1px solid var(--line);}
  .formules-row>div{padding:20px 26px;}
  .formules-row>div+div{border-left:1px solid var(--line);text-align:center;}
  .formules-head>div{
    background:var(--bordeaux);color:var(--cream);
    font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
    line-height:1.5;display:flex;align-items:center;
  }
  .formules-head>div+div{border-left-color:rgba(251,248,240,.2);justify-content:center;text-align:center;}
  .formules-name{font-family:'Fraunces',serif;font-size:18px;color:var(--ink);}
  .formules-price{font-family:'Fraunces',serif;font-size:21px;color:var(--bordeaux);display:flex;align-items:center;justify-content:center;}
  .formules-note{text-align:center;font-size:13px;font-style:italic;color:var(--stone);font-family:'Fraunces',serif;margin:-50px auto 64px;}

  /* tabs */
  .carte-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-bottom:54px;}
  .carte-tab{
    font-family:'Jost',sans-serif;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;
    padding:13px 26px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);
    cursor:pointer;transition:all .3s ease;
  }
  .carte-tab:hover{border-color:var(--stone);color:var(--ink);}
  .carte-tab.active{background:var(--bordeaux);border-color:var(--bordeaux);color:var(--cream);}

  .carte-panel{display:none;max-width:720px;margin:0 auto;}
  .carte-panel.active{display:block;animation:fadeUp .5s ease;}
  @keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

  .course-head{display:flex;align-items:baseline;justify-content:center;gap:14px;margin:0 0 34px;}
  .course-head:not(:first-child){margin-top:54px;}
  .course-title{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--ink);}
  .course-price{
    font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--cream);background:var(--ochre);padding:4px 12px;
  }
  .course-rule{text-align:center;font-family:'Fraunces',serif;font-style:italic;color:var(--bordeaux);
    font-size:15px;margin:46px 0 30px;position:relative;}
  .course-rule::before,.course-rule::after{
    content:"";position:absolute;top:50%;width:60px;height:1px;background:var(--line);
  }
  .course-rule::before{left:50%;margin-left:-130px;}
  .course-rule::after{right:50%;margin-right:-130px;}

  .plat{text-align:center;padding:16px 0;border-bottom:1px dotted var(--line);}
  .plat:last-child{border-bottom:none;}
  .plat-name{font-family:'Fraunces',serif;font-size:1.18rem;color:var(--ink);}
  .plat-supp{
    font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.1em;color:var(--ochre);
    border:1px solid var(--ochre);padding:2px 8px;margin-left:10px;vertical-align:middle;text-transform:uppercase;
  }
  .plat-desc{font-size:15px;color:var(--ink-soft);margin-top:5px;font-style:italic;font-family:'Fraunces',serif;}

  .enfant-card{max-width:600px;margin:0 auto;text-align:center;}
  .enfant-card .plat-name{font-size:1.3rem;}
  .enfant-intro{color:var(--ink-soft);font-style:italic;font-family:'Fraunces',serif;margin-bottom:30px;}

  .carte-foot{text-align:center;margin-top:62px;}
  .carte-foot p{font-size:14px;font-style:italic;color:var(--stone);font-family:'Fraunces',serif;margin-bottom:8px;}
  .carte-foot .btn{margin-top:22px;color:var(--ink);}
  .carte-foot .btn:hover{background:var(--ink);color:var(--ivory);}

  /* ============ PRACTICAL ============ */
  .practical{padding:120px 0;}
  .practical .eyebrow{display:block;text-align:center;}
  .practical .head{text-align:center;margin-bottom:64px;}
  .practical .head h2{font-size:clamp(2rem,3.4vw,3rem);margin-top:18px;}
  .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);}
  .info-col{padding:54px 56px;}
  .info-col+.info-col{border-left:1px solid var(--line);}
  .info-col h3{font-size:1.5rem;margin-bottom:26px;}
  .info-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px dotted var(--line);font-size:15.5px;}
  .info-row:last-of-type{border-bottom:none;}
  .info-row .k{color:var(--stone);letter-spacing:.04em;}
  .info-row .v{text-align:right;color:var(--ink);}
  .info-note{margin-top:22px;font-size:14px;font-style:italic;color:var(--stone);font-family:'Fraunces',serif;}
  .info-col a.line{color:var(--bordeaux);border-bottom:1px solid var(--line);}

  /* ============ CTA ============ */
  .cta{
    background:var(--royal);color:var(--cream);text-align:center;padding:120px 0;position:relative;
  }
  .cta .eyebrow{color:#E7C063;}
  .cta h2{font-size:clamp(2.2rem,4vw,3.6rem);margin:20px auto 16px;max-width:18ch;color:var(--cream);}
  .cta h2 em{font-style:italic;color:#EAD9B4;}
  .cta p{color:rgba(251,248,240,.9);margin-bottom:40px;}
  .cta .btn{color:var(--cream);}
  .cta .btn:hover{background:var(--cream);color:var(--royal);}
  .cta-phone{display:block;margin-top:26px;font-family:'Fraunces',serif;font-size:22px;color:var(--cream);}

  /* ============ FOOTER ============ */
  footer{background:#1f1913;color:rgba(251,248,240,.84);padding:84px 0 36px;font-size:14px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(245,240,229,.16);}
  .foot-brand .name{font-family:'Fraunces',serif;font-size:26px;color:var(--cream);}
  .foot-brand .tag{margin-top:14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ochre);}
  .foot-brand p{margin-top:18px;line-height:1.8;}
  .foot-col h4{font-family:'Jost',sans-serif;font-weight:400;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);margin-bottom:18px;}
  .foot-col ul{list-style:none;}
  .foot-col li{margin-bottom:11px;}
  .foot-col a:hover{color:var(--ochre);}
  .foot-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:30px;font-size:12px;letter-spacing:.06em;color:rgba(245,240,229,.62);flex-wrap:wrap;}

  /* ============ RESPONSIVE ============ */
  @media(max-width:980px){
    .wrap{padding:0 26px;}
    .menu{display:none;}
    .intro-grid,.maitre-grid{grid-template-columns:1fr;gap:48px;}
    .dish-grid{grid-template-columns:1fr;gap:54px;}
    .dish-figure img{height:380px;}
    .dish-frame{left:16px;top:16px;right:-16px;bottom:-16px;}
    .dish-text h2{max-width:none;}
    .feat-grid{grid-template-columns:1fr;}
    .feat{border-right:none;border-bottom:1px solid var(--line);padding:38px 0 30px;}
    .feat:last-child{border-bottom:none;}
    .info-grid{grid-template-columns:1fr;}
    .info-col+.info-col{border-left:none;border-top:1px solid var(--line);}
    .info-col{padding:42px 30px;}
    .foot-grid{grid-template-columns:1fr;gap:44px;}
    .scroll-cue{display:none;}
    .hero{padding:0;}
    .hero-inner{padding:0;}
    .seal{margin:0 auto 24px;}
    .maitre-grid{text-align:center;}
    .maitre .eyebrow{display:block;}
    .carte{padding:84px 0;}
    .formules-row{grid-template-columns:1fr;}
    .formules-row>div+div{border-left:none;border-top:1px solid var(--line);}
    .formules-head{display:none;}
    .formules-price{justify-content:flex-start;}
    .formules-price::before{
      content:attr(data-label);font-family:'Jost',sans-serif;font-size:11px;
      letter-spacing:.12em;text-transform:uppercase;color:var(--stone);margin-right:12px;
    }
    .formules-note{margin:-36px auto 48px;}
    .course-rule::before{margin-left:-150px;}
    .course-rule::after{margin-right:-150px;}
  }
  @media(max-width:560px){
    body{font-size:16px;}
    .utility .wrap{height:auto;padding:9px 26px;flex-direction:column;gap:6px;}
    .utility{font-size:11px;}
    .nav{height:72px;}
    .brand .name{font-size:20px;}
    .brand{gap:11px;}
    .brand-mark{width:38px;height:38px;}
    .hero-cta{gap:18px;}
    .info-row{flex-direction:column;gap:2px;}
    .info-row .v{text-align:left;}
  }


/* WordPress integration */
.screen-reader-text,
.skip-link:not(:focus){
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link:focus{position:fixed;z-index:10000;left:20px;top:20px;background:var(--cream);color:var(--ink);padding:12px 18px;border:1px solid var(--line);}
.admin-bar .site-head{top:32px;}
body.rsl-page{background:var(--ivory);}
.main-content{min-height:50vh;}
.wp-caption,.aligncenter{max-width:100%;}

.site-head .custom-logo-link img{max-height:46px;width:auto;filter:drop-shadow(0 2px 14px rgba(20,15,11,.4));}
.site-head.scrolled .custom-logo-link img{max-height:40px;}
.brand-logo{width:auto;max-height:54px;display:block;}
.site-head .brand{flex:0 0 auto;min-width:0;}
.site-head .nav>.btn{flex:0 0 auto;white-space:nowrap;}
.site-head .header-booking-btn{min-width:138px;text-align:center;}
@media (min-width:981px) and (max-width:1280px){
  .site-head .nav{gap:16px;}
  .site-head .menu{gap:16px;}
  .site-head .menu a{font-size:12px;letter-spacing:.12em;}
  .site-head .nav>.btn{padding-left:22px;padding-right:22px;}
  .brand-logo{max-width:230px;}
}
@media (min-width:981px) and (max-width:1120px){
  .site-head .nav-toggle{display:block;}
  .site-head .nav>.menu{display:none;position:absolute;left:26px;right:26px;top:100%;background:var(--ivory);border:1px solid var(--line);box-shadow:var(--shadow);padding:22px;}
  .site-head .nav.is-open>.menu{display:grid;gap:12px;}
  .site-head .nav>.menu a{color:var(--ink);text-shadow:none;}
}
.brand-logo--footer{max-width:210px;height:auto;margin-bottom:18px;}
.menu{margin:0;padding:0;}
.menu .current-menu-item > a::after{right:0;}
.menu .current-menu-item > a{color:var(--ochre);}
.site-head.scrolled .menu .current-menu-item > a{color:var(--bordeaux);}
.nav-toggle{display:none;background:transparent;border:1px solid currentColor;color:var(--cream);padding:10px 13px;letter-spacing:.14em;text-transform:uppercase;font-size:11px;}
.site-head.scrolled .nav-toggle{color:var(--ink);}

.reservation-widget{margin:32px auto 0;max-width:980px;background:rgba(251,248,240,.08);border:1px solid rgba(251,248,240,.22);padding:24px;}
.reservation-widget iframe{width:100%;border:0;min-height:260px;}
.reservation-widget--light{background:var(--cream);border:1px solid var(--line);}

.generic-page{padding:190px 0 100px;}
.generic-page__head{max-width:820px;margin-bottom:56px;}
.generic-page__title{font-size:clamp(2.4rem,4.8vw,4.7rem);margin:18px 0 20px;}
.generic-page__body{max-width:820px;color:var(--ink-soft);}
.generic-page__body > * + *{margin-top:1.1em;}
.editor-content{padding:180px 0 100px;}
.editor-content .wrap{max-width:860px;}
.editor-content h1{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:26px;}
.editor-content h2{font-size:clamp(1.7rem,2.8vw,2.6rem);margin-top:52px;margin-bottom:18px;}
.editor-content p,.editor-content li{color:var(--ink-soft);}
.editor-content ul{padding-left:1.2em;}

.hotel-rooms{padding:80px 0 120px;background:var(--cream);border-top:1px solid var(--line);}
.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;}
.room-card{background:var(--ivory);border:1px solid var(--line);box-shadow:var(--shadow);}
.room-card img{width:100%;height:310px;object-fit:cover;}
.room-card__body{padding:32px;}
.room-card h3{font-size:1.7rem;margin-bottom:12px;}
.room-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;}
.room-meta span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:5px 9px;color:var(--stone);}
.equipment-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px;}
.equipment-list li{list-style:none;border-top:1px solid var(--line);padding-top:14px;color:var(--ink-soft);}

.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.gallery-grid img{width:100%;height:280px;object-fit:cover;}

@media(max-width:980px){
  .nav-toggle{display:block;}
  .nav .menu{display:none;position:absolute;left:26px;right:26px;top:100%;background:var(--ivory);border:1px solid var(--line);box-shadow:var(--shadow);padding:22px;}
  .nav.is-open .menu{display:grid;gap:12px;}
  .nav .menu a{color:var(--ink);text-shadow:none;}
  .room-grid,.equipment-list,.gallery-grid{grid-template-columns:1fr;}
}
@media(max-width:782px){.admin-bar .site-head{top:46px;}}


/* Carte restaurant v0.5 : tarifs individuels */
.plat-main{display:flex;align-items:baseline;justify-content:center;gap:14px;flex-wrap:wrap}
.plat-price{font-family:'Fraunces',serif;font-size:1.08rem;color:var(--bordeaux);white-space:nowrap}
.plat-meta{margin-top:5px;font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:.08em;color:var(--ochre)}

/* v0.9 · centrage vertical cohérent de tous les heroes */
@media(max-width:560px){.hero{padding:0}.hero-inner{padding:0}}

/* v1.0.3 · Hero uniforme et réellement dégagé du header.
   Le header desktop mesure 46 px (utility) + 96 px (navigation) = 142 px.
   Le hero réserve cette zone avant de centrer son contenu : le surtitre, le H1
   et les CTA ne peuvent donc plus remonter derrière la navigation. */
.rsl-page{
  --rsl-header-safe:142px;
}
.rsl-page .hero{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:max(100vh,760px);
  min-height:max(100svh,760px);
  padding:var(--rsl-header-safe) 0 34px;
  box-sizing:border-box;
}
.rsl-page .hero>.hero-inner,
.rsl-page .hero>.wrap.hero-inner{
  position:relative;
  z-index:2;
  width:100%;
  margin:0 auto;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center!important;
}
/* Écrans desktop peu hauts : on garde la hiérarchie sans collision avec le header. */
@media (min-width:981px) and (max-height:820px){
  .rsl-page .hero h1{
    font-size:clamp(2.65rem,4.65vw,4.45rem);
    margin:14px auto 20px;
  }
  .rsl-page .hero p{font-size:17px;margin-bottom:24px;}
  .rsl-page .hero .hero-inner>.eyebrow{margin-bottom:0;}
  .rsl-page .hero-cta{gap:20px;}
}
@media (max-width:980px){
  .rsl-page{--rsl-header-safe:142px;}
  .rsl-page .hero{min-height:max(100svh,700px);padding:var(--rsl-header-safe) 0 30px;}
}
@media (max-width:560px){
  .rsl-page{--rsl-header-safe:126px;}
  .rsl-page .hero{min-height:max(100svh,680px);padding:var(--rsl-header-safe) 0 28px;}
}
.rsl-page .hero .eyebrow,
.rsl-page .hero h1,
.rsl-page .hero p,
.rsl-page .hero .hero-note{
  text-align:center!important;
}
/* Le surtitre n’est pas un paragraphe éditorial : il ne doit jamais hériter
   du max-width:52ch et du margin-bottom des paragraphes du hero. */
.rsl-page .hero .hero-inner>.eyebrow{
  width:auto;
  max-width:none;
  margin:0 auto 4px;
  line-height:1.45;
  white-space:nowrap;
}
@media (max-width:700px){
  .rsl-page .hero .hero-inner>.eyebrow{
    max-width:92%;
    white-space:normal;
    line-height:1.65;
  }
}
.rsl-page .hero .hero-cta{
  width:100%;
  justify-content:center;
}

/* =========================================================
   Slider média global v1.0.2
   ========================================================= */
.scroll-cue{display:none!important;}
.rsl-media-slider{
  position:relative;
  overflow:visible;
  width:100%;
}
.rsl-slider-viewport{
  overflow:hidden;
  width:100%;
  background:var(--cream);
  box-shadow:var(--shadow);
}
.rsl-slider-track{
  display:flex;
  width:100%;
  transform:translate3d(0,0,0);
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.rsl-slider-slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  margin:0;
}
.rsl-slider-slide img{
  display:block;
  width:100%;
  height:clamp(360px,48vw,620px);
  object-fit:cover;
}
.rsl-slider-slide figcaption{
  position:absolute;
  left:20px;
  bottom:20px;
  max-width:calc(100% - 40px);
  padding:9px 13px;
  background:rgba(36,29,22,.78);
  color:var(--ivory);
  font-size:12px;
  letter-spacing:.06em;
  backdrop-filter:blur(4px);
}
.rsl-slider-arrow{
  position:absolute;
  z-index:4;
  top:50%;
  width:48px;
  height:48px;
  margin-top:-24px;
  display:grid;
  place-items:center;
  border:1px solid rgba(245,240,229,.75);
  background:rgba(36,29,22,.66);
  color:var(--ivory);
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.rsl-slider-arrow:hover,.rsl-slider-arrow:focus-visible{background:var(--bordeaux);transform:scale(1.04);}
.rsl-slider-arrow span{font-family:'Fraunces',serif;font-size:34px;line-height:1;margin-top:-3px;}
.rsl-slider-prev{left:18px;}
.rsl-slider-next{right:18px;}
.rsl-slider-dots{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  padding:7px 10px;
  background:rgba(36,29,22,.48);
}
.rsl-slider-dots button{
  width:8px;
  height:8px;
  padding:0;
  border:1px solid rgba(245,240,229,.9);
  border-radius:50%;
  background:transparent;
  cursor:pointer;
}
.rsl-slider-dots button.is-active{background:var(--ivory);}
.rsl-gallery-section{padding:96px 0;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.rsl-gallery-section .head{max-width:720px;margin:0 auto 42px;text-align:center;}
.rsl-gallery-section .head .eyebrow{display:block;margin-bottom:16px;}
.rsl-gallery-section .head h2{font-size:clamp(2rem,3.4vw,3rem);margin:0 0 14px;}
.rsl-gallery-section .head p{color:var(--ink-soft);}
.rsl-gallery-section .rsl-media-slider{max-width:1080px;margin:0 auto;}
@media(max-width:700px){
  .rsl-slider-slide img{height:320px;}
  .rsl-slider-arrow{width:42px;height:42px;margin-top:-21px;}
  .rsl-slider-prev{left:10px}.rsl-slider-next{right:10px}
  .rsl-slider-dots{bottom:10px;}
  .rsl-gallery-section{padding:72px 0;}
}


/* =========================================================
   v1.0.4 · Sliders intégrés aux blocs existants
   Aucun slider n'est ajouté comme section éditoriale autonome.
   ========================================================= */
.rsl-dish-with-slider .dish-figure .rsl-slider-viewport{
  position:relative;
  z-index:1;
  box-shadow:var(--shadow);
}
.rsl-dish-with-slider .dish-figure .rsl-slider-slide img{
  width:100%;
  height:520px;
  object-fit:cover;
  box-shadow:none;
}
.rsl-dish-with-slider .dish-figure .rsl-slider-dots{bottom:14px;}
.rsl-groups-story-copy{display:flex;flex-direction:column;gap:34px;}
.rsl-groups-story-block-secondary{
  padding-top:32px;
  border-top:1px solid var(--line);
}
.rsl-groups-story-block-secondary h2{margin-top:14px;}
.rsl-groups-story .pull{margin-top:28px;}
@media(max-width:980px){
  .rsl-dish-with-slider .dish-figure .rsl-slider-slide img{height:380px;}
  .rsl-groups-story-copy{gap:28px;}
  .rsl-groups-story-block-secondary{padding-top:28px;}
}
@media(max-width:560px){
  .rsl-dish-with-slider .dish-figure .rsl-slider-slide img{height:310px;}
}


/* =========================================================
   v1.0.7 · Responsive global + vraie navigation mobile
   ========================================================= */
html,body{max-width:100%;}
main,section,.wrap,.hero-inner{min-width:0;}
video,iframe,embed,object{max-width:100%;}

.nav-toggle{
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:46px;
  min-height:44px;
  border-radius:0;
  line-height:1;
  position:relative;
  z-index:3;
}
.nav-toggle__icon{display:grid;gap:4px;width:20px;flex:0 0 20px;}
.nav-toggle__icon span{display:block;width:20px;height:1px;background:currentColor;transition:transform .25s ease,opacity .2s ease;}
.nav-toggle__label{display:inline-block;}
.nav.is-open .nav-toggle__icon span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.nav.is-open .nav-toggle__icon span:nth-child(2){opacity:0;}
.nav.is-open .nav-toggle__icon span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

@media (max-width:1120px){
  .site-head{overflow:visible;}
  .site-head .nav{
    position:relative;
    height:76px;
    gap:14px;
    justify-content:space-between;
  }
  .site-head.scrolled .nav{height:70px;}
  .site-head .brand{max-width:min(60vw,230px);overflow:hidden;}
  .site-head .brand-logo{max-width:100%;max-height:50px;width:auto;height:auto;object-fit:contain;}
  .site-head .header-booking-btn{display:none!important;}
  .site-head .nav-toggle{display:inline-flex;flex:0 0 auto;color:var(--cream);}
  .site-head.scrolled .nav-toggle{color:var(--ink);}

  .site-head .nav>.menu{
    display:none;
    position:absolute;
    z-index:90;
    top:100%;
    left:0;
    right:0;
    width:100%;
    margin:0;
    padding:10px 22px 18px;
    background:rgba(251,248,240,.99);
    border:1px solid var(--line);
    border-top:0;
    box-shadow:0 28px 60px -30px rgba(39,32,25,.72);
    max-height:calc(100svh - 110px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .site-head .nav.is-open>.menu{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
  }
  .site-head .nav>.menu li{width:100%;white-space:normal;border-bottom:1px solid var(--line);}
  .site-head .nav>.menu li:last-child{border-bottom:0;}
  .site-head .nav>.menu a{
    display:block;
    width:100%;
    padding:14px 2px;
    color:var(--ink);
    text-shadow:none;
    white-space:normal;
    font-size:12px;
    line-height:1.35;
    letter-spacing:.14em;
  }
  .site-head .nav>.menu a::after{display:none;}
  .site-head .nav>.menu .current-menu-item>a{color:var(--bordeaux);}
  body.nav-open{overflow:hidden;}
}

@media (max-width:700px){
  .wrap{width:100%;padding-left:18px;padding-right:18px;}
  body{font-size:16px;line-height:1.65;}

  .site-head .utility .wrap{
    height:36px;
    min-height:36px;
    padding:0 18px;
    flex-direction:row;
    justify-content:center;
    gap:0;
  }
  .site-head .utility{font-size:10px;letter-spacing:.11em;}
  .site-head .utility .distinctions{display:none;}
  .site-head .nav{height:72px;padding-left:18px;padding-right:18px;}
  .site-head.scrolled .nav{height:66px;}
  .site-head .brand{max-width:calc(100% - 64px);}
  .site-head .brand-logo{max-width:min(58vw,190px);max-height:44px;}
  .site-head .brand .name{font-size:18px;}
  .site-head .brand .sub{font-size:9px;margin-top:5px;letter-spacing:.22em;}
  .site-head .nav-toggle{width:46px;padding:0;border-color:rgba(251,248,240,.68);}
  .site-head.scrolled .nav-toggle{border-color:var(--line);}
  .nav-toggle__label{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
  .site-head .nav>.menu{left:-18px;right:-18px;width:auto;padding:8px 20px 18px;max-height:calc(100svh - 108px);}

  .rsl-page{--rsl-header-safe:108px;}
  .rsl-page .hero{
    min-height:max(100svh,620px);
    padding:calc(var(--rsl-header-safe) + 24px) 0 32px;
  }
  .rsl-page .hero h1{
    max-width:100%;
    font-size:clamp(2.15rem,11vw,3.55rem);
    line-height:1.03;
    margin:14px auto 18px;
  }
  .rsl-page .hero h1 em{white-space:normal;}
  .rsl-page .hero p{max-width:100%;font-size:16px;line-height:1.55;margin-bottom:24px;}
  .rsl-page .hero .hero-inner>.eyebrow{max-width:100%;font-size:10px;letter-spacing:.22em;line-height:1.55;white-space:normal;}
  .hero-cta{width:100%;flex-direction:column;gap:12px;}
  .hero-cta .btn{width:100%;max-width:320px;text-align:center;padding:14px 18px;}
  .hero-note{font-size:10px;line-height:1.5;letter-spacing:.13em;}

  .intro{padding:72px 0 36px;}
  .intro-grid,.dish-grid,.maitre-grid{gap:34px;}
  .intro h2,.dish-text h2,.maitre h2{max-width:100%;}
  .pull{margin-top:28px;padding-left:18px;font-size:20px;}
  .dish{padding:34px 0 26px;}
  .dish-figure img{height:300px;}
  .dish-frame{left:8px;top:8px;right:-8px;bottom:-8px;}
  .features{padding:44px 0 70px;}
  .feat{padding:28px 0 24px;}
  .maitre{padding:70px 0;}
  .seal{width:124px;height:124px;}
  .carte{padding:66px 0;}
  .info{padding:66px 0;}
  .info-col{padding:28px 20px;}
  .info-row{align-items:flex-start;}
  footer{padding:58px 0 28px;}
  .foot-grid{gap:30px;padding-bottom:38px;}
  .foot-bottom{padding-top:22px;flex-direction:column;gap:8px;}

  .generic-page,.editor-content{padding-top:150px;padding-bottom:72px;}
  .generic-page__title,.editor-content h1{font-size:clamp(2.1rem,10vw,3rem);}
  .editor-content h2{font-size:clamp(1.55rem,7vw,2.15rem);margin-top:38px;}
  .editor-content ul,.generic-page ul{padding-left:1.1em;}

  .rsl-slider-slide img{height:290px;}
  .rsl-slider-arrow{width:40px;height:40px;margin-top:-20px;}
  .rsl-slider-arrow span{font-size:28px;}
  .rsl-slider-prev{left:8px;}.rsl-slider-next{right:8px;}
  .rsl-slider-slide figcaption{left:10px;bottom:10px;max-width:calc(100% - 20px);font-size:11px;}
  .rsl-slider-dots{bottom:8px;}

  .reservation-widget{padding:14px;margin-top:22px;}
  .reservation-widget iframe{min-height:220px;}
}

@media (max-width:390px){
  .wrap{padding-left:14px;padding-right:14px;}
  .site-head .nav{padding-left:14px;padding-right:14px;}
  .site-head .brand-logo{max-width:165px;}
  .site-head .nav>.menu{left:-14px;right:-14px;}
  .rsl-page .hero h1{font-size:clamp(2rem,10.8vw,2.9rem);}
}


/* =========================================================
   v1.0.8 · Correctif responsive critique
   Un seul breakpoint de navigation, hamburger toujours visible,
   menu mobile hors flux et pages sans hero lisibles.
   ========================================================= */

/* Pages éditoriales sans hero : le header transparent rendait le logo et le
   hamburger illisibles sur fond clair. */
body.page-template-default .site-head,
body.single .site-head,
body.archive .site-head,
body.search .site-head,
body.error404 .site-head{
  background:#241D16;
}
body.page-template-default .site-head.scrolled,
body.single .site-head.scrolled,
body.archive .site-head.scrolled,
body.search .site-head.scrolled,
body.error404 .site-head.scrolled{
  background:var(--ivory);
}

/* Les tableaux et contenus issus de l'éditeur ne doivent jamais élargir la page. */
.editor-content table,.generic-page table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.editor-content img,.generic-page img{height:auto;max-width:100%;}
.editor-content iframe,.generic-page iframe{width:100%;max-width:100%;}
.editor-content pre,.generic-page pre{max-width:100%;overflow:auto;}
.editor-content a,.generic-page a{overflow-wrap:anywhere;}

/* Le menu desktop complet n'est fiable qu'au-dessus de 1280 px. Les anciennes
   règles 980/1120 restent dans l'historique du CSS mais sont neutralisées ici. */
@media (max-width:1280px){
  .site-head{overflow:visible!important;}
  .site-head .nav{
    position:relative!important;
    height:76px!important;
    gap:14px!important;
    justify-content:space-between!important;
  }
  .site-head.scrolled .nav{height:70px!important;}
  .site-head .brand{max-width:min(62vw,245px)!important;overflow:hidden;flex:0 1 auto!important;}
  .site-head .brand-logo{max-width:100%!important;max-height:50px!important;width:auto!important;height:auto!important;object-fit:contain;}
  .site-head .header-booking-btn{display:none!important;}

  /* Hamburger : !important volontaire pour neutraliser les anciennes règles
     display:none présentes plus haut dans le fichier. */
  .site-head .nav-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    opacity:1!important;
    visibility:visible!important;
    width:auto;
    min-width:48px;
    min-height:46px;
    padding:0 13px;
    color:var(--cream)!important;
    border:1px solid rgba(251,248,240,.72)!important;
    background:rgba(20,15,11,.18)!important;
    position:relative;
    z-index:102;
  }
  .site-head.scrolled .nav-toggle{
    color:var(--ink)!important;
    border-color:var(--line)!important;
    background:rgba(255,255,255,.45)!important;
  }

  .site-head .nav>.menu{
    display:none!important;
    position:absolute!important;
    z-index:101!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
    padding:10px 22px 18px!important;
    background:rgba(251,248,240,.995)!important;
    border:1px solid var(--line)!important;
    border-top:0!important;
    box-shadow:0 28px 60px -30px rgba(39,32,25,.72)!important;
    max-height:calc(100svh - 108px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  .site-head .nav.is-open>.menu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
  }
  .site-head .nav>.menu li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    white-space:normal!important;
    border-bottom:1px solid var(--line)!important;
  }
  .site-head .nav>.menu li:last-child{border-bottom:0!important;}
  .site-head .nav>.menu a{
    display:block!important;
    width:100%!important;
    padding:14px 2px!important;
    color:var(--ink)!important;
    text-shadow:none!important;
    white-space:normal!important;
    font-size:12px!important;
    line-height:1.35!important;
    letter-spacing:.14em!important;
  }
  .site-head .nav>.menu a::after{display:none!important;}
  .site-head .nav>.menu .current-menu-item>a{color:var(--bordeaux)!important;}
  body.nav-open{overflow:hidden!important;touch-action:none;}
}

@media (min-width:1281px){
  .site-head .nav-toggle{display:none!important;}
  .site-head .nav>.menu{display:flex!important;}
}

@media (max-width:782px){
  .admin-bar .site-head{top:46px;}
}

@media (max-width:700px){
  .wrap{width:100%;max-width:100%;padding-left:18px!important;padding-right:18px!important;}
  .site-head .utility .wrap{height:34px!important;min-height:34px!important;padding:0 18px!important;}
  .site-head .utility .distinctions{display:none!important;}
  .site-head .nav{height:70px!important;padding-left:18px!important;padding-right:18px!important;}
  .site-head.scrolled .nav{height:66px!important;}
  .site-head .brand{max-width:calc(100% - 62px)!important;}
  .site-head .brand-logo{max-width:min(60vw,190px)!important;max-height:43px!important;}
  .site-head .nav-toggle{width:48px!important;min-width:48px!important;height:44px!important;padding:0!important;}
  .nav-toggle__label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
  .site-head .nav>.menu{left:-18px!important;right:-18px!important;width:auto!important;padding:8px 20px 18px!important;max-height:calc(100svh - 104px)!important;}

  .editor-content,.generic-page{padding-top:142px!important;padding-bottom:64px!important;}
  .editor-content .wrap,.generic-page .wrap{max-width:100%;}
  .editor-content h1,.generic-page__title{font-size:clamp(2rem,10vw,3rem)!important;overflow-wrap:anywhere;}
  .editor-content h2{font-size:clamp(1.5rem,7vw,2.15rem)!important;}

  .offer-foot,.hero-cta{min-width:0;}
  .btn{max-width:100%;white-space:normal;text-align:center;}
}

@media (max-width:390px){
  .wrap{padding-left:14px!important;padding-right:14px!important;}
  .site-head .nav{padding-left:14px!important;padding-right:14px!important;}
  .site-head .brand-logo{max-width:160px!important;}
  .site-head .nav>.menu{left:-14px!important;right:-14px!important;}
}


/* v1.0.9 : ajustements mobiles ciblés, sans impact desktop. */
@media (max-width:700px){
  /* Logo légèrement agrandi, en conservant l'espace du bouton menu. */
  .site-head .brand-logo:not(.brand-logo--footer){
    max-width:min(66vw,215px)!important;
    max-height:52px!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain;
  }
  /* Marges de lecture pour les blocs de contenu et le pied de page. */
  main .wrap,
  footer > .wrap{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  footer .foot-grid,
  footer .foot-bottom{
    min-width:0;
  }
  footer .foot-col,
  footer .foot-brand{
    min-width:0;
    overflow-wrap:anywhere;
  }
}
@media (max-width:390px){
  .site-head .brand-logo:not(.brand-logo--footer){
    max-width:min(64vw,190px)!important;
    max-height:49px!important;
  }
}
