:root{color-scheme:light;--bg-canvas:var(--swatch-paper);--text-primary:var(--swatch-blue);--text-muted:var(--swatch-malta);--text-secondary:#6C5D4B;--border-hairline:var(--swatch-malta);--accent-brand:var(--swatch-blue);--accent-text:var(--swatch-blue);--on-accent:var(--swatch-white);--focus-ring:var(--swatch-blue);--accent-amber:var(--swatch-blue);--fang-canvas:var(--bg-canvas);--fang-ink:var(--text-primary);--fang-rule:var(--border-hairline);--fang-accent:var(--accent-brand);--fang-sky:var(--text-muted);--fang-badge:var(--accent-amber);--fang-dark-surface:#171717;--fang-dark-text:#DEDEDE;--fang-muted:var(--text-secondary);--fang-rule-soft:var(--border-hairline);}
html.dark,html[data-theme="dark"]{color-scheme:dark;--bg-canvas:var(--swatch-slate);--text-primary:#DEDEDE;--text-muted:#969696;--text-secondary:#C4C4C4;--border-hairline:#858585;--accent-brand:var(--swatch-orange);--accent-text:var(--swatch-white);--accent-amber:var(--swatch-orange);--on-accent:var(--swatch-blue);--focus-ring:var(--swatch-orange);}
html.dark footer.bg-bgWarm,html[data-theme="dark"] footer.bg-bgWarm{--bg-canvas:var(--swatch-orange);--fang-canvas:var(--swatch-orange);--text-primary:var(--swatch-blue);--fang-ink:var(--swatch-blue);--text-secondary:var(--swatch-blue);--fang-muted:var(--swatch-blue);--border-hairline:var(--swatch-blue);--fang-rule:var(--swatch-blue);--accent-brand:var(--swatch-orange);--accent-text:var(--swatch-blue);--fang-accent:var(--swatch-orange);--focus-ring:var(--swatch-blue);}
[data-site-nav]{--bg-canvas:var(--swatch-blue);--fang-canvas:var(--swatch-blue);--text-primary:var(--swatch-white);--fang-ink:var(--swatch-white);--text-secondary:var(--swatch-malta);--fang-muted:var(--swatch-malta);--border-hairline:#43515B;--fang-rule:#43515B;--accent-brand:var(--swatch-blue);--accent-text:var(--swatch-white);--fang-accent:var(--swatch-blue);--on-accent:var(--swatch-white);--focus-ring:var(--swatch-white);}
footer.bg-bgWarm{--bg-canvas:var(--swatch-malta);--fang-canvas:var(--swatch-malta);--text-primary:var(--swatch-blue);--fang-ink:var(--swatch-blue);--text-secondary:#4B4238;--fang-muted:#4B4238;--border-hairline:#8B7965;--fang-rule:#8B7965;--accent-brand:var(--swatch-blue);--accent-text:var(--swatch-blue);--fang-accent:var(--swatch-blue);--focus-ring:var(--swatch-blue);}
footer.bg-bgWarm a:is(:hover, :focus-visible){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;}
html.fang-theme-changing,html.fang-theme-changing :not(.fang-film-frame)::before,html.fang-theme-changing :not(.fang-film-frame)::after{transition:none!important;}
[data-site-nav],.sticky,.cr-header{background-color:var(--bg-canvas)!important;border-bottom:1px solid var(--border-hairline);opacity:1;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;mix-blend-mode:normal;}
#books .text-white,#books .fang-book-tab.is-active{color:var(--text-primary)!important;}
#books [class*="text-white/"],#books .fang-book-tab{color:var(--text-primary)!important;}
#books [class*="border-white/"]{border-color:var(--border-hairline)!important;}
#books .fang-book-tab.is-active{border-bottom-color:var(--accent-brand)!important;}
.bg-stone-200,.bg-neutral-100,#books [class*="bg-black/"]{background-color:var(--border-hairline)!important;}
.fang-film-frame{position:relative;isolation:isolate;background-color:var(--bg-canvas)!important;}
.fang-film-frame::before{content:"";position:absolute;inset:0;z-index:0;opacity:.06;pointer-events:none;background-image:radial-gradient(circle, var(--text-primary) .5px, transparent .75px);background-size:13px 13px;transition:opacity 500ms ease-out;}
.fang-film-frame.film-loaded::before{opacity:0;visibility:hidden;}
.fang-film-frame:has(> img.is-loaded)::before,.fang-film-frame:has(img.is-loaded)::before{opacity:0!important;visibility:hidden!important;}
.fang-subpage-hero .fang-film-frame::before{display:none!important;}
.lightbox-spread.fang-film-frame::before,.lightbox-spread.fang-film-frame.film-loaded::before{display:none!important;}
img.fang-film-image{position:relative;opacity:0;transition:opacity 500ms ease-out, transform 700ms ease-out, filter 700ms ease-out;}
img.fang-film-image.is-loaded{opacity:1;}
body{background-color:var(--fang-canvas)!important;color:var(--fang-ink)!important;transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease;}
.bg-bgWarm,[class~="bg-[#F4F4F2]"],[class~="dark:bg-[#141414]"]{background-color:var(--fang-canvas)!important;}
#section-collections,#section-singles,#section-collections > .sticky,#section-singles > .sticky,footer.bg-bgWarm,.comfort-reader{transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease;}
.text-textPrimary,[class~="text-[#1A1A1A]"]{color:var(--fang-ink)!important;}
.bg-textPrimary{background-color:var(--fang-ink)!important;}
.bg-white,[class~="bg-white"]{background-color:var(--fang-canvas)!important;}
[class~="hover:text-brandGreen"]:hover{color:var(--on-accent)!important;background-color:var(--accent-brand);}
[class~="bg-white/90"]{background-color:var(--fang-badge)!important;color:var(--on-accent)!important;}
html.dark .border-lineColor,html.dark [class~="border-[#D4D4D4]"],html.dark [class~="dark:border-[#262626]"],html[data-theme="dark"] .border-lineColor,html[data-theme="dark"] [class~="border-[#D4D4D4]"],html[data-theme="dark"] [class~="dark:border-[#262626]"]{border-color:var(--border-hairline)!important;}
::selection{color:var(--on-accent);background-color:var(--fang-accent);}
[data-site-nav]{color:var(--fang-ink);height:56px;background-color:var(--fang-canvas)!important;border-bottom:1px solid var(--border-hairline);isolation:isolate;transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease;}
[data-site-nav].nav-light{color:var(--text-primary)!important;background-color:var(--bg-canvas)!important;}
[data-site-nav].nav-dark{color:var(--fang-ink)!important;background-color:var(--fang-canvas)!important;}
[data-site-nav] a,[data-site-nav] .site-nav-mark{color:inherit!important;}
[data-site-nav] a:focus-visible{outline:1px solid var(--focus-ring);outline-offset:4px;}
.nav-compact{display:none;}
@media (max-width: 767px){[data-site-nav]{padding-inline:16px;gap:8px;}
.fang-primary-nav{display:flex;align-items:center;gap:2px;margin-left:auto;}
.fang-primary-nav > a{margin:0!important;min-width:34px;min-height:44px;display:grid;place-items:center;font-size:10px;letter-spacing:.08em;}
.nav-full{display:none;}
.nav-compact{display:inline;}
[data-theme-toggle]{margin-left:0!important;min-width:36px;min-height:44px;justify-content:center;}
}
[class*="focus-visible:outline-brandGreen"]:focus-visible{outline-color:var(--focus-ring)!important;}
[data-theme-toggle]{display:inline-flex;align-items:center;min-height:28px;padding:0;border:0;border-radius:0;color:inherit;background:transparent;font:inherit;font-size:10px;font-weight:500;line-height:1;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:opacity 180ms ease;}
[data-theme-toggle] .theme-toggle-glyphs{display:inline-flex;align-items:center;gap:5px;min-height:28px;}
[data-theme-toggle] .theme-toggle-icon{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.15;vector-effect:non-scaling-stroke;}
[data-theme-toggle] .theme-toggle-moon{margin-left:1px;}
[data-theme-toggle] .theme-toggle-divider{opacity:.45;}
[data-theme-toggle] [data-theme-light],[data-theme-toggle] .theme-toggle-divider{display:none;}
[data-theme-toggle][data-theme-mode="light"] .theme-toggle-sun,[data-theme-toggle][data-theme-mode="dark"] .theme-toggle-moon{color:var(--text-primary);stroke-width:1.35;}
[data-theme-toggle][data-theme-mode="light"] .theme-toggle-moon,[data-theme-toggle][data-theme-mode="dark"] .theme-toggle-sun{display:none;}
[data-theme-toggle]:hover{opacity:.58;}
[data-theme-toggle]:focus-visible{outline:1px solid var(--focus-ring);outline-offset:4px;}
[data-theme-toggle] .theme-toggle-active{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;color:var(--text-primary);}
#splash-cover{--fang-splash-left-x:0%;--fang-splash-right-x:0%;--fang-splash-opacity:1;--fang-splash-bg-y:0px;position:relative;min-height:100svh;overflow:hidden;isolation:isolate;color:var(--swatch-white);background:var(--fang-dark-surface);}
#splash-cover .fang-splash-media,#splash-cover .fang-splash-scrim{position:absolute;inset:0;pointer-events:none;}
#splash-cover .fang-splash-media{z-index:-2;transform:translate3d(0, var(--fang-splash-bg-y), 0) scale(1.055);transform-origin:center center;}
#splash-cover .fang-splash-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86) contrast(1.04) brightness(.84);}
#splash-cover .fang-splash-scrim{z-index:-1;}
#splash-cover .fang-splash-scrim{background:linear-gradient(90deg, rgba(1,21,38,.34) 0%, rgba(1,21,38,.08) 48%, rgba(1,21,38,.22) 100%),
    linear-gradient(180deg, rgba(1,21,38,.04), rgba(1,21,38,.24));}
#splash-cover .fang-splash-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(180px, 1fr) minmax(260px, .618fr);align-items:end;gap:clamp(28px, 8vw, 144px);min-height:100svh;padding:clamp(88px, 12vh, 132px) clamp(24px, 6vw, 96px) clamp(32px, 6vh, 72px);}
#splash-cover .fang-splash-left,#splash-cover .fang-splash-right{opacity:var(--fang-splash-opacity);transition:opacity 100ms linear;}
#splash-cover .fang-splash-left{align-self:center;transform:translate3d(var(--fang-splash-left-x), 0, 0);}
#splash-cover .fang-splash-right{justify-self:end;max-width:31rem;transform:translate3d(var(--fang-splash-right-x), 0, 0);}
#splash-cover.is-dismissed .fang-splash-left{transform:translateX(-100%);opacity:0;}
#splash-cover.is-dismissed .fang-splash-right{transform:translateX(100%);opacity:0;}
.fang-splash-mark{display:block;width:42px;height:42px;margin-bottom:clamp(30px, 7vh, 76px);color:var(--swatch-white);}
.fang-splash-mark svg{display:block;width:100%;height:100%;}
.fang-splash-keywords{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:clamp(11px, 1.1vw, 15px);font-weight:500;line-height:1.1;letter-spacing:.24em;}
.fang-splash-keywords span{display:block;}
.fang-splash-kicker{display:block;margin-bottom:24px;color:rgba(255,255,255,.62);font-family:"SFMono-Regular", Consolas, monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;}
.fang-splash-quote{margin:0;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.72);font-size:clamp(23px, 3.4vw, 54px);font-weight:400;line-height:1.08;letter-spacing:-.035em;}
.fang-splash-meta{display:flex;justify-content:space-between;gap:18px;margin-top:13px;color:rgba(255,255,255,.66);font-family:"SFMono-Regular", Consolas, monospace;font-size:9px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;}
.fang-splash-skip{display:inline-flex;align-items:center;gap:10px;margin-top:28px;color:rgba(255,255,255,.84);font-family:"SFMono-Regular", Consolas, monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;transition:opacity 180ms ease;}
.fang-splash-skip:hover{opacity:.6;}
@media (max-width: 767px){#splash-cover .fang-splash-inner{grid-template-columns:1fr;align-items:end;gap:54px;padding-top:96px;}
#splash-cover .fang-splash-left{align-self:end;}
#splash-cover .fang-splash-right{justify-self:stretch;max-width:none;}
.fang-splash-mark{width:34px;height:34px;margin-bottom:34px;}
.fang-splash-keywords{gap:7px;font-size:11px;}
.fang-splash-quote{font-size:clamp(26px, 8vw, 42px);}
}
@media (prefers-reduced-motion: reduce){#splash-cover .fang-splash-media,#splash-cover .fang-splash-left,#splash-cover .fang-splash-right{transform:none!important;transition:none!important;}
}
@media (max-width: 900px){.fang-collection-grid,#view-collections .fang-collections-index-grid{--fang-single-columns:2;}
}
@media (max-width: 560px){.fang-collection-grid,#view-collections .fang-collections-index-grid{--fang-single-columns:1;}
}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero{min-height:max(88svh, 42rem);background:var(--bg-canvas);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-copy{padding:clamp(4rem, 8vh, 7rem) clamp(1.5rem, 5vw, 5rem);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-copy h1{line-height:.9;letter-spacing:-.06em;max-width:14ch;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-media{padding:0 clamp(1.5rem, 3vw, 3rem);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-collage{display:grid;grid-template-columns:repeat(6, minmax(0, 1fr));grid-template-rows:1fr;background:transparent;perspective:1500px;transform-style:preserve-3d;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile,:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(n){grid-column:auto;grid-row:auto;height:100%;overflow:hidden;transition:transform 800ms cubic-bezier(.16,1,.3,1);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(1){transform:rotateY(3deg) translateZ(-18px) scale(.95);transform-origin:right center;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(2){transform:rotateY(1.7deg) translateZ(-4px) scale(.985);transform-origin:right center;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(3){transform:rotateY(.65deg) translateZ(5px);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(4){transform:rotateY(-.65deg) translateZ(5px);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(5){transform:rotateY(-1.7deg) translateZ(-4px) scale(.985);transform-origin:left center;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(6){transform:rotateY(-3deg) translateZ(-18px) scale(.95);transform-origin:left center;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:hover,:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:focus-within{transform:rotateY(0) translateZ(24px) translateY(-.35rem) scale(1.035);z-index:2;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-image{filter:grayscale(.3) contrast(1.02) brightness(.92);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:hover .fang-subpage-hero-image{filter:grayscale(0) contrast(1.02) brightness(1);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile > .fang-subpage-hero-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;object-fit:cover;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile > .fang-film-frame{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:100%!important;overflow:hidden;}
.fang-subpage-hero .fang-subpage-hero-tile > .fang-film-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}
@media (max-width: 767px){:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero{min-height:82svh;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-copy h1{font-size:clamp(3rem, 14vw, 5rem);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-media{height:34vh;bottom:2.5rem;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-collage{grid-template-columns:repeat(3, minmax(0, 1fr));grid-template-rows:repeat(2, minmax(0, 1fr));}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(n){transform:none;}
}
.fang-subpage-hero{position:relative;min-height:100svh;display:grid;place-items:stretch;overflow:hidden;isolation:isolate;background:var(--bg-canvas);}
.fang-subpage-hero-media,.fang-subpage-hero-image,.fang-subpage-hero-veil{position:absolute;inset:0;width:100%;height:100%;}
.fang-subpage-hero-media{z-index:0;}
.fang-subpage-hero-collage{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));grid-template-rows:repeat(8, minmax(0, 1fr));gap:clamp(.45rem, 1vw, 1rem);padding:clamp(1rem, 3vw, 3rem);overflow:hidden;background:var(--bg-canvas);}
.fang-subpage-hero-tile{position:relative;min-width:0;min-height:0;overflow:hidden;margin:0;background:color-mix(in srgb, var(--bg-canvas) 88%, var(--border-hairline));}
.fang-subpage-hero-tile:nth-child(1){grid-column:1 / span 5;grid-row:1 / span 5;}
.fang-subpage-hero-tile:nth-child(2){grid-column:6 / span 3;grid-row:1 / span 3;}
.fang-subpage-hero-tile:nth-child(3){grid-column:9 / span 4;grid-row:1 / span 4;}
.fang-subpage-hero-tile:nth-child(4){grid-column:6 / span 4;grid-row:4 / span 5;}
.fang-subpage-hero-tile:nth-child(5){grid-column:10 / span 3;grid-row:5 / span 4;}
.fang-subpage-hero-tile:nth-child(6){grid-column:1 / span 5;grid-row:6 / span 3;}
.fang-subpage-hero-tile .fang-subpage-hero-image{position:absolute;object-fit:cover;filter:grayscale(.62) contrast(1.04) brightness(.8);transform:scale(1.015);transition:transform 900ms cubic-bezier(.16,1,.3,1), filter 700ms cubic-bezier(.22,1,.36,1);}
.fang-subpage-hero-tile:hover .fang-subpage-hero-image,.fang-subpage-hero-tile:focus-within .fang-subpage-hero-image{filter:grayscale(0) contrast(1.02) brightness(.94);transform:scale(1.075);}
.fang-grid-controls{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;padding:0 clamp(1.5rem, 6vw, 6rem) 1rem;color:var(--text-secondary);}
.fang-grid-controls-label{font:10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:.18em;}
.fang-subpage-hero-image{object-fit:cover;object-position:center;filter:saturate(.78) contrast(1.04) brightness(.76);transform:scale(1.02);animation:fang-hero-settle 1.4s cubic-bezier(.2,.7,.2,1) both;}
.fang-subpage-hero-veil{z-index:1;background:linear-gradient(180deg, rgba(1,21,38,.08), rgba(1,21,38,.48));}
html.dark .fang-subpage-hero-veil,html[data-theme="dark"] .fang-subpage-hero-veil{background:linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.58));}
.fang-subpage-hero-copy{align-self:end;padding:clamp(2rem, 6vw, 6rem);max-width:50rem;color:#fff;text-shadow:0 1px 22px rgba(0,0,0,.25);}
.fang-subpage-hero-kicker,.fang-subpage-hero-scroll{display:block;font:10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:.2em;text-transform:uppercase;}
.fang-subpage-hero-copy h1{margin:.8rem 0 2rem;font-size:clamp(2.4rem, 7vw, 7.5rem);font-weight:400;line-height:.95;letter-spacing:-.045em;}
.fang-subpage-hero-scroll{opacity:.8;}
@keyframes fang-hero-settle { from { opacity: 0; transform: scale(1.08); } to { opacity: 1; transform: scale(1.02); } }
.fang-collection-map{display:grid;grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr);gap:clamp(2rem, 8vw, 8rem);align-items:center;min-height:min(58vh, 42rem);padding:clamp(4rem, 10vw, 9rem) clamp(1.5rem, 6vw, 6rem);border-block:1px solid var(--border-hairline);background:color-mix(in srgb, var(--bg-canvas) 94%, var(--accent-brand));}
.fang-collection-map-copy h2{margin:.65rem 0 1rem;font-size:clamp(1.7rem, 3.4vw, 3.5rem);font-weight:400;letter-spacing:-.035em;}
.fang-collection-map-copy p{max-width:20rem;color:var(--text-secondary);font-size:.8rem;line-height:1.7;}
.fang-collection-map-art{position:relative;min-height:14rem;color:var(--accent-brand);}
.fang-collection-map-art svg{width:100%;height:100%;overflow:visible;}
.fang-collection-map-art path{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:3 9;opacity:.8;}
.fang-collection-map-art circle{fill:var(--bg-canvas);stroke:currentColor;stroke-width:2;}
.fang-map-label{position:absolute;color:var(--text-secondary);font:9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:.16em;}
.fang-map-label-a{left:2%;bottom:9%;}
.fang-map-label-b{left:42%;top:37%;}
.fang-map-label-c{right:1%;top:30%;}
.fang-collection-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(1rem, 2vw, 2rem);}
.fang-collection-grid > figure > div{aspect-ratio:3 / 2;overflow:hidden;background:color-mix(in srgb, var(--bg-canvas) 88%, var(--border-hairline));}
.fang-collection-grid > figure img{width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease;}
.fang-collection-grid > figure:hover img{transform:scale(1.035);filter:grayscale(0);}
#section-collections span[class*="bg-white"],#section-singles span[class*="bg-white"],#view-collections span[class*="bg-white"],#view-detail span[class*="bg-white"]{background-color:var(--accent-brand)!important;color:var(--on-accent)!important;border:1px solid color-mix(in srgb, var(--accent-brand) 72%, transparent)!important;transition:background-color 240ms cubic-bezier(.16,1,.3,1), color 240ms cubic-bezier(.16,1,.3,1), border-color 240ms cubic-bezier(.16,1,.3,1);}
.fang-collection-grid > figure img,.collection-cover-motion,#section-collections img,#section-singles img{transition:filter 820ms cubic-bezier(.22,.61,.36,1), transform 900ms cubic-bezier(.16,1,.3,1), opacity 500ms ease-out;}
.fang-collection-grid > figure img{filter:grayscale(.22) contrast(.985);}
.fang-collection-grid > figure:hover img,#section-collections .group:hover img,#section-singles .group:hover img{filter:grayscale(0) contrast(1);transform:scale(1.018);}
.fang-collection-grid figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.7rem;}
.fang-collections-index-grid{display:grid!important;grid-template-columns:repeat(4, minmax(0,1fr));gap:clamp(1rem, 3vw, 3rem)!important;}
.fang-collections-index-grid > a > div:first-child{aspect-ratio:4 / 5;}
@media (max-width: 800px){.fang-collection-map{grid-template-columns:1fr;min-height:0;}
.fang-collection-map-art{min-height:12rem;}
.fang-collection-grid,.fang-collections-index-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 520px){.fang-collection-grid,.fang-collections-index-grid{grid-template-columns:1fr;}
.fang-subpage-hero-copy{padding:1.5rem;}
}
@media (prefers-reduced-motion: reduce){.fang-subpage-hero-image,.fang-collection-grid > figure img{animation:none;transition:none;}
}
.view-section{backface-visibility:hidden;}
.view-section[aria-hidden="true"]{pointer-events:none;}
.view-section.active{isolation:isolate;}
.fang-subpage-hero + section,.fang-subpage-hero + .fang-collection-map{border-top:0;}
.fang-subpage-hero-copy{position:relative;z-index:2;}
.fang-subpage-hero-scroll{display:inline-flex;align-items:center;gap:.65rem;transition:color 220ms ease, opacity 220ms ease;}
.fang-subpage-hero-scroll:hover{color:var(--accent-amber);opacity:1;}
.view-section figure img,.view-section a img,.featured-hero img{filter:grayscale(100%) contrast(.965) saturate(.82);transition:filter 700ms cubic-bezier(.22,.61,.36,1), transform 900ms cubic-bezier(.2,.7,.2,1), opacity 500ms ease-out;}
.view-section figure:hover img,.view-section a:hover img,.featured-hero:hover img,.view-section figure:focus-visible img,.view-section figure:has(:focus-visible) img,.view-section a:focus-visible img{filter:grayscale(0%) contrast(1) saturate(1);}
.view-section figure:hover img,.view-section a:hover img,.featured-hero:hover img{transform:scale(1.028);}
a:focus-visible,button:focus-visible,input[type="range"]:focus-visible,[role="button"]:focus-visible{outline:1px solid var(--focus-ring);outline-offset:4px;}
.fang-collection-grid > figure,.fang-collections-index-grid > a,.featured-hero,.fang-book-tab{transition:color 240ms ease, background-color 300ms ease, border-color 300ms ease;}
.fang-collections-index-grid{align-items:start;}
.fang-collections-index-grid > a > div:first-child{border:1px solid var(--border-hairline);}
.fang-collections-index-grid > a h3{line-height:1.2;}
.fang-collection-grid > figure figcaption{min-height:2.8rem;}
.fang-collection-grid > figure > div{border:1px solid color-mix(in srgb, var(--border-hairline) 68%, transparent);}
@media (max-width: 767px){.fang-subpage-hero{min-height:max(78svh, 34rem);}
.fang-subpage-hero-copy h1{font-size:clamp(2.2rem, 12vw, 4rem);}
.fang-collection-grid{gap:1.35rem .8rem;}
.fang-collection-grid > figure figcaption{min-height:0;}
}
@media (prefers-reduced-motion: reduce){.view-section,.view-section.active.view-entering,.view-section figure img,.view-section a img,.featured-hero img,.fang-subpage-hero-scroll{transition:none!important;transform:none!important;}
}
html:not(.fang-hover-armed) .view-section figure:hover img,html:not(.fang-hover-armed) .view-section a:hover img,html:not(.fang-hover-armed) #section-singles .group:hover img,html:not(.fang-hover-armed) #section-collections .group:hover img,html:not(.fang-hover-armed) #detail-photo-flow figure:hover img,html:not(.fang-hover-armed) #detail-photo-flow figure:hover .fang-film-image{filter:grayscale(100%) contrast(.965) saturate(.82)!important;transform:none!important;transition:none!important;}
#detail-photo-flow.fang-route-returning img,#detail-photo-flow.fang-route-returning figure:hover img{filter:grayscale(100%) contrast(.965) saturate(.82)!important;transform:none!important;transition:none!important;}
#section-collections > .sticky,#section-singles > .sticky{position:static!important;top:auto!important;z-index:auto!important;}
html,body,#view-home,#view-collections,#view-detail,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa,#view-book-malaysia,#view-book-comfort-zone,#section-collections,#section-singles,#about,#books,footer{background-color:var(--bg-canvas)!important;color:var(--text-primary)!important;}
[class~="bg-[#F4F4F2]"],[class~="dark:bg-[#141414]"],.bg-bgWarm,.bg-neutral-100,.bg-neutral-200,.bg-stone-200,.bg-white{background-color:var(--bg-canvas)!important;}
[class~="text-[#1A1A1A]"],.text-textPrimary,.text-textMuted{color:var(--text-primary)!important;}
.text-textMuted{color:var(--text-secondary)!important;}
.bg-brandGreen{background-color:var(--accent-brand)!important;}
.text-brandGreen{color:var(--accent-text)!important;}
.text-brandGreen:not(span){color:var(--text-primary)!important;}
span.text-brandGreen,.comfort-reader .cr-kicker{display:inline-block;width:fit-content;max-width:100%;padding:3px 6px;color:var(--on-accent)!important;background-color:var(--accent-brand);box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.comfort-reader ::selection{color:var(--on-accent);}
.comfort-reader .fang-book-tab.is-active,.comfort-reader .cr-strip-toggle:hover{color:var(--on-accent)!important;background-color:var(--accent-brand);}
.comfort-reader .fang-book-tab{padding-inline:6px;}
.comfort-reader button:focus-visible,.comfort-reader .cr-reader:focus-visible{outline-color:var(--focus-ring);}
#books{background-color:var(--bg-canvas)!important;color:var(--text-primary)!important;}
#books .border-white\/20{border-color:var(--border-hairline)!important;}
.border-lineColor,[class~="border-[#D4D4D4]"],[class~="dark:border-[#262626]"]{border-color:var(--border-hairline)!important;}
.comfort-reader{background-color:var(--bg-canvas)!important;color:var(--text-primary)!important;border-color:var(--border-hairline)!important;}
#detail-photo-flow.fang-single-grid{grid-template-columns:repeat(var(--fang-single-columns, 5), minmax(0, 1fr));}
.fang-single-controls{--fang-control-ink:var(--fang-ink);--fang-control-line:var(--fang-rule);display:block;width:min(100%, 18rem);min-width:0;color:var(--text-primary);}
.fang-density-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
.fang-density-heading label{font-size:12px;line-height:1.5;color:var(--text-secondary);letter-spacing:.04em;}
.fang-density-heading output{font-size:15px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums;}
.fang-density-steps{display:grid;grid-template-columns:repeat(6, minmax(0, 1fr));}
.fang-density-steps button{position:relative;min-width:0;min-height:44px;padding:0 0 8px;border:0;background:transparent;color:var(--text-primary);cursor:pointer;font:12px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;font-variant-numeric:tabular-nums;}
.fang-density-steps button::after{content:"";position:absolute;left:calc(50% - 8px);bottom:7px;width:16px;height:2px;background:var(--accent-brand);opacity:0;transition:opacity 120ms ease-out;}
.fang-density-steps button[aria-pressed="true"]{font-weight:700;}
.fang-density-steps button[aria-pressed="true"]::after,.fang-density-steps button:hover::after,.fang-density-steps button:focus-visible::after{opacity:1;}
.fang-density-steps button:focus-visible{outline-offset:-4px;}
.fang-single-range{appearance:none;-webkit-appearance:none;display:block;width:calc(83.333333% + 14px);height:44px;margin:0 auto -8px;padding:0;border:0;background:transparent;cursor:pointer;accent-color:var(--accent-brand);}
.fang-single-range:focus-visible{outline:1px solid var(--focus-ring);outline-offset:3px;}
.fang-single-range::-webkit-slider-runnable-track{height:2px;border:0;background:linear-gradient(to right, var(--accent-brand) var(--fang-range-fill, 0%), var(--fang-control-line) var(--fang-range-fill, 0%));}
.fang-single-range::-moz-range-track{height:2px;border:0;background:var(--fang-control-line);}
.fang-single-range::-moz-range-progress{height:2px;background:var(--accent-brand);}
.fang-single-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:18px;margin-top:-8px;border:0;border-radius:0;background:var(--accent-brand);box-shadow:0 0 0 1px var(--text-primary);}
.fang-single-range::-moz-range-thumb{width:14px;height:18px;border:0;border-radius:0;background:var(--accent-brand);box-shadow:0 0 0 1px var(--text-primary);}
@media (max-width: 767px){.fang-subpage-hero-collage{grid-template-columns:repeat(6, minmax(0, 1fr));grid-template-rows:repeat(8, minmax(0, 1fr));padding:.7rem;gap:.45rem;}
.fang-subpage-hero-tile:nth-child(1){grid-column:1 / span 4;grid-row:1 / span 4;}
.fang-subpage-hero-tile:nth-child(2){grid-column:5 / span 2;grid-row:1 / span 3;}
.fang-subpage-hero-tile:nth-child(3){grid-column:1 / span 3;grid-row:5 / span 4;}
.fang-subpage-hero-tile:nth-child(4){grid-column:4 / span 3;grid-row:4 / span 5;}
.fang-subpage-hero-tile:nth-child(n/**/+5){display:none;}
.fang-grid-controls{justify-content:flex-start;}
}
[data-theme="dark"] .fang-single-controls,.dark .fang-single-controls{--fang-control-ink:var(--fang-ink);--fang-control-line:var(--border-hairline);}
[data-theme="dark"] [data-site-nav].nav-dark,.dark [data-site-nav].nav-dark{color:var(--fang-ink)!important;}
[data-theme="dark"] [data-site-nav].nav-light,.dark [data-site-nav].nav-light{color:var(--text-primary)!important;}
.comfort-reader{--cr-paper:var(--fang-canvas)!important;--cr-ink:var(--fang-ink)!important;--cr-muted:var(--fang-muted)!important;--cr-line:var(--fang-rule)!important;--cr-green:var(--fang-accent)!important;}
html.dark .comfort-reader,html[data-theme="dark"] .comfort-reader{--cr-line:var(--border-hairline)!important;}
@media (prefers-reduced-motion: reduce){body,[data-site-nav],#section-collections,#section-singles,#section-collections > .sticky,#section-singles > .sticky,footer.bg-bgWarm,.comfort-reader{transition:none;}
}
:where(a, button, [role="button"], figure[data-lightbox]){-webkit-tap-highlight-color:transparent;}
:where(a, button, [role="button"]):active{opacity:.72;}
:where(a, button, [role="button"]):focus-visible,figure[data-lightbox]:focus-visible{outline:1px solid var(--focus-ring);outline-offset:5px;}
html.dark :is(a, button, input, [role="button"], .cr-reader):focus-visible{box-shadow:0 0 0 2px var(--swatch-white);}
:where(figure[data-lightbox] img, img.grayscale, .collection-cover-motion, .featured-hero img){filter:grayscale(1) saturate(.64) contrast(1.02);transform:scale(1.001);transform-origin:center;transition:filter 900ms cubic-bezier(.22, 1, .36, 1),
              transform 1100ms cubic-bezier(.22, 1, .36, 1),
              opacity 650ms ease-out;}
:where(figure[data-lightbox], .group, .featured-hero):hover > img.grayscale,:where(figure[data-lightbox], .group, .featured-hero):focus-visible > img.grayscale,:where(figure[data-lightbox], .group, .featured-hero):has(:focus-visible) > img.grayscale,:where(.group:hover img.grayscale, .featured-hero:hover img, figure[data-lightbox]:hover img){filter:grayscale(0) saturate(1) contrast(1);transform:scale(1.028);}
figure[data-lightbox]{cursor:zoom-in;}
figure[data-lightbox]:active{cursor:grabbing;}
::view-transition-old(root),::view-transition-new(root){animation-duration:560ms;animation-timing-function:cubic-bezier(.22, 1, .36, 1);}
.view-section{transition:opacity 620ms cubic-bezier(.22, 1, .36, 1),
              transform 720ms cubic-bezier(.22, 1, .36, 1);}
.view-section.active.view-entering{transform:translate3d(0, 18px, 0);}
.reveal-on-scroll{transition:opacity 780ms cubic-bezier(.22, 1, .36, 1),
              transform 860ms cubic-bezier(.22, 1, .36, 1);}
.reveal-on-scroll.reveal-pending{transform:translate3d(0, 18px, 0) scale(.992);}
@media (prefers-reduced-motion: reduce){:where(figure[data-lightbox] img, img.grayscale, .collection-cover-motion, .featured-hero img){transition:none;}
.view-section,.reveal-on-scroll,.view-section.active.view-entering,.reveal-on-scroll.reveal-pending{transition:none;transform:none;}
}
.fang-subpage-hero-veil{pointer-events:none;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-media{top:34%;height:32%;bottom:auto;z-index:3;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-media{perspective:1800px;perspective-origin:50% 50%;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-collage{display:flex;align-items:center;gap:4px;width:max-content;min-width:108vw;height:100%;padding:0;overflow:visible;transform:translateX(-50%) rotateX(.8deg) rotateY(-1deg) rotateZ(-.15deg) scale(1.01);transform-origin:50% 50%;transform-style:preserve-3d;transition:transform 900ms cubic-bezier(.16,1,.3,1);position:relative;left:50%;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-tile{flex:0 0 18vw;height:100%;overflow:visible;transition:transform 720ms cubic-bezier(.16,1,.3,1), box-shadow 720ms cubic-bezier(.16,1,.3,1);transform-origin:50% 50%;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-tile:hover,#view-detail > .fang-subpage-hero .fang-subpage-hero-tile:focus-within{transform:translateZ(22px) translateY(-.3rem) scale(1.08);z-index:5;box-shadow:0 1.2rem 2.5rem rgba(0,0,0,.18);}
#view-detail > .fang-subpage-hero .fang-subpage-hero-tile img{filter:grayscale(.85);transform:none;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-tile:hover img{filter:grayscale(0);transform:none;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-veil{display:none;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-copy{position:absolute;bottom:0;left:0;right:0;max-width:none;color:var(--text-primary);text-shadow:none;padding:2rem clamp(1.5rem,4vw,4rem);}
#view-detail > .fang-subpage-hero .fang-subpage-hero-copy h1{font-size:clamp(3rem,7.5vw,8rem);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-media{top:43%;height:67%;bottom:auto;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-veil{display:none;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-copy{align-self:start;padding-top:clamp(6rem,12vh,9rem);max-width:none;color:var(--text-primary);text-shadow:none;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-copy h1{font-size:clamp(3.5rem,9vw,10rem);font-weight:300;opacity:.85;}
@media (max-width: 767px){#view-detail > .fang-subpage-hero .fang-subpage-hero-media{top:30%;height:32%;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-collage{min-width:100%;width:100%;left:0;transform:none;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-tile{flex-basis:22vw;}
#view-detail > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(n/**/+5){display:none;}
}
@media (prefers-reduced-motion: reduce){#view-detail > .fang-subpage-hero .fang-subpage-hero-collage{transition:none;transform:translateX(-50%) rotateX(.8deg) rotateY(-1deg) rotateZ(-.15deg) scale(1.01);}#view-detail > .fang-subpage-hero .fang-subpage-hero-tile{transition:none;transform:none;}
}
.fang-collection-grid{--fang-single-columns:3;display:grid!important;grid-template-columns:repeat(var(--fang-single-columns), minmax(0, 1fr))!important;align-items:stretch;}
.fang-collection-grid > figure{min-width:0;width:100%;margin:0!important;align-self:stretch;grid-column:auto!important;grid-row:auto!important;}
.fang-collection-grid > figure > div,.fang-collection-grid > figure > .fang-grid-frame{width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:4 / 3;overflow:hidden;margin:0!important;}
.fang-collection-grid > figure img{display:block;width:100%!important;height:100%!important;min-height:0;aspect-ratio:4 / 3;object-fit:cover;}
.fang-collection-grid figcaption,#detail-photo-flow figcaption{overflow:hidden;min-width:0;}
.fang-collection-grid figcaption > *,#detail-photo-flow figcaption > *{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fang-collection-grid figcaption > [data-viewfinder-badges],#detail-photo-flow figcaption > [data-viewfinder-badges]{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;min-width:max-content;overflow:visible;color:var(--text-secondary);}
.fang-collection-grid [data-photo-caption],#detail-photo-flow [data-photo-caption]{flex:1 1 auto;}
.fang-collection-grid [data-photo-caption] > span{display:block;}
@media (max-width: 560px){.fang-collection-grid,#detail-photo-flow{gap:16px 8px!important;}
.fang-collection-grid figcaption,#detail-photo-flow figcaption{font-size:8px;letter-spacing:.04em;gap:3px;}
}
#view-collections .fang-collections-index-grid{--fang-single-columns:4;grid-template-columns:repeat(var(--fang-single-columns), minmax(0, 1fr))!important;}
@media (max-width: 900px){.fang-collection-grid,#view-collections .fang-collections-index-grid{--fang-single-columns:2;}
}
@media (max-width: 560px){.fang-collection-grid,#view-collections .fang-collections-index-grid{--fang-single-columns:1;}
}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-collage{grid-template-columns:repeat(12, minmax(0,1fr))!important;grid-template-rows:repeat(8, minmax(0,1fr))!important;gap:clamp(.45rem,1vw,1rem);padding:clamp(1rem,3vw,3rem);}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(1){grid-column:1 / span 5!important;grid-row:1 / span 5!important;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(2){grid-column:6 / span 3!important;grid-row:1 / span 3!important;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(3){grid-column:9 / span 4!important;grid-row:1 / span 4!important;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(4){grid-column:6 / span 4!important;grid-row:4 / span 5!important;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(5){grid-column:10 / span 3!important;grid-row:5 / span 4!important;}
:is(#view-collections,#view-detail-tianjin,#view-detail-shandong2,#view-detail-shandong,#view-detail-kanagawa) > .fang-subpage-hero .fang-subpage-hero-tile:nth-child(6){grid-column:1 / span 5!important;grid-row:6 / span 3!important;}
.fang-collection-intro-compact{padding-block:clamp(1rem,2vw,1.6rem)!important;min-height:0!important;}
.fang-collection-intro-compact h1{margin:0!important;font-size:clamp(1rem,2vw,1.45rem)!important;line-height:1.1!important;}
.fang-collection-intro-compact p{margin-top:.5rem!important;max-width:42rem!important;font-size:.72rem!important;line-height:1.5!important;}
[data-theme-toggle] [data-theme-light],[data-theme-toggle] [data-theme-dark],[data-theme-toggle] .theme-toggle-divider{display:none!important;}
[data-theme-toggle][data-theme-mode="light"] .theme-toggle-moon,[data-theme-toggle][data-theme-mode="dark"] .theme-toggle-sun{display:none!important;}
.fang-grid-controls-label,.fang-single-controls > .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;}
#books img,#view-book-malaysia img,#view-book-comfort-zone img,.cr-page img,.cr-reader img{filter:none!important;-webkit-filter:none!important;}
.fang-collection-map-art > img{display:block;width:100%;height:100%;min-height:14rem;object-fit:contain;object-position:center;filter:saturate(.72) contrast(1.02);}

.fang-solid-header{background:var(--bg-canvas)!important;opacity:1!important;backdrop-filter:none!important;mix-blend-mode:normal;isolation:isolate;}
.view-section .fang-solid-header.sticky{top:var(--fang-header-height,56px);z-index:30;}
.fang-single-grid>figure{content-visibility:auto;contain-intrinsic-block-size:auto 300px;}
.fang-film-frame{background:repeating-linear-gradient(0deg,transparent 0 3px,color-mix(in srgb,var(--text-primary) 5%,transparent) 3px 4px);}
html:not(.fang-hover-armed) .fang-single-grid>figure img{filter:grayscale(1)!important;}

/* One geometry contract for every contact sheet.  Catalog width/height are
   metadata only; every grid card renders through a bounded 4:3 frame so an
   edited record can never reintroduce an intrinsic-ratio layout leak. */
:is(#detail-photo-flow,.fang-collection-grid)>figure{min-width:0;width:100%;margin:0!important;align-self:stretch;grid-column:auto!important;grid-row:auto!important;}
:is(#detail-photo-flow,.fang-collection-grid)>figure>:is(div,.fang-grid-frame){display:block;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:4 / 3;overflow:hidden;margin:0!important;}
:is(#detail-photo-flow,.fang-collection-grid)>figure>:is(div,.fang-grid-frame)>img{display:block;width:100%!important;max-width:none!important;height:100%!important;min-width:0;min-height:0;object-fit:cover;object-position:center;}

/* Single archive film strip: wheel-driven horizontal browsing with a shallow
   concave contact-sheet perspective. Cards stay fixed-size; hover never
   changes their scale, and only the centered colour record leaves grayscale. */
.fang-single-strip{position:relative;overflow-x:auto;overflow-y:hidden;isolation:isolate;margin:clamp(2rem,5vw,5rem) calc(clamp(1.5rem,6vw,6rem) * -1) 0;padding:clamp(1.75rem,4vw,4rem) 0 clamp(1.5rem,3vw,3rem);background:color-mix(in srgb,var(--bg-canvas) 94%,var(--border-hairline));perspective:1200px;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;cursor:ew-resize;}
.fang-single-strip::-webkit-scrollbar{display:none;}
.fang-single-strip-track{display:flex;align-items:stretch;gap:clamp(.45rem,1vw,1rem);width:max-content;padding-inline:50vw;transform-style:preserve-3d;}
.fang-single-strip-item{flex:0 0 clamp(220px,28vw,520px);margin:0;scroll-snap-align:center;transform-origin:center center;transform-style:preserve-3d;transition:filter 420ms cubic-bezier(.22,1,.36,1),opacity 420ms cubic-bezier(.22,1,.36,1);filter:saturate(.72) grayscale(1) contrast(.98);opacity:.72;}
.fang-single-strip-item.is-centered{filter:none;opacity:1;}
.fang-single-strip-frame{position:relative;overflow:hidden;aspect-ratio:16/7;background:var(--bg-canvas);}
.fang-single-strip-image{display:block;width:100%;height:100%;object-fit:cover;transform:none!important;transition:filter 420ms cubic-bezier(.22,1,.36,1)!important;}
.fang-single-strip-item.is-centered[data-color-mode="color"] .fang-single-strip-image{filter:none!important;}
.fang-single-strip-item[data-color-mode="bw"] .fang-single-strip-image{filter:grayscale(1)!important;}
.fang-single-strip-item figcaption{margin-top:.6rem;color:var(--text-secondary);font:9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;text-align:center;}
.fang-single-strip:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-3px;}
/* Keep the horizontal rail inside its layout container. The earlier negative
   bleed made the document wider than the viewport when a scrollbar existed. */
.fang-single-strip{width:100%;margin-left:0;margin-right:0;box-sizing:border-box;}
@media (max-width:767px){.fang-single-strip-track{padding-inline:42vw}.fang-single-strip-item{flex-basis:min(72vw,360px);}}
@media (prefers-reduced-motion:reduce){.fang-single-strip-item,.fang-single-strip-image{transition:none!important;}}

/* Editorial density control: a segmented rail, deliberate thumb and a clear
   numeric rhythm. The input remains the only source of truth for columns. */
.fang-density-rail{position:relative;height:4.25rem;margin-top:.35rem;}
.fang-density-rail .fang-single-range{position:absolute;inset:.15rem 0 auto;width:100%;height:2.5rem;margin:0;z-index:2;}
.fang-density-steps{position:absolute;inset:2rem 0 0;z-index:3;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));pointer-events:none;}
.fang-density-steps button{pointer-events:auto;min-height:2rem;padding:0;color:var(--text-secondary);font-size:10px;letter-spacing:.08em;transition:color 180ms ease,transform 180ms ease;}
.fang-density-steps button::after{left:50%;bottom:.1rem;width:3px;height:3px;border-radius:50%;transform:translateX(-50%);opacity:.48;background:var(--fang-control-line);transition:background 180ms ease,transform 180ms ease,opacity 180ms ease;}
.fang-density-steps button[aria-pressed="true"]{color:var(--text-primary);transform:translateY(-1px);}
.fang-density-steps button[aria-pressed="true"]::after{opacity:1;background:var(--accent-brand);transform:translateX(-50%) scale(1.55);}
.fang-density-steps button:hover,.fang-density-steps button:focus-visible{color:var(--text-primary);}
.fang-single-range::-webkit-slider-runnable-track{height:3px;border:0;border-radius:999px;background:repeating-linear-gradient(to right,var(--accent-brand) 0 calc((100% / 5) - 1px),var(--fang-control-line) calc((100% / 5) - 1px) calc(100% / 5));box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 10%,transparent);}
.fang-single-range::-moz-range-track{height:3px;border:0;border-radius:999px;background:repeating-linear-gradient(to right,var(--fang-control-line) 0 calc((100% / 5) - 1px),transparent calc((100% / 5) - 1px) calc(100% / 5));}
.fang-single-range::-moz-range-progress{height:3px;border-radius:999px;background:var(--accent-brand);}
.fang-single-range::-webkit-slider-thumb{width:15px;height:22px;margin-top:-9px;border:1px solid var(--text-primary);border-radius:1px;background:var(--accent-brand);box-shadow:2px 2px 0 color-mix(in srgb,var(--text-primary) 30%,transparent);transition:transform 160ms ease,box-shadow 160ms ease;}
.fang-single-range:hover::-webkit-slider-thumb,.fang-single-range:focus-visible::-webkit-slider-thumb{transform:scale(1.08);box-shadow:3px 3px 0 color-mix(in srgb,var(--text-primary) 30%,transparent);}
.fang-single-range::-moz-range-thumb{width:15px;height:22px;border:1px solid var(--text-primary);border-radius:1px;background:var(--accent-brand);box-shadow:2px 2px 0 color-mix(in srgb,var(--text-primary) 30%,transparent);}

/* Final ThemeState bridge. Component-local legacy variables must inherit the
   active root palette so a toggle changes every surface atomically. */
:root{--fang-mode-bg:#F2DCC2;--fang-mode-ink:#011526;--fang-mode-muted:#BFAE99;--fang-mode-rule:#BFAE99;--fang-mode-accent:#011526;--fang-mode-on-accent:#F2DCC2;}
html.dark,html[data-theme="dark"]{--fang-mode-bg:#171717;--fang-mode-ink:#DEDEDE;--fang-mode-muted:#4D4D4D;--fang-mode-rule:#4D4D4D;--fang-mode-accent:#F25623;--fang-mode-on-accent:#171717;}
:root{--bg-canvas:var(--fang-mode-bg)!important;--text-primary:var(--fang-mode-ink)!important;--text-muted:var(--fang-mode-muted)!important;--text-secondary:var(--fang-mode-muted)!important;--border-hairline:var(--fang-mode-rule)!important;--accent-brand:var(--fang-mode-accent)!important;--accent-text:var(--fang-mode-accent)!important;--accent-amber:var(--fang-mode-accent)!important;--on-accent:var(--fang-mode-on-accent)!important;--focus-ring:var(--fang-mode-accent)!important;--fang-canvas:var(--fang-mode-bg)!important;--fang-ink:var(--fang-mode-ink)!important;--fang-muted:var(--fang-mode-muted)!important;--fang-rule:var(--fang-mode-rule)!important;--fang-accent:var(--fang-mode-accent)!important;--fang-badge:var(--fang-mode-accent)!important;}
html,body{background-color:var(--fang-mode-bg)!important;color:var(--fang-mode-ink)!important;}
[data-site-nav],footer.bg-bgWarm{--bg-canvas:var(--fang-mode-bg)!important;--fang-canvas:var(--fang-mode-bg)!important;--text-primary:var(--fang-mode-ink)!important;--fang-ink:var(--fang-mode-ink)!important;--text-muted:var(--fang-mode-muted)!important;--fang-muted:var(--fang-mode-muted)!important;--border-hairline:var(--fang-mode-rule)!important;--fang-rule:var(--fang-mode-rule)!important;--accent-brand:var(--fang-mode-accent)!important;--fang-accent:var(--fang-mode-accent)!important;--accent-text:var(--fang-mode-on-accent)!important;--on-accent:var(--fang-mode-on-accent)!important;--focus-ring:var(--fang-mode-accent)!important;}
[data-site-nav],footer.bg-bgWarm{background-color:var(--fang-mode-bg)!important;color:var(--fang-mode-ink)!important;border-color:var(--fang-mode-rule)!important;}
#section-collections>.sticky,#section-singles>.sticky{position:static!important;top:auto!important;z-index:auto!important;}
