@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#283c35;--ink:#242c28;--paper:#faf9f6;--line:#d9dcd4;--muted:#646960}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.5 'DM Sans',Arial,sans-serif}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a35d33;outline-offset:4px}button{color:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}h2{font-size:clamp(28px,3vw,42px);line-height:1.18;font-weight:500;letter-spacing:-1.8px}.announcement{background:var(--green);color:#fff;text-align:center;padding:10px 20px;font-size:13px}.announcement span{margin-left:28px;font-size:11px;letter-spacing:1.5px}header{height:92px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line)}.logo{font-family:'Manrope',sans-serif;font-size:49px;font-weight:800;letter-spacing:-4px;line-height:1}.logo span{font-size:13px;letter-spacing:0;vertical-align:top;display:inline-block;margin:7px 0 0 5px}nav{display:flex;gap:36px;font-size:14px}nav a:hover{border-bottom:1px solid}.bag-button{display:flex;align-items:center;gap:12px;background:none;border:0;font-size:14px}#bag-count{font-size:12px;background:#e7e9e0;padding:2px 7px;border-radius:50%}.hero{display:grid;grid-template-columns:46% 54%;min-height:560px;background:var(--green);color:#fff}.hero-copy{padding:65px 10% 30px 11%;display:flex;flex-direction:column;align-items:start}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin-bottom:20px}h1{font-size:clamp(48px,5.2vw,79px);line-height:1.08;letter-spacing:-3.8px;font-weight:500;margin:8px 0 24px}.hero-copy>p:not(.eyebrow){color:#e1e6df;font-size:17px;line-height:1.6}.button{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:16px 23px;border:0;font-weight:500;font-size:14px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.light{background:#f4f3e9;color:var(--ink);margin-top:30px}.dark{background:var(--green);color:white}.hero-foot{margin-top:auto;padding-top:42px;font-size:10px;letter-spacing:1.8px;color:#d6ddd4}.hero-art{position:relative;overflow:hidden;min-height:480px}.hero-art img{width:100%;height:100%;position:absolute;object-fit:cover}.image-caption{position:absolute;bottom:27px;right:28px;font-size:10px;letter-spacing:2px;color:white}.benefit-strip{display:flex;justify-content:space-around;padding:24px 5%;border-bottom:1px solid var(--line);font-size:13px}.section{margin:0 5%;padding:76px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading>p{color:var(--muted);font-size:14px}.shop-controls{display:flex;align-items:center;justify-content:space-between;margin:30px 0 24px}.filters{display:flex;gap:8px}.filters button{background:none;border:1px solid var(--line);border-radius:30px;padding:9px 18px;font-size:13px}.filters .active{background:var(--green);color:white;border-color:var(--green)}#product-count{font-size:12px;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.product-photo{position:relative;display:block;width:100%;border:0;padding:0;background:#eeece8;overflow:hidden;aspect-ratio:1}.product-photo img{height:100%;width:100%;transition:transform .4s}.product-photo:hover img{transform:scale(1.04)}.tag{position:absolute;left:14px;top:14px;background:#faf9f6;padding:5px 9px;font-size:10px;letter-spacing:.5px}.product-info{padding:17px 0 0}.product-title{display:flex;justify-content:space-between;gap:8px}.product-title h3{font-size:15px;font-weight:600;letter-spacing:-.4px}.product-title span{font-size:14px;white-space:nowrap}.product-info p{font-size:13px;color:var(--muted);margin:5px 0 13px}.product-add{width:100%;border:1px solid #bec4b9;background:transparent;padding:10px;font-size:13px;display:flex;justify-content:space-between}.product-add:hover{background:var(--green);color:#fff}.set{background:#e8eadf;margin:0;display:grid;grid-template-columns:1fr 1fr;padding:0}.set-art{padding:40px 10%;display:flex;align-items:center}.set-art img{width:100%;mix-blend-mode:multiply}.set-copy{padding:65px 12% 65px 5%;}.set-copy>p:not(.eyebrow){margin:22px 0;color:#545c51;font-size:15px}.set-copy ul{padding:0;list-style:none;font-size:13px;line-height:2}.set-copy li:before{content:'✓';margin-right:12px}.set-price{font-size:29px;margin:27px 0 20px}.set-price span{font-size:12px;margin-left:10px;color:#626a5a}.set-price b{display:block;font-weight:400;font-size:12px}.set-copy .button{width:100%}.set-copy small{display:block;margin-top:12px;color:#626a5a;font-size:11px}.story{padding:86px 12%;text-align:center;border-bottom:1px solid var(--line)}.story h2{font-size:clamp(28px,3.2vw,43px)}.story-columns{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:40px;margin:30px auto;max-width:740px;color:var(--muted);font-size:15px}.story-sign{display:inline-block;font-family:Georgia,serif;font-style:italic;font-size:27px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:40px}details{border-bottom:1px solid var(--line);padding:18px 0}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:15px}summary:after{content:'+';margin-left:15px}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);margin-top:15px;max-width:550px}footer{background:var(--green);color:white;padding:45px 5% 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px}.footer-top p{font-family:Georgia,serif;font-style:italic;font-size:24px}.footer-top>a:last-child{font-size:13px}.footer-bottom{border-top:1px solid #58685e;padding-top:22px;display:flex;justify-content:space-between;font-size:11px;color:#c6cfc7}dialog{padding:0;border:0;background:var(--paper);color:var(--ink);max-height:90vh;max-width:900px;width:90%;border-radius:3px}dialog::backdrop{background:#14201eb3}.close{border:0;background:transparent;font-size:30px;width:44px;height:44px;position:absolute;right:12px;top:10px;z-index:1}#product-detail{display:grid;grid-template-columns:1fr 1fr}#product-detail>img{height:100%;width:100%;object-fit:contain;background:#eeeae5}.detail-copy{padding:52px 30px 35px}.detail-copy h2{font-size:32px}.detail-copy>p{margin:20px 0;color:var(--muted)}.detail-copy .price{font-size:25px;color:var(--ink)}.detail-copy .button{width:100%;margin:20px 0}.detail-copy small{font-size:12px;color:var(--muted)}#cart-dialog{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(480px,100%);border-radius:0;max-width:100%;padding:30px}.cart-heading{position:relative;padding-bottom:30px;border-bottom:1px solid var(--line)}.cart-heading h2{font-size:30px}.cart-heading .close{top:-10px;right:-10px}.cart-row{display:flex;gap:15px;border-bottom:1px solid var(--line);padding:20px 0}.cart-row img{width:80px;height:80px}.cart-row h3{font-size:15px}.cart-row p{font-size:14px}.qty{display:flex;align-items:center;gap:12px;margin-top:7px}.qty button{width:28px;height:28px;background:transparent;border:1px solid var(--line)}.qty .remove{width:auto;border:0;margin-left:12px;font-size:11px;text-decoration:underline}.subtotal{display:flex;justify-content:space-between;font-size:20px;margin:25px 0}.cart-note{font-size:13px;color:var(--muted);margin:15px 0}.empty-cart{padding:70px 0;text-align:center}.empty-cart p{margin:15px 0 25px;color:var(--muted)}.empty-cart .button{justify-content:center}.checkout-note{background:#e8eadf;padding:16px;font-size:13px;line-height:1.7}.checkout-note strong{display:block}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);background:var(--green);color:white;padding:13px 22px;box-shadow:0 4px 20px #0002;opacity:0;transition:.2s;pointer-events:none;z-index:5;font-size:14px}#toast.show{opacity:1;transform:translate(-50%,0)}body:has(dialog[open]){overflow:hidden}@media(min-width:1500px){.hero{min-height:660px}.hero-copy{padding-top:100px}}@media(max-width:800px){header{height:76px}.logo{font-size:42px}nav{gap:18px;font-size:12px}nav a:last-child{display:none}.hero{grid-template-columns:1fr 1fr;min-height:470px}.hero-copy{padding:40px 8%}h1{font-size:48px;letter-spacing:-2.8px}.hero-art{min-height:450px}.hero .button{padding:14px;font-size:12px;gap:10px}.product-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.section{padding:50px 0}.section-heading>p{display:none}.set{padding:0}.set-copy{padding:40px 8%}.set-art{padding:25px 7%}.story{padding:60px 4%}.faq{grid-template-columns:1fr}.footer-top p{font-size:18px}.benefit-strip{gap:20px;font-size:11px}}@media(max-width:520px){.announcement{font-size:11px}.announcement span{display:none}header{padding:0 6%;height:72px}nav a:nth-child(2){display:none}.bag-button{gap:7px}.hero{display:flex;flex-direction:column}.hero-copy{padding:38px 7% 30px}.hero-copy .eyebrow{font-size:10px;margin-bottom:12px}h1{font-size:56px;margin:0 0 18px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero .button{font-size:14px;padding:15px 20px;gap:30px;margin-top:23px}.hero-foot{display:none}.hero-art{min-height:310px}.image-caption{font-size:9px}.benefit-strip{padding:18px 6%;justify-content:space-between}.benefit-strip span:nth-child(3){display:none}.section{margin:0 6%;padding:44px 0}.eyebrow{font-size:10px;margin-bottom:13px}h2{font-size:29px;letter-spacing:-1px}.filters{gap:6px}.filters button{padding:8px 12px;font-size:11px}#product-count{display:none}.product-title{display:block}.product-title h3{font-size:14px}.product-title span{display:block;margin-top:4px}.product-info p{font-size:12px;min-height:36px}.tag{top:9px;left:9px;font-size:9px;padding:4px 6px}.product-grid{gap:26px 13px}.set{margin:0;display:flex;flex-direction:column;padding:0}.set-art{padding:30px 12% 0}.set-copy{padding:30px 7% 40px}.set-copy h2{font-size:37px}.set-copy .eyebrow{font-size:11px}.story h2{font-size:28px}.story-columns{grid-template-columns:1fr;gap:18px;font-size:14px}.faq{gap:18px}.footer-top{flex-wrap:wrap;gap:24px;margin-bottom:28px}.footer-top p{font-size:19px}.footer-top>a:last-child{width:100%}.footer-bottom{flex-direction:column;gap:10px}#product-detail{grid-template-columns:1fr}#product-detail>img{max-height:270px}.detail-copy{padding:25px}.detail-copy h2{font-size:27px}dialog{max-height:92dvh}.close{background:var(--paper);border-radius:50%}#toast{width:max-content;max-width:90%;text-align:center}#cart-dialog{padding:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Supplier-backed launch catalog */
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:1050px;margin:auto}.product-photo{aspect-ratio:1}.hero-art img{object-position:center}.price-label{display:block;font-size:12px;color:var(--muted);margin-bottom:14px}.sourcing-note{background:#e8eadf;padding:15px;font-size:13px}.sourcing-note strong,.sourcing-note a,.sourcing-note small{display:block}.sourcing-note a{margin:8px 0;text-decoration:underline}.product-gallery{padding:20px;background:#eeece8;display:flex;flex-direction:column;justify-content:center}.product-gallery>img{width:100%;aspect-ratio:1;object-fit:contain;background:white}.gallery-thumbs{display:flex;gap:10px;margin-top:12px}.gallery-thumbs button{padding:3px;border:1px solid transparent;background:white;width:64px;height:64px}.gallery-thumbs button[aria-pressed="true"]{border-color:var(--green)}.gallery-thumbs img{height:100%;width:100%;object-fit:cover}.checkout-disabled{width:100%;opacity:.6;cursor:not-allowed;margin-bottom:16px;justify-content:center}.checkout-disabled:hover{transform:none}.detail-copy .price small{font-size:12px}.hero .image-caption{background:#283c35dd;padding:6px 9px;bottom:15px;right:15px}.set-art img{mix-blend-mode:normal}.product-info p{font-size:14px}.product-title h3{font-size:17px}.product-title span{font-size:16px}
@media(max-width:520px){.product-grid{gap:22px 13px}.product-title h3{font-size:14px}.product-info p{font-size:13px;min-height:57px}.price-label{font-size:11px;min-height:32px}.product-gallery{padding:14px}.product-gallery>img{max-height:250px}.hero-art{min-height:350px}.hero-art img{object-position:50% 55%}.tag{font-size:9px}}

/* Heritage collection */
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.hero-art{background:#f1e7da}.hero-art img{object-fit:contain}.set{background:#eee7dd}.photo-note{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.5}.gallery-thumbs{flex-wrap:wrap}@media(max-width:800px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Independent storefront review: clear purchase information and mobile shopping */
.footer-links{display:flex;gap:28px;flex-wrap:wrap;margin:0 0 28px;font-size:14px}.footer-links a{text-decoration:underline;text-underline-offset:4px}.footer-links a:last-child{display:inline}.product-facts{margin:24px 0;font-size:14px}.product-facts>div{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.product-facts dt{font-weight:600}.product-facts dd{margin:0;color:var(--muted)}.purchase-info{margin:20px 0;padding:16px;background:#eee7dd;font-size:14px}.purchase-info p{margin:7px 0 12px;color:#545c51;line-height:1.6}.purchase-info>div,.cart-policy-links{display:flex;flex-wrap:wrap;gap:20px}.purchase-info a,.cart-policy-links a,.feature-delivery a{font-size:14px;text-decoration:underline;text-underline-offset:3px}.purchase-actions .button{margin:0}.cart-shipping{display:flex;justify-content:space-between;font-size:15px;margin:18px 0 12px}.cart-delivery{font-size:14px;color:var(--muted);margin:10px 0 14px}.feature-delivery{font-size:14px!important;line-height:1.6}.photo-note{font-size:12px}.detail-copy details{font-size:14px}details[id]{scroll-margin-top:110px}.product-dialog .close{position:sticky}.product-gallery{justify-content:flex-start}.product-gallery>img{position:static}.detail-copy{padding-top:46px}.cart-heading .close{background:var(--paper)}
@media(max-width:520px){.product-grid{grid-template-columns:minmax(0,1fr);gap:36px}.product-photo{aspect-ratio:1.1}.product-title{display:flex}.product-title h3{font-size:19px}.product-title span{font-size:18px;margin:0}.product-info p{font-size:15px;min-height:0}.product-add{min-height:46px;font-size:14px}.tag{font-size:11px;padding:6px 10px}.filters button{font-size:13px;min-height:42px}.product-gallery>img{max-height:none;aspect-ratio:1.2}.detail-copy{padding:24px}.purchase-actions{position:sticky;bottom:-24px;padding:14px 0;background:var(--paper);z-index:2;box-shadow:0 -8px 16px var(--paper)}.purchase-actions .button{min-height:50px}.footer-links{gap:18px 24px;font-size:14px}.footer-links a:nth-child(2),.footer-links a:last-child{display:inline}.announcement{font-size:12px}.detail-copy>p{font-size:15px}.close{top:8px;right:8px}.gallery-thumbs button{width:70px;height:70px}.cart-policy-links{gap:18px}.faq summary{font-size:16px}}
/* Visual review: complete silhouettes and consistent photographic frames. */
.product-photo{aspect-ratio:auto;padding-top:42px;background:#f3eadf}
.product-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;padding:8%;background:#f3eadf}
.product-photo[data-product="cj-weekender-khaki"] img{padding:4%}
.product-photo[data-product="cj-folio-coffee"] img{padding:11%}
.product-photo .tag{top:14px;left:20px;padding:0;background:transparent;font-size:11px;letter-spacing:1px;color:#4e574e}
.product-photo:hover img{transform:none}
.product-photo:hover{box-shadow:inset 0 0 0 1px #acb3a4}
.product-gallery>img{aspect-ratio:1;object-fit:contain;padding:14px;background:#f3eadf}
.gallery-thumbs{gap:12px}
.gallery-thumbs button{background:#f3eadf;border:1px solid #d4d0c7;padding:4px}
.gallery-thumbs button[aria-pressed="true"]{border:2px solid var(--green);padding:3px}
.gallery-thumbs img{object-fit:contain;background:#f3eadf}
.cart-row img{object-fit:contain;padding:5px;background:#f3eadf}
@media(max-width:520px){.product-photo{aspect-ratio:auto;padding-top:42px}.product-photo img{aspect-ratio:1;height:auto}.product-gallery>img{aspect-ratio:1;max-height:none}.product-photo .tag{font-size:11px;left:20px}.gallery-thumbs button{width:72px;height:72px}}

/* Consent controls share the existing ROAM palette and remain optional. */
.privacy-link{font:inherit;color:inherit;text-decoration:underline;background:none;border:0;padding:0;cursor:pointer}
.consent-banner[hidden]{display:none}
.consent-banner{background:#fffaf2;color:#283c35;border:1px solid #a6afa5;padding:16px 20px;display:flex;gap:16px;align-items:center;font-size:14px;line-height:1.5}
.consent-banner p{margin:0;flex:1}
#site-consent>.consent-banner{position:fixed;bottom:16px;left:16px;right:16px;max-width:820px;margin:auto;z-index:100;box-shadow:0 6px 30px #0002}
dialog>.consent-banner{margin:40px 16px 16px}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px}
.consent-actions button{font:inherit;font-size:14px;line-height:1.4;border:1px solid #283c35;background:#fffaf2;color:#283c35;padding:11px 16px;cursor:pointer;min-height:44px}
.consent-actions button:hover{background:#e7ebdf}
.consent-actions button:disabled{opacity:.5;cursor:not-allowed}
#privacy-dialog{max-width:620px;width:calc(100% - 32px);padding:48px 28px 28px;color:#283c35;background:#fffaf2}
#privacy-dialog h2{font-size:28px;margin:0 0 20px}
#privacy-dialog p{font-size:16px;line-height:1.6;margin:16px 0}
#privacy-status{font-weight:600}
@media(max-width:540px){.consent-banner{align-items:stretch;flex-direction:column;gap:10px}.consent-actions button{flex:1}#site-consent>.consent-banner{bottom:8px;left:8px;right:8px}#privacy-dialog{padding:44px 20px 24px}}
/* Owner-applicable patch: product dismissal and cart touch controls. */
#product-dialog > .close {
  position: sticky;
  display: block;
  top: 8px;
  right: auto;
  margin: 8px 8px -52px auto;
  z-index: 5;
  background: var(--paper);
  border-radius: 50%;
}
.cart-row > img { flex: 0 0 80px; }
.cart-row > div { min-width: 0; flex: 1; }
.qty { flex-wrap: wrap; gap: 8px; }
.qty button {
  width: 44px;
  height: 44px;
  min-width: 44px;
  flex: 0 0 auto;
  font-size: 16px;
}
.qty .remove {
  width: auto;
  min-height: 44px;
  margin-left: 0;
  padding: 0 8px;
  font-size: 14px;
}


/* Product evidence gallery: original alternate views, readable captions and touch navigation. */
.product-gallery{min-width:0}.gallery-navigation{display:flex;align-items:center;gap:10px;margin-top:12px}.gallery-navigation button{flex:0 0 44px;min-height:44px;border:1px solid var(--line);background:var(--paper);font-size:26px}.gallery-navigation p{flex:1;margin:0;font-size:14px;line-height:1.5;min-height:42px}.gallery-navigation p span{display:block;font-size:12px;color:var(--muted);letter-spacing:.06em}.gallery-thumbs{position:relative;flex-wrap:nowrap;overflow-x:auto;gap:10px;padding:3px 0 9px;scrollbar-width:thin}.gallery-thumbs button{flex:0 0 88px;width:88px;height:auto;min-height:112px;padding:4px;background:white}.gallery-thumbs button[aria-pressed="true"]{padding:3px}.gallery-thumbs img{display:block;width:100%;height:78px;background:white;object-fit:contain}.gallery-thumbs span{display:block;font-size:12px;line-height:1.3;padding:6px 1px 3px}.gallery-thumbs button:focus-visible,.gallery-navigation button:focus-visible{outline:2px solid var(--green);outline-offset:2px}#gallery-full{align-self:flex-start;margin:10px 0 0;font-size:14px;text-decoration:underline;text-underline-offset:3px}.product-gallery .photo-note{font-size:12px;margin-top:10px;line-height:1.5}

/* Match the overview backdrop throughout the gallery. */
.gallery-thumbs button,.gallery-thumbs img{background:#f3eadf}.photography-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0 0}.photography-links a,#gallery-full{margin:0;font-size:14px;text-decoration:underline;text-underline-offset:3px}.photography-links a:last-child{color:var(--muted)}
