:root{--paper:#F3F1EC;--ink:#161514;--muted:#5B5853;--soft:#3D3B38;--line:#161514;--accent:#B83A24;--chip:#E4E0D8;
  --display:Archivo,"Arial Narrow",sans-serif;--sans:"Inter Tight",system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace}
body.dark,.band.dark{--paper:#161514;--ink:#F3F1EC;--muted:#B5B0A8;--soft:#D8D3CA;--line:#5B5853;--accent:#E8A08F;--chip:#2A2826}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}
a{color:inherit}a:hover{color:var(--accent)}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:1320px;margin:0 auto;padding-left:24px;padding-right:24px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--ink);color:var(--paper);padding:10px 14px;z-index:20}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* header / footer */
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 32px;padding-top:16px;padding-bottom:16px}
.logo{font-family:var(--display);font-stretch:70%;font-weight:800;font-size:26px;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;padding:10px 0;line-height:1}
.logo.small{font-size:20px}
.amp{color:var(--accent)}
.top nav,.foot nav{display:flex;flex-wrap:wrap;gap:0 26px;font-size:15px;font-weight:500}
.top nav a,.foot nav a{text-decoration:none;padding:12px 0;border-bottom:2px solid transparent}
.top nav a[aria-current=page]{border-bottom-color:var(--accent)}
.foot{border-top:1px solid var(--line);margin-top:24px}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 32px;padding-top:24px;padding-bottom:40px;font-size:14px}

/* type */
.kicker{margin:0 0 16px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.display{margin:0;font-family:var(--display);font-stretch:62%;font-weight:800;font-size:clamp(52px,10vw,148px);line-height:.86;text-transform:uppercase;letter-spacing:-.005em;overflow-wrap:anywhere}
.display.xl{font-size:clamp(44px,8vw,124px)}
.h2{margin:0;font-family:var(--display);font-stretch:70%;font-weight:800;font-size:clamp(40px,5vw,56px);line-height:1;text-transform:uppercase}
.h2 a{text-decoration:none}
.lede{margin:0;max-width:460px;font-size:18px;line-height:1.5;color:var(--soft)}
.body-lg{margin:0;max-width:560px;font-size:20px;line-height:1.55}
.soft{color:var(--soft)}
.mono{font-family:var(--mono);font-size:13px}
.muted{color:var(--muted)}
.back{display:inline-block;padding:12px 0;margin-bottom:12px;text-decoration:none}
.btn{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:600;padding:14px 22px}
.btn:hover{color:var(--paper);background:var(--accent)}

/* page heads & sections */
.page-head{padding-top:40px;padding-bottom:40px}
.ph-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 48px}
.ph-side{display:flex;flex-direction:column;gap:16px;align-items:flex-start;max-width:440px}
.pb{padding-bottom:88px}.pt{padding-top:40px}
.hero{padding-top:40px;padding-bottom:28px}
.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px;padding-bottom:88px;align-items:start}
.drop{margin-top:64px}
.sec{padding-top:32px;padding-bottom:88px}
.wrap.sec,.wrap.next{position:relative}
.wrap.sec::before,.wrap.next::before{content:"";position:absolute;top:0;left:24px;right:24px;border-top:1px solid var(--line)}
.band{background:var(--paper);color:var(--ink)}
.band .sec{border-top:0}
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;margin-bottom:28px}
.sec-head>div,.split-text>div:first-child{display:flex;align-items:baseline;gap:18px}
.sec-head>a{font-weight:500;padding:12px 0}
.band .lede{margin-bottom:36px}
.split{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.split-text{flex:1 1 340px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.stock-strip{flex:1 1 460px;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}

/* frames & cards */
.frame{position:relative;overflow:hidden;background:var(--chip)}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r1{aspect-ratio:1}.r43{aspect-ratio:4/3}.r32{aspect-ratio:3/2}.r45{aspect-ratio:4/5}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:44px 24px}
.card{display:flex;flex-direction:column;gap:12px;text-decoration:none}
.card img{transition:transform .5s ease}
.card:hover img{transform:scale(1.025)}
.card-meta .mono{white-space:nowrap}
.card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:4px}
.card>.card-title{padding-top:4px}
.card-title{font-family:var(--display);font-stretch:72%;font-weight:800;font-size:28px;line-height:1;text-transform:uppercase}
.card-title.sm{font-size:22px}
.season{border-top:1px solid var(--line);padding:24px 0 56px}
.season-head{display:flex;align-items:baseline;gap:18px;margin-bottom:24px;flex-wrap:wrap}
.lead-img{aspect-ratio:21/9}
@media (max-width:700px){.lead-img{aspect-ratio:3/2}.drop{margin-top:0}}

/* justified gallery */
.jg{display:flex;flex-wrap:wrap;gap:10px}
.jg::after{content:"";flex-grow:999999999}
.jg-item{position:relative;display:block;flex-grow:calc(var(--ar)*100);flex-basis:calc(var(--ar)*260px);background:var(--chip);cursor:zoom-in}
.jg-item i{display:block}
.jg-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (min-width:1100px){.jg-item{flex-basis:calc(var(--ar)*320px)}}
.next{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;padding-top:20px;padding-bottom:24px}
.next a{padding:12px 0;font-weight:500}
.next-big{font-family:var(--display);font-stretch:72%;font-weight:800;font-size:28px;text-transform:uppercase;text-decoration:none}

/* stock */
.stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,45%),1fr));gap:28px 16px}
.stock-item{display:flex;flex-direction:column;gap:10px;text-decoration:none;cursor:zoom-in}
.stock-cap{display:flex;gap:10px;align-items:baseline;font-size:15px;font-weight:500}

/* about / contact */
.about{display:flex;flex-wrap:wrap;gap:48px 64px;align-items:flex-start;padding-top:40px}
.about-img{flex:1 1 340px;aspect-ratio:4/5}
.about-text{flex:1.2 1 400px;display:flex;flex-direction:column;gap:24px}
.contact{background:#161514;color:#F3F1EC;--soft:#D8D3CA;--accent:#E8A08F}
.contact-in{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 64px;padding-top:56px;padding-bottom:88px}
.contact-in>div{display:flex;flex-direction:column;gap:12px}
.big-link{font-size:clamp(20px,3vw,28px);padding:8px 0;overflow-wrap:anywhere}
.contact+.foot{margin-top:0}

/* lightbox */
.lb{position:fixed;inset:0;z-index:50;background:rgba(14,13,12,.97);color:#F3F1EC;display:none;flex-direction:column;padding:12px 16px 16px}
.lb.open{display:flex}
.lb-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px}
.lb-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:12px;touch-action:pan-y}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;width:auto;height:auto;user-select:none;-webkit-user-drag:none}
.lb-fig{flex:1;min-width:0;height:100%;display:flex;align-items:center;justify-content:center;margin:0}
.lb-btn{flex:none;width:48px;height:48px;border:1px solid rgba(243,241,236,.5);background:none;color:#F3F1EC;display:flex;align-items:center;justify-content:center;cursor:pointer}
.lb-btn:hover{border-color:#F3F1EC}
.lb-cap{text-align:center;min-height:24px;padding-top:8px;font-size:14px}
@media (max-width:700px){.lb-stage .lb-btn{display:none}.lb{padding:8px}}
body.lb-lock{overflow:hidden}

/* B&W collection feature */
.bw-feature{display:flex;flex-wrap:wrap;align-items:center;gap:24px 40px;text-decoration:none;border:1px solid var(--line);padding:24px;margin:8px 0 56px}
.band .bw-feature{margin:56px 0 0}
.bw-text{flex:1 1 280px;display:flex;flex-direction:column;gap:12px}
.bw-link{font-weight:600}
.bw-feature:hover .bw-link{color:var(--accent)}
.bw-strip{flex:2 1 420px;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.jump{margin:0;line-height:2}.jump a{text-decoration:none;border-bottom:1px solid var(--line)}
.intro{margin:28px 0 0;max-width:640px;font-size:19px;line-height:1.6;color:var(--soft)}
.intro+.intro{margin-top:14px}

/* home contact sheet */
.sheet{background:#161514;padding:14px 14px 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:12px 8px;margin-top:8px}
.cs{display:flex;flex-direction:column;gap:5px;text-decoration:none;color:#B5B0A8;position:relative}
.cs img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;transition:filter .25s ease,transform .25s ease}
.cs:hover img,.cs:focus-visible img{filter:brightness(1.12);transform:scale(1.04)}
.fn{font-family:var(--mono);font-size:10px;letter-spacing:.06em;line-height:1.2;display:flex;gap:6px;min-width:0}
.fn-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transition:opacity .2s}
.cs:hover .fn-l,.cs:focus-visible .fn-l{opacity:1}
.cs.pick img{outline:3px solid #E0563B;outline-offset:3px;border-radius:2px}
.cs::after{content:"";position:absolute;inset:-7px -7px 14px -7px;border:2px solid #E0563B;border-radius:46% 54% 50% 50%/52% 48% 52% 48%;transform:rotate(-3deg) scale(.92);pointer-events:none;opacity:0;transition:opacity .18s ease,transform .18s ease}
.cs:hover::after,.cs:focus-visible::after{opacity:.9;transform:rotate(-3deg) scale(1)}
.cs.pick img{outline:none}
.sheet-cap{margin:10px 0 72px}
.hero{padding-top:28px;padding-bottom:20px}
@media (max-width:700px){.sheet{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:10px 6px;padding:10px 10px 6px}.cs:nth-child(n+41){display:none}.fn-l{display:none}}
@media (prefers-reduced-motion:no-preference){.cs{animation:csIn .5s ease both;animation-delay:calc(var(--i)*18ms)}@keyframes csIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}

/* home food strips */
.strips{display:flex;flex-direction:column;gap:22px}
.strip-head{display:flex;align-items:baseline;gap:16px;text-decoration:none;margin-bottom:8px}
.strip-title{font-family:var(--display);font-stretch:72%;font-weight:800;font-size:26px;line-height:1;text-transform:uppercase}
.strip-head .mono:last-child{margin-left:auto}
.strip-head:hover .strip-title{color:var(--accent)}
.strip-row{margin-top:0;grid-template-columns:repeat(12,minmax(0,1fr))}
.strip-row .cs:nth-child(n+13){display:none}
@media (max-width:1000px){.strip-row{grid-template-columns:repeat(8,minmax(0,1fr))}.strip-row .cs:nth-child(n+9){display:none}}
@media (max-width:700px){.strip-row{grid-template-columns:repeat(5,minmax(0,1fr))}.strip-row .cs:nth-child(n+6){display:none}.strip-title{font-size:22px}}

/* home food: two frames per series */
.duo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));gap:40px 28px}
.duo{display:flex;flex-direction:column;gap:12px;text-decoration:none}
.duo-imgs{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.duo img{transition:transform .5s ease}
.duo:hover img{transform:scale(1.03)}
.duo:hover .card-title{color:var(--accent)}
/* hero sheet: two even rows */
@media (min-width:1001px){.sheet:not(.strip-row){grid-template-columns:repeat(12,minmax(0,1fr))}}
@media (min-width:701px) and (max-width:1000px){.sheet:not(.strip-row){grid-template-columns:repeat(8,minmax(0,1fr))}}
@media (max-width:700px){.sheet:not(.strip-row){grid-template-columns:repeat(4,minmax(0,1fr))}.sheet .cs:nth-child(n+13){display:none}}

/* home travel: one frame per trip */
.dest-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 14px}
.dest{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:#F3F1EC}
.dest .frame{margin-bottom:8px}
.dest img{transition:transform .5s ease}
.dest:hover img{transform:scale(1.04)}
.dest-name{font-family:var(--display);font-stretch:72%;font-weight:800;font-size:20px;line-height:1.05;text-transform:uppercase}
.dest:hover .dest-name{color:var(--accent)}
@media (max-width:700px){.dest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.dest-name{font-size:18px}}
.jg.js{gap:10px}
.jg.js .jg-item i{display:none}
.jg.js::after{display:none}
