/*
Theme Name: La Maison Brik Invitations
Theme URI: https://invite.lamaisonbrik.com
Author: La Maison Brik
Description: Conversion WordPress fidèle du concept HTML éditorial La Maison Brik.
Version: 7.28.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: lmb-invitations-theme
*/

:root{
    --paper:#FBF5EC;
    --paper-deep:#F3E9DA;
    --paper-light:#FFFDF7;
    --ink:#2E241D;
    --ink-soft:#6B5C4F;
    --blush:#D8B9A5;
    --sauge:#7F8978;
    --gold:#B8925A;
    --gold-text:#765429;
    --wine:#5C2A2E;
    --lmb-decorative:'Caveat',cursive;
    --line:rgba(65,51,36,.16);
    --paper-shadow:0 18px 42px rgba(72,55,35,.12),0 2px 5px rgba(72,55,35,.08);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;max-width:100%;overflow-x:clip;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    -webkit-font-smoothing:antialiased;
    max-width:100%;
    overflow-x:clip;
  }

.lmb-motion-permission{position:absolute;z-index:8;right:12%;bottom:8%;border:1px solid rgba(92,42,46,.18);border-radius:999px;padding:9px 13px;background:rgba(255,253,247,.9);box-shadow:0 8px 22px rgba(46,36,29,.12);color:var(--wine);font:700 10px/1.2 'Inter',sans-serif;letter-spacing:.04em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lmb-motion-permission[hidden]{display:none!important}
.lmb-motion-permission:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
@media(max-width:600px){.lmb-motion-permission{right:5%;bottom:5%;font-size:10px}}
  .display{font-family:'Fraunces', serif;}
  .eyebrow{
    font-size:11px; letter-spacing:.18em; text-transform:uppercase;
    color:var(--wine); font-weight:600;
  }
  a{color:inherit; text-decoration:none;}

  .seal{
    display:inline-flex; align-items:center; justify-content:center;
    width:34px; height:34px; border-radius:50%;
    background:var(--wine); color:var(--paper);
    font-family:'Fraunces', serif; font-style:italic; font-weight:600; font-size:15px;
    flex-shrink:0;
    box-shadow: 0 2px 0 rgba(92,42,46,0.25);
  }

  /* ---------- header ---------- */
  .site-header{
    position:sticky; top:0; z-index:2147483646;
    background:rgba(251,245,236,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-wrap{
    max-width:1180px; margin:0 auto; padding:18px 32px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .logo{display:flex; align-items:center; gap:10px; font-size:17px; letter-spacing:.02em;}
  .logo b{font-weight:600;}
  nav ul{display:flex; gap:34px; list-style:none;}
  nav a{font-size:14px; color:var(--ink-soft); transition:color .2s;}
  nav a:hover{color:var(--wine);}
  .nav-icons{display:flex; gap:18px; align-items:center; font-size:14px; color:var(--ink-soft);}

  /* ---------- hero : atelier vivant ---------- */
  .hero{
    position:relative;
    max-width:1180px; margin:0 auto; padding:64px 32px 30px;
    display:grid; grid-template-columns:0.95fr 1.05fr; gap:50px; align-items:center;
    overflow:visible;
  }
  .hero-dots{position:absolute; inset:-40px 0 0 0; z-index:0; pointer-events:none;}
  .hero-dots span{
    position:absolute; width:6px; height:6px; border-radius:50%; background:var(--gold);
    opacity:.5; animation: float 7s ease-in-out infinite;
  }
  @keyframes float{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-16px);}
  }
  .hero-text{position:relative; z-index:2;}
  .hero h1{
    font-size:52px; line-height:1.06; font-weight:400; letter-spacing:-.01em;
    margin:18px 0 22px;
  }
  .hero h1 em{font-style:italic; color:var(--wine); font-weight:500;}
  .hero p.lede{font-size:16.5px; color:var(--ink-soft); max-width:420px; line-height:1.6; margin-bottom:32px;}
  .cta-row{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
  .btn-primary{
    background:var(--wine); color:var(--paper); padding:15px 28px; border-radius:40px;
    font-size:14px; font-weight:500; display:inline-flex; align-items:center; gap:10px;
    transition:transform .25s ease, box-shadow .25s ease;
    box-shadow:0 6px 18px rgba(92,42,46,0.22);
    border:none; cursor:pointer;
  }
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 22px rgba(92,42,46,0.28);}
  .btn-ghost{font-size:14px; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:2px;}

  /* ---------- hero: live invitation demo ---------- */
  .demo-stage{position:relative; z-index:2; height:520px;}
  .demo-eyebrow{
    display:flex; align-items:center; gap:8px; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--ink-soft); margin-bottom:14px; padding-left:6px;
  }
  .demo-eyebrow .dot{width:7px; height:7px; border-radius:50%; background:var(--sauge); animation:pulse 1.8s infinite;}
  @keyframes pulse{0%,100%{opacity:1;} 50%{opacity:.35;}}

  .card-stack{position:relative; height:460px;}
  .stack-card{
    position:absolute; inset:0; background:var(--paper); border:1px solid var(--line);
    border-radius:3px 22px 3px 22px; box-shadow:0 18px 40px -20px rgba(46,36,29,0.35);
  }
  .stack-card.back-1{transform:rotate(-6deg) translateY(10px); background:var(--paper-deep); z-index:1;}
  .stack-card.back-2{transform:rotate(5deg) translateY(16px); background:#EFE3CD; z-index:0;}
  .stack-card.front{
    z-index:3; padding:44px 40px; display:flex; flex-direction:column; align-items:center;
    justify-content:center; text-align:center; transition:transform .3s ease;
  }
  .stack-card.front:hover{transform:translateY(-4px);}
  .stack-card.front::before{
    content:''; position:absolute; top:22px; left:22px; right:22px; bottom:22px;
    border:1px solid var(--line); border-radius:2px 16px 2px 16px; pointer-events:none;
  }
  .demo-label{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-text); margin-bottom:22px;}
  .demo-names{
    font-family:'Fraunces', serif; font-style:italic; font-size:34px; color:var(--ink);
    line-height:1.3; outline:none; caret-color:var(--wine); min-width:60px;
    border-bottom:1px dashed transparent; transition:border-color .2s;
  }
  .demo-names:hover, .demo-names:focus{border-bottom:1px dashed var(--gold);}
  .demo-amp{font-family:'Fraunces',serif; font-style:italic; color:var(--gold-text); font-size:24px; margin:0 10px;}
  .demo-date{
    margin-top:16px; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase;
    color:var(--ink-soft); outline:none; caret-color:var(--wine);
    border-bottom:1px dashed transparent; padding-bottom:2px;
  }
  .demo-date:hover, .demo-date:focus{border-bottom:1px dashed var(--gold);}
  .demo-seal{
    margin-top:26px; width:46px; height:46px; border-radius:50%; background:var(--wine);
    display:flex; align-items:center; justify-content:center; color:var(--paper);
    font-family:'Fraunces',serif; font-style:italic; font-size:18px;
    transition:transform .4s cubic-bezier(.34,1.56,.64,1);
  }
  .demo-seal.pop{transform:scale(1.25) rotate(-8deg);}
  .demo-hint{
    margin-top:22px; font-size:11.5px; color:var(--ink-soft); display:flex; align-items:center; gap:6px;
  }
  .demo-hint svg{width:13px; height:13px;}

  /* ---------- collection ---------- */
  .section{max-width:1180px; margin:0 auto; padding:90px 32px;}
  .section-head{max-width:560px; margin-bottom:40px;}
  .section-head h2{font-size:36px; font-weight:400; margin-top:14px; line-height:1.15;}
  .section-head h2 em{font-style:italic; color:var(--wine);}
  .section-head p{color:var(--ink-soft); margin-top:14px; font-size:15px; line-height:1.6;}

  .filter-row{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:44px;}
  .filter-pill{
    padding:9px 18px; border-radius:30px; border:1px solid var(--line);
    font-size:13px; color:var(--ink-soft); background:transparent; cursor:pointer;
    transition:all .2s ease;
  }
  .filter-pill:hover{border-color:var(--gold); color:var(--ink);}
  .filter-pill.active{background:var(--wine); border-color:var(--wine); color:var(--paper);}

  .collection-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:30px;
  }
  .invite-card{
    position:relative; background:var(--paper); border:1px solid var(--line);
    border-radius:2px 18px 2px 18px;
    padding:0; overflow:hidden;
    transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, opacity .3s ease;
    box-shadow:0 10px 24px -14px rgba(46,36,29,0.25);
  }
  .invite-card.hidden-item{display:none;}
  .invite-card:nth-child(odd){transform:rotate(-0.5deg);}
  .invite-card:nth-child(even){transform:rotate(0.5deg);}
  .invite-card:hover{transform:translateY(-8px) rotate(0deg); box-shadow:0 26px 40px -18px rgba(46,36,29,0.32);}
  .invite-thumb{
    height:220px; position:relative;
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces',serif; font-style:italic; font-size:24px; color:var(--paper);
    text-align:center; padding:0 20px;
  }
  .thumb-ivoire{background:linear-gradient(135deg,#EADFCC,#D8C8AC);}
  .thumb-eden{background:linear-gradient(135deg,#8A9C74,#5F7452);}
  .thumb-blush{background:linear-gradient(135deg,#E9B7BD,#CE8791);}
  .thumb-gold{background:linear-gradient(135deg,#D3B379,#B8925A);}
  .thumb-nuit{background:linear-gradient(135deg,#6E5548,#3E2E27);}
  .invite-thumb::after{
    content:''; position:absolute; top:14px; right:14px; width:26px; height:26px;
    border-radius:50%; background:var(--wine); opacity:.9;
  }
  .invite-body{padding:20px 22px 24px; display:flex; align-items:center; justify-content:space-between;}
  .invite-body .name{font-size:15px; font-weight:500;}
  .invite-body .tag{font-size:11.5px; color:var(--ink-soft); margin-top:3px;}
  .invite-body .price{font-family:'Fraunces',serif; font-style:italic; color:var(--wine); font-size:15px;}

  /* ---------- quote band ---------- */
  .quote-band{
    background:var(--wine); color:var(--paper);
    padding:100px 32px; text-align:center; position:relative;
  }
  .quote-band .eyebrow{color:var(--blush);}
  .quote-band blockquote{
    max-width:680px; margin:22px auto 0; font-family:'Fraunces',serif; font-style:italic;
    font-size:32px; line-height:1.35; font-weight:400;
  }

  /* ---------- steps ---------- */
  .steps-wrap{display:flex; gap:0; justify-content:center; padding-top:20px; flex-wrap:wrap;}
  .step-card{
    width:280px; background:var(--paper); border:1px solid var(--line);
    border-radius:4px 16px 4px 16px; padding:32px 26px; margin:0 -18px;
    box-shadow:0 14px 30px -16px rgba(46,36,29,0.3);
    transition:transform .3s ease;
  }
  .step-card:nth-child(1){transform:rotate(-4deg);}
  .step-card:nth-child(2){transform:rotate(0deg); z-index:2; margin-top:-14px;}
  .step-card:nth-child(3){transform:rotate(4deg);}
  .step-card:hover{transform:translateY(-6px) rotate(0deg); z-index:5;}
  .step-card .seal{margin-bottom:18px;}
  .step-card h3{font-family:'Fraunces',serif; font-weight:500; font-size:19px; margin-bottom:8px;}
  .step-card p{font-size:13.5px; color:var(--ink-soft); line-height:1.6;}

  /* ---------- footer ---------- */
  footer{background:var(--paper-deep); border-top:1px solid var(--line); padding:64px 32px 32px;}
  .footer-wrap{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1.35fr 1fr .85fr 1.2fr; gap:38px;}
  .footer-wrap h4{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:16px;}
  .footer-wrap ul{list-style:none;}
  .footer-wrap li{margin-bottom:10px; font-size:14px;}
  .footer-wrap li a:hover{color:var(--wine);}
  .footer-category{padding-left:10px;border-left:1px solid rgba(92,42,46,.16)}
  .footer-cookie-link{margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.footer-cookie-link:hover{color:var(--wine);text-decoration:underline}
  .footer-bottom{max-width:1180px; margin:50px auto 0; padding-top:22px; border-top:1px solid var(--line); font-size:12px; color:var(--ink-soft); display:flex; justify-content:space-between;}
  @media(max-width:1000px) and (min-width:701px){.footer-wrap{grid-template-columns:1.25fr 1fr 1fr;}.footer-wrap>div:last-child{grid-column:2 / span 2}}

  @media (max-width:900px){
    .hero{grid-template-columns:1fr; padding-top:36px;}
    .hero h1{font-size:36px;}
    nav ul{display:none;}
    .collection-grid{grid-template-columns:1fr 1fr;}
    .footer-wrap{grid-template-columns:1fr; gap:28px;}
    .step-card{margin:10px 0 !important; transform:none !important; width:100%; max-width:340px;}
    .quote-band blockquote{font-size:24px;}
    .demo-stage{height:420px;}
    .card-stack{height:360px;}
  }
  @media (max-width:600px){
    .collection-grid{grid-template-columns:1fr;}
  }

/* WordPress integration: the rules above are copied verbatim from the supplied
   HTML. These additions only connect WordPress markup and dynamic content. */
body::before{
  content:""; position:fixed; z-index:9999; inset:0; pointer-events:none;
  opacity:.045; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
}

/* WooCommerce product tags are the product's editorial labels. */
.lmb-product-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.lmb-product-tags span{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid rgba(92,42,46,.22);border-radius:999px;background:rgba(251,245,236,.62);color:var(--wine);font:600 11px/1 'Inter',sans-serif;letter-spacing:.06em}
.site-main{position:relative;z-index:0;isolation:isolate;min-height:60vh;}
.site-header{position:sticky;top:0;z-index:2147483646;isolation:isolate;background:rgba(251,245,236,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.lmb-shop-hero,.lmb-faq-header{position:relative;z-index:0;}
.lmb-configurator-page .lmb-builder-toolbar{position:relative;z-index:10;}
.site-header .logo>a{display:flex;align-items:center;gap:10px;}
.custom-logo{display:block;width:auto;max-height:46px;}
.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font-size:22px;}
.primary-navigation .menu{display:flex;gap:34px;list-style:none;}
.primary-navigation a{font-size:14px;color:var(--ink-soft);transition:color .2s;}
.primary-navigation a:hover{color:var(--wine);}
.hero-media{overflow:hidden;border-radius:3px 22px 3px 22px;box-shadow:0 18px 40px -20px rgba(46,36,29,.35);}
.hero-media img,.hero-media video{display:block;width:100%;height:100%;object-fit:cover;}
.invite-thumb.has-image{background-position:center;background-size:cover;}
.invite-thumb.has-image::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(46,36,29,.12),transparent 55%);}
.invite-card{color:inherit;text-decoration:none;}
.invite-body .tag{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.invite-body .price .amount{font:inherit;color:inherit;}
.centered{margin-left:auto;margin-right:auto;text-align:center;}
.footer-logo{margin-bottom:14px;}
.footer-logo .lmb-brand-logo-image,.lmb-footer-logo-image{display:block;width:auto;max-width:min(220px,100%);max-height:72px;object-fit:contain;}
.footer-wrap>div:first-child p{max-width:280px;color:var(--ink-soft);font-size:13.5px;line-height:1.6;}

.page-content,.woocommerce-page .site-main{width:min(1180px,calc(100% - 64px));margin:auto;padding:80px 0 110px;}
.page-title{margin:0 0 50px;font:400 clamp(44px,6vw,72px)/1 'Fraunces',serif;text-align:center;}
.button,button,input[type=button],input[type=submit],.wp-element-button,.lmb-configure-button,.lmb-preview-chip{
  display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 25px;
  border:1px solid var(--wine);border-radius:40px;background:var(--wine);color:var(--paper);
  font:500 14px/1 'Inter',sans-serif;text-decoration:none;cursor:pointer;transition:.25s ease;
}
input,textarea,select{min-height:48px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;}

  /* Mon espace */
.woocommerce-account .page-content{max-width:1180px}
.woocommerce-account .entry-content>.woocommerce{display:grid!important;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:42px;align-items:start;width:100%!important;max-width:none!important}
.woocommerce-account .entry-content>.woocommerce::before,.woocommerce-account .entry-content>.woocommerce::after{display:none!important;content:none!important}
.woocommerce-account .woocommerce-MyAccount-navigation{position:sticky;top:110px;float:none!important;width:auto!important;margin:0!important;padding:14px;border:1px solid var(--line);border-radius:4px 24px 4px 24px;background:rgba(243,233,218,.62)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:block!important;margin:0!important;padding:0!important;list-style:none!important}
.woocommerce-account .woocommerce-MyAccount-navigation li{display:block!important;width:auto!important;margin:0!important;float:none!important}
.woocommerce-account .woocommerce-MyAccount-navigation li+li{border-top:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:flex!important;min-height:52px;align-items:center;padding:8px 14px;color:var(--ink-soft);font-size:13px;line-height:1.35;text-decoration:none;white-space:normal}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{color:var(--wine);font-weight:600}
.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important;min-width:0;margin:0!important;padding:38px;border:1px solid var(--line);border-radius:24px 5px 24px 5px;background:rgba(255,250,243,.66);box-shadow:0 22px 60px rgba(46,36,29,.06)}
.woocommerce-account .woocommerce-MyAccount-content h2,.woocommerce-account .woocommerce-MyAccount-content h3{margin:0 0 22px;font:400 30px/1.15 'Fraunces',serif}
.woocommerce-account form.login,.woocommerce-account form.register{padding:32px;border:1px solid var(--line);border-radius:24px 5px 24px 5px;background:rgba(255,250,243,.66)}
.woocommerce-account .woocommerce-form-row{margin-bottom:18px}
.woocommerce-account .woocommerce-form-row label{display:block;margin-bottom:7px;color:var(--ink-soft);font-size:12px;letter-spacing:.04em}
.woocommerce-account table{width:100%;border-collapse:collapse}
.woocommerce-account th,.woocommerce-account td{padding:16px 12px;border-bottom:1px solid var(--line);text-align:left}
.woocommerce-account .woocommerce-Addresses{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}
.woocommerce-account .woocommerce-Addresses::before,.woocommerce-account .woocommerce-Addresses::after{display:none!important;content:none!important}
.woocommerce-account .woocommerce-Address{float:none!important;width:auto!important;min-width:0;margin:0!important;padding:25px;border:1px solid var(--line);border-radius:18px 4px 18px 4px;background:rgba(255,255,255,.38)}
.woocommerce-account .woocommerce-Address-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.woocommerce-account .woocommerce-Address-title::before,.woocommerce-account .woocommerce-Address-title::after{display:none!important;content:none!important}
.woocommerce-account .woocommerce-Address-title h2,.woocommerce-account .woocommerce-Address-title h3{min-width:0;margin:0!important;font-size:25px!important}
.woocommerce-account .woocommerce-Address-title a.edit{float:none!important;flex:0 0 auto;color:var(--wine);font-size:12px;font-weight:600;text-decoration:none}
.woocommerce-account .woocommerce-Address address{margin:0;color:var(--ink-soft);font-style:normal;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
.woocommerce-account .entry-content>.woocommerce:not(:has(.woocommerce-MyAccount-navigation)){display:block;max-width:920px;margin-inline:auto}
.woocommerce-account #customer_login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.woocommerce-account #customer_login>div{width:auto!important;float:none!important}
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register{margin:0}
.woocommerce-account .woocommerce-LostPassword{margin:18px 0 0}
.woocommerce-account .woocommerce-MyAccount-content p:first-child{margin-top:0}
.woocommerce-account .woocommerce-MyAccount-content fieldset{margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:16px}
.woocommerce-account .woocommerce-MyAccount-content legend{padding:0 10px;font-family:'Fraunces',serif;color:var(--wine)}
.woocommerce-account .woocommerce-notices-wrapper:empty{display:none}
.woocommerce-account .woocommerce-message,.woocommerce-account .woocommerce-info,.woocommerce-account .woocommerce-error{margin:0 0 26px;padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--wine);background:var(--paper-deep);list-style:none}

/* FAQ */
.lmb-faq{width:min(900px,calc(100% - 48px));margin:0 auto;padding:80px 0 120px}
.lmb-faq-header{max-width:680px;margin:0 auto 52px;text-align:center}
.lmb-faq-header h1{margin:14px 0 16px;font:400 clamp(48px,7vw,76px)/1 'Fraunces',serif}
.lmb-faq-header p:last-child{color:var(--ink-soft);line-height:1.7}
.lmb-faq-list{display:grid;gap:12px}
.lmb-faq details{border:1px solid var(--line);border-radius:4px 20px 4px 20px;background:rgba(255,250,243,.55);transition:.2s ease}
.lmb-faq details[open]{background:var(--paper-deep);box-shadow:0 14px 35px rgba(46,36,29,.06)}
.lmb-faq summary{display:flex;min-height:74px;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;cursor:pointer;font:500 18px/1.3 'Fraunces',serif;list-style:none}
.lmb-faq summary::-webkit-details-marker{display:none}.lmb-faq summary::after{content:"+";color:var(--wine);font:300 28px/1 Inter,sans-serif}.lmb-faq details[open] summary::after{content:"−"}
.lmb-faq-answer{padding:0 24px 24px;color:var(--ink-soft);font-size:14px;line-height:1.75}

/* Catalogue editorial - same visual language as the home collection. */
.lmb-shop{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:76px 0 110px;}
.lmb-shop-hero{max-width:680px;margin:0 auto 54px;text-align:center;}
.lmb-shop-hero h1{margin:14px 0 18px;font-size:clamp(48px,7vw,82px);font-weight:400;line-height:.98;letter-spacing:-.035em;}
.lmb-shop-hero>p:last-child{max-width:600px;margin:auto;color:var(--ink-soft);font-size:15.5px;line-height:1.7;}
.lmb-shop-filters{justify-content:center;margin-bottom:50px;}
.lmb-shop-grid{align-items:stretch;}
.lmb-shop-grid .invite-card{display:flex;min-height:100%;flex-direction:column;}
.lmb-shop-grid .invite-thumb{height:auto;aspect-ratio:4/3;}
.lmb-shop-grid .invite-body{flex:1;gap:18px;}
.lmb-shop-grid .price{flex-shrink:0;text-align:right;}
.lmb-shop-pagination{margin-top:58px;}
.lmb-shop-pagination ul{display:flex;justify-content:center;gap:8px;border:0!important;}
.lmb-shop-pagination li{border:0!important;}
.lmb-shop-pagination a,.lmb-shop-pagination span{display:grid!important;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent!important;color:var(--ink)!important;}
.lmb-shop-pagination .current{border-color:var(--wine);background:var(--wine)!important;color:var(--paper)!important;}
.lmb-shop-empty{padding:90px 24px;text-align:center;border:1px solid var(--line);border-radius:3px 22px 3px 22px;background:var(--paper-deep);}
.lmb-shop-empty h2{margin:20px 0 8px;font-size:34px;font-weight:400;}
.lmb-shop-empty p{color:var(--ink-soft);}

body.single-product{background:var(--paper);}
body.single-product>.site-header{display:block!important;visibility:visible!important;opacity:1!important;}
body.single-product>.site-main{display:block!important;min-height:1px;}
body.single-product>.site-footer{display:block!important;visibility:visible!important;opacity:1!important;}
.lmb-product-detail{width:min(1810px,calc(100% - 120px));margin:0 auto;padding:28px 0 78px;}
.lmb-product-back{display:inline-block;margin:0 0 46px;color:var(--ink-soft);font-size:12px;letter-spacing:.14em;text-transform:uppercase;}
.lmb-product-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(390px,.83fr);gap:120px;align-items:center;}
.lmb-product-visual{position:relative;height:min(77vh,855px);margin:0;overflow:hidden;background:var(--paper-deep);}
.lmb-product-visual img{width:100%;height:100%;object-fit:cover;}
.lmb-preview-chip{position:absolute;left:36px;bottom:36px;background:rgba(251,245,236,.9);color:var(--ink);backdrop-filter:blur(8px);}
.lmb-product-kicker{margin:0 0 26px;color:var(--ink-soft);font:italic 16px/1.5 'Fraunces',serif;letter-spacing:.22em;text-transform:uppercase;}
.lmb-product-copy h1{margin:0 0 8px;color:var(--ink);font:400 clamp(58px,5vw,94px)/.9 'Fraunces',serif;letter-spacing:-.055em;}
.lmb-product-price{margin-top:12px;color:var(--wine);font:400 25px/1.2 'Fraunces',serif;}
.lmb-product-intro{color:var(--ink-soft);font:italic 17px/1.75 'Fraunces',serif;}
.lmb-product-features{margin:30px 0 42px;padding:0;border-top:1px solid var(--line);list-style:none;}
.lmb-product-features li{position:relative;padding:18px 12px 18px 28px;border-bottom:1px solid var(--line);font-size:13px;}
.lmb-product-features li::before{content:"✓";position:absolute;left:0;color:var(--blush);}
.lmb-configure-button{width:100%;min-height:66px;justify-content:space-between;padding:0 31px;}
.lmb-product-note{margin:20px 6px 0;color:var(--ink-soft);font:italic 12px/1.5 'Fraunces',serif;text-align:center;}

@media(max-width:900px){
  .menu-toggle{display:grid;width:44px;height:44px;place-items:center;position:relative;z-index:52;cursor:pointer;}
  .menu-toggle span{display:block;line-height:1;font-size:25px;}
  .primary-navigation{display:block;visibility:hidden;opacity:0;pointer-events:none;position:absolute;top:100%;left:0;right:0;padding:18px 24px 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 35px rgba(46,36,29,.12);transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;}
  .primary-navigation.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);}
  .primary-navigation ul,.primary-navigation .menu{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0;list-style:none;}
  .primary-navigation li{display:block;width:100%;}
  .primary-navigation a{display:block;padding:14px 4px;border-bottom:1px solid var(--line);font-size:16px;}
  body.menu-is-open{overflow:hidden;}
  .nav-wrap{grid-template-columns:auto 1fr auto;}
  .lmb-product-detail{width:min(100% - 36px,760px);}
  .lmb-product-grid{grid-template-columns:1fr;gap:45px;}
  .lmb-product-visual{height:auto;aspect-ratio:4/5;}
  .woocommerce-account .entry-content>.woocommerce{grid-template-columns:1fr;gap:28px}
  .woocommerce-account .woocommerce-MyAccount-navigation{position:static}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible!important}
  .woocommerce-account .woocommerce-MyAccount-navigation li{display:block!important;min-width:0;border:0!important}
  .woocommerce-account .woocommerce-MyAccount-navigation li+li{border-left:0!important}
  .woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(even){border-left:1px solid var(--line)!important}
  .woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(n+3){border-top:1px solid var(--line)!important}
  .woocommerce-account .woocommerce-MyAccount-navigation a{min-height:46px!important;padding:8px 10px!important;font-size:12px!important;white-space:normal!important;overflow-wrap:anywhere}
}
@media(max-width:600px){
  .nav-wrap{padding-inline:18px;}
  .nav-icons a[href*="my-account"],.nav-icons a[href*="mon-compte"]{display:none;}
  .logo{font-size:14px;}
  .page-content,.woocommerce-page .site-main{width:min(100% - 36px,1180px);}
  .lmb-shop{width:min(100% - 36px,1180px);padding-top:48px;}
  .woocommerce-account .woocommerce-MyAccount-content{padding:24px 18px}
  .woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr}
  .woocommerce-account #customer_login{grid-template-columns:1fr}
  .woocommerce-account table{display:block;overflow-x:auto}
}

/* ================================================================
   LMB 7.3 - visible tactile hero, persistent postal marks
   ================================================================ */
/* The cancellation line was abandoned: the burgundy header stays clean. */
.site-header::after{content:none!important;display:none!important;animation:none!important}

/* Stamps are visible even before JavaScript starts. Their one-shot motion
   changes pressure and scale only, so a failed animation can never hide them. */
.hero-postmark{opacity:.15!important;visibility:visible!important;transform-origin:center}
.hero-postmark-two{opacity:.14!important}
.hero-postmark-three{opacity:.10!important}

/* 7.11 - Final LMB pigeon postage stamp.
   The existing postal postmarks remain independent and untouched. */
.hero-envelope-visual>.hero-postage-stamp{
  position:absolute;
  z-index:4;
  top:10%;
  right:8%;
  width:clamp(68px,9vw,126px);
  height:auto;
  transform:rotate(7deg);
  filter:drop-shadow(0 7px 6px rgba(62,43,23,.2));
  pointer-events:none;
  user-select:none;
}
.collection-desk>.collection-postage-stamp{
  padding:0;
  background:none;
  clip-path:none;
  filter:none;
}
.collection-desk>.collection-postage-stamp::before{content:none;display:none}
.collection-desk>.collection-postage-stamp img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 8px 7px rgba(66,46,25,.2));
}
@media(max-width:900px){
  .hero-envelope-visual>.hero-postage-stamp{top:8%;right:7%;width:clamp(62px,14vw,98px)}
}
@media(max-width:600px){
  .hero-envelope-visual>.hero-postage-stamp{top:7%;right:6%;width:clamp(56px,18vw,78px)}
}
.lmb-page-ready .hero-postmark-one{animation:lmb-stamp-visible-one .5s .38s cubic-bezier(.18,.85,.24,1) both}
.lmb-page-ready .hero-postmark-two{animation:lmb-stamp-visible-two .5s .65s cubic-bezier(.18,.85,.24,1) both}
.lmb-page-ready .hero-postmark-three{animation:lmb-stamp-visible-three .5s .9s cubic-bezier(.18,.85,.24,1) both}
@keyframes lmb-stamp-visible-one{0%{transform:rotate(8deg) scale(1.12);filter:sepia(.7) blur(.8px)}55%{transform:rotate(8deg) scale(.95);filter:sepia(.7) blur(0)}100%{transform:rotate(8deg) scale(1);filter:sepia(.7)}}
@keyframes lmb-stamp-visible-two{0%{transform:rotate(-16deg) scale(1.12);filter:sepia(.7) blur(.8px)}55%{transform:rotate(-16deg) scale(.95);filter:sepia(.7) blur(0)}100%{transform:rotate(-16deg) scale(1);filter:sepia(.7)}}
@keyframes lmb-stamp-visible-three{0%{transform:rotate(6deg) scale(1.12);filter:sepia(.7) blur(.8px)}55%{transform:rotate(6deg) scale(.95);filter:sepia(.7) blur(0)}100%{transform:rotate(6deg) scale(1);filter:sepia(.7)}}

.hero-envelope-visual{
  --hero-rx:0deg;--hero-ry:0deg;--hero-shift-x:0px;--hero-shift-y:0px;
  --hero-shadow-x:0px;--hero-shadow-y:22px;
  perspective:900px;
}
.hero-envelope-visual img{
  transform:translate3d(var(--hero-shift-x),var(--hero-shift-y),0) rotateX(var(--hero-rx)) rotateY(var(--hero-ry));
  transform-style:preserve-3d;
  transition:transform .2s cubic-bezier(.2,.7,.25,1),filter .2s ease-out;
  filter:drop-shadow(var(--hero-shadow-x) 8px 5px rgba(62,43,23,.18)) drop-shadow(var(--hero-shadow-x) var(--hero-shadow-y) 24px rgba(62,43,23,.28));
  will-change:transform,filter;
}
@keyframes lmb-envelope-breathe{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -8px;rotate:.35deg}}

@media(max-width:600px){
  .hero-postmark-one{right:-9%;top:45%;width:205px}
  .hero-postmark-two{left:-7%;right:auto;bottom:0;width:145px}
  .hero-envelope-visual img{transition-duration:.28s}
}
@media(prefers-reduced-motion:reduce){
  .hero-postmark{animation:none!important}
  .hero-envelope-visual img{transform:none!important;transition:none!important}
}

/* 7.15 final cascade guard - preserve the postal journey spacing after legacy step rules. */
#etapes{max-width:none;padding:112px max(28px,calc((100vw - 1380px)/2)) 122px;overflow:hidden}
@media(max-width:900px){#etapes{padding:88px 28px 96px}}
@media(max-width:600px){#etapes{padding:74px 18px 82px}}

/* 7.15 final cascade guard - preserve the postal journey spacing after legacy step rules. */
#etapes{max-width:none;padding:112px max(28px,calc((100vw - 1380px)/2)) 122px;overflow:hidden}
@media(max-width:900px){#etapes{padding:88px 28px 96px}}
@media(max-width:600px){#etapes{padding:74px 18px 82px}}

/* ================================================================
   LMB 7.15 - Postal journey: Comment ça marche ?
   ================================================================ */
#etapes{max-width:none;padding:112px max(28px,calc((100vw - 1380px)/2)) 122px;overflow:hidden}
#etapes .section-head{max-width:760px;margin:0 auto 42px;text-align:center}
#etapes .section-head h2{margin-top:10px}
#etapes .steps-intro{margin:18px auto 0;color:var(--ink-soft);font:400 clamp(18px,1.65vw,23px)/1.5 'Fraunces',serif;font-style:italic}
.postal-journey{
  position:relative;isolation:isolate;max-width:1240px;margin:0 auto;padding:64px 58px 48px;
  border:1px solid rgba(94,68,41,.2);background:
    linear-gradient(rgba(255,252,243,.93),rgba(248,239,222,.95)),
    repeating-linear-gradient(0deg,rgba(88,63,38,.025) 0 1px,transparent 1px 5px);
  box-shadow:0 28px 55px rgba(65,44,24,.14),0 3px 8px rgba(65,44,24,.1);
  transform:rotate(-.25deg);
}
.postal-journey::before{content:none}
.postal-journey .instant-label{position:absolute;z-index:3;right:28px;top:18px;width:clamp(128px,15vw,190px);height:auto;object-fit:contain;transform:rotate(1.5deg);pointer-events:none}
.postal-journey::after{content:"";position:absolute;inset:10px;z-index:-1;border:1px solid rgba(107,78,47,.1);pointer-events:none}
.postal-journey .steps-wrap.atelier-steps{
  position:relative;display:grid;grid-template-columns:1fr 92px 1fr 92px 1fr;align-items:start;
  gap:0;max-width:none;margin:0;padding:0;overflow:visible;
}
.postal-journey .steps-wrap.atelier-steps::before{content:"";display:block;position:absolute;left:8%;right:8%;top:48px;height:2px;background:repeating-linear-gradient(90deg,rgba(91,69,48,.5) 0 8px,transparent 8px 13px);transform:rotate(-.5deg)}
.postal-journey .atelier-steps .step-card,
.postal-journey .atelier-steps .step-card:nth-of-type(n){
  position:relative;z-index:2;width:auto;min-height:0;margin:0!important;padding:0 18px!important;
  display:flex;flex-direction:column;align-items:center;text-align:center;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;filter:none!important;clip-path:none!important;transform:none!important;
}
.postal-journey .atelier-steps .step-card::before,.postal-journey .atelier-steps .step-card::after{display:none!important}
.postal-journey .atelier-steps .step-number{
  display:grid;place-items:center;width:88px;height:82px;margin:4px 0 22px;transform:rotate(-5deg);
}
.postal-journey .atelier-steps .step-number img{display:block;width:100%;height:100%;object-fit:contain}
.postal-journey .atelier-steps .step-card:nth-of-type(2) .step-number{width:104px;transform:rotate(3deg)}
.postal-journey .atelier-steps .step-card:nth-of-type(3) .step-number{width:94px;transform:rotate(-2deg)}
.postal-journey .atelier-steps .step-icon{display:grid;place-items:center;width:70px;height:60px;margin:0 0 16px;color:#4a4239}
.postal-journey .atelier-steps .step-icon svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.postal-journey .atelier-steps h3{max-width:245px;margin:0 auto 12px;color:var(--ink);font:600 clamp(21px,1.7vw,27px)/1.15 'Fraunces',serif;letter-spacing:-.025em}
.postal-journey .atelier-steps .step-card p{max-width:280px;margin:0;color:var(--ink-soft);font:400 15px/1.65 'Inter',sans-serif;font-style:normal;letter-spacing:0}
.postal-journey .atelier-steps .step-arrow{position:relative;z-index:3;display:block;width:104px;margin:24px -6px 0;color:rgba(74,66,57,.65);transform:rotate(-3deg)}
.postal-journey .atelier-steps .step-arrow:nth-of-type(2){transform:rotate(4deg)}
.postal-journey .atelier-steps .step-arrow svg{display:block;width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.steps-assurance{display:flex;align-items:center;justify-content:center;gap:14px;margin:45px auto 26px;padding-top:24px;border-top:1px solid rgba(86,65,43,.15);color:#665b50;font:600 12px/1.4 'Inter',sans-serif;letter-spacing:.045em;text-transform:uppercase}
.steps-assurance i{color:#a27d43;font:700 18px/1 'Fraunces',serif}
.postal-journey .steps-cta{display:flex;width:max-content;align-items:center;gap:12px;margin:0 auto;transform:rotate(.5deg)}
.postal-journey .steps-cta span{font-size:19px;transition:transform .2s ease}
.postal-journey .steps-cta:hover span{transform:translateX(4px)}

@media(max-width:900px){
  #etapes{padding:88px 28px 96px}
  .postal-journey{padding:58px 28px 42px}
  .postal-journey .steps-wrap.atelier-steps{grid-template-columns:1fr 58px 1fr 58px 1fr}
  .postal-journey .atelier-steps .step-card,.postal-journey .atelier-steps .step-card:nth-of-type(n){padding-inline:8px!important}
  .postal-journey .atelier-steps .step-arrow{width:70px;margin-inline:-6px}
  .postal-journey .atelier-steps h3{font-size:21px}
  .postal-journey .atelier-steps .step-card p{font-size:14px;line-height:1.55}
  .steps-assurance{gap:9px;font-size:10px}
}
@media(max-width:600px){
  #etapes{padding:74px 18px 82px}
  #etapes .section-head{margin-bottom:30px;padding-inline:12px}
  .postal-journey{padding:56px 22px 38px;transform:none}
  .postal-journey .instant-label{right:14px;top:14px;width:118px}
  .postal-journey .steps-wrap.atelier-steps{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;margin:0;padding:0;overflow:visible}
  .postal-journey .steps-wrap.atelier-steps::before{left:35px;right:auto;top:42px;bottom:52px;width:2px;height:auto;background:repeating-linear-gradient(180deg,rgba(91,69,48,.45) 0 8px,transparent 8px 14px)}
  .postal-journey .atelier-steps .step-card,.postal-journey .atelier-steps .step-card:nth-of-type(n){display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto auto;column-gap:17px;width:100%;padding:8px 0!important;text-align:left;align-items:start}
  .postal-journey .atelier-steps .step-number{grid-column:1;grid-row:1 / span 2;width:66px;height:66px;margin:0}
  .postal-journey .atelier-steps .step-card:nth-of-type(2) .step-number{width:70px}
  .postal-journey .atelier-steps .step-card:nth-of-type(3) .step-number{width:68px}
  .postal-journey .atelier-steps .step-icon{grid-column:2;grid-row:1;width:48px;height:43px;margin:0 0 8px}
  .postal-journey .atelier-steps .step-icon svg{width:44px;height:44px}
  .postal-journey .atelier-steps h3{grid-column:2;grid-row:2;max-width:none;margin:0 0 8px;font-size:23px}
  .postal-journey .atelier-steps .step-card p{grid-column:2;grid-row:3;max-width:none;margin:0;font-size:14px;line-height:1.6}
  .postal-journey .atelier-steps .step-arrow,.postal-journey .atelier-steps .step-arrow:nth-of-type(2){align-self:flex-start;width:46px;height:62px;margin:3px 0 4px 11px;transform:rotate(90deg)!important}
  .postal-journey .atelier-steps .step-arrow svg{width:62px;transform:translate(-8px,7px)}
  .steps-assurance{flex-direction:column;gap:7px;margin-top:34px;padding-top:20px;text-align:center;font-size:10px}
  .steps-assurance i{display:none}
  .postal-journey .steps-cta{width:100%;justify-content:center;margin-top:24px;padding-inline:18px;text-align:center}
}

/* 7.14 final cascade guard - the collection is a flat airmail panel, not an envelope. */
.home #collection .collection-desk{
  --airmail-border:16px;
  border:var(--airmail-border) solid transparent;
  border-radius:2px;
  clip-path:none;
  background-color:transparent;
  background-image:
    linear-gradient(180deg,rgba(255,250,237,.98),rgba(246,234,211,.98)),
    repeating-linear-gradient(135deg,#1f7892 0 28px,#f7edd7 28px 39px,#a92d35 39px 67px,#f7edd7 67px 78px);
  background-size:100% 100%,100% 100%;
  background-position:center,center;
  background-repeat:no-repeat,no-repeat;
  background-origin:padding-box,border-box;
  background-clip:padding-box,border-box;
}
@media(max-width:900px){
  .home #collection .collection-desk{--airmail-border:13px}
}
@media(max-width:600px){
  .home #collection .collection-desk{
    --airmail-border:10px;
    clip-path:none;
    background-image:
      linear-gradient(180deg,rgba(255,250,237,.98),rgba(246,234,211,.98)),
      repeating-linear-gradient(135deg,#1f7892 0 19px,#f7edd7 19px 27px,#a92d35 27px 46px,#f7edd7 46px 54px);
    background-size:100% 100%,100% 100%;
  }
}

/* 7.13 final cascade guard - airmail frame replaces only the collection shell. */
.collection-desk{
  --airmail-border:16px;
  border:var(--airmail-border) solid transparent;
  border-radius:2px;
  clip-path:none;
  background:
    linear-gradient(180deg,rgba(255,250,237,.98),rgba(246,234,211,.98)) padding-box,
    repeating-linear-gradient(135deg,#1f7892 0 28px,#f7edd7 28px 39px,#a92d35 39px 67px,#f7edd7 67px 78px) border-box;
}
@media(max-width:900px){.collection-desk{--airmail-border:13px}}
@media(max-width:600px){
  .collection-desk{
    --airmail-border:10px;
    background:
      linear-gradient(180deg,rgba(255,250,237,.98),rgba(246,234,211,.98)) padding-box,
      repeating-linear-gradient(135deg,#1f7892 0 19px,#f7edd7 19px 27px,#a92d35 27px 46px,#f7edd7 46px 54px) border-box;
  }
}

/* ================================================================
   LMB 7.7 - Mobile hero composition
   The visual leads on small screens while the desktop editorial split stays
   unchanged. The source order remains copy-first for assistive technology.
   ================================================================ */
@media(max-width:900px){
  .home .hero{
    grid-template-columns:minmax(0,1fr);
    gap:clamp(14px,3vw,24px);
    padding-top:clamp(32px,6vw,52px);
  }
  .home .hero-text{order:2;width:min(100%,680px);margin-inline:auto}
  .home .hero>.hero-envelope-visual,
  .home .hero>.hero-media{order:1}
  .home .hero>.hero-envelope-visual{width:min(104%,720px);margin:0 auto}
  .home .hero>.hero-media{
    width:min(100%,720px);height:auto;min-height:320px;margin:0 auto;aspect-ratio:4/3;
  }
  .home .hero-postmarks{z-index:1}
}

@media(max-width:600px){
  .home .hero{gap:8px;padding:42px 20px 58px}
  .home .hero>.hero-envelope-visual{
    width:calc(100% + 34px);max-width:none;margin:0 -17px -2px;transform:rotate(-.25deg);
  }
  .home .hero>.hero-media{
    width:calc(100% + 8px);min-height:0;margin:0 -4px 12px;aspect-ratio:4/3;
  }
  .home .hero-text{width:100%;padding-top:4px;text-align:center}
  .home .hero .eyebrow{display:block;margin-bottom:14px;font-size:10px;line-height:1.45}
  .home .hero h1{
    max-width:11ch;margin:0 auto 18px;font-size:clamp(40px,12.5vw,52px);line-height:.98;
  }
  .home .hero p.lede{
    max-width:34em;margin:0 auto 25px;font-size:15px;line-height:1.62;
  }
  .home .hero .cta-row{justify-content:center;gap:16px 18px}
  .home .hero .btn-primary{justify-content:center}
  .home .hero-text::after{width:max-content;max-width:100%;margin:26px auto 0}
  .home .hero-postmarks{top:0;bottom:auto;height:52%}
  .home .hero-postmark-one{top:12%;right:-18%;width:190px}
  .home .hero-postmark-two{left:-13%;bottom:0;width:132px}
}

@media(max-width:380px){
  .home .hero{padding-inline:16px}
  .home .hero>.hero-envelope-visual{width:calc(100% + 24px);margin-inline:-12px}
  .home .hero .btn-primary{width:100%;max-width:310px}
}

/* 7.4 definitive mobile-header cascade guard. */
@media(max-width:900px){
  .site-header .nav-wrap{display:flex!important;width:calc(100% - 28px)!important;min-height:74px;align-items:center;justify-content:flex-end;gap:8px;padding:0!important}
  .site-header .logo{position:absolute!important;left:0!important;top:50%!important;z-index:3;transform:translateY(-50%)!important}
  .site-header .nav-icons{order:2!important;display:flex!important;align-items:center;gap:8px;margin-left:auto!important}
  .site-header .nav-icons>a:not(.header-cart-link){display:none!important}
  .site-header .header-cart-link{position:relative;display:grid!important;width:42px;height:42px;place-items:center;padding:0;border:1px solid rgba(255,248,239,.32);border-radius:50%;color:#fff8ef!important}
  .header-cart-icon{display:block}.header-cart-label{display:none}.header-cart-count{display:grid}
  .site-header .menu-toggle{order:3!important;display:grid!important;width:42px!important;height:42px!important;margin:0!important;place-items:center;padding:0;border:1px solid rgba(255,248,239,.32);border-radius:50%;color:#fff8ef}
  .site-header .primary-navigation{position:absolute!important;top:100%!important;right:-1px!important;left:-1px!important;z-index:1;display:block!important;margin:0!important;padding:14px 22px 24px!important;border:0!important;border-top:1px solid rgba(255,248,239,.18)!important;border-radius:0 0 18px 18px;background:#4b1722!important;box-shadow:0 18px 32px rgba(45,20,25,.24)!important}
  .site-header .primary-navigation ul,.site-header .primary-navigation .menu{display:flex!important;flex-direction:column!important;gap:0!important}
  .site-header .primary-navigation a{display:flex!important;min-height:52px;align-items:center;padding:10px 4px!important;border-bottom:1px solid rgba(255,248,239,.16)!important;color:#fff8ef!important;font:500 15px/1.3 Inter,sans-serif!important}
}
@media(max-width:600px){
  .site-header .nav-wrap{width:calc(100% - 24px)!important;min-height:68px;gap:7px}
  .site-header .logo{left:0!important;transform:translateY(-50%)!important}
  .site-header .logo .custom-logo{max-width:132px!important;max-height:58px}
  .site-header .header-cart-link,.site-header .menu-toggle{width:40px!important;height:40px!important}
}

/* 7.4 final cascade guard - mobile header must override legacy layouts. */
@media(max-width:900px){
  .site-header .nav-wrap{display:flex!important;width:calc(100% - 28px)!important;min-height:74px;align-items:center;justify-content:flex-end;gap:8px;padding:0!important}
  .site-header .logo{position:absolute!important;left:0!important;top:50%!important;z-index:3;transform:translateY(-50%)!important}
  .site-header .nav-icons{order:2!important;display:flex!important;align-items:center;gap:8px;margin-left:auto!important}
  .site-header .nav-icons>a:not(.header-cart-link){display:none!important}
  .site-header .header-cart-link{position:relative;display:grid!important;width:42px;height:42px;place-items:center;padding:0;border:1px solid rgba(255,248,239,.32);border-radius:50%;color:#fff8ef!important}
  .header-cart-icon{display:block}.header-cart-label{display:none}.header-cart-count{display:grid}
  .site-header .menu-toggle{order:3!important;display:grid!important;width:42px!important;height:42px!important;margin:0!important;place-items:center;padding:0;border:1px solid rgba(255,248,239,.32);border-radius:50%;color:#fff8ef}
  .site-header .primary-navigation{position:absolute!important;top:100%!important;right:-1px!important;left:-1px!important;z-index:1;display:block!important;margin:0!important;padding:14px 22px 24px!important;border:0!important;border-top:1px solid rgba(255,248,239,.18)!important;border-radius:0 0 18px 18px;background:#4b1722!important;box-shadow:0 18px 32px rgba(45,20,25,.24)!important}
  .site-header .primary-navigation ul,.site-header .primary-navigation .menu{display:flex!important;flex-direction:column!important;gap:0!important}
  .site-header .primary-navigation a{display:flex!important;min-height:52px;align-items:center;padding:10px 4px!important;border-bottom:1px solid rgba(255,248,239,.16)!important;color:#fff8ef!important;font:500 15px/1.3 Inter,sans-serif!important}
}
@media(max-width:600px){
  .site-header .nav-wrap{width:calc(100% - 24px)!important;min-height:68px;gap:7px}
  .site-header .logo{left:0!important;transform:translateY(-50%)!important}
  .site-header .logo .custom-logo{max-width:132px!important;max-height:58px}
  .site-header .header-cart-link,.site-header .menu-toggle{width:40px!important;height:40px!important}
}

/* ================================================================
   LMB 7.4 - mobile header and navigation
   ================================================================ */
.header-cart-link{display:inline-flex;align-items:center;gap:6px}
.header-cart-icon{display:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.header-cart-count{display:none}

@media(max-width:900px){
  .site-header .nav-wrap{
    display:flex!important;
    width:calc(100% - 28px)!important;
    min-height:74px;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    padding:0!important;
  }
  .site-header .logo{
    position:absolute!important;
    left:0!important;
    top:50%!important;
    z-index:3;
    transform:translateY(-50%)!important;
  }
  .site-header .logo .custom-logo{max-height:62px}
  .site-header .nav-icons{order:2;display:flex;align-items:center;gap:8px;margin-left:auto}
  .site-header .nav-icons>a:not(.header-cart-link){display:none!important}
  .site-header .header-cart-link{
    position:relative;
    display:grid!important;
    width:42px;
    height:42px;
    place-items:center;
    padding:0;
    border:1px solid rgba(255,248,239,.32);
    border-radius:50%;
    color:#fff8ef!important;
  }
  .header-cart-icon{display:block}
  .header-cart-label{display:none}
  .header-cart-count{
    position:absolute;
    top:-4px;
    right:-4px;
    display:grid;
    min-width:18px;
    height:18px;
    place-items:center;
    padding:0 4px;
    border:2px solid var(--wine);
    border-radius:10px;
    background:#fff8ef;
    color:var(--wine);
    font:700 10px/1 Inter,sans-serif;
  }
  .site-header .menu-toggle{
    order:3;
    display:grid!important;
    width:42px!important;
    height:42px!important;
    margin:0!important;
    place-items:center;
    padding:0;
    border:1px solid rgba(255,248,239,.32);
    border-radius:50%;
    color:#fff8ef;
  }
  .menu-toggle-lines{position:relative;display:block!important;width:19px;height:14px}
  .menu-toggle-lines i{position:absolute;left:0;display:block;width:19px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .22s ease,opacity .18s ease,top .22s ease}
  .menu-toggle-lines i:nth-child(1){top:0}
  .menu-toggle-lines i:nth-child(2){top:6px}
  .menu-toggle-lines i:nth-child(3){top:12px}
  .menu-toggle[aria-expanded="true"] .menu-toggle-lines i:nth-child(1){top:6px;transform:rotate(45deg)}
  .menu-toggle[aria-expanded="true"] .menu-toggle-lines i:nth-child(2){opacity:0;transform:scaleX(.3)}
  .menu-toggle[aria-expanded="true"] .menu-toggle-lines i:nth-child(3){top:6px;transform:rotate(-45deg)}
  .site-header .primary-navigation{
    position:absolute!important;
    top:100%!important;
    right:-1px!important;
    left:-1px!important;
    z-index:1;
    display:block!important;
    margin:0!important;
    padding:14px 22px 24px!important;
    border:0!important;
    border-top:1px solid rgba(255,248,239,.18)!important;
    border-radius:0 0 18px 18px;
    background:var(--wine)!important;
    box-shadow:0 18px 32px rgba(45,20,25,.24)!important;
  }
  .site-header .primary-navigation ul,
  .site-header .primary-navigation .menu{display:flex!important;flex-direction:column!important;gap:0!important}
  .site-header .primary-navigation a{
    display:flex!important;
    min-height:52px;
    align-items:center;
    padding:10px 4px!important;
    border-bottom:1px solid rgba(255,248,239,.16)!important;
    color:#fff8ef!important;
    font:500 15px/1.3 Inter,sans-serif!important;
    letter-spacing:.02em;
  }
  .site-header .primary-navigation li:last-child a{border-bottom:0!important}
}

@media(max-width:600px){
  .site-header .nav-wrap{width:calc(100% - 24px)!important;min-height:68px;gap:7px}
  .site-header .logo .custom-logo{max-width:132px!important;max-height:58px}
  .site-header .header-cart-link,.site-header .menu-toggle{width:40px!important;height:40px!important}
  .site-header .primary-navigation{padding-inline:18px!important}
}

/* ================================================================
   LMB 7.2 - restrained postal motion for header and hero
   ================================================================ */
.hero-dots{display:none!important}

/* Header: one-shot wax press, cancellation line and ink reveal. */
.site-header::after{
  content:"";position:absolute;z-index:0;left:clamp(88px,10vw,138px);top:50%;
  width:clamp(86px,11vw,150px);height:28px;pointer-events:none;opacity:.18;
  background:url('assets/stamps/lmb-postmark-cancel.png') center/contain no-repeat;
  transform:translateY(-50%) scaleX(0);transform-origin:left center;
}
.lmb-page-ready .site-header::after{animation:lmb-cancel-draw .72s .62s cubic-bezier(.2,.75,.25,1) forwards}
.lmb-page-ready .site-header .logo{animation:lmb-seal-press .52s .18s cubic-bezier(.22,.72,.28,1) both}
.site-header .primary-navigation,.site-header .nav-icons,.site-header .menu-toggle{opacity:0;filter:blur(2px)}
.lmb-page-ready .site-header .primary-navigation,
.lmb-page-ready .site-header .nav-icons,
.lmb-page-ready .site-header .menu-toggle{animation:lmb-ink-set .66s .52s ease-out forwards}
.site-header .custom-logo-link{position:relative}
.site-header .custom-logo-link::after{content:none!important}
.header-logo-shine{
  position:absolute;z-index:2;inset:0;display:block;pointer-events:none;
  opacity:0;clip-path:polygon(-32% 0,-9% 0,-35% 100%,-58% 100%);
}
.header-logo-shine-image{
  display:block;width:100%!important;height:100%!important;object-fit:contain;
  filter:brightness(0) invert(1);opacity:.42;
}
.lmb-page-ready .header-logo-shine{animation:lmb-seal-alpha-shine 6.4s 2s ease-in-out infinite}
/* The seal is visible from the first paint. Its entrance is a restrained
   pressure in place, not an opacity/scale pop. */
@keyframes lmb-seal-press{
  0%,100%{opacity:1;transform:translateY(-19%) scale(1)}
  54%{opacity:1;transform:translateY(-16%) scale(.975)}
}
@keyframes lmb-cancel-draw{to{transform:translateY(-50%) scaleX(1)}}
@keyframes lmb-ink-set{0%{opacity:0;filter:blur(2.2px)}45%{opacity:.7;filter:blur(.8px)}100%{opacity:1;filter:none}}
@keyframes lmb-seal-alpha-shine{
  0%,72%{opacity:0;clip-path:polygon(-32% 0,-9% 0,-35% 100%,-58% 100%)}
  76%{opacity:0}
  80%{opacity:.42}
  90%{opacity:.42}
  94%,100%{opacity:0;clip-path:polygon(158% 0,181% 0,155% 100%,132% 100%)}
}

/* Hero: stamps land once; the envelope breathes and reacts to the pointer. */
.hero-postmark{opacity:0!important;transform-origin:center}
.lmb-page-ready .hero-postmark-one{animation:lmb-stamp-one .55s .5s cubic-bezier(.18,.85,.24,1) forwards}
.lmb-page-ready .hero-postmark-two{animation:lmb-stamp-two .55s .82s cubic-bezier(.18,.85,.24,1) forwards}
.lmb-page-ready .hero-postmark-three{animation:lmb-stamp-three .55s 1.1s cubic-bezier(.18,.85,.24,1) forwards}
@keyframes lmb-stamp-one{0%{opacity:0;transform:rotate(8deg) scale(1.18)}58%{opacity:.15;transform:rotate(8deg) scale(.95)}100%{opacity:.105;transform:rotate(8deg) scale(1)}}
@keyframes lmb-stamp-two{0%{opacity:0;transform:rotate(-16deg) scale(1.18)}58%{opacity:.15;transform:rotate(-16deg) scale(.95)}100%{opacity:.105;transform:rotate(-16deg) scale(1)}}
@keyframes lmb-stamp-three{0%{opacity:0;transform:rotate(6deg) scale(1.18)}58%{opacity:.11;transform:rotate(6deg) scale(.95)}100%{opacity:.075;transform:rotate(6deg) scale(1)}}
.hero-envelope-visual{
  --hero-rx:0deg;--hero-ry:0deg;--hero-shadow-x:0px;--hero-shadow-y:18px;
  perspective:1000px;transition:transform .28s ease-out;will-change:transform;
}
.lmb-page-ready .hero-envelope-visual{animation:hero-envelope-arrive 1s cubic-bezier(.2,.75,.25,1) both,lmb-envelope-breathe 7s 1.15s ease-in-out infinite}
.hero-envelope-visual img{
  transform:rotateX(var(--hero-rx)) rotateY(var(--hero-ry));
  transition:transform .28s ease-out,filter .28s ease-out;
  filter:drop-shadow(var(--hero-shadow-x) 7px 5px rgba(62,43,23,.16)) drop-shadow(var(--hero-shadow-x) var(--hero-shadow-y) 22px rgba(62,43,23,.24));
}
@keyframes lmb-envelope-breathe{0%,100%{translate:0 0}50%{translate:0 -4px}}
@media(max-width:900px){.site-header::after{display:none}}
@media(max-width:600px){
  .hero-postmark-one{right:-14%;top:54%}.hero-postmark-two{right:56%;bottom:2%}
}
@media(prefers-reduced-motion:reduce){
  .site-header::after{transform:translateY(-50%) scaleX(1)}
  .site-header .logo,.site-header .primary-navigation,.site-header .nav-icons,.site-header .menu-toggle,.hero-postmark,.hero-envelope-visual,.header-logo-shine{animation:none!important}
  .site-header .primary-navigation,.site-header .nav-icons,.site-header .menu-toggle{opacity:1;filter:none}
  .hero-postmark-one{opacity:.105!important}.hero-postmark-two{opacity:.105!important}.hero-postmark-three{opacity:.075!important}
  .header-logo-shine{display:none}
}

/* ================================================================
   LMB 7.0 - Postal identity and refined floating header
   ================================================================ */
.lmb-postmark{display:block;object-fit:contain;pointer-events:none;user-select:none}

/* The header is a narrow correspondence strip; the postmark is independent
   from its height and therefore overlaps the lower edge naturally. */
:root{
  --lmb-header-height:clamp(40px,3vw,46px);
  --lmb-header-logo-size:clamp(64px,5.8vw,84px);
}
.site-header{
  background:rgba(244,235,221,.9);
  border-top:1px solid rgba(75,58,39,.1);
  border-bottom:1px solid rgba(75,58,39,.2);
  box-shadow:0 7px 20px rgba(64,45,25,.08);
  backdrop-filter:blur(12px) saturate(.8);
}
.site-header .nav-wrap{
  width:min(100% - 44px,1240px);
  padding-inline:0;
}
.site-header .logo{
  left:0;top:50%;height:var(--lmb-header-logo-size);
  transform:translateY(-22%);
}
.header-brand{display:flex!important;align-items:center;gap:9px;height:100%!important}
.header-postmark{width:var(--lmb-header-logo-size);height:var(--lmb-header-logo-size);transform:rotate(-7deg);filter:sepia(.3)}
.header-brand-name{display:flex;flex-direction:column;gap:0;white-space:nowrap;line-height:1.05}
.header-brand-name b{font:500 clamp(13px,1.15vw,16px)/1 'Fraunces',serif;letter-spacing:.015em}
.header-brand-name small{color:var(--ink-soft);font-size:8px;letter-spacing:.19em;text-transform:uppercase}
.site-header .primary-navigation{margin-left:calc(var(--lmb-header-logo-size) + clamp(118px,12vw,158px))}
.site-header .primary-navigation a,.site-header .nav-icons a{font-size:clamp(11px,1vw,13px)}

/* Remove the former adhesive/atelier label before the hero copy. */
.hero-text::before{content:none!important;display:none!important}
.hero{isolation:isolate}
.hero-text,.hero-envelope-visual,.hero-media{position:relative;z-index:3}
.hero-postmarks{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero-postmark{position:absolute;opacity:.105;filter:sepia(.7);mix-blend-mode:multiply}
.hero-postmark-one{width:clamp(190px,25vw,360px);right:-2%;top:3%;transform:rotate(8deg)}
.hero-postmark-two{width:clamp(130px,17vw,230px);right:34%;bottom:2%;transform:rotate(-16deg)}
.hero-postmark-three{width:clamp(105px,13vw,185px);right:1%;bottom:9%;transform:rotate(6deg);opacity:.075}

/* Temporary LMB postage stamp, ready to be replaced by the final artwork. */
#collection .section-head{position:relative;padding-top:32px}
.collection-stamp-placeholder{
  position:absolute;right:2%;top:-18px;width:clamp(70px,8vw,104px);aspect-ratio:.82;
  display:grid;place-items:center;padding:12%;transform:rotate(6deg);
  background:#e9d9bd;color:var(--ink);
  clip-path:polygon(8% 0,15% 4%,23% 0,31% 4%,39% 0,47% 4%,55% 0,63% 4%,71% 0,79% 4%,87% 0,94% 5%,100% 10%,96% 18%,100% 26%,96% 34%,100% 42%,96% 50%,100% 58%,96% 66%,100% 74%,96% 82%,100% 90%,94% 100%,86% 96%,78% 100%,70% 96%,62% 100%,54% 96%,46% 100%,38% 96%,30% 100%,22% 96%,14% 100%,5% 94%,0 88%,4% 80%,0 72%,4% 64%,0 56%,4% 48%,0 40%,4% 32%,0 24%,4% 16%,0 8%);
  filter:drop-shadow(0 8px 7px rgba(66,46,25,.18));
}
.collection-stamp-placeholder::before{content:"";position:absolute;inset:10%;border:1px solid rgba(74,57,37,.28)}
.collection-stamp-ink{width:112%;opacity:.76;mix-blend-mode:multiply;transform:rotate(-4deg)}

/* Replace the last CSS-drawn LMB marks by the raster postmark family. */
.collection-desk::before{
  content:"";background:transparent url('assets/stamps/lmb-postmark-round.png') center/contain no-repeat;
  border:0;box-shadow:none;border-radius:0;filter:sepia(.5);opacity:.32;
}
.quote-band::after{
  content:"";border:0;background:url('assets/stamps/lmb-postmark-cancel.png') center/contain no-repeat;
  width:150px;height:92px;border-radius:0;opacity:.22;filter:sepia(.65);
}
.woocommerce-postmark{width:52px;height:52px;opacity:.76;mix-blend-mode:multiply}

@media(max-width:900px){
  :root{--lmb-header-height:40px;--lmb-header-logo-size:clamp(60px,10vw,72px)}
  .site-header .nav-wrap{width:calc(100% - 28px)}
  .site-header .logo{left:0}
  .site-header .menu-toggle{margin-left:calc(var(--lmb-header-logo-size) + 112px)}
  .header-brand-name b{font-size:13px}.header-brand-name small{font-size:7px}
  .hero-postmark-one{right:-10%;top:48%}.hero-postmark-two{right:52%;bottom:0}.hero-postmark-three{display:none}
}
@media(max-width:600px){
  :root{--lmb-header-height:38px;--lmb-header-logo-size:clamp(56px,17vw,68px)}
  .header-brand-name{display:none}
  .site-header .menu-toggle{margin-left:calc(var(--lmb-header-logo-size) + 10px)}
  .hero-postmarks{top:42%;bottom:0}
  .hero-postmark-one{width:220px;right:-20%;top:4%}.hero-postmark-two{width:150px;left:-12%;right:auto;bottom:2%}
  #collection .section-head{padding-top:78px}
  .collection-stamp-placeholder{right:50%;top:-5px;transform:translateX(50%) rotate(5deg)}
}

/* ================================================================
   LMB 6.7 - Compact header with responsive overlapping seal
   ================================================================ */
:root{
  --lmb-header-height:clamp(38px,3.1vw,44px);
  --lmb-header-logo-size:clamp(54px,5.35vw,76px);
}
.site-header{
  overflow:visible;
}
.site-header .nav-wrap{
  position:relative;
  min-height:var(--lmb-header-height);
  height:var(--lmb-header-height);
  padding-block:0;
}
.site-header .logo{
  position:absolute;
  z-index:54;
  left:32px;
  top:50%;
  height:var(--lmb-header-logo-size);
  align-items:flex-start;
  transform:translateY(-25%);
}
.site-header .logo>a,
.site-header .custom-logo-link{
  display:block;
  height:100%;
}
.site-header .custom-logo{
  display:block;
  width:auto;
  max-width:none;
  height:100%;
  max-height:none;
  object-fit:contain;
}
.site-header .primary-navigation{
  margin-left:calc(var(--lmb-header-logo-size) + 36px);
}

@media(max-width:900px){
  :root{
    --lmb-header-height:clamp(36px,6vw,42px);
    --lmb-header-logo-size:clamp(52px,10vw,66px);
  }
  .site-header .nav-wrap{
    display:grid;
    grid-template-columns:36px 1fr auto;
  }
  .site-header .menu-toggle{
    width:34px;
    height:34px;
    margin-left:calc(var(--lmb-header-logo-size) + 16px);
  }
  .site-header .menu-toggle span{font-size:21px}
  .site-header .logo{left:22px}
  .site-header .primary-navigation{margin-left:0}
}
@media(max-width:600px){
  .site-header .logo{left:14px}
  .site-header .menu-toggle{
    margin-left:calc(var(--lmb-header-logo-size) + 8px);
  }
  .site-header .nav-icons{gap:10px}
}


/* WooCommerce payment, success, failure and cancellation states */
.woocommerce-checkout .site-main,
.woocommerce-order-received .site-main,
.woocommerce-order-pay .site-main,
.woocommerce-order-failed .site-main{
  width:min(100% - 36px,1180px);margin:0 auto;padding:58px 0 90px;
}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:48px;align-items:start}
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:2}
.woocommerce-checkout #order_review{padding:30px;border:1px solid var(--line);border-radius:4px 26px 4px 26px;background:var(--paper-deep)}
.woocommerce-checkout .col2-set{grid-column:1;grid-row:1/span 2;width:100%}
.woocommerce-checkout input.input-text,.woocommerce-checkout textarea,.woocommerce-checkout select,
.woocommerce-order-pay input.input-text{min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.woocommerce-checkout #payment{background:transparent}
.woocommerce-checkout #payment div.payment_box{background:rgba(255,255,255,.65)}
.woocommerce-checkout #place_order,.woocommerce-order-pay #place_order{width:100%;min-height:58px;background:var(--wine);color:var(--paper);border-radius:var(--lmb-radius)}
.lmb-checkout-policy{margin:18px 0;padding:18px;border:1px solid rgba(92,42,46,.2);border-radius:12px;background:rgba(255,255,255,.58);font-size:13px;line-height:1.6}
.lmb-checkout-policy p{margin:8px 0 0}
.woocommerce-order .woocommerce-notice{padding:24px;border:1px solid var(--line);border-radius:4px 22px 4px 22px;background:var(--paper-deep)}
.woocommerce-order .woocommerce-notice--success{border-color:var(--sauge)}
.woocommerce-order .woocommerce-notice--error,.woocommerce-error{border-color:var(--wine)}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:34px;padding:28px;border:1px solid var(--line);border-radius:4px 22px 4px 22px;background:rgba(255,255,255,.42)}
@media(max-width:820px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout .col2-set,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto}
}

/* ================================================================
   LMB 5.0 - Papeterie, encre & sceau
   Global storefront skin. Invitation packages keep their own art direction.
   ================================================================ */
body{
  background-color:var(--paper);
  background-image:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.42),transparent 30%),
    linear-gradient(112deg,rgba(130,98,59,.025),transparent 34%,rgba(130,98,59,.018));
}
body::before{opacity:.075;mix-blend-mode:multiply}
::selection{background:rgba(178,138,74,.28);color:var(--ink)}

.site-header{background:rgba(244,235,221,.92);border-color:rgba(65,51,36,.13);box-shadow:0 1px 0 rgba(255,255,255,.7)}
.nav-wrap{min-height:82px}
.site-header .custom-logo{max-height:58px;filter:drop-shadow(0 3px 4px rgba(72,52,27,.18))}
.primary-navigation a,.nav-icons a{position:relative;color:var(--ink);font-size:12px;letter-spacing:.075em;text-transform:uppercase}
.primary-navigation a::after,.nav-icons a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:right .25s ease}
.primary-navigation a:hover::after,.nav-icons a:hover::after{right:0}

.seal,.demo-seal{
  border:1px solid #8b652f;background:
    radial-gradient(circle at 34% 28%,#d7bd79 0 8%,#b78d45 38%,#8c642c 74%,#c39c55 100%);
  color:#fff8e9;box-shadow:inset 0 0 0 2px rgba(255,239,191,.26),inset -3px -4px 7px rgba(79,48,15,.35),0 4px 8px rgba(75,52,25,.22);
  text-shadow:-1px 1px 1px rgba(69,45,18,.45),1px -1px 1px rgba(255,245,209,.55)
}

.hero{min-height:min(790px,calc(100vh - 82px));padding-top:72px;padding-bottom:72px}
.hero::before{content:"";position:absolute;width:190px;height:82px;left:-38px;top:65px;background:rgba(202,177,137,.16);border:1px solid rgba(117,91,58,.06);transform:rotate(-8deg);box-shadow:0 2px 7px rgba(75,55,33,.05)}
.hero h1{font-size:clamp(52px,6.4vw,78px);line-height:.98;letter-spacing:-.035em}
.hero h1 em,.section-head h2 em{color:var(--gold-text)}
.hero-text::after{content:"Une histoire à partager";display:block;width:max-content;margin:34px 0 0 58px;color:var(--wine);font:600 22px/1 'Caveat',cursive;transform:rotate(-3deg)}
.eyebrow{color:var(--wine);font-size:10px;letter-spacing:.22em}

.btn-primary,.button,button,input[type=button],input[type=submit],.wp-element-button,.lmb-configure-button,.lmb-preview-chip{
  border-radius:3px;background:var(--ink);border-color:var(--ink);color:var(--paper-light);box-shadow:4px 5px 0 rgba(178,138,74,.24);letter-spacing:.04em
}
.btn-primary:hover,.button:hover,button:hover,input[type=button]:hover,input[type=submit]:hover,.wp-element-button:hover,.lmb-configure-button:hover{background:var(--wine);border-color:var(--wine);box-shadow:2px 3px 0 rgba(178,138,74,.2);transform:translate(2px,2px)}
.btn-ghost{border-color:var(--gold)}

.demo-stage{perspective:1200px}
.card-stack::after{content:"✒";position:absolute;z-index:8;right:-22px;bottom:18px;color:#8b652f;font:74px/1 Georgia,serif;transform:rotate(-39deg);filter:drop-shadow(7px 9px 5px rgba(47,35,24,.2));pointer-events:none}
.stack-card{border-radius:1px;background:var(--paper-light);border-color:rgba(77,59,38,.15);box-shadow:var(--paper-shadow)}
.stack-card.back-1{background:#eadfcd}.stack-card.back-2{background:#dfcfb6}
.stack-card.front::before{border-radius:0;border-color:rgba(178,138,74,.27)}
.demo-label{color:var(--wine)}

.section{padding-top:105px;padding-bottom:105px}
.section-head{position:relative}.section-head::after{content:"collection choisie avec soin";display:block;margin:17px 0 0 42px;color:var(--wine);font:500 20px/1 'Caveat',cursive;transform:rotate(-2deg)}
.filter-row{gap:22px}.filter-pill{padding:7px 1px;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;box-shadow:none;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.filter-pill:hover{border-color:var(--gold)}.filter-pill.active{background:transparent;border-color:var(--ink);color:var(--ink);font-weight:600}
.invite-card{overflow:visible;padding:12px 12px 0;border:0;border-radius:0;background:var(--paper-light);box-shadow:var(--paper-shadow)}
.invite-card::before{content:"";position:absolute;z-index:3;width:66px;height:18px;left:50%;top:-8px;background:rgba(204,183,148,.55);transform:translateX(-50%) rotate(-1deg);box-shadow:0 1px 2px rgba(63,47,29,.08);pointer-events:none}
.invite-thumb{height:250px}.invite-thumb::after{width:17px;height:17px;top:8px;right:8px;background:var(--gold);box-shadow:inset 0 0 0 3px rgba(255,255,255,.22)}
.invite-body{padding:20px 7px 22px}.invite-body .name{font-family:'Fraunces',serif;font-size:18px}.invite-body .price{color:var(--wine)}

.quote-band{overflow:hidden;background:var(--paper-deep);color:var(--ink);border-block:1px solid var(--line)}
.quote-band::before{content:"";position:absolute;inset:18px;border:1px solid rgba(178,138,74,.28)}
.quote-band::after{content:"LMB";position:absolute;right:8%;top:50%;display:grid;width:100px;aspect-ratio:1;place-items:center;border:3px double rgba(154,107,47,.3);border-radius:50%;color:rgba(154,107,47,.28);font:500 32px 'Fraunces',serif;transform:translateY(-50%) rotate(-12deg)}
.quote-band .eyebrow{color:var(--wine)}
.step-card{border-radius:0;background:var(--paper-light);box-shadow:var(--paper-shadow)}
.step-card::after{content:"";position:absolute;width:54px;height:15px;top:-7px;left:50%;background:rgba(204,183,148,.5);transform:translateX(-50%)}

footer{background:#e7dbc7}.footer-wrap{position:relative}.footer-wrap::after{content:"Merci";position:absolute;right:2%;bottom:-12px;color:rgba(154,107,47,.32);font:600 48px 'Caveat',cursive;transform:rotate(-7deg)}

/* Editorial inner pages */
.page-content,.lmb-shop,.lmb-faq{position:relative}
.page-title,.lmb-shop-hero h1,.lmb-faq-header h1{letter-spacing:-.035em}
.page-content article,.woocommerce-account .woocommerce-MyAccount-content,.woocommerce-account form.login,.woocommerce-account form.register,.lmb-faq details,.woocommerce-checkout #order_review,.woocommerce-order-details,.woocommerce-customer-details{border-radius:1px;background:rgba(255,253,247,.82);box-shadow:var(--paper-shadow)}
.page-content article:not(.type-page){padding:36px}
.lmb-faq details{border-left:3px solid rgba(178,138,74,.4)}
.lmb-faq summary::after{color:var(--gold-text)}
.lmb-shop-hero::after{content:"fait main, puis animé";display:block;margin:15px auto 0;color:var(--wine);font:600 23px 'Caveat',cursive;transform:rotate(-2deg)}
.lmb-shop-empty{border-radius:0;background:var(--paper-light);box-shadow:var(--paper-shadow)}

.lmb-product-visual{overflow:visible;padding:14px 14px 58px;background:var(--paper-light);box-shadow:var(--paper-shadow);transform:rotate(-.7deg)}
.lmb-product-visual img{object-fit:cover}.lmb-preview-chip{left:auto;right:28px;bottom:20px;min-height:38px;background:transparent;border:0;box-shadow:none;color:var(--ink);font-family:'Caveat',cursive;font-size:19px;text-transform:none}
.lmb-product-copy h1{font-size:clamp(54px,5vw,86px)}
.lmb-product-kicker{color:var(--wine)}
.lmb-product-features li::before{color:var(--gold-text)}
.lmb-configure-button{border-radius:2px}

.woocommerce-account .woocommerce-MyAccount-navigation{border-radius:1px;background:#eadfcd;box-shadow:var(--paper-shadow)}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{color:var(--wine)}
.woocommerce-account .woocommerce-Address{border-radius:1px;background:var(--paper-light);box-shadow:0 8px 24px rgba(72,55,35,.08)}
.woocommerce-account input,.woocommerce-account textarea,.woocommerce-checkout input.input-text,.woocommerce-checkout textarea,.woocommerce-checkout select,input,textarea,select{border-radius:2px;background:rgba(255,253,247,.88);border-color:rgba(65,51,36,.2)}
.woocommerce-checkout #order_review{border-radius:1px}.lmb-checkout-policy{border-radius:1px;background:#eee2cf}

@media(max-width:900px){
  .nav-wrap{min-height:72px}.hero{min-height:auto}.hero-text::after{margin-left:22px}.card-stack::after{right:2px}
  .primary-navigation{background:var(--paper-light)}
  .quote-band::after{right:-42px;opacity:.55}
}
@media(max-width:600px){
  .hero{padding-top:48px}.hero h1{font-size:44px}.hero-text::after{font-size:19px}
  .invite-card{transform:none!important}.section{padding-top:78px;padding-bottom:78px}
  .quote-band{padding:76px 28px}.quote-band::after{display:none}.footer-wrap::after{font-size:34px}
  .nav-icons a:first-child{display:none}.nav-icons{font-size:11px}.custom-logo{max-width:120px}
}

/* ================================================================
   LMB 6.0 - Atelier de correspondance
   A structural, tactile art direction rather than a beige SaaS skin.
   ================================================================ */
:root{--desk:#e7dac5;--charcoal:#29231e;--tape:rgba(205,184,149,.62);--deep-shadow:0 32px 70px rgba(55,39,22,.22),0 5px 14px rgba(55,39,22,.13)}
body{background-color:#eee4d3;background-image:linear-gradient(90deg,rgba(90,67,42,.025) 1px,transparent 1px),linear-gradient(rgba(90,67,42,.02) 1px,transparent 1px);background-size:34px 34px}
.site-header{margin:12px 18px 0;border:1px solid rgba(76,57,36,.15);background:rgba(248,241,229,.91);box-shadow:0 10px 32px rgba(62,43,24,.08)}
.nav-wrap{max-width:1380px}.hero{max-width:1380px;min-height:760px;padding:86px 58px 84px;grid-template-columns:.82fr 1.18fr;gap:72px}
.hero::before{content:"";position:absolute;z-index:-1;inset:26px 8px 22px;background:rgba(255,250,240,.56);clip-path:polygon(1% 2%,98.5% 0,100% 96%,2% 100%);box-shadow:var(--deep-shadow)}
.hero h1{font-size:clamp(58px,5.8vw,94px);line-height:.93;letter-spacing:-.055em}.hero p.lede{font-family:'Fraunces',serif;font-size:18px;line-height:1.58}.hero-text::before{content:"LMB · atelier de correspondance";display:block;margin:0 0 24px;color:var(--gold-text);font:600 19px/1 'Caveat',cursive;transform:rotate(-2deg)}
.btn-primary{position:relative;border:1px solid #211d19;border-radius:1px;background:var(--charcoal);box-shadow:6px 7px 0 rgba(178,138,74,.3);letter-spacing:.08em;text-transform:uppercase}.btn-primary::before{content:"✦";margin-right:4px;color:#d4ad61}.btn-ghost{font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.atelier-stage{height:610px;isolation:isolate}.atelier-stage .card-stack{position:absolute;z-index:4;left:15%;top:52px;width:58%;height:510px;filter:drop-shadow(0 24px 24px rgba(47,33,19,.18));transform:rotate(-1.5deg)}
.atelier-stage .stack-card{border-radius:0}.atelier-stage .stack-card.front{padding:54px 34px;background:#f8f0df;box-shadow:var(--deep-shadow)}
.atelier-stage .stack-card.front::before{border:1px solid rgba(112,87,54,.24);inset:25px}.atelier-stage .botanical-card{background:linear-gradient(rgba(90,112,73,.2),rgba(90,112,73,.2)),url('assets/eden-garden-new.jpeg') center/cover;transform:rotate(-9deg) translate(-46px,-14px)}
.atelier-stage .envelope-card{background:#dfd0b8;transform:rotate(7deg) translate(42px,28px)}
.atelier-stage .envelope-card::before{content:"";position:absolute;inset:0;background:linear-gradient(35deg,transparent 49.6%,rgba(99,76,48,.18) 50%,transparent 50.5%),linear-gradient(-35deg,transparent 49.6%,rgba(99,76,48,.18) 50%,transparent 50.5%)}
.atelier-polaroid{position:absolute;z-index:6;width:150px;margin:0;padding:9px 9px 28px;background:#f6eedf;box-shadow:0 15px 30px rgba(54,39,24,.2)}.atelier-polaroid img{display:block;width:100%;height:112px;object-fit:cover;filter:saturate(.72) sepia(.12)}.atelier-polaroid figcaption{text-align:center;font:600 18px/1.3 'Caveat',cursive}.atelier-polaroid-top{right:-1%;top:8px;transform:rotate(7deg)}.atelier-polaroid-bottom{right:-5%;bottom:36px;transform:rotate(11deg)}
.atelier-note{position:absolute;z-index:7;right:3%;bottom:4px;color:#70583c;font:600 20px/1.05 'Caveat',cursive;text-align:center;transform:rotate(-6deg)}
.atelier-pen{position:absolute;z-index:8;right:-7%;bottom:92px;width:230px;height:13px;border-radius:50% 2px 2px 50%;background:linear-gradient(#3c3026,#0f0d0b 48%,#56402b 54%,#17120f);box-shadow:0 7px 9px rgba(30,20,12,.25);transform:rotate(-14deg)}.atelier-pen::before{content:"";position:absolute;left:-38px;top:-7px;border-width:14px 40px 14px 0;border-style:solid;border-color:transparent #b48a43 transparent transparent}.atelier-pen::after{content:"";position:absolute;left:-43px;top:5px;width:8px;height:3px;background:#332518}
.atelier-thread,.desk-thread{position:absolute;z-index:1;border:2px solid rgba(62,49,35,.35);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;pointer-events:none}.atelier-thread{left:3%;bottom:23px;width:72%;height:118px;transform:rotate(8deg)}
.section{max-width:1380px}.section-head h2{font-size:clamp(45px,5vw,72px);letter-spacing:-.045em}.collection-desk{position:relative;margin-inline:-24px;padding:70px 38px 58px;background:#dfd0b9;box-shadow:inset 0 20px 50px rgba(65,45,25,.08);clip-path:polygon(0 3%,98% 0,100% 96%,2% 100%)}.collection-grid{gap:50px}.invite-card{padding:14px 14px 0}.invite-card:nth-child(3n+1){transform:rotate(-3deg) translateY(10px)}.invite-card:nth-child(3n+2){transform:rotate(1.5deg) translateY(-18px)}.invite-card:nth-child(3n){transform:rotate(3deg) translateY(13px)}.invite-card:hover{z-index:5;transform:translateY(-15px) rotate(0)}.desk-thread{right:2%;bottom:3%;width:48%;height:90px;transform:rotate(-9deg)}
.ink-letter{width:min(1240px,calc(100% - 48px));margin:80px auto;transform:rotate(-1deg);box-shadow:var(--deep-shadow);clip-path:polygon(1% 1%,99% 0,100% 97%,2% 100%)}
.atelier-steps{position:relative;align-items:flex-start;gap:34px}.atelier-steps::before{content:"";position:absolute;left:15%;right:15%;top:48%;height:2px;background:rgba(64,49,34,.35);transform:rotate(-2deg)}.step-card{position:relative;width:29%;min-height:330px;margin:0!important;padding:40px 32px;border:0!important}.step-card:nth-child(1){transform:rotate(-4deg)}.step-card:nth-child(2){transform:rotate(1deg) translateY(24px)}.step-card:nth-child(3){transform:rotate(4deg) translateY(-8px)}.step-number{display:block;font:italic 46px/1 'Fraunces',serif}.step-icon{display:block;margin:20px 0 8px;font-size:31px}.step-card h3{font-size:26px}.step-card p{font-family:'Fraunces',serif;font-style:italic;font-size:15px}.step-card .seal{display:none}
/* Tactile inner screens */
.lmb-shop-grid .invite-card:nth-child(3n+1){transform:rotate(-2deg)}.lmb-shop-grid .invite-card:nth-child(3n+2){transform:rotate(1deg)}.lmb-shop-grid .invite-card:nth-child(3n){transform:rotate(2.5deg)}
.woocommerce-account .entry-content>.woocommerce,.lmb-builder{position:relative}.woocommerce-account .woocommerce-MyAccount-navigation{transform:rotate(-.6deg);border:0}.woocommerce-account .woocommerce-MyAccount-content{transform:rotate(.15deg);border:0}.woocommerce-account .woocommerce-MyAccount-content::before,.lmb-project-card::after{content:"";position:absolute;left:50%;top:-8px;width:84px;height:20px;background:var(--tape);transform:translateX(-50%) rotate(-2deg)}
@media(max-width:900px){.site-header{margin:0}.hero{min-height:auto;grid-template-columns:1fr;padding:60px 32px 78px}.hero::before{inset:18px 8px}.atelier-stage{height:640px;width:min(100%,650px);margin:auto}.atelier-stage .card-stack{left:16%;width:62%}.atelier-polaroid-top{right:1%}.atelier-polaroid-bottom{right:0}.collection-desk{margin-inline:-8px}.collection-grid{gap:40px 26px}.atelier-steps{gap:18px}.step-card{width:31%;margin:0!important;transform:none!important}.atelier-steps::before{display:none}}
@media(max-width:600px){.hero{padding:46px 24px 65px}.hero h1{font-size:51px}.hero-text::before{font-size:17px}.atelier-stage{height:530px;margin-top:12px}.atelier-stage .card-stack{left:10%;top:42px;width:73%;height:420px}.atelier-stage .stack-card.front{padding:38px 20px}.atelier-stage .botanical-card{transform:rotate(-7deg) translate(-17px,-8px)}.atelier-stage .envelope-card{transform:rotate(5deg) translate(20px,18px)}.atelier-polaroid{width:102px;padding:6px 6px 21px}.atelier-polaroid img{height:76px}.atelier-polaroid figcaption{font-size:14px}.atelier-polaroid-top{right:-1%;top:4px}.atelier-polaroid-bottom{right:-3%;bottom:13px}.atelier-pen{right:-20%;bottom:76px;width:170px}.atelier-note{display:none}.collection-desk{margin-inline:-12px;padding:54px 24px;clip-path:polygon(0 1%,100% 0,100% 99%,0 100%)}.collection-grid{display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;padding:24px 10vw 42px;margin-inline:-24px}.collection-grid .invite-card{flex:0 0 78vw;scroll-snap-align:center;transform:none!important}.ink-letter{width:calc(100% - 26px);margin:48px auto}.steps-wrap.atelier-steps{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:30px 12vw 55px;margin-inline:-32px}.step-card{flex:0 0 76vw;width:auto;min-height:300px;scroll-snap-align:center}.site-header{box-shadow:0 8px 24px rgba(62,43,24,.11)}}

/* ================================================================
   LMB 6.2 - Letter reveal hero
   The invitation, envelope and accents are independent moving layers.
   ================================================================ */
/* Preserve the v6.1 WooCommerce action layer. */
:where(.woocommerce-account,.woocommerce-cart,.woocommerce-checkout,.woocommerce-order-pay,.woocommerce-order-received,.woocommerce-order-failed) :is(a.button,button.button,input.button,.woocommerce-button,.wc-block-components-button,.wp-element-button),
.woocommerce :where(a.button,button.button,input.button),.woocommerce-page :where(a.button,button.button,input.button){
  -webkit-appearance:none!important;appearance:none!important;display:inline-flex!important;min-height:48px!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:13px 22px!important;border:1px solid var(--ink)!important;border-radius:2px!important;background:var(--ink)!important;background-image:none!important;box-shadow:3px 3px 0 var(--gold)!important;color:var(--paper-light)!important;font:600 12px/1.15 'Inter',sans-serif!important;letter-spacing:.075em!important;text-align:center!important;text-decoration:none!important;text-transform:uppercase!important;cursor:pointer!important;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease!important
}
:where(.woocommerce-account,.woocommerce-cart,.woocommerce-checkout,.woocommerce-order-pay,.woocommerce-order-received,.woocommerce-order-failed) :is(a.button,button.button,input.button,.woocommerce-button,.wc-block-components-button,.wp-element-button):hover,
.woocommerce :where(a.button,button.button,input.button):hover,.woocommerce-page :where(a.button,button.button,input.button):hover{background:var(--wine)!important;border-color:var(--wine)!important;color:var(--paper-light)!important;box-shadow:1px 1px 0 var(--gold)!important;transform:translate(2px,2px)!important}
:where(.woocommerce-account,.woocommerce-cart,.woocommerce-checkout,.woocommerce-order-pay) :is(a.button,button.button,input.button,.woocommerce-button,.wc-block-components-button,.wp-element-button):focus-visible{outline:3px solid rgba(178,138,74,.4)!important;outline-offset:4px!important}
:where(.woocommerce-account,.woocommerce-cart,.woocommerce-checkout,.woocommerce-order-pay) :is(.button.disabled,.button:disabled,.button[disabled],.wc-block-components-button:disabled){background:#b9afa1!important;border-color:rgba(48,42,36,.3)!important;box-shadow:none!important;color:#fffdf7!important;cursor:not-allowed!important;opacity:.72!important;transform:none!important}
.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-button,.button:not(.woocommerce-Button)),.woocommerce-cart :is(.coupon .button,button[name="update_cart"]){min-height:42px!important;padding:10px 16px!important;border-color:var(--gold)!important;background:transparent!important;box-shadow:2px 2px 0 rgba(178,138,74,.28)!important;color:var(--ink)!important;font-size:11px!important}
.woocommerce-cart :is(.checkout-button,.wc-block-cart__submit-button),.woocommerce-checkout :is(#place_order,.wc-block-components-checkout-place-order-button),.woocommerce-order-pay :is(#place_order,.button.alt),.woocommerce-account :is(button[name="save_account_details"],button[name="save_address"],.woocommerce-form-login__submit,.woocommerce-form-register__submit){min-height:56px!important;padding:15px 28px!important;border-color:var(--wine)!important;background:var(--wine)!important;box-shadow:4px 4px 0 var(--gold)!important;color:var(--paper-light)!important}
.woocommerce-cart :is(.checkout-button,.wc-block-cart__submit-button),.woocommerce-checkout :is(#place_order,.wc-block-components-checkout-place-order-button),.woocommerce-order-pay :is(#place_order,.button.alt){width:100%!important}
@media(max-width:640px){.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,.woocommerce-cart .coupon :is(.input-text,.button){width:100%!important}.woocommerce-cart .coupon{display:grid!important;grid-template-columns:minmax(0,1fr);gap:10px}}

.letter-reveal{
  --mx:0px;--my:0px;
  height:650px;isolation:isolate;overflow:visible;
  transform:translateZ(0);
}
.letter-reveal::before{
  content:"";position:absolute;z-index:-2;inset:5% -4% 1% 2%;
  background:radial-gradient(ellipse at 50% 74%,rgba(76,55,32,.14),transparent 58%);
  filter:blur(10px);opacity:.75;
}
.letter-envelope{position:absolute;z-index:4;left:9%;right:7%;bottom:48px;height:285px;filter:drop-shadow(0 30px 25px rgba(55,38,21,.22));transform:translate(var(--mx),var(--my)) rotate(-1.2deg)}
.letter-envelope-back,.letter-envelope-front,.letter-envelope-flap{position:absolute;inset:0;display:block}
.letter-envelope-back{background:#d9c4a4;border:1px solid rgba(79,57,34,.15);clip-path:polygon(0 7%,100% 0,100% 100%,0 96%)}
.letter-envelope-flap{z-index:1;transform-origin:50% 5%;background:linear-gradient(165deg,#eadbc2,#d2bb98);clip-path:polygon(0 2%,100% 0,50% 69%);filter:drop-shadow(0 4px 4px rgba(71,49,28,.11))}
.letter-envelope-front{z-index:5;background:linear-gradient(145deg,#e8d6b8 0 49.5%,transparent 50%),linear-gradient(215deg,#decaab 0 49.5%,transparent 50%);clip-path:polygon(0 4%,50% 55%,100% 0,100% 100%,0 96%)}
.letter-card{position:absolute;z-index:3;left:19%;top:20px;width:61%;height:475px;padding:63px 34px 46px;text-align:center;color:#382f27;background:#fbf4e7;box-shadow:0 25px 45px rgba(54,38,23,.2),0 3px 7px rgba(54,38,23,.1);border:1px solid rgba(116,87,54,.16);transform:translate(calc(var(--mx) * -.45),calc(118px + var(--my) * -.5)) rotate(-2.2deg);transition:transform 1.15s cubic-bezier(.2,.8,.2,1)}
.letter-reveal.is-ready .letter-card{transform:translate(calc(var(--mx) * -.45),calc(var(--my) * -.5)) rotate(-2.2deg)}
.letter-card::before{content:"";position:absolute;inset:22px;border:1px solid rgba(178,138,74,.34);pointer-events:none}
.letter-card::after{content:"✦";position:absolute;left:50%;top:31px;transform:translateX(-50%);color:var(--gold);font-size:12px}
.letter-card-kicker{display:block;margin-bottom:27px;font:600 9px/1.4 'Inter',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#8e7049}
.letter-card-names{display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap}
.letter-card .demo-names{font-size:clamp(30px,3.2vw,48px)}
.letter-card .demo-date{display:inline-block;margin-top:22px;font-size:10px;letter-spacing:.12em}
.letter-card-rule{display:block;width:58px;height:1px;margin:31px auto 17px;background:var(--gold)}
.letter-card-note{font:600 19px/1 'Caveat',cursive;color:#785f3e;transform:rotate(-2deg)}
.letter-polaroid{position:absolute;z-index:7;right:-3%;top:37px;width:168px;margin:0;padding:10px 10px 31px;background:#f7efe2;box-shadow:0 18px 28px rgba(48,34,21,.2);transform:translate(calc(var(--mx) * .65),calc(var(--my) * .65)) rotate(8deg);animation:letter-breathe 7s ease-in-out infinite}
.letter-polaroid img{display:block;width:100%;height:119px;object-fit:cover;filter:saturate(.7) sepia(.13)}
.letter-polaroid figcaption{padding-top:7px;text-align:center;font:600 17px/1 'Caveat',cursive;color:#594a3b}
.letter-botanical{position:absolute;z-index:2;width:225px;height:290px;background:url('assets/floral-corner.svg') center/contain no-repeat;filter:sepia(.3) saturate(.65) hue-rotate(345deg);opacity:.82;pointer-events:none}
.letter-botanical-left{left:-3%;bottom:122px;transform:translate(calc(var(--mx) * -.8),calc(var(--my) * -.8)) rotate(-25deg)}
.letter-botanical-right{right:-7%;bottom:86px;transform:translate(calc(var(--mx) * .8),calc(var(--my) * .8)) rotate(132deg)}
.letter-seal{position:absolute!important;z-index:9!important;right:14%;bottom:97px!important;width:78px!important;height:78px!important;margin:0!important;padding:0!important;border:2px solid rgba(255,244,213,.35)!important;border-radius:50%!important;background:radial-gradient(circle at 38% 30%,#d8b871,#a97d34 58%,#745021)!important;box-shadow:inset 5px 5px 8px rgba(255,240,194,.22),inset -5px -7px 9px rgba(65,37,10,.25),0 12px 16px rgba(52,35,18,.25)!important;color:#fff3ce!important;cursor:pointer;transform:rotate(7deg);animation:seal-arrive 1.1s .75s both cubic-bezier(.2,.9,.3,1.25)}
.letter-seal::before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,242,204,.4);border-radius:50%}
.letter-seal span{font:italic 28px/1 'Fraunces',serif;text-shadow:0 1px 1px rgba(77,43,12,.45)}
.letter-seal:hover{transform:rotate(0) scale(1.07)!important}
.letter-ink-line{position:absolute;z-index:1;left:1%;right:12%;bottom:16px;height:124px;border:2px solid rgba(57,45,33,.42);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(5deg) scaleX(0);transform-origin:left;transition:transform 1.2s .55s ease}
.letter-reveal.is-ready .letter-ink-line{transform:rotate(5deg) scaleX(1)}
.letter-caption{position:absolute;z-index:8;left:2%;bottom:21px;font:600 18px/1 'Caveat',cursive;color:#735a3e;transform:rotate(-4deg)}
@keyframes letter-breathe{0%,100%{margin-top:0}50%{margin-top:-8px}}
@keyframes seal-arrive{from{opacity:0;transform:scale(.55) rotate(-18deg)}to{opacity:1;transform:scale(1) rotate(7deg)}}
@media(max-width:900px){
  .letter-reveal{width:min(100%,680px);height:660px;margin:24px auto 0}.letter-envelope{left:8%;right:8%}.letter-card{left:20%;width:60%}.letter-polaroid{right:1%}
}
@media(max-width:600px){
  .hero{gap:18px}.letter-reveal{height:515px;margin-top:22px}.letter-envelope{left:0;right:0;bottom:35px;height:205px}.letter-card{left:13%;top:3px;width:70%;height:372px;padding:49px 17px 28px}.letter-card::before{inset:15px}.letter-card::after{top:22px}.letter-card-kicker{margin-bottom:20px;font-size:7px}.letter-card-names{gap:6px}.letter-card .demo-names{font-size:28px}.letter-card .demo-amp{font-size:18px;margin:0 2px}.letter-card .demo-date{margin-top:17px;font-size:8px}.letter-card-rule{margin:23px auto 13px}.letter-card-note{font-size:16px}.letter-polaroid{right:-10px;top:28px;width:105px;padding:6px 6px 20px}.letter-polaroid img{height:72px}.letter-polaroid figcaption{font-size:12px}.letter-botanical{width:130px;height:190px}.letter-botanical-left{left:-15%;bottom:90px}.letter-botanical-right{right:-19%;bottom:60px}.letter-seal{right:7%!important;bottom:72px!important;width:61px!important;height:61px!important}.letter-seal span{font-size:22px}.letter-caption{left:3%;bottom:3px;font-size:15px}.letter-ink-line{left:-5%;right:7%;bottom:2px;height:92px}
}
@media(prefers-reduced-motion:reduce){.letter-card,.letter-ink-line{transition:none}.letter-polaroid,.letter-seal{animation:none}}

/* ================================================================
   LMB 6.3 - photographic paper scene
   The visual keeps the real fibres, torn edges, embossing and wax from
   the approved art direction. Copy and actions remain live HTML.
   ================================================================ */
.hero-paper-scene{
  position:relative;z-index:1;width:min(100%,780px);margin:0;
  filter:drop-shadow(0 28px 25px rgba(51,36,21,.2));
  transform:rotate(-.35deg);isolation:isolate
}
.hero-paper-scene::before{
  content:"";position:absolute;z-index:-1;inset:7% -2% -5% 5%;
  background:rgba(76,53,30,.15);filter:blur(24px);border-radius:50%
}
.hero-paper-scene picture,.hero-paper-scene img{display:block;width:100%}
.hero-paper-scene img{
  height:auto;object-fit:cover;clip-path:polygon(.7% 1.4%,99.3% 0,100% 97%,1.5% 100%);
  animation:paper-scene-arrive 1s cubic-bezier(.2,.75,.25,1) both
}
.hero-scene-caption{
  position:absolute;right:3%;bottom:-24px;color:#6d553a;
  font:600 20px/1 'Caveat',cursive;transform:rotate(-4deg)
}
@keyframes paper-scene-arrive{from{opacity:0;transform:translateY(18px) rotate(.8deg)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .hero-paper-scene{width:min(100%,760px);margin:22px auto 0}
}
@media(max-width:600px){
  .hero-paper-scene{width:calc(100% + 20px);margin:26px -10px 18px;transform:rotate(-.25deg)}
  .hero-paper-scene img{aspect-ratio:4/3;object-position:center;clip-path:polygon(1% 1%,99% 0,100% 98%,0 100%)}
  .hero-scene-caption{right:7%;bottom:-18px;font-size:17px}
}
@media(prefers-reduced-motion:reduce){.hero-paper-scene img{animation:none}}

/* ================================================================
   LMB 6.8 - Cut-out envelope hero
   The photographic envelope floats directly on the site's paper layer.
   Its shadow follows the transparent silhouette and scales responsively.
   ================================================================ */
.hero-envelope-visual{
  position:relative;
  z-index:1;
  width:min(112%,860px);
  margin:0 -6% 0 -2%;
  transform:rotate(-.45deg);
  transform-origin:center;
  animation:hero-envelope-arrive 1s cubic-bezier(.2,.75,.25,1) both;
}
.hero-envelope-visual img{
  display:block;
  width:100%;
  height:auto;
  filter:
    drop-shadow(0 7px 5px rgba(62,43,23,.16))
    drop-shadow(0 26px 22px rgba(62,43,23,.24));
}
@keyframes hero-envelope-arrive{
  from{opacity:0;transform:translateY(22px) rotate(.4deg) scale(.985)}
  to{opacity:1;transform:translateY(0) rotate(-.45deg) scale(1)}
}
@media(max-width:1100px){
  .hero-envelope-visual{width:108%;margin-inline:-4%}
}
@media(max-width:900px){
  .hero-envelope-visual{width:min(106%,760px);margin:28px auto 4px}
}
@media(max-width:600px){
  .hero-envelope-visual{width:112%;margin:30px -6% 8px;transform:rotate(-.25deg)}
  .hero-envelope-visual img{filter:drop-shadow(0 5px 4px rgba(62,43,23,.15)) drop-shadow(0 18px 16px rgba(62,43,23,.22))}
}
@media(prefers-reduced-motion:reduce){.hero-envelope-visual{animation:none}}

/* ================================================================
   LMB 7.14 - definitive collection airmail panel
   This final cascade guard removes the inherited envelope drawing.
   Decorative content remains on its existing independent layers.
   ================================================================ */
.home #collection .collection-desk{
  --airmail-border:16px;
  border:var(--airmail-border) solid transparent;
  border-radius:2px;
  clip-path:none;
  background-color:transparent;
  background-image:
    linear-gradient(180deg,rgba(255,250,237,.98),rgba(246,234,211,.98)),
    repeating-linear-gradient(
      135deg,
      #1f7892 0 28px,
      #f7edd7 28px 39px,
      #a92d35 39px 67px,
      #f7edd7 67px 78px
    );
  background-size:100% 100%,100% 100%;
  background-position:center,center;
  background-repeat:no-repeat,no-repeat;
  background-origin:padding-box,border-box;
  background-clip:padding-box,border-box;
}
@media(max-width:900px){
  .home #collection .collection-desk{--airmail-border:13px}
}
@media(max-width:600px){
  .home #collection .collection-desk{
    --airmail-border:10px;
    clip-path:none;
    background-image:
      linear-gradient(180deg,rgba(255,250,237,.98),rgba(246,234,211,.98)),
      repeating-linear-gradient(135deg,#1f7892 0 19px,#f7edd7 19px 27px,#a92d35 27px 46px,#f7edd7 46px 54px);
    background-size:100% 100%,100% 100%;
  }
}

/* ================================================================
   LMB 7.13 - Responsive airmail frame for the home collection
   Keep every collection layer; only replace the envelope silhouette.
   ================================================================ */
.collection-desk{
  --airmail-border:16px;
  border:var(--airmail-border) solid transparent;
  border-radius:2px;
  clip-path:none;
  background:
    linear-gradient(180deg,rgba(255,250,237,.98),rgba(246,234,211,.98)) padding-box,
    repeating-linear-gradient(
      135deg,
      #1f7892 0 28px,
      #f7edd7 28px 39px,
      #a92d35 39px 67px,
      #f7edd7 67px 78px
    ) border-box;
  filter:drop-shadow(0 24px 20px rgba(70,49,27,.14)) drop-shadow(0 4px 3px rgba(70,49,27,.1));
}
@media(max-width:900px){
  .collection-desk{--airmail-border:13px}
}
@media(max-width:600px){
  .collection-desk{
    --airmail-border:10px;
    background:
      linear-gradient(180deg,rgba(255,250,237,.98),rgba(246,234,211,.98)) padding-box,
      repeating-linear-gradient(135deg,#1f7892 0 19px,#f7edd7 19px 27px,#a92d35 27px 46px,#f7edd7 46px 54px) border-box;
  }
}

/* ================================================================
   LMB 6.9 - WooCommerce-powered home collection
   Categories and the three-card selection come from the live catalogue.
   The old flat desk is replaced by an oversized correspondence envelope.
   ================================================================ */
#collection{position:relative}
#collection .filter-row{position:relative;z-index:4}
.collection-desk{
  position:relative;isolation:isolate;margin-inline:-30px;padding:86px 52px 58px;
  background-color:#eadbc4;
  background-image:
    linear-gradient(145deg,transparent 49.55%,rgba(112,82,48,.17) 50%,transparent 50.45%),
    linear-gradient(215deg,transparent 49.55%,rgba(112,82,48,.14) 50%,transparent 50.45%),
    linear-gradient(180deg,#f1e5d2 0%,#e7d5ba 100%);
  background-size:50% 58%,50% 58%,100% 100%;
  background-position:left bottom,right bottom,center;
  background-repeat:no-repeat;
  clip-path:polygon(.7% 2.4%,8% 1.1%,17% 2%,27% .7%,38% 1.8%,49% .5%,61% 1.7%,73% .6%,85% 1.8%,99% .8%,98.8% 97.6%,89% 98.8%,77% 98%,65% 99.2%,52% 98.1%,39% 99.3%,26% 98.2%,13% 99.1%,1% 98%);
  filter:drop-shadow(0 24px 20px rgba(70,49,27,.14)) drop-shadow(0 4px 3px rgba(70,49,27,.1));
}
.collection-desk::before{
  content:"LMB";position:absolute;z-index:0;right:6%;top:25px;width:72px;height:72px;
  display:grid;place-items:center;border-radius:50%;color:#f6ead7;
  background:radial-gradient(circle at 32% 27%,#d6b46c 0,#ae7e35 46%,#80541f 100%);
  border:3px double rgba(255,246,219,.45);box-shadow:0 5px 8px rgba(62,40,18,.25),inset 3px 4px 5px rgba(255,244,203,.28);
  font:600 18px/1 'Fraunces',serif;letter-spacing:.04em;transform:rotate(7deg);
}
.collection-desk::after{
  content:"sélection de l’atelier";position:absolute;z-index:0;left:7%;top:31px;
  color:#725f49;font:500 21px/1 'Caveat',cursive;transform:rotate(-3deg);opacity:.82;
}
.collection-desk .collection-grid,.collection-more{position:relative;z-index:2}
.collection-desk .desk-thread{z-index:1;opacity:.46}
.collection-more{display:flex;justify-content:center;margin-top:54px}
.collection-more-button{min-width:min(100%,290px);justify-content:center;text-align:center;box-shadow:0 10px 22px rgba(80,55,27,.14)}
@media(max-width:900px){
  .collection-desk{margin-inline:-10px;padding:78px 30px 50px}
}
@media(max-width:600px){
  #collection .filter-row{flex-wrap:nowrap;overflow-x:auto;margin-inline:-24px;padding:0 24px 10px;scrollbar-width:none}
  #collection .filter-row::-webkit-scrollbar{display:none}
  #collection .filter-pill{flex:0 0 auto}
  .collection-desk{margin-inline:-16px;padding:76px 22px 42px;background-size:100% 46%,100% 46%,100% 100%;clip-path:polygon(1% 1%,99% .2%,100% 99%,0 98.5%)}
  .collection-desk::before{right:7%;top:19px;width:58px;height:58px;font-size:14px}
  .collection-desk::after{left:8%;top:27px;font-size:18px}
  .collection-desk .collection-grid{display:grid;grid-template-columns:1fr;gap:32px;margin:0;padding:8px 0;overflow:visible}
  .collection-desk .collection-grid .invite-card{width:100%;transform:none!important}
  .collection-more{margin-top:38px}
}

/* ================================================================
   LMB 6.5 - Fixed paper grain over a true cream background
   The texture is a single, subtle viewport-sized material layer.
   It no longer replaces the palette or tiles across every surface.
   ================================================================ */
:root{--paper-texture:url('assets/paper-texture.webp')}
html{background:var(--paper)}
body{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  background-color:var(--paper);
  background-image:none
}
body::before{
  content:"";
  display:block;
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:var(--paper-texture);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  mix-blend-mode:multiply;
  opacity:.105;
  filter:brightness(1.1) contrast(.82)
}
:is(.page-content article,.invite-card,.step-card,.ink-letter,.woocommerce-account .woocommerce-MyAccount-content,.woocommerce-account form.login,.woocommerce-account form.register,.woocommerce-account .woocommerce-Address,.lmb-faq details,.woocommerce-checkout #order_review,.woocommerce-order .woocommerce-notice,.woocommerce-order-details,.woocommerce-customer-details,.lmb-shop-empty){
  background-color:var(--paper-light);
  background-image:none
}
:is(.quote-band,.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-checkout .lmb-checkout-policy){
  background-color:var(--paper-deep);
  background-image:none
}
@media(max-width:600px){body::before{opacity:.09}}

/* 7.25 - Mobile viewport hardening.
   Keep decorative off-canvas paper/stamp layers from widening the document,
   and keep iOS from zooming the viewport when a field receives focus. */
@media(max-width:900px){
  html,body,.site-main{max-width:100%;overflow-x:clip}
  :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){font-size:16px!important}
  .woocommerce-account .page-content,
  .woocommerce-account .entry-content,
  .woocommerce-account .entry-content>.woocommerce,
  .woocommerce-account .woocommerce-MyAccount-content{width:100%!important;max-width:100%!important;min-width:0!important}
}
@media(max-width:600px){
  .woocommerce-account .page-content{width:calc(100% - 24px)!important}
  .woocommerce-account .entry-content>article{padding-inline:12px!important}
  .woocommerce-account .woocommerce-MyAccount-content{padding:20px 12px!important}
  .woocommerce-account .woocommerce-MyAccount-navigation{width:100%!important;max-width:100%;overflow:visible!important;transform:none!important}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{width:100%;max-width:100%;overflow:visible!important}
}

/* ================================================================
   LMB 6.6 - Three-step torn-paper journey
   ================================================================ */
#etapes{overflow:hidden;padding-bottom:120px}
#etapes .section-head{margin-inline:auto;text-align:center}
.steps-wrap.atelier-steps{
  display:grid;grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr) 104px minmax(0,1fr);
  align-items:center;gap:4px;max-width:1170px;margin:20px auto 0;padding:34px 6px 54px;
  overflow:visible;
}
.steps-wrap.atelier-steps::before{display:none}
.atelier-steps .step-card{
  position:relative;isolation:isolate;width:100%;min-height:430px;margin:0!important;
  padding:42px 30px 38px;border:0!important;border-radius:0!important;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background-color:#f7efdf;
  background-image:linear-gradient(rgba(247,239,223,.76),rgba(247,239,223,.76)),url('assets/paper-texture.webp');
  background-size:cover;overflow:visible;
  clip-path:polygon(1% 2%,7% 1%,13% 2.2%,20% .6%,27% 1.8%,34% .4%,42% 1.5%,50% .5%,57% 1.7%,65% .7%,72% 2%,80% .5%,88% 1.7%,99% 1%,98.5% 9%,99.5% 17%,98.7% 26%,99.6% 35%,98.5% 44%,99.5% 53%,98.6% 63%,99.3% 72%,98.4% 82%,99% 91%,98% 99%,90% 98.2%,82% 99.4%,74% 98.1%,66% 99.3%,57% 98.2%,48% 99.5%,39% 98.2%,30% 99.4%,22% 98%,14% 99.2%,2% 98%,1.4% 89%,.5% 80%,1.4% 70%,.4% 60%,1.5% 50%,.5% 40%,1.6% 30%,.5% 20%);
  filter:drop-shadow(0 18px 12px rgba(54,39,23,.18)) drop-shadow(0 4px 3px rgba(54,39,23,.16));
  transition:transform .35s cubic-bezier(.22,1,.36,1),filter .35s ease;
}
.atelier-steps .step-card::before{
  content:"";position:absolute;z-index:-1;inset:7px 8px 8px;
  border:1px solid rgba(104,80,51,.08);pointer-events:none;clip-path:inherit;
}
.atelier-steps .step-card::after{display:none}
.atelier-steps .step-card:nth-of-type(1){transform:rotate(-2.2deg) translateY(9px)}
.atelier-steps .step-card:nth-of-type(2){transform:rotate(.7deg) translateY(-8px)}
.atelier-steps .step-card:nth-of-type(3){transform:rotate(2.4deg) translateY(12px)}
.atelier-steps .step-card:hover{z-index:4;transform:translateY(-10px) rotate(0);filter:drop-shadow(0 25px 17px rgba(54,39,23,.2)) drop-shadow(0 5px 3px rgba(54,39,23,.14))}
.atelier-steps .step-number{display:block;color:#4d443a;font:400 58px/.9 'Caveat',cursive;margin-bottom:16px}
.atelier-steps .step-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 0 20px;color:#4a4239}
.atelier-steps .step-icon svg{width:60px;height:60px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.atelier-steps .step-card p{margin:auto 0 0;color:#51483e;font:600 clamp(19px,1.55vw,24px)/1.43 'Caveat',cursive;font-style:normal;letter-spacing:.005em}
.atelier-steps .step-arrow{position:relative;z-index:3;display:block;width:116px;margin-inline:-8px;color:#51483e;transform:translateY(4px) rotate(-3deg)}
.atelier-steps .step-arrow:nth-of-type(2){transform:translateY(-7px) rotate(5deg)}
.atelier-steps .step-arrow svg{display:block;width:100%;height:auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:900px){
  #etapes{padding-bottom:92px}
  .steps-wrap.atelier-steps{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr) 64px minmax(0,1fr);gap:0;padding-inline:0}
  .atelier-steps .step-card{min-height:390px;padding:38px 20px 32px;transform:none!important}
  .atelier-steps .step-arrow{width:76px;margin-inline:-6px}
}
@media(max-width:600px){
  #etapes{padding:74px 24px 88px}
  #etapes .section-head{margin-bottom:18px}
  .steps-wrap.atelier-steps{
    display:flex;flex-direction:column;align-items:center;gap:0;width:100%;margin:0;padding:18px 0 10px;
    overflow:visible;scroll-snap-type:none;
  }
  .atelier-steps .step-card{flex:none;width:min(100%,350px);min-height:365px;padding:36px 28px 34px}
  .atelier-steps .step-card:nth-of-type(1){transform:rotate(-1.2deg)!important}
  .atelier-steps .step-card:nth-of-type(2){transform:rotate(.7deg)!important}
  .atelier-steps .step-card:nth-of-type(3){transform:rotate(-.5deg)!important}
  .atelier-steps .step-number{font-size:54px;margin-bottom:12px}
  .atelier-steps .step-icon{margin-bottom:17px}
  .atelier-steps .step-card p{font-size:23px;line-height:1.38}
  .atelier-steps .step-arrow,.atelier-steps .step-arrow:nth-of-type(2){
    width:62px;height:88px;margin:-8px 0 -2px;transform:rotate(90deg)!important;transform-origin:center;
  }
  .atelier-steps .step-arrow svg{width:78px;transform:translate(-9px,18px)}
}

/* Final cascade guard: keep the compact header above legacy responsive rules. */
.site-header .nav-wrap{
  position:relative;
  min-height:var(--lmb-header-height);
  height:var(--lmb-header-height);
  padding-block:0;
}
.site-header .logo{
  position:absolute;
  z-index:54;
  left:32px;
  top:50%;
  height:var(--lmb-header-logo-size);
  align-items:flex-start;
  transform:translateY(-25%);
}
.site-header .logo>a,.site-header .custom-logo-link{height:100%}
.site-header .custom-logo{
  width:auto;
  max-width:none;
  height:100%;
  max-height:none;
  object-fit:contain;
}
.site-header .primary-navigation{margin-left:calc(var(--lmb-header-logo-size) + 36px)}
@media(max-width:900px){
  .site-header .nav-wrap{grid-template-columns:36px 1fr auto}
  .site-header .logo{left:22px}
  .site-header .menu-toggle{width:34px;height:34px;margin-left:calc(var(--lmb-header-logo-size) + 16px)}
  .site-header .primary-navigation{margin-left:0}
}
@media(max-width:600px){
  .site-header .logo{left:14px}
  .site-header .menu-toggle{margin-left:calc(var(--lmb-header-logo-size) + 8px)}
  .site-header .custom-logo{max-width:none}
}

/* 7.0 final cascade guard */
.site-header{background:rgba(244,235,221,.9);border-top:1px solid rgba(75,58,39,.1);border-bottom:1px solid rgba(75,58,39,.2);box-shadow:0 7px 20px rgba(64,45,25,.08)}
.site-header .nav-wrap{width:min(100% - 44px,1240px);padding-inline:0}
.site-header .logo{left:0;transform:translateY(-22%)}
.site-header .primary-navigation{margin-left:calc(var(--lmb-header-logo-size) + clamp(118px,12vw,158px))}
.hero-text::before{content:none!important;display:none!important}
.collection-desk::before{content:"";background:transparent url('assets/stamps/lmb-postmark-round.png') center/contain no-repeat;border:0;box-shadow:none;border-radius:0;filter:sepia(.5);opacity:.32}
.quote-band::after{content:"";border:0;background:url('assets/stamps/lmb-postmark-cancel.png') center/contain no-repeat;width:150px;height:92px;border-radius:0;opacity:.22;filter:sepia(.65)}
@media(max-width:900px){
  .site-header .nav-wrap{width:calc(100% - 28px)}
  .site-header .logo{left:0}
  .site-header .menu-toggle{margin-left:calc(var(--lmb-header-logo-size) + 112px)}
  .site-header .primary-navigation{margin-left:0}
}
@media(max-width:600px){
  .header-brand-name{display:none}
  .site-header .logo{left:0}
  .site-header .menu-toggle{margin-left:calc(var(--lmb-header-logo-size) + 10px)}
}

/* 7.0.1 - Keep the original wax seal in the header. Postal stamps remain
   decorative assets everywhere else. */
.site-header .logo .custom-logo-link{
  display:block!important;
  width:var(--lmb-header-logo-size);
  height:var(--lmb-header-logo-size)!important;
}
.site-header .logo .custom-logo{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain;
  filter:drop-shadow(0 5px 5px rgba(72,52,27,.2));
}

/* ================================================================
   LMB 7.1 - Full-width burgundy header and refined postal details
   ================================================================ */
:root{
  --lmb-header-height:clamp(50px,4.4vw,62px);
  --lmb-header-logo-size:clamp(68px,6.2vw,92px);
}
.site-header{
  width:100%;
  margin:0;
  background:#4b1722;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.16);
  box-shadow:0 8px 24px rgba(48,14,21,.19);
  overflow:visible;
}
.site-header .nav-wrap{
  width:min(100% - 48px,1320px);
  max-width:1320px;
}
.site-header .logo{left:0;transform:translateY(-19%)}
.site-header .primary-navigation{margin-left:calc(var(--lmb-header-logo-size) + 38px)}
.site-header .primary-navigation a,
.site-header .nav-icons a{
  color:#fff8ef;
  opacity:.92;
}
.site-header .primary-navigation a:hover,
.site-header .nav-icons a:hover{color:#fff;opacity:1}
.site-header .menu-toggle{color:#fff8ef}
.site-header .logo>a{color:#fff8ef}

/* Remove every inherited paper/tape shape behind the hero eyebrow. */
.hero::before{content:none!important;display:none!important}
.hero-text::before{content:none!important;display:none!important}
.hero .eyebrow{position:relative;background:none!important;box-shadow:none!important}

/* The stamp now belongs to the large correspondence envelope, not its title. */
#collection .section-head>.collection-stamp-placeholder{display:none!important}
.collection-desk{isolation:isolate}
.collection-desk>.collection-stamp-placeholder{
  display:grid;
  position:absolute;
  z-index:4;
  top:24px;
  right:clamp(24px,4vw,64px);
  width:clamp(68px,7vw,92px);
  aspect-ratio:4/5;
  transform:rotate(6deg);
}

/* A featured torn correspondence card replaces the flat quote-band fill. */
.quote-band.ink-letter{
  width:min(calc(100% - 48px),1060px);
  min-height:300px;
  margin:clamp(72px,9vw,132px) auto;
  padding:clamp(68px,8vw,105px) clamp(30px,8vw,110px);
  display:grid;
  place-items:center;
  overflow:visible;
  color:#4b1722;
  background:
    linear-gradient(90deg,transparent 0 8%,rgba(125,99,63,.08) 8.2%,transparent 8.5%),
    #fffaf1;
  clip-path:polygon(.7% 2%,4% .5%,8% 1.6%,12% .3%,17% 1.4%,22% .2%,28% 1.2%,34% .4%,41% 1.5%,48% .3%,55% 1.4%,62% .2%,69% 1.2%,76% .4%,83% 1.5%,90% .3%,96% 1.3%,99.4% .4%,99% 98%,94% 99.5%,88% 98.4%,81% 99.7%,74% 98.6%,67% 99.8%,60% 98.5%,53% 99.6%,46% 98.4%,39% 99.7%,32% 98.6%,25% 99.8%,18% 98.5%,11% 99.6%,5% 98.4%,.5% 99%);
  filter:drop-shadow(0 22px 22px rgba(64,43,23,.16)) drop-shadow(0 4px 5px rgba(64,43,23,.13));
}
.quote-band.ink-letter::before{
  content:"“";
  position:absolute;
  left:clamp(26px,7vw,82px);
  top:24px;
  color:rgba(157,116,55,.25);
  font:400 clamp(100px,13vw,170px)/1 'Fraunces',serif;
}
.quote-band.ink-letter::after{
  content:"";
  position:absolute;
  right:clamp(20px,5vw,64px);
  bottom:25px;
  width:clamp(110px,15vw,175px);
  height:clamp(68px,9vw,105px);
  background:url('assets/stamps/lmb-postmark-cancel.png') center/contain no-repeat;
  opacity:.16;
  filter:sepia(.7);
  transform:rotate(-7deg);
}
.quote-letter-copy{position:relative;z-index:2;text-align:center}
.quote-band .eyebrow{color:#8b5c24}
.quote-band blockquote{color:#4b1722;font-size:clamp(30px,4vw,46px);line-height:1.23}

@media(max-width:900px){
  .site-header .nav-wrap{width:calc(100% - 28px)}
  .site-header .logo{left:0}
  .site-header .menu-toggle{margin-left:calc(var(--lmb-header-logo-size) + 14px)}
  .site-header .primary-navigation{margin-left:0}
  .collection-desk>.collection-stamp-placeholder{top:18px;right:22px}
}
@media(max-width:600px){
  :root{--lmb-header-height:48px;--lmb-header-logo-size:clamp(66px,19vw,78px)}
  .site-header .nav-wrap{width:calc(100% - 24px)}
  .site-header .logo{left:0;transform:translateY(-17%)}
  .site-header .menu-toggle{margin-left:calc(var(--lmb-header-logo-size) + 8px)}
  .collection-desk>.collection-stamp-placeholder{top:14px;right:16px;width:66px}
  .quote-band.ink-letter{width:calc(100% - 30px);min-height:270px;margin:72px auto;padding:72px 25px}
  .quote-band.ink-letter::before{left:14px;top:28px}
  .quote-band.ink-letter::after{right:12px;bottom:18px}
}

/* 7.14 final collection guard - loaded after every historical envelope rule. */
.home #collection .collection-desk{
  --airmail-border:16px;
  border:var(--airmail-border) solid transparent;
  border-radius:2px;
  clip-path:none;
  background-color:transparent;
  background-image:
    linear-gradient(180deg,rgba(255,250,237,.98),rgba(246,234,211,.98)),
    repeating-linear-gradient(135deg,#1f7892 0 28px,#f7edd7 28px 39px,#a92d35 39px 67px,#f7edd7 67px 78px);
  background-size:100% 100%,100% 100%;
  background-position:center,center;
  background-repeat:no-repeat,no-repeat;
  background-origin:padding-box,border-box;
  background-clip:padding-box,border-box;
}
@media(max-width:900px){.home #collection .collection-desk{--airmail-border:13px}}
@media(max-width:600px){
  .home #collection .collection-desk{
    --airmail-border:10px;
    clip-path:none;
    background-image:
      linear-gradient(180deg,rgba(255,250,237,.98),rgba(246,234,211,.98)),
      repeating-linear-gradient(135deg,#1f7892 0 19px,#f7edd7 19px 27px,#a92d35 27px 46px,#f7edd7 46px 54px);
    background-size:100% 100%,100% 100%;
  }
}

/* 7.15 final cascade guard - preserve the postal journey spacing after legacy step rules. */
#etapes{max-width:none;padding:112px max(28px,calc((100vw - 1380px)/2)) 122px;overflow:hidden}
@media(max-width:900px){#etapes{padding:88px 28px 96px}}
@media(max-width:600px){#etapes{padding:74px 18px 82px}}

/* 7.3 final cascade guard - intentionally last. */
.site-header::after{content:none!important;display:none!important;animation:none!important}
.hero-postmark{opacity:.15!important;visibility:visible!important;transform-origin:center}
.hero-postmark-two{opacity:.14!important}
.hero-postmark-three{opacity:.10!important}
.lmb-page-ready .hero-postmark-one{animation:lmb-stamp-visible-one .5s .38s cubic-bezier(.18,.85,.24,1) both}
.lmb-page-ready .hero-postmark-two{animation:lmb-stamp-visible-two .5s .65s cubic-bezier(.18,.85,.24,1) both}
.lmb-page-ready .hero-postmark-three{animation:lmb-stamp-visible-three .5s .9s cubic-bezier(.18,.85,.24,1) both}
.hero-envelope-visual{
  --hero-rx:0deg;--hero-ry:0deg;--hero-shift-x:0px;--hero-shift-y:0px;
  --hero-shadow-x:0px;--hero-shadow-y:22px;perspective:900px;
}
.hero-envelope-visual img{
  transform:translate3d(var(--hero-shift-x),var(--hero-shift-y),0) rotateX(var(--hero-rx)) rotateY(var(--hero-ry));
  transform-style:preserve-3d;
  transition:transform .2s cubic-bezier(.2,.7,.25,1),filter .2s ease-out;
  filter:drop-shadow(var(--hero-shadow-x) 8px 5px rgba(62,43,23,.18)) drop-shadow(var(--hero-shadow-x) var(--hero-shadow-y) 24px rgba(62,43,23,.28));
  will-change:transform,filter;
}
@media(max-width:600px){
  .hero-postmark-one{right:-9%;top:45%;width:205px}
  .hero-postmark-two{left:-7%;right:auto;bottom:0;width:145px}
  .hero-envelope-visual img{transition-duration:.28s}
}
@media(prefers-reduced-motion:reduce){
  .hero-postmark{animation:none!important}
  .hero-envelope-visual img{transform:none!important;transition:none!important}
}
