/* CARRY ALMANAC v2 — "the almanac as a specimen catalogue". One family (Archivo, variable width), white ground, black ink, one accent on the action. */
@font-face{font-family:"Archivo";src:url(../fonts/archivo-latin-wdth-normal.woff2) format("woff2-variations"),url(../fonts/archivo-latin-wdth-normal.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";src:url(../fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2-variations"),url(../fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
 --ground:#ffffff;--ink:#000000;--quiet:#5c5c5c;--step:#f1f1ef;--step2:#e6e6e3;--night:#000000;--night-ink:#f4f4f2;--night-quiet:#8a8a86;--signal:#111111;
 --f:"Archivo","PingFang SC","Hiragino Sans GB","Source Han Sans SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;
 --s-small:clamp(.8125rem,.79rem + .1vw,.875rem);--s-body:clamp(1rem,.97rem + .2vw,1.125rem);--s-lead:clamp(1.25rem,1.05rem + .8vw,1.75rem);
 --s-head:clamp(2.25rem,1.2rem + 4vw,5rem);--s-mono:min(calc((100vw - 2*var(--m)) / 6.42), 24svh);
 --m:clamp(16px,2.2vw,32px);--gap:clamp(12px,1.25vw,20px);--sec:clamp(96px,11vw,176px)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--ground);color:var(--ink);font-family:var(--f);font-size:var(--s-body);line-height:1.5;font-stretch:100%;-webkit-font-smoothing:antialiased;font-kerning:normal}
::selection{background:var(--ink);color:var(--ground)}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
img{display:block;max-width:100%}
.fr{padding-left:var(--m);padding-right:var(--m)}
.num{font-variant-numeric:tabular-nums}
/* bar */
.bar{position:sticky;top:0;z-index:30;background:var(--ground);display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 var(--m)}
.bar .wm{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-stretch:125%;letter-spacing:-.01em;font-size:15px;white-space:nowrap}
.bar .wm::before{content:"";width:28px;height:28px;flex:none;background:currentColor;-webkit-mask:url(../brand/ca-mark-ink.png) center/100% no-repeat;mask:url(../brand/ca-mark-ink.png) center/100% no-repeat;-webkit-mask-mode:alpha;mask-mode:alpha}
.bar nav{display:flex;gap:clamp(14px,1.8vw,30px);font-size:15px}
.bar nav a{color:var(--quiet);transition:color .15s}
.bar nav a:hover,.bar nav a[aria-current]{color:var(--ink)}
.bar nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.bar .lang{color:var(--ink)!important;font-weight:600}
.menu{display:none;background:none;border:0;font:inherit;font-size:15px;font-weight:600;cursor:pointer;color:var(--ink)}
@media (max-width:960px){.menu{display:block;min-height:44px;min-width:44px}.bar nav{display:none;position:fixed;inset:60px 0 0 0;background:var(--ground);flex-direction:column;gap:0;padding:16px var(--m);overflow-y:auto;overscroll-behavior:contain}
.bar nav.open{display:flex}.bar nav a{font-size:clamp(28px,8vw,40px);font-weight:700;font-stretch:112%;color:var(--ink);padding:10px 0;letter-spacing:-.02em}}
/* type roles */
.mono{font-weight:850;font-stretch:125%;font-size:var(--s-mono);line-height:.82;letter-spacing:-.045em;margin-left:-.04em;white-space:nowrap}
.mono span{display:block}
.head{font-weight:700;font-stretch:112%;font-size:var(--s-head);line-height:.96;letter-spacing:-.035em;text-wrap:balance}
.lead{font-size:var(--s-lead);line-height:1.3;letter-spacing:-.01em;text-wrap:pretty;max-width:30ch}
.small{font-size:var(--s-small);color:var(--quiet)}
.body{max-width:62ch;text-wrap:pretty}
.body p+p{margin-top:1em}
.zh .lead{line-height:1.6;letter-spacing:0}
.zh .head{font-stretch:100%;letter-spacing:-.01em;line-height:1.12;font-weight:700}
.zh .mono{letter-spacing:-.045em}
/* actions */
.act{display:inline-flex;align-items:center;gap:.6em;background:var(--ink);color:#fff;font-weight:600;font-size:var(--s-body);padding:.95em 1.5em;border-radius:999px;transition:transform .12s cubic-bezier(.23,1,.32,1)}
.act:hover,.act.ink:hover{background:var(--ink)}
.act:active{transform:scale(.97)}
.act.ink{background:var(--ink)}
.act.light{background:var(--night-ink);color:#000}.act.light:hover{background:#fff;color:#000}
.link{font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.link:hover{color:var(--signal)}
/* hero */
.hero{--hero-top:clamp(16px,2vw,28px);--hero-gap:clamp(16px,2vw,32px);padding-top:var(--hero-top)}
.hero .mono{padding:0 var(--m)}
.hero-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);padding:0 var(--m);margin-top:var(--hero-gap);align-items:end}
.hero-copy{grid-column:1/span 4;padding-bottom:clamp(8px,2vw,40px)}
.hero-copy h1{font-size:var(--s-lead);font-weight:500;line-height:1.28;letter-spacing:-.012em;max-width:24ch;text-wrap:pretty}
.zh .hero-copy h1{line-height:1.6;letter-spacing:0}
.hero-copy .act{margin-top:28px}
.hero-obj{grid-column:5/span 8;position:relative;overflow:hidden}
.hero-obj img{width:100%;aspect-ratio:16/10.5;object-fit:contain;mix-blend-mode:multiply}
.hero-obj figcaption{position:absolute;right:0;bottom:0;text-align:right}
@media (max-width:860px){.hero-row{grid-template-columns:1fr}.hero-copy,.hero-obj{grid-column:1/-1}.hero-obj{order:-1}.hero-obj img{aspect-ratio:1}.hero-obj figcaption{position:static;text-align:left;margin-top:8px}.mono span{display:block}}
/* specimens */
.sp{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(40px,4vw,64px) var(--gap)}
.sp.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1180px){.sp,.sp.c4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.sp,.sp.c4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.sp,.sp.c4{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 10px}}
.card{display:block;min-width:0}
.card[hidden]{display:none}
.pic{position:relative;aspect-ratio:1;background:var(--ground)}
.pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6%;mix-blend-mode:multiply;transition:opacity .25s}
.pic.photo img{object-fit:cover;padding:0;mix-blend-mode:normal}
.pic .alt{opacity:0}
@media (hover:hover){.card:hover .pic.has2 .alt{opacity:1}.card:hover .pic.has2 img:first-child{opacity:0}}
.pic .alt{mix-blend-mode:normal;background:var(--ground)}
.cap{margin-top:10px;font-size:var(--s-small);line-height:1.35}
.cap b{display:block;font-weight:650;color:var(--ink);letter-spacing:.005em}
.cap span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--quiet)}
.card:hover .cap span{color:var(--ink)}
/* sections */
.sec{padding:var(--sec) var(--m) 0}
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(28px,3.5vw,56px)}
.ten-ctl{display:flex;align-items:center;gap:clamp(16px,1.8vw,26px);flex-shrink:0;margin:0;font-size:var(--s-small)}
.ten-ctl .num{color:var(--quiet)}
.ten-ctl button{font:inherit;font-weight:650;background:none;border:0;padding:12px 0;min-height:44px;cursor:pointer;color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.ten-ctl .link{padding:12px 0}
@media (max-width:640px){.sh{flex-direction:column;align-items:flex-start;gap:14px}.ten-ctl{flex-wrap:wrap;gap:8px 18px}}
/* type rows */
.types{margin-top:var(--sec);background:var(--step);padding:clamp(56px,6vw,96px) var(--m)}
.trow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--gap);padding:clamp(10px,1.2vw,18px) 0}
.trow+.trow{margin-top:2px}
.trow .t{font-weight:750;font-stretch:118%;font-size:clamp(2.4rem,1rem + 5.4vw,6.5rem);line-height:.95;letter-spacing:-.04em;display:flex;align-items:baseline;gap:.35em}
.trow .t sup{font-size:.22em;font-weight:500;font-stretch:100%;letter-spacing:0;color:var(--quiet);transform:translateY(-1.6em)}
.zh .trow .t{font-stretch:100%;letter-spacing:-.01em}
.trow .th{display:flex;gap:8px}
.trow .th > img,.trow .th .pic{width:clamp(64px,7.5vw,120px);aspect-ratio:1;object-fit:contain;background:#fff}.trow .th > img{padding:5%}.trow .th .pic img{width:100%;height:100%;object-fit:contain;object-position:center bottom;padding:3% 3% 0;background:#fff;mix-blend-mode:normal}
.trow:hover .t{color:var(--signal)}
@media (max-width:640px){.trow .th .pic:nth-child(n+2),.trow .th > img:nth-child(n+2){display:none}}
/* statement */
.stmt{padding:var(--sec) var(--m) 0}
.stmt p.big{font-weight:700;font-stretch:112%;font-size:clamp(2rem,1rem + 4.2vw,5.6rem);line-height:1;letter-spacing:-.035em;max-width:16ch;text-wrap:balance}
.zh .stmt p.big{font-stretch:100%;letter-spacing:-.01em;line-height:1.15}
.stmt .row{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:40px}
/* night index */
.night{background:var(--night);color:var(--night-ink);padding:clamp(72px,8vw,128px) var(--m)}
.night .small{color:var(--night-quiet)}
.idx{columns:4 16rem;column-gap:var(--gap);margin-top:clamp(32px,4vw,64px)}
.idx .L{break-inside:avoid;margin-bottom:28px}
.idx .L>b{display:block;font-weight:800;font-stretch:125%;font-size:15px;color:var(--night-quiet);margin-bottom:6px}
.idx a{display:flex;break-inside:avoid;justify-content:space-between;gap:12px;font-size:clamp(1.05rem,.9rem + .5vw,1.4rem);line-height:1.5;font-weight:500;letter-spacing:-.01em}
.idx a i{font-style:normal;font-size:.7em;color:var(--night-quiet);font-variant-numeric:tabular-nums;padding-top:.3em}
.night,.ft{--signal:var(--night-ink)}
.idx a:hover,.ft a:hover{color:inherit;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.night .head{color:var(--night-ink)}
/* page heads */
.ph{padding:clamp(48px,6vw,76px) var(--m) clamp(28px,3vw,48px)}
.ph .mono{font-size:clamp(3.4rem,11vw,12rem);white-space:normal;text-wrap:balance;overflow-wrap:anywhere}
.ph .meta{margin-top:18px;font-size:var(--s-lead);color:var(--quiet);letter-spacing:-.01em}
.zh .ph .mono{font-stretch:100%;letter-spacing:-.02em;line-height:1}
.crumb{font-size:var(--s-small);color:var(--quiet);margin-bottom:18px}
.crumb a:hover{color:var(--ink)}
/* filters */
.filters{position:sticky;top:60px;z-index:10;background:var(--ground);display:flex;gap:6px;flex-wrap:wrap;padding:12px var(--m);margin-bottom:clamp(24px,3vw,44px)}
.filters button{font:inherit;font-size:15px;background:var(--step);border:0;border-radius:999px;padding:.5em 1em;cursor:pointer;color:var(--ink)}
.filters button i{font-style:normal;color:var(--quiet);font-variant-numeric:tabular-nums;margin-left:.35em;font-size:.85em}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--ground)}
.filters button[aria-pressed=true] i{color:#aaa}
.more{text-align:center;margin-top:64px}
.more button{font:inherit;font-weight:600;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:1em 2em;cursor:pointer}
.more button{transition:transform .12s cubic-bezier(.23,1,.32,1)}
.more button:active{transform:scale(.97)}
.grid-wrap{padding:0 var(--m)}
/* brand rows */
.brow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--gap);align-items:center;padding:clamp(18px,2vw,28px) var(--m)}
.brow:nth-child(even){background:var(--step)}
.brow .bn{font-weight:750;font-stretch:118%;font-size:clamp(1.9rem,1rem + 3vw,4rem);line-height:1;letter-spacing:-.035em}
.brow .bc{display:block;margin-top:8px;font-size:var(--s-small);color:var(--quiet)}
.brow .bt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.brow .bt img{width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply;padding:6%}
.brow:hover .bn{color:var(--signal)}
.azbar{position:sticky;top:60px;z-index:10;background:var(--ground);display:flex;flex-wrap:wrap;gap:4px clamp(10px,1.4vw,22px);padding:14px var(--m);font-weight:800;font-stretch:125%;font-size:clamp(15px,1.4vw,20px)}
.azbar span{color:#c4c4c0}
.azbar a:hover{color:var(--signal)}
.Lmark{scroll-margin-top:120px}
@media (max-width:760px){.brow{grid-template-columns:1fr}.brow .bt{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* product */
.pd{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,72px);padding:0 var(--m);align-items:start}
.pgal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.pgal figure{background:var(--step)}
.pgal figure:first-child{grid-column:1/-1}
.pgal figure.full{grid-column:1/-1}
.pgal img{width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}
.pgal figure:first-child img{aspect-ratio:1/1}
.pinfo{position:sticky;top:84px}
.pinfo .bnm{font-weight:700;font-stretch:118%;font-size:var(--s-lead);letter-spacing:-.02em}
.pinfo h1{font-weight:750;font-stretch:112%;font-size:clamp(2.2rem,1rem + 3.2vw,4.4rem);line-height:.98;letter-spacing:-.035em;margin:10px 0 18px;overflow-wrap:anywhere;text-wrap:balance}
.zh .pinfo h1{font-stretch:112%}
.pinfo .price{font-size:var(--s-lead);letter-spacing:-.01em}
.spec{margin-top:32px}
.spec>div{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:12px;padding:16px 0}

.spec dt{color:var(--quiet);font-size:var(--s-small);padding-top:2px}
.spec dd small{color:var(--quiet);font-size:var(--s-small)}
.sws{display:flex;flex-wrap:wrap;gap:10px}
.sw{width:68px;font-size:12px;line-height:1.3;color:var(--quiet)}
.sw .t{display:block;width:68px;height:68px;background:var(--step)}
.sw img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.sw em{font-style:normal;display:block;margin-top:5px}
.pnote{font-size:var(--s-small);color:var(--quiet);margin-top:16px;max-width:46ch}
.pinfo .act{margin-top:28px;width:100%;justify-content:center;font-size:17px;padding:1.05em}
@media (max-width:900px){.pd{grid-template-columns:1fr}.pinfo{position:static}
.pgal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1*var(--m));padding:0 var(--m);scrollbar-width:none}.pgal::-webkit-scrollbar{display:none}
.pgal figure{flex:0 0 86%;scroll-snap-align:center}.pgal figure:first-child img{aspect-ratio:1}}
/* journal + prose */
.jgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.jcard .pic{aspect-ratio:4/3;background:var(--step)}
.jcard h3{font-weight:700;font-stretch:112%;font-size:clamp(1.6rem,1rem + 1.6vw,2.6rem);line-height:1.02;letter-spacing:-.03em;margin-top:16px}
@media (max-width:720px){.jgrid{grid-template-columns:1fr}}
.prose{max-width:62ch}
.prose p{margin-bottom:1em;text-wrap:pretty}
.prose h2{font-weight:700;font-stretch:112%;font-size:clamp(1.6rem,1rem + 1.5vw,2.4rem);letter-spacing:-.03em;line-height:1.05;margin:56px 0 14px}
.zh .prose p{line-height:1.85}
.two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,72px);padding:0 var(--m)}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.fact{background:var(--step);padding:8px 24px}
.fact>div{display:grid;grid-template-columns:minmax(9em,1fr) 2fr;gap:20px;padding:20px 0}
.fact>div+div{box-shadow:0 -2px 0 var(--ground)}
.fact .k{color:var(--quiet);font-size:var(--s-small);padding-top:4px}
.fact .v{font-size:var(--s-lead);letter-spacing:-.01em;line-height:1.3}
.fact .v p{font-size:var(--s-body);color:var(--quiet);margin-top:6px;letter-spacing:0;line-height:1.5}
@media (max-width:640px){.fact>div{grid-template-columns:1fr;gap:4px}}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);counter-reset:s}
.steps li{background:var(--step);padding:28px;counter-increment:s}
.steps li::before{content:counter(s);display:block;font-weight:800;font-stretch:125%;font-size:3.2rem;line-height:1;margin-bottom:22px}
.steps h3{font-weight:700;font-stretch:112%;font-size:1.5rem;letter-spacing:-.02em;margin-bottom:8px}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.qr{width:220px;aspect-ratio:1;background:var(--step);display:flex;align-items:center;justify-content:center;text-align:center;padding:16px}
.refbox{display:none;margin-top:22px;background:var(--ink);color:#fff;padding:14px 20px;font-size:var(--s-body);max-width:max-content}
.refbox.on{display:block}
/* placeholder marker */
.phm{display:inline;font-size:.82em;font-weight:500;color:#8a4b00;background:#fff2d6;padding:.12em .45em;border-radius:3px;letter-spacing:0;font-stretch:100%;line-height:1.6;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.night .phm{background:#3a2a10;color:#ffcf8a}
/* footer */
.ft{overflow:hidden;margin-top:var(--sec);background:var(--night);color:var(--night-ink);padding:clamp(56px,6vw,96px) var(--m) 28px}
.ft .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--gap);font-size:15px}
.ft .cols p{color:var(--night-quiet);max-width:36ch}
.ft ul{list-style:none;display:grid;gap:6px}
.ft .mono{font-size:calc((100vw - 2*var(--m)) / 11.1);margin-top:clamp(48px,6vw,96px);color:var(--night-ink)}
.ft .fine{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:24px;font-size:12.5px;color:var(--night-quiet)}
@media (max-width:760px){.ft .cols{grid-template-columns:1fr 1fr}.ft .cols>div:first-child{grid-column:1/-1}}
/* one orchestrated moment: the wordmark sets itself on first load */
@media (prefers-reduced-motion:no-preference){
 .hero .mono span{clip-path:inset(0 100% 0 0);animation:set 1.1s cubic-bezier(.16,1,.3,1) forwards}
 .hero .mono span+span{animation-delay:.14s}
 @keyframes set{to{clip-path:inset(0 0 0 0)}}}
/* the one cross-page move: a hero specimen carried onto its detail page (named by JS only on hero click) */
@media (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 /* silk settle: starts at once, eases into the detail plate. Position only. */
 ::view-transition-group(specimen){animation-duration:.46s;animation-timing-function:cubic-bezier(.22,1,.36,1);mix-blend-mode:multiply}
 /* hero plate is a wide box with the square photo contained in it; cover/contain keeps both squares the same size in flight */
 /* no cross-fade: hero and detail photos can be different views (Aer hero is g2, detail opens on g0) */
 ::view-transition-old(specimen),::view-transition-new(specimen){width:100%;height:100%;object-fit:contain;animation:none;mix-blend-mode:normal}
 ::view-transition-old(specimen){animation:specimen-out .2s ease-out both}
 ::view-transition-new(specimen){animation:specimen-in .2s ease-out both}
 @keyframes specimen-out{to{opacity:0}}
 @keyframes specimen-in{from{opacity:0}}
 ::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}}

@media (max-width:640px){.idx{columns:2;column-gap:20px}.idx a{font-size:15px}.idx a i{font-size:11px}.spec>div{grid-template-columns:1fr;gap:8px}.sw{width:calc(25% - 8px)}.sw .t{width:100%;height:auto;aspect-ratio:1}}

.mbar{display:none}
@media (max-width:900px){.mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;justify-content:center;box-shadow:none}.prod .ft{padding-bottom:96px}}
@media (max-width:640px){.more5 .card:nth-child(5){display:none}}
/* currency switcher */
.bar{gap:clamp(10px,1.5vw,24px)}
.bar .wm{margin-right:auto}
.curr-wrap{position:relative;display:inline-flex;align-items:center;flex:none;z-index:35}
.curr-btn{display:inline-flex;align-items:center;gap:5px;background:var(--step);color:var(--ink);border:1px solid var(--step2);border-radius:999px;padding:5px 11px;font:inherit;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}
.curr-btn:hover,.curr-btn[aria-expanded="true"]{background:var(--ink);color:var(--ground);border-color:var(--ink)}
.curr-btn .caret{font-size:9px;opacity:.75;transition:transform .15s}
.curr-btn[aria-expanded="true"] .caret{transform:rotate(180deg)}
.curr-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--ground);color:var(--ink);border:1px solid var(--ink);padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.curr-menu[hidden]{display:none!important}
.curr-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:none;border:0;padding:8px 10px;font:inherit;font-size:13px;line-height:1.3;color:var(--ink);cursor:pointer;text-align:left;font-variant-numeric:tabular-nums}
.curr-opt:hover{background:var(--step)}
.curr-opt[aria-checked="true"]{background:var(--ink);color:var(--ground);font-weight:650}
.curr-opt .c-code{font-weight:700;letter-spacing:.03em}
.curr-opt .c-name{color:var(--quiet);font-size:12px}
.curr-opt[aria-checked="true"] .c-name{color:#ccc}
.curr-note{margin-top:4px;padding:7px 10px 4px;border-top:1px solid var(--step2);font-size:11px;line-height:1.4;color:var(--quiet)}
.plaque b .pprice{font-style:normal;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.02em;margin-left:6px;text-transform:none}
.cap .cprice{display:block;margin-top:3px;font-style:normal;font-size:12px;font-weight:550;font-variant-numeric:tabular-nums;color:var(--quiet);letter-spacing:.01em}
.pinfo .price{font-variant-numeric:tabular-nums;font-weight:650}
.pinfo .price .price-orig{display:block;margin-top:4px;font-size:var(--s-small);font-weight:400;color:var(--quiet)}
@media (max-width:960px){
 .menu{order:3}
 .curr-wrap{order:2}
}
@media (max-width:420px){
 .bar{padding:0 12px;gap:6px}
 .bar .wm{font-size:13px;gap:6px}
 .bar .wm::before{width:22px;height:22px}
 .curr-btn{padding:3px 7px;font-size:11.5px;gap:3px}
 .menu{min-width:36px;font-size:13.5px}
}

/* Mode A Lock: hide hero placard price, gallery card price, and top-right currency switcher */
.pprice, .cprice, .curr-wrap { display: none !important; }


/* === Universal Product Detail 360° Turntable & Brands Mega Menu (2026-10-25) === */
.prod .pgal figure.ca-prod-turntable{position:relative;overflow:hidden;cursor:grab;perspective:1100px;border-radius:6px}
.prod .pgal figure.ca-prod-turntable img{transition:transform .22s cubic-bezier(.22,1,.36,1)}
.prod .pgal figure.ca-prod-turntable.is-interior{background:radial-gradient(circle at 50% 48%,#fff 0%,#f2f2ec 80%)}
.prod .pgal figure.ca-prod-turntable.is-interior img{transform:scale(1.035)}
.ca-prod-hud{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;z-index:4;pointer-events:none}
.ca-prod-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:3px;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.12);font-size:10.5px;font-variant-numeric:tabular-nums}
.ca-prod-pill button{font:inherit;font-size:10.5px;font-weight:600;border:0;background:transparent;color:#555;padding:2px 6px;border-radius:999px;cursor:pointer}
.ca-prod-pill button.is-on{background:#111;color:#fff}
.ca-prod-xray{pointer-events:auto;font:inherit;font-size:10.5px;font-weight:650;padding:5px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.15);background:rgba(255,255,255,.92);color:#111;cursor:pointer}
.ca-prod-xray.is-active{background:#0f52ba;color:#fff;border-color:#0f52ba}
.ca-megamenu{box-sizing:border-box;max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;position:fixed;left:var(--m,24px);right:var(--m,24px);top:58px;background:#fff;border:1px solid #dcdcd6;border-radius:10px;box-shadow:0 18px 48px rgba(0,0,0,.12);padding:18px 22px;z-index:900;display:none}
.ca-megamenu.is-open{display:block}
.ca-mm-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #eee;padding-bottom:10px;margin-bottom:12px}
.ca-mm-tabs{display:flex;flex-wrap:wrap;gap:6px}
.ca-mm-tab{font:inherit;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid #ddd;background:#f8f8f5;color:#444;cursor:pointer}
.ca-mm-tab.is-on{background:#111;color:#fff;border-color:#111}
.ca-mm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:6px 14px;max-height:52vh;overflow:auto}
.ca-mm-item{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#222;text-decoration:none;padding:5px 6px;border-radius:5px}
.ca-mm-item:hover{background:#f3f3ef}
.ca-mm-item small{color:#888;font-size:10.5px;font-variant-numeric:tabular-nums}

/* Brand Directory 3-Mode Switcher 20261025k */
.bmode-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:16px var(--m);border-top:1px solid var(--step2);border-bottom:1px solid var(--step2);background:#fafaf8}
.bmode-tabs{display:flex;flex-wrap:wrap;gap:8px}
.bmode-btn{font:inherit;font-size:13px;font-weight:600;padding:8px 16px;border:1px solid #cfcfca;border-radius:999px;background:#fff;color:#333;cursor:pointer;transition:all .15s ease}
.bmode-btn:hover{border-color:#111;color:#111}
.bmode-btn.is-active{background:#111;color:#fff;border-color:#111}
.bmode-hint{font-size:12.5px;color:var(--quiet);margin:0}
.bcamp-sec{padding:28px var(--m) 12px;border-bottom:1px solid var(--step2)}
.bcamp-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #111}
.bcamp-head h2{font-size:20px;font-weight:750;letter-spacing:-.01em;margin:0}
.bcamp-head p{font-size:13px;color:var(--quiet);margin:0}
.bgroup-nav{display:flex;flex-wrap:wrap;gap:8px;padding:14px var(--m);border-bottom:1px solid var(--step2);background:#fff;position:sticky;top:0;z-index:15}
.bgroup-nav a{font-size:13px;font-weight:680;padding:6px 14px;border:1px solid var(--step2);text-decoration:none;color:#111}
.bgroup-nav a:hover{background:#111;color:#fff;border-color:#111}
.bgroup-sec{padding:20px 0 8px}
.bgroup-title{padding:8px var(--m);font-size:14px;font-weight:750;letter-spacing:.08em;color:var(--quiet);background:#f6f6f3;border-top:1px solid var(--step2);border-bottom:1px solid var(--step2);margin:0}

/* === 2026-10-26 Adversarial Audit & Scene Curation Polish === */
/* design-b: CDN webfont @import removed; Georgia / Songti SC + local Archivo */

:root {
  --f-display: "Archivo", "Inter Tight", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --f-mono: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;
  --display-stretch: 100%;
  --display-track: -0.025em;
  --display-weight: 700;
}

/* 5 Commercial-Free (SIL OFL 1.1) Typography Demos */
html[data-font-demo="1"] {
  --f-display: "Archivo", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --display-stretch: 100%;
  --display-track: -0.025em;
  --display-weight: 700;
}
html[data-font-demo="2"] {
  --f-display: "Inter Tight", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --display-stretch: 100%;
  --display-track: -0.03em;
  --display-weight: 700;
}
html[data-font-demo="3"] {
  --f-display: "Space Grotesk", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --display-stretch: 100%;
  --display-track: -0.03em;
  --display-weight: 700;
}
html[data-font-demo="4"] {
  --f-display: "Instrument Serif", "Noto Serif SC", Georgia, serif;
  --display-stretch: 100%;
  --display-track: -0.01em;
  --display-weight: 400;
}
html[data-font-demo="5"] {
  --f-display: "Barlow Semi Condensed", "IBM Plex Sans Condensed", "PingFang SC", sans-serif;
  --display-stretch: 100%;
  --display-track: -0.015em;
  --display-weight: 700;
}

/* Apply --f-display across Brand Directory, Hero Wordmark, Section Headings, and Type Rows */
.brow .bn,
.head,
.trow .t,
.pinfo h1,
.ph .mono {
  font-family: var(--f-display) !important;
  font-stretch: var(--display-stretch) !important;
  letter-spacing: var(--display-track) !important;
  font-weight: var(--display-weight) !important;
}

.brow .bn {
  display: block !important;
  font-size: clamp(1.85rem, 0.95rem + 2.5vw, 3.35rem) !important;
  line-height: 1.04 !important;
  color: var(--ink);
}
.brow .bc {
  display: block !important;
  margin-top: 8px !important;
  font-family: var(--f-mono) !important;
  font-style: normal !important;
  font-size: 12.5px !important;
  letter-spacing: 0.04em !important;
  color: var(--quiet) !important;
}

/* Task 5: First-Principles Ultra-Crisp 2-Line Hero Copy under CARRY ALMANAC */
.hero-copy h1,
.zh .hero-copy h1 {
  max-width: 22em !important;
  font-size: clamp(22px, 1.85vw, 30px) !important;
  line-height: 1.38 !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
}
.hero-copy h1 .sentence {
  display: block !important;
}
.hero-copy h1 .hero-subline {
  display: block !important;
  margin-top: 12px !important;
  font-size: clamp(13.5px, 0.95vw, 15.5px) !important;
  line-height: 1.55 !important;
  font-weight: 450 !important;
  color: var(--quiet) !important;
  letter-spacing: 0 !important;
  max-width: 48ch !important;
}

/* Task 3: Strict Bottom Shelf Baseline Alignment across all Bag Grids & Brand Rows */
.card .pic {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  background: #ffffff !important;
  position: relative !important;
}
.card .pic img {
  object-fit: contain !important;
  object-position: center bottom !important;
  padding: 2% 3% 0 !important;
}
.brow .bt {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: end !important;
  position: relative !important;
}
.brow .bt img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  padding: 2% 3% 0 !important;
  background: transparent !important;
  mix-blend-mode: multiply !important;
}
.trow .th img {
  object-fit: contain !important;
  object-position: center bottom !important;
  padding: 3% 3% 0 !important;
}

/* Optional Shelf Baseline Laser Guide (toggled via floating toolbar or .show-shelf-line) */
body.show-shelf-line .card .pic::after,
body.show-shelf-line .brow .bt::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6%;
  height: 1.5px;
  background: rgba(229, 57, 53, 0.78);
  pointer-events: none;
  z-index: 5;
}

/* Task 2: Fix Dark A-Z Brand Wall (<section class="night"> .idx.wall) */
.night .idx,
.night .wall {
  columns: 4 16rem !important;
  column-gap: clamp(24px, 3vw, 48px) !important;
  margin-top: clamp(32px, 4vw, 56px) !important;
}
.night .wall .L {
  break-inside: avoid !important;
  margin-bottom: 28px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
}
.night .wall .L > b {
  display: block !important;
  font-family: var(--f-mono) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
  color: var(--night-quiet) !important;
  margin-bottom: 10px !important;
}
.night .wall a {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 4px 0 !important;
  font-family: var(--f-display) !important;
  font-size: clamp(0.98rem, 0.88rem + 0.35vw, 1.22rem) !important;
  line-height: 1.42 !important;
  font-weight: 550 !important;
  letter-spacing: -0.01em !important;
  color: var(--night-ink) !important;
  text-transform: uppercase !important;
}
.night .wall a i {
  font-family: var(--f-mono) !important;
  font-style: normal !important;
  font-size: 11.5px !important;
  color: var(--night-quiet) !important;
  font-variant-numeric: tabular-nums !important;
  flex-shrink: 0 !important;
}
@media (max-width: 640px) {
  .night .idx, .night .wall { columns: 2 !important; column-gap: 20px !important; }
}

.scene-sec {
  padding-top: 28px !important;
  scroll-margin-top: 84px !important;
}
.scene-sh {
  padding-top: 8px !important;
  margin-bottom: 22px !important;
  overflow: visible !important;
  align-items: flex-end !important;
}
.scene-sh .head {
  line-height: 1.24 !important;
  padding-top: 4px !important;
  margin: 0 !important;
}
.brow .bn,
.night .wall a,
.ca-mm-item span,
.pinfo .bnm,
.ph h1.mono {
  text-transform: uppercase;
}

/* Floating Typography & Copy Studio Bar (Task 5 & Task 6) */
.ca-studio-bar {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 999;
  background: rgba(17, 17, 17, 0.94);
  color: #f5f5f2;
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  padding: 10px 14px;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  font-size: 12px;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.28);
  max-width: min(94vw, 680px);
}
.ca-studio-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.ca-studio-row + .ca-studio-row {
  margin-top: 7px;
  padding-top: 7px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.ca-studio-lbl {
  font-weight: 700;
  color: #a8a8a2;
  margin-right: 4px;
  white-space: nowrap;
  font-size: 11px;
  letter-spacing: 0.04em;
}
.ca-studio-btn {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.06);
  color: #e8e8e3;
  font: inherit;
  font-size: 11.5px;
  padding: 4px 9px;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.14s ease;
  white-space: nowrap;
}
.ca-studio-btn:hover {
  border-color: #fff;
  color: #fff;
}
.ca-studio-btn.is-on {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
  font-weight: 700;
}
.ca-studio-link {
  color: #9ecbff;
  text-decoration: underline;
  font-size: 11px;
  margin-left: 6px;
  white-space: nowrap;
}

/* Legacy footer badge layout (no service or payment claims). */
.ca-trust-wrap {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding-bottom: clamp(28px, 3.5vw, 44px);
  margin-bottom: clamp(32px, 4vw, 52px);
}
.ca-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2.2vw, 32px);
}
.ca-trust-item {
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  padding-top: 14px;
}
.ca-trust-kicker {
  display: block;
  font-family: var(--f-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #ffffff;
  margin-bottom: 6px;
}
.ca-trust-desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(244, 244, 240, 0.72);
}
.ca-pay-strip {
  margin-top: clamp(22px, 2.8vw, 34px);
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 24px;
}
.ca-pay-lbl {
  font-family: var(--f-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(244, 244, 240, 0.64);
  white-space: nowrap;
}
.ca-pay-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}
.ca-pay-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5.5px;
  height: 28px;
  padding: 0 10px;
  border-radius: 5px;
  font-family: var(--f-sans, -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif);
  font-size: 11.5px;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
  box-sizing: border-box;
  vertical-align: middle;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #f5f5f2;
}
.ca-pay-badge b {
  font-weight: 650;
  letter-spacing: 0.01em;
}
.ca-pay-badge small {
  font-size: 10.5px;
  font-weight: 500;
  opacity: 0.76;
  margin-left: 1px;
}
.ca-pay-ico {
  display: block;
  flex-shrink: 0;
}

/* Light theme variant inside Product Detail Panel (.pinfo) & Specimen Drawer */
.ca-pinfo-fulfillment {
  margin-top: 18px;
  padding: 16px 16px 14px;
  border-radius: 8px;
  background: #f8f8f5;
  border: 1px solid rgba(17, 17, 17, 0.1);
}
.ca-pf-hub-line {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 650;
  color: #111111;
  margin-bottom: 12px;
  line-height: 1.4;
}
.ca-pf-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #07C160;
  box-shadow: 0 0 0 3px rgba(7, 193, 96, 0.18);
  flex-shrink: 0;
}
.ca-pinfo-fulfillment .ca-pay-badges {
  gap: 6px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}
.ca-pinfo-fulfillment .ca-pay-badge {
  height: 26px;
  padding: 0 8.5px;
  font-size: 11px;
  background: #ffffff;
  border: 1px solid rgba(17, 17, 17, 0.13);
  color: #141413;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
.ca-pf-pillars {
  margin-top: 11px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}
.ca-pf-pillars > div {
  font-size: 11.5px;
  line-height: 1.42;
}
.ca-pf-pillars b {
  display: block;
  font-weight: 700;
  color: #111111;
  font-size: 11px;
  letter-spacing: 0.02em;
}
.ca-pf-pillars span {
  display: block;
  color: #575752;
  margin-top: 1px;
}

/* Slide-Over Product Detail Drawer / Modal (#ca-specimen-drawer) */
.ca-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(12, 12, 12, 0.56);
  backdrop-filter: blur(4px);
  display: flex;
  justify-content: flex-end;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}
.ca-drawer-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}
.ca-specimen-drawer {
  width: min(94vw, 920px);
  height: 100vh;
  background: #ffffff;
  color: #111111;
  overflow-y: auto;
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.26);
  transform: translateX(28px);
  transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
  display: flex;
  flex-direction: column;
}
.ca-drawer-backdrop.is-open .ca-specimen-drawer {
  transform: translateX(0);
}
.ca-drawer-top {
  position: sticky;
  top: 0;
  z-index: 5;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(17, 17, 17, 0.09);
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ca-drawer-top-meta {
  font-family: var(--f-mono, monospace);
  font-size: 11.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #575752;
}
.ca-drawer-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ca-drawer-full-link {
  font-size: 12.5px;
  font-weight: 600;
  color: #111111;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.ca-drawer-close {
  appearance: none;
  border: 1px solid rgba(17, 17, 17, 0.18);
  background: #ffffff;
  color: #111111;
  border-radius: 999px;
  padding: 5px 13px;
  font-size: 12.5px;
  font-weight: 650;
  cursor: pointer;
}
.ca-drawer-body {
  padding: 24px 28px 36px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.ca-drawer-gal-main {
  background: #ffffff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 8px;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ca-drawer-gal-main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ca-drawer-thumbs {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.ca-drawer-thumb {
  appearance: none;
  padding: 2px;
  background: #ffffff;
  border: 1px solid rgba(17, 17, 17, 0.12);
  border-radius: 6px;
  aspect-ratio: 1 / 1;
  cursor: pointer;
  overflow: hidden;
}
.ca-drawer-thumb.is-active {
  border-color: #111111;
  box-shadow: 0 0 0 1.5px #111111;
}
.ca-drawer-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ca-drawer-info .bnm {
  display: inline-block;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #575752;
}
.ca-drawer-info h2 {
  font-family: var(--f-display, sans-serif);
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 750;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 6px 0 12px;
}
.ca-drawer-info .price {
  font-size: 16px;
  font-weight: 650;
  margin: 0 0 14px;
}
.ca-drawer-info .act {
  margin-top: 18px;
  width: 100%;
  justify-content: center;
  display: inline-flex;
  padding: 13px 18px;
  font-size: 15.5px;
}
@media (max-width: 960px) {
  .ca-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ca-drawer-body {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .ca-trust-grid,
  .ca-pf-pillars {
    grid-template-columns: 1fr;
  }
}

/* === [t847u] 6-Grid Specimen Archive Table & Editorial Note === */
.ca-spec-meta-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.1);
}
.ca-origin-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 4px;
  background: #111111;
  color: #ffffff;
  font-family: var(--f-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.ca-spec-code {
  font-family: var(--f-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 11.5px;
  font-weight: 700;
  color: #444440;
  letter-spacing: 0.04em;
  background: #f2f2ee;
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px solid rgba(17, 17, 17, 0.1);
}
dl.spec.ca-spec-grid6 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 14px !important;
  margin: 14px 0 16px !important;
  padding: 14px !important;
  background: #fafaf7 !important;
  border: 1px solid rgba(17, 17, 17, 0.1) !important;
  border-radius: 8px !important;
}
dl.spec.ca-spec-grid6 > div {
  margin: 0 !important;
  padding: 0 0 8px !important;
  border-bottom: 1px dashed rgba(17, 17, 17, 0.09) !important;
  display: block !important;
}
dl.spec.ca-spec-grid6 > div:nth-last-child(-n+2) {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
dl.spec.ca-spec-grid6 dt {
  font-family: var(--f-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  color: #686862 !important;
  text-transform: uppercase !important;
  margin-bottom: 3px !important;
}
dl.spec.ca-spec-grid6 dd {
  margin: 0 !important;
  font-size: 12.8px !important;
  line-height: 1.42 !important;
  font-weight: 600 !important;
  color: #111111 !important;
}
.ca-editorial-note {
  margin: 14px 0 16px;
  padding: 13px 15px;
  border-left: 3px solid #111111;
  background: #f4f4ef;
  border-radius: 0 7px 7px 0;
}
.ca-ed-kicker {
  display: block;
  font-family: var(--f-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #111111;
  margin-bottom: 5px;
}
.ca-editorial-note p {
  margin: 0;
  font-size: 12.8px;
  line-height: 1.58;
  color: #262624;
  font-weight: 450;
}
.ca-inquire-toast {
  margin-top: 10px;
  padding: 11px 13px;
  border-radius: 7px;
  background: #0f291e;
  color: #ecfdf5;
  font-size: 12.5px;
  line-height: 1.48;
  display: none;
  border: 1px solid rgba(16, 185, 129, 0.4);
}
.ca-inquire-toast.is-visible {
  display: block;
}
.brow .bt img[data-bag-href] {
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.brow .bt img[data-bag-href]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}
@media (max-width: 560px) {
  dl.spec.ca-spec-grid6 {
    grid-template-columns: 1fr !important;
  }
}

/* 20261028e / t902u: brand detail uses the same responsive specimen grid as /bags/. */
.brand-detail main > .ph { padding-top: clamp(56px, 6vw, 84px); overflow: visible; }
.brand-detail .ph h1.mono { line-height: 1.2 !important; }
.brand-summary { max-width: 72ch; margin-top: 14px; font-size: 15px; line-height: 1.8; color: var(--quiet); }
.brand-product-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.brand-product-grid .card .pic,
.bdir .bdir-piece .pic { width: 100%; aspect-ratio: 1 / 1; background: #fff !important; overflow: hidden; }
.brand-product-grid .card .pic img,
.bdir .bdir-piece .pic img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 10px !important; object-fit: contain !important; object-position: center !important; background: #fff !important; mix-blend-mode: normal !important; }
.brand-product-grid .brand-product-title { color: var(--ink); font-weight: 650; }
.brand-product-grid .brand-product-category { margin-top: 8px; font-size: 12px; }
.brand-product-grid .brand-product-spec { margin-top: 4px; font-size: 12px; line-height: 1.5; }
#brand-logo-wall, #brand-directory { scroll-margin-top: 80px; }
.bdir-heading { padding: clamp(36px, 5vw, 64px) var(--m) 24px; }
.bdir-heading h2 { font-size: clamp(20px, 2.2vw, 30px); line-height: 1.4; }
.bdir .azbar { top: 60px; border-bottom: 1px solid var(--step2); }
.bdir-letter, .bdir-legacy-anchor { scroll-margin-top: 150px; }
.bdir-letter > h3 { padding: 18px var(--m); font-size: 28px; border-bottom: 1px solid var(--step2); }
.bdir .brow { border-bottom: 1px solid var(--step2); }
.bdir .bdir-info, .bdir .bdir-piece { min-width: 0; }
.bdir .brow .bt { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; align-items: start !important; }
.bdir-piece-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 10px; font-size: 12px; line-height: 1.4; }
@media (max-width: 1180px) { .brand-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 900px) { .brand-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .brand-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.bdir-row-note { max-width: 45ch; margin-top: 12px; font-size: 12px; color: var(--quiet); }
.bdir-piece-note { display: block; margin-top: 6px; font-size: 11px; color: var(--quiet); }
.bdir-row-note:empty, .bdir-piece-note:empty { display: none; }

/* t906u: menu clears the 60px navigation bar. */
.ca-megamenu { top:64px; }
/* t906u: cross-document transitions abort intermittently on back/forward in Chrome.
   Keep native navigation reliable; carousel and gallery transitions remain enabled. */
@view-transition { navigation: none; }

/* Homepage v2: shared navigation and unbroken service label. */
.nowrap{white-space:nowrap}
.bar nav .ca-brands-nav{font:inherit;color:var(--quiet);background:none;border:0;padding:0;cursor:pointer;text-align:left}
.bar nav .ca-brands-nav:hover,.bar nav .ca-brands-nav[aria-expanded=true]{color:var(--ink)}
.bar nav .ca-brands-nav[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.ca-mm-close{position:absolute;right:8px;top:4px;border:0;background:#fff;font:inherit;font-size:24px;width:36px;height:36px;cursor:pointer}
.ca-megamenu .ca-mm-top{padding-right:28px}
@media(max-width:960px){.bar nav .ca-brands-nav{font-size:clamp(28px,8vw,40px);font-weight:700;font-stretch:112%;color:var(--ink);padding:10px 0;letter-spacing:-.02em}.ca-megamenu{top:64px;max-height:calc(100dvh - 80px);overflow:auto}}

/* L1 lang_20261031: archive count tabs (Signature Selection / Full Archive) */
.ca-count-tabs{display:inline-flex;vertical-align:baseline;border:1px solid currentColor;border-radius:999px;overflow:hidden;white-space:nowrap;line-height:1;font-size:.92em}
.ca-count-tab{display:inline-block;padding:.32em .75em;color:inherit;text-decoration:none}
.ca-count-tab+.ca-count-tab{border-left:1px solid currentColor}
.ca-count-tab b{font-weight:600;font-variant-numeric:tabular-nums;margin-left:.2em}
.ca-count-tab:hover,.ca-count-tab:focus-visible{background:rgba(128,128,128,.16);color:inherit}
.ca-count-line{display:block;margin-top:.4em}
p.ca-count-line .ca-count-tabs{margin-top:.15em}
