:root { --ink:#1c1a17; --soft-ink:#665f57; --paper:#f9f8f5; --warm:#eee9df; --cream:#f4f0e8; --sage:#dfe2d7; --line:rgba(28,26,23,.16); --serif:"Playfair Display", Georgia, serif; --sans:"DM Sans", Arial, sans-serif; --mono:"DM Mono", monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:14px; line-height:1.45; overflow-x:hidden; }
body.drawer-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { color:inherit; }
img { width:100%; display:block; }
.announcement { height:32px; color:#f8f7f4; background:#26231f; display:flex; justify-content:center; align-items:center; gap:15px; font:10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.announcement p { margin:0; }.announcement-separator { width:3px; height:3px; background:#b9ae9e; border-radius:50%; }
.site-header { height:82px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 3.7vw; border-bottom:1px solid var(--line); position:relative; z-index:10; background:var(--paper); }
.nav { display:flex; align-items:center; gap:25px; }.nav-right { justify-content:flex-end; }.nav a,.bag-trigger { font:10px var(--mono); text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }.bag-trigger { border:0; background:transparent; cursor:pointer; padding:0; }.bag-trigger b { font-weight:400; }
.wordmark { font-family:var(--serif); font-size:35px; letter-spacing:-.085em; line-height:1; }.wordmark span { font:8px var(--sans); margin-left:2px; vertical-align:top; letter-spacing:0; }
.mobile-menu-toggle { display:none; }.icon-button { background:transparent; border:0; }.mobile-nav { display:none; }
.hero { min-height:calc(100vh - 114px); display:grid; grid-template-columns:38.5% 61.5%; position:relative; background:var(--warm); }.hero-copy { padding:clamp(60px,12vh,150px) 5vw 44px; display:flex; flex-direction:column; align-items:flex-start; }.eyebrow { margin:0 0 17px; font:10px var(--mono); letter-spacing:.11em; text-transform:uppercase; }.hero h1,.intro h2,.section-heading h2,.collection-prompt h2,.craft-copy h2,.newsletter h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.055em; line-height:.99; margin:0; }.hero h1 { font-size:clamp(52px,5.8vw,94px); }.hero h1 em,.intro h2 em,.section-heading h2 em,.collection-prompt h2 em,.craft-copy h2 em,.newsletter h2 em { font-weight:400; }.hero-text { max-width:280px; margin:29px 0 32px; color:#5a554e; font-size:13px; }.text-link { display:inline-flex; gap:18px; align-items:center; border-bottom:1px solid currentColor; padding-bottom:6px; font:10px var(--mono); letter-spacing:.06em; text-transform:uppercase; transition:gap .25s ease; }.text-link:hover { gap:27px; }.text-link span { font-size:15px; line-height:8px; }.hero-meta { margin-top:auto; display:flex; align-items:center; gap:10px; font:9px var(--mono); color:#766f64; letter-spacing:.06em; text-transform:uppercase; }.hero-meta .rule { display:block; width:44px; height:1px; background:#a9a094; }.hero-image-wrap { min-height:620px; overflow:hidden; position:relative; }.hero-image { height:100%; object-fit:cover; object-position:48% 50%; filter:saturate(.86); }.hero-stamp { position:absolute; bottom:34px; right:38px; display:flex; flex-direction:column; justify-content:center; align-items:center; border:1px solid rgba(255,255,255,.9); background:rgba(40,31,23,.08); backdrop-filter:blur(4px); color:white; width:110px; height:110px; border-radius:50%; text-align:center; transform:rotate(-12deg); }.hero-stamp span { font:italic 27px var(--serif); letter-spacing:-.1em; }.hero-stamp small { font:7px var(--mono); text-transform:uppercase; letter-spacing:.08em; line-height:1.35; margin-top:3px; }.hero-explore { position:absolute; bottom:25px; left:calc(38.5% - 20px); color:#fff; font:9px var(--mono); letter-spacing:.08em; line-height:1.6; text-transform:uppercase; z-index:2; }.hero-explore span { display:block; margin-top:4px; font-size:18px; }
.section-pad { padding:clamp(80px,10vw,155px) 5.2vw; }.intro { max-width:870px; margin:auto; text-align:center; }.intro h2 { font-size:clamp(40px,5vw,76px); }.intro > p:not(.eyebrow) { max-width:490px; margin:26px auto 28px; color:var(--soft-ink); font-size:14px; line-height:1.75; }
.editorial-grid { padding:0 2vw; display:grid; grid-template-columns:1.04fr .96fr; grid-template-rows:500px 330px; gap:12px; }.editorial-feature { position:relative; overflow:hidden; }.editorial-feature img { height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }.editorial-feature:hover img { transform:scale(1.035); }.feature-tall { grid-row:span 2; }.feature-tall img { object-position:center; }.feature-product { background:#e8e5dc; }.feature-product img { object-fit:contain; transform:scale(.95); }.feature-product:hover img { transform:scale(.98); }.feature-wide img { object-position:50% 45%; }.editorial-feature:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.34),transparent 48%); pointer-events:none; }.feature-product:after { display:none; }.editorial-caption { position:absolute; z-index:1; left:40px; bottom:34px; }.editorial-caption h3 { margin:0 0 19px; font:400 clamp(28px,3.2vw,50px)/1 var(--serif); letter-spacing:-.05em; }.caption-light { color:white; }.caption-light .eyebrow { color:rgba(255,255,255,.82); }.caption-dark { color:var(--ink); }.caption-dark .eyebrow { color:#766f64; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:42px; }.section-heading h2 { font-size:clamp(39px,4.2vw,63px); }.product-section { background:var(--paper); }.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.product-card { min-width:0; }.product-image { display:block; position:relative; overflow:hidden; aspect-ratio:1/1.09; background:#f1efe9; }.product-image img { height:100%; object-fit:cover; transition:opacity .4s ease,transform .5s ease; }.product-image .hover-img { position:absolute; inset:0; opacity:0; }.product-card:hover .hover-img { opacity:1; }.product-card:hover .default-img { opacity:0; transform:scale(1.02); }.product-label { position:absolute; top:13px; left:13px; background:var(--ink); color:#fff; font:8px var(--mono); letter-spacing:.08em; text-transform:uppercase; padding:6px 8px; }.heart { cursor:pointer; position:absolute; top:8px; right:9px; width:31px; height:31px; padding:0; border:0; background:transparent; font:27px/1 var(--serif); transition:transform .2s; }.heart:hover,.heart.saved { transform:scale(1.15); }.heart.saved { color:#9f4e58; }.quick-add { display:flex; justify-content:space-between; align-items:center; position:absolute; bottom:0; left:0; right:0; padding:15px 15px 14px; background:rgba(249,248,245,.94); transform:translateY(101%); transition:transform .28s ease; font:9px var(--mono); text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }.quick-add b { font:400 19px/10px var(--sans); }.product-image:hover .quick-add { transform:translateY(0); }.product-info { display:flex; justify-content:space-between; gap:8px; padding-top:13px; }.product-info h3 { margin:0 0 3px; font-size:12px; font-weight:500; }.product-info p { margin:0; color:#827a70; font-size:10px; }.product-info strong { padding-top:2px; white-space:nowrap; font:10px var(--mono); font-weight:400; }
.collection-prompt { display:grid; grid-template-columns:1.1fr .9fr; min-height:700px; background:#d9ded0; }.collection-prompt-image { overflow:hidden; }.collection-prompt-image img { height:100%; object-fit:cover; object-position:54% center; filter:saturate(.78); }.collection-prompt-copy { position:relative; padding:clamp(75px,10vw,140px) 9vw 60px; display:flex; flex-direction:column; align-items:flex-start; }.collection-prompt h2 { font-size:clamp(47px,5vw,75px); }.collection-prompt-copy > p:not(.eyebrow) { max-width:300px; color:#5e625a; line-height:1.72; margin:27px 0 35px; }.button-link { background:var(--ink); color:#fff; padding:16px 19px; font:10px var(--mono); letter-spacing:.08em; text-transform:uppercase; transition:background .2s,transform .2s; }.button-link span { margin-left:20px; font-size:15px; }.button-link:hover { background:#49443d; transform:translateY(-2px); }.edition-mark { position:absolute; bottom:39px; right:5vw; color:#6c7169; font:9px var(--mono); letter-spacing:.08em; line-height:1.55; text-transform:uppercase; text-align:right; }
.signature-edit { padding-bottom:clamp(80px,11vw,160px); }.heading-copy { max-width:250px; margin:0; color:var(--soft-ink); font-size:12px; line-height:1.65; }.signature-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:13px; }.signature-item { min-height:440px; position:relative; overflow:hidden; background:#efede8; }.signature-item.large { min-height:590px; }.signature-item img { height:100%; object-fit:cover; transition:transform .7s ease; }.signature-item:not(.large) img { object-fit:contain; }.signature-item:hover img { transform:scale(1.04); }.signature-item a { position:absolute; left:17px; bottom:15px; right:17px; display:flex; justify-content:space-between; align-items:center; color:var(--ink); font:10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }.signature-item.large a { color:#fff; }.signature-item a span { font-size:18px; }
.craft-section { min-height:665px; display:grid; grid-template-columns:1fr 1fr; background:#ece4d9; }.craft-image { overflow:hidden; }.craft-image img { height:100%; object-fit:cover; object-position:53% center; }.craft-copy { padding:clamp(70px,9.5vw,135px) 10%; position:relative; }.craft-copy h2 { font-size:clamp(43px,4.5vw,66px); }.craft-copy > p:not(.eyebrow) { color:#676057; max-width:405px; line-height:1.75; margin:28px 0 32px; }.roundel { position:absolute; top:42px; right:9%; width:52px; height:52px; display:flex; flex-direction:column; justify-content:center; align-items:center; border:1px solid #8f877c; border-radius:50%; font:italic 21px/13px var(--serif); }.roundel span { font:7px var(--mono); font-style:normal; margin-top:3px; }
.journal { background:var(--paper); }.journal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.journal-card img { aspect-ratio:1.12/1; object-fit:cover; margin-bottom:16px; transition:transform .5s; }.journal-card { overflow:hidden; }.journal-card:hover img { transform:scale(1.025); }.journal-card p { margin:0 0 12px; font:400 clamp(18px,1.7vw,25px)/1.2 var(--serif); letter-spacing:-.035em; }.journal-card span { font:9px var(--mono); letter-spacing:.07em; text-transform:uppercase; border-bottom:1px solid var(--ink); padding-bottom:5px; }.journal-card b { margin-left:12px; font-size:13px; }
.newsletter { padding:clamp(80px,9vw,130px) 5.2vw; background:#d7ddd2; display:grid; grid-template-columns:1fr 1fr; column-gap:8vw; }.newsletter h2 { font-size:clamp(42px,4.5vw,65px); }.email-form { align-self:center; display:flex; border-bottom:1px solid var(--ink); margin-top:13px; }.email-form input { width:100%; border:0; outline:0; background:transparent; padding:13px 0; color:var(--ink); font-size:14px; }.email-form input::placeholder { color:#5f665d; }.email-form button { border:0; background:transparent; cursor:pointer; padding:0 3px 0 13px; font-size:24px; }.form-note { grid-column:2; margin:13px 0 0; color:#657064; font-size:9px; line-height:1.6; }
.site-footer { padding:62px 5.2vw 24px; background:#24221e; color:#eeece5; }.footer-top { display:flex; align-items:baseline; gap:26px; padding-bottom:54px; }.footer-top .wordmark { font-size:46px; }.footer-top p { margin:0; color:#b8b2a7; font:12px var(--serif); font-style:italic; }.footer-links { display:grid; grid-template-columns:1.1fr 1.1fr 1fr 1.5fr; gap:30px; padding:30px 0 62px; border-top:1px solid rgba(255,255,255,.17); }.footer-links div { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }.footer-links h3 { margin:0 0 10px; font:9px var(--mono); letter-spacing:.1em; text-transform:uppercase; color:#aba498; font-weight:400; }.footer-links a,.footer-links p { margin:0; color:#eeece5; font-size:11px; }.footer-links a:hover { text-decoration:underline; }.footer-contact p { color:#aaa398; font-size:10px; }.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:19px; border-top:1px solid rgba(255,255,255,.17); color:#aaa398; font:9px var(--mono); letter-spacing:.05em; text-transform:uppercase; }.footer-bottom div { display:flex; gap:17px; }.footer-bottom a:hover { color:white; }
.bag-drawer { position:fixed; top:0; right:0; z-index:50; display:flex; flex-direction:column; width:min(435px,100vw); height:100vh; background:var(--paper); transform:translateX(101%); transition:transform .36s cubic-bezier(.2,.65,.2,1); }.bag-drawer.open { transform:translateX(0); }.drawer-header { display:flex; justify-content:space-between; align-items:center; padding:27px 28px 22px; border-bottom:1px solid var(--line); }.drawer-header h2 { margin:0; font:400 27px var(--serif); letter-spacing:-.05em; }.drawer-header h2 span { font:11px var(--mono); letter-spacing:0; }.drawer-header h2 b { font-weight:400; }.drawer-close { cursor:pointer; border:0; background:transparent; font:32px/1 var(--serif); }.bag-items { padding:20px 28px; overflow:auto; flex:1; }.empty-bag { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; color:#6d675f; }.empty-bag p { max-width:200px; margin:0 0 20px; font:18px/1.3 var(--serif); }.bag-item { display:grid; grid-template-columns:94px 1fr; gap:14px; padding:0 0 18px; margin-bottom:18px; border-bottom:1px solid var(--line); }.bag-item img { width:94px; height:110px; object-fit:cover; background:#f0eee8; }.bag-item h3 { margin:1px 0 4px; font-size:12px; font-weight:500; }.bag-item p,.bag-item strong { margin:0; color:#756e65; font-size:10px; font-weight:400; }.bag-item strong { display:block; margin:9px 0; color:var(--ink); font-family:var(--mono); }.remove-item { cursor:pointer; border:0; background:transparent; border-bottom:1px solid currentColor; padding:0 0 2px; font:8px var(--mono); text-transform:uppercase; letter-spacing:.08em; }.bag-footer { padding:19px 28px 28px; border-top:1px solid var(--line); }.bag-total { display:flex; justify-content:space-between; font-size:12px; margin-bottom:16px; }.bag-total strong { font:11px var(--mono); }.checkout { width:100%; padding:15px; border:0; background:var(--ink); color:#fff; font:10px var(--mono); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }.checkout:disabled { opacity:.38; cursor:not-allowed; }.checkout span { margin-left:22px; font-size:14px; }.drawer-scrim { visibility:hidden; opacity:0; position:fixed; z-index:40; inset:0; background:rgba(20,18,16,.35); transition:opacity .3s; }.drawer-scrim.visible { visibility:visible; opacity:1; }.toast { position:fixed; z-index:70; left:50%; bottom:23px; transform:translate(-50%,130%); color:#fff; background:var(--ink); padding:13px 18px; font:10px var(--mono); letter-spacing:.06em; text-transform:uppercase; transition:transform .35s ease; white-space:nowrap; }.toast.show { transform:translate(-50%,0); }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width: 800px) { .announcement { gap:8px; font-size:8px; }.announcement p:last-child,.announcement-separator { display:none; }.site-header { height:62px; padding:0 20px; }.nav { display:none; }.site-header { grid-template-columns:1fr auto 1fr; }.mobile-menu-toggle { display:flex; flex-direction:column; gap:5px; width:30px; padding:8px 0; cursor:pointer; }.mobile-menu-toggle span { width:17px; height:1px; background:var(--ink); }.site-header:has(.mobile-menu-toggle[aria-expanded="true"]) { position:fixed; top:0; left:0; right:0; }.wordmark { font-size:30px; }.site-header:after { content:"Bag (0)"; justify-self:end; font:9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.hero { min-height:calc(100svh - 94px); grid-template-columns:1fr; grid-template-rows:48% 52%; }.hero-copy { order:2; padding:31px 24px 24px; }.hero h1 { font-size:48px; }.hero-text { margin:17px 0 19px; font-size:12px; }.hero-meta { display:none; }.hero-image-wrap { min-height:0; }.hero-image { object-position:50% 42%; }.hero-stamp { width:82px; height:82px; bottom:15px; right:15px; }.hero-stamp span { font-size:21px; }.hero-stamp small { font-size:5px; }.hero-explore { display:none; }.section-pad { padding:72px 24px; }.intro { padding-left:25px; padding-right:25px; }.intro h2 { font-size:40px; }.editorial-grid { padding:0 10px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:340px 230px 260px; gap:7px; }.feature-tall { grid-row:span 2; }.feature-product { grid-row:span 1; }.feature-wide { grid-column:span 2; }.editorial-caption { left:18px; bottom:18px; }.editorial-caption h3 { font-size:29px; margin-bottom:11px; }.editorial-caption .eyebrow { margin-bottom:8px; }.section-heading { margin-bottom:28px; align-items:flex-end; }.section-heading h2 { font-size:39px; }.section-heading > .text-link { display:none; }.product-grid { grid-template-columns:repeat(2,1fr); gap:26px 9px; }.product-image { aspect-ratio:1/1.07; }.product-info { padding-top:9px; }.product-info h3 { font-size:11px; }.product-info p { font-size:9px; max-width:115px; }.product-info strong { font-size:9px; }.quick-add { display:none; }.collection-prompt { min-height:0; display:flex; flex-direction:column; }.collection-prompt-image { height:52vw; }.collection-prompt-copy { min-height:420px; padding:61px 26px; }.collection-prompt h2 { font-size:48px; }.edition-mark { right:25px; bottom:26px; }.signature-edit { padding-bottom:76px; }.heading-copy { display:none; }.signature-grid { grid-template-columns:1fr 1fr; gap:7px; }.signature-item { min-height:265px; }.signature-item.large { min-height:410px; grid-row:span 2; }.signature-item a { left:10px; right:10px; bottom:10px; font-size:8px; }.craft-section { min-height:0; display:flex; flex-direction:column; }.craft-image { height:62vw; }.craft-copy { padding:68px 26px 75px; }.craft-copy h2 { font-size:45px; }.roundel { right:25px; top:26px; }.craft-copy > p:not(.eyebrow) { font-size:12px; }.journal-grid { grid-template-columns:1fr; gap:34px; }.journal-card img { aspect-ratio:1.25/1; }.journal-card p { font-size:25px; }.newsletter { padding:69px 25px; display:block; }.newsletter h2 { font-size:45px; }.email-form { margin-top:41px; }.form-note { margin-top:12px; }.site-footer { padding:49px 25px 20px; }.footer-top { padding-bottom:36px; }.footer-top .wordmark { font-size:43px; }.footer-top p { display:none; }.footer-links { grid-template-columns:1fr 1fr; gap:34px 20px; padding-bottom:42px; }.footer-contact { grid-column:span 2; }.footer-bottom { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.footer-bottom div { justify-content:flex-end; }.footer-bottom span:last-of-type { display:none; } }
@media (max-width: 800px) {
  .nav-right { display:flex; justify-content:flex-end; }
  .nav-right a { display:none; }
  .nav-right .bag-trigger { display:block !important; visibility:visible; color:var(--ink); font-size:9px; }
  .site-header:after { display:none; }
  .mobile-menu-toggle span { transition:transform .2s; }
  .mobile-menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3px) rotate(45deg); }
  .mobile-menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3px) rotate(-45deg); }
  .mobile-nav { position:fixed; z-index:9; top:94px; left:0; right:0; display:block; visibility:hidden; background:var(--paper); border-bottom:1px solid var(--line); opacity:0; transform:translateY(-12px); pointer-events:none; transition:opacity .2s,transform .25s,visibility .25s; padding:12px 20px 20px; }
  .mobile-nav.open { visibility:visible; opacity:1; transform:translateY(0); pointer-events:auto; }
  .mobile-nav a { display:flex; justify-content:space-between; padding:15px 0; border-bottom:1px solid var(--line); font:20px var(--serif); letter-spacing:-.03em; }
  .mobile-nav a span { font:14px var(--mono); }
}
@media (max-width: 380px) { .announcement { font-size:7px; }.hero h1 { font-size:43px; }.hero-copy { padding-top:25px; }.hero-text { margin:12px 0 14px; }.product-info { flex-direction:column; gap:2px; }.product-info strong { padding:0; }.footer-links { grid-template-columns:1fr; }.footer-contact { grid-column:span 1; } }

/* Multi-page route views */
#route-view[hidden] { display:none; }.route-page { min-height:70vh; background:var(--paper); }.route-hero { display:grid; grid-template-columns:minmax(0,1fr); min-height:470px; background:var(--warm); position:relative; overflow:hidden; }.route-hero.has-image { grid-template-columns:1.03fr .97fr; }.route-hero-copy { align-self:center; padding:92px 8vw 95px; position:relative; z-index:1; }.route-hero.has-image .route-hero-copy { grid-column:1; grid-row:1; }.route-hero-copy h1 { max-width:680px; margin:0; white-space:pre-line; font:400 clamp(55px,7vw,112px)/.92 var(--serif); letter-spacing:-.07em; }.route-hero-copy > p:last-child { max-width:350px; margin:26px 0 0; color:#635e57; font-size:13px; line-height:1.7; }.route-hero-image { grid-column:2; grid-row:1; min-height:470px; overflow:hidden; }.route-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.86); }.route-filter-row { display:flex; flex-wrap:wrap; gap:27px; align-items:center; padding:20px 5.2vw; border-bottom:1px solid var(--line); }.route-filter { color:#81796f; font:9px var(--mono); letter-spacing:.08em; text-transform:uppercase; padding-bottom:5px; border-bottom:1px solid transparent; }.route-filter:hover,.route-filter.active { color:var(--ink); border-color:var(--ink); }.route-catalog-head { display:flex; justify-content:space-between; padding:30px 5.2vw 18px; }.route-catalog-head p,.route-catalog-head span { margin:0; font:9px var(--mono); color:#726b61; letter-spacing:.08em; text-transform:uppercase; }.route-catalog-head span { color:#aaa196; }.route-catalog-grid { padding:0 5.2vw 125px; }.route-collection-intro { display:flex; justify-content:space-between; gap:40px; padding:79px 5.2vw 20px; }.route-collection-intro .eyebrow { margin:0; }.route-collection-intro > p:last-child { max-width:325px; margin:0; color:#6c655d; font-size:13px; line-height:1.7; }.route-breadcrumb { display:flex; align-items:center; gap:10px; padding:22px 5.2vw; color:#81796f; font:9px var(--mono); letter-spacing:.06em; text-transform:uppercase; }.route-breadcrumb a { color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:3px; }.route-product-layout { display:grid; grid-template-columns:1.16fr .84fr; max-width:1400px; margin:0 auto; min-height:720px; }.route-product-images { display:grid; grid-template-columns:1fr 1fr; gap:9px; background:#edeae4; }.route-product-images > div { min-height:620px; overflow:hidden; background:#efede7; }.route-product-images img { width:100%; height:100%; object-fit:cover; }.route-product-images > div:first-child img { object-fit:contain; }.route-product-copy { align-self:center; max-width:510px; padding:65px 10%; }.route-product-copy h1 { margin:0; font:400 clamp(43px,4.4vw,72px)/.97 var(--serif); letter-spacing:-.07em; }.route-product-price { margin:17px 0 28px; font:11px var(--mono); }.route-product-description { max-width:390px; color:#655f57; line-height:1.75; margin:0 0 28px; }.route-product-specs { width:100%; margin:0 0 25px; border-top:1px solid var(--line); }.route-product-specs div { display:flex; justify-content:space-between; gap:15px; padding:11px 0; border-bottom:1px solid var(--line); font-size:10px; }.route-product-specs dt { color:#80776d; }.route-product-specs dd { margin:0; font-weight:500; text-align:right; }.route-metal-label { margin-bottom:9px; font:9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.route-metal { display:flex; gap:7px; margin-bottom:13px; }.route-metal button { flex:1; padding:12px 8px; border:1px solid var(--line); background:transparent; cursor:pointer; font:9px var(--mono); text-transform:uppercase; letter-spacing:.05em; }.route-metal button.active { color:#fff; background:var(--ink); border-color:var(--ink); }.route-add { width:100%; padding:16px; border:0; background:var(--ink); color:#fff; cursor:pointer; font:10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }.route-add span { margin-left:22px; font-size:15px; }.route-product-note { margin:14px 0 0; color:#8a8177; font-size:9px; line-height:1.5; }.product-care-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:60px; background:var(--line); border-top:1px solid var(--line); }.product-care-strip > div { display:flex; flex-direction:column; gap:8px; padding:43px 5.2vw; background:var(--paper); }.product-care-strip .eyebrow { margin:0; color:#81796f; }.product-care-strip strong { font:400 22px var(--serif); letter-spacing:-.03em; }.product-care-strip span { color:#766e65; font-size:11px; }.not-found { min-height:72vh; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }.not-found h1 { margin:0; font:400 clamp(48px,7vw,94px) var(--serif); letter-spacing:-.07em; }.not-found > p:not(.eyebrow) { color:#726a61; margin:17px 0 27px; }.story-split { display:grid; grid-template-columns:1fr 1fr; gap:9vw; padding:140px 12vw; }.story-split h2,.gift-note h2,.gift-service h2 { margin:0; font:400 clamp(41px,4.4vw,69px)/.98 var(--serif); letter-spacing:-.065em; }.story-split > div:last-child { max-width:420px; color:#645d55; font-size:14px; line-height:1.85; }.story-split > div:last-child p { margin:0 0 23px; }.story-values { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border-top:1px solid var(--line); }.story-values > div { min-height:235px; padding:32px 5.2vw; background:#e8e4db; }.story-values span { font:9px var(--mono); color:#80776d; }.story-values h3 { margin:52px 0 9px; font:400 25px var(--serif); letter-spacing:-.04em; }.story-values p { max-width:190px; margin:0; color:#6b635a; font-size:11px; line-height:1.6; }.gift-note { display:grid; grid-template-columns:1fr 1.1fr; gap:8vw; padding:124px 12vw 95px; align-items:start; }.gift-note > p:last-child { max-width:360px; margin:0; color:#675f57; font-size:14px; line-height:1.8; }.gift-products { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding:0 5.2vw 124px; }.gift-service { display:grid; grid-template-columns:1fr 1fr; background:#dce0d5; min-height:410px; }.gift-service > div { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:60px 10vw; }.gift-service > img { height:100%; min-height:410px; object-fit:cover; }.journal-page .route-hero { background:#d9ded0; }.journal-route-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; padding:96px 5.2vw 130px; }.journal-route-card img { width:100%; aspect-ratio:1.06/1; object-fit:cover; margin-bottom:22px; }.journal-route-card .eyebrow { margin:0 0 11px; color:#80776d; }.journal-route-card h2 { margin:0 0 12px; font:400 clamp(23px,2vw,31px)/1.1 var(--serif); letter-spacing:-.04em; }.journal-route-card > p:not(.eyebrow) { max-width:270px; margin:0 0 20px; color:#6c645b; font-size:12px; line-height:1.6; }
@media (max-width:800px) { .route-hero,.route-hero.has-image { display:flex; flex-direction:column; min-height:0; }.route-hero-copy { order:2; padding:68px 25px 76px; }.route-hero-copy h1 { font-size:54px; }.route-hero-copy > p:last-child { font-size:12px; }.route-hero-image { order:1; min-height:58vw; height:58vw; }.route-filter-row { gap:16px; padding:16px 25px; }.route-catalog-head { padding:24px 25px 14px; }.route-catalog-head span { display:none; }.route-catalog-grid { padding:0 25px 80px; }.route-collection-intro { display:block; padding:60px 25px 8px; }.route-collection-intro > p:last-child { margin-top:18px; font-size:12px; }.route-breadcrumb { padding:17px 25px; overflow:auto; white-space:nowrap; }.route-product-layout { display:block; min-height:0; }.route-product-images { height:118vw; }.route-product-images > div { min-height:0; }.route-product-copy { max-width:none; padding:56px 25px 74px; }.route-product-copy h1 { font-size:50px; }.product-care-strip { grid-template-columns:1fr; }.product-care-strip > div { min-height:155px; padding:31px 25px; }.product-care-strip h3 { margin-top:26px; }.story-split { display:block; padding:79px 25px; }.story-split > div:last-child { margin-top:35px; font-size:12px; }.story-values { grid-template-columns:1fr; }.story-values > div { min-height:205px; padding:27px 25px; }.story-values h3 { margin-top:42px; }.gift-note { display:block; padding:74px 25px 62px; }.gift-note > p:last-child { margin-top:27px; font-size:12px; }.gift-products { grid-template-columns:repeat(2,1fr); gap:25px 9px; padding:0 25px 75px; }.gift-products .catalog-card:last-child { grid-column:span 2; max-width:calc(50% - 4px); }.gift-service { display:flex; flex-direction:column; }.gift-service > div { padding:69px 25px; min-height:315px; }.gift-service > img { min-height:0; height:55vw; }.journal-route-grid { grid-template-columns:1fr; gap:51px; padding:67px 25px 85px; }.journal-route-card h2 { font-size:31px; } }

.checkout-page { padding-bottom:130px; }.checkout-heading { padding:104px 5.2vw 67px; background:#e8e4db; }.checkout-heading h1 { margin:0; font:400 clamp(52px,7vw,100px)/.92 var(--serif); letter-spacing:-.07em; }.checkout-heading h1 em { font-weight:400; }.checkout-heading > p:last-child { max-width:310px; margin:24px 0 0; color:#6c655c; font-size:13px; line-height:1.7; }.checkout-layout { display:grid; grid-template-columns:1.12fr .88fr; gap:10vw; max-width:1080px; margin:0 auto; padding:78px 5.2vw 0; }.checkout-form-section { padding:0 0 37px; margin-bottom:31px; border-bottom:1px solid var(--line); }.checkout-form label { display:flex; flex-direction:column; gap:8px; margin-bottom:15px; font:10px var(--mono); letter-spacing:.05em; text-transform:uppercase; }.checkout-form input { width:100%; padding:13px 0; border:0; border-bottom:1px solid var(--line); outline:0; background:transparent; font:13px var(--sans); text-transform:none; letter-spacing:0; }.checkout-two { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.place-order { width:100%; padding:16px; cursor:pointer; border:0; background:var(--ink); color:#fff; font:10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.place-order span { margin-left:24px; font-size:14px; }.checkout-summary { align-self:start; padding:29px; background:#f0ede7; }.checkout-item { display:grid; grid-template-columns:58px 1fr auto; gap:12px; align-items:center; padding:13px 0; border-bottom:1px solid var(--line); }.checkout-item img { width:58px; height:67px; object-fit:cover; background:#e9e6df; }.checkout-item strong,.checkout-item span { display:block; }.checkout-item strong { font-size:11px; font-weight:500; }.checkout-item span { color:#7b7268; font-size:9px; margin-top:4px; }.checkout-item b { font:10px var(--mono); font-weight:400; }.checkout-total { display:flex; justify-content:space-between; padding-top:21px; font-size:12px; }.checkout-total strong { font:11px var(--mono); }.checkout-empty { text-align:center; padding:130px 25px; }.checkout-empty h2 { margin:0; font:400 58px var(--serif); letter-spacing:-.06em; }.checkout-empty p { margin:14px 0 26px; color:#6e665d; }.info-page .route-hero { background:#dfe4db; }.info-body { max-width:615px; padding:120px 10vw 150px; }.info-body h2 { margin:0 0 22px; font:400 clamp(43px,5vw,72px)/.97 var(--serif); letter-spacing:-.06em; }.info-body > p:not(.eyebrow) { max-width:480px; margin:0 0 19px; color:#665e56; line-height:1.8; }.info-body a:not(.text-link) { border-bottom:1px solid currentColor; }.order-complete { display:flex; min-height:70vh; flex-direction:column; justify-content:center; align-items:center; text-align:center; background:#dfe4db; }.order-complete h1 { margin:0; font:400 clamp(55px,7vw,108px)/.9 var(--serif); letter-spacing:-.07em; }.order-complete > p:not(.eyebrow) { max-width:320px; margin:23px 0 28px; color:#6a635a; line-height:1.7; }
@media (max-width:800px) { .checkout-heading { padding:67px 25px 55px; }.checkout-layout { display:flex; flex-direction:column; gap:0; padding:57px 25px 0; }.checkout-summary { order:-1; margin-bottom:50px; padding:22px; }.checkout-two { gap:10px; }.info-body { padding:80px 25px 110px; }.info-body h2 { font-size:45px; }.checkout-empty { padding:100px 25px; }.checkout-empty h2 { font-size:43px; }.order-complete { min-height:75vh; padding:25px; }.order-complete h1 { font-size:59px; } }

/* Preserve a denser editorial rhythm on the home page. */
.feature-product img { object-fit:cover; transform:none; }.feature-product:hover img { transform:scale(1.035); }.feature-product:after { display:block; }
@media (max-width:800px) { .hero { min-height:0; grid-template-rows:auto auto; }.hero-image-wrap { height:96vw; max-height:460px; }.hero-copy { min-height:0; padding:35px 24px 56px; }.hero-text { margin-bottom:20px; } }
/* Do not reserve a visual footprint for a notification until it is needed. */
.toast { visibility:hidden; opacity:0; transform:translate(-50%,12px); transition:transform .35s ease,opacity .25s ease,visibility .25s; }.toast.show { visibility:visible; opacity:1; transform:translate(-50%,0); }
@media (max-width:800px) { .editorial-grid { display:block; padding:0 10px; }.editorial-feature,.feature-tall,.feature-product,.feature-wide { height:340px; min-height:0; margin:0 0 8px; }.feature-tall { height:480px; }.feature-product { height:360px; }.editorial-caption { left:21px; bottom:21px; }.editorial-caption h3 { font-size:35px; } }

/* Shopping catalogue and product experience */
.shop-section { background:#f1eee8; }.shop-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; padding-bottom:48px; }.shop-heading h2 { margin:0; font:400 clamp(42px,5vw,74px)/.98 var(--serif); letter-spacing:-.06em; }.shop-heading > p { max-width:255px; margin:0 0 3px; color:var(--soft-ink); line-height:1.65; }.shop-toolbar { display:flex; justify-content:space-between; align-items:center; padding:15px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:28px; }.filter-group { display:flex; flex-wrap:wrap; gap:19px; }.filter-button { cursor:pointer; border:0; background:transparent; color:#777066; padding:4px 0; font:9px var(--mono); text-transform:uppercase; letter-spacing:.08em; }.filter-button span { color:#aaa298; }.filter-button.active { color:var(--ink); border-bottom:1px solid var(--ink); }.shop-toolbar > p { margin:0; color:#777066; font:9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.catalog-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:34px 14px; }.catalog-card { min-width:0; }.catalog-photo { display:block; position:relative; overflow:hidden; aspect-ratio:1/1.1; background:#ebe8e0; cursor:pointer; }.catalog-photo img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease,opacity .35s ease; }.catalog-photo .model { position:absolute; inset:0; opacity:0; }.catalog-card:hover .catalog-photo .model { opacity:1; }.catalog-card:hover .catalog-photo .product { opacity:0; transform:scale(1.025); }.catalog-photo .quick-add { pointer-events:auto; }.catalog-photo:hover .quick-add { transform:translateY(0); }.catalog-meta { display:flex; justify-content:space-between; gap:8px; padding-top:12px; }.catalog-meta h3 { margin:0 0 4px; font-size:12px; font-weight:500; }.catalog-meta p { margin:0; color:#827a70; font-size:10px; }.catalog-meta strong { white-space:nowrap; font:10px var(--mono); font-weight:400; }.catalog-flag { position:absolute; z-index:1; top:12px; left:12px; padding:6px 8px; background:#f9f8f5; font:8px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.catalog-heart { position:absolute; z-index:2; right:8px; top:7px; border:0; background:transparent; padding:3px; cursor:pointer; font:26px/1 var(--serif); }.catalog-heart.saved { color:#9f4e58; }
.search-panel { position:fixed; z-index:60; top:0; left:0; right:0; min-height:330px; padding:29px 5.2vw 45px; background:var(--paper); transform:translateY(-105%); transition:transform .38s cubic-bezier(.2,.65,.2,1); box-shadow:0 12px 25px rgba(30,26,20,.09); }.search-panel.open { transform:translateY(0); }.search-panel-top { display:flex; justify-content:space-between; align-items:center; }.search-panel-top .eyebrow { margin:0; }.search-close,.product-modal-close { cursor:pointer; border:0; background:transparent; padding:0; font:32px/1 var(--serif); }.search-field { display:flex; align-items:center; gap:15px; padding:33px 0 14px; border-bottom:1px solid var(--ink); }.search-field span { font:33px/1 var(--serif); transform:rotate(-18deg); }.search-field input { width:100%; border:0; outline:0; background:transparent; font:400 clamp(27px,4vw,50px) var(--serif); letter-spacing:-.04em; }.search-field input::placeholder { color:#a39b91; }.search-results { padding-top:17px; }.search-hint { margin:0; color:#867e74; font:10px var(--mono); letter-spacing:.06em; }.search-result-list { display:flex; flex-wrap:wrap; gap:12px; }.search-result { display:grid; grid-template-columns:60px 1fr; gap:10px; width:215px; cursor:pointer; text-align:left; border:0; background:transparent; padding:0; }.search-result img { width:60px; height:65px; object-fit:cover; background:#eeeae2; }.search-result span { align-self:center; font:11px var(--sans); }.search-result small { display:block; margin-top:3px; color:#81796e; font:9px var(--mono); }
.modal-scrim { visibility:hidden; opacity:0; position:fixed; z-index:55; inset:0; background:rgba(23,21,18,.42); transition:opacity .28s; }.modal-scrim.visible { visibility:visible; opacity:1; }.product-modal { visibility:hidden; opacity:0; position:fixed; z-index:65; left:50%; top:50%; width:min(1010px,94vw); max-height:90vh; overflow:auto; background:var(--paper); transform:translate(-50%,-47%); transition:opacity .25s,transform .3s,visibility .3s; }.product-modal.open { visibility:visible; opacity:1; transform:translate(-50%,-50%); }.product-modal-close { position:absolute; z-index:3; top:19px; right:22px; }.modal-product { display:grid; grid-template-columns:1.08fr .92fr; min-height:620px; }.modal-images { display:grid; grid-template-columns:1fr 1fr; background:#efede7; }.modal-images img { height:100%; max-height:620px; object-fit:cover; }.modal-images img:first-child { object-fit:contain; }.modal-copy { padding:68px 8% 40px; display:flex; flex-direction:column; align-items:flex-start; }.modal-copy .eyebrow { margin-bottom:14px; }.modal-copy h2 { margin:0; max-width:370px; font:400 clamp(34px,3.5vw,53px)/1 var(--serif); letter-spacing:-.06em; }.modal-price { margin:17px 0 24px; font:11px var(--mono); }.modal-description { max-width:370px; color:#665f57; line-height:1.7; margin:0 0 26px; }.modal-details { width:100%; margin:0 0 24px; border-top:1px solid var(--line); }.modal-details div { display:flex; justify-content:space-between; gap:15px; padding:11px 0; border-bottom:1px solid var(--line); color:#756e65; font-size:10px; }.modal-details strong { color:var(--ink); font-weight:500; }.gold-select { width:100%; display:flex; gap:8px; margin-bottom:14px; }.gold-select button { flex:1; padding:11px 8px; cursor:pointer; border:1px solid var(--line); background:transparent; font:9px var(--mono); letter-spacing:.05em; text-transform:uppercase; }.gold-select button.active { background:var(--ink); color:#fff; border-color:var(--ink); }.modal-add { width:100%; border:0; background:var(--ink); color:#fff; padding:16px; cursor:pointer; font:10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.modal-add span { margin-left:20px; font-size:14px; }.modal-note { margin:15px 0 0; color:#837c72; font-size:9px; line-height:1.5; }
@media (max-width:800px) { .shop-heading { display:block; padding-bottom:31px; }.shop-heading h2 { font-size:42px; }.shop-heading > p { margin:19px 0 0; font-size:12px; }.shop-toolbar { display:block; padding:14px 0 12px; }.filter-group { gap:13px; }.filter-button { font-size:8px; }.shop-toolbar > p { margin-top:13px; }.catalog-grid { grid-template-columns:repeat(2,1fr); gap:28px 9px; }.catalog-meta h3 { font-size:11px; }.catalog-meta p { font-size:9px; }.catalog-meta strong { font-size:9px; }.search-panel { min-height:310px; padding:24px 25px 35px; }.search-field { padding-top:26px; }.search-result { width:calc(50% - 6px); }.product-modal { width:100vw; height:100svh; max-height:none; }.modal-product { display:block; min-height:0; }.modal-images { height:50vh; }.modal-images img { height:50vh; max-height:none; }.modal-copy { padding:34px 25px 38px; }.modal-copy h2 { font-size:41px; }.modal-description { font-size:12px; }.product-modal-close { top:13px; right:17px; background:rgba(249,248,245,.85); width:34px; height:34px; border-radius:50%; }.gold-select { max-width:370px; }.modal-add { max-width:370px; } }


/* Desktop composition: preserve generous imagery without turning the hero or collection mosaic into an oversized wall. */
@media (min-width:801px) {
  .hero {
    height:clamp(540px,calc(100svh - 114px),680px);
    min-height:0;
  }

  .hero-image-wrap {
    min-height:0;
  }

  .editorial-grid {
    height:clamp(470px,calc(100svh - 180px),600px);
    margin-top:clamp(28px,3vw,48px);
    padding:0 clamp(24px,4vw,72px);
    grid-template-rows:1.12fr .88fr;
    gap:clamp(18px,1.5vw,28px);
  }
}
