/*
Theme Name: JB Atelier Lite
Theme URI: https://jbbranddesigns.com/
Author: JB Boutique Design
Description: A lightweight editorial fashion WooCommerce theme for JB Boutique. Inspired by the airy structure of the provided Flaxoc reference while using exclusively this store's own WordPress product images. No page builder or third-party fonts/scripts.
Version: 1.0.6
Requires at least: 6.1
Requires PHP: 7.4
Text Domain: jb-atelier-lite
License: GPL-2.0-or-later
*/
:root{--jbal-ink:#191918;--jbal-deep:#111213;--jbal-text:#3d3b39;--jbal-muted:#77746f;--jbal-line:#e6e4df;--jbal-bg:#fff;--jbal-cream:#f2f0eb;--jbal-warm:#e9e4dd;--jbal-accent:#b62534;--jbal-serif:Georgia,'Times New Roman',serif;--jbal-sans:Inter,'Segoe UI',Arial,sans-serif;--jbal-max:1320px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--jbal-ink);background:var(--jbal-bg);font-family:var(--jbal-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}a:hover{color:var(--jbal-accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--jbal-accent);outline-offset:3px}
img{max-width:100%;height:auto;vertical-align:middle}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,h4,h5,h6{line-height:1.15;margin:0;font-weight:500}p{margin:0 0 16px}ul,ol{margin-top:0}.screen-reader-text:not(:focus){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{z-index:99999;top:12px;left:12px;background:#fff;padding:12px}.jbal-wrap,.jbal-page-container{width:min(var(--jbal-max),calc(100% - 76px));margin-left:auto;margin-right:auto}
/* top bar and custom navigation */
.jbal-announcement{background:#171717;color:#f7f7f6;min-height:36px;display:flex;align-items:center;font-size:10px;letter-spacing:.11em;text-transform:uppercase}.jbal-announcement-inner{display:flex;align-items:center;justify-content:space-between;gap:14px}.jbal-announcement p{margin:0}.jbal-announcement span{color:#e1b0ac;padding:0 8px}.jbal-announcement a{opacity:.85}.jbal-announcement a:hover{color:#fff;opacity:1}
.jbal-header{z-index:80;position:relative;background:#fff;border-bottom:1px solid #efeeea}.jbal-header-main{min-height:84px;display:grid;grid-template-columns:200px 1fr 150px;align-items:center;gap:15px}.jbal-brand a{display:inline-flex;flex-direction:column;line-height:1;align-items:flex-start;justify-content:center;min-height:54px;color:#151515}.jbal-brand-main{font-family:var(--jbal-serif);font-size:45px;font-weight:700;letter-spacing:-.10em;line-height:.84;padding-right:7px}.jbal-brand-dot{color:var(--jbal-accent)}.jbal-brand-sub{font-size:9px;letter-spacing:.5em;font-weight:800;margin-top:8px;margin-left:1px}.jbal-logo-image{display:block;max-width:175px;max-height:58px;object-fit:contain;width:auto;height:auto}.jbal-primary-nav{display:flex;justify-content:center;align-items:center;height:100%}.jbal-menu{display:flex;gap:28px;list-style:none;padding:0;margin:0;align-items:center;height:100%}.jbal-menu>li{position:relative;display:flex;align-items:center;height:100%}.jbal-menu>li>a{display:inline-flex;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;white-space:nowrap;padding:12px 0;transition:color .2s}.jbal-menu>li.current-menu-item>a{color:var(--jbal-accent)}.jbal-menu .sub-menu{position:absolute;z-index:30;top:calc(100% - 4px);left:-17px;min-width:188px;margin:0;padding:12px 0;list-style:none;border:1px solid var(--jbal-line);box-shadow:0 12px 33px #00000015;background:#fff;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s}.jbal-menu li:hover>.sub-menu,.jbal-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.jbal-menu .sub-menu a{display:block;padding:9px 18px;font-size:12px;letter-spacing:.035em;white-space:nowrap}.jbal-menu .sub-menu a:hover{background:#f8f6f2}.jbal-header-tools{display:flex;align-items:center;justify-content:flex-end;gap:19px}.jbal-tool-button,.jbal-icon-button{border:0;background:transparent;color:#222;display:inline-flex;align-items:center;justify-content:center;padding:4px;position:relative}.jbal-tool-button svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linejoin:round;stroke-linecap:round}.jbal-cart-count{position:absolute;top:-5px;right:-9px;border-radius:50%;background:var(--jbal-accent);color:#fff;font-size:9px;line-height:16px;text-align:center;min-width:16px;padding:0 3px}.jbal-search-panel{border-top:1px solid var(--jbal-line);padding:18px max(38px,calc((100vw - var(--jbal-max))/2));box-shadow:0 14px 20px #0000000d}.jbal-search-panel[hidden]{display:none}.jbal-search-panel form{display:flex;align-items:center;gap:16px}.jbal-search-panel label{font-weight:600;font-size:12px;white-space:nowrap}.jbal-search-panel input[type=search]{width:100%;min-width:80px;border:0;border-bottom:1px solid #aaa;background:transparent;padding:12px 8px;outline:none}.jbal-search-panel button{background:#151515;color:#fff;border:0;padding:13px 21px;font-weight:600;white-space:nowrap;font-size:12px}.jbal-menu-toggle{display:none}
/* hero */
.jbal-hero{background:var(--jbal-cream);overflow:hidden}.jbal-hero-layout{min-height:615px;display:grid;grid-template-columns:46% 54%;align-items:stretch}.jbal-hero-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:60px 36px 52px 0;z-index:2}.jbal-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:750;color:#343331;display:inline-block}.jbal-red-line{display:inline-block;width:27px;height:2px;vertical-align:middle;background:var(--jbal-accent);margin-right:9px}.jbal-hero h1{margin:24px 0 23px;font-family:var(--jbal-serif);font-weight:400;font-size:clamp(57px,5.4vw,88px);letter-spacing:-.058em;line-height:1.025}.jbal-hero h1 em,.jbal-section-heading h2 em,.jbal-editorial h2 em,.jbal-prefooter h2 em,.jbal-not-found h1 em{font-family:var(--jbal-serif);font-weight:400;color:var(--jbal-accent)}.jbal-hero-copy>p{max-width:405px;color:#655f58;font-size:14px;line-height:1.85}.jbal-hero-actions{display:flex;align-items:center;gap:24px;margin-top:22px;flex-wrap:wrap}.jbal-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 23px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;min-height:54px;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}.jbal-button:hover{transform:translateY(-2px)}.jbal-button-dark{background:#191919;color:#fff}.jbal-button-dark:hover{background:var(--jbal-accent);color:#fff}.jbal-button-light{background:#fff;color:#1b1b1b}.jbal-button-light:hover{background:var(--jbal-accent);color:#fff}.jbal-subtle-link,.jbal-text-link{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #2e2a26;padding-bottom:7px;white-space:nowrap}.jbal-subtle-link span,.jbal-text-link span{padding-left:12px}.jbal-hero-index{display:flex;align-items:center;gap:18px;position:absolute;bottom:34px;left:0;color:#5a5753;font-size:9px;font-weight:700;letter-spacing:.09em}.jbal-hero-index>span:first-child{font-size:13px;color:var(--jbal-ink)}.jbal-hero-index small{color:#9b9690}.jbal-hero-rule{width:61px;height:1px;background:#aca8a0}.jbal-hero-visual{position:relative;display:grid;align-items:stretch;margin:30px 0 30px 20px;min-height:555px}.jbal-hero-photo{position:absolute;inset:0 0 0 0;overflow:hidden;background:#e2d9d0}.jbal-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.85)}.jbal-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1515154a,transparent 35%);pointer-events:none}.jbal-hero-stamp{position:absolute;right:-14px;top:27px;background:#fff;border:6px solid var(--jbal-cream);border-radius:50%;width:124px;height:124px;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 6px 35px #0000000d;transform:rotate(9deg);line-height:1}.jbal-hero-stamp span{font:700 49px var(--jbal-serif);letter-spacing:-.14em;padding-right:8px}.jbal-hero-stamp small{font-size:8px;letter-spacing:.28em;text-align:center;line-height:1.35}.jbal-photo-label{position:absolute;bottom:25px;left:29px;right:29px;display:flex;justify-content:space-between;align-items:flex-end;color:#fff;font-size:10px;letter-spacing:.13em}.jbal-photo-label strong{text-align:right;font-size:13px;line-height:1.4;letter-spacing:.12em}.jbal-image-fallback,.jbal-product-placeholder{display:block;width:100%;height:100%;min-height:150px;background:linear-gradient(135deg,#dad1c7,#eee9e2 45%,#cbbeb0)}
/* four quick messages */
.jbal-service-bar{background:#fff;border-bottom:1px solid var(--jbal-line)}.jbal-service-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0}.jbal-service-grid>div{display:flex;gap:14px;align-items:center;padding-left:25px;min-width:0;border-right:1px solid var(--jbal-line)}.jbal-service-grid>div:first-child{padding-left:0}.jbal-service-grid>div:last-child{border-right:0}.jbal-service-grid strong,.jbal-service-grid span{display:block}.jbal-service-grid strong{font-size:12px;line-height:1.5}.jbal-service-grid div div span{font-size:11px;color:var(--jbal-muted)}.jbal-service-icon{font-family:var(--jbal-serif);font-style:italic;color:var(--jbal-accent);font-size:25px;line-height:1;font-weight:500}
/* section headings and categories */
.jbal-section{padding:90px 0}.jbal-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:35px}.jbal-section-heading h2{font-family:var(--jbal-serif);font-size:clamp(34px,3.5vw,54px);letter-spacing:-.045em;line-height:1.13;margin:10px 0 0}.jbal-section-heading p{font-size:13px;color:var(--jbal-muted);max-width:530px;margin:12px 0 0}.jbal-text-link{flex:none;margin-bottom:7px}.jbal-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.jbal-category-card{display:block;min-width:0}.jbal-category-image{height:298px;position:relative;background:#efede9;overflow:hidden}.jbal-category-image img{display:block;height:100%;width:100%;object-fit:cover;object-position:center 29%;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.jbal-category-card:hover .jbal-category-image img{transform:scale(1.045)}.jbal-category-arrow{position:absolute;bottom:12px;right:12px;width:36px;height:36px;display:grid;place-items:center;background:#fff;color:#1b1b1b;transform:translateY(3px);transition:transform .2s}.jbal-category-card:hover .jbal-category-arrow{transform:translateY(0);background:var(--jbal-accent);color:#fff}.jbal-category-descriptor{padding:15px 1px 0}.jbal-overline{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#a19a94}.jbal-category-descriptor h3{font-family:var(--jbal-serif);font-size:20px;line-height:1.25;margin:4px 0 4px}.jbal-cat-count{font-size:10px;color:#99948e}
/* promo cards */
.jbal-promo-section{padding:10px 0 20px}.jbal-promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.jbal-promo-card{min-height:375px;display:block;position:relative;overflow:hidden;background:#e9e4dd}.jbal-promo-womens{background:#e8e7e4}.jbal-promo-copy{position:relative;z-index:2;width:58%;padding:38px 0 32px 35px}.jbal-promo-copy h2{margin:23px 0 32px;font-family:var(--jbal-serif);font-size:clamp(27px,2.6vw,40px);letter-spacing:-.035em;line-height:1.13}.jbal-promo-link{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;border-bottom:1px solid var(--jbal-ink);padding-bottom:8px}.jbal-promo-link span{margin-left:7px}.jbal-promo-photo{position:absolute;top:0;right:0;width:54%;height:100%}.jbal-promo-photo img{height:100%;width:100%;object-fit:cover;object-position:center 30%;filter:saturate(.84);transition:transform .55s}.jbal-promo-card:hover img{transform:scale(1.04)}.jbal-promo-photo:before{position:absolute;z-index:1;content:"";inset:0;background:linear-gradient(90deg,#e9e4dd 0%,#e9e4ddbb 8%,transparent 45%);pointer-events:none}.jbal-promo-womens .jbal-promo-photo:before{background:linear-gradient(90deg,#e8e7e4 0%,#e8e7e4a0 12%,transparent 45%)}
/* product cards */
.jbal-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 19px}.jbal-product-card{min-width:0}.jbal-product-visual{display:block;aspect-ratio:3 / 3.68;background:#f0efec;position:relative;overflow:hidden}.jbal-product-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 32%;transition:transform .5s}.jbal-product-card:hover .jbal-product-visual img{transform:scale(1.055)}.jbal-card-hover{position:absolute;inset:auto 12px 12px;display:flex;justify-content:space-between;align-items:center;background:#fff;color:#141414;padding:13px 15px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transform:translateY(calc(100% + 14px));transition:transform .2s}.jbal-product-card:hover .jbal-card-hover,.jbal-product-visual:focus-visible .jbal-card-hover{transform:translateY(0)}.jbal-sale-flag{position:absolute;z-index:2;top:13px;left:13px;background:var(--jbal-accent);color:#fff;padding:5px 10px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.jbal-product-meta{display:flex;justify-content:space-between;gap:12px;align-items:start;padding:15px 0 3px}.jbal-product-name{font-size:12px;font-weight:650;line-height:1.5;max-width:72%}.jbal-price{font-size:12px;white-space:nowrap;font-weight:700}.jbal-price del{color:#999;font-weight:400;margin-right:4px}.jbal-price ins{text-decoration:none;color:var(--jbal-accent)}
/* editorial story */
.jbal-editorial{background:#edebe6;padding:76px 0}.jbal-editorial-inner{display:grid;grid-template-columns:51% 49%;min-height:580px}.jbal-editorial-image{position:relative;overflow:hidden;background:#dad1c5;min-height:540px}.jbal-editorial-image img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block;position:absolute;inset:0}.jbal-editorial-image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(0deg,#00000078,transparent)}.jbal-editorial-image>span{position:absolute;z-index:2;bottom:25px;left:25px;right:25px;color:#fff;font-size:10px;letter-spacing:.15em;display:flex;justify-content:space-between}.jbal-editorial-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:50px 8% 50px 11%;position:relative}.jbal-editorial h2{font-family:var(--jbal-serif);font-size:clamp(43px,4.25vw,68px);line-height:1.08;letter-spacing:-.05em;margin:23px 0}.jbal-editorial-copy>p{color:#615d57;max-width:380px;line-height:1.9;font-size:13px;margin-bottom:30px}.jbal-button-outline{border-color:var(--jbal-ink);color:var(--jbal-ink)}.jbal-button-outline:hover{background:var(--jbal-ink);color:#fff}.jbal-editorial-no{position:absolute;right:8%;bottom:26px;font-size:10px;letter-spacing:.15em;color:#817b73}.jbal-new-arrivals{padding-bottom:108px}.jbal-ticker{background:#f5f3f0;border-top:1px solid var(--jbal-line);border-bottom:1px solid var(--jbal-line);padding:23px 0}.jbal-ticker .jbal-wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.jbal-ticker strong{font-family:var(--jbal-serif);letter-spacing:.06em;font-size:21px;font-weight:400}
/* pre-footer and footer */
.jbal-prefooter{background:#1c1d1c;color:#fff}.jbal-prefooter-inner{padding:74px 0 80px;display:flex;align-items:center;justify-content:space-between;gap:32px}.jbal-prefooter .jbal-eyebrow{color:#c8c4bc}.jbal-prefooter h2{font-family:var(--jbal-serif);font-size:clamp(39px,4.1vw,60px);line-height:1.1;letter-spacing:-.035em;flex:1}.jbal-prefooter h2 em{color:#d85b67}.jbal-prefooter .jbal-button{align-self:center}.jbal-footer{background:#141514;color:#f7f7f3}.jbal-footer-grid{display:grid;grid-template-columns:1.75fr repeat(3,1fr);gap:45px;padding:70px 0 62px}.jbal-footer-logo{display:inline-block;font-family:var(--jbal-serif);font-size:39px;font-weight:700;letter-spacing:-.09em;line-height:1}.jbal-footer-logo>span{color:#d85b67}.jbal-footer-logo small{font:800 11px var(--jbal-sans);letter-spacing:.22em;vertical-align:middle;margin-left:8px}.jbal-footer-brand p{font-size:12px;line-height:1.95;color:#a8a9a6;max-width:310px;margin-top:21px}.jbal-footer h3{font-family:var(--jbal-sans);font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:750;margin:0 0 22px}.jbal-footer ul{list-style:none;margin:0;padding:0}.jbal-footer ul li{margin-bottom:9px}.jbal-footer ul a{font-size:12px;color:#aeb0ab;transition:color .2s}.jbal-footer a:hover{color:#fff}.jbal-footer-bottom{border-top:1px solid #30312f;padding:20px 0 23px;display:flex;justify-content:space-between;color:#898b87;font-size:10px;letter-spacing:.04em;gap:10px}
/* general pages, posts, and WooCommerce support */
.jbal-standard-page,.jbal-woo-content{padding-top:55px;padding-bottom:95px;min-height:50vh}.jbal-page-heading{margin-bottom:42px;border-bottom:1px solid var(--jbal-line);padding-bottom:31px}.jbal-page-heading h1,.woocommerce-products-header__title,.jbal-not-found h1{font:400 clamp(41px,4.5vw,64px)/1.1 var(--jbal-serif);letter-spacing:-.035em;margin:12px 0 0}.jbal-entry-content{max-width:1080px;line-height:1.8}.jbal-entry-content p{margin:0 0 1.2em}.jbal-entry-content img{height:auto}.jbal-entry-content .wp-block-columns{gap:30px}.jbal-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.jbal-post-card img{aspect-ratio:1.6;object-fit:cover;width:100%}.jbal-post-card h2{font:normal 29px/1.2 var(--jbal-serif);margin:17px 0 8px}.jbal-post-card p{color:var(--jbal-muted);font-size:13px}.jbal-not-found{text-align:center;padding:100px 0;min-height:60vh}.jbal-not-found .jbal-button{margin-top:30px}
.woocommerce .woocommerce-breadcrumb{font-size:11px;color:#8c8985;margin:0 0 35px}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:12px;color:#76736d;margin-top:12px}.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 19px;padding:0;margin:36px 0 0;clear:both}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:0;min-width:0}.woocommerce ul.products li.product a img{aspect-ratio:3 / 3.7;object-fit:cover;background:#f2f0eb;margin-bottom:15px}.woocommerce ul.products li.product h2.woocommerce-loop-product__title{font-size:12px;font-weight:700;line-height:1.6}.woocommerce ul.products li.product .price{color:#2b2b2b;font-size:13px;font-weight:700}.woocommerce ul.products li.product .button{background:transparent;border-bottom:1px solid var(--jbal-ink);padding:7px 1px;border-radius:0;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.woocommerce ul.products li.product .onsale,.woocommerce span.onsale{background:var(--jbal-accent);border-radius:0;min-height:0;line-height:1;padding:9px 12px;font-size:11px}.woocommerce div.product .product_title{font:400 clamp(33px,3.4vw,53px)/1.15 var(--jbal-serif);margin-bottom:22px}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--jbal-ink)}.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:0!important}.woocommerce div.product div.images img{background:#f1eee9}.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt{border-radius:0!important}.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{background:var(--jbal-ink);color:#fff}.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce #respond input#submit.alt:hover{background:var(--jbal-accent);color:#fff}.woocommerce .quantity .qty{padding:9px 6px}.woocommerce .woocommerce-info{border-top-color:var(--jbal-accent)}.woocommerce .woocommerce-info:before{color:var(--jbal-accent)}.woocommerce table.shop_table{border-radius:0}.woocommerce a.remove{color:#ba293a!important}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select{border:1px solid #c9c8c5;padding:11px;background:#fff;border-radius:0}.woocommerce ul.products .star-rating{font-size:10px}.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:7px}.woocommerce nav.woocommerce-pagination ul li{border:1px solid var(--jbal-line)}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{padding:13px 17px}.woocommerce nav.woocommerce-pagination ul li span.current{background:#151515;color:#fff}.woocommerce-message{border-top-color:#1c1c1c}.woocommerce-message::before{color:#1c1c1c}
/* mobile + tablets */
@media(max-width:1160px){.jbal-header-main{grid-template-columns:160px 1fr 140px}.jbal-menu{gap:18px}.jbal-menu>li>a{font-size:11px}.jbal-category-image{height:250px}.jbal-promo-card{min-height:335px}.jbal-promo-copy{padding:28px 0 22px 25px}.jbal-hero-layout{min-height:555px}.jbal-hero-visual{min-height:500px}}
@media(max-width:980px){.jbal-wrap,.jbal-page-container{width:min(var(--jbal-max),calc(100% - 42px))}.jbal-header-main{min-height:72px;grid-template-columns:48px 1fr 125px;gap:5px}.jbal-menu-toggle{display:flex;flex-direction:column;gap:5px;justify-self:start;width:31px;padding:7px 2px}.jbal-menu-toggle span{height:2px;width:23px;background:#202020;display:block;transition:transform .2s,opacity .2s}.jbal-nav-open .jbal-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.jbal-nav-open .jbal-menu-toggle span:nth-child(2){opacity:0}.jbal-nav-open .jbal-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.jbal-brand{justify-self:center}.jbal-brand-main{font-size:39px}.jbal-brand-sub{font-size:8px}.jbal-primary-nav{position:absolute;top:100%;left:0;right:0;display:none;background:#fff;height:auto;max-height:calc(100dvh - 108px);overflow-y:auto;border-top:1px solid var(--jbal-line);box-shadow:0 25px 28px #00000012;padding:13px 22px 28px}.jbal-nav-open .jbal-primary-nav{display:block}.jbal-menu{height:auto;display:block}.jbal-menu>li{height:auto;display:block;border-bottom:1px solid #f1f0ed}.jbal-menu>li>a{display:block;padding:15px 4px;font-size:13px}.jbal-menu .sub-menu{position:static;display:none;visibility:visible;opacity:1;transform:none;box-shadow:none;border:0;background:#f8f7f4;padding:5px 0 12px 16px;min-width:0}.jbal-menu li.jbal-sub-open>.sub-menu{display:block}.jbal-menu .sub-menu a{font-size:13px;padding:11px 10px}.jbal-header-tools{gap:13px}.jbal-hero-layout{grid-template-columns:49% 51%;min-height:510px}.jbal-hero-copy{padding:50px 25px 52px 0}.jbal-hero h1{font-size:clamp(47px,6vw,70px)}.jbal-hero-visual{margin:20px 0 20px 10px;min-height:450px}.jbal-hero-stamp{right:-6px;top:13px;width:95px;height:95px;border-width:4px}.jbal-hero-stamp span{font-size:35px}.jbal-hero-stamp small{font-size:7px}.jbal-service-grid{grid-template-columns:repeat(2,1fr);gap:22px 5px}.jbal-service-grid>div:nth-child(2){border-right:0}.jbal-service-grid>div:nth-child(3){padding-left:0}.jbal-category-grid{grid-template-columns:repeat(3,1fr)}.jbal-category-image{height:280px}.jbal-promo-grid{gap:15px}.jbal-promo-copy{width:66%}.jbal-promo-copy h2{font-size:29px}.jbal-promo-photo{width:54%}.jbal-product-grid,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.jbal-editorial-inner{min-height:460px}.jbal-editorial-image{min-height:460px}.jbal-editorial h2{font-size:47px}.jbal-footer-grid{gap:22px}}
@media(max-width:680px){body{font-size:14px}.jbal-announcement{min-height:30px}.jbal-announcement-inner{justify-content:center}.jbal-announcement p{font-size:9px;letter-spacing:.085em}.jbal-announcement a{display:none}.jbal-header-main{min-height:66px;grid-template-columns:38px 1fr 100px}.jbal-tool-button svg{width:20px;height:20px}.jbal-header-tools{gap:11px}.jbal-account-link{display:none}.jbal-cart-count{top:-5px}.jbal-logo-image{max-width:132px;max-height:47px}.jbal-brand-main{font-size:36px}.jbal-brand-sub{font-size:7px;margin-top:6px}.jbal-search-panel{padding:17px 20px}.jbal-search-panel form{gap:8px;flex-wrap:wrap}.jbal-search-panel label{width:100%}.jbal-search-panel button{padding:12px}.jbal-wrap,.jbal-page-container{width:calc(100% - 34px)}.jbal-hero-layout{display:flex;flex-direction:column;min-height:0}.jbal-hero-copy{padding:45px 0 28px}.jbal-hero h1{font-size:clamp(49px,12vw,72px);margin:16px 0 18px}.jbal-hero-copy>p{max-width:490px;font-size:13px;line-height:1.75}.jbal-hero-actions{gap:17px;margin-top:12px}.jbal-button{padding:15px 18px;min-height:49px;gap:17px;font-size:10px}.jbal-subtle-link{font-size:10px}.jbal-hero-index{position:static;margin-top:33px;gap:12px}.jbal-hero-rule{width:36px}.jbal-hero-visual{margin:0 0 16px;min-height:0;height:min(104vw,490px)}.jbal-hero-photo{inset:0}.jbal-hero-stamp{top:16px;right:12px}.jbal-photo-label{bottom:18px;left:18px;right:18px}.jbal-service-grid{padding:20px 0;gap:15px}.jbal-service-grid>div{padding-left:9px;gap:8px}.jbal-service-grid>div:nth-child(3){padding-left:0}.jbal-service-grid strong{font-size:10px}.jbal-service-grid div div span{font-size:9px}.jbal-service-icon{font-size:20px}.jbal-section{padding:57px 0}.jbal-section-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:23px}.jbal-section-heading h2{font-size:37px;margin-top:9px}.jbal-section-heading p{font-size:12px}.jbal-text-link{font-size:10px}.jbal-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.jbal-category-image{height:auto;aspect-ratio:.84}.jbal-category-descriptor{padding-top:11px}.jbal-category-descriptor h3{font-size:19px}.jbal-overline{font-size:8px}.jbal-cat-count{font-size:9px}.jbal-category-arrow{width:32px;height:32px;right:9px;bottom:9px}.jbal-promo-section{padding:0 0 15px}.jbal-promo-grid{grid-template-columns:1fr;gap:13px}.jbal-promo-card{min-height:290px}.jbal-promo-copy{width:65%;padding:30px 0 18px 23px}.jbal-promo-copy h2{font-size:31px;margin:18px 0 29px}.jbal-promo-photo{width:53%}.jbal-product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 13px}.jbal-product-visual{aspect-ratio:3/3.8}.jbal-card-hover{display:none}.jbal-product-meta{display:block;padding-top:10px}.jbal-product-name{display:block;max-width:100%;font-size:11px;line-height:1.45}.jbal-price{margin-top:4px;font-size:11px}.jbal-editorial{padding:18px 0}.jbal-editorial-inner{display:flex;flex-direction:column;min-height:0}.jbal-editorial-image{height:370px;min-height:0}.jbal-editorial-copy{padding:45px 8px 50px}.jbal-editorial h2{font-size:43px;margin:17px 0}.jbal-editorial-copy>p{font-size:12px;margin-bottom:23px}.jbal-editorial-no{bottom:17px;right:8px}.jbal-new-arrivals{padding-bottom:60px}.jbal-ticker{padding:17px 0}.jbal-ticker .jbal-wrap{justify-content:center}.jbal-ticker span{display:none}.jbal-ticker strong{text-align:center;font-size:17px}.jbal-prefooter-inner{padding:57px 0 61px;display:block}.jbal-prefooter h2{font-size:46px;margin:18px 0 29px}.jbal-footer-grid{padding:51px 0 45px;grid-template-columns:repeat(2,1fr);gap:30px 20px}.jbal-footer-brand{grid-column:1/-1}.jbal-footer-brand p{max-width:400px}.jbal-footer h3{font-size:11px;margin-bottom:15px}.jbal-footer ul a{font-size:11px}.jbal-footer-bottom{font-size:9px;flex-wrap:wrap}.jbal-standard-page,.jbal-woo-content{padding-top:32px;padding-bottom:65px}.jbal-page-heading{margin-bottom:25px;padding-bottom:22px}.jbal-page-heading h1,.woocommerce-products-header__title{font-size:41px}.woocommerce ul.products{margin-top:26px}.woocommerce ul.products li.product h2.woocommerce-loop-product__title{font-size:11px}.woocommerce ul.products li.product .button{font-size:9px}.woocommerce div.product .product_title{font-size:38px}.jbal-post-grid{grid-template-columns:1fr}}
@media(max-width:350px){.jbal-hero-actions{display:flex;flex-direction:column;align-items:flex-start}.jbal-category-descriptor h3{font-size:17px}.jbal-promo-copy h2{font-size:25px}.jbal-footer-grid{gap:24px 9px}}
/* Homepage hero: retain the entire source product photograph (no cropping). */
/* The transparent suit cutout blends into the hero's existing cream background. */
.jbal-hero-visual{background:transparent}
.jbal-hero-photo{bottom:45px;background:transparent}
/* Do not obscure the product image's included JB Designs logo. */
.jbal-hero .jbal-hero-stamp{display:none}
.jbal-hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center center;filter:none}
.jbal-hero-photo:after{display:none}
.jbal-photo-label{bottom:11px;color:#403934}
.jbal-photo-label strong{color:#403934}
@media(max-width:680px){
 .jbal-hero-visual{height:min(118vw,535px)}
 .jbal-hero-photo{inset:0 0 39px}
 .jbal-photo-label{left:14px;right:14px;bottom:10px;font-size:9px}
 .jbal-photo-label strong{font-size:10px;line-height:1.25}
}

/* JB Boutique / editorial three-slide homepage showcase. */
.jbal-home-carousel{--jbal-slide-ink:#25211f;--jbal-slide-accent:#ad354d;background:#f2eee9;color:var(--jbal-slide-ink);position:relative;isolation:isolate;overflow:hidden}
.jbal-carousel-stage{position:relative;height:612px;overflow:hidden}
.jbal-carousel-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;z-index:0;transition:opacity .7s ease,visibility .7s ease}
.jbal-carousel-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.jbal-carousel-slide--suit{background:linear-gradient(118deg,#f4f0ea 0%,#f0eae2 72%,#e9dfd6 100%)}
.jbal-carousel-slide--dresses{background:linear-gradient(118deg,#f9f1ed 0%,#f4e9e3 75%,#f2e4de 100%)}
.jbal-carousel-slide--shoes{background:linear-gradient(118deg,#f2f0eb 0%,#eae7df 82%,#e2ddd2 100%)}
.jbal-carousel-panel{height:100%;display:grid;grid-template-columns:49% minmax(0,51%);min-width:0;position:relative}
.jbal-carousel-copy{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:51px 45px 56px 0;z-index:3}
.jbal-carousel-kicker{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.17em;font-weight:800;line-height:1.4;text-transform:uppercase;color:#5c504a}
.jbal-carousel-kicker-mark{height:2px;width:29px;background:var(--jbal-slide-accent);flex:none}
.jbal-carousel-kicker-separator{color:#aa9b91;font-weight:400}
.jbal-carousel-heading{font:400 clamp(52px,5.1vw,78px)/1.035 var(--jbal-serif,Georgia,serif);letter-spacing:-.062em;margin:25px 0 22px;color:#1e1c1b}
.jbal-carousel-heading em{font-style:italic;font-weight:400;color:var(--jbal-slide-accent)}
.jbal-carousel-description{font-size:14px;line-height:1.85;color:#5f5851;max-width:420px;margin:0}
.jbal-carousel-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:29px}
.jbal-carousel-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:29px;min-height:53px;background:#1f1e1c;color:#fff;padding:15px 20px;border:1px solid #1f1e1c;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;transition:background .25s,color .25s}
.jbal-carousel-primary:hover{background:var(--jbal-slide-accent);border-color:var(--jbal-slide-accent);color:#fff}
.jbal-carousel-primary span{font-size:17px;font-weight:400}
.jbal-carousel-secondary{display:inline-flex;gap:11px;align-items:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid #6b5d54;padding:7px 0;color:#2d2a27}
.jbal-carousel-secondary:hover{color:var(--jbal-slide-accent);border-color:var(--jbal-slide-accent)}
.jbal-carousel-annotation{position:absolute;bottom:26px;left:0;color:#8e8379;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.15em}
.jbal-carousel-media{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:100%;padding:19px 11px 31px 0}
.jbal-carousel-media:before{content:"";position:absolute;width:min(71%,390px);aspect-ratio:1;top:16%;left:12%;border-radius:50%;background:#fff9;filter:blur(1px);opacity:.38;pointer-events:none}
.jbal-carousel-image-box{display:flex;position:relative;align-items:center;justify-content:center;min-width:0;height:100%;width:100%;z-index:1}
.jbal-carousel-image-box--cutout{background:none}
.jbal-carousel-photo{display:block;object-fit:contain;object-position:center;width:100%;height:100%;max-width:100%;max-height:100%}
.jbal-carousel-image-box--editorial{width:min(83%,450px);height:87%;padding:9px;background:#faf8f5;border:1px solid #ffffffb8;box-shadow:0 20px 58px #3f2c2417}
.jbal-carousel-image-box--editorial img{width:100%;height:100%;object-fit:contain;background:#fff}
.jbal-carousel-image-box .jbal-image-fallback{width:100%;height:100%}
.jbal-carousel-image-note{position:absolute;bottom:20px;right:12px;z-index:3;color:#6d625b;font-size:9px;font-weight:750;letter-spacing:.13em;text-align:right;text-transform:uppercase;pointer-events:none}
.jbal-carousel-control-bar{position:relative;z-index:3;background:#fff;border-bottom:1px solid #e8e4df}
.jbal-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:82px}
.jbal-carousel-picks{display:flex;align-items:stretch;gap:23px;flex:1;max-width:780px}
.jbal-carousel-pick{appearance:none;flex:1;position:relative;display:flex;align-items:center;gap:11px;min-width:0;padding:14px 0 19px;cursor:pointer;background:none;border:0;text-align:left;color:#928983}
.jbal-carousel-pick-number{font:700 11px/1.4 var(--jbal-sans,Arial,sans-serif);color:#9f9690}
.jbal-carousel-pick-name{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.jbal-carousel-pick.is-active .jbal-carousel-pick-name,.jbal-carousel-pick.is-active .jbal-carousel-pick-number{color:#292421}
.jbal-carousel-pick-track{position:absolute;bottom:6px;left:0;right:0;height:2px;background:#e4e0dc;overflow:hidden}
.jbal-carousel-pick-track:after{content:"";position:absolute;inset:0;background:var(--jbal-slide-accent);transform:scaleX(0);transform-origin:left}
.jbal-carousel-pick.is-active .jbal-carousel-pick-track:after{transform:scaleX(1)}
.jbal-slider-playing .jbal-carousel-pick.is-active .jbal-carousel-pick-track:after{animation:jbal-slider-fill 6.8s linear forwards}
@keyframes jbal-slider-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.jbal-carousel-navigation{display:flex;align-items:center;gap:7px;flex:none}
.jbal-carousel-play{background:none;border:0;color:#6e655e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;padding:10px 17px;min-width:60px}
.jbal-carousel-play:hover{color:var(--jbal-slide-accent)}
.jbal-carousel-arrow{display:inline-flex;align-items:center;justify-content:center;width:41px;height:41px;border:1px solid #d9d1c9;background:#fff;color:#241e1c;font-size:20px;line-height:1;transition:background .2s,color .2s,border-color .2s}
.jbal-carousel-arrow:hover{background:#eae5dd;border-color:#eae5dd}
.jbal-carousel-arrow[data-jbal-next]{background:#27231f;color:#fff;border-color:#27231f}
.jbal-carousel-arrow[data-jbal-next]:hover{background:var(--jbal-slide-accent);border-color:var(--jbal-slide-accent)}
.jbal-carousel-slide.is-active .jbal-carousel-copy{animation:jbal-slide-copy-in .65s ease-out both}
.jbal-carousel-slide.is-active .jbal-carousel-image-box{animation:jbal-slide-media-in .85s ease-out both}
@keyframes jbal-slide-copy-in{from{opacity:.3;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}
@keyframes jbal-slide-media-in{from{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1120px){
 .jbal-carousel-stage{height:568px}
 .jbal-carousel-panel{grid-template-columns:48% 52%}
 .jbal-carousel-copy{padding-right:24px}
 .jbal-carousel-heading{font-size:clamp(45px,5.4vw,65px)}
 .jbal-carousel-description{font-size:13px}
 .jbal-carousel-picks{gap:16px}
}
@media(max-width:820px){
 .jbal-carousel-stage{height:530px}
 .jbal-carousel-panel{grid-template-columns:49% 51%}
 .jbal-carousel-copy{padding:35px 16px 39px 0}
 .jbal-carousel-heading{font-size:clamp(38px,5.6vw,51px);margin:16px 0}
 .jbal-carousel-cta{gap:13px;margin-top:18px}
 .jbal-carousel-primary{min-height:45px;font-size:10px;padding:12px 14px;gap:11px}
 .jbal-carousel-secondary{font-size:10px}
 .jbal-carousel-annotation{bottom:18px;font-size:8px}
 .jbal-carousel-pick-name{font-size:9px}
 .jbal-carousel-controls{gap:17px}
}
@media(max-width:680px){
 .jbal-carousel-stage{height:715px}
 .jbal-carousel-panel{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
 .jbal-carousel-copy{padding:31px 0 5px;justify-content:flex-start}
 .jbal-carousel-kicker{font-size:9px;letter-spacing:.12em;gap:8px}
 .jbal-carousel-kicker-mark{width:20px}
 .jbal-carousel-heading{font-size:clamp(42px,10.8vw,55px);margin:14px 0 12px;line-height:1.02}
 .jbal-carousel-description{font-size:12px;line-height:1.65;max-width:460px}
 .jbal-carousel-cta{margin-top:18px;gap:15px}
 .jbal-carousel-primary{min-height:43px;padding:12px 14px;font-size:9px;letter-spacing:.055em}
 .jbal-carousel-secondary{font-size:9px}
 .jbal-carousel-annotation{display:none}
 .jbal-carousel-media{height:100%;min-height:0;padding:0 0 20px}
 .jbal-carousel-media:before{width:66%;top:2%;left:17%}
 .jbal-carousel-image-box--editorial{width:min(69%,310px);height:96%;padding:6px;box-shadow:0 13px 37px #3f2c241c}
 .jbal-carousel-image-note{right:0;bottom:7px;font-size:8px;letter-spacing:.08em}
 .jbal-carousel-controls{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:6px;min-height:0;padding:13px 0 12px}
 .jbal-carousel-picks{width:100%;max-width:none;gap:13px}
 .jbal-carousel-pick{padding:5px 0 14px;gap:7px}
 .jbal-carousel-pick-name{font-size:9px;letter-spacing:.04em}
 .jbal-carousel-pick-number{font-size:10px}
 .jbal-carousel-pick-track{bottom:3px}
 .jbal-carousel-navigation{align-self:flex-end;gap:7px}
 .jbal-carousel-arrow{width:35px;height:35px;font-size:19px}
 .jbal-carousel-play{font-size:9px;min-width:52px;padding:7px 12px}
}
@media(max-width:380px){
 .jbal-carousel-stage{height:770px}
 .jbal-carousel-heading{font-size:40px}
 .jbal-carousel-cta{gap:10px}
 .jbal-carousel-pick-name{font-size:8px}
 .jbal-carousel-pick-number{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .jbal-carousel-slide{transition:none!important}
 .jbal-carousel-slide.is-active .jbal-carousel-copy,.jbal-carousel-slide.is-active .jbal-carousel-image-box{animation:none!important}
 .jbal-slider-playing .jbal-carousel-pick.is-active .jbal-carousel-pick-track:after{animation:none!important}
}


/* Slider layout repair 1.0.4: use the content's natural height instead of clipping it in a fixed viewport. */
.jbal-home-carousel .jbal-carousel-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  height:auto;
  min-height:0;
  overflow:hidden;
}
.jbal-home-carousel .jbal-carousel-slide{
  position:relative;
  inset:auto;
  grid-area:1/1;
  display:flex;
  min-width:0;
  min-height:590px;
  height:auto;
}
.jbal-home-carousel .jbal-carousel-panel{
  height:auto;
  min-width:0;
  min-height:590px;
  flex:1;
  grid-template-columns:minmax(0,48%) minmax(0,52%);
}
.jbal-home-carousel .jbal-carousel-copy{
  min-width:0;
  min-height:0;
  padding:42px 25px 66px 0;
  z-index:5;
}
.jbal-home-carousel .jbal-carousel-heading{overflow-wrap:normal}
.jbal-home-carousel .jbal-carousel-cta{
  position:relative;
  z-index:6;
  min-width:0;
  flex-wrap:wrap;
}
.jbal-home-carousel .jbal-carousel-primary,
.jbal-home-carousel .jbal-carousel-secondary{
  position:relative;
  z-index:7;
  flex-shrink:0;
}
.jbal-home-carousel .jbal-carousel-media{
  height:auto;
  min-height:525px;
  align-self:stretch;
  overflow:visible;
  padding:20px 6px 28px 0;
}
.jbal-home-carousel .jbal-carousel-media--suit:before{display:none}
.jbal-home-carousel .jbal-carousel-image-box--cutout{
  width:100%;
  min-height:0;
  height:100%;
  overflow:visible;
}
.jbal-home-carousel .jbal-carousel-image-box--cutout .jbal-carousel-photo{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:560px;
  object-fit:contain;
  object-position:center;
}
.jbal-home-carousel .jbal-carousel-image-note{
  bottom:13px;
  pointer-events:none;
}
@media(max-width:1120px){
  .jbal-home-carousel .jbal-carousel-stage{height:auto}
  .jbal-home-carousel .jbal-carousel-slide,
  .jbal-home-carousel .jbal-carousel-panel{min-height:560px}
  .jbal-home-carousel .jbal-carousel-media{min-height:495px}
  .jbal-home-carousel .jbal-carousel-image-box--cutout .jbal-carousel-photo{max-height:510px}
}
@media(max-width:820px){
  .jbal-home-carousel .jbal-carousel-stage{height:auto}
  .jbal-home-carousel .jbal-carousel-slide,
  .jbal-home-carousel .jbal-carousel-panel{min-height:540px}
  .jbal-home-carousel .jbal-carousel-copy{padding:35px 16px 66px 0}
  .jbal-home-carousel .jbal-carousel-heading{font-size:clamp(36px,5.6vw,52px)}
  .jbal-home-carousel .jbal-carousel-cta{gap:12px}
  .jbal-home-carousel .jbal-carousel-primary,
  .jbal-home-carousel .jbal-carousel-secondary{white-space:normal}
  .jbal-home-carousel .jbal-carousel-media{min-height:475px}
  .jbal-home-carousel .jbal-carousel-image-box--cutout .jbal-carousel-photo{max-height:495px}
}
@media(max-width:680px){
  .jbal-home-carousel .jbal-carousel-stage{display:grid;height:auto;min-height:0;overflow:hidden}
  .jbal-home-carousel .jbal-carousel-slide{
    display:block;
    grid-area:1/1;
    position:relative;
    height:auto;
    min-height:0;
  }
  .jbal-home-carousel .jbal-carousel-panel{
    display:flex;
    flex-direction:column;
    height:auto;
    min-height:0;
    grid-template-columns:none;
    grid-template-rows:none;
  }
  .jbal-home-carousel .jbal-carousel-copy{
    display:flex;
    flex:none;
    width:100%;
    padding:29px 0 13px;
    min-height:0;
  }
  .jbal-home-carousel .jbal-carousel-heading{
    font-size:clamp(39px,10.5vw,53px);
    line-height:1.055;
    margin:13px 0 12px;
  }
  .jbal-home-carousel .jbal-carousel-description{
    font-size:12px;
    line-height:1.65;
    margin:0;
  }
  .jbal-home-carousel .jbal-carousel-cta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    margin-top:17px;
    gap:13px;
  }
  .jbal-home-carousel .jbal-carousel-primary{
    display:inline-flex;
    min-height:45px;
    padding:12px 14px;
    font-size:10px;
    white-space:normal;
  }
  .jbal-home-carousel .jbal-carousel-secondary{
    display:inline-flex;
    font-size:10px;
    min-height:37px;
    white-space:normal;
  }
  .jbal-home-carousel .jbal-carousel-media{
    display:flex;
    flex:none;
    width:100%;
    height:auto;
    min-height:0;
    padding:7px 0 28px;
    align-self:auto;
  }
  .jbal-home-carousel .jbal-carousel-image-box--cutout{
    width:min(100%,360px);
    height:auto;
    min-height:0;
    margin-inline:auto;
  }
  .jbal-home-carousel .jbal-carousel-image-box--cutout .jbal-carousel-photo{
    width:auto;
    max-width:100%;
    height:auto;
    max-height:clamp(285px,102vw,465px);
    object-fit:contain;
    object-position:center;
  }
  .jbal-home-carousel .jbal-carousel-image-box--editorial{
    width:min(78%,305px);
    height:min(98vw,395px);
    margin-inline:auto;
  }
  .jbal-home-carousel .jbal-carousel-image-note{
    bottom:6px;
    right:0;
    font-size:8px;
  }
}
@media(max-width:380px){
  .jbal-home-carousel .jbal-carousel-stage,
  .jbal-home-carousel .jbal-carousel-slide{height:auto;min-height:0}
  .jbal-home-carousel .jbal-carousel-copy{padding-top:24px}
  .jbal-home-carousel .jbal-carousel-heading{font-size:clamp(34px,10.7vw,40px)}
  .jbal-home-carousel .jbal-carousel-cta{gap:9px}
  .jbal-home-carousel .jbal-carousel-primary{font-size:9px;padding:11px 12px}
}

/* Homepage slider edge spacing and image balance — 1.0.6 */
.jbal-home-carousel{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding-inline:0;
}
/* One shared responsive gutter for the three slides and the navigation. */
.jbal-home-carousel .jbal-wrap,
.jbal-home-carousel .jbal-carousel-control-bar .jbal-wrap{
  box-sizing:border-box;
  width:100%;
  max-width:1700px;
  margin-left:auto;
  margin-right:auto;
  padding-left:clamp(26px,5.25vw,94px);
  padding-right:clamp(26px,5.25vw,94px);
}
.jbal-home-carousel .jbal-carousel-panel{
  grid-template-columns:minmax(0,47%) minmax(0,53%);
  min-width:0;
}
.jbal-home-carousel .jbal-carousel-copy{
  min-width:0;
  padding-left:0;
  padding-right:clamp(20px,3vw,50px);
}
.jbal-home-carousel .jbal-carousel-cta{
  max-width:100%;
  min-width:0;
}
.jbal-home-carousel .jbal-carousel-media{
  min-width:0;
  padding-left:0;
  padding-right:0;
}
.jbal-home-carousel .jbal-carousel-image-box--cutout{
  justify-content:flex-end;
}
.jbal-home-carousel .jbal-carousel-image-box--cutout .jbal-carousel-photo{
  display:block;
  width:auto;
  height:100%;
  max-width:100%;
  max-height:580px;
  margin-left:auto;
  margin-right:clamp(2px,1.2vw,18px);
  object-fit:contain;
  object-position:center;
}
.jbal-home-carousel .jbal-carousel-image-box--editorial{
  margin-left:auto;
  margin-right:clamp(0px,1.5vw,18px);
}
.jbal-home-carousel .jbal-carousel-image-note{
  right:clamp(3px,1.1vw,17px);
}
@media(max-width:1120px){
  .jbal-home-carousel .jbal-wrap,
  .jbal-home-carousel .jbal-carousel-control-bar .jbal-wrap{
    max-width:none;
    padding-inline:clamp(25px,4.7vw,51px);
  }
  .jbal-home-carousel .jbal-carousel-panel{
    grid-template-columns:minmax(0,49%) minmax(0,51%);
  }
  .jbal-home-carousel .jbal-carousel-copy{padding-right:22px}
  .jbal-home-carousel .jbal-carousel-image-box--cutout .jbal-carousel-photo{
    max-height:515px;
    margin-right:4px;
  }
}
@media(max-width:820px){
  .jbal-home-carousel .jbal-wrap,
  .jbal-home-carousel .jbal-carousel-control-bar .jbal-wrap{padding-inline:clamp(22px,4.2vw,36px)}
  .jbal-home-carousel .jbal-carousel-copy{padding-left:0;padding-right:16px}
  .jbal-home-carousel .jbal-carousel-media{padding-left:0;padding-right:0}
  .jbal-home-carousel .jbal-carousel-control-bar .jbal-wrap{max-width:none}
}
@media(max-width:680px){
  .jbal-home-carousel .jbal-wrap,
  .jbal-home-carousel .jbal-carousel-control-bar .jbal-wrap{
    width:100%;
    max-width:none;
    padding-left:clamp(19px,5.7vw,31px);
    padding-right:clamp(19px,5.7vw,31px);
  }
  .jbal-home-carousel .jbal-carousel-panel{
    display:flex;
    flex-direction:column;
    grid-template-columns:none;
  }
  .jbal-home-carousel .jbal-carousel-copy{
    width:100%;
    padding:29px 0 13px;
  }
  .jbal-home-carousel .jbal-carousel-cta{
    flex-wrap:wrap;
    max-width:100%;
  }
  .jbal-home-carousel .jbal-carousel-primary,
  .jbal-home-carousel .jbal-carousel-secondary{
    max-width:100%;
    flex-shrink:1;
  }
  .jbal-home-carousel .jbal-carousel-media{
    width:100%;
    padding:7px 0 28px;
    justify-content:center;
  }
  .jbal-home-carousel .jbal-carousel-image-box--cutout{
    width:min(100%,360px);
    justify-content:center;
    margin-inline:auto;
  }
  .jbal-home-carousel .jbal-carousel-image-box--cutout .jbal-carousel-photo{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:clamp(285px,102vw,465px);
    margin-inline:auto;
  }
  .jbal-home-carousel .jbal-carousel-image-box--editorial{
    margin-inline:auto;
  }
  .jbal-home-carousel .jbal-carousel-image-note{right:0}
}
@media(max-width:380px){
  .jbal-home-carousel .jbal-wrap,
  .jbal-home-carousel .jbal-carousel-control-bar .jbal-wrap{padding-inline:18px}
  .jbal-home-carousel .jbal-carousel-copy{padding-top:24px}
  .jbal-home-carousel .jbal-carousel-heading{font-size:clamp(34px,10.5vw,40px)}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
