/* =========================================================
   DANANG2NITE — PHASE 48
   MOBILE ENGLISH MASTER — FINAL TUNING
   English mobile is the visual master. Other locales are NOT
   tuned in this phase and will be adjusted after EN approval.
   Loaded last, max-width:820px, locale=en only.
   ========================================================= */

:root{
  --m-edge:14px;
  --m-text:16px;
  --m-small:13px;
  --m-label:11px;
  --m-title:22px;
  --m-h2:28px;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  font-size:16px;
}

/* ---------------------------------------------------------
   COMMON MOBILE SHELL
   --------------------------------------------------------- */
.site-shell{
  width:calc(100% - (var(--m-edge) * 2));
  margin-inline:auto;
}

.eyebrow{
  gap:8px;
  font-size:var(--m-label);
  line-height:1.2;
  letter-spacing:1.15px;
}
.eyebrow:before{width:20px}

.button{
  min-height:46px;
  padding-inline:17px;
  font-size:13px;
  line-height:1;
}

/* ---------------------------------------------------------
   HEADER — ONE COMPACT ROW
   --------------------------------------------------------- */
.site-header{
  min-height:64px;
}

.site-header__main{
  min-height:64px;
  width:calc(100% - 24px);
  gap:8px;
}

.site-brand{
  gap:9px;
}

.site-brand__mark{
  width:42px;
  height:36px;
  font-size:12px;
}

.site-brand__text strong{
  font-size:14px;
  letter-spacing:1.45px;
}

.site-nav{
  gap:0;
}

.d2n-menu-toggle{
  width:40px;
  height:40px;
}

.d2n-menu-toggle__icon{
  width:19px;
  height:19px;
  gap:5px;
}

.d2n-menu-toggle__icon i{
  width:15px;
}

.d2n-menu-toggle__icon i:last-child{
  width:11px;
}

/* Move language control into the same header row. */
.site-language-wrap{
  position:absolute;
  z-index:1050;
  top:12px;
  right:61px;
  border:0;
}

.site-language-shell{
  width:auto;
  min-height:40px;
  margin:0;
}

.site-language-trigger{
  min-height:40px;
  padding:0 11px;
  gap:6px;
  border-color:rgba(255,255,255,.10);
  background:#0d0d0f;
}

.site-language-trigger__label{
  display:none;
}

.site-language-trigger__dot{
  width:6px;
  height:6px;
}

.site-language-trigger strong{
  font-size:11px;
  letter-spacing:.5px;
}

.site-language-trigger i{
  font-size:11px;
}

.site-language-panel{
  position:fixed;
  top:70px;
  left:12px;
  right:12px;
  width:auto;
  max-height:calc(100dvh - 84px);
  padding:12px;
  border-radius:16px;
}

.site-language-panel__head{
  padding:5px 4px 11px;
  font-size:11px;
  letter-spacing:1px;
}

.site-language-panel__head strong{
  width:30px;
  height:30px;
  font-size:10px;
}

.site-languages{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.site-language{
  min-height:58px;
  padding:9px 10px;
  grid-template-columns:34px minmax(0,1fr) 18px;
  gap:9px;
  border-radius:11px;
}

.site-language strong{
  width:34px;
  height:34px;
  font-size:10px;
}

.site-language span{
  font-size:12px;
  line-height:1.25;
}

.site-language i{
  font-size:10px;
}

/* ---------------------------------------------------------
   HOME
   --------------------------------------------------------- */
body.page-home .home-hero{
  width:calc(100% - 24px);
  padding-block:14px 12px;
  gap:12px;
}

body.page-home .home-hero__copy{
  min-height:0;
  padding:27px 20px 24px;
  border-radius:18px;
}

body.page-home .home-hero__issue{
  font-size:9px;
  letter-spacing:1px;
}

body.page-home .home-hero__copy h1{
  margin-top:13px;
  font-size:44px;
  line-height:.96;
  letter-spacing:-1.8px;
}

body.page-home .home-hero__copy p{
  margin-top:16px;
  max-width:95%;
  font-size:16px;
  line-height:1.55;
  color:#c2bbb3;
}

body.page-home .hero-actions{
  margin-top:20px;
  gap:9px;
}

body.page-home .hero-actions .button{
  min-height:48px;
  font-size:13px;
}

/* Featured story: stop placing a huge title on top of the image. */
body.page-home .featured-story{
  min-height:0;
  aspect-ratio:auto;
  display:block;
  border-radius:18px;
}

body.page-home .featured-story__media{
  position:relative;
  inset:auto;
  aspect-ratio:16/10;
}

body.page-home .featured-story__media::after{
  background:
    linear-gradient(180deg,rgba(0,0,0,.01) 45%,rgba(0,0,0,.48) 100%);
}

body.page-home .featured-story__topline{
  top:12px;
  left:12px;
  right:12px;
  gap:7px;
}

body.page-home .featured-story__topline>span{
  min-width:34px;
  height:34px;
  font-size:9px;
}

body.page-home .featured-story__topline>strong{
  padding:7px 9px;
  font-size:10px;
}

body.page-home .featured-story__topline i{
  padding:6px 8px;
  font-size:9px;
  letter-spacing:.6px;
}

body.page-home .featured-story__overlay{
  position:relative;
  inset:auto;
  padding:18px 17px 17px;
  background:
    radial-gradient(circle at 0 0,rgba(230,37,114,.055),transparent 40%),
    #0d0c0e;
}

body.page-home .featured-story__overlay::before{
  margin-bottom:8px;
  font-size:10px;
  letter-spacing:1px;
}

body.page-home .featured-story h2{
  font-size:26px;
  line-height:1.08;
  letter-spacing:-.6px;
  text-shadow:none;
}

body.page-home .featured-story p{
  margin-top:10px;
  font-size:14px;
  line-height:1.5;
  -webkit-line-clamp:3;
}

body.page-home .story-link{
  margin-top:13px;
  gap:8px;
  font-size:11px;
}

body.page-home .story-link span{
  width:27px;
  height:27px;
  font-size:10px;
}

/* Explore categories */
body.page-home .d2n-category-deck{
  padding:21px 14px 23px;
}

body.page-home .d2n-category-deck__intro{
  margin-bottom:13px;
}

body.page-home .d2n-category-deck__rail{
  gap:9px;
}

body.page-home .d2n-category-chip{
  flex-basis:174px;
  min-height:76px;
  padding:12px;
  gap:9px;
}

body.page-home .d2n-category-chip>span{
  font-size:10px;
}

body.page-home .d2n-category-chip>strong{
  font-size:13px;
  line-height:1.25;
}

body.page-home .d2n-category-chip>i{
  width:27px;
  height:27px;
  font-size:10px;
}

/* Home category feed */
body.page-home .d2n-category-section{
  width:calc(100% - 24px);
  padding-block:34px 36px;
}

body.page-home .d2n-category-section__head{
  margin-bottom:15px;
  align-items:center;
}

body.page-home .d2n-category-section__identity{
  gap:10px;
}

body.page-home .d2n-category-section__number{
  font-size:31px;
}

body.page-home .d2n-category-section__identity .eyebrow{
  font-size:10px;
}

body.page-home .d2n-category-section__head h2{
  margin-top:5px;
  font-size:28px;
  line-height:1.04;
}

body.page-home .d2n-category-section__more{
  min-height:36px;
  padding-inline:11px;
  font-size:10px;
  letter-spacing:.4px;
}

/* Two+ articles: readable horizontal cards. */
body.page-home .d2n-category-stories,
body.page-home .d2n-category-stories.count-2,
body.page-home .d2n-category-stories.count-3{
  gap:10px;
}

body.page-home .d2n-category-story{
  grid-template-columns:38% minmax(0,1fr);
  border-radius:14px;
}

body.page-home .d2n-category-story__media,
body.page-home .d2n-category-story__body{
  min-height:174px;
}

body.page-home .d2n-category-story__index{
  width:29px;
  height:29px;
  font-size:9px;
}

body.page-home .d2n-category-story__body{
  padding:14px 13px 12px;
}

body.page-home .d2n-category-story__category{
  font-size:10px;
  letter-spacing:.65px;
}

body.page-home .d2n-category-story h3,
body.page-home .d2n-category-story.is-lead h3{
  margin-top:7px;
  font-size:19px;
  line-height:1.14;
  -webkit-line-clamp:3;
}

body.page-home .d2n-category-story p{
  margin-top:8px;
  font-size:13px;
  line-height:1.42;
  -webkit-line-clamp:2;
}

body.page-home .d2n-category-story__foot{
  padding-top:9px;
  font-size:10px;
}

body.page-home .d2n-category-story__foot b{
  width:26px;
  height:26px;
  font-size:10px;
}

/* One article: image above, copy below. */
body.page-home .d2n-category-stories.count-1 .d2n-category-story{
  min-height:0;
  display:block;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story__media{
  position:relative;
  inset:auto;
  aspect-ratio:16/9;
  min-height:0;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story__body{
  position:relative;
  inset:auto;
  min-height:0;
  padding:16px 15px 14px;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story h3{
  max-width:100%;
  font-size:23px;
  line-height:1.09;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story p{
  max-width:100%;
  font-size:14px;
}

/* ---------------------------------------------------------
   MAGAZINE LIST
   --------------------------------------------------------- */
body.page-magazine-list .index-hero{
  padding-block:34px 24px;
}

body.page-magazine-list .d2n-magazine-index-hero{
  width:calc(100% - 28px);
}

body.page-magazine-list .index-hero h1{
  margin-top:12px;
  font-size:43px;
  line-height:.96;
  letter-spacing:-1.7px;
}

body.page-magazine-list .index-hero p{
  margin-top:14px;
  max-width:100%;
  font-size:16px;
  line-height:1.55;
}

body.page-magazine-list .d2n-magazine-index-hero::after{
  margin-top:15px;
  font-size:9px;
  letter-spacing:1.25px;
}

body.page-magazine-list .d2n-index-category-nav{
  padding:12px 14px 14px;
  gap:8px;
}

body.page-magazine-list .d2n-index-category-nav__item{
  flex-basis:154px;
  min-width:154px;
  min-height:62px;
  padding:10px 11px;
  gap:9px;
}

body.page-magazine-list .d2n-index-category-nav__item span{
  width:31px;
  height:31px;
  font-size:9px;
}

body.page-magazine-list .d2n-index-category-nav__item strong{
  font-size:12px;
  line-height:1.2;
}

body.page-magazine-list .d2n-magazine-index{
  width:calc(100% - 24px);
  padding-top:14px;
}

/* Lead card: image then copy, not text over busy artwork. */
body.page-magazine-list .d2n-index-card:first-child{
  min-height:0;
  display:block;
}

body.page-magazine-list .d2n-index-card:first-child .d2n-index-card__media{
  position:relative;
  inset:auto;
  aspect-ratio:16/10;
}

body.page-magazine-list .d2n-index-card:first-child .d2n-index-card__body{
  position:relative;
  inset:auto;
  padding:18px 16px 16px;
}

body.page-magazine-list .d2n-index-card:first-child h2{
  max-width:100%;
  font-size:26px;
  line-height:1.08;
  letter-spacing:-.6px;
  text-shadow:none;
}

body.page-magazine-list .d2n-index-card:first-child p{
  max-width:100%;
  font-size:14px;
  line-height:1.48;
}

body.page-magazine-list .d2n-index-card:first-child .d2n-index-card__foot{
  max-width:100%;
  margin-top:13px;
}

/* Supporting list */
body.page-magazine-list .d2n-index-card:not(:first-child){
  grid-template-columns:38% minmax(0,1fr);
  min-height:174px;
}

body.page-magazine-list .d2n-index-card__media,
body.page-magazine-list .d2n-index-card__body{
  min-height:174px;
}

body.page-magazine-list .d2n-index-card__body{
  padding:14px 13px 12px;
}

body.page-magazine-list .d2n-index-card__category{
  font-size:10px;
  letter-spacing:.65px;
}

body.page-magazine-list .d2n-index-card h2{
  margin-top:7px;
  font-size:19px;
  line-height:1.14;
  -webkit-line-clamp:3;
}

body.page-magazine-list .d2n-index-card p{
  margin-top:8px;
  font-size:13px;
  line-height:1.42;
  -webkit-line-clamp:2;
}

body.page-magazine-list .d2n-index-card__foot{
  padding-top:9px;
  font-size:10px;
}

body.page-magazine-list .d2n-index-card__foot b{
  width:26px;
  height:26px;
  font-size:10px;
}

body.page-magazine-list .d2n-index-card__number{
  width:29px;
  height:29px;
  font-size:9px;
}

/* ---------------------------------------------------------
   MAGAZINE VIEW — READING FIRST
   --------------------------------------------------------- */
body.page-magazine-view .magazine-masthead{
  width:calc(100% - 20px);
  margin-top:10px;
  border-radius:16px;
}

body.page-magazine-view .magazine-masthead__media{
  aspect-ratio:16/10;
}

body.page-magazine-view .magazine-masthead__copy{
  padding:20px 18px 20px;
}

body.page-magazine-view .magazine-masthead__meta{
  font-size:10px;
  letter-spacing:.8px;
}

body.page-magazine-view .magazine-masthead__meta::before{
  padding:5px 7px;
  font-size:9px;
}

body.page-magazine-view .magazine-masthead h1{
  margin-top:13px;
  font-size:36px;
  line-height:1.02;
  letter-spacing:-1.15px;
}

body.page-magazine-view .magazine-masthead__subtitle{
  margin-top:14px;
  font-size:17px;
  line-height:1.48;
}

body.page-magazine-view .magazine-masthead__summary{
  margin-top:13px;
  font-size:15px;
  line-height:1.6;
}

body.page-magazine-view .magazine-masthead__foot{
  margin-top:16px;
  padding-top:11px;
  font-size:9px;
  letter-spacing:.7px;
}

body.page-magazine-view .magazine-reading{
  width:calc(100% - 28px);
  margin-top:30px;
}

body.page-magazine-view .magazine-reading__intro{
  margin-bottom:22px;
  padding-bottom:12px;
}

body.page-magazine-view .magazine-reading__intro span{
  font-size:10px;
}

body.page-magazine-view .magazine-reading__intro strong{
  font-size:9px;
}

body.page-magazine-view .magazine-paragraph{
  margin-bottom:18px!important;
}

body.page-magazine-view .magazine-paragraph p{
  font-size:16px;
  line-height:1.72;
  letter-spacing:0;
  color:#d1cac1;
}

body.page-magazine-view .magazine-paragraph:first-child p::first-letter{
  font-size:44px;
}

body.page-magazine-view .magazine-section-heading{
  margin:38px 0 18px!important;
  padding-top:14px;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
}

body.page-magazine-view .magazine-section-heading__index{
  font-size:31px;
}

body.page-magazine-view .magazine-section-heading>div:last-child>span{
  font-size:9px;
  letter-spacing:1px;
}

body.page-magazine-view .magazine-section-heading h2{
  margin-top:4px;
  font-size:28px;
  line-height:1.16;
  letter-spacing:-.55px;
}

body.page-magazine-view .magazine-subheading{
  margin:27px 0 13px!important;
}

body.page-magazine-view .magazine-subheading h3{
  font-size:21px;
  line-height:1.28;
}

body.page-magazine-view .magazine-subheading.is-numbered{
  padding:15px 15px 15px 17px;
}

body.page-magazine-view .magazine-subheading.is-numbered h3{
  font-size:20px!important;
}

body.page-magazine-view .magazine-list{
  padding:14px 15px 14px 17px;
}

body.page-magazine-view .magazine-list li{
  margin:8px 0!important;
  font-size:16px;
  line-height:1.62;
}

body.page-magazine-view .magazine-quote blockquote{
  margin:24px 0;
  padding:17px 16px 16px 18px;
  font-size:19px;
  line-height:1.5;
}

body.page-magazine-view .magazine-media,
body.page-magazine-view .magazine-video{
  margin:26px 0!important;
}

body.page-magazine-view .magazine-sponsored{
  margin:27px 0;
  padding:16px;
}

body.page-magazine-view .magazine-sponsored small{
  font-size:10px;
}

body.page-magazine-view .magazine-sponsored h3{
  font-size:21px;
}

body.page-magazine-view .magazine-sponsored p{
  font-size:14px;
}

body.page-magazine-view .magazine-sponsored>a{
  min-height:38px;
  font-size:11px;
}

body.page-magazine-view .magazine-article-end{
  margin-top:38px;
  padding:18px 0 42px;
  gap:14px;
}

body.page-magazine-view .magazine-article-end span{
  font-size:9px;
}

body.page-magazine-view .magazine-article-end strong{
  font-size:18px;
}

body.page-magazine-view .magazine-article-end__actions a{
  min-height:36px;
  padding-inline:12px;
  font-size:11px;
}

/* ---------------------------------------------------------
   PLACES LIST
   --------------------------------------------------------- */
body.page-places-list .index-hero{
  width:calc(100% - 28px);
  padding-block:34px 24px;
}

body.page-places-list .index-hero h1{
  margin-top:12px;
  font-size:43px;
  line-height:.96;
}

body.page-places-list .index-hero p{
  margin-top:14px;
  max-width:100%;
  font-size:16px;
  line-height:1.55;
}

body.page-places-list .index-hero::after{
  margin-top:15px;
  font-size:9px;
  letter-spacing:1.2px;
}

body.page-places-list .site-section--index{
  width:calc(100% - 24px);
  padding-top:14px;
}

/* Lead place: image above copy. */
body.page-places-list .place-card:first-child{
  min-height:0;
  display:block;
}

body.page-places-list .place-card:first-child .place-card__media{
  position:relative;
  inset:auto;
  aspect-ratio:16/10;
}

body.page-places-list .place-card:first-child .place-card__body{
  position:relative;
  inset:auto;
  padding:18px 16px 16px;
}

body.page-places-list .place-card:first-child .place-card__body::before{
  top:0;
  left:16px;
}

body.page-places-list .place-card:first-child h2,
body.page-places-list .place-card:first-child h3{
  max-width:100%;
  font-size:26px;
  line-height:1.08;
  text-shadow:none;
}

body.page-places-list .place-card:first-child p{
  max-width:100%;
  font-size:14px;
  line-height:1.48;
}

body.page-places-list .place-card:first-child .place-price{
  margin-top:13px;
}

body.page-places-list .place-card:not(:first-child){
  grid-template-columns:38% minmax(0,1fr);
  min-height:174px;
}

body.page-places-list .place-card__media,
body.page-places-list .place-card__body{
  min-height:174px;
}

body.page-places-list .place-card__body{
  padding:14px 13px 12px;
}

body.page-places-list .place-category{
  font-size:10px;
}

body.page-places-list .place-card h2,
body.page-places-list .place-card h3{
  margin-top:7px;
  font-size:19px;
  line-height:1.14;
}

body.page-places-list .place-card p{
  margin-top:8px;
  font-size:13px;
  line-height:1.42;
}

body.page-places-list .place-price{
  padding:6px 8px;
  font-size:11px;
}

/* ---------------------------------------------------------
   PLACES VIEW
   --------------------------------------------------------- */
body.page-places-view .place-detail{
  width:calc(100% - 24px);
  padding-block:18px 50px;
}

body.page-places-view .place-detail>.eyebrow{
  margin-inline:0;
  font-size:10px;
}

body.page-places-view .place-detail>h1{
  max-width:100%;
  margin-inline:0;
  margin-top:14px;
  font-size:36px;
  line-height:1.02;
}

body.page-places-view .place-detail>.article-subtitle{
  max-width:100%;
  margin-inline:0;
  font-size:16px;
  line-height:1.5;
}

body.page-places-view .place-detail>.article-subtitle::after{
  font-size:9px;
  letter-spacing:1px;
}

body.page-places-view .place-detail>.hero{
  margin-top:19px;
  aspect-ratio:16/10;
}

body.page-places-view .place-detail>.gallery{
  gap:9px;
  margin-top:11px;
}

body.page-places-view .place-detail>.gallery img{
  flex-basis:78%;
  width:78%;
}

body.page-places-view .place-detail>section.block{
  margin-top:16px;
  padding:18px 16px 19px;
  font-size:16px;
  line-height:1.7;
}

body.page-places-view .place-detail>section.block h2{
  margin-bottom:14px;
  font-size:24px;
  line-height:1.16;
}

body.page-places-view .place-detail>section.block p{
  margin-top:9px;
  font-size:15px;
  line-height:1.6;
}

body.page-places-view .rich-text{
  font-size:16px;
  line-height:1.7;
}

body.page-places-view .info-box{
  padding:13px 14px;
  font-size:14px;
  line-height:1.58;
}

body.page-places-view .place-detail>section.block:nth-of-type(3){
  gap:9px;
}

body.page-places-view .place-detail>section.block:nth-of-type(3) p a{
  min-height:44px;
  font-size:12px;
}

body.page-places-view .place-detail>p:last-child>a{
  min-height:48px;
  font-size:12px;
}

/* ---------------------------------------------------------
   SIDE MENU
   --------------------------------------------------------- */
.d2n-side-menu__panel{
  width:min(430px,96vw);
}

.d2n-side-menu__head{
  min-height:68px;
  padding-inline:15px;
}

.d2n-side-menu__brand{
  gap:9px;
}

.d2n-side-menu__brand-mark{
  width:40px;
  height:34px;
  font-size:11px;
}

.d2n-side-menu__brand strong{
  font-size:13px;
}

.d2n-side-menu__brand small{
  font-size:8px;
}

.d2n-side-menu__primary,
.d2n-side-menu__categories,
.d2n-side-menu__identity{
  padding:28px 17px;
}

.d2n-side-menu__eyebrow,
.d2n-side-menu__section-head>span{
  font-size:11px;
}

.d2n-side-menu__primary-nav{
  margin-top:17px;
}

.d2n-side-menu__primary-nav a{
  min-height:74px;
  grid-template-columns:29px minmax(0,1fr) 30px;
}

.d2n-side-menu__primary-nav a>span{
  font-size:10px;
}

.d2n-side-menu__primary-nav a>strong{
  font-size:32px;
}

.d2n-side-menu__primary-nav a>i{
  width:29px;
  height:29px;
  font-size:10px;
}

.d2n-side-menu__section-head>strong{
  width:30px;
  height:30px;
  font-size:9px;
}

.d2n-side-menu__category-grid{
  margin-top:15px;
  gap:9px;
}

.d2n-side-menu__category-grid a{
  min-height:94px;
  padding:12px;
}

.d2n-side-menu__category-grid a>span{
  font-size:9px;
}

.d2n-side-menu__category-grid a>strong{
  font-size:14px;
  line-height:1.25;
}

.d2n-side-menu__category-grid a>i{
  font-size:11px;
}

.d2n-side-menu__identity{
  min-height:220px;
}

.d2n-side-menu__identity-top{
  font-size:9px;
}

.d2n-side-menu__identity-copy strong{
  font-size:27px;
}

.d2n-side-menu__identity-copy p{
  margin-top:9px;
  font-size:13px;
  line-height:1.5;
}

/* ---------------------------------------------------------
   FOOTER + COUNTER
   --------------------------------------------------------- */
.site-footer__grid{
  padding-block:30px 34px;
  gap:24px;
}

.site-brand--footer .site-brand__mark{
  width:39px;
  height:34px;
  font-size:10px;
}

.site-footer p{
  margin-top:12px;
  font-size:13px;
  line-height:1.5;
}

.site-footer__right{
  gap:16px;
}

.site-counter>div{
  min-height:64px;
  padding:11px 10px;
  gap:5px;
}

.site-counter span{
  font-size:10px;
  letter-spacing:.6px;
}

.site-counter strong{
  font-size:20px;
}

.site-footer nav{
  gap:20px;
}

.site-footer nav a{
  font-size:13px;
}

/* ---------------------------------------------------------
   VERY NARROW PHONES
   --------------------------------------------------------- */
@media(max-width:380px){
  :root{--m-edge:12px}

  .site-brand__text strong{
    font-size:12px;
  }

  .site-language-wrap{
    right:57px;
  }

  .site-language-trigger{
    min-height:38px;
    padding-inline:9px;
  }

  .site-languages{
    grid-template-columns:1fr;
  }

  body.page-home .home-hero__copy h1,
  body.page-magazine-list .index-hero h1,
  body.page-places-list .index-hero h1{
    font-size:39px;
  }

  body.page-home .hero-actions{
    grid-template-columns:1fr;
  }

  body.page-home .d2n-category-story,
  body.page-magazine-list .d2n-index-card:not(:first-child),
  body.page-places-list .place-card:not(:first-child){
    grid-template-columns:36% minmax(0,1fr);
  }

  .d2n-side-menu__category-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   PHASE 48 — EN MASTER FINAL TUNING
   Actual-device corrections:
   - less oversized category typography
   - tighter section rhythm
   - less aggressive card title sizing
   - stronger text contrast
   - compact language/side-menu grids even on narrow phones
   - cleaner mobile reading headers
   ========================================================= */

/* ---------- GLOBAL RHYTHM ---------- */
body{
  color:#d2cbc2;
}

body.page-home .d2n-category-section,
body.page-magazine-list .d2n-magazine-index,
body.page-places-list .site-section--index{
  scroll-margin-top:76px;
}

/* ---------- HOME: HERO / FEATURED ---------- */
body.page-home .home-hero{
  padding-top:12px;
  padding-bottom:10px;
}

body.page-home .home-hero__copy{
  padding:24px 20px 22px;
}

body.page-home .home-hero__copy h1{
  font-size:42px;
}

body.page-home .home-hero__copy p{
  font-size:15px;
  line-height:1.52;
}

body.page-home .hero-actions{
  margin-top:18px;
}

body.page-home .featured-story__media{
  aspect-ratio:16/9;
}

body.page-home .featured-story__overlay{
  padding:16px 16px 15px;
}

body.page-home .featured-story h2{
  font-size:24px;
  line-height:1.08;
}

body.page-home .featured-story p{
  font-size:13.5px;
  line-height:1.46;
  color:#b9b2aa;
}

/* Explore deck should feel like navigation, not large empty cards. */
body.page-home .d2n-category-deck{
  padding:18px 14px 20px;
}

body.page-home .d2n-category-deck__intro{
  margin-bottom:11px;
}

body.page-home .d2n-category-chip{
  flex-basis:158px;
  min-height:66px;
  padding:10px 11px;
}

body.page-home .d2n-category-chip>strong{
  font-size:12.5px;
}

/* ---------- HOME: CATEGORY HEADERS ---------- */
body.page-home .d2n-category-section{
  width:calc(100% - 28px);
  padding-block:23px 25px;
}

body.page-home .d2n-category-section__head{
  margin-bottom:13px;
  align-items:flex-end;
  gap:10px;
}

body.page-home .d2n-category-section__identity{
  gap:8px;
  align-items:flex-end;
}

body.page-home .d2n-category-section__number{
  font-size:27px;
  line-height:.9;
}

body.page-home .d2n-category-section__identity .eyebrow{
  font-size:9px;
  letter-spacing:.9px;
}

body.page-home .d2n-category-section__head h2{
  margin-top:4px;
  font-size:24px;
  line-height:1.04;
  letter-spacing:-.45px;
}

body.page-home .d2n-category-section__more{
  min-height:34px;
  padding:0 10px;
  font-size:9px;
  letter-spacing:.35px;
}

/* Long category names must not dominate the viewport. */
body.page-home #category-massage-spa .d2n-category-section__head h2,
body.page-home #category-nightlife-guide .d2n-category-section__head h2,
body.page-home #category-food-late-night .d2n-category-section__head h2{
  font-size:23px;
  line-height:1.02;
}

/* ---------- HOME: CATEGORY STORY CARDS ---------- */
body.page-home .d2n-category-stories,
body.page-home .d2n-category-stories.count-2,
body.page-home .d2n-category-stories.count-3{
  gap:9px;
}

body.page-home .d2n-category-story{
  grid-template-columns:36% minmax(0,1fr);
}

body.page-home .d2n-category-story__media,
body.page-home .d2n-category-story__body{
  min-height:160px;
}

body.page-home .d2n-category-story__body{
  padding:13px 12px 11px;
}

body.page-home .d2n-category-story__category{
  font-size:9px;
}

body.page-home .d2n-category-story h3,
body.page-home .d2n-category-story.is-lead h3{
  font-size:17.5px;
  line-height:1.14;
  -webkit-line-clamp:3;
}

body.page-home .d2n-category-story p{
  font-size:12.5px;
  line-height:1.42;
  color:#b0aaa3;
}

body.page-home .d2n-category-story__foot{
  font-size:9px;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story__media{
  aspect-ratio:16/9;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story__body{
  padding:15px 15px 14px;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story h3{
  font-size:22px;
  line-height:1.08;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story p{
  font-size:13.5px;
  line-height:1.45;
}

/* ---------- MAGAZINE LIST ---------- */
body.page-magazine-list .index-hero{
  padding-block:29px 21px;
}

body.page-magazine-list .index-hero h1{
  font-size:40px;
}

body.page-magazine-list .index-hero p{
  font-size:15px;
  line-height:1.52;
}

body.page-magazine-list .d2n-index-category-nav__item{
  flex-basis:146px;
  min-width:146px;
  min-height:58px;
}

body.page-magazine-list .d2n-index-category-nav__item strong{
  font-size:11.5px;
}

body.page-magazine-list .d2n-index-card:first-child h2{
  font-size:24px;
  line-height:1.08;
}

body.page-magazine-list .d2n-index-card:first-child p{
  font-size:13.5px;
  color:#b7b0a9;
}

body.page-magazine-list .d2n-index-card:not(:first-child){
  grid-template-columns:36% minmax(0,1fr);
  min-height:160px;
}

body.page-magazine-list .d2n-index-card__media,
body.page-magazine-list .d2n-index-card__body{
  min-height:160px;
}

body.page-magazine-list .d2n-index-card__body{
  padding:13px 12px 11px;
}

body.page-magazine-list .d2n-index-card__category{
  font-size:9px;
}

body.page-magazine-list .d2n-index-card h2{
  font-size:17.5px;
  line-height:1.14;
}

body.page-magazine-list .d2n-index-card p{
  font-size:12.5px;
  color:#afa9a2;
}

body.page-magazine-list .d2n-index-card__foot{
  font-size:9px;
}

/* ---------- MAGAZINE VIEW: READING OPTIMIZATION ---------- */
body.page-magazine-view .magazine-masthead{
  width:calc(100% - 24px);
}

body.page-magazine-view .magazine-masthead__media{
  aspect-ratio:16/9;
}

body.page-magazine-view .magazine-masthead__copy{
  padding:18px 16px 18px;
}

body.page-magazine-view .magazine-masthead h1{
  font-size:32px;
  line-height:1.03;
  letter-spacing:-.8px;
}

body.page-magazine-view .magazine-masthead__subtitle{
  font-size:16px;
  line-height:1.45;
}

body.page-magazine-view .magazine-masthead__summary{
  font-size:14.5px;
  line-height:1.58;
  color:#b7b0a8;
}

body.page-magazine-view .magazine-reading{
  width:calc(100% - 32px);
  margin-top:26px;
}

body.page-magazine-view .magazine-reading__intro{
  margin-bottom:18px;
  padding-bottom:11px;
}

/* Tiny duplicate article title in the reading bar was visually noisy. */
body.page-magazine-view .magazine-reading__intro strong{
  display:none;
}

body.page-magazine-view .magazine-reading__intro span{
  font-size:10px;
  letter-spacing:.85px;
}

body.page-magazine-view .magazine-paragraph p{
  font-size:16px;
  line-height:1.68;
  color:#d0c9c1;
}

body.page-magazine-view .magazine-section-heading{
  margin:34px 0 17px!important;
  grid-template-columns:37px minmax(0,1fr);
  gap:9px;
}

body.page-magazine-view .magazine-section-heading__index{
  font-size:28px;
}

body.page-magazine-view .magazine-section-heading h2{
  font-size:26px;
  line-height:1.14;
}

body.page-magazine-view .magazine-subheading h3{
  font-size:20px;
}

body.page-magazine-view .magazine-list li{
  font-size:15.5px;
  line-height:1.58;
}

body.page-magazine-view .magazine-quote blockquote{
  font-size:18px;
}

/* ---------- PLACES ---------- */
body.page-places-list .index-hero h1{
  font-size:40px;
}

body.page-places-list .index-hero p{
  font-size:15px;
}

body.page-places-list .place-card:first-child h2,
body.page-places-list .place-card:first-child h3{
  font-size:24px;
}

body.page-places-list .place-card:first-child p{
  font-size:13.5px;
  color:#b7b0a9;
}

body.page-places-list .place-card:not(:first-child){
  grid-template-columns:36% minmax(0,1fr);
  min-height:160px;
}

body.page-places-list .place-card__media,
body.page-places-list .place-card__body{
  min-height:160px;
}

body.page-places-list .place-category{
  font-size:9px;
}

body.page-places-list .place-card h2,
body.page-places-list .place-card h3{
  font-size:17.5px;
}

body.page-places-list .place-card p{
  font-size:12.5px;
  color:#afa9a2;
}

body.page-places-view .place-detail>h1{
  font-size:34px;
}

body.page-places-view .place-detail>.article-subtitle{
  font-size:15px;
}

body.page-places-view .place-detail>section.block{
  font-size:15.5px;
}

body.page-places-view .place-detail>section.block h2{
  font-size:23px;
}

body.page-places-view .place-detail>section.block p,
body.page-places-view .rich-text{
  font-size:15px;
}

/* ---------- SIDE MENU: KEEP TWO-COLUMN CATEGORIES ---------- */
.d2n-side-menu__primary-nav a>strong{
  font-size:29px;
}

.d2n-side-menu__category-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.d2n-side-menu__category-grid a{
  min-height:82px;
  padding:11px;
}

.d2n-side-menu__category-grid a>strong{
  font-size:13px;
}

.d2n-side-menu__identity{
  min-height:190px;
}

/* ---------- LANGUAGE PANEL: ALWAYS TWO COLUMNS ---------- */
.site-languages{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.site-language-panel{
  max-height:min(72vh,600px);
}

.site-language{
  min-height:55px;
}

.site-language span{
  font-size:11.5px;
}

/* ---------- FOOTER ---------- */
.site-footer__grid{
  padding-block:27px 31px;
}

.site-footer p{
  font-size:12.5px;
}

.site-counter>div{
  min-height:60px;
}

.site-counter span{
  font-size:9px;
}

.site-counter strong{
  font-size:19px;
}

.site-footer nav a{
  font-size:12px;
}

/* ---------- NARROW PHONE OVERRIDES ----------
   Do NOT collapse language or side-menu category grids to one column.
   This was the main cause of excessive scroll length on the test device.
   --------------------------------------------------------- */
@media(max-width:380px){
  .site-languages{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .d2n-side-menu__category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .d2n-side-menu__category-grid a{
    min-height:78px;
  }

  body.page-home .d2n-category-section{
    width:calc(100% - 22px);
  }

  body.page-home .d2n-category-section__number{
    font-size:25px;
  }

  body.page-home .d2n-category-section__head h2{
    font-size:22px;
  }

  body.page-home .d2n-category-story,
  body.page-magazine-list .d2n-index-card:not(:first-child),
  body.page-places-list .place-card:not(:first-child){
    grid-template-columns:35% minmax(0,1fr);
  }

  body.page-home .d2n-category-story h3,
  body.page-magazine-list .d2n-index-card h2,
  body.page-places-list .place-card h2,
  body.page-places-list .place-card h3{
    font-size:17px;
  }
}


/* =========================================================
   PHASE 49 — EN MOBILE HOME FINAL COMPRESSION
   HOME only. Header / language / Magazine / Places / Footer untouched.
   Based on real-device screenshots after Phase48.
   ========================================================= */

/* 1) Hero: keep identity, reduce first-screen occupation */
body.page-home .home-hero{
  width:calc(100% - 24px);
  padding-top:10px;
  padding-bottom:8px;
  gap:10px;
}

body.page-home .home-hero__copy{
  padding:21px 18px 19px;
  border-radius:17px;
}

body.page-home .home-hero__issue{
  font-size:8.5px;
  letter-spacing:.9px;
}

body.page-home .home-hero__copy h1{
  margin-top:11px;
  font-size:40px;
  line-height:.95;
  letter-spacing:-1.55px;
}

body.page-home .home-hero__copy p{
  margin-top:13px;
  max-width:100%;
  font-size:14.5px;
  line-height:1.48;
}

body.page-home .hero-actions{
  margin-top:16px;
  gap:8px;
}

body.page-home .hero-actions .button{
  min-height:44px;
  padding-inline:15px;
  font-size:12px;
}

/* 2) Featured: image stays strong, copy becomes denser */
body.page-home .featured-story{
  border-radius:17px;
}

body.page-home .featured-story__media{
  aspect-ratio:16/8.8;
}

body.page-home .featured-story__overlay{
  padding:14px 15px 14px;
}

body.page-home .featured-story__overlay::before{
  margin-bottom:7px;
  font-size:9px;
}

body.page-home .featured-story h2{
  font-size:22px;
  line-height:1.08;
  letter-spacing:-.45px;
}

body.page-home .featured-story p{
  margin-top:8px;
  font-size:13px;
  line-height:1.43;
  -webkit-line-clamp:3;
}

body.page-home .story-link{
  margin-top:11px;
  font-size:10.5px;
}

/* 3) Explore D2N: compact, clearly swipeable */
body.page-home .d2n-category-deck{
  padding:16px 14px 17px;
}

body.page-home .d2n-category-deck__intro{
  margin-bottom:10px;
}

body.page-home .d2n-category-deck__rail{
  gap:8px;
  padding-right:32px;
  scroll-padding-inline:0 32px;
}

body.page-home .d2n-category-chip{
  flex-basis:150px;
  min-height:62px;
  padding:9px 10px;
}

body.page-home .d2n-category-chip>span{
  font-size:9px;
}

body.page-home .d2n-category-chip>strong{
  font-size:12px;
  line-height:1.2;
}

body.page-home .d2n-category-chip>i{
  width:25px;
  height:25px;
}

/* 4) Category section rhythm: less black dead space */
body.page-home .d2n-category-section{
  width:calc(100% - 28px);
  padding-top:19px;
  padding-bottom:21px;
}

body.page-home .d2n-category-section + .d2n-category-section{
  border-top-color:rgba(255,255,255,.055);
}

body.page-home .d2n-category-section__head{
  margin-bottom:11px;
  gap:8px;
}

body.page-home .d2n-category-section__identity{
  gap:7px;
}

body.page-home .d2n-category-section__number{
  font-size:25px;
}

body.page-home .d2n-category-section__identity .eyebrow{
  font-size:8.5px;
  letter-spacing:.8px;
}

body.page-home .d2n-category-section__head h2{
  margin-top:3px;
  font-size:22px;
  line-height:1.02;
  letter-spacing:-.35px;
}

body.page-home #category-massage-spa .d2n-category-section__head h2,
body.page-home #category-nightlife-guide .d2n-category-section__head h2,
body.page-home #category-food-late-night .d2n-category-section__head h2{
  font-size:21.5px;
  line-height:1.02;
}

body.page-home .d2n-category-section__more{
  min-height:32px;
  padding-inline:9px;
  font-size:8.5px;
}

/* 5) Supporting story cards: slightly smaller title, less vertical drag */
body.page-home .d2n-category-stories,
body.page-home .d2n-category-stories.count-2,
body.page-home .d2n-category-stories.count-3{
  gap:8px;
}

body.page-home .d2n-category-story{
  grid-template-columns:34.5% minmax(0,1fr);
}

body.page-home .d2n-category-story__media,
body.page-home .d2n-category-story__body{
  min-height:154px;
}

body.page-home .d2n-category-story__body{
  padding:12px 11px 10px;
}

body.page-home .d2n-category-story__category{
  font-size:8.5px;
  letter-spacing:.55px;
}

body.page-home .d2n-category-story h3,
body.page-home .d2n-category-story.is-lead h3{
  margin-top:6px;
  font-size:16.7px;
  line-height:1.13;
  -webkit-line-clamp:3;
}

body.page-home .d2n-category-story p{
  margin-top:7px;
  font-size:12.5px;
  line-height:1.4;
  color:#b8b1aa;
  -webkit-line-clamp:2;
}

body.page-home .d2n-category-story__foot{
  padding-top:8px;
  font-size:8.5px;
}

body.page-home .d2n-category-story__foot b{
  width:25px;
  height:25px;
}

/* Single-story categories should remain visually important, but not huge */
body.page-home .d2n-category-stories.count-1 .d2n-category-story__media{
  aspect-ratio:16/8.8;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story__body{
  padding:14px 14px 13px;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story h3{
  font-size:20.5px;
  line-height:1.07;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story p{
  font-size:13px;
  line-height:1.43;
}

/* 6) Narrow-phone safety: keep the same hierarchy, not a second design */
@media(max-width:380px){
  body.page-home .home-hero__copy h1{
    font-size:37px;
  }

  body.page-home .home-hero__copy p{
    font-size:14px;
  }

  body.page-home .featured-story h2{
    font-size:21px;
  }

  body.page-home .d2n-category-section{
    width:calc(100% - 22px);
    padding-top:18px;
    padding-bottom:20px;
  }

  body.page-home .d2n-category-section__number{
    font-size:23px;
  }

  body.page-home .d2n-category-section__head h2,
  body.page-home #category-massage-spa .d2n-category-section__head h2,
  body.page-home #category-nightlife-guide .d2n-category-section__head h2,
  body.page-home #category-food-late-night .d2n-category-section__head h2{
    font-size:20.5px;
  }

  body.page-home .d2n-category-story{
    grid-template-columns:34% minmax(0,1fr);
  }

  body.page-home .d2n-category-story h3,
  body.page-home .d2n-category-story.is-lead h3{
    font-size:16.3px;
  }
}


/* =========================================================
   PHASE 50 — EN MOBILE IMAGE-LED VISUAL PASS
   Stronger visual magazine treatment.
   HOME category stories + Magazine LIST only.
   Full 16:9 image first, compact copy below.
   ========================================================= */

/* ---------- HOME CATEGORY STORIES: IMAGE-LED ---------- */
body.page-home .d2n-category-story,
body.page-home .d2n-category-stories.count-2 .d2n-category-story,
body.page-home .d2n-category-stories.count-3 .d2n-category-story{
  display:block;
  min-height:0;
  overflow:hidden;
}

body.page-home .d2n-category-story__media{
  position:relative;
  width:100%;
  min-height:0;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#09090b;
}

body.page-home .d2n-category-story__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  background:#09090b;
}

body.page-home .d2n-category-story__body{
  min-height:0;
  padding:13px 14px 13px;
}

body.page-home .d2n-category-story__category{
  font-size:9px;
  letter-spacing:.7px;
}

body.page-home .d2n-category-story h3,
body.page-home .d2n-category-story.is-lead h3{
  margin-top:7px;
  font-size:19px;
  line-height:1.12;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

body.page-home .d2n-category-story p{
  margin-top:8px;
  font-size:13px;
  line-height:1.42;
  color:#bbb4ad;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

body.page-home .d2n-category-story__foot{
  margin-top:9px;
  padding-top:9px;
}

/* Single article category uses same image-first visual language */
body.page-home .d2n-category-stories.count-1 .d2n-category-story__media{
  aspect-ratio:16/9;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story h3{
  font-size:20px;
  -webkit-line-clamp:2;
}

body.page-home .d2n-category-stories.count-1 .d2n-category-story p{
  font-size:13px;
  -webkit-line-clamp:2;
}

/* ---------- MAGAZINE LIST: ALL CARDS IMAGE-LED ---------- */
body.page-magazine-list .d2n-index-card,
body.page-magazine-list .d2n-index-card:not(:first-child),
body.page-magazine-list .d2n-index-card:first-child{
  display:block;
  min-height:0;
  overflow:hidden;
}

body.page-magazine-list .d2n-index-card__media,
body.page-magazine-list .d2n-index-card:not(:first-child) .d2n-index-card__media,
body.page-magazine-list .d2n-index-card:first-child .d2n-index-card__media{
  position:relative;
  inset:auto;
  width:100%;
  min-height:0;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#09090b;
}

body.page-magazine-list .d2n-index-card__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  background:#09090b;
}

body.page-magazine-list .d2n-index-card__body,
body.page-magazine-list .d2n-index-card:not(:first-child) .d2n-index-card__body,
body.page-magazine-list .d2n-index-card:first-child .d2n-index-card__body{
  position:relative;
  inset:auto;
  min-height:0;
  padding:14px 15px 13px;
}

body.page-magazine-list .d2n-index-card__category{
  font-size:9px;
  letter-spacing:.7px;
}

body.page-magazine-list .d2n-index-card h2,
body.page-magazine-list .d2n-index-card:not(:first-child) h2,
body.page-magazine-list .d2n-index-card:first-child h2{
  margin-top:7px;
  max-width:100%;
  font-size:20px;
  line-height:1.11;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

body.page-magazine-list .d2n-index-card:first-child h2{
  font-size:21px;
}

body.page-magazine-list .d2n-index-card p,
body.page-magazine-list .d2n-index-card:not(:first-child) p,
body.page-magazine-list .d2n-index-card:first-child p{
  margin-top:8px;
  max-width:100%;
  font-size:13px;
  line-height:1.42;
  color:#bbb4ad;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

body.page-magazine-list .d2n-index-card__foot{
  margin-top:9px;
  padding-top:9px;
}

/* Number badge remains over the image */
body.page-magazine-list .d2n-index-card__number,
body.page-home .d2n-category-story__index{
  z-index:3;
}

/* Slightly stronger image framing */
body.page-home .d2n-category-story__media::after,
body.page-magazine-list .d2n-index-card__media::after{
  background:linear-gradient(180deg,rgba(0,0,0,0) 72%,rgba(0,0,0,.18) 100%);
}

/* narrow phones retain image-first layout */
@media(max-width:380px){
  body.page-home .d2n-category-story,
  body.page-magazine-list .d2n-index-card,
  body.page-magazine-list .d2n-index-card:not(:first-child){
    display:block;
  }

  body.page-home .d2n-category-story h3,
  body.page-home .d2n-category-story.is-lead h3{
    font-size:18px;
  }

  body.page-magazine-list .d2n-index-card h2,
  body.page-magazine-list .d2n-index-card:not(:first-child) h2,
  body.page-magazine-list .d2n-index-card:first-child h2{
    font-size:19px;
  }
}

/* =========================================================
   PHASE 56 — EN MOBILE MASTER UI/UX / SIDE MENU + SHELL
   Compact premium drawer; same card language as content.
   ========================================================= */

/* ---------- SIDE MENU ---------- */
html[lang="en"] .d2n-side-menu__backdrop{
  background:rgba(0,0,0,.80);
  backdrop-filter:blur(12px) saturate(.76);
  -webkit-backdrop-filter:blur(12px) saturate(.76);
}

html[lang="en"] .d2n-side-menu__panel{
  width:min(430px,calc(100vw - 10px));
  border-inline-start:1px solid rgba(255,255,255,.09);
  border-start-start-radius:24px;
  border-end-start-radius:24px;
  background:
    radial-gradient(circle at 92% 2%,rgba(230,37,114,.12),transparent 28%),
    radial-gradient(circle at 0 92%,rgba(217,185,110,.05),transparent 28%),
    linear-gradient(150deg,#111014 0%,#0a090c 48%,#08080a 100%);
  box-shadow:-26px 0 74px rgba(0,0,0,.58);
}

html[lang="en"] .d2n-side-menu__head{
  min-height:72px;
  padding:0 14px 0 16px;
  border-bottom:1px solid rgba(255,255,255,.075);
  background:rgba(10,9,12,.86);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

html[lang="en"] .d2n-side-menu__brand{
  gap:9px;
}

html[lang="en"] .d2n-side-menu__brand-mark{
  width:43px;
  height:37px;
  border-radius:9px 14px 9px 14px;
  font-size:12px;
  box-shadow:0 7px 24px rgba(230,37,114,.07);
}

html[lang="en"] .d2n-side-menu__brand strong{
  font-size:11px;
  letter-spacing:1.55px;
}

html[lang="en"] .d2n-side-menu__brand small{
  color:#756d67;
  font-size:6px;
  letter-spacing:.85px;
}

html[lang="en"] .d2n-side-menu__close{
  width:40px;
  height:40px;
  border-color:rgba(255,255,255,.11);
  background:rgba(255,255,255,.018);
}

html[lang="en"] .d2n-side-menu__body{
  padding:0 0 max(12px,env(safe-area-inset-bottom,0));
}

html[lang="en"] .d2n-side-menu__primary,
html[lang="en"] .d2n-side-menu__categories,
html[lang="en"] .d2n-side-menu__identity{
  padding:20px 16px;
}

html[lang="en"] .d2n-side-menu__primary,
html[lang="en"] .d2n-side-menu__categories{
  border-bottom:1px solid rgba(255,255,255,.07);
}

html[lang="en"] .d2n-side-menu__eyebrow,
html[lang="en"] .d2n-side-menu__section-head>span{
  color:#b89b5d;
  font-size:9px;
  letter-spacing:1.25px;
}

html[lang="en"] .d2n-side-menu__primary-nav{
  margin-top:13px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

html[lang="en"] .d2n-side-menu__primary-nav a,
html[lang="en"] .d2n-side-menu__primary-nav a:first-child{
  position:relative;
  min-height:84px;
  padding:11px 10px 10px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto 1fr;
  align-items:start;
  gap:6px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.023),rgba(255,255,255,.006)),
    #0c0b0e;
  overflow:hidden;
}

html[lang="en"] .d2n-side-menu__primary-nav a::before{
  content:"";
  position:absolute;
  inset:auto auto 0 0;
  width:0;
  height:2px;
  border-radius:0;
  background:linear-gradient(90deg,var(--pink),var(--gold));
  transform:none;
}

html[lang="en"] .d2n-side-menu__primary-nav a.is-active{
  padding:11px 10px 10px;
  border-color:rgba(230,37,114,.31);
  background:
    radial-gradient(circle at 8% 110%,rgba(230,37,114,.115),transparent 49%),
    #0d0c0f;
}

html[lang="en"] .d2n-side-menu__primary-nav a.is-active::before{
  width:100%;
  height:2px;
}

html[lang="en"] .d2n-side-menu__primary-nav a>span{
  grid-column:1;
  grid-row:1;
  color:#716861;
  font-size:8px;
  letter-spacing:.5px;
}

html[lang="en"] .d2n-side-menu__primary-nav a.is-active>span{
  color:var(--pink-soft);
}

html[lang="en"] .d2n-side-menu__primary-nav a>strong{
  grid-column:1 / -1;
  grid-row:2;
  align-self:end;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.05;
  letter-spacing:-.25px;
}

html[lang="en"] .d2n-side-menu__primary-nav a>i{
  grid-column:2;
  grid-row:1;
  width:24px;
  height:24px;
  font-size:8px;
  color:#a28e62;
  border-color:rgba(217,185,110,.15);
  background:rgba(217,185,110,.02);
}

html[lang="en"] .d2n-side-menu__section-head>strong{
  width:28px;
  height:28px;
  font-size:8px;
  border-color:rgba(230,37,114,.22);
  background:rgba(230,37,114,.025);
}

html[lang="en"] .d2n-side-menu__category-grid,
html[lang="en"] .d2n-side-menu__category-grid{
  margin-top:13px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}

html[lang="en"] .d2n-side-menu__category-grid a{
  min-height:72px;
  padding:10px 10px 9px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto 1fr;
  align-items:start;
  gap:5px;
  border-radius:13px;
  border-color:rgba(255,255,255,.075);
  background:
    radial-gradient(circle at 0 100%,rgba(230,37,114,.045),transparent 47%),
    rgba(255,255,255,.012);
}

html[lang="en"] .d2n-side-menu__category-grid a>span{
  grid-column:1;
  grid-row:1;
  color:#776d67;
  font-size:8px;
}

html[lang="en"] .d2n-side-menu__category-grid a>strong{
  grid-column:1 / -1;
  grid-row:2;
  align-self:end;
  font-size:13px;
  line-height:1.16;
  color:#eee7df;
}

html[lang="en"] .d2n-side-menu__category-grid a>i{
  grid-column:2;
  grid-row:1;
  justify-self:end;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid rgba(217,185,110,.14);
  border-radius:50%;
  color:var(--gold-soft);
  font-size:7px;
}

html[lang="en"] .d2n-side-menu__identity{
  min-height:0;
  padding-top:17px;
  padding-bottom:18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:end;
  gap:7px 15px;
  background:
    radial-gradient(circle at 100% 50%,rgba(230,37,114,.055),transparent 38%),
    linear-gradient(90deg,rgba(217,185,110,.016),transparent 48%);
}

html[lang="en"] .d2n-side-menu__identity::before{
  display:none;
}

html[lang="en"] .d2n-side-menu__identity-top{
  grid-column:1 / -1;
  display:flex;
  justify-content:flex-start;
  gap:14px;
  font-size:7px;
  letter-spacing:.85px;
}

html[lang="en"] .d2n-side-menu__identity-mark{
  grid-column:2;
  grid-row:2;
  margin:0;
  font-size:42px;
  line-height:.86;
  opacity:.5;
  -webkit-text-stroke:1px rgba(217,185,110,.34);
}

html[lang="en"] .d2n-side-menu__identity-copy{
  grid-column:1;
  grid-row:2;
  align-self:center;
}

html[lang="en"] .d2n-side-menu__identity-copy strong{
  color:#efd58e;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  font-style:italic;
  line-height:1;
}

html[lang="en"] .d2n-side-menu__identity-copy p{
  margin:6px 0 0;
  color:#8c847d;
  font-size:10px;
  line-height:1.4;
}

/* ---------- LANGUAGE PANEL: MATCH DRAWER ---------- */
html[lang="en"] .site-language-panel{
  width:min(390px,calc(100vw - 20px));
  max-height:min(72vh,590px);
  padding:11px;
  border-radius:19px;
  border-color:rgba(255,255,255,.095);
  background:
    radial-gradient(circle at 100% 0,rgba(230,37,114,.105),transparent 34%),
    linear-gradient(145deg,#111014,#09090b 62%);
  box-shadow:0 24px 76px rgba(0,0,0,.56);
}

html[lang="en"] .site-language-panel__head{
  padding:6px 6px 11px;
  font-size:9px;
  letter-spacing:1.15px;
}

html[lang="en"] .site-language-panel__head strong{
  width:28px;
  height:28px;
  font-size:8px;
}

html[lang="en"] .site-languages{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}

html[lang="en"] .site-language{
  min-height:58px;
  padding:8px 9px;
  grid-template-columns:34px minmax(0,1fr) 17px;
  gap:7px;
  border-radius:13px;
  border-color:rgba(255,255,255,.075);
  background:rgba(255,255,255,.012);
}

html[lang="en"] .site-language strong{
  width:32px;
  height:32px;
  font-size:8px;
}

html[lang="en"] .site-language span{
  font-size:11px;
}

html[lang="en"] .site-language.is-active{
  border-color:rgba(230,37,114,.34);
  background:
    radial-gradient(circle at 0 50%,rgba(230,37,114,.105),transparent 50%),
    rgba(255,255,255,.014);
}

/* ---------- FOOTER ---------- */
html[lang="en"] .site-footer{
  background:
    radial-gradient(circle at 95% 115%,rgba(230,37,114,.055),transparent 37%),
    #080809;
}

html[lang="en"] .site-counter{
  overflow:hidden;
  border-radius:15px;
  border-color:rgba(255,255,255,.085);
  background:rgba(255,255,255,.012);
}

@media(max-width:380px){
  html[lang="en"] .d2n-side-menu__panel{
    width:calc(100vw - 6px);
  }

  html[lang="en"] .d2n-side-menu__primary,
  html[lang="en"] .d2n-side-menu__categories,
  html[lang="en"] .d2n-side-menu__identity{
    padding-inline:13px;
  }

  html[lang="en"] .d2n-side-menu__primary-nav a{
    min-height:79px;
    padding-inline:8px;
  }

  html[lang="en"] .d2n-side-menu__primary-nav a>strong{
    font-size:15px;
  }

  html[lang="en"] .d2n-side-menu__category-grid a{
    min-height:68px;
  }

  html[lang="en"] .d2n-side-menu__category-grid a>strong{
    font-size:12px;
  }
}

/* =========================================================
   PHASE 57 — EN MOBILE HOME + LIST UX MASTER
   Mobile-first production pass:
   - tighter first-screen hierarchy
   - complete 2x3 Explore D2N navigation
   - one card system across Home / Magazine / Places
   - full 16:9 artwork, no destructive crop
   - stable title/excerpt/action rhythm
   - premium branded Places empty state
   ========================================================= */

/* ---------- SHARED MOBILE LIST TOKENS ---------- */
html[lang="en"]{
  --m-card-radius:18px;
  --m-card-border:rgba(255,255,255,.085);
  --m-card-bg:#0d0c0f;
  --m-card-copy:#bbb4ad;
  --m-section-gap:20px;
}

/* ---------- HOME / FIRST SCREEN ---------- */
html[lang="en"] body.page-home .home-hero{
  width:calc(100% - 20px);
  padding-top:10px;
  padding-bottom:9px;
  gap:10px;
}

html[lang="en"] body.page-home .home-hero__copy{
  padding:20px 18px 19px;
  border-radius:20px;
  border-color:rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 0 0,rgba(230,37,114,.105),transparent 36%),
    radial-gradient(circle at 100% 100%,rgba(217,185,110,.06),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.009)),
    #0d0c0f;
  box-shadow:0 16px 44px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.04);
}

html[lang="en"] body.page-home .home-hero__copy h1{
  margin-top:10px;
  font-size:40px;
  line-height:.96;
  letter-spacing:-1.45px;
}

html[lang="en"] body.page-home .home-hero__copy p{
  margin-top:12px;
  font-size:14.5px;
  line-height:1.49;
  color:#c3bcb4;
}

html[lang="en"] body.page-home .hero-actions{
  margin-top:15px;
  grid-template-columns:1.08fr .92fr;
  gap:8px;
}

html[lang="en"] body.page-home .hero-actions .button{
  min-width:0;
  min-height:43px;
  padding-inline:10px;
  border-radius:999px;
  font-size:11px;
  white-space:nowrap;
}

html[lang="en"] body.page-home .featured-story{
  border-radius:var(--m-card-radius);
  border-color:var(--m-card-border);
  box-shadow:0 18px 48px rgba(0,0,0,.28),inset 0 -1px 0 rgba(230,37,114,.18);
}

html[lang="en"] body.page-home .featured-story__media{
  aspect-ratio:16/9;
  background:#09090b;
}

html[lang="en"] body.page-home .featured-story__media img{
  object-fit:contain;
  object-position:center;
  background:#09090b;
}

html[lang="en"] body.page-home .featured-story__overlay{
  padding:14px 15px 14px;
}

html[lang="en"] body.page-home .featured-story h2{
  font-size:22px;
  line-height:1.09;
  letter-spacing:-.45px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}

html[lang="en"] body.page-home .featured-story p{
  margin-top:8px;
  font-size:13px;
  line-height:1.44;
  -webkit-line-clamp:2;
}

html[lang="en"] body.page-home .story-link{
  margin-top:10px;
  font-size:10px;
}

/* ---------- EXPLORE D2N: ALL SIX VISIBLE ---------- */
html[lang="en"] body.page-home .d2n-category-deck{
  width:calc(100% - 20px);
  margin-inline:auto;
  padding:17px 0 19px;
  border-top-color:rgba(255,255,255,.055);
  border-bottom-color:rgba(255,255,255,.055);
  background:transparent;
}

html[lang="en"] body.page-home .d2n-category-deck__intro{
  margin-bottom:11px;
  padding-inline:2px;
}

html[lang="en"] body.page-home .d2n-category-deck__rail{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  overflow:visible;
  padding:0;
  scroll-snap-type:none;
}

html[lang="en"] body.page-home .d2n-category-chip{
  width:100%;
  min-width:0;
  min-height:62px;
  padding:10px 10px;
  border-radius:14px;
  border-color:var(--m-card-border);
  background:
    radial-gradient(circle at 0 100%,rgba(230,37,114,.045),transparent 48%),
    rgba(255,255,255,.012);
}

html[lang="en"] body.page-home .d2n-category-chip>span{
  font-size:8.5px;
}

html[lang="en"] body.page-home .d2n-category-chip>strong{
  font-size:11.5px;
  line-height:1.16;
}

html[lang="en"] body.page-home .d2n-category-chip>i{
  width:25px;
  height:25px;
  border-color:rgba(217,185,110,.15);
  background:rgba(217,185,110,.018);
}

/* ---------- HOME CATEGORY SECTIONS ---------- */
html[lang="en"] body.page-home .d2n-category-section{
  width:calc(100% - 20px);
  padding-top:18px;
  padding-bottom:22px;
}

html[lang="en"] body.page-home .d2n-category-section__head{
  margin-bottom:11px;
  gap:8px;
}

html[lang="en"] body.page-home .d2n-category-section__number{
  font-size:25px;
  line-height:.92;
}

html[lang="en"] body.page-home .d2n-category-section__head h2,
html[lang="en"] body.page-home #category-massage-spa .d2n-category-section__head h2,
html[lang="en"] body.page-home #category-nightlife-guide .d2n-category-section__head h2,
html[lang="en"] body.page-home #category-food-late-night .d2n-category-section__head h2{
  margin-top:3px;
  font-size:22px;
  line-height:1.02;
}

html[lang="en"] body.page-home .d2n-category-section__more{
  min-height:34px;
  padding-inline:10px;
  border-color:rgba(255,255,255,.09);
  background:rgba(255,255,255,.012);
  font-size:8.5px;
}

html[lang="en"] body.page-home .d2n-category-stories,
html[lang="en"] body.page-home .d2n-category-stories.count-1,
html[lang="en"] body.page-home .d2n-category-stories.count-2,
html[lang="en"] body.page-home .d2n-category-stories.count-3{
  gap:11px;
}

html[lang="en"] body.page-home .d2n-category-story,
html[lang="en"] body.page-home .d2n-category-stories.count-1 .d2n-category-story,
html[lang="en"] body.page-home .d2n-category-stories.count-2 .d2n-category-story,
html[lang="en"] body.page-home .d2n-category-stories.count-3 .d2n-category-story{
  display:block;
  min-height:0;
  overflow:hidden;
  border-radius:var(--m-card-radius);
  border-color:var(--m-card-border);
  background:var(--m-card-bg);
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}

html[lang="en"] body.page-home .d2n-category-story__media,
html[lang="en"] body.page-home .d2n-category-stories.count-1 .d2n-category-story__media{
  width:100%;
  min-height:0;
  aspect-ratio:16/9;
  background:#09090b;
}

html[lang="en"] body.page-home .d2n-category-story__media img{
  object-fit:contain;
  object-position:center;
  background:#09090b;
}

html[lang="en"] body.page-home .d2n-category-story__index{
  width:31px;
  height:31px;
  right:8px;
  bottom:auto;
  top:8px;
  font-size:8px;
  border-color:rgba(255,255,255,.14);
  background:rgba(8,8,10,.72);
  backdrop-filter:blur(8px);
}

html[lang="en"] body.page-home .d2n-category-story__body,
html[lang="en"] body.page-home .d2n-category-stories.count-1 .d2n-category-story__body{
  min-height:142px;
  padding:13px 14px 12px;
  display:flex;
  flex-direction:column;
}

html[lang="en"] body.page-home .d2n-category-story__category{
  font-size:8.5px;
  letter-spacing:.6px;
}

html[lang="en"] body.page-home .d2n-category-story h3,
html[lang="en"] body.page-home .d2n-category-story.is-lead h3,
html[lang="en"] body.page-home .d2n-category-stories.count-1 .d2n-category-story h3{
  margin-top:7px;
  font-size:19px;
  line-height:1.1;
  letter-spacing:-.3px;
  -webkit-line-clamp:2;
}

html[lang="en"] body.page-home .d2n-category-story p,
html[lang="en"] body.page-home .d2n-category-stories.count-1 .d2n-category-story p{
  margin-top:8px;
  font-size:12.5px;
  line-height:1.42;
  color:var(--m-card-copy);
  -webkit-line-clamp:2;
}

html[lang="en"] body.page-home .d2n-category-story__foot{
  margin-top:auto;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.055);
  font-size:8.5px;
}

html[lang="en"] body.page-home .d2n-category-story__foot b{
  width:30px;
  height:30px;
  border-color:rgba(217,185,110,.16);
  background:rgba(217,185,110,.018);
}

/* ---------- HOME PLACES, WHEN DATA EXISTS ---------- */
html[lang="en"] body.page-home .home-places-grid{
  grid-template-columns:1fr;
  gap:11px;
}

html[lang="en"] body.page-home .home-place-card{
  display:block;
  overflow:hidden;
  border-radius:var(--m-card-radius);
  border-color:var(--m-card-border);
  background:var(--m-card-bg);
}

html[lang="en"] body.page-home .home-place-card .place-card__media{
  min-height:0;
  aspect-ratio:16/9;
}

html[lang="en"] body.page-home .home-place-card .place-card__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#09090b;
}

html[lang="en"] body.page-home .home-place-card .place-card__body{
  min-height:0;
  padding:13px 14px 12px;
}

/* ---------- MAGAZINE LIST HERO ---------- */
html[lang="en"] body.page-magazine-list .index-hero{
  padding-top:28px;
  padding-bottom:19px;
}

html[lang="en"] body.page-magazine-list .d2n-magazine-index-hero{
  width:calc(100% - 20px);
}

html[lang="en"] body.page-magazine-list .index-hero h1{
  margin-top:10px;
  font-size:39px;
  line-height:.98;
  letter-spacing:-1.35px;
}

html[lang="en"] body.page-magazine-list .index-hero p{
  margin-top:12px;
  font-size:14.5px;
  line-height:1.5;
  color:#bdb6ae;
}

html[lang="en"] body.page-magazine-list .d2n-magazine-index-hero::after{
  margin-top:13px;
  font-size:8px;
}

/* Category rail: visible swipe cue, consistent touch targets. */
html[lang="en"] body.page-magazine-list .d2n-index-category-nav{
  width:100%;
  padding:10px 10px 12px;
  gap:7px;
  scroll-padding-inline:10px 34px;
}

html[lang="en"] body.page-magazine-list .d2n-index-category-nav::after{
  content:"";
  flex:0 0 22px;
}

html[lang="en"] body.page-magazine-list .d2n-index-category-nav__item{
  flex-basis:142px;
  min-width:142px;
  min-height:58px;
  padding:9px 10px;
  border-radius:14px;
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.012);
}

html[lang="en"] body.page-magazine-list .d2n-index-category-nav__item.is-active{
  border-color:rgba(230,37,114,.34);
  background:
    radial-gradient(circle at 0 50%,rgba(230,37,114,.105),transparent 50%),
    rgba(255,255,255,.015);
}

html[lang="en"] body.page-magazine-list .d2n-index-category-nav__item span{
  width:30px;
  height:30px;
  font-size:8px;
}

html[lang="en"] body.page-magazine-list .d2n-index-category-nav__item strong{
  font-size:10.5px;
  line-height:1.16;
}

/* ---------- MAGAZINE LIST CARDS ---------- */
html[lang="en"] body.page-magazine-list .d2n-magazine-index{
  width:calc(100% - 20px);
  padding-top:12px;
  padding-bottom:44px;
}

html[lang="en"] body.page-magazine-list .d2n-index-grid{
  gap:11px;
}

html[lang="en"] body.page-magazine-list .d2n-index-card,
html[lang="en"] body.page-magazine-list .d2n-index-card:first-child,
html[lang="en"] body.page-magazine-list .d2n-index-card:not(:first-child){
  display:block;
  min-height:0;
  overflow:hidden;
  border-radius:var(--m-card-radius);
  border-color:var(--m-card-border);
  background:var(--m-card-bg);
  box-shadow:0 12px 34px rgba(0,0,0,.17);
}

html[lang="en"] body.page-magazine-list .d2n-index-card:first-child{
  border-color:rgba(230,37,114,.22);
  box-shadow:0 16px 42px rgba(0,0,0,.22),inset 0 -1px 0 rgba(230,37,114,.12);
}

html[lang="en"] body.page-magazine-list .d2n-index-card__media,
html[lang="en"] body.page-magazine-list .d2n-index-card:first-child .d2n-index-card__media,
html[lang="en"] body.page-magazine-list .d2n-index-card:not(:first-child) .d2n-index-card__media{
  width:100%;
  min-height:0;
  aspect-ratio:16/9;
  background:#09090b;
}

html[lang="en"] body.page-magazine-list .d2n-index-card__media img{
  object-fit:contain;
  object-position:center;
  background:#09090b;
}

html[lang="en"] body.page-magazine-list .d2n-index-card__number{
  width:31px;
  height:31px;
  right:8px;
  bottom:auto;
  top:8px;
  font-size:8px;
  background:rgba(8,8,10,.72);
  border-color:rgba(255,255,255,.14);
}

html[lang="en"] body.page-magazine-list .d2n-index-card__body,
html[lang="en"] body.page-magazine-list .d2n-index-card:first-child .d2n-index-card__body,
html[lang="en"] body.page-magazine-list .d2n-index-card:not(:first-child) .d2n-index-card__body{
  min-height:146px;
  padding:13px 14px 12px;
  display:flex;
  flex-direction:column;
}

html[lang="en"] body.page-magazine-list .d2n-index-card__category{
  font-size:8.5px;
  letter-spacing:.6px;
}

html[lang="en"] body.page-magazine-list .d2n-index-card h2,
html[lang="en"] body.page-magazine-list .d2n-index-card:first-child h2,
html[lang="en"] body.page-magazine-list .d2n-index-card:not(:first-child) h2{
  margin-top:7px;
  font-size:19px;
  line-height:1.1;
  letter-spacing:-.3px;
  -webkit-line-clamp:2;
}

html[lang="en"] body.page-magazine-list .d2n-index-card:first-child h2{
  font-size:20.5px;
}

html[lang="en"] body.page-magazine-list .d2n-index-card p,
html[lang="en"] body.page-magazine-list .d2n-index-card:first-child p,
html[lang="en"] body.page-magazine-list .d2n-index-card:not(:first-child) p{
  margin-top:8px;
  font-size:12.5px;
  line-height:1.42;
  color:var(--m-card-copy);
  -webkit-line-clamp:2;
}

html[lang="en"] body.page-magazine-list .d2n-index-card__foot{
  margin-top:auto;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.055);
  font-size:8.5px;
}

html[lang="en"] body.page-magazine-list .d2n-index-card__foot b{
  width:30px;
  height:30px;
  border-color:rgba(217,185,110,.16);
  background:rgba(217,185,110,.018);
}

/* ---------- PLACES LIST: SAME IMAGE-LED CARD SYSTEM ---------- */
html[lang="en"] body.page-places-list .index-hero{
  width:calc(100% - 20px);
  padding-top:28px;
  padding-bottom:19px;
}

html[lang="en"] body.page-places-list .index-hero h1{
  margin-top:10px;
  font-size:39px;
  line-height:.98;
}

html[lang="en"] body.page-places-list .index-hero p{
  margin-top:12px;
  font-size:14.5px;
  line-height:1.5;
  color:#bdb6ae;
}

html[lang="en"] body.page-places-list .site-section--index{
  width:calc(100% - 20px);
  padding-top:12px;
  padding-bottom:44px;
}

html[lang="en"] body.page-places-list .places-grid--index{
  gap:11px;
}

html[lang="en"] body.page-places-list .place-card,
html[lang="en"] body.page-places-list .place-card:first-child,
html[lang="en"] body.page-places-list .place-card:not(:first-child){
  display:block;
  min-height:0;
  overflow:hidden;
  border-radius:var(--m-card-radius);
  border-color:var(--m-card-border);
  background:var(--m-card-bg);
  box-shadow:0 12px 34px rgba(0,0,0,.17);
}

html[lang="en"] body.page-places-list .place-card:first-child{
  border-color:rgba(230,37,114,.22);
}

html[lang="en"] body.page-places-list .place-card__media,
html[lang="en"] body.page-places-list .place-card:first-child .place-card__media,
html[lang="en"] body.page-places-list .place-card:not(:first-child) .place-card__media{
  position:relative;
  inset:auto;
  width:100%;
  min-height:0;
  aspect-ratio:16/9;
  background:#09090b;
}

html[lang="en"] body.page-places-list .place-card__media::after,
html[lang="en"] body.page-places-list .place-card:first-child .place-card__media::after{
  background:linear-gradient(180deg,transparent 74%,rgba(0,0,0,.18) 100%);
}

html[lang="en"] body.page-places-list .place-card__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#09090b;
}

html[lang="en"] body.page-places-list .place-card__body,
html[lang="en"] body.page-places-list .place-card:first-child .place-card__body,
html[lang="en"] body.page-places-list .place-card:not(:first-child) .place-card__body{
  position:relative;
  inset:auto;
  min-height:138px;
  padding:13px 14px 12px;
  display:flex;
  flex-direction:column;
}

html[lang="en"] body.page-places-list .place-card:first-child .place-card__body::before,
html[lang="en"] body.page-places-list .place-card:not(:first-child) .place-card__body::before{
  display:none;
}

html[lang="en"] body.page-places-list .place-category{
  font-size:8.5px;
  letter-spacing:.6px;
}

html[lang="en"] body.page-places-list .place-card h2,
html[lang="en"] body.page-places-list .place-card h3,
html[lang="en"] body.page-places-list .place-card:first-child h2,
html[lang="en"] body.page-places-list .place-card:first-child h3{
  max-width:100%;
  margin-top:7px;
  font-size:19px;
  line-height:1.1;
  letter-spacing:-.3px;
  text-shadow:none;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

html[lang="en"] body.page-places-list .place-card:first-child h2,
html[lang="en"] body.page-places-list .place-card:first-child h3{
  font-size:20.5px;
}

html[lang="en"] body.page-places-list .place-card p,
html[lang="en"] body.page-places-list .place-card:first-child p{
  max-width:100%;
  margin-top:8px;
  font-size:12.5px;
  line-height:1.42;
  color:var(--m-card-copy);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

html[lang="en"] body.page-places-list .place-price,
html[lang="en"] body.page-places-list .place-card:first-child .place-price{
  margin-top:auto;
  padding:6px 9px;
  font-size:9px;
}

/* ---------- BRANDED EMPTY STATE ---------- */
html[lang="en"] body.page-places-list .d2n-places-empty{
  position:relative;
  min-height:260px;
  padding:24px 20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border:1px solid rgba(230,37,114,.18);
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0,rgba(230,37,114,.10),transparent 34%),
    radial-gradient(circle at 0 100%,rgba(217,185,110,.05),transparent 38%),
    #0d0c0f;
  box-shadow:0 18px 48px rgba(0,0,0,.20);
}

html[lang="en"] body.page-places-list .d2n-places-empty::before{
  content:"D2N";
  position:absolute;
  right:-8px;
  top:12px;
  color:transparent;
  -webkit-text-stroke:1px rgba(217,185,110,.12);
  font-size:105px;
  font-weight:950;
  letter-spacing:-9px;
  transform:skewX(-7deg);
}

html[lang="en"] body.page-places-list .d2n-places-empty__label{
  position:relative;
  color:var(--pink-soft);
  font-size:9px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}

html[lang="en"] body.page-places-list .d2n-places-empty h2{
  position:relative;
  max-width:290px;
  margin:8px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  color:#fffaf3;
  font-size:26px;
  line-height:1.06;
  letter-spacing:-.55px;
}

html[lang="en"] body.page-places-list .d2n-places-empty p{
  position:relative;
  max-width:310px;
  margin:10px 0 0;
  color:#aaa39b;
  font-size:13px;
  line-height:1.48;
}

html[lang="en"] body.page-places-list .d2n-places-empty .button{
  position:relative;
  width:max-content;
  margin-top:17px;
  min-height:42px;
  font-size:10.5px;
}

/* ---------- PAGINATION ---------- */
html[lang="en"] body.page-magazine-list .public-pagination,
html[lang="en"] body.page-places-list .public-pagination{
  margin-top:20px;
  gap:7px;
}

html[lang="en"] body.page-magazine-list .public-pagination>* ,
html[lang="en"] body.page-places-list .public-pagination>*{
  min-height:38px;
  border-radius:999px;
}

/* ---------- NARROW PHONE SAFETY ---------- */
@media(max-width:340px){
  html[lang="en"] body.page-home .hero-actions{
    grid-template-columns:1fr;
  }

  html[lang="en"] body.page-home .home-hero__copy h1,
  html[lang="en"] body.page-magazine-list .index-hero h1,
  html[lang="en"] body.page-places-list .index-hero h1{
    font-size:36px;
  }

  html[lang="en"] body.page-home .d2n-category-deck__rail{
    grid-template-columns:1fr;
  }
}



/* =========================================================
   PHASE 58 — EN MOBILE VIEW READING UX MASTER
   Magazine VIEW + Places VIEW only.
   Goal: faster content entry, calmer hierarchy, stronger
   16:9 visuals, readable long-form text, consistent actions.
   ========================================================= */

/* ---------------------------------------------------------
   MAGAZINE VIEW — MASTHEAD
   --------------------------------------------------------- */
html[lang="en"] body.page-magazine-view .magazine-masthead{
  width:calc(100% - 20px);
  margin-top:10px;
  border-radius:20px;
  border-color:rgba(255,255,255,.085);
  box-shadow:0 16px 44px rgba(0,0,0,.27);
}

html[lang="en"] body.page-magazine-view .magazine-masthead__media{
  order:1;
  min-height:0;
  aspect-ratio:16/9;
  background:#09090b;
}

html[lang="en"] body.page-magazine-view .magazine-masthead__media::before{
  background:
    radial-gradient(circle at 84% 13%,rgba(230,37,114,.075),transparent 31%);
}

html[lang="en"] body.page-magazine-view .magazine-masthead__media::after{
  background:linear-gradient(180deg,transparent 76%,rgba(0,0,0,.16) 100%);
}

html[lang="en"] body.page-magazine-view .magazine-masthead__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#09090b;
}

html[lang="en"] body.page-magazine-view .magazine-masthead__copy{
  order:2;
  padding:17px 16px 16px;
}

html[lang="en"] body.page-magazine-view .magazine-masthead__copy::before{
  font-size:76px;
  opacity:.58;
}

html[lang="en"] body.page-magazine-view .magazine-masthead__meta{
  gap:7px;
  font-size:8.5px;
  letter-spacing:.7px;
}

html[lang="en"] body.page-magazine-view .magazine-masthead h1{
  max-width:100%;
  margin-top:10px;
  font-size:30px;
  line-height:1.04;
  letter-spacing:-.7px;
  text-wrap:balance;
}

html[lang="en"] body.page-magazine-view .magazine-masthead__subtitle{
  margin-top:10px;
  font-size:15px;
  line-height:1.43;
}

html[lang="en"] body.page-magazine-view .magazine-masthead__summary{
  margin-top:9px;
  font-size:13.5px;
  line-height:1.55;
  color:#bbb4ac;
}

html[lang="en"] body.page-magazine-view .magazine-masthead__foot{
  margin-top:12px;
  padding-top:10px;
  font-size:8px;
  letter-spacing:.6px;
}

/* ---------------------------------------------------------
   MAGAZINE VIEW — READING ENTRY / CONTENTS
   --------------------------------------------------------- */
html[lang="en"] body.page-magazine-view .magazine-reading{
  width:calc(100% - 24px);
  margin-top:22px;
}

html[lang="en"] body.page-magazine-view .magazine-reading__intro{
  margin-bottom:11px;
  padding-bottom:10px;
}

html[lang="en"] body.page-magazine-view .magazine-reading__intro::before{
  width:22px;
}

html[lang="en"] body.page-magazine-view .magazine-reading__intro span{
  font-size:9px;
  letter-spacing:.75px;
}

html[lang="en"] body.page-magazine-view .magazine-reading__intro strong{
  display:none;
}

/* Compact native details = mobile Article Index. */
html[lang="en"] body.page-magazine-view .magazine-mobile-toc{
  margin:0 0 21px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.085);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0,rgba(230,37,114,.055),transparent 34%),
    #0d0c0f;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc summary{
  min-height:48px;
  padding:0 13px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 28px;
  align-items:center;
  gap:9px;
  list-style:none;
  cursor:pointer;
  user-select:none;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc summary::-webkit-details-marker{
  display:none;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc summary span{
  color:#c7aa68;
  font-size:9px;
  font-weight:900;
  letter-spacing:.9px;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc summary strong{
  color:#776f68;
  font-size:10px;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc summary i{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(217,185,110,.16);
  border-radius:50%;
  color:var(--gold-soft);
  font-size:15px;
  font-style:normal;
  line-height:1;
  transition:transform .18s ease;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc[open] summary i{
  transform:rotate(45deg);
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc nav{
  padding:0 10px 10px;
  display:grid;
  gap:5px;
  border-top:1px solid rgba(255,255,255,.055);
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc nav a{
  min-height:44px;
  padding:8px 9px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:9px;
  border-bottom:1px solid rgba(255,255,255,.045);
  color:#dad3ca;
  text-decoration:none;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc nav a:last-child{
  border-bottom:0;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc nav a>span{
  color:var(--pink-soft);
  font-size:9px;
  font-weight:900;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc nav a>strong{
  font-size:12.5px;
  line-height:1.28;
  font-weight:700;
}

/* ---------------------------------------------------------
   MAGAZINE VIEW — LONG-FORM TYPE RHYTHM
   --------------------------------------------------------- */
html[lang="en"] body.page-magazine-view .magazine-paragraph{
  margin-bottom:23px!important;
}

html[lang="en"] body.page-magazine-view .magazine-paragraph p{
  color:#d2cbc3;
  font-size:16.5px;
  line-height:1.72;
  letter-spacing:0;
}

html[lang="en"] body.page-magazine-view .magazine-paragraph:first-child p::first-letter{
  margin-top:5px;
  font-size:48px;
}

html[lang="en"] body.page-magazine-view .magazine-section-heading{
  margin:37px 0 17px!important;
  padding-top:14px;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  scroll-margin-top:92px;
}

html[lang="en"] body.page-magazine-view .magazine-section-heading__index{
  padding-top:2px;
  font-size:25px;
}

html[lang="en"] body.page-magazine-view .magazine-section-heading>div:last-child>span{
  font-size:8px;
  letter-spacing:.75px;
}

html[lang="en"] body.page-magazine-view .magazine-section-heading h2{
  margin-top:4px;
  font-size:23px;
  line-height:1.16;
  letter-spacing:-.35px;
}

html[lang="en"] body.page-magazine-view .magazine-subheading{
  margin:27px 0 13px!important;
}

html[lang="en"] body.page-magazine-view .magazine-subheading h3{
  font-size:19px;
  line-height:1.28;
}

html[lang="en"] body.page-magazine-view .magazine-subheading.is-numbered{
  padding:13px 13px 13px 15px;
  border-radius:14px;
}

html[lang="en"] body.page-magazine-view .magazine-subheading.is-numbered h3{
  font-size:18px!important;
}

html[lang="en"] body.page-magazine-view .magazine-list{
  margin-bottom:23px!important;
  padding:14px 14px 14px 16px;
  border-radius:15px;
}

html[lang="en"] body.page-magazine-view .magazine-list li{
  margin:8px 0!important;
  font-size:15.5px;
  line-height:1.62;
}

html[lang="en"] body.page-magazine-view .magazine-quote blockquote{
  padding:18px 17px;
  border-radius:15px;
  font-size:18px;
  line-height:1.5;
}

/* Full image first; no crop. */
html[lang="en"] body.page-magazine-view .magazine-media{
  margin:29px -2px!important;
  aspect-ratio:16/9;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#09090b;
}

html[lang="en"] body.page-magazine-view .magazine-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#09090b;
}

html[lang="en"] body.page-magazine-view .magazine-media::after{
  right:8px;
  bottom:8px;
  padding:4px 7px;
  font-size:7px;
  letter-spacing:.55px;
}

html[lang="en"] body.page-magazine-view .magazine-video{
  margin:29px 0!important;
  border-radius:16px;
}

html[lang="en"] body.page-magazine-view .magazine-sponsored{
  margin:29px 0;
  padding:16px;
  border-radius:16px;
}

html[lang="en"] body.page-magazine-view .magazine-sponsored small{
  font-size:8px;
}

html[lang="en"] body.page-magazine-view .magazine-sponsored h3{
  font-size:19px;
}

html[lang="en"] body.page-magazine-view .magazine-sponsored p{
  font-size:12.5px;
  line-height:1.48;
}

html[lang="en"] body.page-magazine-view .magazine-sponsored>a{
  min-height:42px;
  margin-top:12px;
  padding-inline:13px;
  font-size:10.5px;
}

/* Article ending should feel like a finish, not tiny utility text. */
html[lang="en"] body.page-magazine-view .magazine-article-end{
  margin-top:38px;
  padding:18px 0 38px;
  gap:12px;
}

html[lang="en"] body.page-magazine-view .magazine-article-end span{
  font-size:8px;
}

html[lang="en"] body.page-magazine-view .magazine-article-end strong{
  font-size:16px;
}

html[lang="en"] body.page-magazine-view .magazine-article-end__actions{
  gap:7px;
}

html[lang="en"] body.page-magazine-view .magazine-article-end__actions a{
  min-height:40px;
  padding-inline:12px;
  font-size:10px;
}

/* ---------------------------------------------------------
   PLACES VIEW — VISUAL FIRST
   --------------------------------------------------------- */
html[lang="en"] body.page-places-view .place-detail{
  width:calc(100% - 20px);
  padding-top:10px;
  padding-bottom:46px;
  display:flex;
  flex-direction:column;
}

html[lang="en"] body.page-places-view .place-detail>.hero{
  order:1;
  width:100%;
  min-height:0;
  aspect-ratio:16/9;
  margin-top:0;
  object-fit:contain;
  object-position:center;
  border-radius:20px;
  background:#09090b;
  box-shadow:0 16px 44px rgba(0,0,0,.27);
}

html[lang="en"] body.page-places-view .place-detail>.eyebrow{
  order:2;
  margin:17px 3px 0;
  font-size:8.5px;
  letter-spacing:.8px;
}

html[lang="en"] body.page-places-view .place-detail>.eyebrow::before{
  width:30px;
  height:24px;
  font-size:7px;
}

html[lang="en"] body.page-places-view .place-detail>h1{
  order:3;
  max-width:100%;
  margin:10px 3px 0;
  font-size:31px;
  line-height:1.04;
  letter-spacing:-.7px;
}

html[lang="en"] body.page-places-view .place-detail>.article-subtitle{
  order:4;
  max-width:100%;
  margin:9px 3px 0;
  font-size:14.5px;
  line-height:1.48;
}

html[lang="en"] body.page-places-view .place-detail>.article-subtitle::after{
  margin-top:12px;
  padding-top:9px;
  font-size:8px;
  letter-spacing:.8px;
}

/* Gallery: large swipeable 16:9 visuals. */
html[lang="en"] body.page-places-view .place-detail>.gallery{
  order:5;
  width:100%;
  margin:18px 0 0;
  padding:0 0 4px;
  gap:9px;
  scroll-padding-inline:0 30px;
}

html[lang="en"] body.page-places-view .place-detail>.gallery::after{
  content:"";
  flex:0 0 26px;
}

html[lang="en"] body.page-places-view .place-detail>.gallery img{
  flex:0 0 84%;
  width:84%;
  min-height:0;
  aspect-ratio:16/9;
  object-fit:contain;
  object-position:center;
  border-radius:16px;
  background:#09090b;
}

/* Detail blocks become one consistent premium surface system. */
html[lang="en"] body.page-places-view .place-detail>section.block{
  margin-top:13px;
  padding:17px 16px 18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.018),transparent 62%),
    #0d0c0f;
  box-shadow:0 12px 34px rgba(0,0,0,.15);
}

html[lang="en"] body.page-places-view .place-detail>section.block:nth-of-type(1){
  order:6;
}

html[lang="en"] body.page-places-view .place-detail>section.block:nth-of-type(2){
  order:7;
}

html[lang="en"] body.page-places-view .place-detail>section.block:nth-of-type(3){
  order:8;
}

html[lang="en"] body.page-places-view .place-detail>section.block h2{
  margin:0 0 12px;
  font-size:22px;
  line-height:1.1;
}

html[lang="en"] body.page-places-view .place-detail>section.block h2::after{
  content:"";
  width:34px;
  height:1px;
  margin-top:9px;
  display:block;
  background:linear-gradient(90deg,var(--pink),var(--gold-soft));
}

html[lang="en"] body.page-places-view .rich-text,
html[lang="en"] body.page-places-view .place-detail>section.block p{
  color:#d0c8bf;
  font-size:15px;
  line-height:1.68;
}

html[lang="en"] body.page-places-view .place-detail>section.block p{
  margin:9px 0 0;
}

html[lang="en"] body.page-places-view .place-detail>section.block p strong{
  color:#fff4e6;
}

/* Information notice. */
html[lang="en"] body.page-places-view .place-detail .info-box{
  margin-top:13px;
  padding:13px 14px;
  border:1px solid rgba(217,185,110,.16);
  border-radius:14px;
  color:#c8c0b7;
  background:rgba(217,185,110,.025);
  font-size:13.5px;
  line-height:1.55;
}

/* Contact actions: large touch targets, not text links. */
html[lang="en"] body.page-places-view .place-detail>section.block:nth-of-type(3){
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

html[lang="en"] body.page-places-view .place-detail>section.block:nth-of-type(3) h2{
  grid-column:1 / -1;
}

html[lang="en"] body.page-places-view .place-detail>section.block:nth-of-type(3) p{
  margin:0;
}

html[lang="en"] body.page-places-view .place-detail>section.block:nth-of-type(3) p a{
  width:100%;
  min-height:44px;
  padding:0 11px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(217,185,110,.16);
  border-radius:999px;
  color:#e7d5a9;
  background:rgba(217,185,110,.025);
  font-size:11px;
  font-weight:850;
  text-decoration:none;
}

/* Google Maps CTA. */
html[lang="en"] body.page-places-view .place-detail>p:last-child{
  order:9;
  margin:10px 0 0;
}

html[lang="en"] body.page-places-view .place-detail>p:last-child>a{
  width:100%;
  min-height:46px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(230,37,114,.20);
  border-radius:999px;
  color:#f3d8e3;
  background:
    radial-gradient(circle at 50% 100%,rgba(230,37,114,.07),transparent 60%),
    rgba(255,255,255,.012);
  font-size:11px;
  font-weight:850;
  text-decoration:none;
}

/* ---------- NARROW PHONE SAFETY ---------- */
@media(max-width:360px){
  html[lang="en"] body.page-magazine-view .magazine-masthead h1{
    font-size:28px;
  }

  html[lang="en"] body.page-magazine-view .magazine-paragraph p{
    font-size:16px;
  }

  html[lang="en"] body.page-magazine-view .magazine-section-heading h2{
    font-size:22px;
  }

  html[lang="en"] body.page-places-view .place-detail>h1{
    font-size:29px;
  }

  html[lang="en"] body.page-places-view .place-detail>section.block:nth-of-type(3){
    grid-template-columns:1fr;
  }

  html[lang="en"] body.page-places-view .place-detail>section.block:nth-of-type(3) h2{
    grid-column:auto;
  }
}


/* =========================================================
   PHASE 60 — EN INTERACTION / STATE / EDGE QA
   English master final-behavior layer.
   ========================================================= */

/* Visible keyboard focus: consistent across every major control. */
html[lang="en"] :where(
  a,
  button,
  summary,
  [tabindex]:not([tabindex="-1"])
):focus-visible{
  outline:2px solid rgba(240,217,157,.92);
  outline-offset:3px;
  box-shadow:0 0 0 5px rgba(230,37,114,.13);
}

html[lang="en"] :where(
  .site-language,
  .d2n-index-category-nav__item,
  .d2n-category-chip,
  .d2n-category-section__more,
  .button,
  .public-pagination>a
):focus-visible{
  border-color:rgba(240,217,157,.50);
}

/* Press feedback is intentionally tiny: tactile, not gimmicky. */
html[lang="en"] :where(
  .button,
  .site-language-trigger,
  .d2n-menu-toggle,
  .d2n-side-menu__close,
  .d2n-category-chip,
  .d2n-index-category-nav__item,
  .d2n-category-section__more,
  .public-pagination>a
):active{
  transform:translateY(1px) scale(.992);
}

/* Current state always reads stronger than hover state. */
html[lang="en"] :where(
  .site-nav>a.is-active,
  .site-language.is-active,
  .d2n-side-menu__primary-nav a.is-active,
  .d2n-index-category-nav__item.is-active
){
  cursor:default;
}

/* Safe title wrapping / long English strings. */
html[lang="en"] :where(
  .featured-story h2,
  .d2n-category-story h3,
  .d2n-index-card h2,
  .place-card h2,
  .place-card h3,
  .magazine-masthead h1,
  .place-detail>h1,
  .d2n-side-menu__category-grid a>strong
){
  overflow-wrap:anywhere;
}

/* Image failure fallback uses the exact same media box. */
html[lang="en"] .site-main img.is-media-fallback{
  object-fit:cover!important;
  object-position:center!important;
  background:#09090b!important;
}

/* Disabled pagination is visibly inert. */
html[lang="en"] .public-pagination .is-disabled{
  opacity:.42;
  cursor:not-allowed;
  user-select:none;
}

/* Prevent anchor headings being hidden under the sticky shell. */
html[lang="en"] :where(
  .magazine-section-heading,
  .d2n-category-section
){
  scroll-margin-top:112px;
}

/* Article-index current-section state. */
html[lang="en"] .magazine-toc a.is-current,
html[lang="en"] .magazine-mobile-toc nav a.is-current{
  color:#fff6ea;
  border-color:rgba(230,37,114,.22);
  background:
    linear-gradient(90deg,rgba(230,37,114,.085),rgba(217,185,110,.018) 70%,transparent);
}

html[lang="en"] .magazine-toc a.is-current span,
html[lang="en"] .magazine-mobile-toc nav a.is-current>span{
  color:var(--pink-soft);
}

/* Avoid card transforms on touch; use them only with a true hover device. */
@media(hover:hover) and (pointer:fine){
  html[lang="en"] :where(
    .featured-story,
    .d2n-category-story,
    .d2n-index-card,
    .place-card,
    .d2n-category-chip,
    .d2n-index-category-nav__item,
    .site-language
  ){
    transition:
      transform .18s ease,
      border-color .18s ease,
      background-color .18s ease,
      box-shadow .18s ease;
  }

  html[lang="en"] :where(
    .d2n-category-story,
    .d2n-index-card,
    .place-card
  ):hover{
    transform:translateY(-2px);
    border-color:rgba(217,185,110,.16);
  }

  html[lang="en"] :where(
    .d2n-category-story,
    .d2n-index-card,
    .place-card
  ):hover :where(
    .d2n-category-story__foot b,
    .d2n-index-card__foot b,
    .home-place-card__foot b
  ){
    transform:translateX(2px);
  }

  html[lang="en"] .site-language:hover{
    border-color:rgba(217,185,110,.18);
    background:rgba(217,185,110,.025);
  }
}

/* Reduced motion: no transitional dependency for comprehension. */
@media(prefers-reduced-motion:reduce){
  html[lang="en"] :where(
    .featured-story,
    .d2n-category-story,
    .d2n-index-card,
    .place-card,
    .d2n-category-chip,
    .d2n-index-category-nav__item,
    .site-language,
    .d2n-side-menu__panel,
    .site-language-panel
  ){
    transition:none!important;
    transform:none!important;
  }
}


/* ---------- PHASE60 MOBILE STATES ---------- */
html[lang="en"] body{
  -webkit-tap-highlight-color:transparent;
}

html[lang="en"] :where(
  .button,
  .site-language-trigger,
  .d2n-menu-toggle,
  .d2n-side-menu__close,
  .d2n-category-chip,
  .d2n-index-category-nav__item,
  .d2n-category-section__more,
  .d2n-index-card,
  .d2n-category-story,
  .place-card
){
  touch-action:manipulation;
}

html[lang="en"] .site-language-panel{
  overscroll-behavior:contain;
  scrollbar-width:thin;
}

html[lang="en"] .d2n-side-menu__body{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc summary{
  -webkit-tap-highlight-color:transparent;
}

html[lang="en"] body.page-magazine-view .magazine-mobile-toc nav a.is-current{
  box-shadow:inset 2px 0 0 var(--pink);
}

/* Long card titles remain predictable on narrow phones. */
@media(max-width:430px){
  html[lang="en"] body.page-home .d2n-category-story h3,
  html[lang="en"] body.page-magazine-list .d2n-index-card h2,
  html[lang="en"] body.page-places-list .place-card h2,
  html[lang="en"] body.page-places-list .place-card h3{
    max-height:2.25em;
  }
}

@media(max-width:360px){
  html[lang="en"] .site-brand__text small{
    display:none;
  }

  html[lang="en"] .site-header__main{
    gap:7px;
  }

  html[lang="en"] .d2n-menu-toggle{
    flex:0 0 auto;
  }
}
