/* One phone layout across LOV Angels. Desktop compositions remain unchanged. */
.navigation-mobile-mark{display:none}
@media(max-width:767px),(max-width:950px) and (pointer:coarse){
 :root{--glass-height:64px;--masthead-height:90px}
 body.lov-black-edition header.site-header.ux-header.responsive-header{
  top:max(10px,env(safe-area-inset-top));width:calc(100% - 28px);height:64px;
  border-radius:18px;background:linear-gradient(115deg,#ffffff0a,transparent 65%),#0a0d0fc7;
 }
 body.lov-black-edition .responsive-header .header-inner{
  display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr;
  grid-template-areas:'logo actions';gap:12px;padding:0 16px;
 }
 body.lov-black-edition .responsive-header .wordmark{width:158px;max-width:100%;min-height:44px}
 body.lov-black-edition .responsive-header .header-cta-group{display:none}
 body.lov-black-edition .responsive-header .header-actions{grid-area:actions}
 body.lov-black-edition .responsive-header #menu-button{
  min-width:78px;min-height:44px;padding:0 0 0 12px;gap:10px;
  border-left-color:#ffffff26;font-size:10px;
 }
 body.lov-black-edition .responsive-header #menu-button .icon{width:22px;height:22px}
 body.lov-black-edition .mp-hero-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding-top:140px;padding-bottom:35px}
 body.lov-black-edition .member-planning .mp-hero h1{font-size:clamp(38px,11vw,50px)}
 body.lov-black-edition .member-planning .mp-hero-copy{position:relative;isolation:isolate}
 body.lov-black-edition .member-planning .mp-hero-copy::before{
  content:"";position:absolute;inset:-28px -22px;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,#000b,#0008 80%,transparent);filter:blur(20px);
 }
 body.lov-black-edition .member-planning .mp-hero-copy .mp-deck{color:#f2f2ec}

 /* A calm full-screen sheet, with five clear choices and utilities below. */
 body.lov-black-edition nav.ux-menu.ux-navigation{
  position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;
  margin:0;padding:0;border:0;border-radius:0;box-sizing:border-box;
  background:linear-gradient(150deg,#ffffff07,transparent 48%),#080a0c;
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  transform:translateY(-10px);transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1);
 }
 body.lov-black-edition.menu-is-open nav.ux-menu.ux-navigation{transform:none}
 body.lov-black-edition .ux-navigation .ux-menu-toolbar{
  min-height:80px;box-sizing:border-box;padding:max(14px,env(safe-area-inset-top)) 24px 14px;
  border-radius:0;background:#080a0cf5;border-bottom:1px solid #ffffff20;
 }
 .ux-navigation .ux-menu-toolbar>.eyebrow{display:none}
 .ux-navigation .navigation-mobile-mark{display:flex;align-items:center;max-width:55%}
 .navigation-mobile-mark img{display:block;width:168px;max-width:100%;height:auto}
 body.lov-black-edition .ux-navigation .ux-menu-close{
  min-width:44px;width:44px;height:44px;min-height:44px;padding:0;gap:0;
  font-size:0;border:1px solid #ffffff40;background:#ffffff07;
 }
 .ux-navigation .ux-menu-close>span{font:300 27px/1 var(--sans);transform:translateY(-1px)}
 body.lov-black-edition .ux-navigation>.navigation-layout{
  display:flex;flex-direction:column;width:100%;gap:24px;padding:20px 26px max(28px,env(safe-area-inset-bottom));
 }
 .ux-navigation .navigation-intro,.ux-navigation .navigation-pages>a>small,
 .ux-navigation .navigation-utilities>p{display:none}
 .ux-navigation .navigation-main,.ux-navigation .navigation-aside{width:100%;min-width:0;padding:0}
 .ux-navigation .navigation-pages{display:flex;flex-direction:column}
 .ux-navigation .navigation-pages>a{
  display:flex;align-items:center;min-height:62px;padding:13px 0;gap:0;
  border-top:0;border-bottom:1px solid #ffffff21;background:none;box-sizing:border-box;
 }
 .ux-navigation .navigation-pages>a>span{font:400 19px/1.6 var(--brand-nav);letter-spacing:0;text-transform:uppercase}
 .ux-navigation .navigation-pages>a[aria-current]{padding-left:14px;border-left:2px solid #fff;background:linear-gradient(90deg,#ffffff09,transparent)}
 .ux-navigation .navigation-utilities .header-cta-group{display:grid;grid-template-columns:1fr;gap:10px}
 body.lov-black-edition .ux-navigation .header-account-cta{min-height:48px;font-size:11px;padding:12px 16px}
 body.lov-black-edition .ux-navigation .ux-menu-secondary{
  display:flex;flex-wrap:wrap;gap:0 22px;margin:22px 0 10px;padding:12px 0;
  border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;
 }
 .ux-navigation .ux-menu-secondary>a{min-height:44px;font-size:10px;padding:8px 0}
 body.lov-black-edition .ux-navigation .ux-search-shortcut{
  min-height:48px;padding:12px 0;background:none;border-radius:0;font-size:15px;
 }

 /* No narrow pairs of services or photographs on phones. */
 body.lov-black-edition :is(.ti-stories,.elite-membership-stories,.sl-card-grid,.elite-service-grid,
 .travel-service-grid,.corporate-offer-grid,.story-photo-pair,.story-chapter-grid,.story-related-grid,
 .sf-chapter-grid,.ux-service-list,.member-moments,.sl-process ol,.corporate-quotation,.ux-journal-grid,
 .escape-destinations,.escape-choices){
  grid-template-columns:minmax(0,1fr);gap:20px;
 }
 body.lov-black-edition .ux-home .ux-intent-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 body.lov-black-edition .ux-home .ux-intent>img{aspect-ratio:1.8}
 body.lov-black-edition .ux-home .ux-intent>div{padding:22px}
 body.lov-black-edition .ux-home .ux-intent h3{font-size:14px;line-height:1.65;min-height:0;margin-bottom:12px}
 body.lov-black-edition .ux-home .ux-intent>div>p:last-child{font-size:15px;line-height:1.65}
 body.lov-black-edition :is(.ti-stories,.elite-membership-stories)>.ti-story:nth-child(n){
  grid-column:1;min-height:350px;padding:24px;aspect-ratio:auto;border-radius:18px;
 }
 body.lov-black-edition :is(.travel-inspiration,.elite-page) .ti-story h3{font-size:34px;max-width:19ch}
 body.lov-black-edition .ti-story-copy>p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:36ch}
 body.lov-black-edition .ti-action{font-size:14px;min-height:48px}
 body.lov-black-edition .ti-support-links{display:grid;grid-template-columns:1fr;gap:10px}
 body.lov-black-edition .ti-support-links a{min-height:56px;font-size:14px;padding:12px 16px}
 body.lov-black-edition .travel-service-card .dp-cover{aspect-ratio:1.5}
 body.lov-black-edition .travel-service-card .dp-card-copy{padding:23px}
 body.lov-black-edition .plan-collection .travel-service-card h3{font-size:26px;overflow-wrap:normal}
 body.lov-black-edition .travel-service-card .dp-card-copy p{font-size:15px;line-height:1.7}
 body.lov-black-edition .travel-service-card .dp-view{font-size:13px;min-height:44px}

 /* Shared three-step journey: the complete photo, then the copy. */
 body.lov-black-edition .sf-process[data-shared-process] ol.process-editorial{grid-template-columns:minmax(0,1fr);gap:22px}
 body.lov-black-edition .sf-process .process-card>summary{display:block;padding:0;list-style:none}
 body.lov-black-edition .sf-process .process-card>summary::after{content:none;display:none}
 body.lov-black-edition .sf-process .process-card-photo{display:block;aspect-ratio:auto;min-height:0;height:auto;border-radius:0;overflow:hidden}
 body.lov-black-edition .sf-process .process-card-photo>img{position:static;display:block;width:100%;height:auto;object-fit:contain;transform:none}
 body.lov-black-edition .sf-process .process-number{left:16px;top:16px;min-width:36px;min-height:32px;font-size:10px}
 body.lov-black-edition .sf-process .process-card-copy{display:flex;gap:14px;padding:23px}
 body.lov-black-edition .sf-process .process-card-title{min-height:0;font-size:23px;line-height:1.3}
 body.lov-black-edition .sf-process .process-card-intro{min-height:0;font-size:15px;line-height:1.7;max-width:none}
 body.lov-black-edition .sf-process .process-card-prompt{min-height:44px;font-size:13px;margin:4px 0 0;padding-top:14px}
 body.lov-black-edition .sf-process .process-card-details{padding:0 23px 25px}
 body.lov-black-edition .sf-process[data-shared-process] .process-card-details p{font-size:15px;line-height:1.75}

 /* One destination per row. Keep the complete identifying cover on the left. */
 body.lov-black-edition :is(.plan-collection,.destination-plan-index #destination-plans) .dp-offer-grid:not(.travel-service-grid){grid-template-columns:minmax(0,1fr);gap:16px}
 body.lov-black-edition :is(.plan-collection,.destination-plan-index #destination-plans) .dp-offer-card:not(.travel-service-card){
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);align-items:stretch;min-width:0;border-radius:16px;
 }
 body.lov-black-edition .dp-offer-card:not(.travel-service-card) .dp-cover{aspect-ratio:auto;height:100%;min-height:170px;min-width:0;background:#101112}
 body.lov-black-edition .dp-offer-card:not(.travel-service-card) .dp-cover>img{width:100%;height:100%;object-fit:contain}
 body.lov-black-edition .dp-offer-card:not(.travel-service-card) .dp-card-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:21px 17px}
 body.lov-black-edition .plan-collection .dp-offer-card:not(.travel-service-card) h3{font-size:22px;line-height:1.25}
 body.lov-black-edition .dp-offer-card:not(.travel-service-card) .dp-card-copy>p{font-size:13px;line-height:1.65;margin:10px 0 15px;flex:0}
 body.lov-black-edition .dp-offer-card:not(.travel-service-card) .dp-view{align-self:flex-start;min-height:44px;font-size:12px;padding:8px 0;border:0;border-bottom:1px solid #ffffff55;border-radius:0;background:none}
 .destination-plan-index .dp-editorial-cover{min-height:180px}
 .destination-plan-index .dp-editorial-destination{font-size:clamp(24px,13cqi,40px)}
 .destination-plan-index .dp-editorial-label{font-size:7px}

 /* Shared plus/minus geometry does not depend on font loading or line height. */
 body.lov-black-edition :is(.ti-action>span,.ti-support-links a>span:last-child,.sf-process .process-card-icon),
 body.lov-black-edition .lov-answers[data-faq-cards] [data-faq-card]>summary .lov-answer-icon{
  box-sizing:border-box;position:relative;display:block;flex:0 0 30px;
  width:30px;height:30px;min-width:30px;margin:0;border:1px solid #ffffff45;border-radius:50%;
  background:#ffffff07;color:#eee;font-size:0;line-height:0;transform:none;
 }
 body.lov-black-edition :is(.ti-action>span,.ti-support-links a>span:last-child,.sf-process .process-card-icon)::before,
 body.lov-black-edition :is(.ti-action>span,.ti-support-links a>span:last-child,.sf-process .process-card-icon)::after,
 body.lov-black-edition .lov-answers[data-faq-cards] [data-faq-card]>summary .lov-answer-icon::before,
 body.lov-black-edition .lov-answers[data-faq-cards] [data-faq-card]>summary .lov-answer-icon::after{
  content:"";position:absolute;left:50%;top:50%;right:auto;width:12px;height:1px;
  background:currentColor;transform:translate(-50%,-50%);transition:transform .2s ease,opacity .2s ease;
 }
 body.lov-black-edition :is(.ti-action>span,.ti-support-links a>span:last-child,.sf-process .process-card-icon)::after,
 body.lov-black-edition .lov-answers[data-faq-cards] [data-faq-card]>summary .lov-answer-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
 body.lov-black-edition .sf-process .process-card[open] .process-card-icon{transform:none}
 body.lov-black-edition .sf-process .process-card[open] .process-card-icon::after,
 body.lov-black-edition .lov-answers[data-faq-cards] [data-faq-card][open]>summary .lov-answer-icon::after{transform:translate(-50%,-50%);opacity:0}

 /* Quiet footer: readable primary routes, one enquiry action, compact links. */
 body.lov-black-edition .editorial-footer{padding-top:36px;padding-bottom:max(22px,env(safe-area-inset-bottom))}
 .editorial-footer .footer-top{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding-bottom:26px}
 .editorial-footer .footer-brand img{width:180px}
 .editorial-footer .footer-brand p{font-size:14px;margin-top:10px}
 .editorial-footer .footer-main{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .editorial-footer .footer-main a{display:flex;min-height:52px;padding:14px 0;border-bottom:1px solid #ffffff21;font-size:12px;line-height:1.7}
 .editorial-footer .footer-enquire{align-self:stretch;min-height:48px;font-size:11px;padding:13px 18px}
 .editorial-footer .footer-world{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:18px 0;border-top:0}
 .editorial-footer .footer-world a{min-height:44px;font-size:10px;line-height:1.7;padding:10px 0}
 .editorial-footer .footer-meta{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:20px;font-size:12px}
 .editorial-footer .footer-meta>nav{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0}
 .editorial-footer .footer-meta a{min-height:44px;font-size:12px;padding-block:10px}

 /* Comfortable single-column form fields and reading sections at phone widths. */
 body.lov-black-edition :is(.sl-field-grid,.sf-fields,.sl-specialities){grid-template-columns:minmax(0,1fr)}
 body.lov-black-edition :is(.ti-heading,.elite-heading,.de-introduction,.de-chapter,.de-chapter.de-reverse,
 .de-planning-inner,.lifestyle-brief,.sf-page .sf-brief-section,.sf-directory-chapter,.story-information,
 .home-introduction,.elite-hero-inner,.story-hero){grid-template-columns:minmax(0,1fr)}
 body.lov-black-edition .lov-answers[data-faq-cards] .lov-answer-list{grid-template-columns:minmax(0,1fr)}
 body.lov-black-edition .sl-group-choices{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:359px){
 body.lov-black-edition .responsive-header .wordmark{width:136px}
 body.lov-black-edition .responsive-header .header-inner{padding-inline:12px;gap:8px}
 .ux-navigation .navigation-pages>a>span{font-size:17px}
 body.lov-black-edition .ux-navigation>.navigation-layout{padding-inline:22px}
 body.lov-black-edition :is(.ti-stories,.elite-membership-stories)>.ti-story:nth-child(n){min-height:330px;padding:22px}
 body.lov-black-edition :is(.travel-inspiration,.elite-page) .ti-story h3{font-size:31px}
 body.lov-black-edition .sf-process .process-card-copy{padding:21px}
 body.lov-black-edition .dp-offer-card:not(.travel-service-card) .dp-card-copy{padding:18px 14px}
 body.lov-black-edition .plan-collection .dp-offer-card:not(.travel-service-card) h3{font-size:21px}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce),(max-width:950px) and (pointer:coarse) and (prefers-reduced-motion:reduce){
 body.lov-black-edition nav.ux-menu.ux-navigation,
 body.lov-black-edition :is(.process-card-icon,.lov-answer-icon,.ti-action>span)::before,
 body.lov-black-edition :is(.process-card-icon,.lov-answer-icon,.ti-action>span)::after{transition:none!important}
}
