.edition-page{padding-bottom:80px}.place-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:25px 0;border-top:1px solid var(--line,#d8d5cc)}.place-filters label,.account-page label{display:flex;flex-direction:column;gap:10px;font:12px/1.5 Arial,sans-serif;letter-spacing:.06em}.place-filters select,.account-page input,.account-page select{width:100%;padding:14px;background:transparent;border:1px solid #c9c6bc;color:inherit;font:16px Arial}.discovery-map{margin-bottom:56px}#places-map{height:430px;background:#e8e8df;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}#places-map.leaflet-container{display:block;padding:0;font-family:Arial,sans-serif;z-index:1}.map-note{font:12px/1.6 Arial;max-width:420px;color:#66685e}.venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.venue-card{border:1px solid #d8d5cc;background:#f0eee6;min-width:0}.venue-card>img{width:100%;height:220px;object-fit:cover}.venue-copy{padding:28px}.venue-copy h3{font:36px/1.1 'Editorial',Georgia,serif;margin:12px 0 20px}.venue-copy p{font-size:16px;line-height:1.65}.venue-copy dl{margin:24px 0}.venue-copy dt{font:10px/1.5 Arial;text-transform:uppercase;letter-spacing:.13em;margin-top:20px}.venue-copy dd{margin:6px 0;font:15px/1.6 Arial;color:#55574e}.venue-actions{display:flex;gap:10px;flex-wrap:wrap}.venue-actions .button{font-size:10px;padding:12px 16px;min-height:44px}.venue-copy .venue-checked{font:11px/1.7 Arial;color:#66685e;margin-bottom:0}.story-venues{margin:48px 0}.story-venues .venue-card h3{font-size:32px}.venue-stories{margin-top:65px}.edition-page>.venue-card{max-width:850px;margin:auto}.edition-page>.venue-card>img{height:400px}.submission-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;max-width:1100px;margin:auto}.submission-layout aside p{font:19px/1.8 Georgia}.submission-layout .reader-form{margin:0;width:100%;max-width:none}.submission-layout small{line-height:1.6}.edition-trap{position:absolute!important;left:-9999px;opacity:0}.check-line{display:block!important;font:13px/1.7 Arial!important;letter-spacing:0!important}.check-line input{width:auto!important;display:inline!important}.account-auth{max-width:520px;margin:auto;border:1px solid #d8d5cc;padding:36px}.account-auth form{display:grid;gap:20px}.account-auth h2{font-size:36px;margin-top:0}.account-switch{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px}.account-switch button{background:none;border:0;border-bottom:1px solid;padding:8px 0;cursor:pointer;font-size:13px}.account-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px}.account-topics{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.account-topics label{display:flex;flex-direction:row;align-items:center;border:1px solid #c9c6bc;padding:12px;letter-spacing:0}.account-topics input{width:auto}.account-recovery{padding:28px;background:#e9e0d4;margin:25px 0;overflow-wrap:anywhere}.account-recovery code{font-size:18px;display:block;margin:16px 0}.account-links{display:flex;gap:15px;flex-wrap:wrap;margin:30px 0}.account-result{min-height:24px;font:14px/1.6 Arial}.account-preview{margin-top:55px}.account-preview .story-link{display:block;padding:20px 0;border-bottom:1px solid #d8d5cc;font:25px/1.3 Georgia}.edition-nav{display:flex;justify-content:center;gap:30px;border-bottom:1px solid #d8d5cc;padding:13px 20px;font:10px Arial;letter-spacing:.14em;text-transform:uppercase}.leaflet-popup-content a{font-size:15px;line-height:1.5;color:#292d25}.reader-form input[type=file]{max-width:100%}
@media(max-width:1000px){.venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-layout{gap:35px}}@media(max-width:620px){.place-filters{grid-template-columns:1fr;gap:14px}.venue-grid,.submission-layout{grid-template-columns:1fr}.venue-copy{padding:24px}.venue-copy h3{font-size:32px}#places-map{height:350px}.account-auth{padding:24px}.account-welcome{align-items:flex-start;flex-direction:column}.submission-layout{gap:25px}.edition-page>.venue-card>img{height:230px}.edition-nav{gap:18px;font-size:9px}.account-recovery{padding:20px}.account-topics label{padding:11px}.edition-page{padding-bottom:45px}}

#place-count{white-space:nowrap}

.account-ad-preferences{scroll-margin-top:24px;margin-top:48px;padding:28px;border:1px solid #d8d5cc;background:#f0eee6}.account-ad-preferences h2{margin:10px 0 18px}.account-ad-preferences>p:not(.eyebrow){max-width:760px;font:16px/1.7 Georgia,serif}.account-ad-preferences fieldset{border:0;padding:0;margin:24px 0 0;min-width:0}.account-ad-preferences legend{font:12px/1.5 Arial,sans-serif;letter-spacing:.06em}.account-ad-preferences fieldset:disabled{opacity:.55}.account-ad-preferences .account-topics{margin:14px 0}.account-ad-note,.account-ad-signal{font:13px/1.7 Arial,sans-serif;max-width:760px}.account-ad-signal{padding:14px;border-left:3px solid #914e39;background:#f8f6f1}.account-ad-actions{display:flex;gap:12px;flex-wrap:wrap}.account-ad-preferences .account-result{margin-bottom:0}.account-ad-preferences .check-line input{margin:0 8px 0 0;vertical-align:middle;min-width:18px;height:18px}@media(max-width:620px){.account-ad-preferences{padding:22px 20px}.account-ad-actions .button{width:100%;justify-content:center}.account-ad-preferences h2{font-size:32px}}

/* A quiet, shared corner treatment for editorial media and card surfaces. */
:root{--radius-card:8px;--radius-image:8px;--radius-thumb:6px;--radius-card-inner:7px}
.hero-feature,.card-image-wrap,.ad-creative,.commerce-photo,.shop-card-image,
.side-story img,.editor-note>img,.editor-note>a>img,.article-cover img,
.article-body img:not(.author-portrait),.rich-clip video{border-radius:var(--radius-image)}
.search-result img{border-radius:var(--radius-thumb)}
/* This campaign cover needs its complete artwork, including the products along the bottom. */
article[data-story="yeotaskin-malaysian-herbal-skincare"] .article-cover img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
/* Shared defaults for current and future article photography. */
.rich-gallery:has(>img:only-child){grid-template-columns:minmax(0,1fr)}
.article-body figcaption,.article-cover figcaption,.article-cover .image-caption{text-align:center}
/* Consecutive editorial products sit side by side, with the artwork above the details. */
.rich-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:36px 0}
.rich-product-grid>.rich-product{display:flex;flex-direction:column;gap:18px;min-width:0;margin:0;padding:20px}
.rich-product-grid>.rich-product>img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:0}
.rich-product-grid>.rich-product>div{display:flex;flex:1;flex-direction:column;align-items:flex-start;min-width:0}
.article-body .rich-product-grid h3{font-size:clamp(24px,2.5vw,32px);line-height:1.12;margin:0 0 14px;overflow-wrap:anywhere}
.article-body .rich-product-grid p{font-size:16px;line-height:1.6;margin:0 0 14px}
.rich-product-grid p:empty{display:none}
.rich-product-grid a{display:inline-flex;align-items:center;min-height:44px;margin-top:auto;font-size:15px}
@media(max-width:600px){
  .rich-product-grid{gap:12px;margin:28px 0}
  .rich-product-grid>.rich-product{padding:12px;gap:14px}
  .article-body .rich-product-grid h3{font-size:22px;margin-bottom:10px}
  .article-body .rich-product-grid p{font-size:14px;margin-bottom:10px}
  .rich-product-grid a{font-size:13px}
}
.story-card,.venue-card,.destination-card,.event-card,.commerce-card,.claim-card,
.place-list-card,.kept-place,.shop-card,.shop-summary,.shop-order,.shop-info,.shop-gift,
.commerce-empty,.shop-empty,.place-lists-empty,.collection-sharing,.shared-list-outro,
.rich-product,.rich-instagram,.rich-clip{border-radius:var(--radius-card)}
/* Flush cover images follow their card's top corners, without clipping links or focus rings. */
.venue-card>img,.kept-place>img,.kept-place>.place-list-placeholder,.place-list-cover,
.commerce-card>.commerce-photo,.shop-card>.shop-card-image{
  border-radius:var(--radius-card-inner) var(--radius-card-inner) 0 0;
}
.shop-card-image .commerce-photo{border-radius:inherit}

/* Joined editorial panels share one continuous rounded outside edge. */
.editor-note{border-radius:var(--radius-card);overflow:hidden}
.editor-note>img,.editor-note>a>img{border-radius:0}
/* The photo owns its outline; grid dividers must not square off its corners. */
.hero-layout{border:0;border-radius:0;overflow:visible;margin-block-start:12px;column-gap:12px}
.hero-feature{border:1px solid var(--line);border-radius:var(--radius-card);isolation:isolate}
.hero-sidebar{border:0}
/* Equal story rows align their image edges with the adjacent lead image. */
@media(min-width:851px){
  .hero-sidebar{padding-block:0;row-gap:28px;grid-template-rows:repeat(3,1fr)}
  .hero-sidebar .side-story{position:relative;padding-block:0;border:0;min-height:0}
  .hero-sidebar .side-story+.side-story::before{content:'';position:absolute;inset-inline:0;top:-14px;height:1px;background:var(--line);border-radius:999px}
  .hero-sidebar .side-story img{aspect-ratio:auto}
}
/* Keep visible outlines consistent with the softer image and card corners. */
:root{--radius-control:6px}
.button,.save-button,.hero-copy .text-link,.place-save-button,
.shop-single-option,.shop-option-card,.shop-stepper{border-radius:var(--radius-control)}
.ad-slot .ad-creative picture,.ad-slot .ad-creative img{border-radius:var(--radius-card-inner)}
.hero-copy .eyebrow::after{border-radius:999px}
/* Rounded end caps for the fine rules under editorial links. */
.text-link:not(.hero-copy .text-link){position:relative;border-bottom-color:transparent}
.text-link:not(.hero-copy .text-link)::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;border-radius:999px;pointer-events:none}

/* A balanced search sheet, with room for focus rings and a visible close button. */
.search-dialog{border-radius:12px;padding:24px;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}
.search-dialog[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;align-content:start}
.search-dialog>.dialog-head,.search-dialog>.search-field,.search-dialog>.search-hint,.search-dialog>.search-results{grid-column:1/-1;min-width:0}
.search-dialog .dialog-head{align-items:flex-start;gap:12px;margin-bottom:20px}
.search-dialog .dialog-head h2{font-size:clamp(30px,5vw,40px);line-height:1.12;padding-top:4px}
.search-dialog .dialog-head>button{flex:0 0 44px;border-radius:6px}
.search-dialog .search-field{gap:10px;margin:0 0 20px;padding:8px;border:1px solid var(--line);border-radius:8px}
.search-dialog .search-field:focus-within{outline:2px solid #787d6d;outline-offset:3px}
.search-dialog .search-field>svg{flex:0 0 20px;width:20px;margin-left:4px}
.search-dialog .search-field input{font-size:22px;height:44px;outline:none}
.search-dialog .search-field .button{min-height:44px;flex-shrink:0;padding:12px 16px}
.search-dialog .search-category{display:grid;gap:8px;margin:0;min-width:0;font-size:13px}
.search-dialog .search-category select{width:100%;min-width:0;min-height:44px;border-radius:6px;border-color:var(--line);font:16px var(--body);padding:10px}
.search-dialog .search-hint{font-size:13px;line-height:1.6;margin:16px 0 20px;color:var(--muted)}
.search-dialog .search-results>.eyebrow{margin:0 0 8px;line-height:1.5}
.search-dialog .search-result{gap:16px;padding:20px 0}
.search-dialog .search-result img{height:auto}
@media(max-width:620px){
  .search-dialog{width:calc(100% - 32px);max-width:none;max-height:calc(100svh - 32px);max-height:calc(100dvh - 32px);margin:16px auto;padding:16px 12px;column-gap:12px}
  .search-dialog .search-field{gap:8px}
  .search-dialog .search-field input{font-size:18px}
  .search-dialog .search-field .button{font-size:10px;padding:12px}
  .search-dialog .search-result{grid-template-columns:72px minmax(0,1fr) 12px;gap:12px;padding:18px 0}
  .search-dialog .search-result img{width:72px;aspect-ratio:1;height:72px}
  .search-dialog .search-result-copy h3{font-size:24px;line-height:1.1;overflow-wrap:anywhere}
  .search-dialog .search-result-copy .eyebrow{font-size:8px;line-height:1.5}
}

/* Preserve the original composition instead of stretching story images into portraits. */
.hero-sidebar .side-story>a:first-child{align-self:center;min-height:0}
.hero-sidebar .side-story img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain;margin:0}
@media(min-width:851px){
 .hero-sidebar .side-story{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:18px;align-items:center}
 .hero-sidebar .side-copy h2{font-size:clamp(22px,1.85vw,30px);line-height:1.08}
 .hero-sidebar .side-copy p{display:none}
}
@media(min-width:621px) and (max-width:850px){.hero-sidebar .side-story img{margin-bottom:14px}}
@media(max-width:620px){
 .hero-sidebar .side-story{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:16px}
 .hero-sidebar .side-copy h2{font-size:clamp(21px,5vw,27px);line-height:1.1}
}

/* A real link makes the lead photograph usable with touch, mouse and keyboard. */
.hero-feature>.hero-image-link{position:absolute;inset:0;z-index:0;display:block;border-radius:inherit}
.hero-feature>.hero-image-link:focus-visible{outline:3px solid #fffdf8;outline-offset:-7px}
.hero-sidebar .side-story>a:focus-visible{outline:2px solid var(--ink);outline-offset:5px;border-radius:var(--radius-image)}
