/* Shared browser reset: prevent default body margins on utility pages. */
html,body{margin:0}

/* Shared cinematic navigation — one component on all Journeys. */
.dj-site-nav{position:absolute;top:0;left:0;width:100%;z-index:120;color:white;font-family:'Quicksand',sans-serif}
.dj-site-nav.dj-scrolled{position:fixed;background:rgba(62,10,50,.96);box-shadow:0 12px 36px rgba(36,9,26,.18);backdrop-filter:blur(16px)}
.dj-site-nav .dj-nav-inner{width:min(100% - 64px,1230px);min-height:104px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.dj-site-nav.dj-scrolled .dj-nav-inner{min-height:78px}
.dj-brand{display:flex;align-items:center;flex:0 0 auto;z-index:4}
.dj-brand img{display:block;width:116px;height:82px;object-fit:contain;filter:brightness(0) invert(1)}
.dj-menu{display:flex;align-items:center;gap:clamp(16px,2.3vw,34px);margin-left:auto}
.dj-menu a{font-size:13px;font-weight:700;color:white;white-space:nowrap;text-decoration:none;letter-spacing:.018em;opacity:.94}
.dj-menu a:hover,.dj-menu a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:8px}
.dj-menu .dj-nav-cta{background:#f25c2e;color:white;border-radius:90px;padding:14px 21px;text-decoration:none;transition:transform .2s}
.dj-menu .dj-nav-cta:hover{transform:translateY(-2px);text-decoration:none}
.dj-mobile-toggle{display:none;z-index:5;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:12px;cursor:pointer;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(36,9,26,.24)}
.dj-mobile-toggle span{width:20px;height:2px;background:#fff;border-radius:2px}
.dj-site-nav::before{content:"";pointer-events:none;position:absolute;inset:0 0 auto;height:132px;background:linear-gradient(to bottom,rgba(30,7,25,.52),rgba(30,7,25,0));z-index:-1}
.dj-site-nav.dj-scrolled::before{display:none}
.dj-main-content{position:relative}
.dj-main-content section[id],.dj-main-content header[id]{scroll-margin-top:95px}
.dj-site-footer{background:#360b2d;color:#fff7f6;padding:36px 0 30px;font-family:'Quicksand',sans-serif}
.dj-site-footer .dj-footer-inner{width:min(100% - 64px,1230px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}
.dj-site-footer .dj-footer-links{display:flex;gap:26px;flex-wrap:wrap}
.dj-site-footer .dj-footer-links a{color:#fff7f6;font-size:13px;text-decoration:none}
.dj-site-footer .dj-footer-links a:hover{text-decoration:underline}
.dj-site-footer img{width:90px;height:68px;object-fit:contain;filter:brightness(0) invert(1)}
.dj-site-footer small{font-size:12px;opacity:.78}
.dj-page-inner-lover .hero{min-height:720px}
.dj-page-inner-lover .hero-inner{padding-top:170px}
.dj-page-inner-spark .hero .shell{padding-top:170px}
.dj-page-inner-spark .hero{min-height:730px}
@media(max-width:800px){
 .dj-site-nav .dj-nav-inner{width:calc(100% - 36px);min-height:84px}
 .dj-brand img{width:96px;height:70px}
 .dj-mobile-toggle{display:flex}
 .dj-menu{display:none;position:absolute;top:76px;left:18px;right:18px;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:rgba(62,10,50,.98);border:1px solid rgba(255,255,255,.18);border-radius:14px;box-shadow:0 24px 44px #1f0a1a55}
 .dj-menu.dj-menu-open{display:flex}
 .dj-menu a{display:block;padding:12px 16px;font-size:15px}
 .dj-menu .dj-nav-cta{text-align:center;margin-top:8px}
 .dj-page-inner-lover .hero-inner{padding-top:154px}
 .dj-page-inner-spark .hero .shell{padding-top:170px}
 .dj-site-footer .dj-footer-inner{width:calc(100% - 36px);flex-direction:column;text-align:center}
 .dj-site-footer .dj-footer-links{justify-content:center;gap:14px}
}


/* Editorial date and location – clear typography, no shaded box or icons. */
.dj-page .dj-event-facts{position:relative;width:min(100%,700px);padding:0;margin:17px 0 28px;background:none;border:0;border-radius:0;box-shadow:none;color:#fff;font-family:'Quicksand',sans-serif;text-shadow:0 2px 12px rgba(18,4,18,.36)}
.dj-page .dj-event-facts::before{content:'';display:block;width:52px;height:2px;background:#fed0e8;margin-bottom:17px}
.dj-event-facts p{margin:0;font-family:'Quicksand',sans-serif;color:#fff;line-height:1.55}
.dj-event-facts .dj-event-when{font-size:clamp(15px,1.65vw,19px);font-weight:700;letter-spacing:.015em}
.dj-event-facts .dj-event-time::before{content:'·';display:inline-block;padding:0 .7em;font-weight:400;color:#fed0e8}
.dj-event-facts .dj-event-where{font-size:clamp(14px,1.4vw,16px);font-weight:500;letter-spacing:.01em;margin-top:3px}
@media(max-width:780px){.dj-page .dj-event-facts{margin:14px 0 23px}.dj-page .dj-event-facts::before{margin-bottom:13px}}

/* Editorial journey overview – expressive hierarchy, generous white space, no cards. */
.dj-page .dj-glance{padding:clamp(80px,9.2vw,138px) 0 clamp(78px,8.5vw,126px);background:#fff5f8;color:#4f0241;position:relative;z-index:1;overflow:hidden}
.dj-page-inner-lover .dj-glance{background:linear-gradient(122deg,#fff7f7 0%,#ffebf3 100%)}
.dj-page-inner-spark .dj-glance{background:linear-gradient(122deg,#fffaf7 0%,#fcebf3 100%)}
.dj-page .dj-glance-shell{width:min(1150px,calc(100% - 80px));margin:auto}
.dj-page .dj-glance-lede{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(44px,7vw,120px);align-items:end;margin-bottom:68px}
.dj-page .dj-glance h2{font-family:'Playfair Display',Georgia,serif;color:#4f0241;font-size:clamp(56px,6.1vw,100px);letter-spacing:-.063em;line-height:1.02;font-weight:500;margin:0}
.dj-page .dj-glance h2 em{font-weight:500;color:#da5387;font-style:italic;letter-spacing:-.055em}
.dj-page .dj-glance-label{display:block;font-family:'Quicksand',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;color:#ac4777;margin:0 0 18px}
.dj-page .dj-glance-lede-story{padding-bottom:8px}
.dj-page .dj-glance-lede-story p{font-family:'Playfair Display',Georgia,serif;font-size:clamp(26px,2.6vw,36px);line-height:1.3;letter-spacing:-.026em;color:#4f0241;margin:0}
.dj-page .dj-glance-essentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;border-top:1px solid rgba(79,2,65,.27);padding:35px 0 52px}
.dj-page .dj-glance-item{padding:0;display:block;border:0}
.dj-page .dj-glance-item h3{font-family:'Quicksand',sans-serif;font-size:12px;line-height:1.5;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#b15c7e;margin:0 0 13px}
.dj-page .dj-glance-item p{font-family:'Quicksand',sans-serif;font-size:16px;line-height:1.77;color:#4f2947;margin:0;max-width:340px}
.dj-page .dj-glance-action{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid rgba(79,2,65,.27);padding:32px 0 0}
.dj-page .dj-glance-action-copy h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(28px,3.2vw,40px);line-height:1.2;font-weight:500;color:#4f0241;margin:0 0 8px;letter-spacing:-.035em}
.dj-page .dj-glance-action-copy p{font-family:'Quicksand',sans-serif;color:#684b5e;font-size:14px;line-height:1.6;margin:0;max-width:480px}
.dj-page .dj-glance-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}
.dj-page .dj-glance-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#f25c2e;color:#fff;padding:16px 25px;font-family:'Quicksand',sans-serif;font-weight:700;font-size:14px;line-height:1.3;text-decoration:none;border-radius:100px;text-align:center;transition:transform .2s,box-shadow .2s}
.dj-page .dj-glance-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(242,92,46,.22);color:#fff}
.dj-page .dj-glance-secondary{font-family:'Quicksand',sans-serif;font-size:13px;font-weight:700;color:#4f0241;text-decoration:underline;text-underline-offset:5px}
.dj-page .dj-glance-button:focus-visible,.dj-page .dj-glance-secondary:focus-visible{outline:3px solid #4f0241;outline-offset:4px}
@media(max-width:930px){.dj-page .dj-glance-lede{grid-template-columns:1fr;gap:28px;margin-bottom:50px}.dj-page .dj-glance-lede-story p{max-width:600px}.dj-page .dj-glance-essentials{gap:25px}}
@media(max-width:700px){.dj-page .dj-glance{padding:74px 0 75px}.dj-page .dj-glance-shell{width:calc(100% - 40px)}.dj-page .dj-glance h2{font-size:clamp(53px,12vw,75px)}.dj-page .dj-glance-essentials{grid-template-columns:1fr;gap:23px;padding:29px 0 37px}.dj-page .dj-glance-item{padding-bottom:18px;border-bottom:1px solid rgba(79,2,65,.12)}.dj-page .dj-glance-item:last-child{padding-bottom:0;border:0}.dj-page .dj-glance-action{flex-direction:column;align-items:stretch;gap:22px}.dj-page .dj-glance-actions{justify-content:flex-start}.dj-page .dj-glance-button{width:100%}}
@media(prefers-reduced-motion:reduce){.dj-page .dj-glance-button{transition:none}}

/* Phase 1: approved Journeys are live; other cards are informational only. */
.dj-page .journey-card .journey-status{display:block;width:fit-content;margin:0 0 10px;padding:5px 11px;border-radius:24px;background:#ffe9f1;color:#4f0241;font-family:'Quicksand',sans-serif;font-size:12px;font-weight:700;letter-spacing:.01em}
.dj-page .journey-card.is-coming-soon figure img{filter:saturate(.83)}
.dj-page .dj-community-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.dj-page .dj-community-actions .btn{margin:0;text-decoration:none}
.dj-page .dj-community-actions .btn.secondary{background:transparent;color:#4f0241;border-color:#4f0241}
@media(max-width:640px){.dj-page .dj-community-actions{flex-direction:column;align-items:stretch}.dj-page .dj-community-actions .btn{width:100%;max-width:360px;margin:0 auto}}

/* Keyboard navigation and smaller devices. */
.dj-site-nav a:focus-visible,.dj-site-nav button:focus-visible,.dj-site-footer a:focus-visible{outline:3px solid #ffdc84;outline-offset:4px}
@media(max-width:380px){.dj-site-nav .dj-nav-inner{width:calc(100% - 26px)}.dj-menu{left:13px;right:13px}.dj-site-footer .dj-footer-links{gap:11px}}

/* Staging accessibility upgrades: retain the approved visual system */
.dj-skip-link{position:fixed;z-index:10000;top:-80px;left:12px;padding:11px 17px;border-radius:8px;background:#fff;color:#4f0241;font-weight:700;text-decoration:none;box-shadow:0 3px 16px #0003}.dj-skip-link:focus{top:10px}
.dj-page a:focus-visible,.dj-page button:focus-visible,.dj-page select:focus-visible,.dj-page summary:focus-visible{outline:3px solid #ff9a3e;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.dj-page *, .dj-page *::before,.dj-page *::after{scroll-behavior:auto!important;animation-duration:0.01ms!important;transition-duration:0.01ms!important}}

/* Thoughtful 404 for saved or mistyped links after the domain migration. */
.dj-not-found{min-height:85vh;background:radial-gradient(ellipse at 70% 30%,#fed0e8 0%,transparent 45%),linear-gradient(135deg,#fff7fa 0%,#f8e3ec 60%,#fbe8f2 100%);padding:210px 30px 120px;display:flex;align-items:center;justify-content:center;color:#4f0241}
.dj-page-404 .dj-site-nav{background:rgba(62,10,50,.97)}
.dj-not-found-inner{width:min(1050px,100%);margin:auto}
.dj-not-found-kicker{font-family:'Quicksand',sans-serif;font-size:13px;text-transform:uppercase;font-weight:700;letter-spacing:.15em;color:#b14d77;margin:0 0 25px}
.dj-not-found h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(54px,9vw,122px);line-height:.98;letter-spacing:-.06em;max-width:1020px;font-weight:500;margin:0 0 31px;color:#4f0241}
.dj-not-found h1 em{color:#d65a87;font-weight:500}
.dj-not-found-inner>p:not(.dj-not-found-kicker){font-family:'Quicksand',sans-serif;font-size:clamp(17px,2vw,22px);line-height:1.6;max-width:620px}
.dj-not-found-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:34px}
.dj-not-found-actions a{font-family:'Quicksand',sans-serif;font-weight:700;font-size:14px;text-decoration:none}
.dj-not-found-primary{color:#fff!important;background:#f25c2e;padding:16px 26px;border-radius:99px}
.dj-not-found-secondary{color:#4f0241;text-decoration:underline!important;text-underline-offset:5px}
@media(max-width:780px){.dj-not-found{padding:168px 22px 92px;min-height:70vh}.dj-not-found-actions{gap:24px}}

/* Booking-only navigation: editorial Journey pages stay cinematic, checkout pages do not. */
.dj-page-inner-lover-booking .dj-site-nav,
.dj-page-inner-spark-booking .dj-site-nav{
  position:sticky;top:0;left:auto;width:100%;background:#4f0241;
  color:#fff;box-shadow:none;z-index:120;
}
.dj-page-inner-lover-booking .dj-site-nav.dj-scrolled,
.dj-page-inner-spark-booking .dj-site-nav.dj-scrolled{
  position:sticky;background:#4f0241;box-shadow:0 5px 22px rgba(45,6,38,.12);
}
.dj-page-inner-lover-booking .dj-site-nav::before,
.dj-page-inner-spark-booking .dj-site-nav::before{display:none}
.dj-page-inner-lover-booking .dj-site-nav .dj-nav-inner,
.dj-page-inner-spark-booking .dj-site-nav .dj-nav-inner{min-height:84px}
@media(max-width:800px){
 .dj-page-inner-lover-booking .dj-site-nav .dj-nav-inner,
 .dj-page-inner-spark-booking .dj-site-nav .dj-nav-inner{min-height:76px}
}

/* Quiet footer legal links; kept in a separate row from the Journey links. */
.dj-footer-legal{width:min(100% - 64px,1230px);margin:22px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.19);display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:'Quicksand',sans-serif;font-size:12px;color:rgba(255,255,255,.72)}
.dj-footer-legal nav{display:flex;flex-wrap:wrap;gap:13px 24px}
.dj-footer-legal a{font-size:12px;color:#fff7f6;text-decoration:none}
.dj-footer-legal a:hover{text-decoration:underline;text-underline-offset:4px}
.dj-footer-legal a:focus-visible{outline:3px solid #ffdc84;outline-offset:3px}
@media(max-width:800px){.dj-footer-legal{width:calc(100% - 36px);flex-direction:column;gap:12px;text-align:center}.dj-footer-legal nav{justify-content:center}}
/* Booking policies are visible before live checkout is connected. */
.dj-booking-policy-note{font-family:'Quicksand',sans-serif;text-align:center;font-size:14px;line-height:1.7;padding:24px 20px 40px;margin:0;background:#fff7fa;color:#64415a}
.dj-booking-policy-note a{color:#4f0241;font-weight:700;text-underline-offset:4px}

.dj-journeys{position:relative;color:white}.dj-journeys summary{list-style:none;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.018em;padding:16px 0}.dj-journeys summary::-webkit-details-marker{display:none}.dj-journeys summary:focus-visible{outline:2px solid #ffca72;outline-offset:5px}.dj-journeys-panel{position:absolute;top:100%;left:-20px;min-width:265px;background:#4f0241;padding:10px;border:1px solid #ffffff33;border-radius:12px;box-shadow:0 15px 35px #1f0a1a40;z-index:20}.dj-menu .dj-journeys-panel a{display:block;padding:12px 14px;white-space:normal;border-radius:6px}.dj-menu .dj-journeys-panel a:hover{background:#ffffff14;text-decoration:none}.dj-journeys-panel small{display:block;font-size:12px;font-weight:400;opacity:.8;margin-top:4px}.dj-journeys-panel .dj-all-journeys{border-top:1px solid #ffffff30;margin-top:6px}.journey-card{scroll-margin-top:110px}
@media(max-width:800px){.dj-journeys summary{padding:12px 16px;font-size:15px}.dj-journeys-panel{position:static;min-width:0;border:0;box-shadow:none;padding:0 0 8px 16px;background:#ffffff09}.dj-menu .dj-journeys-panel a{font-size:14px}}
