/* LOCAL INDEX v33 — Cognitive ease + tactile interaction. No new photographic assets.
   Heuristic goals: one next action, stable layout, readable line length, predictable feedback. */
:root{--li33-ease:cubic-bezier(.22,1,.36,1);--li33-shadow:0 14px 35px rgba(26,48,37,.09);--li33-card-shadow:0 5px 18px rgba(26,48,37,.045)}
html{scroll-padding-top:80px}
body{font-kerning:normal;text-rendering:optimizeLegibility}
/* Preserve hierarchy by keeping continuous reading blocks at an easy scanning measure. */
:where(.detail-grid article,.li32-life-section,.li26-section,.li29-section) :is(p,li){line-height:1.82}
:where(.detail-section,.li32-life-section,.li26-section,.li29-section) > p{max-width:72ch}
:where(.detail-grid article,.li32-discovery,.directory-section) :is(h2,h3){text-wrap:balance}
:where(.brand-card,.destination,.li32-story,.li32-home-feature,.detail-section,.li29-photo-item){overflow-wrap:anywhere}
:where(button,a,input,select,summary):focus-visible{outline:3px solid #be622c!important;outline-offset:4px!important}
button:disabled{opacity:.65;cursor:not-allowed}
:where(.header .main-nav a,.nav-tools button,.nav-tools select,.li25-home-hero .hero-cta a,.li25-home-hero .hero-cta button){transition:transform .22s var(--li33-ease),background-color .22s,box-shadow .22s var(--li33-ease)}
@media(hover:hover) and (pointer:fine){
 :where(.brand-card,.li25-destination,.li32-home-feature,.li29-photo-item){transition:transform .3s var(--li33-ease),box-shadow .3s var(--li33-ease)!important;will-change:auto}
 :where(.brand-card,.li25-destination,.li32-home-feature,.li29-photo-item):hover{transform:translateY(-3px)!important;box-shadow:var(--li33-shadow)!important}
 :where(.brand-card,.li25-destination) img{transition:transform .45s var(--li33-ease)}
 :where(.brand-card,.li25-destination):hover img{transform:scale(1.035)}
 :where(.li33-shop-filter button,.li33-chapter-nav a,.cta-lime,.cta-outline-dark,.cta-secondary):hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(28,43,31,.11)}
}
/* Satisfying tap feedback without delaying navigation or simulating a loading screen. */
:where(.li33-shop-filter button,.li33-chapter-nav a,.cta-lime,.cta-outline-dark,.cta-secondary,button[data-save]):active{transform:scale(.976)!important}
:where(.li33-shop-filter button,.li33-chapter-nav a,.cta-lime,.cta-outline-dark,.cta-secondary,button[data-save]){transition:transform .20s var(--li33-ease),box-shadow .24s var(--li33-ease),background-color .24s}
/* Foreground and real photo composition: reduce huge visual panels on desktops. */
.li25-home-hero{min-height:0!important;grid-template-columns:minmax(0,48%) minmax(0,52%)!important}
.li25-home-hero .li33-home-copy{padding:clamp(36px,4vw,60px) clamp(22px,5vw,76px)!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.li25-home-hero h1{font-size:clamp(2.55rem,4.05vw,4.2rem)!important;letter-spacing:-.053em;line-height:1.2!important;max-width:17ch!important;text-wrap:pretty}
.li25-home-hero .hero-claim{font-size:clamp(1.04rem,1.4vw,1.2rem)!important;line-height:1.55!important;max-width:38ch;font-weight:750}
.li25-home-hero .li33-hero-description{max-width:49ch!important;font-size:1rem!important;line-height:1.78!important;opacity:.91}
.li25-home-hero .hero-cta{margin:20px 0 18px!important;gap:10px!important}
.li25-home-hero .hero-cta :is(a,button){min-height:46px;display:inline-flex;align-items:center;justify-content:center}
.li25-home-hero .microtext{font-size:.76rem!important;letter-spacing:0!important;line-height:1.6!important}
.li25-hero-photos{min-height:0!important;overflow:hidden}
.li25-hero-photos .li25-photo-card{box-shadow:0 6px 20px rgba(27,43,36,.08)!important}
.li25-hero-photos .li25-photo-card-featured{min-height:0}
.li25-hero-photos .li25-photo-link{background:linear-gradient(138deg,#e1e8dc 0%,#bccbbd 52%,#c7d2c7 100%);position:relative;isolation:isolate}
/* Photo fallback is an honest, high-quality typographic sign — not a fake photograph. */
.li25-hero-photos .li25-photo-link.li25-photo-missing{background:linear-gradient(140deg,#e7e7dd,#d6dfd4 60%,#b4c8b6)}
.li25-hero-photos .li25-photo-link.li25-photo-missing::before{content:"";position:absolute;inset:11px;border:1px solid rgba(34,64,47,.18);border-radius:12px;pointer-events:none}
.li25-hero-photos .li25-photo-link.li25-photo-missing::after{content:"";position:absolute;inset:auto 15px 15px;height:2px;background:repeating-linear-gradient(90deg,rgba(43,66,50,.33) 0 22px,transparent 23px 30px)}
.li25-hero-photos .li25-photo-fallback{color:#224d41!important;letter-spacing:-.035em;text-shadow:none!important;text-wrap:balance}
.li25-hero-photos .li25-photo-caption{background:#fffdf8!important;border-top:1px solid rgba(25,54,43,.1)}
.li25-hero-photos .li25-photo-caption span{font-size:.78rem!important;font-weight:830}
.li25-hero-photos .li25-photo-caption a{font-size:.7rem!important;line-height:1.4!important}
/* Trim duplicated and oversized gaps, but keep content whitespace as a readability tool. */
#destinations,#brands{padding-top:clamp(40px,4vw,65px)!important}
#destinations .heading,#brands .heading{margin-bottom:clamp(18px,2vw,29px)!important}
#destinations .heading h2,#brands .heading h2{font-size:clamp(1.75rem,2.8vw,2.55rem)!important;line-height:1.24!important}
#destinations .heading p,#brands .heading p{max-width:64ch!important;line-height:1.73!important}
.li25-destination{border-radius:17px;overflow:hidden;box-shadow:var(--li33-card-shadow)!important}
.li25-destination .destination-label{padding:16px 20px!important;gap:12px}
.li25-destination .destination-label h3{font-size:clamp(1.35rem,2.2vw,1.8rem)!important;line-height:1.28!important}
.li25-destination .destination-label small{line-height:1.5!important}
.li25-destination .destination-stamp{display:none!important}
.li25-destination .destination-art{background:linear-gradient(145deg,color-mix(in srgb,var(--country) 80%,white 20%),#fff8e7)}
.li25-destination .destination-mosaic{overflow:hidden;border-radius:12px}
.li25-destination .destination-photo img[hidden]{display:none!important}
/* Distinctive but quiet country-art system: real photos remain the visual protagonist. */
.li33-country-hero{--li33-pattern:linear-gradient(120deg,transparent,rgba(255,255,255,.18));}
.li33-country-hero::before{background-image:var(--li33-pattern)!important;opacity:.68!important;z-index:-1;pointer-events:none}
.li33-country-hero .country-head{align-items:center!important;gap:clamp(22px,4vw,58px)!important}
.li33-country-hero .country-head h1{font-size:clamp(2.9rem,5.4vw,5.1rem)!important;line-height:1.08!important;margin:10px 0 12px!important}
.li33-country-hero .country-head p{font-size:clamp(1rem,1.22vw,1.08rem)!important;line-height:1.78!important;max-width:54ch!important;margin-bottom:15px!important}
.li33-country-hero .country-photo-feature{transform:none!important;box-shadow:0 15px 34px rgba(37,44,39,.15)!important;border-radius:20px!important;background:#fffaf2!important}
.li33-country-hero .country-photo-wrap{height:clamp(215px,21vw,290px)!important;position:relative}
.li33-country-hero .country-photo-wrap img[hidden]{display:none!important}
.li33-country-hero .country-photo-feature figcaption{padding:10px 12px 8px!important}
.li33-country-hero .country-photo-feature figcaption span{font-size:.73rem!important}
/* An explicit, elegant source-unavailable card; does NOT imitate a real storefront. */
.li33-country-photo-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(22px,4vw,44px);background:radial-gradient(circle at 93% 12%,rgba(255,255,255,.48),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--li32-bg) 65%,white 35%),var(--li32-mid));color:var(--li32-ink);overflow:hidden;isolation:isolate}
.li33-country-photo-fallback::before{content:"";position:absolute;inset:14px;border:1px solid color-mix(in srgb,var(--li32-accent) 38%,transparent);border-radius:13px;pointer-events:none}
.li33-country-photo-fallback::after{content:"";position:absolute;width:65%;height:65%;right:-19%;bottom:-32%;border:28px solid color-mix(in srgb,var(--li32-accent) 9%,transparent);border-radius:50%;pointer-events:none;z-index:-1}
.li33-photo-eyebrow{font-size:.75rem;line-height:1.5;font-weight:750;opacity:.78;letter-spacing:.03em}
.li33-photo-shop{font-size:clamp(1.6rem,2.8vw,2.65rem);font-weight:850;line-height:1.2;letter-spacing:-.045em;max-width:17ch;margin:10px 0}
.li33-photo-country{font-size:.93rem;font-weight:750;color:var(--li32-accent)}
.li33-photo-disclaimer{font-size:.72rem;line-height:1.5;max-width:28ch;margin-top:14px;opacity:.86}
/* A useful, non-pretentious summary. Count is ONLY the number documented in LOCAL INDEX. */
.li33-country-snapshot{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 15px;max-width:680px}
.li33-snapshot-stat{display:flex;flex-direction:column;gap:4px;min-width:104px;max-width:100%;padding:11px 15px;background:rgba(255,255,255,.66);border:1px solid rgba(55,62,44,.15);border-radius:13px;backdrop-filter:blur(4px)}
.li33-snapshot-stat small{font-size:.72rem;color:#4b594e;font-weight:750;line-height:1.45;letter-spacing:0}
.li33-snapshot-stat strong{font-size:.96rem;line-height:1.35;font-weight:820;color:var(--li32-ink)}
/* Chapter navigation: no other redundant sticky bar. */
.li33-chapter-nav{position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:8px;padding:10px clamp(18px,5.8vw,88px)!important;margin:0!important;background:color-mix(in srgb,#fffaf2 93%,transparent)!important;backdrop-filter:blur(14px);border-top:1px solid #dddcd1;border-bottom:1px solid #dddcd1;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;scroll-behavior:smooth}
.li33-chapter-nav::-webkit-scrollbar{display:none}
.li33-chapter-nav a{background:transparent!important;color:#365347!important;min-height:41px!important;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:8px 16px!important;border:1px solid transparent!important;border-radius:999px!important;box-shadow:none!important;font-size:.88rem!important;font-weight:750!important;text-decoration:none!important}
.li33-chapter-nav a[aria-current=location]{background:#244d3a!important;color:#fff!important;border-color:#244d3a!important;box-shadow:0 5px 12px rgba(30,51,41,.11)!important}
.li33-chapter-nav.is-stuck{box-shadow:0 9px 18px rgba(22,38,29,.065)}
.li33-chapter-nav a:hover{background:#e6eee6!important;color:#244d3a!important}
.li33-chapter-nav a[aria-current=location]:hover{background:#244d3a!important;color:#fff!important}
[id]:where(section,div){scroll-margin-top:88px}
/* Give the visitor the most useful content first, not endless explanation. */
.detail-grid article>#country-chains:first-child,.detail-grid article>.li29-storefronts:first-child + #country-chains{margin-top:0!important;margin-bottom:20px!important}
.detail-grid article #country-chains{padding:clamp(20px,2.8vw,31px)!important;background:#fffdf9!important;border:1px solid #e2dfd4!important;border-radius:20px!important}
.detail-grid article #country-chains h2{font-size:clamp(1.5rem,2.4vw,2rem)!important;line-height:1.26!important;letter-spacing:-.035em!important}
.detail-grid article #country-chains .brand-grid{margin-top:15px!important}
.li33-shop-filter{padding:13px 0 9px;border-top:1px solid #e5e5da;margin-top:15px}
.li33-filter-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:9px}
.li33-filter-head strong{font-size:.92rem;line-height:1.5;font-weight:800;color:#263d32}
.li33-filter-status{font-size:.78rem;color:#597065;white-space:nowrap}
.li33-filter-options{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.li33-filter-options button{border-radius:999px;min-height:42px;padding:8px 15px;font-size:.86rem;font-weight:780;line-height:1.3;border:1px solid #d1ddd2;background:#eef4ec;color:#2b4638;box-shadow:none}
.li33-filter-options button[aria-pressed=true]{background:#244d3a;color:white;border-color:#244d3a;box-shadow:0 5px 12px rgba(30,51,41,.12)}
.country-brands .brand-card[hidden]{display:none!important}
/* Remove the jarring 'floating' article sidebar; keep it useful but secondary. */
.detail-grid{gap:clamp(18px,3vw,45px)!important;padding-top:clamp(27px,3.8vw,52px)!important}
.detail-grid article{min-width:0}
.detail-grid article :is(.li32-story,.country-field-card,.country-price-card,.li29-photo-item){box-shadow:var(--li33-card-shadow)}
.li32-story .li32-story-body{max-width:69ch}
.li32-life-section{padding:clamp(23px,3vw,33px)!important;border-radius:20px!important}
.li32-story{padding:clamp(19px,2vw,24px)!important;background:#fcfaf4!important}
.li32-story-foot{background:#e9f0e7!important}
.detail-grid .detail-aside{align-self:start}
/* A progress line is optional, 2px high, transform-only and noninteractive. */
.li33-reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;background:#ad754f;transform-origin:0 50%;transform:scaleX(0);pointer-events:none;z-index:90;opacity:.82}
/* The UI responds to pointer and keyboard. It never hides details behind colour. */
@media(max-width:1080px){.li25-home-hero{grid-template-columns:minmax(0,51%) minmax(0,49%)!important}.li33-snapshot-types{max-width:100%}}
@media(max-width:760px){
 html{scroll-padding-top:65px}
 .li25-home-hero{display:grid!important;grid-template-columns:1fr!important}
 .li25-home-hero .li33-home-copy{padding:29px 21px 26px!important}
 .li25-home-hero h1{font-size:clamp(2.25rem,8.5vw,3.1rem)!important;margin:12px 0 17px!important;line-height:1.22!important}
 .li25-home-hero .hero-claim{font-size:1rem!important;line-height:1.55!important}
 .li25-home-hero .li33-hero-description{font-size:.96rem!important;line-height:1.72!important}
 .li25-home-hero .hero-cta{margin:17px 0 9px!important;gap:8px!important}
 .li25-hero-photos{min-height:0!important}
 .li25-hero-photos .li25-photo-caption a{font-size:.65rem!important}
 #destinations,#brands{padding-top:36px!important}
 #destinations .heading h2,#brands .heading h2{font-size:1.9rem!important}
 .li25-destination .destination-label{padding:13px 16px!important}
 .li33-country-hero .country-head{gap:10px!important}
 .li33-country-hero .country-head h1{font-size:clamp(2.8rem,11vw,3.7rem)!important}
 .li33-country-hero .country-photo-wrap{height:clamp(200px,58vw,275px)!important}
 .li33-country-snapshot{gap:8px;margin-bottom:12px}
 .li33-snapshot-stat{padding:10px 12px;min-width:0}
 .li33-snapshot-types{flex:1 1 145px}
 .li33-snapshot-stat strong{font-size:.88rem}
 .li33-chapter-nav{padding:8px 16px!important;gap:5px}
 .li33-chapter-nav a{font-size:.8rem!important;padding:8px 13px!important;min-height:43px!important}
 .detail-grid article #country-chains{padding:18px!important}
 .li33-filter-options{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:3px}
 .li33-filter-options button{min-height:44px;flex:0 0 auto}
 .li32-life-section{padding:19px!important}
}
@media(max-width:360px){.li25-home-hero .hero-cta{flex-direction:column;align-items:stretch}.li25-home-hero .hero-cta :is(a,button){width:100%}}
/* Distinct regional atmosphere without cloning existing illustrations or introducing false photography. */
.li33-country-hero[data-li33-country=uk]{--li33-pattern:repeating-linear-gradient(0deg,transparent 0 38px,#8f624722 39px 40px),repeating-linear-gradient(90deg,transparent 0 92px,#8f624718 93px 94px)}
.li33-country-hero[data-li33-country=japan]{--li33-pattern:repeating-linear-gradient(90deg,transparent 0 105px,#9d766f16 106px 107px),linear-gradient(155deg,rgba(255,255,255,.5),transparent 70%)}
.li33-country-hero[data-li33-country=south-korea]{--li33-pattern:radial-gradient(ellipse at 88% 0%,#8b80b91d,transparent 45%),repeating-linear-gradient(90deg,transparent 0 126px,#51476817 127px 128px)}
.li33-country-hero[data-li33-country=thailand]{--li33-pattern:radial-gradient(circle at 15% 10%,#fff7de99,transparent 35%),repeating-linear-gradient(45deg,transparent 0 75px,#a6794d14 76px 77px)}
.li33-country-hero[data-li33-country=singapore]{--li33-pattern:radial-gradient(circle at 93% 8%,#7ca68324,transparent 42%),repeating-linear-gradient(90deg,transparent 0 90px,#46735317 91px 92px)}
.li33-country-hero[data-li33-country=vietnam]{--li33-pattern:radial-gradient(circle at 10% 10%,#fcf3e8aa,transparent 39%),repeating-linear-gradient(115deg,transparent 0 70px,#62866915 71px 73px)}
.li33-country-hero[data-li33-country=turkey]{--li33-pattern:repeating-linear-gradient(45deg,transparent 0 68px,#b76e541a 69px 70px),repeating-linear-gradient(-45deg,transparent 0 68px,#b76e5416 69px 70px)}
.li33-country-hero[data-li33-country=france]{--li33-pattern:repeating-linear-gradient(90deg,transparent 0 68px,#607b9a14 69px 70px),linear-gradient(140deg,#ffffff66,transparent)}
.li33-country-hero[data-li33-country=taiwan]{--li33-pattern:repeating-linear-gradient(0deg,transparent 0 70px,#b8826b13 71px 72px),radial-gradient(circle at 9% 23%,#fff9f466,transparent 35%)}
/* Dark theme: readable surfaces and contrast, not a dark-green blanket. */
html[data-theme=dark] .li33-chapter-nav{background:#1e332c!important;border-color:#405349;color:#f4f7ef}
html[data-theme=dark] .li33-chapter-nav a{color:#dce8db!important}
html[data-theme=dark] .li33-chapter-nav a[aria-current=location]{background:#b6df91!important;color:#143026!important}
html[data-theme=dark] .li33-filter-head strong{color:#dbe8d8}
html[data-theme=dark] .li33-filter-status{color:#b9c9ba}
html[data-theme=dark] .li33-filter-options button{background:#2b4739;border-color:#4c6b55;color:#f4f8ed}
html[data-theme=dark] .li33-filter-options button[aria-pressed=true]{background:#b6df91;color:#173124;border-color:#b6df91}
html[data-theme=dark] .li33-country-hero{color:var(--li32-ink)!important}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .li25-home-hero *,.li33-country-hero *,.li33-chapter-nav *,.li33-filter-options *, .li25-destination,.brand-card,.li32-home-feature,.li29-photo-item{transition:none!important;animation:none!important;transform:none!important}
 .li33-reading-progress{transition:none!important}
}

/* Deliberate two-line copy: never break a Japanese word across lines. */
.li25-home-hero h1 .li33-home-headline-line{display:block;white-space:nowrap}
@media(max-width:760px){
 .li33-country-hero .country-head>.country-photo-feature{width:100%!important;max-width:100%!important;margin-inline:0!important;align-self:stretch!important}
 .li25-home-hero h1:has(.li33-home-headline-line){font-size:clamp(2rem,8.2vw,2.85rem)!important}
}
/* QA fix: light editorial panels must never inherit white text from dark theme. */
html[data-theme=dark] .li33-country-hero .country-photo-feature figcaption :is(strong,span){color:#294537!important}
html[data-theme=dark] .li33-country-hero .country-photo-feature figcaption a{color:#24553d!important}
html[data-theme=dark] .detail-grid article>.li29-storefronts:first-child{background:linear-gradient(145deg,#273c32,#1e3029)!important;border-color:#42574b!important;color:#edf5e9!important}
html[data-theme=dark] .detail-grid article>.li29-storefronts:first-child :is(h2,p,.li29-lead){color:#edf5e9!important}
html[data-theme=dark] .detail-grid article>#country-chains{background:#1d3229!important;border-color:#405748!important;color:#edf5e9!important}
html[data-theme=dark] .detail-grid article #country-chains :is(h2,.li33-filter-head strong){color:#edf5e9!important}
html[data-theme=dark] .detail-grid article #country-chains .li33-shop-filter{border-color:#46614b!important}
html[data-theme=dark] .detail-grid article #country-chains .li33-filter-status{color:#b8cfc0!important}
/* Strong specificity so active controls keep readable contrast in every theme. */
html[data-theme=dark] main .li33-filter-options button[aria-pressed=true]{background-color:#b6df91!important;color:#183225!important;border-color:#b6df91!important}
html[data-theme=dark] main .li33-filter-options button[aria-pressed=false]{background-color:#345141!important;color:#f4f7ed!important;border-color:#4f705a!important}

/* A filtered single result deserves a deliberate centred composition, not an accidental gap. */
.country-brands[data-visible-count="1"]{grid-template-columns:minmax(0,520px)!important;justify-content:center!important}
.country-brands[data-visible-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.country-brands .photo-fallback:before{inset:14px;border-width:1px;border-color:rgba(255,255,255,.52);border-radius:15px;transform:none}
.country-brands .photo-fallback>span{font-size:1.95rem}
.country-brands .photo-fallback strong{font-size:clamp(1.65rem,2.5vw,2.2rem);letter-spacing:-.04em}
.country-brands .photo-fallback small{font-size:.68rem;letter-spacing:0;text-align:center;padding-inline:18px;line-height:1.5}
@media(max-width:760px){.country-brands[data-visible-count="1"],.country-brands[data-visible-count="2"]{grid-template-columns:1fr!important}}
