/* Storefront refresh: loaded after styles.css and favorites.css. */
:root{--ink:#20201d;--line:#20201d25}
html{scroll-padding-top:80px}
.study-bar,.brand-band,.photo-credit,.campaign .photo-label{display:none}

/* A single fixed header changes tone as the opening photograph leaves view. */
.header{position:fixed;top:0;left:0;right:0;z-index:20;height:80px;padding:0 32px;background:#fff;border:0;border-bottom:1px solid #20201d12;color:var(--ink);transition:background .2s ease,color .2s ease,border-color .2s ease}
body.hero-header .header{background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,0));border-color:transparent;color:#fff}
.header-left,.header-right{display:flex;align-items:center;min-width:0}
.header-left nav,.guide-header{display:none}
.header-right{gap:24px;font-size:13px;font-weight:500}
.header-right button{padding:12px 0;white-space:nowrap}
.logo{width:190px;color:inherit}
.menu-button,.mobile-menu{display:grid;place-items:center;position:relative;width:38px;height:44px;padding:0;flex:none;font-size:0;color:inherit}
.menu-button svg,.mobile-menu svg{display:none}
.menu-button::before,.mobile-menu::before{content:"";position:absolute;width:23px;height:14px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.menu-button::after,.mobile-menu::after{content:"";position:absolute;width:23px;height:1.5px;background:currentColor}
.bag-button [data-count]{display:none}
.search-button,.bag-button{font-size:13px;letter-spacing:0}
body.product-route main{padding-top:80px}

/* Opening image owns the first viewport; the existing photograph remains the source. */
.hero-image{height:100svh;min-height:0;aspect-ratio:auto;background:#f2eee6}
.hero-image picture{display:block;width:100%;height:100%}
.hero-image picture img,.hero-image>img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center center}
.hero-image::after{content:"";position:absolute;inset:62% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.32));pointer-events:none}
.hero-image .hero-photo-link{position:absolute;z-index:1;left:clamp(22px,3vw,46px);right:auto;bottom:clamp(28px,4vw,56px);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:5px;width:auto;min-height:0;margin:0;padding:0;border:0;background:none;color:#fff;text-align:left;box-shadow:none}
.hero-image .hero-photo-link .hero-title{display:block;font-size:clamp(36px,4.3vw,62px);line-height:1;letter-spacing:-.055em;font-weight:400}
.hero-image .hero-photo-link .hero-action{display:block;font-size:16px;line-height:1.4;font-weight:400;letter-spacing:0}
.hero-image:focus-visible{outline:3px solid #fff;outline-offset:-8px}
.hero-copy{padding-top:70px;padding-bottom:78px}
.hero-copy .eyebrow{display:none}
.hero h1{margin:0;font-size:clamp(64px,7vw,105px);font-weight:750;letter-spacing:-.065em}
.campaign-intro .eyebrow{display:none}
.campaign-intro h2{margin-top:0}

/* Compact, readable navigation and search drawers. */
#menu-dialog{margin:0 auto 0 0;width:min(440px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:30px 34px}
#menu-dialog .dialog-top{margin-bottom:56px}
#menu-dialog .dialog-top h2,#menu-dialog #menu-title{font-size:15px;font-weight:650;letter-spacing:0;text-transform:none}
#menu-dialog nav{display:block;margin:0}
.menu-section-label{display:block;margin:26px 0 10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#696966}
.menu-links{display:flex;flex-direction:column}
#menu-dialog .menu-links>a,#menu-dialog .menu-links>button,#menu-dialog nav>a,#menu-dialog nav>button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;padding:12px 0;border:0;border-bottom:1px solid var(--line);font-size:22px;font-weight:450;line-height:1.2;text-align:left}
#menu-dialog nav span[aria-hidden]{font-size:18px}
#menu-dialog>p{margin-top:50px;font-size:13px;line-height:1.6;color:#666}
#search-dialog{margin:0 0 0 auto;width:min(520px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:30px 34px}
#search-dialog .dialog-top{margin-bottom:40px}
#search-dialog .dialog-top h2{font-size:26px;font-weight:550}
#search-dialog form label,#search-dialog .search-label{display:block;margin-bottom:12px;font-size:12px;font-weight:600}
#search-dialog input[type=search]{display:block;width:100%;height:54px;padding:12px 14px;border:1px solid #20201d55;border-radius:0;background:#fff;color:var(--ink);font-size:15px;outline-offset:2px}
#search-dialog input[type=search]:focus{outline:2px solid var(--blue)}
.search-results{margin-top:30px;overflow-y:auto}
.search-input-row{display:flex;align-items:stretch;gap:10px}
.search-input-row input{min-width:0;flex:1}
.search-input-row button{display:grid;place-items:center;flex:none;width:46px;border:1px solid var(--line)}
.search-input-row svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.search-status{margin-top:18px;font-size:13px;color:#666}
.search-results>p{font-size:13px;line-height:1.5;color:#666}
.search-result{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:16px;min-height:95px;padding:11px 0;border-bottom:1px solid var(--line)}
.search-result img{width:72px;height:72px;object-fit:contain;background:#f7f4ec}
.search-result h3,.search-result-name{display:block;font-size:15px;font-weight:600;line-height:1.25}
.search-result p,.search-result-meta{display:block;margin-top:5px;font-size:11px;line-height:1.35;color:#666}

/* Store links and brand signoff. */
.footer-links{gap:22px 34px}
.footer-links a,.footer-links button{font-size:12px;line-height:1.4}
.footer-bottom{align-items:center}
.center-dialog{box-shadow:0 15px 60px #0002}

@media(max-width:650px){
  html{scroll-padding-top:64px}
  .header{height:64px;padding:0 16px}
  .logo{width:138px}
  .header-right{gap:12px}
  .search-button,.bag-button{font-size:11px}
  .menu-button,.mobile-menu{width:28px;height:44px}
  .menu-button::before,.mobile-menu::before{width:22px}
  .menu-button::after,.mobile-menu::after{width:22px}
  body.product-route main{padding-top:64px}
  .hero-image{height:auto;min-height:0;aspect-ratio:4/5}
  .hero-image picture,.hero-image picture img,.hero-image>img{height:100%;min-height:0;aspect-ratio:auto}
  .hero-image picture img,.hero-image>img{object-fit:cover;object-position:70% center}
  .hero-image .hero-photo-link{position:absolute;left:20px;right:auto;bottom:max(34px,env(safe-area-inset-bottom));width:auto;margin:0;padding:0;border:0;background:none;color:#fff}
  .hero-image .hero-photo-link .hero-title{font-size:clamp(28px,8vw,38px)}
  .hero-image .hero-photo-link .hero-action{font-size:14px}
  .hero-copy{padding:38px 20px 48px}
  .hero h1{font-size:clamp(52px,15vw,70px);margin:0 0 20px}
  #menu-dialog,#search-dialog{width:min(100%,440px);padding:22px 22px max(24px,env(safe-area-inset-bottom))}
  #menu-dialog .dialog-top{margin-bottom:42px}
  #menu-dialog .menu-links>a,#menu-dialog .menu-links>button,#menu-dialog nav>a,#menu-dialog nav>button{font-size:22px;min-height:54px}
  #search-dialog .dialog-top{margin-bottom:30px}
  .footer-links{gap:18px 12px}
}
@media(prefers-reduced-motion:reduce){.header{transition:none}}
@media(max-width:380px){.logo{width:118px}}
/* The first strip is intentionally static, including keyboard focus. */
.catalog-tile-link:hover .catalog-flat,.catalog-tile-link:focus-visible .catalog-flat{opacity:1}
.collection-filter-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0 28px}
.collection-filter-heading h2{font-size:clamp(30px,4vw,52px);letter-spacing:-.05em;font-weight:650}
.collection-strip.is-filtered .catalog-track{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.collection-strip.is-filtered .catalog-track:has(.catalog-tile:only-child){grid-template-columns:minmax(0,450px)}
@media(max-width:650px){.collection-filter-heading{align-items:flex-start;gap:16px}.collection-filter-heading .text-link{font-size:11px}.collection-strip.is-filtered .catalog-track:has(.catalog-tile:only-child){grid-template-columns:minmax(0,1fr);max-width:320px}}
