@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2")}
:root{--ink:#11110f;--off:#faf9f6;--stone:#f0eee8;--muted:#77736e;--line:rgba(17,17,15,.16);--bronze:#9b744b;--header:76px;--pad:clamp(24px,5vw,78px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--off);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body.is-locked{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}.screen-reader-text,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;width:auto;height:auto;margin:12px;padding:12px 18px;z-index:9999;background:#fff}.site-shell{overflow:clip}.site-header{position:fixed;inset:0 0 auto;z-index:100;color:var(--ink);transition:background .35s,color .35s,transform .35s}.site-header.is-scrolled{background:rgba(250,249,246,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(17,17,15,.08)}.site-header.has-open-menu{background:var(--off)}.site-header__inner{height:var(--header);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad)}.wordmark{justify-self:start;font-size:17px;font-weight:800;letter-spacing:.18em;display:flex;align-items:center;gap:5px}.wordmark i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--bronze)}.custom-logo{width:auto;max-height:28px}.primary-nav .menu,.mobile-menu .menu,.site-footer .menu{list-style:none;margin:0;padding:0}.primary-nav .menu{display:flex;gap:clamp(22px,3vw,46px)}.primary-nav a,.header-actions{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.primary-nav a{position:relative}.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .35s var(--ease)}.primary-nav a:hover:after{right:0}.header-actions{justify-self:end;display:flex;align-items:center;gap:20px}.bag-button,.menu-button{border:0;background:transparent;color:inherit;padding:6px;cursor:pointer;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:600}.bag-button{display:flex;gap:6px}.bag-count{min-width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;background:var(--ink);color:white;font-size:9px}.menu-button{display:none;width:34px}.menu-button__bars{display:block;position:relative;width:22px;height:14px}.menu-button__bars span{position:absolute;left:0;right:0;height:1.5px;border-radius:2px;background:currentColor;transition:transform .4s var(--ease),opacity .2s}.menu-button__bars span:first-child{top:2px}.menu-button__bars span:last-child{bottom:2px}.mobile-menu{display:none}.cart-scrim{position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:149;opacity:0;pointer-events:none;transition:opacity .35s}.cart-drawer{position:fixed;z-index:150;right:0;top:0;width:min(430px,100%);height:100dvh;background:var(--off);transform:translateX(100%);transition:transform .5s var(--ease);padding:0 28px 28px;overflow:auto}.cart-drawer.is-open{transform:none}.cart-scrim.is-open{opacity:1;pointer-events:auto}.cart-drawer__head{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.cart-drawer__head button{border:0;background:none;font-size:28px;cursor:pointer}.woocommerce-mini-cart{list-style:none;padding:0;margin:24px 0}.woocommerce-mini-cart-item{position:relative;padding:0 24px 22px 90px!important;min-height:82px;border-bottom:1px solid var(--line);margin-bottom:22px}.woocommerce-mini-cart-item img{position:absolute;left:0;width:70px!important}.woocommerce-mini-cart-item .remove{position:absolute!important;right:0!important;left:auto!important;color:var(--ink)!important}.woocommerce-mini-cart__buttons{display:grid;gap:10px}.woocommerce-mini-cart__buttons a{display:block;text-align:center;padding:14px;border:1px solid var(--ink);border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.woocommerce-mini-cart__buttons .checkout{background:var(--ink);color:white}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 24px}.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:0 26px;border:1px solid var(--ink)!important;border-radius:999px!important;background:var(--ink)!important;color:#fff!important;font-size:11px!important;font-weight:700!important;letter-spacing:.13em;text-transform:uppercase;transition:transform .3s,background .3s,color .3s}.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{transform:translateY(-2px);background:transparent!important;color:var(--ink)!important}.button--light{border-color:#fff!important;background:#fff!important;color:var(--ink)!important}.button--wide{width:100%}.text-link{display:inline-flex;gap:16px;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.text-link--light{color:#fff}.visual-label{position:absolute;left:22px;bottom:18px;background:rgba(250,249,246,.76);backdrop-filter:blur(9px);padding:7px 10px;font-size:8px;letter-spacing:.15em;text-transform:uppercase}.section-pad{padding:clamp(90px,12vw,190px) var(--pad)}.section-pad--dark{background:var(--ink);color:#fff}.section-pad--stone{background:var(--stone)}
.hero{min-height:100svh;position:relative;display:grid;align-items:center;background:#eee7dd;overflow:hidden;padding:calc(var(--header) + 60px) var(--pad) 58px}.hero__copy{position:relative;z-index:2;width:min(520px,45vw)}.hero h1{font-size:clamp(52px,7vw,112px);line-height:.92;letter-spacing:-.065em;font-weight:500;margin:0 0 30px}.hero__intro{max-width:410px;color:#514e49;font-size:clamp(16px,1.4vw,20px);margin:0 0 34px}.hero__product{position:absolute;inset:0 0 0 30%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%);mask-image:linear-gradient(90deg,transparent 0,#000 24%)}.hero__product img{width:100%;height:100%;object-fit:cover;object-position:left center}.hero .visual-label{left:auto;right:22px}.has-motion .hero-reveal{opacity:0}.hero__scroll{position:absolute;z-index:2;left:var(--pad);bottom:30px;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.hero__scroll i{height:1px;width:46px;background:currentColor}.manifesto{display:grid;grid-template-columns:1fr 3fr;gap:40px}.manifesto h2{max-width:1100px;margin:0;font-size:clamp(38px,5.4vw,82px);line-height:1.04;letter-spacing:-.045em;font-weight:450}.manifesto h2 span{color:#aaa59d}.mechanism-story{background:#090909;color:#fff}.mechanism-story__sticky{position:relative;overflow:hidden;min-height:100vh;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-content:end;padding:160px var(--pad) 90px}.mechanism-story__top{position:absolute;z-index:4;top:36px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.mechanism-story__visual{position:absolute;inset:0;background-image:radial-gradient(56% 46% at 50% 42%,rgba(52,51,48,.9) 0%,rgba(9,9,9,0) 100%)}.track{display:none}.mechanism-copy{position:relative;z-index:3}.mechanism-copy>span{font-size:10px;letter-spacing:.16em}.mechanism-copy h2{font-size:clamp(44px,5vw,80px);line-height:.9;letter-spacing:-.06em;font-weight:450;margin:12px 0 22px}.mechanism-copy p{max-width:320px;margin:0;color:#c4c1bb}.has-motion .mechanism-story{height:400vh}.has-motion .mechanism-story__sticky{position:sticky;top:0;height:100vh;height:100svh;min-height:0;display:block;padding:0}.has-motion .mechanism-story__visual{will-change:transform}.has-motion .mechanism-copy{position:absolute;left:var(--pad);bottom:clamp(64px,11vh,120px);width:min(520px,44vw);opacity:0;visibility:hidden}.has-motion .mechanism-copy h2{font-size:clamp(64px,8vw,128px);line-height:.85}.has-motion .track{position:absolute;z-index:3;right:var(--pad);bottom:clamp(64px,11vh,120px);width:min(380px,32vw);height:26px;display:flex;align-items:flex-end;gap:5px}.track i{flex:1;height:14px;border-radius:1px;background:rgba(255,255,255,.2);transform-origin:50% 100%;transition:background .18s,transform .18s var(--ease)}.track i.is-on{background:#fff}.track i.is-lock{background:var(--bronze);transform:scaleY(1.85)}.statement{min-height:82vh;display:grid;align-content:center}.statement h2{font-size:clamp(50px,8vw,126px);max-width:1200px;line-height:.9;letter-spacing:-.06em;font-weight:450;margin:0}.statement>p:last-child{margin:45px 0 0 auto;max-width:430px;color:#aaa}.lifestyle-placeholder{position:relative;min-height:90vh;background:#d8d1c7}.lifestyle-placeholder__frame{position:absolute;inset:0;overflow:hidden}.lifestyle-placeholder__frame img{width:100%;height:100%;object-fit:cover}.lifestyle-placeholder__copy{position:absolute;z-index:2;left:var(--pad);top:50%;transform:translateY(-50%);width:min(520px,44vw)}.lifestyle-placeholder__copy h2{font-size:clamp(44px,6vw,90px);line-height:.95;letter-spacing:-.05em;font-weight:450;margin:0}.materials__intro{display:grid;grid-template-columns:1fr 2fr;margin-bottom:90px}.materials__intro h2{font-size:clamp(46px,6vw,90px);line-height:.94;letter-spacing:-.05em;font-weight:450;margin:0}.comparison{display:block}.comparison__intro{max-width:900px;margin-bottom:clamp(44px,6vw,90px)}.comparison .wipe{margin-bottom:clamp(44px,6vw,90px)}.comparison__table{max-width:820px;margin-left:auto}.comparison h2{font-size:clamp(44px,6vw,82px);line-height:.95;letter-spacing:-.05em;font-weight:450;margin:0}.comparison__row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);font-size:14px}.comparison__head{font-size:9px;letter-spacing:.14em;text-transform:uppercase}.comparison__row strong{font-weight:500}.comparison__row span{color:var(--muted)}.comparison__row span:last-child{color:var(--ink);font-weight:600}.shop-feature{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.7fr);gap:7vw;align-items:center}.shop-feature__visual{position:relative;min-height:660px;background:#e9e4da;overflow:hidden}.shop-feature__visual img{width:100%;height:100%;position:absolute;object-fit:cover}.shop-feature__content h2{font-size:clamp(50px,6vw,82px);line-height:.95;letter-spacing:-.05em;font-weight:450;margin:0 0 22px}.shop-feature__price{font-size:20px;margin-bottom:24px}.shop-feature__content>p{color:var(--muted);margin-bottom:30px}.swatch-preview{display:flex;gap:10px;margin:0 0 32px}.swatch-preview span{width:38px;height:38px;border-radius:50%;border:5px solid var(--off);box-shadow:0 0 0 1px var(--line)}.swatch-preview .is-dark{background:#111}.swatch-preview .is-brown{background:#4a3023}.swatch-preview .is-tan{background:#a5774f}.shop-notes{list-style:none;padding:16px 0 0;margin:0;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.fit-guide h2{font-size:clamp(50px,8vw,126px);line-height:.9;letter-spacing:-.06em;font-weight:450;margin:0 0 80px}
.product-story{padding-top:var(--header)}.product-hero{min-height:calc(100svh - var(--header));display:grid;grid-template-columns:minmax(0,1.45fr) minmax(380px,.75fr);background:var(--stone)}.product-hero__gallery{position:relative;min-height:720px;display:grid;place-items:center;overflow:hidden}.product-hero__gallery .product-main-image{width:100%;height:100%;object-fit:cover}.product-hero__buy{background:var(--off);padding:clamp(50px,7vw,100px) clamp(30px,5vw,74px);display:flex;flex-direction:column;justify-content:center}.product-hero__buy .product_title{font-size:clamp(46px,5vw,72px);line-height:.95;letter-spacing:-.05em;font-weight:450;margin:0 0 25px}.product-hero__buy .price{font-size:21px!important;color:var(--ink)!important;margin-bottom:26px}.product-intro{color:var(--muted);margin-bottom:22px}.product-intro p{margin:0}.product-hero form.cart{margin:0!important}.product-hero .variations{margin-bottom:20px!important}.product-hero .variations tr{display:block;margin-bottom:22px}.product-hero .variations th,.product-hero .variations td{display:block;text-align:left;padding:0!important}.product-hero .variations label{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.product-hero .variations select{width:100%;height:50px;background:transparent;border:1px solid var(--line);border-radius:0;padding:0 14px;margin-top:10px}.product-hero .single_add_to_cart_button{width:100%;height:56px;margin-top:12px!important}.product-hero .woocommerce-variation-price{margin-bottom:12px}.purchase-promises{display:flex;justify-content:space-between;margin:18px 0;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.product_meta{font-size:10px;color:var(--muted);display:grid;gap:4px}.woocommerce-product-rating{margin-bottom:12px!important}.product-proof{min-height:70vh;display:flex;flex-direction:column;justify-content:center}.product-proof h2{font-size:clamp(55px,8vw,124px);line-height:.9;letter-spacing:-.06em;font-weight:450;max-width:1150px;margin:0}.product-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.product-detail-grid>div{border-top:1px solid var(--line);padding-top:24px}.product-description{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.product-description h2{font-size:clamp(44px,6vw,82px);line-height:.95;letter-spacing:-.05em;font-weight:450;margin:0}.product-description .entry-content{font-size:18px;color:#4e4a45}.product-extras .woocommerce-tabs ul.tabs{display:flex;gap:30px;padding:0!important}.product-extras .woocommerce-tabs ul.tabs:before,.product-extras .woocommerce-tabs ul.tabs li:after,.product-extras .woocommerce-tabs ul.tabs li:before{display:none!important}.product-extras .woocommerce-tabs ul.tabs li{background:none!important;border:0!important;padding:0!important}.related.products{margin-top:100px}.related.products>h2{font-size:clamp(40px,5vw,70px);font-weight:450;letter-spacing:-.04em}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{width:auto!important;margin:0!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:18px!important;font-weight:500}.woocommerce ul.products li.product .price{color:var(--ink)!important}.woocommerce-notices-wrapper{position:relative;z-index:2}.woocommerce-message,.woocommerce-info{border-top-color:var(--ink)!important;background:var(--stone)!important}.woocommerce-message:before,.woocommerce-info:before{color:var(--ink)!important}
.page-main,.archive-main{padding:calc(var(--header) + 70px) var(--pad) 120px;min-height:65vh}.page-main__header,.archive-main__header{max-width:1000px;margin-bottom:70px}.page-main h1,.archive-main h1,.error-404 h1{font-size:clamp(52px,8vw,110px);line-height:.92;letter-spacing:-.06em;font-weight:450}.entry-content{max-width:850px}.entry-content h2{font-size:36px}.site-footer{background:var(--ink);color:#fff;padding:110px var(--pad) 24px}.site-footer__lead{padding-bottom:100px;border-bottom:1px solid #393936}.site-footer__lead h2{font-size:clamp(48px,7vw,110px);line-height:.92;letter-spacing:-.055em;font-weight:450;max-width:1100px;margin:0 0 48px}.site-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px;padding:60px 0 100px}.footer-wordmark{font-size:20px;font-weight:800;letter-spacing:.17em}.site-footer__grid p{color:#999;max-width:260px;font-size:13px}.site-footer__grid nav a,.footer-help a{display:block;color:#bbb;font-size:13px;margin-bottom:12px}.site-footer__bottom{border-top:1px solid #393936;padding-top:22px;display:flex;justify-content:space-between;font-size:9px;color:#777;letter-spacing:.12em;text-transform:uppercase}
.notched-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.notched-options{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.notched-option{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:11px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}.notched-option[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}.notched-option:disabled{opacity:.32;cursor:not-allowed}.woocommerce-main{padding-top:calc(var(--header) + 60px)}.woocommerce-cart table.cart img{width:90px}.woocommerce-cart .cart-collaterals,.woocommerce-checkout #order_review{background:var(--stone);padding:24px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{min-height:48px;border:1px solid var(--line);background:#fff;padding:10px 12px}
@media(max-width:980px){:root{--header:66px}.site-header__inner{grid-template-columns:1fr auto}.primary-nav{display:none}.header-actions{gap:10px}.menu-button{display:block}.header-shop{display:none}.site-header.is-pill .header-shop{display:inline-flex}.site-header.is-pill .bag-button>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.mobile-menu{display:block;position:fixed;inset:0;background:var(--ink);color:#fff;padding:calc(var(--header) + 56px) var(--pad) 50px;transform:translateY(-110%);opacity:0;visibility:hidden;transition:transform .5s var(--ease),opacity .35s,visibility 0s .5s;z-index:99;overflow:auto}.mobile-menu.is-open{transform:none;opacity:1;visibility:visible;transition:transform .5s var(--ease),opacity .35s,visibility 0s}.mobile-menu .menu a{display:block;font-size:clamp(36px,8vw,64px);line-height:1.2;letter-spacing:-.04em;margin-bottom:10px}.mobile-menu .button{margin-top:40px}.hero{display:flex;flex-direction:column;justify-content:flex-start;padding:0}.hero__product{position:relative;inset:auto;order:-1;flex:none;height:56svh;-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent);mask-image:linear-gradient(180deg,#000 88%,transparent)}.hero__product img{object-position:12% center}.hero .visual-label{bottom:34px}.hero__copy{width:auto;max-width:640px;padding:6px var(--pad) 64px}.hero__scroll{display:none}.manifesto,.materials__intro,.comparison{grid-template-columns:1fr}.has-motion .mechanism-copy{width:70vw}.has-motion .track{width:min(300px,26vw)}.shop-feature{grid-template-columns:1fr}.shop-feature__visual{min-height:65vw}.product-hero{grid-template-columns:1fr}.product-hero__gallery{min-height:72vw}.site-footer__grid{grid-template-columns:1fr 1fr}.lifestyle-placeholder__copy{width:55vw}}
@media(max-width:680px){.section-pad{padding-top:88px;padding-bottom:88px}.hero h1{font-size:54px;margin-bottom:22px}.hero__product{height:52svh}.hero__intro{margin-bottom:26px}.manifesto{gap:25px}.manifesto h2{font-size:42px}.mechanism-story__sticky{grid-template-columns:1fr;gap:30px;padding:58vh 24px 56px}.has-motion .mechanism-story{height:320vh}.mechanism-story__top span:last-child{display:none}.has-motion .mechanism-copy{left:24px;right:24px;bottom:96px;width:auto}.has-motion .mechanism-copy h2{font-size:64px}.has-motion .track{left:24px;right:24px;bottom:40px;width:auto;height:20px}.track i{height:10px}.statement{min-height:75vh}.statement h2{font-size:53px}.lifestyle-placeholder{min-height:78vh}.lifestyle-placeholder__frame img{object-position:60% center}.lifestyle-placeholder__frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(231,224,213,.92),transparent 62%)}.lifestyle-placeholder__copy{left:24px;right:24px;top:auto;bottom:44px;transform:none;width:auto}.lifestyle-placeholder__copy h2{font-size:43px}.materials__intro{margin-bottom:45px}.materials__intro h2{font-size:46px}.comparison h2{font-size:47px}.comparison__row{grid-template-columns:.9fr 1fr 1fr;font-size:12px;gap:10px}.shop-feature__visual{min-height:88vw}.shop-feature__content h2{font-size:48px}.fit-guide h2{font-size:52px}.product-hero__gallery{min-height:96vw}.product-hero__buy{padding:55px 24px}.product-detail-grid,.product-description{grid-template-columns:1fr}.woocommerce ul.products{grid-template-columns:1fr 1fr}.site-footer{padding-top:80px}.site-footer__lead{padding-bottom:70px}.site-footer__lead h2{font-size:49px}.site-footer__grid{grid-template-columns:1fr 1fr;padding-bottom:70px}.site-footer__grid>div:first-child{grid-column:1/-1}.site-footer__bottom{gap:20px}.cart-drawer{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v1.0.1 — product gallery, notices and pill states */
.product-notices:empty{display:none}.product-notices .woocommerce-notices-wrapper:empty{display:none}.product-notices{padding:0 var(--pad);background:var(--off)}.product-notices .woocommerce-message,.product-notices .woocommerce-info,.product-notices .woocommerce-error{margin:16px 0!important}
.woocommerce div.product.product-shell{margin:0;position:static}.woocommerce div.product .product-hero__buy.summary,.woocommerce-page div.product .product-hero__buy.summary{float:none!important;width:auto!important;margin:0!important;clear:none}
.product-hero__gallery{align-content:center}.product-hero__gallery>*{min-width:0}.woocommerce div.product .product-hero__gallery div.images,.woocommerce-page div.product .product-hero__gallery div.images{float:none!important;width:100%!important;margin:0!important}
.product-hero__gallery .woocommerce-product-gallery__wrapper{margin:0}.product-hero__gallery .woocommerce-product-gallery__image img{display:block;width:100%;height:auto}.product-hero__gallery .woocommerce-product-gallery__trigger{top:20px;right:20px}
.product-hero__gallery .flex-control-thumbs{list-style:none;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin:0!important;padding:12px!important;background:var(--stone)}.woocommerce div.product .product-hero__gallery .flex-control-thumbs li{float:none!important;width:auto!important;margin:0!important}.product-hero__gallery .flex-control-thumbs img{display:block;width:100%;cursor:pointer;opacity:.55;transition:opacity .25s}.product-hero__gallery .flex-control-thumbs img.flex-active,.product-hero__gallery .flex-control-thumbs img:hover{opacity:1}
.product-hero .reset_variations{display:inline-block;margin-top:12px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid currentColor}
.notched-option.is-unavailable{text-decoration:line-through}

/* v1.1.0 ---------------------------------------------------------------------- */
/* Pill header: once past the hero the bar collapses to a floating pill so the shop action stays in reach. */
.site-header__inner{transition:height .45s var(--ease),width .45s var(--ease),border-radius .45s var(--ease),background .35s,box-shadow .35s,padding .45s var(--ease);width:100%;margin:0 auto}
.header-shop{display:inline-flex;align-items:center;height:38px;border-radius:999px;transition:background .3s,color .3s,padding .45s var(--ease)}.header-shop__long{display:none;white-space:pre}
.site-header.is-pill{inset:10px 0 auto;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}
.site-header.is-pill .site-header__inner{pointer-events:auto;height:54px;width:min(900px,calc(100% - 20px));padding:0 8px 0 24px;border-radius:999px;background:rgba(250,249,246,.84);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 0 0 1px rgba(17,17,15,.07),0 14px 34px -20px rgba(17,17,15,.45)}
.site-header.is-pill .header-shop{padding:0 18px;background:var(--ink);color:#fff;order:3}.site-header.is-pill .header-shop:hover{background:var(--bronze)}.site-header.is-pill .header-shop__long{display:inline}
.site-header.is-pill .header-actions{gap:8px}.site-header.is-pill .wordmark{font-size:14px}
.site-header.has-open-menu .site-header__inner{background:var(--off)}
@media(max-width:980px){.site-header:not(.is-pill) .header-shop{display:none}.site-header.is-pill .site-header__inner{padding-left:18px}.site-header.is-pill .menu-button{order:4}}

/* Tone: with motion on, the page colour is one continuous scrubbed value, so toned sections go transparent. */
.has-motion .home-main{background-color:var(--off)}.has-motion .home-main [data-tone]:not([data-tone-solid]){background-color:transparent}

/* Turntable stage: invisible until a frame sequence is configured and its first frame has loaded. */
.stage{position:absolute;inset:0;width:100%;height:100%;display:none;pointer-events:none}
.has-hero-sequence .hero .stage,.has-hero-sequence .opening .stage{display:block}.has-hero-sequence .hero__product{-webkit-mask-image:none;mask-image:none}.has-hero-sequence .hero__product img,.has-hero-sequence .visual-label{visibility:hidden}
.has-hero-sequence .hero--light .stage{filter:drop-shadow(0 30px 40px rgba(60,45,25,.28))}.has-hero-sequence .opening .hero__product{background:radial-gradient(40% 55% at 60% 45%,#55544f 0%,#1d1c1b 55%,#090909 85%)}
@media(min-width:981px){.has-hero-sequence .hero__product{inset:calc(var(--header) + 2vh) 0 5vh 42%}.has-hero-sequence .opening .hero__product{inset:0}.has-hero-sequence .opening .stage{inset:calc(var(--header) + 2vh) 0 auto 42%;width:58%;height:calc(100% - var(--header) - 7vh)}}
@media(max-width:980px){.has-hero-sequence .hero__product .stage{inset:calc(var(--header) + 8px) auto auto 0;height:calc(100% - var(--header) - 20px)}.has-hero-sequence .opening .stage{height:52svh}}
.has-mech-sequence .stage--mechanism{display:block;z-index:2;inset:10vh auto auto 0;width:100%;height:62vh;will-change:transform}.has-mech-sequence .ratchet{visibility:hidden}
@media(max-width:680px){.has-mech-sequence .stage--mechanism{inset:12vh auto auto 0;height:48vh}}

/* Blur-in headlines */
.has-motion [data-blur-in]{will-change:filter,opacity}

/* Materials: rounded media cards on a stepped grid */
.material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,40px);align-items:start}
.material:nth-child(2){margin-top:clamp(40px,7vw,120px)}.material:nth-child(3){margin-top:clamp(80px,14vw,240px)}
.media-card{position:relative;aspect-ratio:4/5;border-radius:clamp(18px,2.2vw,32px);overflow:hidden;background:#1a1917;transform:translateZ(0)}
.media-card img,.media-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-card__toggle{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(17,17,15,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;display:grid;place-items:center}
.media-card__toggle span{width:10px;height:12px;border-left:3px solid #fff;border-right:3px solid #fff}.media-card__toggle[aria-pressed="true"] span{width:0;height:0;border:0;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
.material h3{font-size:clamp(26px,2.6vw,40px);font-weight:450;letter-spacing:-.035em;line-height:1.05;margin:26px 0 10px}.material p{max-width:34ch;margin:0;color:var(--muted)}.has-motion [data-tone-auto]{transition:color .35s}.has-motion [data-tone-auto] .material p{color:inherit;opacity:.7}
.product-detail-grid h3{font-size:clamp(36px,4vw,64px);font-weight:450;letter-spacing:-.04em;margin:14px 0}.product-detail-grid>div>span{font-size:10px;color:var(--muted)}

/* Wipe comparison: two drawings of the same strap. Stacked by default, overlaid and wiped when motion is on. */
.wipe{--wipe-bg:#e6e1d7;position:relative;display:grid;gap:14px}
.wipe__layer{position:relative;margin:0;border-radius:clamp(18px,2.2vw,32px);overflow:hidden;background:var(--wipe-bg)}
.wipe__layer svg{display:block;width:100%;aspect-ratio:1200/260;height:auto}
.wipe__layer figcaption{position:absolute;left:clamp(16px,2vw,30px);bottom:clamp(12px,1.6vw,24px);font-size:13px;color:#5d5952}.wipe__layer figcaption strong{display:block;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.wipe-strap{fill:#171614}.wipe-stitch{fill:none;stroke:#4d4a45;stroke-width:1.5;stroke-dasharray:7 5}.wipe-hole{fill:var(--wipe-bg);stroke:#000;stroke-width:2}.wipe-track{fill:#080807}.wipe-tooth{fill:#35322e}.wipe-tooth.is-engaged{fill:var(--bronze)}
.wipe-marker{stroke:var(--bronze);stroke-width:2.5}.wipe-marker-label{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:22px;font-weight:600;fill:#6f5232;letter-spacing:.01em}
.wipe__handle{display:none}
.has-motion .wipe{gap:0}.has-motion .wipe__layer{grid-area:1/1}.has-motion .wipe__layer--old figcaption{left:auto;right:clamp(16px,2vw,30px);text-align:right}
.has-motion .wipe__layer--new{clip-path:inset(0 100% 0 0)}
.has-motion .wipe__handle{display:block;position:absolute;top:0;bottom:0;left:0;width:2px;margin-left:-1px;background:var(--ink);opacity:.85;pointer-events:none}.has-motion .wipe__handle:after{content:"";position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px;border-radius:50%;background:var(--off);box-shadow:0 0 0 1.5px var(--ink),0 8px 18px -6px rgba(0,0,0,.55)}

/* Stats (only rendered once switched on in the Customiser) */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(40px,6vw,90px)}
.stat__num{margin:0;font-size:clamp(72px,10vw,160px);line-height:.9;letter-spacing:-.06em;font-weight:450;font-variant-numeric:tabular-nums}.stat__suffix{font-size:.42em;letter-spacing:-.03em;margin-left:.08em}
.stat__label{margin:18px 0 0;max-width:28ch;color:var(--muted)}

@media(max-width:980px){.material-grid{gap:18px}}
@media(max-width:680px){
.material-grid{grid-template-columns:1fr;gap:56px}.material,.material:nth-child(2),.material:nth-child(3){margin-top:0;width:84%}.material:nth-child(2){margin-left:auto}
.wipe__layer svg{aspect-ratio:760/260}.wipe__layer figcaption{position:static;padding:0 16px 14px;margin-top:-10px;font-size:12px}.wipe-marker-label{font-size:26px}
.stats{grid-template-columns:1fr}
}

/* v1.2.0 ---------------------------------------------------------------------- */
/* Dark hero: the buckle close-up, full screen, copy low on the left. */
.hero--dark{background:none;color:#fff;align-items:end;padding-bottom:clamp(64px,10vh,120px);margin-top:-100vh;margin-top:-100svh;z-index:1}
.opening{position:relative;background:#090909}.opening__media{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}.opening .hero__product{inset:0;-webkit-mask-image:none;mask-image:none}.opening .hero__product img{object-position:center}
.opening .hero__product:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,9,9,.92) 0%,rgba(9,9,9,.35) 38%,rgba(9,9,9,0) 62%),linear-gradient(90deg,rgba(9,9,9,.5) 0%,rgba(9,9,9,0) 50%),linear-gradient(180deg,rgba(9,9,9,.55) 0%,rgba(9,9,9,0) 22%)}
.opening .visual-label{z-index:2;left:auto;right:22px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:rgba(255,255,255,.55);padding:0}.hero--dark .hero__copy{width:min(760px,62vw)}.hero--dark h1{color:#fff}.hero--dark .hero__intro{color:#cfccc6}.hero--dark .hero__scroll{display:none}
.button--light:hover{background:transparent!important;color:#fff!important}
.hero-dark .site-header:not(.is-pill):not(.has-open-menu){color:#fff}.hero-dark .site-header:not(.is-pill):not(.has-open-menu) .bag-count{background:#fff;color:var(--ink)}
.hero-dark .site-header.is-scrolled:not(.is-pill):not(.has-open-menu){background:rgba(9,9,9,.55);border-bottom-color:rgba(255,255,255,.08)}
.manifesto.section-pad--dark,.statement.section-pad--dark{background:#090909}.manifesto.section-pad--dark h2{color:#fff}
@media(max-width:980px){
.hero--dark{justify-content:flex-end;padding:0}.opening .hero__product{position:absolute;inset:0;height:auto;order:0}.opening .hero__product img{object-position:64% 40%}
.opening .hero__product:after{background:linear-gradient(0deg,rgba(9,9,9,.96) 0%,rgba(9,9,9,.6) 34%,rgba(9,9,9,0) 62%),linear-gradient(180deg,rgba(9,9,9,.6) 0%,rgba(9,9,9,0) 20%)}
.hero--dark .hero__copy{width:auto;padding:0 var(--pad) 56px}.opening .visual-label{bottom:auto;top:calc(var(--header) + 6px);right:var(--pad)}
}

/* Mechanism drawing: a cutaway of the strap feeding under the pawl. Static = locked state. */
.ratchet{position:absolute;left:0;top:9vh;width:100%;height:62vh;overflow:visible}
.ratchet-shell{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.14);stroke-width:1.5}
.ratchet-plate,.ratchet-lever{fill:url(#ratchet-metal);stroke:#1a1a19;stroke-width:1.5}.ratchet-lever{opacity:.92}
.ratchet-strap{fill:url(#ratchet-leather)}.ratchet-strap-edge{fill:none;stroke:#85807a;stroke-width:1.5}
.ratchet-teeth{fill:#5a554f;stroke:#a09a90;stroke-width:1;stroke-linejoin:round}
.ratchet-pawl{fill:var(--bronze);stroke:#2a1f12;stroke-width:1.5;stroke-linejoin:round;transition:fill .3s}.ratchet.is-locked .ratchet-pawl{fill:#d9a868}
.ratchet-pivot{fill:#0c0c0b;stroke:#c9c6bf;stroke-width:2}
.ratchet-lock{fill:rgba(217,168,104,.12);stroke:#d9a868;stroke-width:1.5;opacity:0;transition:opacity .35s}.ratchet.is-locked .ratchet-lock{opacity:1}.ratchet-ring{fill:none;stroke:#d9a868;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.ratchet-labels path{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1}.ratchet-labels text{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:15px;letter-spacing:.02em;fill:#d6d3cd}
.mechanism-story__sticky{padding-top:calc(9vh + 62vh)}
@media(max-width:680px){.ratchet{top:11vh;height:46vh}.ratchet-labels{display:none}.mechanism-story__sticky{padding-top:60vh}}

/* v1.3.0 — Opening: the photograph stays pinned (CSS sticky, so it works without scripts) while the
   hero copy and then "Why Locke" travel up over it. The manifesto carries its own veil, which
   rises with the text and ends in solid black so the hand-off to the mechanism has no edge. */
.opening .manifesto{position:relative;z-index:1;min-height:115vh;min-height:115svh;align-content:center;background-color:transparent;background-image:linear-gradient(180deg,rgba(9,9,9,0) 0%,rgba(9,9,9,.74) 26%,rgba(9,9,9,.8) 70%,#090909 100%)}
.opening .manifesto h2 span{color:#b9b4ab}

/* v1.3.2 — Fit guide: a real sequence, so it reads as one. A rail with four numbered stops; across the
   top on wide screens, down the left on phones. The rail fills as you scroll through the steps. */
.fit-steps{--rail:#3a3936;list-style:none;margin:0 0 64px;padding:0;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(24px,3vw,56px)}
.fit-steps__rail{position:absolute;left:0;right:0;top:17px;height:1px;background:var(--rail)}.fit-steps__rail i{display:block;width:100%;height:100%;background:var(--bronze);transform-origin:0 50%}
.fit-step{position:relative}.fit-step__num{position:relative;z-index:1;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 1px var(--rail);font-size:11px;font-weight:600;letter-spacing:.04em;color:#a9a6a0;font-variant-numeric:tabular-nums;transition:color .3s,box-shadow .3s}
.fit-step.is-reached .fit-step__num{color:#fff;box-shadow:0 0 0 1px var(--bronze)}
.fit-step h3{font-weight:450;font-size:clamp(26px,2.4vw,36px);letter-spacing:-.03em;line-height:1.05;margin:30px 0 12px}.fit-step p{margin:0;max-width:30ch;color:#b4b1ab;font-size:15px;line-height:1.5}
.has-motion .fit-steps__rail i{transform:scaleX(0)}
@media(max-width:980px){.fit-steps{grid-template-columns:1fr 1fr;row-gap:48px}.fit-steps__rail{display:none}}
@media(max-width:680px){
.fit-guide h2{margin-bottom:48px}
.fit-steps{grid-template-columns:1fr;row-gap:0;margin-bottom:44px}
.fit-steps__rail{display:block;left:17px;right:auto;top:18px;bottom:18px;width:1px;height:auto}.fit-steps__rail i{transform-origin:50% 0}.has-motion .fit-steps__rail i{transform:scaleY(0)}
.fit-step{display:grid;grid-template-columns:35px 1fr;column-gap:20px;padding-bottom:36px}.fit-step:last-child{padding-bottom:0}
.fit-step h3{margin:3px 0 8px;font-size:28px}.fit-step p{max-width:none}
}

/* v1.4.0 ---------------------------------------------------------------------- */
/* Slider controls: shared by "Choose yours", "Also in the range" and the product gallery */
.slider-nav{display:flex;align-items:center;gap:10px}
.slider-nav__count{margin-right:6px;font-size:11px;letter-spacing:.14em;color:var(--muted);font-variant-numeric:tabular-nums}.slider-nav__count b{color:var(--ink);font-weight:600}
.slider-nav__button{width:52px;height:52px;border-radius:50%;border:1px solid rgba(17,17,15,.22);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0;transition:background .3s,color .3s,border-color .3s,transform .2s var(--ease),opacity .3s}
.slider-nav__button--prev svg{transform:scaleX(-1)}
.slider-nav__button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:#fff}.slider-nav__button:active:not(:disabled){transform:scale(.94)}.slider-nav__button:disabled{opacity:.28;cursor:default}

/* Choose yours: one belt per slide, native swipe */
.shop-feature{display:block}
.shop-feature__head{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;margin-bottom:clamp(22px,3vw,44px)}.shop-feature__head .eyebrow{margin:0}
.shop-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.shop-track::-webkit-scrollbar{display:none}
.shop-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.7fr);gap:7vw;align-items:center}
.shop-feature__visual{display:block}
.is-slider .shop-slide .shop-feature__content{transition:opacity .45s var(--ease)}.is-slider .shop-slide:not(.is-current) .shop-feature__content{opacity:.25}
.finish-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;padding:0;margin:0 0 30px;font-size:12px;color:var(--muted)}.finish-list li{display:inline-flex;align-items:center;gap:7px}.finish-list i{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1px rgba(17,17,15,.18)}
@media(max-width:980px){.shop-slide{grid-template-columns:1fr;gap:34px;align-items:start}}
@media(max-width:680px){.slider-nav__button{width:46px;height:46px}}

/* Product page ---------------------------------------------------------------- */
.pdp{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(400px,.9fr);align-items:start;min-height:0;background:var(--off)}
.pdp__gallery{position:sticky;top:var(--header);height:calc(100vh - var(--header));height:calc(100svh - var(--header));background:var(--stone);overflow:hidden}
.pdp__gallery .woocommerce-product-gallery{height:100%;margin:0!important;float:none!important;width:100%!important;opacity:1!important}
.pdp__gallery .woocommerce-product-gallery__wrapper{display:flex;height:100%;margin:0;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.pdp__gallery .woocommerce-product-gallery__wrapper::-webkit-scrollbar{display:none}
.pdp__gallery .woocommerce-product-gallery__image{flex:0 0 100%;min-width:0;height:100%;scroll-snap-align:start;scroll-snap-stop:always}.pdp__gallery .woocommerce-product-gallery__image a{display:block;height:100%}
.pdp__gallery .woocommerce-product-gallery__image img{display:block;width:100%!important;height:100%!important;object-fit:cover}
.pdp__gallery .woocommerce-product-gallery__trigger{top:18px;right:18px;z-index:3}
.pdp__placeholder{position:relative;height:100%}.pdp__placeholder img{width:100%;height:100%;object-fit:cover}
.pdp__gallery .slider-nav{position:absolute;z-index:3;left:18px;right:18px;bottom:18px}.pdp__gallery .slider-nav__count{margin-right:auto;padding:9px 14px;border-radius:999px;background:rgba(250,249,246,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.pdp__gallery .slider-nav__button{background:rgba(250,249,246,.82);border-color:transparent;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.pdp__buy{justify-content:flex-start;padding:clamp(40px,5vw,80px) clamp(24px,4.5vw,70px) clamp(50px,6vw,90px);min-height:calc(100svh - var(--header))}
.pdp__buy .product-intro{color:var(--muted);margin-bottom:22px}.pdp__buy .product-intro p{margin:0}
.pdp__sizing{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.pdp__sizing strong{color:var(--ink);font-weight:600}.pdp__sizing a{color:var(--ink);border-bottom:1px solid currentColor;white-space:nowrap}
ul.purchase-promises{list-style:none;padding:16px 0 0;margin:0;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.notched-option{display:inline-flex;align-items:center;gap:8px}.notched-option__dot{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1px rgba(17,17,15,.2);flex:none}.notched-option[aria-pressed="true"] .notched-option__dot{box-shadow:0 0 0 1px rgba(255,255,255,.5)}
@media(max-width:980px){.pdp{grid-template-columns:1fr}.pdp__gallery{position:relative;top:auto;height:auto;aspect-ratio:1/1.08}.pdp__buy{min-height:0;padding:34px var(--pad) 56px}}

.pdp-reasons h2,.pdp-specs h2,.pdp-faq h2{font-size:clamp(34px,4.2vw,64px);line-height:1;letter-spacing:-.045em;font-weight:450;margin:0 0 clamp(34px,5vw,70px)}
.pdp-reasons__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,40px);align-items:start}
.pdp-reasons .material p{max-width:36ch;margin-top:22px;font-size:17px;line-height:1.45;color:var(--muted)}.pdp-reasons .material p strong{color:var(--ink);font-weight:600}
@media(max-width:680px){.pdp-reasons__grid{grid-template-columns:1fr;gap:48px}}

.pdp-mechanism{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,100px);align-items:center;background:#090909}
.pdp-mechanism h2{font-size:clamp(38px,4.6vw,72px);line-height:.98;letter-spacing:-.05em;font-weight:450;margin:0 0 36px}
.pdp-steps{list-style:none;counter-reset:step;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.14)}.pdp-steps li{counter-increment:step;display:grid;grid-template-columns:44px 96px 1fr;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#b9b6b0}.pdp-steps li:before{content:"0" counter(step);font-size:11px;letter-spacing:.08em;color:#8a8780}.pdp-steps strong{color:#fff;font-weight:500}
.pdp-mechanism__drawing{position:relative;aspect-ratio:5/3.4;border-radius:clamp(18px,2.2vw,32px);overflow:hidden;background:radial-gradient(70% 60% at 50% 45%,#2c2b29 0%,#121211 100%)}
.pdp-mechanism .ratchet{position:absolute;inset:0;top:0;width:100%;height:100%}.pdp-mechanism .ratchet-labels{display:none}
@media(max-width:980px){.pdp-mechanism{grid-template-columns:1fr}.pdp-steps li{grid-template-columns:36px 84px 1fr}.pdp-mechanism .ratchet-labels{display:none}}

.pdp-specs{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,120px);align-items:start}.pdp-specs>div:only-child{grid-column:1/-1;max-width:820px}
.pdp-specs__included ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.pdp-specs__included li{padding:16px 0;border-bottom:1px solid var(--line)}
.pdp-specs table.woocommerce-product-attributes{width:100%;border:0!important;border-collapse:collapse;border-top:1px solid var(--line)!important;margin:0}
.pdp-specs .woocommerce-product-attributes th,.pdp-specs .woocommerce-product-attributes td{padding:16px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;background:none!important;text-align:left;vertical-align:top;font-style:normal!important}
.pdp-specs .woocommerce-product-attributes th{width:38%;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding-top:20px!important}.pdp-specs .woocommerce-product-attributes td p{margin:0;padding:0!important}
@media(max-width:980px){.pdp-specs{grid-template-columns:1fr}}

.pdp-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,7vw,120px);align-items:start}
.pdp-faq__list{border-top:1px solid rgba(17,17,15,.16)}
.faq{border-bottom:1px solid rgba(17,17,15,.16)}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;cursor:pointer;font-size:clamp(18px,1.6vw,22px);letter-spacing:-.015em}.faq summary::-webkit-details-marker{display:none}
.faq summary i{position:relative;flex:none;width:16px;height:16px}.faq summary i:before,.faq summary i:after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:currentColor;transition:transform .35s var(--ease)}.faq summary i:after{transform:rotate(90deg)}.faq[open] summary i:after{transform:rotate(0)}
.faq__answer{padding:0 40px 26px 0;max-width:62ch;color:var(--muted)}.faq__answer p{margin:0 0 12px}.faq__answer a{color:var(--ink);border-bottom:1px solid currentColor}
@media(max-width:980px){.pdp-faq{grid-template-columns:1fr}.pdp-faq h2{margin-bottom:18px}}

.pdp-reviews #reviews{max-width:860px}.pdp-reviews h2{font-size:clamp(30px,3.4vw,52px);font-weight:450;letter-spacing:-.04em}
.shop-feature--range{border-top:1px solid var(--line)}

/* Sticky buy bar */
.buy-bar{position:fixed;z-index:90;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:min(720px,calc(100% - 20px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 8px 24px;border-radius:999px;background:rgba(250,249,246,.88);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 0 0 1px rgba(17,17,15,.07),0 18px 40px -18px rgba(17,17,15,.5);transform:translate(-50%,140%);transition:transform .5s var(--ease)}
.buy-bar[hidden]{display:none}.buy-bar.is-visible{transform:translate(-50%,0)}
.buy-bar__info{min-width:0;display:flex;flex-direction:column;line-height:1.25}.buy-bar__info strong{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buy-bar__info span{font-size:13px;color:var(--muted)}.buy-bar__info del{opacity:.6}.buy-bar__info ins{text-decoration:none}
.buy-bar__button{flex:none;height:46px!important;min-height:0;padding:0 26px!important;border-radius:999px!important;white-space:nowrap}
.has-buy-bar .site-footer{padding-bottom:96px}
@media(prefers-reduced-motion:reduce){.buy-bar{transition:none}}

/* v1.5.0 ---------------------------------------------------------------------- */
/* Header "Shop" panel */
.site-header__inner{position:relative}
.primary-nav{align-items:center;gap:clamp(22px,3vw,46px)}@media(min-width:981px){.primary-nav{display:flex}}
.shop-menu__toggle{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.shop-menu__toggle svg{transition:transform .35s var(--ease)}.shop-menu.is-open .shop-menu__toggle svg{transform:rotate(180deg)}
.shop-panel{position:absolute;z-index:5;top:100%;left:50%;width:min(640px,calc(100vw - 40px));padding-top:12px;transform:translate(-50%,-8px);opacity:0;visibility:hidden;transition:opacity .3s,transform .4s var(--ease),visibility 0s .4s}
.shop-menu.is-open .shop-panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .3s,transform .4s var(--ease),visibility 0s}
.shop-panel__inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px clamp(24px,3vw,48px);padding:28px 30px 24px;border-radius:26px;background:var(--off);color:var(--ink);box-shadow:0 0 0 1px rgba(17,17,15,.07),0 30px 60px -28px rgba(17,17,15,.5)}
.shop-panel ul{list-style:none;margin:0;padding:0}
.shop-panel a:after{display:none}
.shop-panel__heading{display:flex;justify-content:space-between;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--line);font-size:10px!important;letter-spacing:.14em!important;color:var(--muted)}.shop-panel__heading:hover{color:var(--ink)}
.shop-panel__item{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto;column-gap:16px;align-items:center;padding:10px 8px;margin:0 -8px;border-radius:16px;text-transform:none!important;letter-spacing:0!important;transition:background .25s}.shop-panel__item:hover{background:var(--stone)}
.shop-panel__thumb{grid-row:1/3;width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--stone)}.shop-panel__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.shop-panel__name{align-self:center;font-size:15px;font-weight:500;letter-spacing:-.01em}.shop-panel__price{align-self:start;font-size:13px;font-weight:400;color:var(--muted)}
.shop-panel__all{grid-column:1/-1;justify-self:start;margin-top:10px;font-size:10px!important}

/* Phone menu: the ranges first, then the rest */
.mobile-shop{margin-bottom:34px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.14)}.mobile-shop ul{list-style:none;margin:0 0 22px;padding:0}.mobile-shop__group:last-child ul{margin-bottom:0}
.mobile-shop__heading{display:block;margin-bottom:8px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#a9a6a0}
.mobile-shop li a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;font-size:26px;letter-spacing:-.03em;line-height:1.15}.mobile-shop li a span{font-size:13px;letter-spacing:0;color:#a9a6a0;white-space:nowrap}
.mobile-menu .mobile-shop~.menu a{font-size:clamp(26px,6vw,40px)}

/* Shop and category pages */
.shop-main{padding:calc(var(--header) + clamp(40px,6vw,90px)) var(--pad) clamp(80px,10vw,150px);min-height:70vh}
.shop-main__header{margin-bottom:clamp(36px,5vw,70px)}.shop-main__header h1{font-size:clamp(52px,8vw,118px);line-height:.92;letter-spacing:-.06em;font-weight:450;margin:0 0 22px}
.shop-main__intro{max-width:56ch;color:var(--muted);margin-bottom:26px}.shop-main__intro p{margin:0}
.range-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.range-pills a{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 18px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:500;transition:background .25s,color .25s,border-color .25s}.range-pills a:hover{border-color:var(--ink)}.range-pills a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}.range-pills sup{font-size:9px;opacity:.6;top:-.2em;position:relative}
.product-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(34px,4vw,70px) clamp(20px,2.4vw,40px)}.product-grid:has(li:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}.product-grid--single{grid-template-columns:minmax(0,720px)}
.product-card__link{display:block}
.product-card__media{display:block;position:relative;aspect-ratio:4/5;border-radius:clamp(18px,2.2vw,32px);overflow:hidden;background:var(--stone);transform:translateZ(0)}
.product-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),opacity .5s}.product-card__alt{opacity:0}
.product-card__link:hover .product-card__media img{transform:scale(1.035)}.product-card__link:hover .has-alt .product-card__alt{opacity:1}
.product-card__flag{position:absolute;left:16px;top:16px;padding:7px 12px;border-radius:999px;background:rgba(250,249,246,.86);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.product-card__row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:20px}.product-card__name{font-size:clamp(20px,1.9vw,28px);font-weight:450;letter-spacing:-.03em;line-height:1.1}.product-card__price{color:var(--muted);white-space:nowrap}.product-card__price del{opacity:.55}.product-card__price ins{text-decoration:none;color:var(--ink)}
.product-card__finishes{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:12px;color:var(--muted)}.product-card__finishes i{width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 1px rgba(17,17,15,.18)}.product-card__finishes em{font-style:normal;margin-left:6px}
.shop-main .woocommerce-pagination{margin-top:60px}.shop-main__empty{font-size:20px}
@media(max-width:680px){.product-grid,.product-grid:has(li:nth-child(5)){grid-template-columns:1fr}}

/* v1.5.1 — manifesto promise: full colour, lit word by word (motion.js). Without motion it keeps the two-tone. */
.manifesto h2 span.is-split,.opening .manifesto h2 span.is-split,.manifesto h2 span.word,.opening .manifesto h2 span.word{color:inherit}.manifesto h2 .word{display:inline-block;will-change:opacity}

/* v1.6.0 — Basket, checkout, order received and account ------------------------------------
   Covers both WooCommerce flavours: the Cart/Checkout blocks (wc-block-*) and the classic
   shortcodes (table.cart, form.checkout). The theme's 850px reading width is lifted here. */
.page-main--shop{padding-top:calc(var(--header) + clamp(28px,4vw,56px));padding-bottom:clamp(70px,9vw,130px)}
.page-main--shop .page-main__header{max-width:1240px;margin:0 auto clamp(26px,3.4vw,48px)}
.page-main--shop h1{font-size:clamp(40px,5.4vw,76px);line-height:.95;letter-spacing:-.05em;margin:0}
.page-main--shop .entry-content{max-width:1240px;margin:0 auto}
.page-main--shop .entry-content>*{max-width:none;margin-left:0;margin-right:0}
.page-main--shop .entry-content h2,.page-main--shop .entry-content h3{font-size:clamp(20px,1.8vw,24px);font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:0 0 18px}

/* Notices (both flavours) */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notices-wrapper .woocommerce-message{border:0!important;border-radius:16px;background:var(--stone)!important;color:var(--ink)!important;padding:16px 20px!important;margin:0 0 24px!important;list-style:none;font-size:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.woocommerce-message:before,.woocommerce-info:before,.woocommerce-error:before{display:none!important}.woocommerce-error{background:#f6e4df!important}
.woocommerce-message .button,.woocommerce-info .button{order:2;margin-left:auto!important;white-space:nowrap;float:none!important;min-height:38px!important;padding:0 18px!important}
.woocommerce-info a,.woocommerce-message a:not(.button){border-bottom:1px solid currentColor}
.wc-block-components-notice-banner{border-radius:16px!important;border-width:1px!important;padding:14px 18px!important;font-size:14px!important}

/* ---- Blocks: shared ---- */
.wc-block-components-sidebar-layout{margin-bottom:0!important}
.wc-block-cart .wc-block-components-sidebar,.wc-block-checkout .wc-block-components-sidebar,.wc-block-checkout__sidebar{background:var(--stone);border-radius:clamp(18px,2vw,28px);padding:clamp(20px,2.2vw,32px)!important;align-self:flex-start}
.wc-block-components-sidebar .wc-block-components-panel,.wc-block-components-sidebar .wc-block-components-totals-item,.wc-block-components-sidebar .wc-block-components-totals-coupon,.wc-block-components-sidebar .wc-block-components-totals-shipping{padding-left:0!important;padding-right:0!important}
.wc-block-components-totals-wrapper{border-top-color:var(--line)!important;padding:16px 0!important}.wc-block-components-totals-wrapper:first-of-type{border-top:0!important}
.wc-block-cart__totals-title,.wc-block-components-title,.wc-block-components-checkout-step__title,.wc-block-components-checkout-order-summary__title-text{font-family:inherit!important;font-size:clamp(18px,1.6vw,22px)!important;font-weight:500!important;letter-spacing:-.02em!important;text-transform:none!important;color:var(--ink)!important}
.wc-block-cart__totals-title{padding:0 0 12px!important;margin:0!important;text-align:left!important}
.wc-block-components-totals-item__label,.wc-block-components-totals-item__value{font-size:15px}.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:16px;font-weight:600}.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:-.02em}
.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{min-height:56px!important;padding:0 28px!important;border:1px solid var(--ink)!important;border-radius:999px!important;background:var(--ink)!important;color:#fff!important;font-family:inherit!important;font-size:11px!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;text-decoration:none!important;box-shadow:none!important;transition:background .3s,color .3s!important}
.wc-block-components-button:not(.is-link):hover,.wc-block-cart__submit-button:hover{background:transparent!important;color:var(--ink)!important}
.wc-block-components-button:not(.is-link):disabled,.wc-block-components-button:not(.is-link)[aria-disabled=true]{opacity:.45}
.wc-block-cart__submit-container{margin-top:8px}.wc-block-cart__submit-button{width:100%}
.wc-block-components-text-input input,.wc-block-components-text-input.is-active input,.wc-blocks-components-select .wc-blocks-components-select__container,.wc-block-components-textarea,.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{border-radius:12px!important;border-color:rgba(17,17,15,.22)!important;background:#fff!important;color:var(--ink)!important;font-family:inherit!important}
.wc-block-components-text-input input:focus,.wc-blocks-components-select .wc-blocks-components-select__container:focus-within,.wc-block-components-textarea:focus{border-color:var(--ink)!important;box-shadow:0 0 0 1px var(--ink)!important;outline:0!important}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{border-radius:6px!important;border-color:rgba(17,17,15,.4)!important}.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--ink)!important;border-color:var(--ink)!important}.wc-block-components-checkbox__mark{fill:#fff!important}
.wc-block-components-radio-control__input:checked:before{background:var(--ink)!important}.wc-block-components-radio-control__input:checked{border-color:var(--ink)!important}
.wc-block-components-radio-control-accordion-option,.wc-block-components-radio-control__option{border-radius:14px}.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{box-shadow:inset 0 0 0 1.5px var(--ink)!important;border-radius:14px!important}
.wc-block-components-product-name{font-size:17px!important;font-weight:500!important;letter-spacing:-.01em;color:var(--ink)!important;text-decoration:none!important}
.wc-block-components-product-metadata,.wc-block-components-product-details{font-size:13px!important;color:var(--muted)!important}
.wc-block-components-product-badge,.wc-block-components-sale-badge{border-radius:999px!important;border-color:var(--line)!important;font-size:9px!important;letter-spacing:.1em}
.wc-block-components-totals-coupon-link,.wc-block-components-panel__button{color:var(--ink)!important;font-size:14px!important}
.wc-block-components-totals-coupon__form{gap:8px}.wc-block-components-totals-coupon__button{min-height:50px!important;padding:0 20px!important}

/* ---- Blocks: basket ---- */
.wc-block-cart table.wc-block-cart-items,.wc-block-cart table.wc-block-cart-items td,.wc-block-cart table.wc-block-cart-items th{border-color:var(--line)!important;background:none!important}
.wc-block-cart table.wc-block-cart-items{margin:0!important}
.wc-block-cart-items__header th{padding-top:0!important;font-size:10px!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--muted)!important}
.wc-block-cart.is-large .wc-block-cart-items__row td{padding-top:24px!important;padding-bottom:24px!important}
.wc-block-cart.is-large .wc-block-cart-item__image{width:112px}.wc-block-cart-item__image img{width:96px!important;max-width:none;aspect-ratio:1;object-fit:cover;border-radius:14px;background:var(--stone)}
.wc-block-cart-item__total{font-size:16px}.wc-block-cart-item__prices{color:var(--muted);font-size:14px}
.wc-block-components-quantity-selector{border-radius:999px!important;border:1px solid rgba(17,17,15,.22)!important;overflow:hidden;width:112px!important;min-height:42px}.wc-block-components-quantity-selector:after{display:none!important}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input,.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{background:none!important;box-shadow:none!important;color:var(--ink)!important;font-size:15px!important}
.wc-block-cart-item__remove-link{font-size:12px!important;color:var(--muted)!important;text-decoration:underline!important;text-underline-offset:3px}
.wc-block-cart__empty-cart__title{font-size:clamp(28px,3.4vw,48px)!important;font-weight:450!important;letter-spacing:-.04em}.wc-block-cart__empty-cart__title.with-empty-cart-icon:before{display:none!important}
.wp-block-woocommerce-empty-cart-block .wp-block-separator{border-color:var(--line);margin:48px auto}.wp-block-woocommerce-empty-cart-block h2{text-align:left!important}

/* ---- Blocks: checkout ---- */
.wc-block-checkout__form .wc-block-components-checkout-step{margin-bottom:34px;padding-bottom:0}
.wc-block-components-checkout-step__heading{margin:0!important}.wc-block-components-checkout-step__heading-container{gap:4px!important;margin-bottom:4px!important}.wc-block-components-checkout-step__description:empty{display:none}.wc-block-components-checkout-step__description{color:var(--muted)!important;font-size:14px!important}
.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title:before{color:var(--bronze);font-weight:600}
.wc-block-checkout__actions{padding-top:24px!important;border-top:1px solid var(--line)}.wc-block-checkout__actions_row{gap:16px}.wc-block-components-checkout-return-to-cart-button{color:var(--ink)!important;font-size:13px!important}
.wc-block-checkout__terms{font-size:13px!important;color:var(--muted)}
.wc-block-components-order-summary-item__image img{border-radius:10px!important}.wc-block-components-order-summary-item__quantity{background:var(--ink)!important;color:#fff!important;border:0!important;box-shadow:0 0 0 2px var(--stone)!important}
.wc-block-components-express-payment,.wc-block-components-express-payment__content{border-radius:16px!important}.wc-block-components-express-payment-continue-rule{color:var(--muted)}

/* ---- Classic shortcode: shared controls ---- */
.page-main--shop .woocommerce form .form-row{padding:0;margin:0 0 16px}
.page-main--shop .woocommerce form .form-row label{display:block;margin-bottom:6px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.4}
.page-main--shop .woocommerce form .form-row label.checkbox,.page-main--shop .woocommerce form .form-row label.woocommerce-form__label-for-checkbox{font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);display:flex;gap:10px;align-items:flex-start}
.page-main--shop .woocommerce .input-text,.page-main--shop .woocommerce select,.page-main--shop .woocommerce textarea,.page-main--shop .select2-container--default .select2-selection--single{width:100%;min-height:52px;padding:0 16px;border:1px solid rgba(17,17,15,.22);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:1.3;box-shadow:none}
.page-main--shop .woocommerce textarea{padding:14px 16px;min-height:110px}
.page-main--shop .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:50px;padding:0;color:var(--ink)}.page-main--shop .select2-container--default .select2-selection--single .select2-selection__arrow{height:50px;right:10px}
.page-main--shop .woocommerce .input-text:focus,.page-main--shop .woocommerce select:focus,.page-main--shop .woocommerce textarea:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);outline:0}
.page-main--shop .woocommerce table.shop_table{border:0;border-radius:0;border-collapse:collapse;margin:0;width:100%}
.page-main--shop .woocommerce table.shop_table th{padding:0 12px 14px 0;border:0;border-bottom:1px solid var(--line);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left}
.page-main--shop .woocommerce table.shop_table td{padding:22px 12px 22px 0;border:0;border-top:0;border-bottom:1px solid var(--line);vertical-align:middle;background:none}

/* ---- Classic: basket ---- */
.woocommerce-cart .page-main--shop .woocommerce:has(>.woocommerce-cart-form){display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.woocommerce-cart .page-main--shop .woocommerce-notices-wrapper,.woocommerce-cart .page-main--shop .cart-empty,.woocommerce-cart .page-main--shop .return-to-shop,.woocommerce-cart .page-main--shop .wc-empty-cart-message{grid-column:1/-1}
.woocommerce-cart table.cart .product-thumbnail{width:112px}.woocommerce-cart table.cart img{width:96px;aspect-ratio:1;object-fit:cover;border-radius:14px;background:var(--stone)}
.woocommerce-cart table.cart .product-name a{font-size:17px;font-weight:500;letter-spacing:-.01em}.woocommerce-cart table.cart .product-name dl.variation{margin:6px 0 0;font-size:13px;color:var(--muted)}.woocommerce-cart table.cart .product-name dl.variation dt,.woocommerce-cart table.cart .product-name dl.variation dd{display:inline;margin:0;float:none;font-weight:400}.woocommerce-cart table.cart .product-name dl.variation dd p{display:inline;margin:0}.woocommerce-cart table.cart .product-name dl.variation dd:after{content:"";display:block}
.woocommerce-cart table.cart .product-remove{width:36px;padding-right:0}.woocommerce-cart table.cart a.remove{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);color:var(--ink)!important;font-size:16px;font-weight:400;line-height:1;background:none}.woocommerce-cart table.cart a.remove:hover{background:var(--ink);color:#fff!important}
.page-main--shop .woocommerce .quantity .qty{width:84px;min-height:44px;padding:0 8px;border-radius:999px;text-align:center}
.woocommerce-cart table.cart td.actions{padding:22px 0 0;border-bottom:0}.woocommerce-cart table.cart td.actions .coupon{display:flex;gap:8px;float:none;margin-bottom:12px;max-width:440px}.woocommerce-cart table.cart td.actions .coupon .input-text{width:auto;flex:1;min-height:48px;margin:0;border-radius:999px;padding:0 18px;border-color:rgba(17,17,15,.22)}.woocommerce-cart table.cart td.actions .coupon label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.woocommerce-cart table.cart td.actions .button{min-height:48px;float:none}.woocommerce-cart table.cart td.actions>.button{background:none!important;color:var(--ink)!important;border:1px solid var(--line)!important}.woocommerce-cart table.cart td.actions>.button:disabled{opacity:.4}
.woocommerce-cart .cart-collaterals{width:auto;float:none;padding:clamp(20px,2.2vw,32px);border-radius:clamp(18px,2vw,28px);position:sticky;top:calc(var(--header) + 20px)}
.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%}.woocommerce-cart .cart-collaterals .cross-sells{display:none}
.woocommerce-cart .cart_totals table.shop_table th,.woocommerce-cart .cart_totals table.shop_table td{padding:14px 0;font-size:15px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ink);border-bottom:1px solid var(--line);vertical-align:top}.woocommerce-cart .cart_totals table.shop_table td{text-align:right}
.woocommerce-cart .cart_totals .order-total th,.woocommerce-cart .cart_totals .order-total td{border-bottom:0;font-weight:600}.woocommerce-cart .cart_totals .order-total .amount{font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:-.02em}
.woocommerce-cart .wc-proceed-to-checkout{padding:14px 0 0}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin:0;font-size:11px;padding:0 20px}
.woocommerce-cart .cart-empty{font-size:clamp(24px,3vw,40px);letter-spacing:-.03em}

/* ---- Classic: checkout ---- */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr);column-gap:clamp(28px,4vw,64px);align-items:start}
.woocommerce-checkout form.checkout>.woocommerce-NoticeGroup,.woocommerce-checkout form.checkout>.woocommerce-error{grid-column:1/-1}
.woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:1/span 3;float:none;width:auto}
.woocommerce-checkout form.checkout #customer_details .col-1,.woocommerce-checkout form.checkout #customer_details .col-2{float:none;width:100%;margin-bottom:28px}
.woocommerce-checkout form.checkout #order_review_heading{grid-column:2;margin:0;padding:clamp(20px,2.2vw,32px) clamp(20px,2.2vw,32px) 0;background:var(--stone);border-radius:clamp(18px,2vw,28px) clamp(18px,2vw,28px) 0 0}
.woocommerce-checkout #order_review{grid-column:2;padding:16px clamp(20px,2.2vw,32px) clamp(20px,2.2vw,32px);border-radius:0 0 clamp(18px,2vw,28px) clamp(18px,2vw,28px)}
.woocommerce-checkout #order_review table.shop_table th,.woocommerce-checkout #order_review table.shop_table td{padding:14px 0;font-size:15px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ink)}.woocommerce-checkout #order_review table.shop_table thead th{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}.woocommerce-checkout #order_review table.shop_table td:last-child,.woocommerce-checkout #order_review table.shop_table th:last-child{text-align:right}
.woocommerce-checkout #order_review .order-total .amount{font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:-.02em}.woocommerce-checkout #order_review tfoot tr:last-child th,.woocommerce-checkout #order_review tfoot tr:last-child td{border-bottom:0}
.woocommerce-checkout #payment{background:none;border-radius:0;margin-top:10px}.woocommerce-checkout #payment ul.payment_methods{padding:0 0 16px;border-bottom:1px solid var(--line);list-style:none;margin:0}.woocommerce-checkout #payment ul.payment_methods li{padding:10px 0}.woocommerce-checkout #payment ul.payment_methods li label{font-size:15px}
.woocommerce-checkout #payment div.payment_box{background:#fff;border-radius:14px;color:var(--ink);font-size:14px;margin:10px 0 0;padding:14px 16px}.woocommerce-checkout #payment div.payment_box:before{display:none}
.woocommerce-checkout #payment div.form-row.place-order{padding:18px 0 0;margin:0}.woocommerce-checkout #payment #place_order{float:none;width:100%;min-height:56px;font-size:11px}
.woocommerce-checkout .woocommerce-privacy-policy-text,.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--muted)}
.woocommerce-checkout .woocommerce-form-coupon-toggle,.woocommerce-checkout .woocommerce-form-login-toggle{margin:0}
.woocommerce-checkout form.checkout_coupon,.woocommerce-checkout form.woocommerce-form-login{border:1px solid var(--line);border-radius:16px;padding:20px;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.woocommerce-checkout form.checkout_coupon p{margin:0;float:none;width:auto}.woocommerce-checkout form.checkout_coupon .form-row-first{flex:1;min-width:200px}

/* ---- Order received + account ---- */
.woocommerce-order .woocommerce-thankyou-order-received{font-size:clamp(22px,2.4vw,32px);letter-spacing:-.03em;margin:0 0 28px}
.woocommerce-order ul.woocommerce-order-overview{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding:clamp(20px,2.2vw,32px);margin:0 0 40px;background:var(--stone);border-radius:clamp(18px,2vw,28px)}.woocommerce-order ul.woocommerce-order-overview li{float:none;margin:0;padding:0;border:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.woocommerce-order ul.woocommerce-order-overview li strong{display:block;margin-top:6px;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:500}
.woocommerce-order .woocommerce-customer-details address{border:1px solid var(--line);border-radius:16px;padding:20px;font-style:normal}
.woocommerce-account .page-main--shop .entry-content>.woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:12px 16px;border-radius:12px;font-size:14px}.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,.woocommerce-account .woocommerce-MyAccount-navigation a:hover{background:var(--stone)}
.woocommerce-account:not(.logged-in) .page-main--shop .entry-content>.woocommerce{display:block;max-width:520px}

@media(max-width:980px){
.woocommerce-cart .page-main--shop .woocommerce:has(>.woocommerce-cart-form),.woocommerce-checkout form.checkout,.woocommerce-account .page-main--shop .entry-content>.woocommerce{grid-template-columns:minmax(0,1fr)}.woocommerce-cart-form,.cart-collaterals{min-width:0}
.woocommerce-checkout form.checkout #customer_details,.woocommerce-checkout form.checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto}
.woocommerce-cart .cart-collaterals{position:static}
.wc-block-cart .wc-block-components-sidebar{margin-top:28px}
}
@media(max-width:680px){
.woocommerce-cart table.cart.shop_table_responsive tr{display:grid;grid-template-columns:96px 1fr auto;gap:4px 16px;padding:20px 0;border-bottom:1px solid var(--line);position:relative}
.woocommerce-cart table.cart.shop_table_responsive thead{display:none}.woocommerce-cart table.cart.shop_table_responsive,.woocommerce-cart table.cart.shop_table_responsive tbody{display:block;width:100%}.page-main--shop .woocommerce table.shop_table_responsive tr:nth-child(2n) td{background:none}.woocommerce-cart table.cart td.actions .coupon{width:100%}.woocommerce-cart table.cart td.actions .coupon .input-text{width:auto!important;min-width:0;float:none}.woocommerce-cart table.cart td.actions .coupon .button{width:auto!important;flex:none;float:none;white-space:nowrap;padding:0 18px!important}
.woocommerce-cart table.cart.shop_table_responsive tr td{display:block;padding:0!important;border:0!important;text-align:left!important;background:none!important}.woocommerce-cart table.cart.shop_table_responsive tr td:before{display:none!important}
.woocommerce-cart table.cart.shop_table_responsive td.product-thumbnail{display:block!important;grid-row:1/span 3;width:auto}.woocommerce-cart table.cart.shop_table_responsive td.product-name{grid-column:2}.woocommerce-cart table.cart.shop_table_responsive td.product-price{display:none}.woocommerce-cart table.cart.shop_table_responsive td.product-quantity{grid-column:2}.woocommerce-cart table.cart.shop_table_responsive td.product-subtotal{grid-column:3;grid-row:1;white-space:nowrap}
.woocommerce-cart table.cart.shop_table_responsive td.product-remove{grid-column:3;grid-row:3;justify-self:end;align-self:end;width:auto}
.woocommerce-cart table.cart.shop_table_responsive tr:last-child{display:block;border-bottom:0}.woocommerce-cart table.cart td.actions .coupon{max-width:none}.woocommerce-cart table.cart td.actions>.button{width:100%;margin-top:4px}
.wc-block-cart-item__image{width:88px}.wc-block-cart-item__image img{width:80px!important}
}

/* v1.6.1 — the real <select> behind the option pills is kept for WooCommerce but must take no space:
   WooCommerce's own min-width on it was pushing the page sideways. */
.notched-native-select,.woocommerce div.product form.cart .variations select.notched-native-select{position:absolute!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;min-height:0!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.product-hero .variations td,.product-hero .variations th{position:relative}
.pdp__buy,.pdp__buy form.cart,.pdp__buy .variations,.pdp__buy .variations tbody{min-width:0;max-width:100%}.pdp__buy table.variations{width:100%;table-layout:fixed;border:0}
/* Review form */
.pdp-reviews #review_form_wrapper{max-width:640px}.pdp-reviews .comment-reply-title{display:block;font-size:clamp(20px,1.8vw,24px);font-weight:500;letter-spacing:-.02em;margin:26px 0 8px}
.pdp-reviews .comment-form label{display:block;margin-bottom:6px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pdp-reviews .comment-form input[type=text],.pdp-reviews .comment-form input[type=email],.pdp-reviews .comment-form textarea,.pdp-reviews .comment-form select{display:block;width:100%;max-width:100%;box-sizing:border-box;min-height:52px;padding:0 16px;border:1px solid rgba(17,17,15,.22);border-radius:12px;background:#fff;font:inherit;font-size:16px}.pdp-reviews .comment-form textarea{padding:14px 16px;min-height:140px}
.pdp-reviews .comment-form .submit{min-height:52px;padding:0 28px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fff;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.pdp-reviews .comment-notes,.pdp-reviews .woocommerce-noreviews{color:var(--muted);font-size:14px}
@media(max-width:380px){.site-header.is-pill .site-header__inner{padding:0 6px 0 14px}.site-header.is-pill .header-shop{padding:0 13px;font-size:10px;letter-spacing:.06em}.site-header.is-pill .header-actions{gap:5px}.site-header.is-pill .wordmark{font-size:12px;letter-spacing:.18em}
.wc-block-cart-item__image{width:72px}.wc-block-cart-item__image img{width:60px!important}}
.pdp__buy .single_variation:empty{display:none}.pdp__buy .variations tr:last-child{margin-bottom:8px}

/* v1.7.0 — Policy pages (Delivery & Returns, and any page given the "Policy page" template) */
.policy-main{padding:calc(var(--header) + clamp(34px,5vw,80px)) var(--pad) clamp(80px,10vw,150px)}
.policy-main__header{max-width:1240px;margin:0 auto clamp(36px,5vw,72px);padding-bottom:clamp(28px,4vw,52px);border-bottom:1px solid var(--line)}
.policy-main__header h1{font-size:clamp(46px,7vw,104px);line-height:.93;letter-spacing:-.055em;font-weight:450;margin:0}
.policy-main__updated{margin:22px 0 0;font-size:12px;color:var(--muted)}
.policy-layout{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(36px,7vw,120px);align-items:start}
.policy-nav{position:sticky;top:calc(var(--header) + 24px)}.policy-nav[hidden]{display:block;visibility:hidden}
.policy-nav__title{margin:0 0 14px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.policy-nav ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.policy-nav a{display:block;margin-left:-1px;padding:8px 0 8px 18px;border-left:1px solid transparent;font-size:14px;color:var(--muted);transition:color .25s,border-color .25s}.policy-nav a:hover,.policy-nav a[aria-current]{color:var(--ink);border-left-color:var(--ink)}
.policy{max-width:70ch;font-size:17px;line-height:1.65;color:#3d3a36}
.policy>*:first-child{margin-top:0}
.policy h2{margin:clamp(44px,5vw,72px) 0 18px;padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line);font-size:clamp(26px,2.6vw,38px);line-height:1.05;letter-spacing:-.035em;font-weight:450;color:var(--ink);scroll-margin-top:calc(var(--header) + 20px)}.policy h2:first-child{border-top:0;padding-top:0}
.policy h3{margin:34px 0 10px;font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.policy p{margin:0 0 18px}.policy strong{color:var(--ink);font-weight:600}
.policy a{color:var(--ink);border-bottom:1px solid currentColor}.policy a:hover{color:var(--bronze)}
.policy ul{margin:0 0 22px;padding-left:20px}.policy ul li{margin-bottom:8px}
.policy ol{list-style:none;counter-reset:policy;margin:6px 0 26px;padding:0}.policy ol>li{counter-increment:policy;position:relative;padding:16px 0 16px 52px;border-top:1px solid var(--line)}.policy ol>li:last-child{border-bottom:1px solid var(--line)}
.policy ol>li:before{content:"0" counter(policy);position:absolute;left:0;top:18px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 1px var(--line);font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--ink)}
@media(max-width:980px){.policy-layout{grid-template-columns:minmax(0,1fr)}.policy-nav{position:static;padding:20px 22px;border-radius:20px;background:var(--stone)}.policy-nav[hidden]{display:none}.policy-nav ol{border-left:0;display:flex;flex-wrap:wrap;gap:8px}.policy-nav a{margin:0;padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--ink)}.policy-nav a[aria-current]{border-color:var(--ink)}.policy{font-size:16px}}
.purchase-promises a{border-bottom:1px solid currentColor}

/* v1.7.1 — phone spacing on the block basket and checkout, and the logged-in admin bar */
.wc-block-cart:not(.is-large) table.wc-block-cart-items .wc-block-cart-items__row{padding:20px 0!important;column-gap:16px}
.wc-block-cart:not(.is-large) table.wc-block-cart-items .wc-block-cart-items__row:first-child{padding-top:0!important}
.wc-block-cart:not(.is-large) .wc-block-cart-item__image{padding-right:0!important}.wc-block-cart:not(.is-large) .wc-block-cart-item__image img{width:80px!important}
.wc-block-cart:not(.is-large) .wc-block-cart-item__wrap>*{margin-bottom:4px}.wc-block-cart:not(.is-large) .wc-block-cart-item__quantity{margin-top:10px}
.wc-block-cart:not(.is-large) .wc-block-components-quantity-selector{min-height:40px}
/* order summary: it sits inside the stone card, so WooCommerce's own box, rules and insets go */
.wp-block-woocommerce-checkout-order-summary-block,.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill{border:0!important;border-radius:0!important}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title{margin:0!important;padding:0!important;min-height:0;border-top:0!important;border-bottom:0!important}.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content.is-open{border-bottom:0!important}.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-totals-block{padding-bottom:0}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text{margin:0!important}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary,.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill .wc-block-components-totals-coupon,.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill .wc-block-components-totals-item,.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill .wc-block-components-totals-shipping,.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill .wc-block-components-panel{padding-left:0!important;padding-right:0!important}
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content{margin-top:14px}
.wc-block-checkout__sidebar{margin-bottom:28px!important}
/* dropdowns match the text fields */
.wc-blocks-components-select .wc-blocks-components-select__select{border-radius:12px!important;border-color:rgba(17,17,15,.22)!important;color:var(--ink)!important}.wc-blocks-components-select .wc-blocks-components-select__select:focus{border-color:var(--ink)!important}
.wc-block-components-form .wc-block-components-checkout-step{margin-bottom:30px!important}
@media(max-width:680px){.page-main--shop{padding-top:calc(var(--header) + 22px)}.page-main--shop .page-main__header{margin-bottom:22px}.wc-block-checkout .wc-block-components-sidebar,.wc-block-checkout__sidebar{padding:18px 20px!important}}
/* Logged-in admin bar: keep the site header below it instead of underneath it */
.admin-bar .site-header{top:var(--wp-admin--admin-bar--height,32px)}.admin-bar .site-header.is-pill{top:calc(var(--wp-admin--admin-bar--height,32px) + 10px)}
@media(min-width:981px){.admin-bar .pdp__gallery,.admin-bar .policy-nav{top:calc(var(--header) + var(--wp-admin--admin-bar--height,32px))}}.admin-bar .opening__media{top:var(--wp-admin--admin-bar--height,32px)}
@media screen and (max-width:600px){.admin-bar #wpadminbar{position:fixed}}
@media(max-width:380px){.wc-block-cart:not(.is-large) table.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:64px minmax(0,1fr) auto!important;column-gap:12px}.wc-block-cart:not(.is-large) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product{grid-column:2/3!important;min-width:0}.wc-block-cart:not(.is-large) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{grid-column:3}.wc-block-cart:not(.is-large) .wc-block-cart-item__image img{width:64px!important}.wc-block-components-product-name{font-size:15px!important}}

/* v1.7.2 — product page, phones: close the gap between the last option row and the button */
.pdp__buy .variations{margin-bottom:6px!important}.pdp__buy .reset_variations[style*="hidden"]{display:none!important}.pdp__buy .reset_variations{margin:2px 0 10px}
.pdp__buy .single_variation_wrap{margin:0}.pdp__buy .woocommerce-variation-add-to-cart{margin:0;padding:0}.pdp__buy .single_add_to_cart_button{margin-top:8px!important}
.pdp__buy .woocommerce-variation.single_variation{margin:0 0 8px}.pdp__buy .woocommerce-variation-price .price{margin:0!important}
@media(max-width:980px){.pdp__buy{padding-top:28px}.pdp__buy .product_title{margin-bottom:16px}.pdp__buy .price{margin-bottom:18px!important}}

/* v1.7.3 — shop and category pages: less air above the products */
.shop-main{padding-top:calc(var(--header) + clamp(18px,3.4vw,52px));padding-bottom:clamp(56px,8vw,120px);min-height:0}
.shop-main__header,.shop-main .product-grid,.shop-main .woocommerce-pagination,.shop-main__empty{max-width:1240px;margin-left:auto;margin-right:auto}
.shop-main__header{margin-bottom:clamp(20px,3vw,40px)}
.shop-main__header .eyebrow{margin:0 0 clamp(8px,1vw,14px)}
.shop-main__header h1{font-size:clamp(42px,6.4vw,92px);margin:0}
.shop-main__intro{margin:14px 0 0}
.range-pills{margin-top:clamp(16px,2vw,26px)}
.product-grid{gap:clamp(30px,3.4vw,56px) clamp(16px,2.2vw,36px)}
.product-card__media{aspect-ratio:1/1.12}
.product-card__row{margin-top:16px}.product-card__finishes{margin-top:8px}
@media(max-width:680px){.range-pills a{min-height:38px;padding:0 15px}.product-card__media{aspect-ratio:1/1.05}}

/* v1.8.0 — bag icon with a number badge (badge only shows when there is something in the bag) */
.header-actions{gap:4px}
.bag-button{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;transition:background .25s}
.bag-button:hover{background:rgba(17,17,15,.07)}.hero-dark .site-header:not(.is-pill):not(.has-open-menu) .bag-button:hover{background:rgba(255,255,255,.14)}
.bag-button__icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.bag-count{position:absolute;top:4px;right:2px;min-width:17px;height:17px;padding:0 4.5px;border-radius:999px;display:inline-grid;place-items:center;background:var(--bronze);color:#fff;font-size:10px;font-weight:600;letter-spacing:0;line-height:1;font-variant-numeric:tabular-nums;animation:bag-pop .45s var(--ease)}
.bag-count.is-empty{display:none}
.hero-dark .site-header:not(.is-pill):not(.has-open-menu) .bag-count{background:var(--bronze);color:#fff}
.site-header.is-pill .site-header__inner{padding-right:10px}
@keyframes bag-pop{0%{transform:scale(.4)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.bag-count{animation:none}}

/* v1.8.1 — the menu button becomes a cross while the menu is open, and stays above the panel */
.menu-button{position:relative;z-index:2;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;transition:background .25s}@media(max-width:980px){.menu-button{display:grid}}
.menu-button:hover{background:rgba(17,17,15,.07)}
.menu-button[aria-expanded="true"] .menu-button__bars span{top:50%;bottom:auto;margin-top:-.75px}
.menu-button[aria-expanded="true"] .menu-button__bars span:first-child{transform:rotate(45deg)}
.menu-button[aria-expanded="true"] .menu-button__bars span:last-child{transform:rotate(-45deg)}
/* While the menu is open the bar is see-through over the dark panel, so the mark and both controls stay white. */
.site-header.has-open-menu{background:none!important;color:#fff}
.site-header.has-open-menu .site-header__inner{background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none}
.site-header.has-open-menu .menu-button:hover,.site-header.has-open-menu .bag-button:hover{background:rgba(255,255,255,.14)}
.site-header.has-open-menu .wordmark:after{background:var(--bronze)}
.mobile-menu{padding-top:calc(var(--header) + 40px)}
@media(prefers-reduced-motion:reduce){.menu-button__bars span{transition:none}}

/* v1.8.2 — close the two oversized junctions on the homepage:
   after "Considered down to the last detail", and before "04 - Choose yours". */
#materials{padding-bottom:clamp(38px,4.6vw,78px)}
.comparison{padding-top:clamp(38px,4.6vw,78px);padding-bottom:clamp(40px,5vw,86px)}
#choose-yours{padding-top:clamp(38px,4.6vw,78px)}

/* v1.9.0 — shop and category pages: three tiles across on desktop, squarer crops, a lower header,
   and the range description beside the title (clamped under the pills on phones) */
.shop-main{padding-top:calc(var(--header) + clamp(16px,2.4vw,36px))}
.shop-main__header{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:clamp(20px,2.6vw,36px)}
.shop-main__header .eyebrow{margin:0 0 clamp(8px,.9vw,12px)}.shop-main__header .eyebrow a{border-bottom:1px solid transparent;transition:border-color .25s}.shop-main__header .eyebrow a:hover{border-color:currentColor}
.shop-main__header h1{font-size:clamp(40px,5.4vw,80px)}
.range-pills{margin-top:clamp(16px,1.7vw,22px)}.range-pills a{min-height:40px}
.shop-main__intro{max-width:62ch;margin:0;color:#5d5952;font-size:15px;line-height:1.55}
.shop-main__intro-text p{margin:0}.shop-main__intro-text p+p{margin-top:.7em}
.shop-main__intro-more{appearance:none;background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 3px;margin-top:10px;color:var(--ink);font-size:12px;font-weight:600;cursor:pointer}
.shop-main__intro-more[hidden]{display:none}
.shop-main__intro.is-clamped .shop-main__intro-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
@media(min-width:981px){
  .shop-main__header.has-intro{grid-template-columns:minmax(0,1fr) minmax(0,33rem);column-gap:clamp(32px,5vw,80px);align-items:end}
  .shop-main__intro{justify-self:end;padding-bottom:2px}
}
.shop-main .product-grid,.product-grid:has(li:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,46px) clamp(14px,1.8vw,28px)}
.product-card__media{aspect-ratio:1/1;border-radius:clamp(16px,1.6vw,24px)}
.product-card__row{margin-top:14px;gap:14px}.product-card__name{font-size:clamp(18px,1.5vw,22px)}
.grid-note{display:none;grid-template-columns:minmax(0,1fr);align-content:end;gap:clamp(22px,2.4vw,34px);padding:clamp(22px,2.4vw,34px);border-radius:clamp(16px,1.6vw,24px);background:var(--stone);aspect-ratio:1/1;font-size:14px;line-height:1.5;color:#5d5952}
.grid-note p{margin:0}.grid-note__title{font-size:clamp(18px,1.5vw,22px);font-weight:450;letter-spacing:-.03em;line-height:1.15;color:var(--ink);margin-bottom:6px!important}
.grid-note .text-link{margin-top:14px;gap:10px;padding-bottom:4px;font-size:11px;color:var(--ink)}
@media(min-width:981px){
  .grid-note--d1,.grid-note--d2{display:grid}
  .grid-note--d2{grid-column:span 2;aspect-ratio:auto;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
}
@media(min-width:681px) and (max-width:980px){
  .shop-main .product-grid,.product-grid:has(li:nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-note--t1{display:grid}
}
@media(max-width:680px){
  .shop-main .product-grid,.product-grid:has(li:nth-child(5)){grid-template-columns:minmax(0,1fr)}
  .product-card__media{aspect-ratio:1/1.05}
  .grid-note{display:grid;aspect-ratio:auto}
}

/* v1.9.2 — the light button (phone menu "Shop the belt") keeps its look on shop, category, product,
   basket and checkout pages, where the ".woocommerce a.button" rule was out-ranking ".button--light" */
.woocommerce a.button.button--light,.woocommerce button.button.button--light,.mobile-menu a.button.button--light{border-color:#fff!important;background:#fff!important;color:var(--ink)!important}
.woocommerce a.button.button--light:hover,.woocommerce button.button.button--light:hover,.mobile-menu a.button.button--light:hover{background:transparent!important;color:#fff!important}

/* v1.9.3 — phone menu: range headings carry the same arrow as the desktop Shop panel, straight after the word */
.mobile-shop__heading span{margin-left:4px}

/* v1.9.5 — phone menu button: same position and size on every page. WooCommerce's own
   ".woocommerce a.button{margin:0}" was out-ranking ".mobile-menu .button{margin-top:40px}" on shop,
   category, product, basket and checkout pages, pulling the button up against the menu. */
.mobile-menu a.button.button--light{display:inline-flex!important;margin:40px 0 0!important;min-height:52px;padding:0 26px!important;line-height:1.5!important}

/* v1.10.0 — Contact page (template-contact.php). Header and columns share one grid so the intro sits above the aside. */
.contact-main{--contact-cols:minmax(0,1.3fr) minmax(0,.7fr);--contact-gap:clamp(36px,7vw,120px);padding:calc(var(--header) + clamp(34px,5vw,80px)) 0 0}
.contact-main__header,.contact-layout{width:min(1240px,calc(100% - var(--pad)*2));margin-left:auto;margin-right:auto;display:grid;grid-template-columns:var(--contact-cols);gap:var(--contact-gap)}
.contact-main__header{align-items:end;margin-bottom:clamp(36px,5vw,72px);padding-bottom:clamp(28px,4vw,52px);border-bottom:1px solid var(--line)}
.contact-main__header>*{min-width:0}
.contact-main__header h1{font-size:clamp(46px,7vw,104px);line-height:.93;letter-spacing:-.055em;font-weight:450;margin:0}
.contact-main__intro{max-width:44ch;font-size:clamp(16px,1.25vw,18px);line-height:1.55;color:#4e4a45}.contact-main__intro p{margin:0 0 12px}.contact-main__intro p:last-child{margin:0}.contact-main__intro a{color:var(--ink);border-bottom:1px solid currentColor}
.contact-layout{align-items:start;padding-bottom:clamp(80px,10vw,150px)}
.contact-panel{min-width:0;scroll-margin-top:calc(var(--header) + 24px)}
.contact-form{display:grid;gap:26px}.contact-form[hidden],.contact-sent[hidden],.contact-error[hidden]{display:none}
.contact-form.is-sending{opacity:.6;pointer-events:none;transition:opacity .25s}
.contact-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-field{margin:0;min-width:0}
.contact-field label,.contact-topics legend{display:block;margin:0 0 8px;padding:0;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.4}
.contact-optional{margin-left:6px;font-weight:400;letter-spacing:0;text-transform:none;font-size:12px}
.contact-field input,.contact-field textarea{display:block;width:100%;min-height:52px;padding:0 16px;border:1px solid rgba(17,17,15,.22);border-radius:12px;background:#fff;color:var(--ink);font-size:16px;line-height:1.4;box-shadow:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.contact-field textarea{min-height:180px;padding:14px 16px;resize:vertical}
.contact-field input:focus,.contact-field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);outline:0}
.contact-field [aria-invalid="true"]{border-color:#b3261e;box-shadow:0 0 0 1px #b3261e}
.contact-field--order{max-width:calc(50% - 8px)}
.contact-topics{border:0;margin:0;padding:0;min-width:0}
.contact-topics__list{display:flex;flex-wrap:wrap;gap:9px}
.contact-topic{position:relative;display:inline-flex}
.contact-topic input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.contact-topic span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid rgba(17,17,15,.22);border-radius:999px;font-size:13px;transition:background .25s,color .25s,border-color .25s}
.contact-topic:hover span{border-color:var(--ink)}
.contact-topic input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.contact-topic input:focus-visible+span{outline:2px solid var(--bronze);outline-offset:3px}
.contact-hint{display:none;margin:14px 0 0;padding:14px 18px;border-radius:12px;background:var(--stone);font-size:14px;line-height:1.55;color:#3d3a36;max-width:64ch}
.contact-hint a{color:var(--ink);border-bottom:1px solid currentColor}
.contact-form:has(input[value="order"]:checked) [data-hint="order"],.contact-form:has(input[value="return"]:checked) [data-hint="return"],.contact-form:has(input[value="faulty"]:checked) [data-hint="faulty"],.contact-form:has(input[value="sizing"]:checked) [data-hint="sizing"]{display:block}
.contact-form{position:relative}.contact-hp{position:absolute;left:0;top:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-hp input{width:1px;min-width:0;padding:0;border:0}
.contact-error{padding:14px 18px;border-radius:12px;background:#fbeceb;color:#8c1d18;font-size:14px;line-height:1.5}.contact-error a{border-bottom:1px solid currentColor}
.contact-form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:4px}
.contact-form__foot .button{cursor:pointer;flex:none}.contact-form__foot .button:disabled{cursor:default;transform:none}
.contact-form__privacy{flex:1 1 240px;margin:0;max-width:46ch;font-size:13px;line-height:1.5;color:var(--muted)}.contact-form__privacy a{color:var(--ink);border-bottom:1px solid currentColor}
.contact-sent{padding:clamp(28px,4vw,56px);border-radius:24px;background:var(--stone);animation:contact-sent .6s var(--ease) both}.contact-sent:focus{outline:0}
.contact-sent__mark{display:block;width:48px;height:48px;margin-bottom:26px;fill:none;stroke:var(--bronze);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.contact-sent h2{margin:0 0 14px;font-size:clamp(34px,4.2vw,64px);line-height:1;letter-spacing:-.045em;font-weight:450}
.contact-sent p{margin:0 0 8px;max-width:48ch;color:#3d3a36;overflow-wrap:anywhere}.contact-sent p strong{color:var(--ink);font-weight:600}.contact-sent__reply{color:var(--muted)!important}
.contact-sent .text-link{margin-top:26px}
@keyframes contact-sent{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.contact-aside{min-width:0;position:sticky;top:calc(var(--header) + 24px);padding:clamp(24px,2.4vw,36px);border-radius:24px;background:var(--stone)}
.contact-aside__block+.contact-aside__block{margin-top:clamp(24px,2.4vw,34px);padding-top:clamp(24px,2.4vw,34px);border-top:1px solid var(--line)}
.contact-aside__label{margin:0 0 12px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contact-aside__email,.contact-aside__phone{display:inline;font-size:clamp(19px,1.7vw,24px);letter-spacing:-.02em;line-height:1.25;overflow-wrap:anywhere;border-bottom:1px solid rgba(17,17,15,.3);transition:border-color .25s,color .25s}.contact-aside__email:hover,.contact-aside__phone:hover{color:var(--bronze);border-color:currentColor}
.contact-aside__block p{margin:14px 0 0;font-size:14px;line-height:1.55;color:#4e4a45}
.contact-aside__address{font-style:normal;font-size:14px;line-height:1.6;color:#3d3a36}
.contact-links{list-style:none;margin:0;padding:0}.contact-links li+li{border-top:1px solid var(--line)}
.contact-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;font-size:15px}.contact-links li:first-child a{padding-top:0}.contact-links li:last-child a{padding-bottom:0}
.contact-links a span{flex:none;color:var(--muted);transition:transform .3s var(--ease),color .25s}.contact-links a:hover span{transform:translateX(4px);color:var(--ink)}
.contact-faq{scroll-margin-top:var(--header)}
@media(min-width:981px){.admin-bar .contact-aside{top:calc(var(--header) + var(--wp-admin--admin-bar--height,32px) + 24px)}}
@media(max-width:980px){.contact-main{--contact-cols:minmax(0,1fr);--contact-gap:clamp(22px,4vw,36px)}.contact-layout{gap:clamp(44px,7vw,64px)}.contact-aside{position:static}}
@media(max-width:680px){.contact-row{grid-template-columns:minmax(0,1fr);gap:26px}.contact-field--order{max-width:none}.contact-form__foot .button{width:100%}.contact-form__privacy{flex-basis:100%}.contact-topic span{padding:0 16px}}

/* v1.11.0 — Size guide (template-size-guide.php) */
.sg-main{padding:calc(var(--header) + clamp(34px,5vw,80px)) 0 0}
.sg-wrap,.sg-main__header{width:min(1240px,calc(100% - var(--pad)*2));margin-left:auto;margin-right:auto}
.sg-main__header{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(36px,7vw,120px);align-items:end;margin-bottom:clamp(44px,6vw,96px);padding-bottom:clamp(28px,4vw,52px);border-bottom:1px solid var(--line)}
.sg-main__header>*{min-width:0}
.sg-main__header h1{font-size:clamp(46px,7vw,104px);line-height:.93;letter-spacing:-.055em;font-weight:450;margin:0}
.sg-main__intro{max-width:44ch;font-size:clamp(16px,1.25vw,18px);line-height:1.55;color:#4e4a45}.sg-main__intro p{margin:0 0 12px}.sg-main__intro p:last-child{margin:0}.sg-main__intro a{color:var(--ink);border-bottom:1px solid currentColor}
.sg-main h2{font-size:clamp(34px,4.2vw,64px);line-height:1;letter-spacing:-.045em;font-weight:450;margin:0}
.sg-lead,.sg-head,.sg-note{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(20px,7vw,120px);align-items:end}
.sg-lead p,.sg-head p,.sg-note p{margin:0;max-width:46ch;color:#4e4a45}.sg-note p+p{margin-top:12px}
.sg-lead{margin-bottom:clamp(30px,4vw,56px)}
.sg-figure{margin-top:0;margin-bottom:clamp(16px,2vw,24px);padding:0}
.sg-figure__stage{position:relative;border-radius:clamp(18px,2.2vw,32px);overflow:hidden;background:#e6e1d7;--wipe-bg:#e6e1d7}
.sg-figure svg{display:block;width:100%;max-width:920px;height:auto;margin:0 auto;aspect-ratio:760/340}
.sg-buckle{fill:#8f8d89;stroke:#2b2a28;stroke-width:1.5}.sg-buckle-slot{fill:#e6e1d7;stroke:#2b2a28;stroke-width:1.5}.sg-buckle-line{fill:none;stroke:#2b2a28;stroke-width:1.5;stroke-linecap:round;opacity:.55}
.sg-offcut{fill:rgba(23,22,20,.07);stroke:#171614;stroke-width:1.5;stroke-dasharray:7 5}
.sg-cut{stroke:var(--bronze);stroke-width:2.5}.sg-arrow{fill:none;stroke:#6f5232;stroke-width:1.5}
.sg-figure__stage>.sg-label{position:absolute;font-size:12px;line-height:1.3;color:#5d5952}.sg-label strong{display:block;font-weight:600;color:var(--ink)}
/* Labels sit over the drawing by percentage of its 760 x 340 box, so they track it at every width. */
.sg-figure__stage{--sg-w:min(100%,920px);--sg-x:calc((100% - var(--sg-w))/2)}
.sg-label--cut{left:calc(var(--sg-x) + var(--sg-w)*.3553);top:16%;transform:translateX(-50%);font-weight:600;color:#6f5232!important;white-space:nowrap}
.sg-label--off{left:calc(var(--sg-x) + var(--sg-w)*.197);top:81%;width:calc(var(--sg-w)*.4)}
.sg-label--tip{right:calc(var(--sg-x) + var(--sg-w)*.035);top:70%;width:calc(var(--sg-w)*.3);text-align:right}
.sg-before{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(12px,4vw,60px);align-items:baseline;padding:clamp(22px,2.6vw,34px) clamp(22px,3vw,40px);border-radius:clamp(18px,2.2vw,32px);background:var(--ink);color:#fff;margin-bottom:clamp(80px,10vw,150px)}
.sg-main .sg-before h2{font-size:clamp(22px,2vw,28px);letter-spacing:-.03em;line-height:1.1}
.sg-before p{margin:0;max-width:70ch;color:#c9c6bf;font-size:15px;line-height:1.6}.sg-before a{color:#fff;border-bottom:1px solid currentColor;white-space:nowrap}
.sg-steps-section,.sg-lengths,.sg-note{margin-bottom:clamp(80px,10vw,150px);scroll-margin-top:calc(var(--header) + 24px)}
.sg-head{margin-bottom:clamp(34px,5vw,70px)}
.sg-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,5vw,72px) clamp(24px,3vw,56px)}
.sg-step{position:relative;padding-top:24px;border-top:1px solid var(--line)}
.sg-step__num{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;box-shadow:0 0 0 1px var(--line);font-size:11px;font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.sg-step h3{font-weight:450;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.03em;line-height:1.08;margin:22px 0 12px}
.sg-step p{margin:0;max-width:36ch;color:#4e4a45;font-size:15px;line-height:1.55}
.sg-step .sg-step__note{margin-top:14px;padding-left:14px;border-left:2px solid var(--bronze);color:var(--ink);font-weight:500}
.sg-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.sg-table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.sg-table th,.sg-table td{padding:18px 20px 18px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline;white-space:nowrap}
.sg-table thead th{padding-top:0;padding-bottom:14px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sg-table tbody th{font-weight:500;font-size:clamp(17px,1.5vw,20px);letter-spacing:-.015em}
.sg-calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:clamp(36px,4vw,56px);border-radius:clamp(18px,2.2vw,32px);overflow:hidden;background:var(--stone)}.sg-calc[hidden]{display:none}
.sg-calc__form{padding:clamp(24px,3vw,44px);display:grid;gap:22px;align-content:start;min-width:0}
.sg-calc h3{margin:0;font-size:clamp(22px,2vw,28px);font-weight:450;letter-spacing:-.03em;line-height:1.1}
.sg-calc__group{border:0;margin:0;padding:0;min-width:0}
.sg-calc__group legend,.sg-calc__field label{display:block;margin:0 0 8px;padding:0;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.4}
.sg-calc__row{display:flex;flex-wrap:wrap;gap:22px 18px;align-items:flex-end}
.sg-calc__field{margin:0;flex:1 1 170px;min-width:0}
.sg-calc__field input{display:block;width:100%;min-height:52px;padding:0 16px;border:1px solid rgba(17,17,15,.22);border-radius:12px;background:#fff;color:var(--ink);font-size:16px;-moz-appearance:textfield;appearance:textfield;box-shadow:none}.sg-calc__field input::-webkit-outer-spin-button,.sg-calc__field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sg-calc__field input:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);outline:0}
.sg-pills{display:flex;flex-wrap:wrap;gap:9px}
.sg-pill{position:relative;display:inline-flex}.sg-pill input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.sg-pill span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid rgba(17,17,15,.22);border-radius:999px;font-size:13px;background:transparent;transition:background .25s,color .25s,border-color .25s}.sg-calc__row .sg-pill span{min-height:52px}
.sg-pill:hover span{border-color:var(--ink)}.sg-pill input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}.sg-pill input:focus-visible+span{outline:2px solid var(--bronze);outline-offset:3px}
.sg-calc__result{padding:clamp(24px,3vw,44px);background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;min-width:0}
.sg-calc__big{margin:0 0 14px;font-size:clamp(52px,6.4vw,96px);line-height:.9;letter-spacing:-.055em;font-weight:450;font-variant-numeric:tabular-nums}.sg-calc__big small{font-size:.32em;letter-spacing:-.01em;color:#a9a6a0;margin-left:.4em;white-space:nowrap}
.sg-calc__text{margin:0;max-width:40ch;color:#c9c6bf;font-size:15px;line-height:1.55}
.sg-note{align-items:start;padding-top:clamp(34px,4vw,56px);border-top:1px solid var(--line)}
.sg-faq{scroll-margin-top:var(--header)}
.sg-end{padding:clamp(80px,10vw,150px) 0;text-align:left}
.sg-end p{margin:18px 0 0;max-width:46ch;color:#4e4a45}
.sg-end__actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 34px;margin-top:34px}
@media(max-width:980px){.sg-main__header,.sg-lead,.sg-head,.sg-note{grid-template-columns:minmax(0,1fr);gap:clamp(18px,3vw,28px);align-items:start}.sg-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-calc{grid-template-columns:minmax(0,1fr)}.sg-calc__result{min-height:0}}
@media(max-width:680px){.sg-steps{grid-template-columns:minmax(0,1fr);gap:36px}.sg-step{display:grid;grid-template-columns:35px minmax(0,1fr);column-gap:18px;padding-top:22px}.sg-step h3{margin:4px 0 10px;font-size:26px}.sg-step p,.sg-step .sg-step__note{grid-column:2;max-width:none}.sg-before{grid-template-columns:minmax(0,1fr)}.sg-before a{white-space:normal}.sg-figure__stage>.sg-label{font-size:11px}.sg-figure svg{aspect-ratio:760/400}.sg-label--cut{top:13%}.sg-label--off{top:80%;width:calc(var(--sg-w)*.44)}.sg-label--tip{top:70%;width:calc(var(--sg-w)*.34)}.sg-table th,.sg-table td{padding:14px 12px 14px 0;white-space:normal}.sg-table th:last-child,.sg-table td:last-child{padding-right:0}.sg-table tbody th{font-size:15px}.sg-table thead th{letter-spacing:.08em}.sg-in{display:block;font-size:13px;color:var(--muted)}.sg-end__actions .button{width:100%}}

/* v1.11.1 — bag drawer buttons: label centred in the pill. The older ".woocommerce-mini-cart__buttons a"
   rule (display:block; padding:14px) out-ranked ".button", so on pages without WooCommerce's body class the
   label was laid out from the top of a 52px-min-height block and sat a few pixels high. One layout everywhere now. */
.cart-drawer .woocommerce-mini-cart__buttons a.button{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:52px;margin:0!important;padding:0 26px!important;line-height:1.2!important;text-align:center}

/* v1.11.2 — bag drawer: product rows. On WooCommerce pages its widget rules (bold link, floated 32px image,
   bordered and floated variation list, red remove button) out-ranked the drawer's own, so rows looked different
   from page to page. These selectors out-rank both, so every page gets the same row:
   image left, name, "Buckle: Gunmetal" on one quiet line, quantity and price, remove top right. */
.cart-drawer ul.woocommerce-mini-cart{list-style:none;margin:0!important;padding:0!important}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item{position:relative;min-height:128px;margin:0!important;padding:22px 34px 22px 100px!important;border-bottom:1px solid var(--line);font-size:14px;line-height:1.4}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item:before,.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item:after{content:"";display:table;clear:both}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item>a:not(.remove){display:block;min-height:0;font-size:15px;font-weight:500!important;line-height:1.3;letter-spacing:-.01em;color:var(--ink)}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item img{position:absolute;left:0;top:22px;float:none!important;width:84px!important;height:84px!important;max-width:none;margin:0!important;border-radius:10px;object-fit:cover;background:var(--stone)}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item dl.variation{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 5px;margin:5px 0 0!important;padding:0!important;border:0!important;font-size:13px;line-height:1.4;color:var(--muted)}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item dl.variation:before,.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item dl.variation:after{display:none!important}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item dl.variation dt,.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item dl.variation dd{display:block;float:none!important;clear:none;margin:0!important;padding:0!important;font-weight:400!important}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item dl.variation dd p{margin:0!important}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item .quantity{display:block;margin-top:10px;font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove{position:absolute!important;top:14px!important;right:-8px!important;left:auto!important;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:none;font-size:20px;font-weight:400;line-height:1;color:var(--muted)!important;transition:color .25s,background .25s}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove:hover{color:var(--ink)!important;background:var(--stone)!important}
.cart-drawer .woocommerce-mini-cart__total{margin:22px 0 18px}

/* v1.11.3 — checkout and basket order summary (WooCommerce blocks) */
/* 1. The hole between Subtotal and Delivery. WooCommerce still outputs the fees and discount wrappers when
      there are none, and the 1.6.0 rule above gave every wrapper 16px of padding, empty or not. */
.wc-block-components-totals-wrapper:empty,.wc-block-components-totals-wrapper:not(:has(*)){display:none!important}
/*    Subtotal, discount, fees and delivery read as one group: tighter rows, same space around the group. */
.wp-block-woocommerce-checkout-order-summary-totals-block,.wp-block-woocommerce-cart-order-summary-totals-block{padding:9px 0!important}
.wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-wrapper,.wp-block-woocommerce-cart-order-summary-totals-block .wc-block-components-totals-wrapper{padding:7px 0!important;border-top:0!important}
/* 2. Product rows: name, options and line total as one block. The name is an h3 and was keeping the browser's
      heading margins. The unit price under the name repeated the line total, so it only shows when it carries
      a was/now sale price. */
.wc-block-components-order-summary .wc-block-components-order-summary-item__description{gap:3px!important;padding-top:10px!important;padding-bottom:14px!important}
.wc-block-components-order-summary .wc-block-components-product-name{margin:0!important;font-size:15px!important;line-height:1.3!important}
.wc-block-components-order-summary .wc-block-cart-item__prices:not(:has(del)){display:none!important}
.wc-block-components-order-summary .wc-block-components-product-metadata{margin:0!important}.wc-block-components-order-summary .wc-block-components-product-metadata p,.wc-block-components-order-summary .wc-block-components-product-details{margin:0!important}
.wc-block-components-order-summary .wc-block-components-order-summary-item__total-price{padding-top:10px!important;font-size:15px;line-height:1.3;white-space:nowrap}
.wc-block-components-order-summary .wc-block-cart-item__prices{font-size:13px;color:var(--muted)}.wc-block-components-order-summary .wc-block-cart-item__prices del{margin-right:.5em}.wc-block-components-order-summary .wc-block-cart-item__prices ins{text-decoration:none;color:var(--ink)}

/* v1.12.0 — product page buy panel */
/* 1. Tighter vertical rhythm. Roughly 75px shorter on a phone, nothing removed. */
.pdp__buy .product-intro{margin-bottom:20px}
.pdp__buy .price,.woocommerce div.product .pdp__buy p.price{margin:0 0 22px!important}
.pdp__buy table.variations{margin-bottom:0!important}
.pdp__buy table.variations tr{margin-bottom:18px}
.pdp__buy table.variations th.label{padding:0 0 9px!important;line-height:1.2!important}.pdp__buy table.variations th.label label{margin:0;line-height:1.2}
.pdp__buy .reset_variations,.woocommerce div.product .pdp__buy form.cart .reset_variations{margin:10px 0 0!important;font-size:10px!important;line-height:1.6}
.pdp__buy .single_add_to_cart_button{margin-top:6px!important}
.pdp__sizing{margin-top:20px;padding-top:16px}
/* 2. Add to bag, wallet buttons and pay-later message as one column in a fixed order, whatever order the
      payment plugin prints them in. Floats from WooCommerce's stylesheet no longer apply. */
.pdp__buy .woocommerce-variation-add-to-cart,.pdp__buy form.cart:not(.variations_form){display:flex!important;flex-direction:column;align-items:stretch}
.pdp__buy .single_add_to_cart_button{order:1;float:none!important;width:100%}
.pdp__buy .wc-stripe-clear{display:none}
/* 3. Apple Pay / Google Pay (Payment Plugins for Stripe). Same 56px height and pill shape as Add to bag, an "or"
      rule above, and side by side when a device offers more than one. The plugin hides the wallets a device
      cannot use, so a single wallet fills the row. */
.pdp__buy .wc-stripe-product-checkout-container{order:2;width:100%;margin:0!important}
.pdp__buy .wc-stripe-product-checkout-container:before{content:"or";display:block;margin:14px 0;text-align:center;font-size:10px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:linear-gradient(var(--line),var(--line)) left center/calc(50% - 22px) 1px no-repeat,linear-gradient(var(--line),var(--line)) right center/calc(50% - 22px) 1px no-repeat}
.pdp__buy ul.wc_stripe_product_payment_methods{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0!important;padding:0!important}
.pdp__buy ul.wc_stripe_product_payment_methods>li{margin:0!important;min-width:0;min-height:0!important}
.pdp__buy ul.wc_stripe_product_payment_methods .payment-box{margin:0!important;padding:0!important;min-height:55px!important;background:none!important}
.pdp__buy ul.wc_stripe_product_payment_methods .payment-box>.wc-stripe-express-skeleton{top:0!important;height:55px;border-radius:999px}
.pdp__buy ul.wc_stripe_product_payment_methods .apple-pay-button{min-width:0!important;width:100%!important;height:56px!important;min-height:56px!important;max-height:none!important;border-radius:999px!important;margin:0!important}
.pdp__buy ul.wc_stripe_product_payment_methods .gpay-button,.pdp__buy ul.wc_stripe_product_payment_methods .gpay-card-info-container{min-width:0!important;height:56px!important;min-height:56px!important;border-radius:999px!important}
.pdp__buy ul.wc_stripe_product_payment_methods .gpay-card-info-container-fill,.pdp__buy ul.wc_stripe_product_payment_methods .gpay-button-fill{height:56px!important;border-radius:999px;overflow:hidden}

/* v1.12.1 — product page: second spacing pass, page-wide this time */
/* Sections: the shared .section-pad rhythm (up to 190px top and bottom, 88px on phones) suits the homepage
   but stacks up over the product page's seven sections. About 40% less here only. */
.product-story .section-pad{padding-top:clamp(64px,7.5vw,120px);padding-bottom:clamp(64px,7.5vw,120px)}
.product-story .pdp-reviews+.shop-feature{padding-top:0}
.product-story .pdp-reasons h2,.product-story .pdp-specs h2,.product-story .pdp-faq h2{margin-bottom:clamp(26px,3.2vw,46px)}
.product-story .pdp-mechanism h2{margin-bottom:26px}
.product-story .pdp-reasons .material p{margin-top:16px}
/* Buy panel */
.pdp__buy{padding-top:clamp(32px,3.6vw,56px);padding-bottom:clamp(40px,4vw,64px)}
.pdp__buy .product_title{margin-bottom:18px}
.pdp__buy .notched-options{margin-top:0}
.pdp__buy table.variations tr{margin-bottom:16px}
@media(max-width:980px){.product-story .section-pad{padding-top:60px;padding-bottom:60px}.pdp__buy{padding-top:24px;padding-bottom:40px}.pdp__buy .product_title{margin-bottom:12px}.product-story .pdp-reasons__grid{gap:34px}.product-story .pdp-faq h2{margin-bottom:16px}}
@media(max-width:680px){.product-story .section-pad{padding-top:52px;padding-bottom:52px}}

/* v1.12.2 — product page */
/* Desktop: the buy panel starts just under the header, level with the top of the gallery, instead of 52px down. */
@media(min-width:981px){.pdp__buy{padding-top:clamp(20px,1.7vw,28px)}.pdp__buy>.eyebrow{margin-bottom:18px}}
/* Reviews: the heading kept the browser's h2 margin (about 41px on desktop) on top of the section padding, so the
   gap above "Reviews" was far bigger than any other section's. Heading margin removed, section top padding reduced,
   and no top padding at all when the section before it shares its background (specs, when there are no FAQs). */
.product-story .pdp-reviews{padding-top:clamp(44px,5vw,72px)}
.product-story .pdp-reviews h2,.product-story .pdp-reviews .woocommerce-Reviews-title{margin:0 0 clamp(14px,1.8vw,24px)}
.product-story .pdp-reviews #comments>:last-child{margin-bottom:0}
.product-story .pdp-specs+.pdp-reviews{padding-top:0}
@media(max-width:680px){.product-story .pdp-reviews{padding-top:40px}.product-story .pdp-specs+.pdp-reviews{padding-top:0}}

/* v1.13.0 — Klarna message written by the theme, in a stone card under the buy buttons. Stripe's own pay-later
   element is hidden on the product page so the two can never show together. */
.pdp__buy .wc-stripe-bnpl-product-message{display:none!important}
.klarna-note{margin:14px 0 0;padding:16px 18px 15px;border-radius:14px;background:var(--stone);text-align:center;color:#3d3a36}
.klarna-note p{margin:0}
.klarna-note__line{font-size:14px;line-height:1.55}
.klarna-note__amount{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.klarna-note__brand{font-size:1.18em;font-weight:800;letter-spacing:-.045em;color:var(--ink)}
.klarna-note__logo{display:inline-block;width:auto;height:18px;vertical-align:-3px;margin:0 2px}
.klarna-note__link{margin-left:4px;color:var(--ink);border-bottom:1px solid currentColor;white-space:nowrap}
.klarna-note__small{margin-top:7px!important;font-size:13px;line-height:1.5}
.klarna-note__small a{color:inherit;border-bottom:1px solid currentColor}

/* v1.13.1 — product page, desktop only */
@media(min-width:981px){
  /* Smaller main image: the columns go from 59/41 to 50/50, and the photo becomes a rounded card inset in the
     column instead of filling it edge to edge. The controls move in with it. */
  .pdp{grid-template-columns:minmax(0,1fr) minmax(460px,1fr)}
  .pdp__gallery{padding:20px;background:var(--off)}
  .pdp__gallery .woocommerce-product-gallery,.pdp__gallery .pdp__placeholder{height:100%;border-radius:clamp(18px,1.8vw,28px);overflow:hidden;background:var(--stone)}
  .pdp__gallery .pdp__placeholder img{width:100%;height:100%;object-fit:cover}
  .pdp__gallery .slider-nav{left:38px;right:38px;bottom:38px}
  .pdp__gallery .woocommerce-product-gallery__trigger{top:38px;right:38px}
}
/* Laptop-height screens: the whole buy panel, down to "Secure checkout / Easy UK returns", fits in one screen
   without scrolling. Everything is scaled down a step; nothing is removed. Taller screens keep the roomier sizes. */
@media(min-width:981px) and (max-height:920px){
  .pdp__buy{padding-top:10px;padding-bottom:8px;min-height:0}
  .pdp__buy>.eyebrow{margin-bottom:8px}
  .pdp__buy .product_title{font-size:clamp(40px,3.4vw,50px);margin-bottom:10px}
  .pdp__buy .woocommerce-product-rating{margin-bottom:8px!important}
  .pdp__buy .product-intro{margin-bottom:10px;font-size:15px;line-height:1.45}
  .pdp__buy .price,.woocommerce div.product .pdp__buy p.price{margin:0 0 12px!important;font-size:22px!important;line-height:1.2}
  .pdp__buy table.variations tr{margin-bottom:10px}
  .pdp__buy table.variations th.label{padding-bottom:7px!important}
  .pdp__buy .notched-option{min-height:36px;padding:0 14px}
  .pdp__buy .single_add_to_cart_button{margin-top:2px!important;min-height:55px}
  .pdp__buy .wc-stripe-product-checkout-container:before{margin:8px 0}
  .klarna-note{margin-top:10px;padding:10px 16px 9px}
  .klarna-note__line{line-height:1.45}
  .klarna-note__small{margin-top:3px!important;font-size:12.5px}
  .pdp__sizing{margin-top:10px;padding-top:9px}
  ul.purchase-promises{padding-top:8px}
}

/* v1.13.2 — product page, desktop only: balance */
@media(min-width:981px){
  /* The buy panel is centred against the photo instead of hanging from the top with the spare space pooled
     underneath. If a product's panel is taller than the screen it simply starts at the top as before. */
  .pdp__buy{justify-content:center;min-height:calc(100svh - var(--header));padding-top:20px;padding-bottom:20px;padding-left:clamp(24px,3vw,48px)}
  .admin-bar .pdp__buy{min-height:calc(100svh - var(--header) - var(--wp-admin--admin-bar--height,32px))}
  /* "Clear" follows the last row of swatches on the same line, instead of floating at the far right of the label. */
  .pdp__buy table.variations tr:last-child td{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
  .pdp__buy table.variations tr:last-child .reset_variations,.woocommerce div.product .pdp__buy form.cart table.variations tr:last-child .reset_variations{position:static;margin:0!important;line-height:1.2}
}
@media(min-width:981px) and (max-height:920px){
  .pdp__buy{min-height:calc(100svh - var(--header));padding-top:12px;padding-bottom:12px}
  .pdp__buy .product_title{margin-bottom:12px}
  .pdp__buy .product-intro{margin-bottom:12px}
  .pdp__buy .price,.woocommerce div.product .pdp__buy p.price{margin-bottom:16px!important}
  .pdp__buy .wc-stripe-product-checkout-container:before{margin:7px 0}
  .klarna-note{margin-top:8px}
  .pdp__sizing{margin-top:8px}
}

/* v1.14.1 — product page: quantity stepper beside Add to basket.
   The row is a wrapping flex line, not a grid: the stepper and the button are explicitly first and second, and
   everything else in WooCommerce's container (wallet buttons, and whatever other plugins print in there, visible
   or not) is pushed after them on full-width lines. In 1.14.0 a stray element from another plugin sat between
   the two in the grid and knocked the button onto its own row. */
.pdp__buy .woocommerce-variation-add-to-cart,.pdp__buy form.cart:not(.variations_form){display:flex!important;flex-flow:row wrap;align-items:flex-end;column-gap:10px}
.pdp__buy .woocommerce-variation-add-to-cart>*,.pdp__buy form.cart:not(.variations_form)>*{order:5;flex:0 0 100%;min-width:0}
.pdp__buy .woocommerce-variation-add-to-cart>.quantity:not(.hidden),.pdp__buy form.cart:not(.variations_form)>.quantity:not(.hidden){order:1;flex:0 0 auto}
.pdp__buy .woocommerce-variation-add-to-cart>.single_add_to_cart_button,.pdp__buy form.cart:not(.variations_form)>.single_add_to_cart_button{order:2;flex:1 1 0;width:auto;min-width:0}
.pdp__buy .wc-stripe-product-checkout-container{order:6}
.pdp__buy .quantity.hidden{display:none!important}
/* A slim stepper: 96px wide, hairline border, quiet glyphs. Same height as the button so the row reads as one piece. */
.pdp__buy .quantity:not(.hidden){display:flex!important;align-items:center;justify-content:space-between;float:none!important;width:96px;height:56px;margin:6px 0 0!important;padding:0 5px;border:1px solid var(--line);border-radius:999px;background:transparent;transition:border-color .2s}
.pdp__buy .quantity:not(.hidden):hover,.pdp__buy .quantity:focus-within{border-color:rgba(17,17,15,.45)}
.pdp__buy .quantity .qty{flex:1 1 auto;width:22px!important;min-width:0;height:100%;min-height:0!important;margin:0;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-align:center;font-size:14px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.pdp__buy .quantity .qty::-webkit-outer-spin-button,.pdp__buy .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pdp__buy .quantity .qty:focus{outline:0}
.notched-qty__btn{flex:none;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:none;color:var(--muted);font-size:15px;font-weight:400;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.notched-qty__btn:hover{background:var(--stone);color:var(--ink)}.notched-qty__btn:disabled{opacity:.35;cursor:default;background:none}
.notched-qty__btn:focus-visible{outline:2px solid var(--bronze);outline-offset:1px}
@media(min-width:981px) and (max-height:920px){.pdp__buy .quantity:not(.hidden){margin-top:2px!important}}

/* v1.15.0 — checkout address lookup: WooCommerce draws the suggestion list; this only dresses the classic one to match. */
.woocommerce-address-suggestions{border:1px solid var(--line)!important;border-radius:12px!important;background:#fff;box-shadow:0 14px 34px rgba(17,17,15,.10)!important;overflow:hidden;font-size:14px}
.woocommerce-address-suggestions .suggestions-list li{padding:11px 14px}
.woocommerce-address-suggestions .suggestions-list li.active,.woocommerce-address-suggestions .suggestions-list li:hover{background:var(--stone)}

/* v1.15.5 — product page, phones only: the price sits on the same line as the product name (right-hand side,
   sharing its baseline), so the name is set smaller; the eyebrow sits closer to the name. No markup change: the
   buy panel becomes a two-column grid, name and price share row 2, everything else spans the full width in its
   usual order. A long price (a range, or was/now) wraps inside its own column instead of pushing the page wide. */
@media(max-width:680px){
  .pdp__buy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-content:start}
  .pdp__buy>*{grid-column:1/-1;min-width:0}
  .pdp__buy>.eyebrow{grid-row:1;margin-bottom:8px}
  .pdp__buy>.product_title{grid-column:1;grid-row:2;align-self:end;align-self:last baseline;font-size:clamp(27px,7.8vw,34px);line-height:1.04;letter-spacing:-.04em;margin-bottom:12px;overflow-wrap:anywhere}
  .pdp__buy>p.price,.woocommerce div.product .pdp__buy>p.price{grid-column:2;grid-row:2;align-self:end;align-self:last baseline;max-width:46vw;margin:0 0 12px!important;font-size:19px!important;line-height:1.2;text-align:right}
  .pdp__buy>p.price .amount{white-space:nowrap}
}

/* v1.18.0 — "Full-grain leather" maker's mark on the product photo (men's range only). Same frosted capsule as the
   image counter in the opposite corner, with a small bronze dot. It sits on the photo, so the buy panel keeps its height. */
.pdp__hallmark{position:absolute;z-index:3;top:18px;left:18px;display:inline-flex;align-items:center;gap:8px;margin:0;padding:9px 14px 9px 12px;border-radius:999px;background:rgba(250,249,246,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink);font-size:10px;font-weight:600;line-height:1;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;pointer-events:none}
.pdp__hallmark i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--bronze);box-shadow:0 0 0 3px rgba(155,116,75,.18)}
@media(min-width:981px){.pdp__hallmark{top:38px;left:38px}}

/* v1.18.1 — the quiet text form of the full-grain mark: a bronze dot and small capitals, no capsule. Said once under
   a full-grain category's title; under each product name only where a listing mixes ranges. */
.leather-line{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:10.5px;font-weight:600;line-height:1.2;letter-spacing:.16em;text-transform:uppercase}
.leather-line i{flex:none;width:5px;height:5px;border-radius:50%;background:var(--bronze);box-shadow:0 0 0 3px rgba(155,116,75,.16)}
.shop-main__material{margin-top:clamp(12px,1.3vw,18px);font-size:11px;color:var(--ink)}
.product-card__material{margin-top:9px}
.shop-feature__material{margin:0 0 14px}

/* v1.19.0 — product page "A better fit, by design.": a swipe row on phones and tablets. Cards are narrower than the
   screen so the next one peeks in, the row bleeds to the screen edges, native scroll-snap does the moving and the
   site's slider arrows and counter sit underneath. Desktop keeps the grid (three across, or four for the
   full-grain range, which stays a swipe row until there is room for four). */
.pdp-reasons .slider-nav{display:none}
@media(min-width:1180px){.product-story .pdp-reasons--4 .pdp-reasons__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,1.8vw,30px)}
.pdp-reasons--4 .material p{font-size:16px}
/* Four across: a gentle alternate step instead of the three-card staircase. */
.pdp-reasons--4 .pdp-reasons__grid>.material:nth-child(odd){margin-top:0}.pdp-reasons--4 .pdp-reasons__grid>.material:nth-child(even){margin-top:clamp(30px,4vw,64px)}}
@media(max-width:980px){
  .product-story .pdp-reasons__grid,.pdp-reasons__grid{display:flex;align-items:flex-start;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 calc(var(--pad) * -1);padding:0 0 0 var(--pad);scroll-padding-left:var(--pad);outline-offset:-2px}
  .pdp-reasons__grid::-webkit-scrollbar{display:none}
  .pdp-reasons__grid::after{content:"";flex:0 0 calc(var(--pad) - 14px);align-self:stretch}
  .pdp-reasons__grid>.material,.pdp-reasons__grid>.material:nth-child(2){flex:0 0 min(80%,400px);margin:0;scroll-snap-align:start}
  .product-story .pdp-reasons .material p,.pdp-reasons .material p{max-width:none;margin-top:18px;padding-right:8px;font-size:16px}
  .pdp-reasons .slider-nav{display:flex;margin-top:26px}
  .pdp-reasons .slider-nav__count{margin-right:auto;font-size:11px;letter-spacing:.14em;color:var(--muted)}
}
@media(min-width:981px) and (max-width:1179px){
  .product-story .pdp-reasons--4 .pdp-reasons__grid{display:flex;align-items:flex-start;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;margin:0 calc(var(--pad) * -1);padding:0 0 0 var(--pad);scroll-padding-left:var(--pad)}
  .pdp-reasons--4 .pdp-reasons__grid::-webkit-scrollbar{display:none}
  .pdp-reasons--4 .pdp-reasons__grid::after{content:"";flex:0 0 calc(var(--pad) - 20px);align-self:stretch}
  .pdp-reasons--4 .pdp-reasons__grid>.material,.pdp-reasons--4 .pdp-reasons__grid>.material:nth-child(2){flex:0 0 30%;margin:0;scroll-snap-align:start}
  .pdp-reasons--4 .slider-nav{display:flex;margin-top:30px}
  /* Three cards are in view here, so a 01 / 04 counter would jump; the arrows are enough. */
  .pdp-reasons--4 .slider-nav{justify-content:flex-end}
  .pdp-reasons--4 .slider-nav__count{display:none}
}

/* v1.20.0 — product page details: "What's included" and grouped specifications in one stone panel. Thin line icons
   on the group headings only; lines sit under the heading text, not under the icon. */
.pdp-specs,.product-story .pdp-specs{display:block}
.pdp-details{max-width:1240px;margin:0 auto;padding:clamp(28px,5vw,76px);border-radius:clamp(22px,2.6vw,38px);background:var(--stone)}
.pdp-details__included{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.pdp-details__included.has-image{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.pdp-details__photo{aspect-ratio:1/1;border-radius:clamp(16px,2vw,28px);overflow:hidden;background:var(--off)}
.pdp-details__photo img{width:100%;height:100%;object-fit:cover;display:block}
.pdp-specs .pdp-details__head{display:flex;align-items:center;gap:14px;margin:0 0 14px;font-size:clamp(20px,1.7vw,25px);line-height:1.15;letter-spacing:-.02em;font-weight:500;color:var(--ink)}
.pdp-details__icon{flex:none;width:26px;height:26px;color:var(--ink)}
.pdp-details__group ul{list-style:none;margin:0;padding:0 0 0 40px}
.pdp-details__group li{margin:0 0 9px;font-size:16px;line-height:1.5;color:#4b4944}
.pdp-details__group li:last-child{margin-bottom:0}
.pdp-specs h2.pdp-details__title{margin:clamp(44px,6vw,92px) 0 clamp(28px,3.4vw,50px)}
.pdp-details__title:first-child,.pdp-specs h2.pdp-details__title:first-child{margin-top:0}
.pdp-details__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(34px,4vw,60px) clamp(32px,6vw,110px)}
@media(max-width:760px){
  .pdp-details{padding:30px 22px 34px;margin-left:calc(var(--pad) * -.5);margin-right:calc(var(--pad) * -.5)}
  .pdp-details__included.has-image{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:18px;align-items:start}
  .pdp-details__included.has-image .pdp-details__head{font-size:18px;gap:10px}
  .pdp-details__included.has-image .pdp-details__icon{width:22px;height:22px}
  .pdp-details__included.has-image ul{padding-left:32px}
  .pdp-details__included.has-image li{font-size:15px}
  .pdp-details__groups{grid-template-columns:1fr;gap:34px}
}

/* v1.22.1 — homepage "Quiet confidence" on desktop and tablet. Phones already had a chalk gradient under the words;
   wider screens had none, so ink text sat straight on a mid-tone photo. Same idea turned sideways: warm chalk from
   the left, clear by the middle, so the figure and belt are untouched. The headline column is set in em so it
   always breaks as: You'll notice / the difference. / Nobody else / needs to. */
@media(min-width:681px){
  .lifestyle-placeholder__frame:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(234,228,218,.84) 0%,rgba(234,228,218,.76) 26%,rgba(234,228,218,.42) 42%,rgba(234,228,218,0) 60%)}
  .lifestyle-placeholder__copy{width:auto;max-width:calc(100% - var(--pad) * 2)}
  .lifestyle-placeholder__copy h2{max-width:6.45em}
}
/* v1.22.2 — the second sentence is set as a quieter aside in a dark warm grey (v1.22.3): about 4.6:1 against the photo on
   average, 3.8:1 at the darkest spot. The brand bronze (#9b744b) measured only about 2.4:1 there, so it is not used. */
.lifestyle-placeholder__aside{color:#54504a}

/* v1.23.0 — Brand accent face, matching the packaging strapline ("The perfect fit, by design.").
   Instrument Serif Italic (SIL Open Font License, bundled locally) sets the second, answering half of a
   two-part headline. Sized 1.12em so its x-height sits level with Inter's; line-height is divided by the same
   factor so the larger inline text never pushes the lines apart. Direct child only (>), so the word spans
   motion.js creates inside the manifesto promise inherit the size rather than compounding it. */
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-latin-400-italic.woff2) format("woff2")}
:root{--serif:"Instrument Serif",Georgia,"Times New Roman",serif}
.accent,.manifesto h2>span,.lifestyle-placeholder__aside{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.12em;letter-spacing:-.01em;font-synthesis:none}
.manifesto h2>span{line-height:.93}
.lifestyle-placeholder__aside{line-height:.85}
/* Tablet and desktop: the promise starts on its own line, balanced, so it reads as the answer and never
   leaves "We" dangling at a line end or "count." alone on the last line. Phones keep it running on inline. */
@media(min-width:681px){.manifesto h2>span{display:block;text-wrap:balance}}


/* v1.24.0 — Bronze full stops, the footer dot and flag, and the materials copy ----------------------------
   .dot: the full stop of a display line in the brand bronze, the same mark as the dot after LOCKE and the
   strapline on the packaging (notched_dots() in functions.php). Words lit by motion.js inherit their
   colour, so the dot is set with its own colour and does not follow the two-tone grey of the manifesto. */
.dot{color:var(--bronze)}
.manifesto h2 span .dot,.opening .manifesto h2 span .dot,.manifesto h2 span.word .dot{color:var(--bronze)}
.footer-wordmark{display:inline-flex;align-items:center;gap:6px}
.footer-wordmark i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--bronze)}
.footer-origin{display:flex;align-items:flex-start;gap:10px}
.footer-flag{flex:none;margin-top:3px;opacity:.85}
.materials__lead{max-width:46ch;margin:26px 0 0;font-size:clamp(16px,1.25vw,19px);line-height:1.5;color:var(--muted)}
.has-motion [data-tone-auto] .materials__lead{color:inherit;opacity:.7}
.materials__woven{max-width:640px;margin:clamp(56px,7vw,110px) 0 0 auto;padding-top:clamp(28px,3vw,40px);border-top:1px solid rgba(128,126,120,.4)}
.materials__woven h3{font-size:clamp(26px,2.6vw,40px);font-weight:450;letter-spacing:-.035em;line-height:1.05;margin:0 0 12px}
.materials__woven p{max-width:52ch;margin:0;color:var(--muted)}
.has-motion [data-tone-auto] .materials__woven p{color:inherit;opacity:.7}
@media(max-width:680px){.materials__woven{margin-top:56px}}

/* v1.25.0 — Hero: "by design" in the italic accent. Line-height divided by the 1.12 size factor so the two lines
   keep the hero's .92 leading; tracking loosened from the hero's -.065em, which is too tight for the italic. */
.hero h1 .accent{line-height:.82;letter-spacing:-.015em}

/* v1.26.0 — Product story blocks, Us vs Them, pairing cards, step icons, woven photo ------------------------ */
.pdp-why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,100px);align-items:center}
.pdp-why__copy{max-width:52ch;font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:#c9c5bd}
.pdp-why__copy .eyebrow{color:var(--bronze);margin-bottom:22px}
.pdp-why__copy p+p{margin-top:16px}
.pdp-why h2{font-size:clamp(44px,6vw,88px);line-height:.95;letter-spacing:-.05em;font-weight:450;margin:0;color:#fff}
.pdp-material{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px) clamp(36px,6vw,100px);align-items:start}
.pdp-material__head h2{font-size:clamp(40px,5vw,76px);line-height:.98;letter-spacing:-.05em;font-weight:450;margin:0;max-width:11em}
.pdp-material__head .eyebrow{margin-bottom:22px}
.pdp-material__copy{max-width:52ch;font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:var(--muted);padding-top:clamp(0px,1vw,14px)}
.pdp-material__copy p+p{margin-top:16px}
.pdp-versus{grid-column:1/-1;max-width:900px;margin-left:auto;width:100%;margin-top:clamp(12px,2vw,28px)}
.pdp-versus__eyebrow{margin-bottom:14px}
.pdp-versus__row{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.4}
.pdp-versus__head{font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:12px 0;border-top:1px solid var(--line);color:var(--muted)}
.pdp-versus__head span:last-child{color:var(--ink)}
.pdp-versus__row strong{font-weight:500}
.pdp-versus__row span:nth-child(2){color:var(--muted)}
.pdp-versus__row span:last-child{font-weight:500}
.pdp-pairs{display:grid;grid-template-columns:1fr;gap:clamp(20px,2.5vw,36px)}
.pdp-pairs--2{grid-template-columns:1fr 1fr}
.pdp-pair{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,2.5vw,36px);align-items:center;padding:clamp(20px,2.5vw,32px);border-radius:clamp(18px,2.2vw,32px);background:var(--stone);color:inherit;text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.pdp-pair:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(17,17,15,.35)}
.pdp-pair__photo{aspect-ratio:4/5;border-radius:clamp(14px,1.6vw,22px);overflow:hidden;background:#e9e5de}
.pdp-pair__photo img{width:100%;height:100%;object-fit:cover;display:block}
.pdp-pair__copy .eyebrow{color:var(--bronze);margin-bottom:12px}
.pdp-pair__copy h2{font-size:clamp(24px,2.3vw,34px);line-height:1.05;letter-spacing:-.035em;font-weight:450;margin:0 0 12px}
.pdp-pair__copy p{margin:0;color:var(--muted);font-size:15px;line-height:1.5;max-width:40ch}
.pdp-pair__cta{display:inline-flex;gap:10px;align-items:baseline;margin-top:18px;font-size:14px;font-weight:500}
.pdp-pair__cta em{font-style:normal;color:var(--muted);font-weight:400}
.fit-step h3{display:flex;align-items:center;gap:10px}
.fit-step__icon{flex:none;color:var(--bronze)}
.materials__woven.has-image{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,3vw,44px);align-items:center;max-width:860px}
.materials__woven-photo{aspect-ratio:4/5}
.materials__woven-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:980px){.pdp-why,.pdp-material{grid-template-columns:1fr}.pdp-why h2{order:-1}.pdp-pairs--2{grid-template-columns:1fr}.pdp-material__head h2{max-width:none}}
@media(max-width:680px){.pdp-versus__row{grid-template-columns:1fr;gap:4px;padding:16px 0}.pdp-versus__head{display:none}.pdp-versus__row span:nth-child(2)::before{content:"\2715\00a0\00a0";font-size:12px;color:var(--muted)}.pdp-versus__row span:last-child::before{content:"\2713\00a0\00a0";font-size:12px;color:var(--bronze)}.pdp-pair{grid-template-columns:1fr}.pdp-pair__photo{aspect-ratio:5/4}.materials__woven.has-image{grid-template-columns:1fr}}

/* v1.27.0 — Upsell: one-tap add on the pairing cards, "Complete the set" in the bag and on the cart page ------ */
.pdp-pair__cta b{font-weight:500;color:var(--bronze)}
.pdp-pair__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:18px}
.pdp-pair__add.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:background .25s,transform .25s}
.pdp-pair__add.button:hover{background:#2a2925;transform:translateY(-1px)}
.pdp-pair__add.button.loading{opacity:.6;pointer-events:none}
.pdp-pair__add.button.added::after{content:"\2713";margin-left:8px}
.pdp-pair__actions .added_to_cart{display:none}
.pdp__pair-note{margin:14px 0 0;font-size:13px;color:var(--muted)}
.pdp__pair-note::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--bronze);margin:0 8px 2px 0}
.bag-upsell{margin:18px 0 22px;padding:16px 18px;border-radius:14px;background:var(--stone)}
.bag-upsell .eyebrow{margin:0 0 10px;color:var(--bronze)}
.bag-upsell__row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center}
.bag-upsell__photo img{display:block;width:56px;height:56px;border-radius:8px;object-fit:cover;background:#e9e5de}
.bag-upsell__name{display:block;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;line-height:1.3}
.bag-upsell__price{display:block;margin-top:3px;font-size:13px;color:var(--muted)}
.bag-upsell__price em{font-style:normal;color:var(--bronze)}
.bag-upsell__add.button,.cart-drawer .bag-upsell__add.button{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;width:auto!important;margin:0!important;padding:0 16px!important;border-radius:999px;background:var(--ink);color:#fff;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1!important;text-decoration:none}
.bag-upsell__add.button.loading{opacity:.6;pointer-events:none}
.bag-upsell .added_to_cart{display:none}
.cart-upsell{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(20px,3vw,40px);align-items:center;max-width:860px;margin:clamp(40px,5vw,70px) 0 0;padding:clamp(20px,2.5vw,32px);border-radius:clamp(18px,2.2vw,28px);background:var(--stone)}
.cart-upsell__photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;background:#e9e5de}
.cart-upsell__copy .eyebrow{color:var(--bronze);margin-bottom:10px}
.cart-upsell__copy h2{font-size:clamp(22px,2.2vw,32px);line-height:1.05;letter-spacing:-.035em;font-weight:450;margin:0 0 10px}
.cart-upsell__copy p{margin:0;color:var(--muted);font-size:15px;line-height:1.5;max-width:44ch}
.cart-upsell__price{margin-top:12px!important;color:var(--ink)!important}
.cart-upsell__price em{font-style:normal;color:var(--bronze)}
.cart-upsell__add.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:16px;padding:0 22px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.cart-upsell .added_to_cart{display:none}
@media(max-width:680px){.cart-upsell{grid-template-columns:1fr}.cart-upsell__photo img{aspect-ratio:5/4}}

/* 2.0.1 — fallback name on a checkout payment option that renders without one (see site.js) */
.locke-pay-label{font-size:inherit;color:var(--ink)}
