
:root{--ink:#151515;--muted:#777;--cream:#f7f4ef;--paper:#fffdf9;--line:#e7e2da;--gold:#9a7a42;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}
.announcement{position:relative;z-index:30;background:#111;color:#fff;text-align:center;padding:10px 20px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(255,253,249,.95);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.logo{font-family:var(--serif);font-size:29px;letter-spacing:.03em;text-align:center;line-height:.8}.logo span{font-family:var(--sans);font-size:8px;vertical-align:top}.logo small{display:block;font:500 7px var(--sans);letter-spacing:.3em;margin-top:10px}
nav{display:flex;gap:34px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}nav a:hover{opacity:.55}.header-actions{display:flex;gap:8px}.icon-btn{background:none;border:0;font-size:22px;width:38px;height:38px;position:relative}.cart-btn b{position:absolute;right:-1px;top:-1px;background:#171717;color:white;width:17px;height:17px;border-radius:50%;font:500 9px var(--sans);display:grid;place-items:center}.mobile-menu{display:none}
.hero{display:grid;grid-template-columns:44% 56%;min-height:680px;background:var(--cream)}.hero-copy{padding:9vw 7vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:10px;letter-spacing:.23em;text-transform:uppercase;color:#777;margin:0 0 18px}.hero h1{font:500 clamp(48px,6vw,82px)/1.03 var(--serif);margin:0 0 24px;letter-spacing:-.03em}.hero h1 em,.supplier-section h2 em{font-style:italic}.hero-copy>p:not(.eyebrow){font:16px/1.8 var(--serif);color:#5d5a55;max-width:440px;margin:0 0 34px}.button{border:1px solid var(--ink);padding:14px 24px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;transition:.2s}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#333}.button.light{background:white;color:#111;border-color:white}.button.full{width:100%}
.hero-image{position:relative;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-card{position:absolute;bottom:28px;left:28px;background:rgba(255,253,249,.94);padding:17px 20px;min-width:220px}.hero-card span{font-size:9px;letter-spacing:.15em;color:#888}.hero-card strong,.hero-card small{display:block}.hero-card strong{font:500 16px var(--serif);margin-top:5px}.hero-card small{font-size:9px;color:#777;margin-top:4px}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.trust-strip div{padding:26px 5vw;border-right:1px solid var(--line)}.trust-strip div:last-child{border:0}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{font:500 14px var(--serif)}.trust-strip span{font-size:10px;color:#777;margin-top:5px}
.editorial{padding:100px 5vw}.section-heading{text-align:center;max-width:650px;margin:0 auto 45px}.section-heading h2,.shop-top h2,.about-copy h2,.newsletter h2{font:500 42px/1.15 var(--serif);margin:0 0 14px}.section-heading>p:last-child{color:#777;font-size:13px}.collection-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:18px}.collection-card{position:relative;display:block;overflow:hidden;min-height:420px}.collection-card.large{min-height:560px}.collection-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.collection-card:hover img{transform:scale(1.025)}.collection-card:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55))}.collection-card span,.collection-card strong{position:absolute;z-index:1;left:25px;color:#fff}.collection-card span{bottom:65px;font-size:9px;letter-spacing:.18em}.collection-card strong{bottom:27px;font:500 22px var(--serif)}
.shop-section{padding:80px 5vw;background:#fff;border-top:1px solid var(--line)}.shop-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.shop-top h2{font-size:38px;margin:0}.filters{display:flex;gap:8px}.filter{border:0;background:none;padding:8px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#777}.filter.active{color:#111;border-bottom:1px solid #111}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product-card{min-width:0}.product-photo{height:420px;background:#f1efeb;position:relative;overflow:hidden;cursor:pointer}.product-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.product-card:hover .product-photo img{transform:scale(1.025)}.tag{position:absolute;top:13px;left:13px;background:white;padding:7px 10px;font-size:8px;text-transform:uppercase;letter-spacing:.13em}.quick-add{position:absolute;right:13px;bottom:13px;width:38px;height:38px;border-radius:50%;border:0;background:#fff;font-size:20px;opacity:0;transition:.2s}.product-card:hover .quick-add{opacity:1}.product-info{padding:14px 2px}.product-info>div{display:flex;justify-content:space-between;color:#888;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.heart{border:0;background:none;font-size:19px;color:#555}.product-info h3{font:500 17px/1.25 var(--serif);margin:9px 0 7px;cursor:pointer}.product-info>strong{font-size:12px;font-weight:500}
.about-section{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.about-image{min-height:650px}.about-image img{width:100%;height:100%;object-fit:cover}.about-copy{padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center}.about-copy h2{font-size:48px}.about-copy>p:not(.eyebrow){font:15px/1.8 var(--serif);color:#666;max-width:540px}.mini-points{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.mini-points b{display:block;font-size:9px;letter-spacing:.15em;color:#999;margin-bottom:10px}.mini-points span{font:500 13px var(--serif)}
.supplier-section{background:#111;color:#fff;padding:100px 7vw;text-align:center}.supplier-inner{max-width:1000px;margin:auto}.supplier-section .eyebrow{color:#aaa}.supplier-section h2{font:500 52px/1.08 var(--serif);margin:0 0 20px}.supplier-section>div>p:not(.eyebrow){max-width:650px;margin:0 auto 45px;color:#aaa;font:15px/1.8 var(--serif)}.supplier-features{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;text-align:left;margin-bottom:42px}.supplier-features div{border-top:1px solid #3a3a3a;padding-top:18px}.supplier-features span{font-size:9px;color:#999;letter-spacing:.12em}.supplier-features strong,.supplier-features small{display:block}.supplier-features strong{font:500 16px var(--serif);margin:12px 0 7px}.supplier-features small{font-size:10px;color:#999;line-height:1.6}
.newsletter{padding:100px 20px;text-align:center}.newsletter h2{font-size:48px}.newsletter>p:not(.eyebrow){color:#777;font-size:12px}.newsletter form{display:flex;max-width:470px;margin:28px auto 0;border-bottom:1px solid #222}.newsletter input{flex:1;border:0;background:none;padding:14px 2px;outline:0}.newsletter button{border:0;background:none;text-transform:uppercase;letter-spacing:.12em;font-size:9px}
footer{background:#f1eee8;padding:60px 5vw 25px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px;position:relative}.footer-brand p{max-width:260px;color:#777;font:13px/1.7 var(--serif)}footer h4{font-size:9px;text-transform:uppercase;letter-spacing:.18em;margin:0 0 18px}footer a{display:block;color:#666;font-size:11px;margin:10px 0}.copyright{grid-column:1/-1;border-top:1px solid #ddd;padding-top:20px;color:#999;font-size:9px}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:.25s;z-index:40}.overlay.show{opacity:1;pointer-events:auto}.side-panel{position:fixed;right:0;top:0;width:min(450px,100%);height:100vh;background:#fff;z-index:50;transform:translateX(100%);transition:.3s;display:flex;flex-direction:column}.side-panel.show{transform:none}.panel-head{display:flex;justify-content:space-between;padding:26px;border-bottom:1px solid var(--line)}.panel-head h3{font:500 25px var(--serif);margin:0}.panel-head button,.modal-close{border:0;background:none;font-size:28px}.cart-item{display:flex;gap:14px;padding:18px 25px;border-bottom:1px solid var(--line)}.cart-item img{width:80px;height:95px;object-fit:cover}.cart-item h4{font:500 15px var(--serif);margin:0 0 7px}.cart-item small{font-size:10px;color:#777}.qty{display:flex;align-items:center;gap:9px;margin-top:13px}.qty button{border:1px solid var(--line);background:white;width:25px;height:25px}.qty .remove{border:0;width:auto;font-size:9px;color:#888;margin-left:5px}.cart-bottom{margin-top:auto;padding:24px;border-top:1px solid var(--line)}.total{display:flex;justify-content:space-between;margin-bottom:18px}.total strong{font-weight:500}.cart-bottom small{display:block;text-align:center;color:#999;font-size:9px;margin-top:10px}.empty{text-align:center;padding:80px 30px;color:#777}.empty span{font:40px var(--serif);display:block}.empty p{font:20px var(--serif);color:#222;margin:14px 0 5px}
.modal-wrap{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:60;display:none;place-items:center;padding:20px}.modal-wrap.show{display:grid}.modal{background:#fff;position:relative;max-height:92vh;overflow:auto}.modal-close{position:absolute;right:18px;top:12px;z-index:2}.product-modal{width:min(1000px,100%)}.product-detail{display:grid;grid-template-columns:1fr 1fr}.detail-image{background:#eee;padding:25px}.detail-image>img{width:100%;height:540px;object-fit:cover}.thumbs{display:flex;gap:8px;margin-top:10px}.thumbs img{width:60px;height:65px;object-fit:cover;cursor:pointer}.detail-copy{padding:65px 50px}.detail-copy h2{font:500 38px/1.12 var(--serif);margin:0 0 16px}.detail-price{font-size:15px;margin-bottom:24px}.detail-copy>p:not(.eyebrow){font:14px/1.7 var(--serif);color:#666}.specs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0;padding:16px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.specs span,.specs b{display:block}.specs span{font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:#999;margin-bottom:5px}.specs b{font:500 13px var(--serif)}.demo-note{background:#f5f2ec;padding:12px;font-size:9px;color:#777;line-height:1.6;margin:15px 0 20px}.checkout-modal{width:min(560px,100%);padding:45px}.checkout-modal h2{font:500 36px var(--serif);margin:0 0 20px}.checkout-modal form{display:grid;gap:14px}.checkout-modal label{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.checkout-modal input,.checkout-modal select,.checkout-modal textarea{display:block;width:100%;border:1px solid #ddd;padding:12px;margin-top:7px;outline:0;background:#fff}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fake-card{border:1px solid #222;border-radius:10px;padding:18px;margin:3px 0 4px;background:linear-gradient(135deg,#f5f2ec,#fff)}.fake-card span{font-weight:600;font-size:12px}.fake-card div{font-size:16px;letter-spacing:.15em;margin:18px 0}.fake-card small{font-size:9px;color:#777}.muted{color:#777;font:13px/1.7 var(--serif)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#111;color:white;padding:12px 20px;font-size:10px;letter-spacing:.08em;opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){nav{display:none}.mobile-menu{display:block}.site-header{padding:0 18px}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 28px}.hero-image{height:620px}.trust-strip{grid-template-columns:1fr}.trust-strip div{border-right:0;border-bottom:1px solid var(--line)}.collection-grid{grid-template-columns:1fr 1fr}.collection-card.large{grid-column:1/-1}.product-grid{grid-template-columns:repeat(2,1fr)}.product-photo{height:420px}.about-section{grid-template-columns:1fr}.about-image{min-height:520px}.supplier-features{grid-template-columns:1fr}.product-detail{grid-template-columns:1fr}.detail-image>img{height:440px}.detail-copy{padding:35px 25px}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.announcement{font-size:8px}.hero-image{height:520px}.hero h1{font-size:52px}.editorial,.shop-section{padding:70px 20px}.collection-grid{grid-template-columns:1fr}.collection-card.large{grid-column:auto}.collection-card,.collection-card.large{min-height:470px}.shop-top{display:block}.filters{margin-top:20px}.product-grid{gap:15px}.product-photo{height:290px}.product-info h3{font-size:15px}.section-heading h2,.shop-top h2,.about-copy h2,.supplier-section h2{font-size:34px}.mini-points{grid-template-columns:1fr}.supplier-section{padding:75px 25px}.newsletter{padding:75px 20px}.newsletter form{display:block;border:0}.newsletter input{border-bottom:1px solid #222;width:100%;margin-bottom:10px}.newsletter button{border:1px solid #111;padding:12px 20px}.two{grid-template-columns:1fr}.checkout-modal{padding:40px 25px}.detail-image{padding:15px}.detail-image>img{height:390px}.logo{font-size:25px}.site-header{height:74px}}
#mainNav.open{display:flex;position:absolute;left:0;right:0;top:74px;background:#fff;padding:22px;flex-direction:column;gap:18px;border-bottom:1px solid var(--line)}


/* JFL brand identity */
.logo{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:3px;align-items:end;min-width:155px;text-decoration:none}
.logo-mark{grid-row:1;font-family:var(--serif);font-size:20px;font-style:italic;line-height:1;opacity:.72;margin-right:-1px}
.logo-name{grid-row:1;font-family:var(--serif);font-size:31px;letter-spacing:.12em;line-height:.9}
.logo sup{font:500 7px var(--sans);grid-row:1;align-self:start;margin-top:2px}
.logo small{grid-column:1/-1;margin-top:7px;letter-spacing:.32em;font-size:6.5px}

/* Why JFL */
.why-section{padding:105px 7vw 95px;background:#fff;border-top:1px solid var(--line)}
.why-heading{max-width:850px;margin:0 auto 55px;text-align:center}
.why-heading h2{font:500 clamp(38px,5vw,58px)/1.08 var(--serif);letter-spacing:-.025em;margin:0 0 20px}
.why-heading>p:not(.eyebrow){font:15px/1.8 var(--serif);color:#6f6b65;max-width:700px;margin:0 auto}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.why-card{background:#fff;padding:35px 38px;min-height:220px}
.why-card span{font-size:9px;color:#9b8b70;letter-spacing:.18em}
.why-card h3{font:500 23px/1.2 var(--serif);margin:15px 0 10px}
.why-card p{font-size:12px;line-height:1.8;color:#777;max-width:540px;margin:0}
.why-callout{margin-top:28px;background:var(--cream);padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.why-callout strong,.why-callout span{display:block}
.why-callout strong{font:500 20px var(--serif)}
.why-callout>div:first-child span{font-size:10px;color:#777;margin-top:5px}
.promise-items{display:flex;gap:22px;flex-wrap:wrap;justify-content:flex-end}
.promise-items span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#444}
.fine-print{text-align:right;color:#aaa;font-size:8px;margin:9px 0 0}

/* Supplier page */
.supplier-lead{font-size:16px!important;line-height:1.85!important;color:#b8b8b8!important;max-width:760px!important}
.supplier-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #333;border-bottom:1px solid #333;margin:45px 0;text-align:left}
.supplier-stats div{padding:23px 25px;border-right:1px solid #333}
.supplier-stats div:last-child{border-right:0}
.supplier-stats strong{font:500 26px var(--serif);color:#eee;display:block}
.supplier-stats span{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.1em;display:block;margin-top:5px}
.supplier-process{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#333;text-align:left;margin:48px 0 38px}
.supplier-process div{background:#111;padding:23px 20px;min-height:160px}
.supplier-process b{font-size:9px;color:#888}
.supplier-process strong{font:500 16px var(--serif);display:block;margin:17px 0 8px}
.supplier-process span{font-size:10px;line-height:1.6;color:#888;display:block}
.supplier-banner{padding:75px 7vw;background:var(--cream);display:flex;justify-content:space-between;align-items:center;gap:35px}
.supplier-banner h2{font:500 40px/1.12 var(--serif);margin:0}
.supplier-banner h2 em{font-style:italic}

/* Slightly more premium product presentation */
.product-photo{background:#f3f0eb}
.product-info h3{letter-spacing:.005em}

@media(max-width:900px){
  .why-grid{grid-template-columns:1fr}
  .why-callout{display:block}
  .promise-items{justify-content:flex-start;margin-top:18px}
  .supplier-stats{grid-template-columns:1fr}
  .supplier-stats div{border-right:0;border-bottom:1px solid #333}
  .supplier-stats div:last-child{border-bottom:0}
  .supplier-process{grid-template-columns:1fr 1fr}
  .supplier-banner{display:block}
  .supplier-banner .button{margin-top:25px}
}
@media(max-width:600px){
  .logo{min-width:125px}
  .logo-name{font-size:26px}
  .logo-mark{font-size:17px}
  .why-section{padding:75px 20px}
  .why-card{padding:28px 24px}
  .why-callout{padding:22px}
  .promise-items{gap:12px}
  .supplier-process{grid-template-columns:1fr}
  .supplier-banner{padding:60px 25px}
  .supplier-banner h2{font-size:32px}
}

.filters{flex-wrap:wrap}
.collection-grid{grid-template-columns:repeat(3,1fr)}
.collection-card:nth-child(4),.collection-card:nth-child(5){margin-top:0}
.collection-card img{object-fit:cover}
.welcome-wrap{z-index:80}
.welcome-modal{width:min(900px,92vw);padding:0;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.welcome-image{min-height:520px;background:#f5f2ee}
.welcome-image img{width:100%;height:100%;object-fit:cover;display:block}
.welcome-copy{padding:65px 55px;display:flex;flex-direction:column;justify-content:center}
.welcome-copy h2{font:500 45px/1.05 var(--serif);margin:0 0 20px;letter-spacing:-.02em}
.welcome-copy h2 em{font-style:italic}
.welcome-copy p:not(.eyebrow){font:15px/1.75 var(--serif);color:#777;margin:0 0 25px}
.welcome-copy form{display:flex;flex-direction:column;gap:10px}
.welcome-copy input{width:100%;border:1px solid #d9d5cf;padding:15px 14px;font:12px var(--sans);outline:none}
.welcome-copy small{font-size:8px;color:#aaa;line-height:1.6;margin-top:15px}
@media(max-width:700px){
  .welcome-modal{grid-template-columns:1fr}
  .welcome-image{min-height:260px;max-height:290px}
  .welcome-copy{padding:38px 28px}
  .welcome-copy h2{font-size:36px}
  .collection-grid{grid-template-columns:1fr 1fr}
}

body.locked{overflow:hidden}
.promo-total{color:#7a684f}.promo-total strong{color:#7a684f}


/* JFL signature lioness + slogan */
.site-header .logo{display:flex;align-items:center;gap:10px;min-width:190px;line-height:1;text-align:left}
.logo-lioness{width:58px;height:38px;object-fit:contain;object-position:center;display:block}
.logo-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.logo-wordmark .logo-name{font-family:var(--serif);font-size:28px;letter-spacing:.14em;line-height:.8}
.logo-wordmark small{font:500 6px var(--sans);letter-spacing:.27em;white-space:nowrap;margin:0}
.brand-slogan{font:500 21px/1.2 var(--serif)!important;color:#8d7147!important;font-style:italic;letter-spacing:.01em;margin:-12px 0 27px!important}
.hero-image{position:relative}
.lioness-signature{position:absolute;left:28px;bottom:28px;background:rgba(255,253,249,.94);border:1px solid rgba(154,122,66,.22);padding:10px 16px 10px 10px;display:flex;align-items:center;gap:11px;box-shadow:0 8px 28px rgba(0,0,0,.08)}
.lioness-signature img{width:66px;height:36px;object-fit:contain}
.lioness-signature div{display:flex;flex-direction:column;gap:4px}
.lioness-signature span{font:500 7px var(--sans);letter-spacing:.18em;color:#8c8a86}
.lioness-signature strong{font:500 14px var(--serif);font-style:italic;color:#7d633e}
.footer-lioness-logo{display:block;width:180px;margin-bottom:18px}
.footer-lioness-logo img{width:100%;height:auto;display:block}
@media(max-width:900px){
  .site-header .logo{min-width:125px}
  .logo-lioness{width:48px;height:32px}
  .logo-wordmark .logo-name{font-size:25px}
  .logo-wordmark small{font-size:5.5px;letter-spacing:.2em}
  .lioness-signature{left:18px;bottom:18px}
}
@media(max-width:600px){
  .site-header .logo{gap:7px}
  .logo-lioness{width:42px;height:29px}
  .logo-wordmark .logo-name{font-size:23px}
  .logo-wordmark small{font-size:5px;letter-spacing:.16em}
  .brand-slogan{font-size:18px!important;margin:-8px 0 23px!important}
  .lioness-signature{left:12px;bottom:12px;padding:7px 11px 7px 7px}
  .lioness-signature img{width:50px;height:29px}
  .lioness-signature strong{font-size:12px}
  .lioness-signature span{font-size:6px}
  .footer-lioness-logo{width:155px}
}

/* JFL Membership */
.membership-section{background:#f7f4ef;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:105px 7vw}
.membership-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:center}
.membership-art{min-height:470px;background:#fff;display:grid;place-items:center;padding:45px;position:relative}
.membership-art:before{content:"";position:absolute;inset:22px;border:1px solid #e5dfd5}
.membership-art img{width:min(330px,85%);max-height:390px;object-fit:contain;position:relative}
.membership-copy h2{font:500 clamp(42px,5vw,64px)/1.02 var(--serif);letter-spacing:-.025em;margin:0 0 22px}
.membership-copy h2 em{font-style:italic}
.membership-lead{font:15px/1.8 var(--serif);color:#666;max-width:700px;margin:0 0 32px}
.membership-lead strong{color:#111}
.member-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd7cd;border:1px solid #ddd7cd;margin-bottom:28px}
.member-perks div{background:#fff;padding:22px 20px;min-height:155px}
.member-perks span{font-size:9px;color:#9b8b70;letter-spacing:.18em}
.member-perks strong{display:block;font:500 16px var(--serif);margin:12px 0 8px}
.member-perks small{display:block;font-size:10px;line-height:1.65;color:#777}
.membership-value{display:flex;align-items:center;gap:20px;border-top:1px solid #ded8ce;border-bottom:1px solid #ded8ce;padding:18px 0;margin-bottom:25px}
.membership-value strong{font:500 30px var(--serif);display:block}
.membership-value span{font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:#888}
.membership-value p{font-size:10px;line-height:1.6;color:#777;margin:0;max-width:420px}
.membership-note{display:block;font-size:8px;color:#aaa;margin-top:13px;line-height:1.6}
@media(max-width:900px){.membership-section{padding:80px 25px}.membership-inner{grid-template-columns:1fr;gap:45px}.membership-art{min-height:360px}.member-perks{grid-template-columns:1fr}}
@media(max-width:600px){.membership-section{padding:70px 20px}.membership-art{min-height:300px}.membership-copy h2{font-size:42px}.membership-value{align-items:flex-start;flex-direction:column;gap:8px}}


/* Final JFL palette + readability refinements */
.supplier-section{background:#f3eee5;color:var(--ink);padding:100px 7vw;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.supplier-section .eyebrow{color:#8d7147}
.supplier-section h2{color:#171717}
.supplier-section>div>p:not(.eyebrow){color:#4f4b45!important}
.supplier-stats{border-top:1px solid #cfc5b6;border-bottom:1px solid #cfc5b6}
.supplier-stats div{border-right:1px solid #cfc5b6}
.supplier-stats strong{color:#171717}
.supplier-stats span{color:#5f5a52}
.supplier-features div{border-top:1px solid #d5ccbf}
.supplier-features span{color:#9a7a42}
.supplier-features strong{color:#171717}
.supplier-features small{color:#5f5a52}
.supplier-process{background:#d7cec0}
.supplier-process div{background:#f7f4ef}
.supplier-process b{color:#9a7a42}
.supplier-process span{color:#5f5a52}
.supplier-section .button.light{background:#171717;color:#fff;border-color:#171717}
.shop-lead{font:14px/1.7 var(--serif);color:#666;max-width:620px;margin:8px 0 0}
.hero-image>img{object-position:center;object-fit:cover}


/* Full-background JFL hero */
.hero-fullscreen{
  min-height:calc(100vh - 42px);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:0 7vw;
  background-image:url('images/jfl-lioness-hero-clean.jpg');
  background-size:cover;
  background-position:center center;
  overflow:hidden;
}
.hero-fullscreen .hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.56) 100%);
}
.hero-fullscreen .hero-copy{
  position:relative;
  z-index:2;
  width:min(510px,42vw);
  padding:45px 0 45px 35px;
  color:#fff;
}
.hero-fullscreen .hero-copy .eyebrow{color:rgba(255,255,255,.78)}
.hero-fullscreen .hero-copy h1{font-size:clamp(58px,6.3vw,94px);line-height:.92;color:#fff;margin-bottom:20px;letter-spacing:-.035em}
.hero-fullscreen .hero-copy h1 em{font-style:italic}
.hero-fullscreen .hero-copy>p:not(.eyebrow):not(.brand-slogan){font:15px/1.8 var(--serif);color:rgba(255,255,255,.88);max-width:500px;margin-bottom:30px}
.hero-fullscreen .brand-slogan{color:#e7d3b2!important;margin:-5px 0 25px!important}
.hero-fullscreen .hero-button{border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(4px)}
.hero-fullscreen .hero-button:hover{background:#fff;color:#171717}
@media(max-width:900px){
  .hero-fullscreen{min-height:720px;padding:0 25px;align-items:flex-end;background-position:58% center}
  .hero-fullscreen .hero-copy{width:100%;padding:0 0 65px;max-width:620px}
  .hero-fullscreen .hero-copy h1{font-size:64px}
  .hero-fullscreen .hero-overlay{background:linear-gradient(0deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.20) 62%,rgba(0,0,0,.05) 100%)}
}
@media(max-width:600px){
  .hero-fullscreen{min-height:680px;background-position:60% center}
  .hero-fullscreen .hero-copy{padding-bottom:42px}
  .hero-fullscreen .hero-copy h1{font-size:54px}
  .hero-fullscreen .hero-copy>p:not(.eyebrow):not(.brand-slogan){font-size:14px}
}


/* Exact full-bleed JFL lioness campaign hero */
.announcement{display:none!important}
.hero-functional-header{position:absolute;inset:0;z-index:50;pointer-events:none}
.hero-functional-header button{position:absolute;border:0;background:transparent;opacity:0;pointer-events:auto;cursor:pointer}
.menu-control{right:2.5%;top:10.2%;width:5%;height:7%}
.search-control{right:12.5%;top:9.4%;width:3.2%;height:6%}
.cart-control{right:7.6%;top:9.4%;width:3.2%;height:6%}
.hero-functional-header nav{display:none}
.hero-functional-header nav.open{position:fixed;display:flex;right:28px;top:92px;z-index:100;flex-direction:column;gap:0;width:min(320px,calc(100vw - 56px));background:rgba(255,253,249,.98);box-shadow:0 20px 60px rgba(0,0,0,.22);border:1px solid rgba(21,21,21,.12);padding:10px;pointer-events:auto}
.hero-functional-header nav.open a{display:block;padding:15px 16px;color:#151515;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.hero-functional-header nav.open a:hover{background:#f2eee7}
.hero-fullscreen{display:block;position:relative;width:100%;height:100svh;min-height:720px;padding:0;background-image:url('images/jfl-hero-lioness.png');background-size:cover;background-position:center center;background-repeat:no-repeat;overflow:hidden}
.hero-fullscreen .hero-overlay,.hero-fullscreen .hero-copy{display:none!important}
.hero-hotspot{position:absolute;z-index:60;background:transparent;border:0;cursor:pointer;display:block}
.hero-nav-shop{left:3.8%;top:8.2%;width:7.5%;height:9%}
.hero-nav-collections{left:10.8%;top:8.2%;width:12%;height:9%}
.hero-membership-spot{left:20.2%;top:8.2%;width:13%;height:9%}
.hero-story-spot{left:65%;top:8%;width:10.5%;height:9%}
.hero-suppliers-spot{left:75%;top:8%;width:12%;height:9%}
.hero-shop-cta{left:51.5%;top:63.5%;width:22%;height:7%}
.hero-menu-spot{right:1.7%;top:8.8%;width:6.5%;height:9%}
.hero-search-spot{right:11.3%;top:8.4%;width:5%;height:9%}
.hero-cart-spot{right:6.2%;top:8.4%;width:5%;height:9%}
@media(max-width:900px){.hero-fullscreen{min-height:640px;height:100svh;background-position:center center}.menu-control{right:1.5%;top:8.5%;width:8%;height:9%}.search-control{right:11%;top:8%;width:7%;height:9%}.cart-control{right:5%;top:8%;width:7%;height:9%}.hero-nav-shop{left:2%;top:8%;width:12%;height:10%}.hero-nav-collections{left:13%;top:8%;width:18%;height:10%}.hero-membership-spot{left:30%;top:8%;width:20%;height:10%}.hero-story-spot{left:64%;top:8%;width:16%;height:10%}.hero-suppliers-spot{left:78%;top:8%;width:18%;height:10%}.hero-menu-spot{right:1%;top:8%;width:9%;height:10%}.hero-search-spot{right:10%;top:8%;width:9%;height:10%}.hero-cart-spot{right:4%;top:8%;width:9%;height:10%}.hero-shop-cta{left:47%;top:63%;width:34%;height:10%}.hero-functional-header nav.open{top:80px;right:16px;width:min(300px,calc(100vw - 32px))}}
@media(max-width:600px){.hero-fullscreen{min-height:0;height:auto;aspect-ratio:1671 / 941;background-image:url('images/jfl-hero-lioness.png');background-size:100% 100%;background-position:center center;background-repeat:no-repeat}}

/* JFL editorial lifestyle stories */
.lifestyle-stories{padding:105px 5vw;background:#f7f3ec;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1280px;margin:0 auto}
.story-card{background:#fff;border:1px solid #e2ddd4;overflow:hidden}
.story-card>img{width:100%;height:520px;display:block;object-fit:cover;object-position:center;transition:transform .6s ease}
.story-card:hover>img{transform:scale(1.025)}
.story-copy{padding:25px 25px 28px}
.story-copy>span{font-size:9px;letter-spacing:.18em;color:#9a7a42}
.story-copy h3{font:500 24px/1.15 var(--serif);margin:10px 0 10px;color:#171717}
.story-copy p{font-size:12px;line-height:1.7;color:#666;margin:0 0 18px}
.story-copy a{text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:#171717;text-decoration:none}
@media(max-width:900px){.story-grid{grid-template-columns:1fr}.story-card>img{height:min(620px,78vw)}}
@media(max-width:600px){.lifestyle-stories{padding:75px 20px}.story-copy{padding:21px 20px 24px}.story-copy h3{font-size:22px}}

/* Trust-forward JFL messaging */
.why-card h3{letter-spacing:-.01em}.why-card p{color:#5f5b55}.why-callout{border:1px solid #ded7cc}.promise-items span{color:#514c45}

/* Size guide + product fit helpers */
.size-guide-link{margin-top:14px;background:none;border:0;padding:0;font:500 10px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:#7f6847;cursor:pointer}
.size-guide-link span{margin-left:7px}
.size-guide-modal{width:min(820px,94vw);padding:52px}
.size-guide-modal h2{font:500 44px/1.05 var(--serif);margin:0 0 15px}
.size-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ded7cc;border:1px solid #ded7cc;margin:28px 0}
.size-guide-grid>div{background:#fff;padding:24px;min-height:150px}
.size-guide-grid span{display:block;font-size:8px;letter-spacing:.16em;color:#9a7a42;margin-bottom:10px}
.size-guide-grid strong{display:block;font:500 23px var(--serif);margin-bottom:8px}
.size-guide-grid small{display:block;font-size:10px;line-height:1.7;color:#666}
.size-note{font:12px/1.7 var(--serif);color:#666;margin:0 0 20px}
.fit-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;margin:24px 0 18px}
.fit-row label{font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.fit-row select{display:block;width:100%;margin-top:8px;border:1px solid #ddd;padding:12px;background:#fff;font:12px var(--sans);outline:none}
.text-link{background:none;border:0;padding:0 0 10px;font:500 9px var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#7f6847;cursor:pointer;white-space:nowrap}
.trust-mini{display:flex;flex-wrap:wrap;gap:8px 18px;border-top:1px solid var(--line);padding:16px 0;font-size:9px;letter-spacing:.04em;color:#5b554c}
.footer-email{display:inline-block;margin-top:14px;color:#3f392f;text-decoration:none;font-size:11px;letter-spacing:.03em}
.footer-email:hover{color:#8a6b3f}
@media(max-width:700px){
  .size-guide-modal{padding:38px 25px}
  .size-guide-modal h2{font-size:36px}
  .size-guide-grid{grid-template-columns:1fr}
  .fit-row{grid-template-columns:1fr}
  .text-link{justify-self:start}
}

/* Mobile-only responsive hero: desktop artwork remains completely unchanged. */
.mobile-hero-content{display:none}

@media(max-width:600px){
  .hero-fullscreen{
    height:100svh;
    min-height:0;
    aspect-ratio:auto;
    background-image:url('images/jfl-hero-lioness-mobile-portrait.jpg');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
  }
  .hero-fullscreen>.hero-hotspot{display:none}
  .hero-fullscreen::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:150px;
    background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.14) 72%,rgba(0,0,0,0));
    z-index:1;
    pointer-events:none;
  }
  .mobile-hero-content{
    position:absolute;
    inset:0;
    display:block;
    z-index:65;
    color:#fff;
  }
  .mobile-hero-topbar{
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:112px;
    padding:20px 22px 12px;
    display:grid;
    grid-template-columns:42px 1fr 88px;
    align-items:start;
    background:linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,0));
  }
  .mobile-hero-logo{
    width:145px;
    height:auto;
    justify-self:center;
    margin-top:1px;
    filter:brightness(0) invert(1) sepia(.18) saturate(.7) opacity(.96);
  }
  .mobile-actions{display:flex;justify-content:flex-end;gap:16px;padding-top:8px}
  .mobile-hero-nav{
    position:absolute;
    top:106px;
    left:10px;
    right:10px;
    min-height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(8px,2.4vw,14px);
    padding:7px 5px;
    white-space:nowrap;
    overflow:hidden;
    border-top:1px solid rgba(245,234,217,.20);
    border-bottom:1px solid rgba(245,234,217,.20);
    background:rgba(0,0,0,.28);
    backdrop-filter:blur(2px);
  }
  .mobile-hero-nav a{
    flex:0 0 auto;
    color:#f5ead9;
    text-decoration:none;
    text-transform:uppercase;
    font-size:clamp(7px,2.05vw,9px);
    line-height:1;
    letter-spacing:.10em;
    text-shadow:0 1px 8px rgba(0,0,0,.7);
  }
  .mobile-icon{position:relative;width:28px;height:28px;padding:0;border:0;background:transparent;color:#f5ead9}
  .menu-lines,.menu-lines:before,.menu-lines:after{content:"";position:absolute;left:2px;top:13px;width:23px;height:1px;background:#f5ead9}
  .menu-lines:before{left:0;top:-7px}
  .menu-lines:after{left:0;top:7px}
  .search-icon:before{content:"";position:absolute;width:15px;height:15px;border:1.5px solid #f5ead9;border-radius:50%;left:2px;top:2px}
  .search-icon:after{content:"";position:absolute;width:8px;height:1.5px;background:#f5ead9;transform:rotate(45deg);left:16px;top:18px;transform-origin:left center}
  .bag-icon:before{content:"";position:absolute;left:4px;top:8px;width:18px;height:15px;border:1.5px solid #f5ead9;border-radius:1px}
  .bag-icon:after{content:"";position:absolute;left:9px;top:3px;width:8px;height:8px;border:1.5px solid #f5ead9;border-bottom:0;border-radius:8px 8px 0 0}
  .mobile-hero-copy{
    position:absolute;
    left:28px;
    right:28px;
    bottom:48px;
    text-align:center;
    text-shadow:0 2px 16px rgba(0,0,0,.55);
  }
  .mobile-hero-copy h1{
    margin:0;
    font:400 clamp(39px,11vw,56px)/.93 var(--serif);
    letter-spacing:-.035em;
    color:#fff;
  }
  .mobile-hero-copy h1 em{font-style:italic}
  .mobile-hero-rule{width:46px;height:1px;background:rgba(255,255,255,.78);margin:17px auto 14px}
  .mobile-hero-copy p{
    margin:0 auto 22px;
    color:rgba(255,255,255,.94);
    font-size:9px;
    line-height:1.65;
    letter-spacing:.18em;
  }
  .mobile-hero-button{
    display:inline-flex;
    align-items:center;
    gap:11px;
    padding:13px 20px;
    border:1px solid rgba(255,255,255,.78);
    color:#fff;
    background:rgba(0,0,0,.10);
    font-size:8px;
    letter-spacing:.17em;
    text-transform:uppercase;
    text-shadow:none;
  }
  .mobile-hero-button span{font-size:13px;line-height:1}
}
