/* Shared public layout rhythm. No account, checkout, or admin surfaces. */
/* Homepage KEINX Code: compact copy rhythm without altering type or alignment. */
.home-manifesto{min-height:0;background:#e2dfd7}
.home-manifesto .manifesto-copy{padding-block:clamp(2.5rem,4vw,4rem)}
.home-manifesto .manifesto-copy p{margin-block:0}
.home-manifesto .manifesto-copy h2{margin-block:.75rem 1.125rem}
.home-manifesto .manifesto-copy .manifesto-note{margin-block:1rem 1.25rem}
@media(max-width:600px){
  .home-manifesto .manifesto-image{min-height:0;aspect-ratio:1122 / 1427;background-position:center;background-size:cover}
  .home-manifesto .manifesto-copy{padding:1.5rem 1.2rem 2rem}
  .home-manifesto .manifesto-copy .eyebrow{margin-block:0 .5rem}
  .home-manifesto .manifesto-copy h2{margin-block:.5rem 1rem}
}
.public-layout main .public-wrapped-heading{line-height:1.12}
.public-layout main :is(h1,h2,h3,section[id]){scroll-margin-top:calc(1.25rem + env(safe-area-inset-top,0px))}
.hero h1{line-height:1.08}
.hero .rotating-headline{height:2.24em}
.public-back-navigation{padding:.85rem 5vw 0}
.public-back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:.45rem;border:1px solid #454545;padding:.45rem .75rem;font-size:9px;font-weight:700;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease}
.public-back:hover,.public-back:focus-visible{background:#f4f3ef;border-color:#f4f3ef;color:#050505}
.public-back:focus-visible{outline:2px solid var(--white);outline-offset:3px}
.public-back{appearance:none;background:transparent;color:inherit;cursor:pointer;font-family:inherit;text-decoration:none}
.public-menu-back{align-self:flex-start;width:max-content;min-width:0;min-height:44px;margin-bottom:.9rem;padding:.45rem .75rem;text-align:left;font-size:9px!important;font-weight:700!important;letter-spacing:.14em!important}
.mobile-nav>.public-menu-back{display:flex;align-items:center;min-height:44px;border:1px solid var(--line);padding:.45rem .75rem;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.menu-catalogue-section[hidden]{display:none!important}
.menu-catalogue-section>summary{list-style:none;cursor:pointer}
.menu-catalogue-section>summary::-webkit-details-marker{display:none}
.menu-section-summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.25rem}
.menu-section-summary::after{content:'+';font-size:1.2em;font-weight:400;transition:transform .25s ease}
.menu-catalogue-section[open]>.menu-section-summary::after{content:'−'}
.menu-category-clip{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.menu-catalogue-section[open]>.menu-category-clip{grid-template-rows:1fr}
.menu-subcategories{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.menu-subcategories a[aria-current="page"]{color:#fff}
.nav .menu-catalogue-section{position:relative}
.nav .menu-section-summary{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap}
.nav .menu-category-clip{position:absolute;top:calc(100% + .8rem);left:-.9rem;z-index:90;min-width:210px;border:1px solid var(--line);background:#080808;box-shadow:0 18px 42px #0008}
.nav .menu-catalogue-section[open]>.menu-category-clip{grid-template-rows:1fr}
.nav .menu-subcategories{padding:.35rem .9rem}
.nav .menu-subcategories a{display:flex;align-items:center;min-height:40px;border-bottom:1px solid rgba(255,255,255,.08);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.nav .menu-subcategories a:last-child{border-bottom:0}
.nav .menu-subcategories a:hover,.nav .menu-subcategories a:focus-visible{color:#fff}
.mobile-nav .menu-catalogue-section{display:block;border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-nav .menu-section-summary{min-height:52px;padding:.55rem .15rem;font-size:clamp(1.12rem,5.2vw,1.45rem);font-weight:750;line-height:1;letter-spacing:.025em;text-transform:uppercase}
.mobile-nav .menu-category-clip{padding-left:.85rem}
.mobile-nav .menu-subcategories a{display:flex;align-items:center;min-height:44px;padding:.35rem .15rem;border:0;border-bottom:1px solid rgba(255,255,255,.07);font-size:clamp(.95rem,4vw,1.08rem);font-weight:500;line-height:1.3;letter-spacing:.035em;text-transform:none}
.mobile-nav .menu-subcategories a:last-child{border-bottom:0}
.mobile-nav .menu-subcategories a[aria-current="page"]{color:#fff}
.nav .menu-section-summary:focus-visible,.mobile-nav .menu-section-summary:focus-visible{outline:2px solid #f4f3ef;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.menu-category-clip,.menu-section-summary::after{transition:none}}
.drawer-head .public-cart-back{min-height:44px;padding:.45rem .7rem;font-size:9px;letter-spacing:.1em}
.information-page .about-hero,.information-page .shipping-hero,.information-page .legal-hero{scroll-margin-top:calc(1.25rem + env(safe-area-inset-top,0px))}
.information-footer{padding-top:2rem}
.information-footer [hidden]{display:none!important}
.footer-information{border-bottom:1px solid var(--line);padding-bottom:.5rem}
.footer-information summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;cursor:pointer;list-style:none;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.6}
.footer-information summary::-webkit-details-marker{display:none}
.footer-information summary::after{content:'+';font-size:18px;font-weight:400}
.footer-information[open] summary::after{content:'−'}
.footer-information nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 2rem;padding:.75rem 0 1rem}
.footer-information:not([open]) nav{display:none}
.footer-information nav a{display:flex;align-items:center;min-height:44px;margin:0;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.01em;text-transform:none;overflow-wrap:anywhere}
.footer-information summary:focus-visible{outline:1px solid var(--white);outline-offset:4px}

@media(max-width:800px){
  :root{--public-section-space:3rem;--public-section-gap:1.5rem}
  .public-back-navigation{padding:calc(1rem + env(safe-area-inset-top,0px)) 1.2rem 0}
  .information-page .about-hero,.information-page .shipping-hero,.information-page .legal-hero,.information-page .contact-intro{min-height:0;padding-top:2rem;padding-bottom:var(--public-section-space)}
  .about-editorial{min-height:0}
  .about-story,.about-code,.about-closing,.shipping-rates{padding-block:var(--public-section-space)}
  .about-closing{min-height:0}
  .about-code-head{padding-bottom:2rem}
  .about-code-head .eyebrow{margin-bottom:1.25rem}
  .about-pillar,.shipping-details article{min-height:0;padding-block:2rem}
  .about-pillar h3{margin:1.25rem 0 .85rem}
  .shipping-details .eyebrow{margin-top:1.5rem}
  .shipping-section-head{margin-bottom:2rem}
  .shipping-section-head h2,.shipping-details h2,.about-story h2,.about-closing h2{margin-bottom:1.5rem}
  .legal-section{padding-block:3rem;gap:1rem}
  .contact-form-wrap{padding-top:3rem}
  .shop-hero{padding-block:3rem}
  .shop-collection,.related-products{padding-block:3.5rem}
  .home-shop-section{padding-block:3.5rem}
  .information-footer{padding-top:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}
  .footer-information nav{grid-template-columns:minmax(0,1fr);gap:.25rem}
  .legal-index a,.model-form-disclosure summary{line-height:1.6}
}

/* Tighter rhythm for the information pages; product, checkout and storefront
   catalogue layouts intentionally remain untouched. */
@media(min-width:801px){
  .information-page .about-hero{min-height:64vh;padding-block:6rem}
  .information-page .about-story{padding:6.5vw}
  .information-page .about-code{padding-block:7rem}
  .information-page .about-code-head{padding-bottom:3rem}
  .information-page .about-pillar{min-height:280px}
  .information-page .about-closing{min-height:68vh;padding-block:5.5rem}
  .information-page .shipping-hero,.information-page .legal-hero{min-height:60vh;padding-block:6rem}
  .information-page .shipping-rates{padding-block:6.4rem 7.2rem}
  .information-page .shipping-section-head{margin-bottom:3rem}
  .information-page .shipping-details article{min-height:420px;padding-block:4rem}
  .information-page .legal-section{padding-block:6.4rem}
  .information-page .legal-copy h2{margin-bottom:2.4rem}
}

@media(max-width:800px){
  .information-page{overflow-x:clip}
  .information-page .about-hero{min-height:54vh;padding-block:1.5rem 2.35rem}
  .information-page .about-hero h1{margin-block:.8rem 1.4rem}
  .information-page .about-story,.information-page .about-code,.information-page .about-closing,
  .information-page .shipping-rates{padding-block:2.35rem}
  .information-page .about-story h2,.information-page .about-closing h2{margin-block:.7rem 1.6rem}
  .information-page .about-code-head{padding-bottom:1.5rem}
  .information-page .about-code-head .eyebrow{margin-bottom:.8rem}
  .information-page .about-pillar{padding-block:1.3rem}
  .information-page .about-pillar h3{margin:.75rem 0 .55rem}
  .information-page .about-closing{min-height:56vh}
  .information-page .about-closing>p{margin:0 0 .5rem;line-height:1.6}
  .information-page .about-closing h2{margin-bottom:1.8rem}
  .information-page .about-closing .btn{min-height:48px}
  .information-page .shipping-hero,.information-page .legal-hero{min-height:54vh;padding-block:1.5rem 2.35rem}
  .information-page .shipping-hero h1,.information-page .legal-hero h1{margin-block:.8rem 1.4rem}
  .information-page .shipping-hero>p:last-child,.information-page .legal-hero>p:last-child{color:#c0bfba;line-height:1.65}
  .information-page .shipping-section-head{margin-bottom:1.6rem}
  .information-page .shipping-section-head h2{margin-block:.65rem 1rem}
  .information-page .shipping-section-head>p:last-child{color:#c0bfba;font-size:15px;line-height:1.6}
  .information-page .shipping-table tr{padding-block:1rem}
  .information-page .shipping-table tbody th{padding-bottom:.65rem;font-size:13px}
  .information-page .shipping-table td{align-items:flex-start;gap:.7rem;padding:.5rem 0;color:#eee;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
  .information-page .shipping-table td::before{flex:0 0 43%;max-width:none;color:#aaa9a4;font-size:9px;line-height:1.4}
  .information-page .shipping-details article{padding-block:2.35rem}
  .information-page .shipping-details article>span{color:#aaa9a4}
  .information-page .shipping-details .eyebrow{margin-top:1.25rem}
  .information-page .shipping-details h2{margin-block:.6rem 1rem}
  .information-page .shipping-details article>p:last-child{color:#c0bfba;font-size:14px;line-height:1.65}
  .information-page .legal-section{padding-block:2.4rem;gap:.8rem}
  .information-page .legal-number{color:#aaa9a4}
  .information-page .legal-copy h2{margin-block:.5rem 1.25rem}
  .information-page .legal-copy>p:not(.eyebrow){margin-block:.8rem;color:#c0bfba;line-height:1.7}
  .information-page .legal-callout{gap:.8rem;margin-top:1.5rem;padding-block:1.25rem}
  .information-page .legal-callout p{color:#c0bfba;line-height:1.65}
  .information-page .legal-electronic .legal-copy h2{margin-block:.45rem .8rem}
  .information-page .legal-electronic .legal-copy>p:not(.eyebrow){margin-top:.8rem}
  .information-page .withdrawal-form{margin-top:1.2rem;padding:1rem}
  .information-page .withdrawal-form-grid{gap:.9rem}
  .information-page .withdrawal-form input{height:48px}
  .information-page .withdrawal-form textarea{min-height:92px}
  .information-page .withdrawal-submit{min-height:52px;margin-top:1.1rem}
  .information-page .legal-basis{padding-block:1.4rem}
  .information-footer{padding-top:1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px))}
  .information-footer .footer-information{padding-bottom:.25rem}
  .information-footer .footer-information nav{gap:0;padding-block:.4rem .65rem}
  .information-footer .footer-information nav a{min-height:40px}
  .information-footer .footer-contact{gap:1rem;margin-top:1rem;padding-top:1rem}
  .information-footer .footer-contact>div{gap:.35rem}
  .information-footer .footer-region{margin-top:1rem;padding-top:1rem}
  .information-footer .footer-region-label{margin-bottom:.55rem;color:#aaa9a4}
  .information-footer .footer-region-selector{width:100%}
  .information-footer .footer-region-selector summary{min-height:44px}
}

.withdrawal-function-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:54px;margin:0;padding:.85rem 5vw;border-bottom:1px solid var(--line);background:#0a0a0a;color:#f4f3ef;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.withdrawal-function-link span{font-size:18px;font-weight:400;transition:transform .2s ease}
.withdrawal-function-link:hover span,.withdrawal-function-link:focus-visible span{transform:translateX(4px)}
.withdrawal-function-link:focus-visible{outline:2px solid #f4f3ef;outline-offset:-4px}
.withdrawal-confirmation{margin-top:1.1rem;border:1px solid #4b4b46;background:#0b0b0b;padding:clamp(1rem,2.5vw,1.6rem)}
.withdrawal-confirmation[hidden]{display:none}
.withdrawal-review-trigger[hidden]{display:none!important}
.withdrawal-confirmation h3{margin:0 0 .8rem;font-size:clamp(1rem,2vw,1.25rem);letter-spacing:.04em;text-transform:uppercase}
.withdrawal-confirmation>p{margin:.7rem 0 1rem;color:#f0efeb;font-family:Georgia,serif;font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.withdrawal-confirmation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:#30302c;border:1px solid #30302c}
.withdrawal-confirmation-details>div{min-width:0;background:#0b0b0b;padding:.8rem}
.withdrawal-confirmation-details dt{color:#aaa9a4;font-size:8px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.withdrawal-confirmation-details dd{margin:.4rem 0 0;color:#f4f3ef;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.withdrawal-confirmation-actions{display:flex;gap:.6rem;margin-top:1rem}
.withdrawal-confirmation-actions button{flex:1;min-height:50px;border:1px solid #f4f3ef;background:transparent;color:#f4f3ef;padding:.7rem;font:inherit;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.withdrawal-confirmation-actions .withdrawal-confirm-submit{justify-content:space-between;background:#f4f3ef;color:#050505}
.withdrawal-confirmation-actions .withdrawal-edit-trigger:hover,.withdrawal-confirmation-actions .withdrawal-edit-trigger:focus-visible{background:#f4f3ef;color:#050505}
.withdrawal-confirmation-actions button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.withdrawal-confirmation-actions button:disabled{opacity:.6;cursor:wait}
.information-page .legal-basis{align-items:flex-start;flex-wrap:wrap}
.information-page .legal-basis p{max-width:760px;flex:1 1 420px}
.information-page .legal-basis div{gap:.8rem 1.1rem}
@media(max-width:600px){
  .withdrawal-function-link{padding-inline:1.2rem}
  .withdrawal-confirmation-details{grid-template-columns:1fr}
  .withdrawal-confirmation-actions{flex-direction:column}
  .information-page .legal-basis p{font-size:10px;line-height:1.6}
  .information-page .legal-basis div{justify-content:flex-start;flex-wrap:wrap}
}

/* Premium swatches keep a generous touch target while only the small chip is visible. */
.hoodie-product-page .color-label{display:flex;align-items:center;gap:.75rem}
.hoodie-product-page .selected-color-name{margin-left:auto;min-height:1em}
.hoodie-product-page .color-selector{display:flex;align-items:center;gap:.35rem;min-height:48px}
.hoodie-product-page .color-selector .color-option{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:transparent;font-size:0;line-height:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.hoodie-product-page .color-selector .color-option>span:first-child{display:block;width:24px;height:24px;border:1px solid #777;border-radius:50%;background-color:#292929;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.hoodie-product-page .color-selector .color-option>span:first-child>img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
.hoodie-product-page .color-selector .color-option:hover>span:first-child{transform:scale(1.06);border-color:#eee}
.hoodie-product-page .color-selector .color-option.active>span:first-child{border-color:#f4f3ef;box-shadow:0 0 0 1px #050505,0 0 0 2px #f4f3ef}
.hoodie-product-page .color-selector .color-option:focus-visible{outline:2px solid #f4f3ef;outline-offset:0}
.hoodie-product-page .color-selector .color-option:disabled{opacity:.45;cursor:not-allowed}

/* One-image-at-a-time, all-color carousel with color and variant synchronization. */
.hoodie-product-page>.hoodie-gallery.is-product-carousel{position:relative;display:block;min-width:0;min-height:0;aspect-ratio:4/5;overflow:hidden;background:#111;touch-action:pan-y pinch-zoom}
.hoodie-product-page>.hoodie-gallery.is-product-carousel>.hoodie-shot{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;aspect-ratio:auto;grid-column:auto;overflow:hidden}
.hoodie-product-page>.hoodie-gallery.is-product-carousel>.hoodie-shot[hidden]{display:none!important}
.hoodie-product-page>.hoodie-gallery.is-product-carousel.is-missing-color-image>.hoodie-shot{visibility:hidden}
.hoodie-product-page>.hoodie-gallery.is-product-carousel>.hoodie-shot>img{display:block;width:100%;height:100%;object-fit:cover}
.product-gallery-controls{position:absolute;inset:50% .8rem auto;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.5rem;transform:translateY(-50%);pointer-events:none}
.product-gallery-controls[hidden]{display:none!important}
.product-gallery-arrow,.product-gallery-counter{pointer-events:auto;display:grid;place-items:center;min-width:40px;min-height:40px;border:1px solid #ffffff70;background:#090909b8;color:#f4f3ef;backdrop-filter:blur(8px)}
.product-gallery-arrow{font-size:19px;line-height:1;transition:background .2s ease,color .2s ease,opacity .2s ease}
.product-gallery-arrow:hover:not(:disabled),.product-gallery-arrow:focus-visible:not(:disabled){background:#f4f3ef;color:#050505;outline:2px solid #fff;outline-offset:2px}
.product-gallery-arrow:disabled{opacity:.35;cursor:default}
.product-gallery-counter{position:absolute;left:50%;bottom:.8rem;z-index:5;min-width:60px;min-height:28px;padding:.3rem .55rem;border:0;background:#090909a6;font-size:8px;font-variant-numeric:tabular-nums;letter-spacing:.15em;transform:translateX(-50%)}
.product-gallery-counter[hidden]{display:none!important}
.hoodie-product-page>.hoodie-gallery.is-product-carousel.is-switching>.hoodie-shot:not([hidden]) img{animation:product-gallery-change .22s ease both}
@keyframes product-gallery-change{from{opacity:.55}to{opacity:1}}
.hoodie-product-page>.hoodie-gallery.is-product-carousel{touch-action:pan-y pinch-zoom}
.hoodie-product-page>.hoodie-gallery.is-product-carousel>.hoodie-shot>img{transition:opacity .22s ease,transform .28s ease}
.hoodie-product-page>.hoodie-gallery.is-product-carousel .product-zoom{z-index:4}
@media(prefers-reduced-motion:reduce){.hoodie-product-page>.hoodie-gallery.is-product-carousel>.hoodie-shot>img{transition:none}.hoodie-product-page>.hoodie-gallery.is-product-carousel.is-switching>.hoodie-shot:not([hidden]) img{animation:none}}
@media(max-width:800px){
  .hoodie-product-page>.hoodie-gallery.is-product-carousel{width:100%;max-width:100vw;aspect-ratio:4/5}
  .public-back-navigation{padding:calc(1rem + env(safe-area-inset-top,0px)) 1.2rem 0}
  .public-back{min-height:44px;padding:.45rem .7rem}
  .product-gallery-controls{inset:50% .55rem auto;transform:translateY(-50%)}
  .product-gallery-arrow{min-width:44px;min-height:44px}
  .product-gallery-counter{bottom:.6rem}
  .hoodie-product-page .color-selector{gap:.2rem;min-height:48px}
  .hoodie-product-page .color-selector .color-option{flex-basis:44px;width:44px;height:44px;min-width:44px;min-height:44px}
}

/* Native horizontal scroll + snap gives the gallery a continuous rolling
   transition, with touch momentum on iOS/Android and smooth arrow/color jumps. */
.hoodie-product-page>.hoodie-gallery.is-product-carousel{
  display:block;position:relative;overflow:hidden;touch-action:auto;cursor:auto
}
.hoodie-product-page>.hoodie-gallery.is-product-carousel>.product-gallery-track{
  position:absolute;inset:0;display:flex;align-items:stretch;gap:0;width:100%;height:100%;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-snap-stop:always;
  scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;touch-action:auto;cursor:grab
}
.hoodie-product-page>.hoodie-gallery.is-product-carousel>.product-gallery-track::-webkit-scrollbar{display:none}
.hoodie-product-page>.hoodie-gallery.is-product-carousel>.product-gallery-track>.hoodie-shot{
  position:relative;inset:auto;display:block;flex:0 0 100%;width:100%;height:100%;
  min-width:100%;max-width:100%;scroll-snap-align:center;scroll-snap-stop:always;
  margin:0;opacity:1;visibility:visible;transition:opacity .45s cubic-bezier(.22,.61,.36,1)
}
.hoodie-product-page>.hoodie-gallery.is-product-carousel>.product-gallery-track>.hoodie-shot[hidden]{display:none!important}
.hoodie-product-page>.hoodie-gallery.is-product-carousel>.product-gallery-track>.hoodie-shot>img{
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1),filter .8s ease;will-change:transform
}
.hoodie-product-page>.hoodie-gallery.is-product-carousel .product-gallery-controls{position:absolute;inset:50% .8rem auto;transform:translateY(-50%);width:auto;pointer-events:none}
.hoodie-product-page>.hoodie-gallery.is-product-carousel .product-gallery-counter{position:absolute}
.hoodie-product-page>.hoodie-gallery.is-product-carousel>.product-gallery-track:active{cursor:grabbing}
.hoodie-product-page>.hoodie-gallery.is-product-carousel.is-missing-color-image>.product-gallery-track>.hoodie-shot{visibility:hidden}
.hoodie-product-page .color-selector .color-option,
.hoodie-product-page .color-selector .color-option.active{
  border:0!important;border-radius:50%;background:transparent!important;box-shadow:none!important
}
.hoodie-product-page .color-selector .color-option.active>span:first-child{
  border-color:#f4f3ef;box-shadow:0 0 0 1px #090909,0 0 0 2px #f4f3ef
}
@media(prefers-reduced-motion:reduce){
  .hoodie-product-page>.hoodie-gallery.is-product-carousel>.product-gallery-track{scroll-behavior:auto}
  .hoodie-product-page>.hoodie-gallery.is-product-carousel>.product-gallery-track>.hoodie-shot,
  .hoodie-product-page>.hoodie-gallery.is-product-carousel>.product-gallery-track>.hoodie-shot>img{transition:none}
}

/* A color without a verified photo or explicitly configured HEX must not look
   like a real solid-color thumbnail. Keep the neutral state visually distinct. */
.hoodie-product-page .color-selector .color-option>span.is-neutral{
  background-color:#080808;
  background-image:linear-gradient(135deg,transparent 46%,#a8a8a2 47% 52%,transparent 53%),linear-gradient(45deg,transparent 47%,#4a4a46 48% 52%,transparent 53%);
  border-style:dashed
}

/* Product detail galleries fit the complete supplier image; homepage and shop
   imagery retain their separate cover/framing treatment. */
.hoodie-product-page>.hoodie-gallery .hoodie-shot>img,
.hoodie-product-page>.hoodie-gallery .hoodie-shot:hover>img{
  object-fit:contain;
  object-position:center;
  transform:translate(calc(50% - var(--product-image-x,50%)),calc(50% - var(--product-image-y,50%))) scale(calc(var(--product-image-zoom,1) * .96));
}

/* Let the carousel frame follow the selected supplier image proportions.
   The static fallback prevents a layout flash before the first image loads. */
.hoodie-product-page{margin-top:.5rem}
.hoodie-product-page>.hoodie-gallery.is-product-carousel{
  aspect-ratio:var(--product-gallery-aspect,4 / 5);
  min-height:0;
  background:#080808;
}

/* Information-page rhythm: compact the remaining viewport-sized mobile
   sections while keeping comfortable reading sizes and the existing design. */
@media (max-width:800px){
  body.information-page{overflow-x:clip}
  .information-page .public-back-navigation{padding:.45rem 1.2rem 0}
  .information-page .public-back{min-height:44px;padding:.4rem .65rem}

  .information-page .about-hero,
  .information-page .shipping-hero,
  .information-page .legal-hero,
  .information-page .contact-intro{
    min-height:0;
    justify-content:flex-start;
    padding:1.6rem 1.2rem 1.8rem;
  }
  .information-page .about-hero h1,
  .information-page .shipping-hero h1,
  .information-page .legal-hero h1,
  .information-page .contact-intro h1{
    margin:.55rem 0 .8rem;
    font-size:clamp(1.55rem,7.2vw,1.875rem);
    line-height:1.12;
    letter-spacing:-.06em;
  }
  .information-page :is(.shipping-hero>p:last-child,.legal-hero>p:last-child,.contact-intro>p:last-child){
    max-width:38rem;
    font-size:15px;
    line-height:1.65;
  }

  .information-page .about-editorial{min-height:0}
  .information-page .about-editorial-image{min-height:0;aspect-ratio:4/5}
  .information-page .about-story,
  .information-page .about-code,
  .information-page .about-closing,
  .information-page .shipping-rates{padding:2.5rem 1.2rem}
  .information-page .about-story h2,
  .information-page .about-code h2,
  .information-page .about-closing h2,
  .information-page .shipping-section-head h2,
  .information-page .shipping-details h2,
  .information-page .legal-copy h2{
    margin:.55rem 0 1rem;
    font-size:clamp(1.55rem,7.2vw,1.875rem);
    line-height:1.12;
    letter-spacing:-.055em;
  }
  .information-page .about-story>p:not(.eyebrow),
  .information-page .shipping-section-head>p:last-child,
  .information-page .shipping-details article>p:last-child,
  .information-page .legal-copy>p:not(.eyebrow){
    font-size:15px;
    line-height:1.65;
  }
  .information-page .about-story>p:not(.eyebrow){margin:.55rem 0}
  .information-page .about-code-head{padding-bottom:1rem}
  .information-page .about-code-head .eyebrow{margin:0 0 .45rem}
  .information-page .about-pillars{grid-template-columns:1fr}
  .information-page .about-pillar{min-height:0;padding:1.05rem 0}
  .information-page .about-pillar h3{margin:.45rem 0;font-size:clamp(1.9rem,7.6vw,2.7rem);line-height:1}
  .information-page .about-pillar p{font-size:14px;line-height:1.55}
  .information-page .about-closing{min-height:0;padding-block:2.7rem}
  .information-page .about-closing>p{margin:0 0 .45rem}
  .information-page .about-closing h2{margin:.45rem 0 1rem}
  .information-page .about-closing .btn{min-height:44px}

  .information-page .shipping-section-head{display:block;margin-bottom:1.2rem}
  .information-page .shipping-section-head h2{margin:.45rem 0 .8rem}
  .information-page .shipping-section-head>p:last-child{margin:0}
  .information-page .shipping-table tr{padding-block:.7rem}
  .information-page .shipping-table th,
  .information-page .shipping-table td{padding:.4rem 0}
  .information-page .shipping-table tbody th{padding-bottom:.4rem}
  .information-page .shipping-table td{font-size:13px;line-height:1.5}
  .information-page .shipping-table td::before{font-size:9px}
  .information-page .shipping-details article{min-height:0;padding:1.6rem 1.2rem}
  .information-page .shipping-details article>span{margin-bottom:.35rem}
  .information-page .shipping-details .eyebrow{margin:.7rem 0 .35rem}
  .information-page .shipping-details h2{margin:.3rem 0 .65rem}

  .information-page .legal-section{grid-template-columns:minmax(0,1fr);gap:.6rem;padding:2.5rem 1.2rem}
  .information-page .legal-copy h2{margin:.35rem 0 .9rem}
  .information-page .legal-copy>p:not(.eyebrow){margin:.65rem 0}
  .information-page .legal-callout{gap:.65rem;margin-top:1rem;padding-block:.9rem}
  .information-page .legal-callout p{font-size:13px;line-height:1.6}
  .information-page .legal-electronic .legal-copy h2{margin:.35rem 0 .7rem}
  .information-page .withdrawal-form{margin-top:.85rem;padding:.8rem}
  .information-page .withdrawal-form-grid{gap:.7rem}
  .information-page .withdrawal-form textarea{min-height:82px}
  .information-page .withdrawal-submit{min-height:48px;margin-top:.8rem}
  .information-page .legal-basis{padding-block:1rem}

  .information-page .contact-intro{min-height:0;border-right:0;border-bottom:1px solid var(--line)}
  .information-page .contact-direct{gap:.8rem;margin-top:1rem}
  .information-page .contact-form-wrap{padding:1.8rem 1.2rem 2rem}
  .information-page .contact-field{margin-bottom:1.2rem}
  .information-page .contact-field textarea{min-height:100px}
  .information-page .contact-submit{min-height:52px;margin-top:1.2rem}

  .information-page.information-footer,
  .information-page .information-footer{padding:1.2rem 1.2rem calc(1rem + env(safe-area-inset-bottom,0px))}
  .information-footer .footer-information{padding-bottom:.2rem}
  .information-footer .footer-information summary{min-height:44px}
  .information-footer .footer-information nav{gap:0;padding:.25rem 0 .45rem}
  .information-footer .footer-information nav a{min-height:38px}
  .information-footer .footer-contact{gap:.8rem;margin-top:.8rem;padding-top:.8rem}
  .information-footer .footer-contact>div{gap:.25rem}
  .information-footer .footer-contact a{font-size:13px!important}
  .information-footer .footer-region{display:flex;align-items:center;gap:.8rem;margin-top:.8rem;padding-top:.8rem}
  .information-footer .footer-region-label{margin:0;font-size:8px;letter-spacing:.1em}
  .information-footer .footer-region-selector{flex:0 1 220px;width:auto}
  .information-footer .footer-region-selector summary{
    min-height:40px;
    border:1px solid #303030;
    background:#0b0b0b;
    padding:.45rem .65rem;
    color:#f4f3ef;
    appearance:none;
    -webkit-appearance:none;
  }
  .information-footer .footer-region-selector summary:hover,
  .information-footer .footer-region-selector summary:focus-visible{border-color:#656565;background:#101010}
  .information-footer .footer-region-flag{font-size:15px}
  .information-footer .footer-region-name{font-size:9px}
  .information-footer .footer-region-menu{right:0;left:auto;width:min(330px,calc(100vw - 2.4rem))}
}

@media (min-width:801px){
  .information-page .contact-intro h1{font-size:clamp(3.5rem,6vw,6rem);line-height:1.12}
  .information-page .about-hero{min-height:52vh;padding-block:4.5rem}
  .information-page .about-story{padding:5vw}
  .information-page .about-code{padding-block:5.5rem}
  .information-page .about-pillar{min-height:250px}
  .information-page .about-closing{min-height:54vh;padding-block:4.5rem}
  .information-page .shipping-hero,.information-page .legal-hero{min-height:50vh;padding-block:4.5rem}
  .information-page .shipping-rates{padding-block:5rem 5.5rem}
  .information-page .shipping-details article{min-height:340px;padding-block:3rem}
  .information-page .legal-section{padding-block:5rem}
  .information-page .legal-copy h2{margin-bottom:1.8rem}
  .information-footer{padding-top:1.5rem}
  .information-footer .footer-region-selector summary{background:#0b0b0b}
}

/* Product care cards infer symbols from the verified instruction, never a temperature. */
.hoodie-accordions [data-product-care][hidden]{display:none!important}
.care-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:.6rem;list-style:none;margin:.4rem 0 0;padding:0}
.care-card{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:.8rem;min-height:76px;border:1px solid #303030;padding:.8rem .9rem;background:#090909}
.care-symbol{display:grid;place-items:center;width:32px;height:32px;border:1px solid #464646;color:#e8e7e2}
.care-symbol svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.care-copy{color:#d1d0cb;font-size:10px;line-height:1.55;letter-spacing:.035em}
@media(max-width:600px){.care-cards{grid-template-columns:1fr}.care-card{min-height:68px;padding:.7rem .8rem}}

/* Keep supplier-defined dimensions separate from garment size and color. */
.supplier-dimensions{display:grid;gap:.85rem;margin:.15rem 0 .9rem}
.supplier-dimensions[hidden]{display:none!important}
.supplier-dimension-group{display:grid;gap:.4rem;margin:0}
.supplier-dimension-label{color:#aaa;font-size:8px;letter-spacing:.13em;text-transform:uppercase}
.supplier-dimension-options{display:flex;flex-wrap:wrap;gap:.45rem}
.supplier-dimension-option{min-width:48px;min-height:36px;padding:.45rem .7rem;border:1px solid #3d3d3d;background:transparent;color:#e9e9e9;font:inherit;font-size:10px;letter-spacing:.05em;cursor:pointer;touch-action:manipulation}
.supplier-dimension-option:hover,.supplier-dimension-option:focus-visible{border-color:#aaa}
.supplier-dimension-option.active{border-color:#fff;background:#fff;color:#050505}
.supplier-dimension-option:focus-visible{outline:1px solid #fff;outline-offset:3px}
@media(max-width:800px){.supplier-dimensions{gap:.7rem}.supplier-dimension-option{min-height:40px}}
