/* LOCAL INDEX v25 — photo-first editorial layer. Copyrighted source images are
   loaded from existing Commons file records and credited in captions; no image
   files have been copied into this stylesheet. */
:root{--li25-ink:#253e38;--li25-sage:#b8c9be;--li25-cream:#f5efe4;--li25-copper:#a06143;--li25-serif:Georgia,'Iowan Old Style','Yu Mincho',serif;scroll-padding-top:22px}
html{scroll-behavior:smooth}
.header{position:relative;z-index:20}
.nav-tools select,.nav-tools button{border-radius:12px;min-height:40px;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}
.nav-tools select:hover,.nav-tools button:hover{transform:translateY(-1px);box-shadow:0 5px 16px #1e353016}
.nav-tools select:focus-visible,.nav-tools button:focus-visible{outline-offset:4px}
/* Replace abstract passport graphics with photographs of actual everyday shops. */
.li25-home-hero{background:var(--li25-cream)!important;color:var(--li25-ink)!important;grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:560px}
.li25-home-hero .hero-copy{padding:clamp(58px,5.6vw,95px) 4.7vw 45px clamp(24px,5vw,80px);justify-content:center;max-width:900px}
.li25-home-hero .label-light{font-size:.72rem;letter-spacing:.1em;color:#806751;border-bottom:1px solid #c9bda6;padding-bottom:12px;line-height:1.6}
.li25-home-hero h1{font-family:var(--li25-serif);letter-spacing:-.064em;font-size:clamp(2.95rem,4.6vw,5.25rem);max-width:17ch;line-height:1.17;margin:26px 0 24px;color:#26403a}
.li25-home-hero .hero-claim{font-size:clamp(1rem,1.5vw,1.25rem);color:#915539;line-height:1.55}
.li25-home-hero .hero-description{font-size:.95rem;line-height:1.9;color:#53655a;max-width:550px;margin-top:14px}
.li25-home-hero .microtext{color:#607164;letter-spacing:.02em;font-size:.73rem;line-height:1.65;max-width:520px}
.li25-home-hero .cta-lime{background:#23483f;color:#fff;border-color:#23483f}
.li25-home-hero .cta-secondary{color:#23483f!important;border-color:#a2afa6!important;background:#fffaf2!important}
.li25-home-hero .hero-cta{margin:26px 0 20px}
.li25-hero-photos{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:1fr 1fr;gap:13px;padding:clamp(18px,2.1vw,34px);background:radial-gradient(circle at 75% 8%,#eee4d0,#b8c5b9 48%,#506a60 100%);min-height:530px;align-items:stretch}
.li25-photo-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:15px;background:#fffaf0;box-shadow:0 12px 32px #19383036;outline:1px solid #d1c5b3}
.li25-photo-card-featured{grid-row:1/3}
.li25-photo-link{display:block;position:relative;flex:1;min-height:140px;background:linear-gradient(135deg,#b6bbad,#d9dccb);overflow:hidden}
.li25-photo-link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .38s cubic-bezier(.2,.7,.2,1)}
.li25-photo-link:hover img{transform:scale(1.045)}
.li25-photo-fallback{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-family:var(--li25-serif);font-size:clamp(1.2rem,2.3vw,2.7rem);color:#30524a;padding:22px;text-align:center;background:radial-gradient(circle,#e9e8dd 0%,#b7c5ba 100%)}
.li25-photo-link.li25-photo-missing .li25-photo-fallback{display:flex}
.li25-photo-link img[hidden]{display:none!important}
.li25-photo-caption{display:flex;flex-direction:column;gap:2px;padding:10px 13px 12px;font-size:.75rem;line-height:1.45;color:#26443a}
.li25-photo-caption span{font-weight:860}
.li25-photo-caption a{font-size:.64rem;text-decoration:underline;text-underline-offset:2px;color:#657366}
.li25-journey-links{max-width:1320px;margin:-1px auto 0;padding:13px 5vw;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:var(--surface);border-bottom:1px solid var(--line);color:var(--ink)}
.li25-journey-links a{border:1px solid var(--line);border-radius:99px;font-size:.82rem;font-weight:800;min-height:42px;padding:9px 18px;display:inline-flex;align-items:center;background:var(--surface-soft);transition:transform .18s ease,box-shadow .18s ease}
.li25-journey-links a:hover{transform:translateY(-2px);box-shadow:0 8px 18px #173b3422}
/* Each country is a full photographic composition, not three tiny thumbnails. */
.li25-destination{overflow:hidden;border-radius:19px!important;box-shadow:0 8px 26px #1b312315;transition:transform .23s ease,box-shadow .23s ease}
.li25-destination:hover{transform:translateY(-4px);box-shadow:0 20px 38px #183a282c}
.li25-destination-image{position:relative;height:clamp(215px,22vw,275px)!important;background-color:var(--country);background-image:var(--country-illustration);background-size:cover;isolation:isolate}
.li25-destination-mosaic{position:absolute!important;inset:0!important;display:grid!important;grid-template-columns:1.58fr .92fr!important;grid-template-rows:1fr 1fr!important;gap:4px!important;height:100%!important;margin:0!important;padding:0!important;z-index:0!important}
.li25-destination-mosaic .destination-photo{min-width:0!important;min-height:0!important;border:none!important;border-radius:0!important;background:var(--country,#c2d6c4)!important;position:relative!important;display:block!important;overflow:hidden!important;flex:auto!important}
.li25-destination-mosaic .destination-photo:first-child{grid-row:1/3!important}
.li25-destination-mosaic .destination-photo:only-child{grid-row:1/3!important;grid-column:1/3!important}
.li25-destination-mosaic .destination-photo:nth-child(2):last-child{grid-row:1/3!important}
.li25-destination-mosaic .destination-photo img{position:absolute!important;width:100%!important;height:100%!important;inset:0!important;object-fit:cover!important;border-radius:0!important;filter:saturate(.88) contrast(.99)}
.li25-destination-mosaic .destination-photo>span{position:absolute!important;z-index:2!important;bottom:11px!important;left:10px!important;max-width:calc(100% - 20px)!important;color:#173831!important;background:#fffdf2eb!important;font-size:.63rem!important;border-radius:6px!important;padding:3px 7px!important;line-height:1.2!important;text-shadow:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.li25-destination-image::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,#0e282523 0%,transparent 38%,#0d292228 100%)}
.li25-destination-image>.destination-flag{z-index:3!important;position:absolute!important;left:14px!important;top:13px!important;display:grid!important;place-items:center!important;font-size:1.85rem!important;background:#fdf7e7ec!important;box-shadow:0 4px 16px #102b292f!important;border-radius:13px!important;width:54px!important;height:46px!important}
.li25-destination-image>.destination-city{position:absolute!important;bottom:14px!important;left:13px!important;z-index:4!important;max-width:90%!important;padding:6px 10px!important;border-radius:9px!important;background:#fffdf3eb!important;color:#243e34!important;box-shadow:0 3px 12px #203c3025!important;font-size:.7rem!important;font-weight:800!important}
.li25-destination-image>.destination-stamp{display:none!important}
.destination-label{padding:18px 18px 20px!important}
.destination-label h3{font-size:clamp(1.35rem,1.9vw,1.8rem)!important;line-height:1.2!important}
.destination-label small{line-height:1.6!important}
.li25-destination[data-photo-state=no-photo] .li25-destination-image::after{background:linear-gradient(120deg,#f1eee933,#566e6022)}
.li25-destination[data-photo-state=no-photo] .li25-destination-image>.destination-city{background:#fffdf4f5}
/* Country pages: authentic shop image foreground, motif as quiet background. */
.li25-country-top{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,color-mix(in srgb,var(--country) 78%,#f7eee5),var(--country))!important}
.li25-country-top:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;background-image:var(--country-illustration);background-size:min(720px,55vw);background-repeat:no-repeat;background-position:100% 0}
.li25-country-top[data-country-theme=uk]:before{opacity:.09;background-image:repeating-linear-gradient(0deg,transparent 0 24px,#8e6244 25px 26px),repeating-linear-gradient(90deg,transparent 0 74px,#8e6244 75px 76px)}
.li25-country-top .country-photo-feature{transform:none!important;border-radius:18px;box-shadow:0 18px 36px #2a423524}
.li25-country-top .country-photo-wrap{height:clamp(210px,22vw,330px)}
.li25-country-top .country-head p{font-size:1.06rem;line-height:1.8}
.li25-country-top .country-head h1{line-height:1.04;overflow-wrap:break-word}
.li25-country-top .country-head .eyebrow{letter-spacing:.09em;font-size:.7rem}
.li25-country-nav{max-width:1280px;margin:23px auto 0;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.li25-country-nav a{border:1px solid #32554c35;color:#244139;display:inline-flex;align-items:center;min-height:40px;border-radius:99px;padding:8px 16px;background:#fffdf0d9;font-size:.8rem;font-weight:850;transition:transform .17s ease,box-shadow .17s ease}
.li25-country-nav a:hover{transform:translateY(-2px);box-shadow:0 7px 18px #18352e21}
.li25-atlas-promo{display:flex;max-width:1280px;margin:25px auto 0;align-items:center;gap:14px;padding:16px 22px;border:1px solid #876e4963;border-radius:16px;background:#f9f3e8e8;box-shadow:0 12px 25px #533d2420;color:#364a37}
.li25-atlas-promo span{font-size:.72rem;color:#7e593b;white-space:nowrap}
.li25-atlas-promo strong{font-family:var(--li25-serif);font-size:1.2rem;line-height:1.45}
.li25-atlas-promo small{font-size:.73rem;margin-left:auto;text-align:right}
/* Shop pages: consistent study order, maintained long-form explanation. */
.li25-shop-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;max-width:1200px}
.li25-shop-nav a{font-weight:800;font-size:.8rem;background:var(--surface-soft);border:1px solid var(--line);padding:8px 15px;border-radius:99px;min-height:40px;display:inline-flex;align-items:center}
.li25-shop-nav a:hover{background:var(--surface);box-shadow:0 8px 20px #1334251b}
.detail-section,.country-field-section{scroll-margin-top:32px}
.brand-card .photo img{transition:transform .3s cubic-bezier(.2,.75,.2,1)}
.brand-card:hover .photo img{transform:scale(1.035)}
/* Contrast remains readable in dark mode even though hero palette is light. */
:root[data-theme=dark] .li25-home-hero{background:#efe9df!important}
:root[data-theme=dark] .li25-journey-links a{color:var(--ink)}
@media(max-width:1050px){.li25-home-hero{grid-template-columns:1fr 1fr}.li25-hero-photos{gap:8px;padding:14px}.li25-photo-caption{padding:8px}.li25-atlas-promo{flex-wrap:wrap}}
@media(max-width:760px){
 .li25-home-hero{grid-template-columns:1fr;min-height:0}
 .li25-home-hero .hero-copy{padding:48px 22px 30px}
 .li25-home-hero h1{font-size:clamp(2.3rem,9.2vw,3.5rem);max-width:18ch;line-height:1.2}
 .li25-home-hero .hero-claim{font-size:.99rem}
 .li25-home-hero .hero-description{font-size:.87rem}
 .li25-hero-photos{min-height:350px;grid-template-columns:1.4fr 1fr;padding:11px;gap:9px}
 .li25-photo-link{min-height:110px}
 .li25-photo-card .li25-photo-caption{font-size:.65rem}
 .li25-photo-caption a{font-size:.57rem;line-height:1.3}
 .li25-journey-links{padding:12px 18px}
 .li25-journey-links a{font-size:.75rem;padding:9px 12px}
 .li25-destination-image{height:225px!important}
 .li25-country-top:before{background-size:80vw}
 .li25-country-top .country-photo-wrap{height:240px}
 .li25-atlas-promo{margin:20px 0 0;display:block}
 .li25-atlas-promo>*{display:block;margin-top:8px!important;text-align:left!important}
 .li25-shop-nav{margin:20px 0 0}
}
@media(max-width:400px){.li25-hero-photos{min-height:300px}.li25-destination-image{height:215px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.li25-home-hero *, .li25-destination,.li25-shop-nav a,.li25-country-nav a,.li25-journey-links a,.brand-card .photo img{transition:none!important;transform:none!important}}
/* Figure margins must be reset: otherwise mobile photo cards become tiny. */
.li25-hero-photos .li25-photo-card{margin:0;min-width:0;min-height:0}
.li25-hero-photos .li25-photo-link{width:100%;min-width:0}
.li25-hero-photos .li25-photo-caption{overflow-wrap:anywhere}
/* UK gets warm Victorian brick and print colours, rather than the former solid mint block. */
.li25-country-top[data-country-theme=uk]{background:linear-gradient(120deg,#f2e9d8 0%,#e5cfb6 64%,#d0b19a 100%)!important;color:#263d38}
.li25-country-top[data-country-theme=uk]:before{background-image:repeating-linear-gradient(0deg,transparent 0 40px,#8d60472b 41px 42px),repeating-linear-gradient(90deg,transparent 0 92px,#8d604722 93px 94px);opacity:.55}
.li25-country-top .country-head{grid-template-columns:minmax(0,1fr) minmax(0,455px);gap:clamp(22px,4vw,55px)}
.li25-country-top .country-head h1{font-size:clamp(3.9rem,6vw,6.4rem)}
.li25-country-top .country-photo-wrap{height:300px}
.li25-country-top .country-head .large-flag{margin-top:16px;font-size:3.4rem}
.li25-country-top .country-head p{max-width:590px}
.li25-country-top .country-head .cta-outline-dark{display:inline-flex;align-items:center;min-height:42px}
.li25-country-top .li25-country-nav a{background:#fffaf3e6}
@media(max-width:760px){.li25-country-top .country-head{display:block}.li25-country-top .country-head h1{font-size:clamp(3.3rem,10vw,4.5rem)}.li25-country-top .country-photo-wrap{height:210px}.li25-country-top .country-head .large-flag{font-size:3rem}}
/* Real image unavailable: reveal the existing country illustration instead of
   leaving an empty opaque coloured tile; never invent a shop photograph. */
.li25-destination-mosaic .destination-photo:has(img[hidden]){opacity:0!important}
.li25-destination-image:has(.destination-photo img[hidden]){background-size:cover;background-position:center}
