:root { --ink:#262522; --paper:#f7f4ef; --sand:#e8e0d5; --taupe:#8e8176; --line:rgba(38,37,34,.16); --serif:"Iowan Old Style","Baskerville","Times New Roman",serif; --sans:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:14px; }
button,input,select { color:inherit; font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { border:0; background:none; cursor:pointer; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.icon { width:20px; height:20px; flex:0 0 auto; }

.announcement { min-height:31px; display:grid; place-items:center; padding:6px 20px; background:var(--ink); color:#fff; font-size:10px; letter-spacing:.11em; text-align:center; text-transform:uppercase; }
.site-header { position:absolute; z-index:20; top:31px; left:0; right:0; height:91px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 3vw; color:#fff; border-bottom:1px solid rgba(255,255,255,.35); }
.desktop-nav,.header-tools { display:flex; align-items:center; gap:25px; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.desktop-nav a,.text-tool { position:relative; padding:7px 0; }
.desktop-nav a:after,.text-tool:after { content:""; position:absolute; left:0; right:100%; bottom:2px; border-bottom:1px solid; transition:right .25s ease; }
.desktop-nav a:hover:after,.text-tool:hover:after { right:0; }
.brand { width:148px; display:block; filter:brightness(0) invert(1); }
.header-tools { justify-content:flex-end; gap:18px; }
.quiet-select { background:transparent; border:0; font-size:10px; outline:0; cursor:pointer; }
.quiet-select option { color:var(--ink); }
.locale-toggle { font-size:10px; letter-spacing:.08em; }
.bag-button { color:#fff; display:flex; align-items:center; gap:4px; }
.bag-button span { min-width:13px; }
.mobile-menu-button { display:none; color:#fff; }

.hero { position:relative; height:min(920px,100vh); min-height:700px; overflow:hidden; color:#fff; }
.hero-image { width:100%; height:100%; object-fit:cover; object-position:center 47%; transform:scale(1.01); animation:heroIn 1.6s ease both; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(29,26,24,.58) 0%,rgba(29,26,24,.24) 48%,rgba(29,26,24,.07) 100%); }
.hero-copy { position:absolute; z-index:2; left:8vw; bottom:11vh; width:min(625px,74vw); }
[dir="rtl"] .hero-copy { left:auto; right:8vw; }
.eyebrow { margin:0 0 24px; font-size:9px; line-height:1.4; letter-spacing:.28em; text-transform:uppercase; }
.eyebrow.dark { color:#756d65; }
.hero h1,.section-heading h2,.story-copy h2,.newsletter h2,.quick-copy h2,.search-inner h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.035em; }
.hero h1 { max-width:590px; margin:0; font-size:clamp(48px,5.3vw,83px); line-height:.98; }
.hero-body { max-width:510px; margin:28px 0 33px; font:18px/1.55 var(--serif); }
.light-link,.dark-link { display:inline-flex; align-items:center; gap:36px; padding:0 0 8px; border-bottom:1px solid currentColor; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.light-link .icon,.dark-link .icon { width:18px; transition:transform .25s ease; }
.light-link:hover .icon,.dark-link:hover .icon { transform:translateX(5px); }
[dir="rtl"] .light-link .icon,[dir="rtl"] .dark-link .icon { transform:rotate(180deg); }
.hero-index { position:absolute; right:3vw; bottom:30px; z-index:2; font:italic 12px var(--serif); letter-spacing:.08em; }
[dir="rtl"] .hero-index { right:auto; left:3vw; }

.section-space { padding:125px 3vw; }
.section-heading.centered { text-align:center; margin-bottom:55px; }
.section-heading h2 { margin:0; font-size:clamp(40px,4.3vw,66px); line-height:1; }
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.category-card { position:relative; aspect-ratio:.78; overflow:hidden; background:#ddd5cc; color:#fff; }
.category-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.category-card:hover img { transform:scale(1.035); }
.category-gradient { position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(29,26,24,.62)); }
.category-label { position:absolute; left:32px; right:32px; bottom:30px; display:flex; align-items:flex-end; justify-content:space-between; font:36px/1 var(--serif); }
.category-label small { font:9px var(--sans); letter-spacing:.15em; }

.product-section { border-top:1px solid var(--line); }
.row-heading { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:54px; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:52px 13px; }
.product-image-wrap { position:relative; width:100%; aspect-ratio:.72; overflow:hidden; background:#e5dfd7; }
.product-image-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.product-image-wrap:hover img { transform:scale(1.035); }
.product-badge { position:absolute; top:14px; left:14px; padding:7px 10px; background:rgba(247,244,239,.93); font-size:8px; letter-spacing:.15em; text-transform:uppercase; }
[dir="rtl"] .product-badge { left:auto; right:14px; }
.quick-view { position:absolute; left:12px; right:12px; bottom:12px; padding:13px 10px; background:rgba(247,244,239,.95); font-size:9px; letter-spacing:.15em; text-transform:uppercase; transform:translateY(130%); transition:transform .3s ease; }
.product-image-wrap:hover .quick-view { transform:translateY(0); }
.product-meta { position:relative; z-index:2; min-height:72px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:15px 3px 0; background:var(--paper); color:var(--ink); opacity:1; visibility:visible; }
.product-identity { min-width:0; flex:1; }
.product-meta h3 { display:block; margin:0 0 5px; color:var(--ink); font:18px/1.18 var(--serif); }
.product-meta h3 a { display:block; color:inherit; }
.product-meta p { margin:0; color:#8a827a; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.price-stack { display:grid; justify-items:end; gap:3px; color:var(--ink); white-space:nowrap; font-size:11px; font-weight:400; }
.price-stack del { color:#9f958c; }

.story-section { min-height:730px; display:grid; grid-template-columns:1.15fr .85fr; background:#ddd3c8; }
.story-image-wrap { min-height:730px; overflow:hidden; }
.story-image-wrap img { width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.story-copy { align-self:center; padding:80px 10%; }
.story-copy h2 { max-width:570px; margin:0 0 33px; font-size:clamp(48px,5vw,78px); line-height:.98; }
.story-copy>p:not(.eyebrow) { max-width:510px; margin:0 0 42px; font:18px/1.65 var(--serif); }

.service-strip { display:grid; grid-template-columns:repeat(3,1fr); padding:75px 3vw; border-bottom:1px solid var(--line); }
.service-strip article { display:flex; gap:22px; min-height:70px; padding:0 45px; border-right:1px solid var(--line); }
.service-strip article:first-child { padding-left:0; }
.service-strip article:last-child { border:0; }
[dir="rtl"] .service-strip article { border-right:0; border-left:1px solid var(--line); }
[dir="rtl"] .service-strip article:last-child { border-left:0; }
.service-strip article>span { padding-top:4px; color:#958c83; font-size:9px; }
.service-strip h3 { margin:0 0 8px; font:20px var(--serif); }
.service-strip p { margin:0; color:#776f67; font-size:11px; line-height:1.55; }

.newsletter { padding:120px 20px; background:#373631; color:#fff; text-align:center; }
.newsletter h2 { margin:0 0 18px; font-size:clamp(44px,5vw,72px); }
.newsletter>p:not(.eyebrow) { max-width:500px; margin:0 auto 40px; color:rgba(255,255,255,.73); font:17px/1.6 var(--serif); }
.newsletter form { width:min(560px,100%); display:flex; margin:auto; border-bottom:1px solid rgba(255,255,255,.55); }
.newsletter input { flex:1; min-width:0; padding:17px 0; border:0; outline:0; background:transparent; color:#fff; }
.newsletter input::placeholder { color:rgba(255,255,255,.55); }
.newsletter button { display:flex; align-items:center; gap:15px; color:#fff; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }

.footer { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:50px; padding:85px 4vw 25px; background:#282824; color:rgba(255,255,255,.78); }
.footer-brand img { width:190px; margin-bottom:28px; filter:brightness(0) invert(1); opacity:.85; }
.footer-brand p { font:italic 20px/1.45 var(--serif); }
.footer h3 { margin:0 0 25px; color:#fff; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.footer>div:not(.footer-brand):not(.footer-bottom) { display:flex; flex-direction:column; gap:14px; font-size:11px; }
.footer a:hover { color:#fff; }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; margin-top:50px; padding-top:22px; border-top:1px solid rgba(255,255,255,.13); color:rgba(255,255,255,.48); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }

.intro-section { display:grid; grid-template-columns:1fr 1fr; gap:9vw; border-bottom:1px solid var(--line); }
.intro-section h2,.editorial-split h2,.promise-grid h2,.contact-layout h2,.size-finder h2,.care-cta h2,.discover-panel h2,.journal-card h2,.article-page h1,.article-body h2,.related-journal>h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.035em; }
.intro-section h2,.editorial-split h2 { max-width:650px; margin:0; font-size:clamp(42px,5vw,72px); line-height:1; }
.intro-section>div:last-child p,.editorial-split>div:last-child p { margin:0 0 28px; color:#675f59; font:19px/1.7 var(--serif); }
.category-grid-six { grid-template-columns:repeat(3,1fr); }
.category-grid-six .category-card { aspect-ratio:.9; }
.discover-panel { padding:125px 24px; background:#737069; color:#fff; text-align:center; }
.discover-panel h2 { max-width:800px; margin:0 auto 45px; font-size:clamp(48px,6vw,88px); line-height:.95; }
.discover-panel>div { display:flex; justify-content:center; gap:45px; }

.shop-title { padding-bottom:42px; }
.category-tabs { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; padding:0 20px 65px; }
.category-tabs a { min-width:90px; padding:12px 17px; border:1px solid var(--line); text-align:center; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.category-tabs a:hover,.category-tabs a.active { border-color:var(--ink); background:var(--ink); color:#fff; }

.editorial-hero { position:relative; height:70vh; min-height:600px; color:#fff; overflow:hidden; }
.editorial-hero>img { width:100%; height:100%; object-fit:cover; object-position:center 36%; filter:brightness(.72); }
.editorial-hero>div { position:absolute; left:7vw; bottom:9vh; width:min(700px,82vw); }
[dir="rtl"] .editorial-hero>div { left:auto; right:7vw; }
.editorial-hero h1 { margin:0; font:400 clamp(52px,6.4vw,96px)/.95 var(--serif); letter-spacing:-.045em; }
.editorial-split { display:grid; grid-template-columns:1fr 1fr; gap:9vw; }
.promise-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:0 3vw 120px; }
.promise-grid article { padding:45px; border:1px solid var(--line); border-right:0; }
.promise-grid article:last-child { border-right:1px solid var(--line); }
.promise-grid span { color:#958c83; font-size:9px; }
.promise-grid h2 { margin:55px 0 14px; font-size:34px; }
.promise-grid p { color:#746d67; font:17px/1.6 var(--serif); }
.story-section.reverse .story-image-wrap { order:2; }

.faq-search { width:min(620px,100%); display:flex; align-items:center; gap:13px; margin:38px auto 0; padding:0 16px; border-bottom:1px solid var(--ink); }
.faq-search input { flex:1; padding:15px 0; border:0; outline:0; background:transparent; }
.faq-topics { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; padding:0 20px 70px; }
.faq-topics a { padding:11px 17px; border:1px solid var(--line); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.faq-list { width:min(1080px,100%); margin:auto; padding:0 24px 120px; }
.faq-group { display:grid; grid-template-columns:230px 1fr; gap:55px; padding:40px 0; border-top:1px solid var(--line); }
.faq-group>h2 { margin:0; font:34px var(--serif); }
.faq-group details { border-bottom:1px solid var(--line); }
.faq-group summary { display:flex; justify-content:space-between; gap:30px; padding:20px 0; cursor:pointer; list-style:none; font:21px var(--serif); }
.faq-group details p { max-width:670px; margin:0 0 23px; color:#6d655e; line-height:1.7; }
.care-cta { padding:95px 24px; background:var(--sand); text-align:center; }
.care-cta h2 { margin:0 0 32px; font-size:clamp(42px,5vw,72px); }

.contact-layout { width:min(1180px,100%); display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; margin:auto; padding:0 24px 120px; }
.contact-layout aside { display:flex; flex-direction:column; align-items:flex-start; gap:15px; }
.contact-layout aside h2 { margin:0 0 15px; font-size:62px; }
.contact-layout aside a { border-bottom:1px solid var(--line); padding-bottom:5px; }
.contact-layout aside>p:last-child { margin-top:25px; color:#746d67; line-height:1.7; }
.contact-form label,.design-select,.size-finder label { display:block; margin-bottom:18px; color:#6f6861; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.contact-form input,.contact-form select,.contact-form textarea,.design-select select,.size-finder input { width:100%; margin-top:8px; padding:14px 12px; border:1px solid var(--line); border-radius:0; background:transparent; outline:0; }
.contact-form textarea { min-height:150px; resize:vertical; }
.form-success { margin-bottom:25px; padding:17px; border:1px solid #789077; background:#edf2eb; color:#36523b; }

.size-layout { width:min(1200px,100%); display:grid; grid-template-columns:1fr 380px; gap:7vw; margin:auto; padding:0 24px 120px; }
.available-sizes { margin:18px 0 35px; padding:18px; background:var(--sand); font:18px var(--serif); }
.size-table { width:100%; border-collapse:collapse; text-align:center; }
.size-table th,.size-table td { padding:17px 10px; border-bottom:1px solid var(--line); }
.size-table thead th { font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.size-table tbody th { font:21px var(--serif); }
.size-finder { padding:35px; border:1px solid var(--line); align-self:start; }
.size-finder h2 { margin:0 0 15px; font-size:37px; }
.size-finder>p:not(.eyebrow) { color:#746d67; line-height:1.65; }
.size-result { margin-top:20px; text-align:center; }
.size-result strong,.size-result small { display:block; }
.size-result strong { font:26px var(--serif); }
.size-result small { margin-top:8px; color:#746d67; line-height:1.5; }

.journal-grid { width:min(1450px,100%); display:grid; grid-template-columns:repeat(2,1fr); gap:85px 24px; margin:auto; padding:0 3vw 125px; }
.journal-image { display:block; aspect-ratio:1.35; overflow:hidden; margin-bottom:24px; background:var(--sand); }
.journal-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.journal-image:hover img { transform:scale(1.03); }
.journal-card>p { color:#777068; font-size:11px; line-height:1.7; }
.journal-card h2 { margin:9px 0 15px; font-size:clamp(34px,4vw,57px); line-height:1; }
.article-page { width:min(980px,100%); margin:auto; padding:105px 24px 120px; }
.article-page>header { max-width:800px; margin:auto; text-align:center; }
.article-page h1 { margin:15px 0 25px; font-size:clamp(55px,8vw,110px); line-height:.94; }
.article-page>header>p:last-child { max-width:650px; margin:auto; color:#746d67; font:20px/1.65 var(--serif); }
.article-lead { width:100%; max-height:700px; object-fit:cover; margin:70px 0; }
.article-body { width:min(700px,100%); margin:auto; }
.article-body h2 { margin:45px 0 14px; font-size:42px; }
.article-body p { color:#675f59; font:19px/1.8 var(--serif); }
.related-journal { padding:90px 4vw; border-top:1px solid var(--line); }
.related-journal>h2 { font-size:48px; }
.related-journal>div { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.related-journal a { display:flex; flex-direction:column; gap:20px; padding:30px; border:1px solid var(--line); }
.related-journal a span { color:#817970; font-size:9px; text-transform:uppercase; }
.related-journal a strong { font:26px var(--serif); }

.overlay { position:fixed; z-index:50; inset:0; background:rgba(23,22,20,.55); opacity:0; pointer-events:none; transition:opacity .35s; }
.overlay.is-open { opacity:1; pointer-events:auto; }
.drawer { position:fixed; z-index:60; top:0; bottom:0; width:min(470px,92vw); padding:35px; background:var(--paper); transition:transform .42s cubic-bezier(.25,.75,.25,1); }
.cart-drawer { right:0; display:flex; flex-direction:column; transform:translateX(105%); }
.cart-drawer.is-open { transform:translateX(0); }
[dir="rtl"] .cart-drawer { right:auto; left:0; transform:translateX(-105%); }
[dir="rtl"] .cart-drawer.is-open { transform:translateX(0); }
.drawer-title { display:flex; align-items:center; justify-content:space-between; padding-bottom:25px; border-bottom:1px solid var(--line); }
.drawer-title h2 { margin:0; font:30px var(--serif); }
.drawer-title small { color:#8c837b; font:10px var(--sans); }
.cart-lines { flex:1; overflow:auto; padding:18px 0; }
.cart-line { display:grid; grid-template-columns:105px 1fr; gap:18px; padding:16px 0; border-bottom:1px solid var(--line); }
.cart-line>img { width:105px; height:138px; object-fit:cover; }
.cart-line-info { position:relative; }
.cart-line h3 { margin:4px 0 8px; font:18px var(--serif); }
.cart-line p { margin:0 0 14px; color:#847b74; font-size:10px; }
.cart-line strong { font-size:10px; }
.quantity { position:absolute; left:0; bottom:3px; display:flex; align-items:center; gap:12px; border:1px solid var(--line); padding:5px 7px; }
[dir="rtl"] .quantity { left:auto; right:0; }
.quantity .icon { width:13px; height:13px; }
.quantity span { min-width:14px; text-align:center; font-size:10px; }
.empty-cart { height:100%; display:grid; place-content:center; justify-items:center; gap:20px; text-align:center; }
.empty-cart .icon { width:32px; height:32px; }
.empty-cart p { max-width:230px; font:21px/1.35 var(--serif); }
.empty-cart button { padding-bottom:6px; border-bottom:1px solid; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.cart-summary { padding-top:20px; border-top:1px solid var(--line); }
.cart-summary>div { display:flex; justify-content:space-between; margin-bottom:20px; }
.cart-summary>div span { font:20px var(--serif); }
.checkout-button,.quick-add { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 20px; background:var(--ink); color:#fff; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.checkout-button .icon,.quick-add .icon { width:17px; }
.cart-summary small { display:block; margin-top:13px; color:#8e857e; font-size:9px; text-align:center; letter-spacing:.08em; }

.menu-drawer { left:0; transform:translateX(-105%); }
.menu-drawer.is-open { transform:translateX(0); }
[dir="rtl"] .menu-drawer { left:auto; right:0; transform:translateX(105%); }
[dir="rtl"] .menu-drawer.is-open { transform:translateX(0); }
.drawer-close { display:flex; align-items:center; gap:10px; color:#81786f; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.drawer-close .icon { width:17px; }
.menu-drawer nav { display:flex; flex-direction:column; margin-top:70px; }
.menu-drawer nav a { padding:13px 0; font:42px var(--serif); }
.drawer-locale { position:absolute; bottom:35px; display:flex; gap:18px; }
.drawer-locale button { padding-bottom:5px; border-bottom:1px solid; }

.search-panel { position:fixed; z-index:65; inset:0 0 auto; min-height:570px; padding:50px 6vw; background:var(--paper); transform:translateY(-105%); transition:transform .45s cubic-bezier(.25,.75,.25,1); }
.search-panel.is-open { transform:translateY(0); }
.search-close { position:absolute; top:35px; right:35px; }
[dir="rtl"] .search-close { right:auto; left:35px; }
.search-inner { max-width:1050px; margin:auto; text-align:center; }
.search-inner h2 { margin:0 0 35px; font-size:55px; }
.search-inner label { display:flex; align-items:center; gap:15px; max-width:760px; margin:auto; border-bottom:1px solid var(--ink); }
.search-inner label input { flex:1; padding:16px 0; border:0; background:none; outline:0; font:21px var(--serif); }
.search-results { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-top:35px; }
.search-results button { display:flex; align-items:center; gap:12px; text-align:left; }
.search-results img { width:65px; height:83px; object-fit:cover; }
.search-results span { font:14px/1.25 var(--serif); }
.search-results small { display:block; margin-top:6px; color:#817970; font:9px var(--sans); }

.quick-modal { position:fixed; z-index:70; inset:5vh 7vw; display:grid; grid-template-columns:1.08fr .92fr; overflow:auto; background:var(--paper); box-shadow:0 24px 90px rgba(0,0,0,.22); }
.quick-close { position:absolute; z-index:2; top:23px; right:23px; padding:8px; }
[dir="rtl"] .quick-close { right:auto; left:23px; }
.quick-image { min-height:650px; background:#ddd7ce; }
.quick-image img { width:100%; height:100%; object-fit:cover; }
.quick-copy { align-self:center; padding:70px 10%; }
.quick-copy h2 { margin:0 0 15px; font-size:clamp(42px,4vw,64px); line-height:1; }
.quick-price { font-size:12px; }
.quick-price del { margin-left:10px; color:#978e86; }
.quick-description { margin:32px 0; color:#675f59; font:17px/1.6 var(--serif); }
.quick-copy fieldset { margin:0 0 28px; padding:0; border:0; }
.quick-copy legend { margin-bottom:12px; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.size-options { display:flex; flex-wrap:wrap; gap:7px; }
.size-options button { min-width:52px; padding:12px 15px; border:1px solid var(--line); font-size:10px; }
.size-options button.selected { border-color:var(--ink); background:var(--ink); color:#fff; }
.quick-add:disabled { background:#aca69e; cursor:not-allowed; }

@keyframes heroIn { from { transform:scale(1.07); opacity:.7; } to { transform:scale(1.01); opacity:1; } }
@keyframes rise { from { transform:translateY(18px); opacity:0; } to { transform:translateY(0); opacity:1; } }
.reveal { animation:rise .8s .25s ease both; }

@media (max-width:1050px) {
  .desktop-nav,.text-tool,.account-tool { display:none; }
  .site-header { grid-template-columns:1fr auto 1fr; }
  .mobile-menu-button { display:block; justify-self:start; }
  .product-grid { grid-template-columns:repeat(3,1fr); }
  .quick-modal { inset:4vh 4vw; }
}

@media (max-width:760px) {
  .announcement { min-height:28px; font-size:8px; }
  .site-header { top:28px; height:73px; padding:0 18px; }
  .brand { width:112px; }
  .header-tools { gap:9px; }
  .quiet-select { display:none; }
  .hero { min-height:670px; height:92vh; }
  .hero-image { object-position:59% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(29,26,24,.67),rgba(29,26,24,.04) 80%); }
  .hero-copy,[dir="rtl"] .hero-copy { left:24px; right:24px; bottom:68px; width:auto; }
  .hero h1 { font-size:clamp(45px,14vw,60px); }
  .hero-body { font-size:16px; }
  .hero-index { display:none; }
  .section-space { padding:84px 16px; }
  .section-heading.centered { margin-bottom:34px; }
  .category-grid { grid-template-columns:1fr; gap:10px; }
  .category-card { aspect-ratio:1.04; }
  .category-label { left:20px; right:20px; bottom:20px; font-size:30px; }
  .row-heading { align-items:flex-start; margin-bottom:35px; }
  .row-heading .dark-link { display:none; }
  .product-grid { grid-template-columns:repeat(2,1fr); gap:35px 8px; }
  .product-meta { display:block; padding-top:10px; }
  .product-meta h3 { font-size:15px; }
  .price-stack { justify-items:start; margin-top:8px; }
  [dir="rtl"] .price-stack { justify-items:end; }
  .quick-view { display:none; }
  .story-section { grid-template-columns:1fr; }
  .story-image-wrap { min-height:530px; }
  .story-copy { padding:75px 24px; }
  .story-copy h2 { font-size:50px; }
  .service-strip { grid-template-columns:1fr; padding:45px 22px; }
  .service-strip article,.service-strip article:first-child { padding:26px 0; border:0; border-bottom:1px solid var(--line); }
  .service-strip article:last-child { border-bottom:0; }
  .newsletter { padding:90px 22px; }
  .footer { grid-template-columns:1fr 1fr; gap:45px 25px; padding:65px 25px 25px; }
  .footer-brand { grid-column:1/-1; }
  .footer>div:nth-child(4) { grid-column:1/-1; }
  .footer-bottom { flex-wrap:wrap; gap:15px; }
  .search-panel { min-height:100vh; padding:75px 20px 35px; overflow:auto; }
  .search-inner h2 { font-size:39px; }
  .search-results { grid-template-columns:1fr 1fr; }
  .quick-modal { inset:2vh 12px; display:block; }
  .quick-image { height:48vh; min-height:400px; }
  .quick-copy { padding:42px 24px; }
  .quick-copy h2 { font-size:43px; }
}

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

/* VPS commerce integration */
body:not(.home-page) .site-header { position:relative; top:0; color:var(--ink); background:rgba(247,244,239,.97); border-bottom:1px solid var(--line); }
body:not(.home-page) .site-header .brand { filter:none; }
body:not(.home-page) .site-header .bag-button,body:not(.home-page) .site-header .mobile-menu-button { color:var(--ink); }
.brand img { width:100%; height:auto; }
.mobile-nav { position:fixed; z-index:82; inset:0 auto 0 0; width:min(430px,90vw); padding:35px; background:var(--paper); transform:translateX(-105%); transition:transform .4s cubic-bezier(.25,.75,.25,1); }
[dir="rtl"] .mobile-nav { inset:0 0 0 auto; transform:translateX(105%); }
.mobile-nav.is-open { transform:translateX(0); }
.mobile-nav>button { position:absolute; top:22px; right:25px; font:34px/1 var(--serif); }
[dir="rtl"] .mobile-nav>button { right:auto; left:25px; }
.mobile-nav nav { display:flex; flex-direction:column; margin-top:70px; }
.mobile-nav nav a { padding:12px 0; font:42px/1.15 var(--serif); }
.mobile-overlay { position:fixed; z-index:81; inset:0; background:rgba(23,22,20,.58); opacity:0; pointer-events:none; transition:opacity .35s; }
.mobile-overlay.is-open { opacity:1; pointer-events:auto; }
body.menu-open { overflow:hidden; }

.product-card { position:relative; min-width:0; }
.product-placeholder { width:100%; height:100%; display:grid; place-items:center; color:#aaa096; font:110px var(--serif); }
.product-card>.quick-add { margin-top:14px; transition:background .2s; }
.home-page .product-card>.quick-add { display:none; }
.product-card>.quick-add:hover { background:#4b4944; }
.product-card>.quick-add:disabled { background:#aaa49c; cursor:not-allowed; }
.lookbook-card .product-meta { min-height:55px; }

.page-title { max-width:900px; margin:auto; padding:100px 24px 70px; text-align:center; }
.page-title.compact { padding-bottom:45px; }
.page-title>span { color:#756d65; font-size:9px; letter-spacing:.26em; text-transform:uppercase; }
.page-title h1 { margin:12px 0 18px; font:400 clamp(54px,7vw,105px)/.96 var(--serif); letter-spacing:-.04em; }
.page-title p { max-width:560px; margin:auto; color:#746d67; font:18px/1.55 var(--serif); }

.catalog { width:min(1500px,100%); display:grid; grid-template-columns:235px 1fr; gap:55px; margin:auto; padding:0 3vw 120px; }
.catalog aside { position:sticky; top:25px; align-self:start; padding-top:22px; border-top:1px solid var(--line); }
.catalog aside h2 { margin:0 0 24px; font:32px var(--serif); }
.catalog label { display:block; margin:0 0 18px; color:#6f6861; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.catalog input,.catalog select,.option-grid input,.option-grid select,.checkout-fields input,.checkout-fields textarea { width:100%; margin-top:8px; padding:13px 12px; border:1px solid var(--line); border-radius:0; outline:0; background:transparent; }
.catalog input:focus,.catalog select:focus,.option-grid input:focus,.option-grid select:focus,.checkout-fields input:focus,.checkout-fields textarea:focus { border-color:var(--ink); }
.catalog .product-grid { grid-template-columns:repeat(3,1fr); }
.catalog-count { margin-bottom:22px; padding-bottom:12px; border-bottom:1px solid var(--line); color:#817970; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.text-button { padding:0 0 5px; border-bottom:1px solid; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.shop-category { padding-top:105px; }
.shop-category .section-heading h1 { margin:0; font:400 clamp(40px,4.3vw,66px)/1 var(--serif); letter-spacing:-.035em; }
.shop-catalog { border-top:1px solid var(--line); }
.shop-catalog>.row-heading { margin-bottom:34px; }
.shop-catalog>.row-heading .catalog-count { margin:0; padding:0 0 6px; border:0; }
.shop-toolbar { display:grid; grid-template-columns:1.45fr 1fr 1fr auto; align-items:end; gap:13px; margin-bottom:45px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.shop-toolbar label { display:block; color:#6f6861; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.shop-toolbar input,.shop-toolbar select { width:100%; margin-top:8px; padding:13px 12px; border:1px solid var(--line); border-radius:0; outline:0; background:transparent; }
.shop-toolbar input:focus,.shop-toolbar select:focus { border-color:var(--ink); }
.shop-toolbar .text-button { min-height:43px; padding:0 20px; border:1px solid var(--ink); }
.shop-catalog>.product-grid { grid-template-columns:repeat(4,1fr); }

.product-detail { width:min(1450px,100%); display:grid; grid-template-columns:58% 42%; gap:6vw; margin:auto; padding:70px 4vw 120px; }
.gallery { display:grid; grid-template-columns:88px 1fr; gap:15px; }
.main-image { grid-column:2; height:min(760px,72vw); display:grid; place-items:center; overflow:hidden; background:#e4ddd4; }
.main-image img { width:100%; height:100%; object-fit:cover; }
.main-image>span { color:#aaa096; font:150px var(--serif); }
.thumbs { grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:10px; }
.thumbs button { padding:0; border:1px solid var(--line); }
.thumbs img { width:100%; aspect-ratio:.74; object-fit:cover; }
.product-info { align-self:center; }
.product-info>.eyebrow { color:#756d65; }
.product-info h1 { margin:0 0 20px; font:400 clamp(50px,5vw,78px)/.98 var(--serif); letter-spacing:-.04em; }
.detail-price { display:flex; gap:15px; margin-bottom:34px; font-size:12px; }
.detail-price del { color:#978e86; }
.product-info>p { max-width:580px; color:#675f59; white-space:pre-line; font:18px/1.68 var(--serif); }
.option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:32px 0 25px; }
.option-grid label,.checkout-fields label { color:#6f6861; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; padding:14px 23px; border:1px solid var(--ink); background:var(--ink); color:#fff; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.button:hover { background:#4b4944; }
.button.full { width:100%; }
.assurances { display:flex; flex-wrap:wrap; gap:18px; margin-top:16px; color:#817970; font-size:9px; letter-spacing:.07em; }
.product-accordions { margin-top:32px; border-top:1px solid var(--line); }
.product-accordions details { border-bottom:1px solid var(--line); }
.product-accordions summary { display:flex; justify-content:space-between; padding:18px 0; cursor:pointer; list-style:none; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.product-accordions p { margin:0 0 20px; color:#675f59; font:16px/1.65 var(--serif); }
.related { padding:95px 3vw; border-top:1px solid var(--line); }
.related .section-heading { margin-bottom:45px; }

.cart-layout,.checkout-layout { width:min(1180px,100%); display:grid; grid-template-columns:1fr 365px; gap:55px; margin:auto; padding:0 24px 110px; }
.cart-row { display:grid; grid-template-columns:105px 1fr auto; gap:18px; padding:18px 0; border-bottom:1px solid var(--line); }
.cart-row img,.cart-row .cart-placeholder { width:105px; height:138px; object-fit:cover; background:#e4ddd4; }
.cart-row h3 { margin:4px 0 8px; font:20px var(--serif); }
.cart-row p,.checkout-summary p { color:#817970; font-size:10px; }
.cart-controls { display:flex; align-items:center; gap:15px; }
.cart-controls input { width:65px; padding:7px; border:1px solid var(--line); background:transparent; }
.cart-layout .cart-summary,.checkout-layout .checkout-summary { position:sticky; top:25px; align-self:start; padding:30px; border:1px solid var(--line); background:#fbf9f5; }
.cart-layout .cart-summary h2,.checkout-layout .checkout-summary h2 { margin:0 0 22px; font:31px var(--serif); }
.cart-layout .cart-summary>div,.totals>div { display:flex; justify-content:space-between; margin:0; padding:13px 0; border-bottom:1px solid var(--line); }
.center { display:block; margin-top:16px; text-align:center; }
.text-link { padding-bottom:4px; border-bottom:1px solid; }
.checkout-fields fieldset { margin:0 0 38px; padding:0; border:0; }
.checkout-fields legend { margin-bottom:22px; font:32px var(--serif); }
.checkout-fields label { display:block; margin-bottom:16px; }
.checkout-fields textarea { min-height:110px; resize:vertical; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.payment-option { display:flex!important; align-items:flex-start; gap:12px; padding:15px; border:1px solid var(--line); }
.payment-option input { width:auto; margin:3px 0 0; }
.payment-option span { display:flex; flex-direction:column; gap:5px; }
.payment-option small { color:#817970; line-height:1.45; text-transform:none; letter-spacing:0; }
.totals .grand { font:19px var(--serif); }
.empty-state { grid-column:1/-1; padding:70px 20px; border:1px solid var(--line); text-align:center; }
.empty-state h3 { font:32px var(--serif); }
.hidden,.honeypot { display:none!important; }

.success-card { width:min(730px,calc(100% - 30px)); margin:90px auto; padding:65px 35px; border:1px solid var(--line); background:#fbf9f5; text-align:center; }
.success-mark { width:62px; height:62px; display:grid; place-items:center; margin:auto; border-radius:50%; background:#e5ede4; color:#2a6337; font-size:25px; }
.success-card h1 { margin:25px 0; font:48px/1 var(--serif); }
.payment-instructions { margin:30px 0; padding:22px; background:var(--sand); }
.prose { width:min(820px,100%); margin:0 auto 100px; padding:0 24px; }
.prose h2 { margin:40px 0 15px; font:39px/1.1 var(--serif); }
.prose p,.prose li { color:#675f59; font:18px/1.7 var(--serif); }
.toast { position:fixed; z-index:100; left:50%; bottom:25px; padding:13px 20px; background:var(--ink); color:#fff; opacity:0; transform:translate(-50%,15px); transition:.25s; }
.toast.show { opacity:1; transform:translate(-50%,0); }

@media (max-width:1050px) {
  .catalog { grid-template-columns:1fr; }
  .catalog aside { position:static; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
  .catalog aside h2,.catalog aside .text-button { grid-column:1/-1; }
  .catalog .product-grid { grid-template-columns:repeat(2,1fr); }
  .product-detail { grid-template-columns:1fr; }
  .product-info { max-width:760px; }
  .cart-layout,.checkout-layout { grid-template-columns:1fr; }
  .cart-layout .cart-summary,.checkout-layout .checkout-summary { position:static; }
  .shop-toolbar { grid-template-columns:1fr 1fr; }
  .shop-toolbar .text-button { min-height:43px; }
  .shop-catalog>.product-grid { grid-template-columns:repeat(3,1fr); }
  .size-layout { grid-template-columns:1fr; }
  .size-finder { width:min(560px,100%); }
}

@media (max-width:760px) {
  body:not(.home-page) .site-header { height:73px; }
  .page-title { padding:72px 18px 48px; }
  .catalog { padding:0 12px 80px; }
  .catalog aside { grid-template-columns:1fr 1fr; }
  .catalog aside label:first-of-type { grid-column:1/-1; }
  .catalog .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 8px; }
  .shop-category { padding-top:75px; }
  .shop-toolbar { grid-template-columns:1fr 1fr; gap:15px 8px; }
  .shop-toolbar label:first-child { grid-column:1/-1; }
  .shop-catalog>.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 8px; }
  .product-card>.quick-add { padding:13px 10px; }
  .product-detail { padding:25px 12px 80px; gap:45px; }
  .gallery { display:block; }
  .main-image { height:125vw; }
  .thumbs { flex-direction:row; overflow:auto; margin-top:8px; }
  .thumbs button { min-width:72px; }
  .product-info h1 { font-size:48px; }
  .option-grid { grid-template-columns:1fr 1fr; }
  .option-grid label:last-child { grid-column:1/-1; }
  .related { padding:70px 12px; }
  .cart-layout,.checkout-layout { padding:0 12px 80px; gap:35px; }
  .cart-row { grid-template-columns:80px 1fr; }
  .cart-row img,.cart-row .cart-placeholder { width:80px; height:106px; }
  .cart-row>strong { grid-column:2; }
  .two { grid-template-columns:1fr; }
  .intro-section,.editorial-split,.contact-layout { grid-template-columns:1fr; gap:45px; }
  .category-grid-six { grid-template-columns:1fr 1fr; }
  .category-grid-six .category-card { aspect-ratio:.78; }
  .discover-panel { padding:90px 20px; }
  .discover-panel>div { flex-direction:column; align-items:center; gap:25px; }
  .editorial-hero { min-height:520px; height:70vh; }
  .promise-grid { grid-template-columns:1fr; padding:0 16px 80px; }
  .promise-grid article,.promise-grid article:last-child { border:1px solid var(--line); border-bottom:0; }
  .promise-grid article:last-child { border-bottom:1px solid var(--line); }
  .story-section.reverse .story-image-wrap { order:0; }
  .faq-group { grid-template-columns:1fr; gap:15px; }
  .faq-group>h2 { font-size:29px; }
  .contact-layout { padding-bottom:85px; }
  .size-layout { padding:0 12px 85px; }
  .size-table { font-size:11px; }
  .size-table th,.size-table td { padding:13px 5px; }
  .journal-grid { grid-template-columns:1fr; gap:65px; padding:0 16px 90px; }
  .related-journal>div { grid-template-columns:1fr; }
}
