/* Compact cookie consent: one line on wide desktop screens */
.dq-cookie-consent{position:fixed;z-index:2147483000;left:18px;right:18px;bottom:18px;width:calc(100% - 36px);max-width:1500px;margin:0 auto;box-sizing:border-box;background:linear-gradient(145deg,#200d14,#0a090b);border:1px solid #872b3b;border-radius:10px;box-shadow:0 16px 50px #000c;padding:12px 18px;color:#f6eff1;font-family:Arial,sans-serif;display:none;align-items:center;gap:18px}
.dq-cookie-consent.is-visible{display:flex}
.dq-cookie-consent h2{flex:none;font-size:17px;line-height:1.2;margin:0;white-space:nowrap}
.dq-cookie-consent p{flex:1 1 auto;min-width:0;font-size:13px;line-height:1.5;margin:0;color:#dad0d2}
.dq-cookie-consent a{text-decoration:underline;color:#ff6677}
.dq-cookie-actions{display:flex;flex:none;gap:8px;align-items:center}
.dq-cookie-actions button{min-height:38px;border:1px solid #bd2b42;color:white;background:#240d15;border-radius:5px;padding:8px 13px;font-size:12px;line-height:1.2;white-space:nowrap;font-weight:700;cursor:pointer}
.dq-cookie-actions button:first-child{background:#c90a2f}
.dq-cookie-actions button:hover{background:#7d1029}
@media(max-width:1100px){.dq-cookie-consent{flex-wrap:wrap;gap:8px 14px}.dq-cookie-consent p{flex-basis:calc(100% - 115px)}.dq-cookie-actions{margin-left:auto}}
@media(max-width:650px){.dq-cookie-consent{left:10px;right:10px;bottom:10px;width:calc(100% - 20px);padding:12px;gap:9px}.dq-cookie-consent h2{font-size:16px}.dq-cookie-consent p{flex-basis:100%;font-size:12px}.dq-cookie-actions{width:100%;gap:8px}.dq-cookie-actions button{flex:1;padding:9px 6px;font-size:11px}}


/* Mobile layout polish without affecting desktop */
@media (max-width: 820px){
  html,body{overflow-x:hidden}
  .container{width:calc(100% - 28px)!important}
  .page-title{padding-top:34px!important;padding-bottom:18px!important}
  .section{padding-top:34px!important;padding-bottom:22px!important}

  /* Header and mobile menu */
  .header{width:calc(100% - 28px)!important;padding-left:14px!important;padding-right:14px!important}
  .header .nav,.header .btn-outline.small,.header .city{display:none!important}
  .header-right{margin-left:auto!important;gap:0!important}
  .menu-btn{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;margin-left:auto!important}
  .mobile-menu{position:fixed!important;inset:0!important;padding:96px 24px 24px!important;background:linear-gradient(180deg,#09090a 0%,#13070b 52%,#19080e 100%)!important;overflow-y:auto!important;z-index:99999!important;align-items:stretch!important}
  .mobile-menu .logo{display:none!important}
  .mobile-menu .menu-close{position:absolute!important;top:18px!important;right:18px!important;width:44px!important;height:44px!important;border:0!important;background:transparent!important;color:#fff!important;font-size:34px!important;line-height:1!important}
  .mobile-menu>a{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:18px 2px!important;border-bottom:1px solid rgba(255,255,255,.10)!important;text-align:left!important;font-size:22px!important;line-height:1.1!important}
  .mobile-menu>a span{display:none!important}
  .mobile-menu>a::after{content:'→';font-size:20px;color:#fff;opacity:.82}
  .mobile-menu>small{margin-top:20px!important;text-align:left!important;opacity:.75!important}

  /* Reduce empty gaps and center CTA areas */
  .hero-refined .hero-inner,.hero .hero-inner{width:calc(100% - 28px)!important;padding-top:34px!important;padding-bottom:48px!important}
  .hero-refined .hero-actions,.hero-actions{flex-direction:column!important;align-items:stretch!important;gap:12px!important}
  .hero-refined .hero-actions .btn,.hero-actions .btn,.hero-watch,.play-link{width:100%!important;justify-content:center!important;text-align:center!important}
  .section-heading{gap:10px!important}
  .text-link{align-self:center!important}
  .ref-advantages,.advantages,.scene-icons{gap:12px!important}
  .scene-icons{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .quest-grid,.ref-promos,.offers-grid,.reviews-grid,.contacts-grid,.maps-stack,.faq-list,.dq-about-features,.dq-about-steps{grid-template-columns:1fr!important}

  /* Atmosphere block */
  .scene-row{grid-template-columns:1fr!important;gap:12px!important}
  .scene-row .scene-arrow{display:none!important}
  .scene-row .scene-strip{display:block!important;width:100%!important}
  .dq-empty-gallery{height:170px!important;padding:16px!important}
  .dq-empty-gallery span{font-size:22px!important}
  .dq-empty-gallery small{font-size:13px!important}

  /* Booking page */
  .booking-page{gap:18px!important}
  .booking-choice h2,.booking-page>h2{margin-bottom:14px!important;text-align:left!important}
  .booking-quests{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .booking-quest{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;align-items:center!important;gap:12px!important;padding:12px!important;min-height:84px!important;text-align:left!important}
  .booking-quest img{width:72px!important;height:50px!important;object-fit:cover!important}
  .booking-quest span{justify-self:start!important}
  .booking-widget,.dq-one-step{padding:16px!important}
  .date-scroll{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  .time-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .players,.dq-player-list{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;justify-content:stretch!important}
  .players button,.dq-player-list button,.time-grid .time-tile,.date-scroll .date-tile{width:100%!important;justify-content:center!important}
  .booking-widget .btn,.dq-one-step .btn,.booking-form .btn,.dq-submit{width:100%!important;display:flex!important;justify-content:center!important;text-align:center!important}
  .booking-form,.dq-inline-form{gap:14px!important}
  .dq-form-columns{grid-template-columns:1fr!important;gap:12px!important}
  .dq-hesus-embed iframe{height:860px!important;min-height:72vh!important}

  /* Footer */
  .footer{grid-template-columns:1fr!important;gap:20px!important;padding-top:28px!important;padding-bottom:18px!important;text-align:center!important}
  .footer>div{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}
  .footer .logo{margin:0 auto 10px!important;display:flex!important;justify-content:center!important}
  .footer .logo .dq-brandmark{margin:0 auto!important}
  .footer p,.footer a,.footer span,.footer li,.footer h3{ text-align:center!important }
  .foot-bottom{display:flex!important;flex-direction:column!important;gap:8px!important;align-items:center!important;text-align:center!important}
}

@media (max-width: 560px){
  .container{width:calc(100% - 24px)!important}
  .header{width:calc(100% - 24px)!important}
  .mobile-menu{padding:92px 18px 20px!important}
  .mobile-menu>a{font-size:20px!important}
  .date-scroll{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .players,.dq-player-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .scene-icons,.ref-advantages,.advantages{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* V90: mobile-only corrections, desktop is unaffected */
@media (max-width:820px){
  /* The open menu owns its logo. Header remains visible only with menu closed. */
  .mobile-menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;
    position:fixed!important;inset:0!important;width:100%!important;max-width:none!important;
    z-index:100000!important;overflow-y:auto!important;overflow-x:hidden!important;
    padding:66px 24px 25px!important;gap:0!important;
    background:linear-gradient(165deg,#16080c,#09090a 60%,#17070e)!important;
    transform:translateX(110%)!important;visibility:hidden!important;pointer-events:none!important;
    transition:transform .23s ease,visibility .23s!important}
  .mobile-menu.open{transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important}
  .mobile-menu>.logo{display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;margin:0 auto 15px!important;padding:0!important;min-height:65px!important}
  .mobile-menu>.logo .dq-brandmark{display:block!important;margin:0 auto!important;width:min(185px,55vw)!important;height:auto!important}
  .mobile-menu .menu-close{display:grid!important;place-items:center!important;top:16px!important;right:16px!important;
    z-index:4!important;width:42px!important;height:42px!important;color:white!important;font-size:30px!important}
  .mobile-menu>a{flex:0 0 auto!important;min-height:59px!important;padding:13px 8px!important;
    border-bottom:1px solid #4c242d!important;font-size:clamp(19px,5.2vw,25px)!important}
  .mobile-menu>a span{display:none!important}
  .mobile-menu>a::after{content:none!important}
  .mobile-menu>small{display:block!important;margin:16px 8px 5px!important;font-size:12px!important}
  body.menu-open .header{visibility:hidden!important;pointer-events:none!important}
  /* Keep the main header brand only while menu is closed. */
  body:not(.menu-open) .header .logo{display:flex!important}
  .header .logo .dq-brandmark{width:clamp(145px,43vw,200px)!important;height:auto!important}

  /* Restore atmosphere carousel controls, improve readability. */
  .scene-row{grid-template-columns:39px minmax(0,1fr) 39px!important;gap:5px!important}
  .scene-row .scene-arrow{display:grid!important;place-items:center!important;width:39px!important;height:46px!important;
    border:1px solid #7a2a38!important;border-radius:6px!important;font-size:23px!important;
    background:#190d12!important;color:#fff!important;visibility:visible!important}
  .scene-row .scene-strip{min-width:0!important;display:block!important}
  .dq-empty-gallery{min-height:164px!important;height:auto!important}

  /* Compact hero's previously empty bottom on mobile, preserve image composition. */
  .hero-refined,.hero{min-height:0!important;height:auto!important}
  .hero-refined .hero-inner,.hero .hero-inner{min-height:0!important;padding-top:65px!important;padding-bottom:48px!important}
  .hero-refined .hero-art,.hero .hero-art{inset:0!important}
  .hero-refined .hero-actions,.hero-actions{margin-bottom:0!important}
  .hero-refined .hero-actions .btn,.hero-actions .btn{margin-inline:auto!important}

  /* Only brand centered, links form exactly two short columns. */
  .footer{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:18px!important;row-gap:16px!important;text-align:left!important;padding:26px 20px 12px!important}
  .footer>div:first-child{grid-column:1/-1!important;align-items:center!important;text-align:center!important}
  .footer>div:nth-child(2),.footer>div:nth-child(3){grid-column:auto!important;align-items:flex-start!important;text-align:left!important;gap:8px!important}
  .footer>div:nth-child(2) a,.footer>div:nth-child(3) a,
  .footer>div:nth-child(2) b,.footer>div:nth-child(3) b{display:block!important;text-align:left!important;max-width:100%!important}
  .footer>div:nth-child(2) b,.footer>div:nth-child(3) b{font-size:18px!important;line-height:1.25!important}
  .footer>div:nth-child(2) a,.footer>div:nth-child(3) a{font-size:13px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
  .footer .logo{justify-content:center!important;margin:0 auto!important}
  .footer .logo .dq-brandmark{width:min(192px,54vw)!important;margin:0 auto!important}
  .footer .foot-bottom{grid-column:1/-1!important;align-items:center!important;text-align:center!important}
}
@media(max-width:390px){.footer{padding-inline:14px!important;column-gap:12px!important}}

/* V92 — DARK QUEST red ritual sight cursor, desktop mouse only. */
@media (hover:hover) and (pointer:fine) {
  html, body, body *, body *::before, body *::after {
    cursor: url('/assets/darkquest-cursor.svg') 2 2, auto !important;
  }
  a, a *, button, button *, [role="button"], [role="button"] *, summary, label[for], .scene-arrow, .quest-card, .quest-card * {
    cursor: url('/assets/darkquest-cursor-hover.svg') 2 2, pointer !important;
  }
  input, textarea, [contenteditable="true"] {
    cursor: text !important;
  }
  iframe, iframe * {
    cursor: auto !important;
  }
}

/* V94: mobile hero only — center secondary CTA and remove unnecessary bottom space. */
@media (max-width: 820px) {
  body:not(.menu-open) .hero.hero-refined {min-height:0!important;height:auto!important;margin-bottom:0!important;}
  .hero.hero-refined .hero-inner {min-height:0!important;padding-bottom:16px!important;}
  .hero.hero-refined .hero-actions {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;margin-top:16px!important;margin-bottom:0!important;}
  .hero.hero-refined .hero-actions > .btn {width:100%!important;max-width:100%!important;align-self:stretch!important;}
  .hero.hero-refined .hero-actions > .hero-watch,
  .hero.hero-refined .hero-actions > .play-link {display:inline-flex!important;width:auto!important;max-width:100%!important;align-self:center!important;justify-content:center!important;text-align:center!important;margin:0 auto!important;padding:4px 8px!important;}
  .hero.hero-refined .hero-actions > .hero-watch .play-copy {text-align:center!important;}
}
@media (max-width: 560px) {
  .hero.hero-refined .hero-inner {padding-bottom:8px!important;}
}


/* V95: mobile-only reading improvements; desktop unchanged. */
@media (max-width: 820px) {
  body {font-size:16px!important;line-height:1.65!important}
  .hero-desc, .hero-refined .hero-desc {font-size:17px!important;line-height:1.6!important}
  .page-title>p:not(.eyebrow), .section-heading p, .body-copy, .detail-layout p,
  .dq-about-copy p, .dq-about-head p, .dq-about-feature p, .dq-about-step p,
  .promo p, .offer-card p, .quest-card-content>p, .cta p,
  .contact-box p, .map-meta p, .review p, .faq-list p, .dq-mode-body,
  .dq-mercoff-mode p, .dq-hesus-desc {font-size:16px!important;line-height:1.7!important}
  .section-heading h2, .dq-about-head h2 {font-size:clamp(35px,8.5vw,48px)!important}
  .page-title h1 {font-size:clamp(43px,10vw,66px)!important;line-height:1.14!important}
  .quest-name {font-size:clamp(45px,10.5vw,70px)!important}
  .quest-card h3, .promo h3, .step-grid h3, .dq-about-feature h3, .dq-about-step h3 {font-size:clamp(24px,6vw,32px)!important}
  .poster-title {font-size:clamp(34px,8vw,45px)!important}
  .hero .eyebrow, .page-title .eyebrow, .section-heading .eyebrow {font-size:13px!important}
  .btn, .btn.small, .quest-card .btn, .booking-form button, .dq-social-links a,
  .dq-2gis-links a {font-size:15px!important;line-height:1.3!important}
  .mobile-menu>a {font-size:clamp(22px,5.8vw,29px)!important}
  .booking-choice h2,.booking-page>h2,.book-label {font-size:22px!important}
  .booking-quest {font-size:20px!important}
  .date-tile b {font-size:22px!important}
  .date-tile span,.booking-form label,.dq-book-status {font-size:14px!important}
  .footer p {font-size:15px!important}
  .footer>div:nth-child(2) a,.footer>div:nth-child(3) a {font-size:15px!important;line-height:1.45!important}
  .footer>div:nth-child(2) b,.footer>div:nth-child(3) b {font-size:19px!important}
  .footer .foot-bottom,.footer .foot-bottom * {font-size:13px!important}
  .dq-cookie-consent p {font-size:13px!important}
}
@media (max-width:390px) {
  .btn, .btn.small, .quest-card .btn {font-size:14px!important}
  .footer>div:nth-child(2) a,.footer>div:nth-child(3) a {font-size:14px!important}
}

/* V96: address next to player count, readable on all widths */
.quest-card .metrics .dq-quest-address{min-width:0;align-items:center;gap:5px;}
.quest-card .metrics .dq-quest-address b{white-space:nowrap;font-size:clamp(13px,1.05vw,17px);}
.quest-card .metrics{column-gap:12px;row-gap:8px;}
@media(max-width:820px){.quest-card .metrics .dq-quest-address b{font-size:17px!important}.quest-card .metrics{column-gap:15px;row-gap:12px}}

/* V97 — noticeably larger typography on mobile only; all desktop styles retained. */
@media (max-width: 820px) {
  body {font-size:18px!important;line-height:1.7!important}
  .hero-desc,.hero-refined .hero-desc {font-size:20px!important;line-height:1.62!important}
  .page-title>p:not(.eyebrow),.section-heading p,.body-copy,.detail-layout p,
  .dq-about-copy p,.dq-about-head p,.dq-about-feature p,.dq-about-step p,
  .promo p,.offer-card p,.quest-card-content>p,.cta p,.contact-box p,.map-meta p,
  .review p,.faq-list p,.faq-list details p,.dq-mode-body,.dq-mercoff-mode p,
  .dq-hesus-desc,.dq-story-copy p,.feature-list li,.dq-empty-gallery small,
  .dq-contract p,.dq-rule-plain p,.legal p {font-size:19px!important;line-height:1.68!important}
  .section-heading h2,.dq-about-head h2 {font-size:clamp(39px,9vw,53px)!important;line-height:1.14!important}
  .page-title h1 {font-size:clamp(47px,10.5vw,72px)!important;line-height:1.12!important}
  .quest-name {font-size:clamp(47px,11vw,75px)!important;line-height:1.12!important}
  .quest-card h3,.promo h3,.step-grid h3,.dq-about-feature h3,.dq-about-step h3 {font-size:clamp(27px,6.5vw,36px)!important}
  .poster-title {font-size:clamp(35px,8.5vw,50px)!important}
  .hero .eyebrow,.page-title .eyebrow,.section-heading .eyebrow,.dq-about-head .eyebrow {font-size:15px!important}
  .btn,.btn.small,.quest-card .btn,.booking-form button,.dq-social-links a,.dq-2gis-links a,
  .text-link {font-size:17px!important;line-height:1.3!important;min-height:48px!important}
  .mobile-menu>a {font-size:clamp(25px,6.1vw,33px)!important}
  .booking-choice h2,.booking-page>h2,.book-label {font-size:25px!important}
  .booking-quest {font-size:23px!important}
  .date-tile b {font-size:25px!important}
  .date-tile span,.booking-form label,.dq-book-status,.dq-slot-message {font-size:16px!important}
  .footer p {font-size:17px!important}
  .footer>div:nth-child(2) a,.footer>div:nth-child(3) a {font-size:17px!important;line-height:1.48!important}
  .footer>div:nth-child(2) b,.footer>div:nth-child(3) b {font-size:21px!important}
  .footer .foot-bottom,.footer .foot-bottom * {font-size:15px!important}
  .quest-card .metrics .dq-quest-address b {font-size:18px!important}
  .dq-cookie-consent p {font-size:15px!important}
}
@media (max-width:390px) {
  .btn,.btn.small,.quest-card .btn {font-size:16px!important}
  .footer>div:nth-child(2) a,.footer>div:nth-child(3) a {font-size:16px!important}
  .section-heading h2,.dq-about-head h2 {font-size:37px!important}
}

/* V98: Additional services (new page only) */
.dq-services-head{padding-bottom:26px!important}
.dq-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-bottom:40px}
.dq-service-card{position:relative;min-width:0;padding:36px 30px 30px;border:1px solid rgba(204,42,64,.45);background:linear-gradient(152deg,#1d0c10,#0e0b0e 70%);box-shadow:0 12px 45px rgba(0,0,0,.24);display:flex;flex-direction:column;gap:17px}
.dq-service-card h2{margin:0;font-size:clamp(23px,2.5vw,36px);line-height:1.18}
.dq-service-card h2 em{color:#ff273b;font-style:normal}
.dq-service-card p{margin:0;line-height:1.6;font-size:18px;color:#ded4d5}
.dq-service-card .dq-service-price{font-size:32px;color:#fff;font-weight:800;letter-spacing:1px;margin-top:auto}
.dq-service-card .btn{width:fit-content;max-width:100%;text-align:center}
.dq-service-icon{font-size:43px;color:#e62035}
.dq-service-decoration{position:absolute;top:18px;right:20px;color:#b85c67;font-size:12px;letter-spacing:2px}
.dq-record-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#f52338}
.dq-services-note{padding-bottom:64px;text-align:center;color:#b9acae}
@media (max-width:820px){
  /* Mobile-only horror hamburger assets, replacing the standard three white bars */
  .header .menu-btn{width:62px!important;height:62px!important;min-width:62px!important;padding:0!important;display:block!important;background:transparent url('/assets/dq-menu-horror-open.png') center/contain no-repeat!important;border:0!important;filter:none!important}
  .header .menu-btn span{display:none!important}
  .mobile-menu .menu-close{width:63px!important;height:63px!important;top:12px!important;right:13px!important;background:transparent url('/assets/dq-menu-horror-close.png') center/contain no-repeat!important;color:transparent!important;font-size:0!important;border:0!important;line-height:0!important;box-shadow:none!important}
  .dq-services-grid{grid-template-columns:1fr;gap:15px;padding-bottom:26px}
  .dq-service-card{padding:28px 20px 25px;gap:15px}
  .dq-service-card h2{font-size:clamp(25px,6vw,32px)}
  .dq-service-card p{font-size:19px}
  .dq-service-card .dq-service-price{font-size:31px}
  .dq-service-card .btn{width:100%}
  .dq-services-note{padding-bottom:38px;font-size:17px}
}

/* V99: note for actor booking time / price */
.dq-service-price-note{max-width:32ch;margin:0 auto 1.35rem;color:#d6c8c8;font-size:clamp(15px,1.1vw,17px);line-height:1.55;text-align:center}
@media(max-width:820px){.dq-service-price-note{font-size:18px;max-width:34ch;padding:0 8px}}

/* V100: imagery for additional services cards; no global desktop layout changes */
.dq-service-card .dq-service-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid rgba(228,39,58,.32);border-radius:3px;box-shadow:0 8px 20px rgba(0,0,0,.3);margin:0 0 5px}
@media(max-width:820px){.dq-service-card .dq-service-image{aspect-ratio:16/9;margin-bottom:2px}}

/* V101: precise alignment confined to the additional services page */
.dq-services-grid{align-items:stretch}
.dq-services-grid .dq-service-card{display:flex;flex-direction:column;align-items:stretch;gap:19px;padding:32px 28px 28px;min-width:0;height:100%;box-sizing:border-box}
.dq-services-grid .dq-service-card .dq-service-image{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;flex:0 0 auto;margin:0}
.dq-services-grid .dq-service-card h2{min-height:2.5em;display:flex;align-items:center;flex-wrap:wrap;column-gap:.3em;row-gap:0;word-break:normal}
.dq-services-grid .dq-service-card>p{line-height:1.55;max-width:100%;width:100%}
.dq-services-grid .dq-service-footer{margin-top:auto;min-height:141px;width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;box-sizing:border-box}
.dq-services-grid .dq-service-footer .dq-service-price{margin:0!important;min-height:0;font-size:clamp(25px,2.1vw,32px);line-height:1.25;white-space:nowrap}
.dq-services-grid .dq-service-footer .dq-service-price-note{display:block;width:100%;max-width:none!important;margin:0!important;padding:0!important;text-align:left!important;font-size:16px;line-height:1.5;color:#cdbfc1;letter-spacing:normal;overflow-wrap:normal;word-break:normal}
.dq-services-grid .dq-service-card>.btn{margin:0;align-self:flex-start;min-width:188px;display:inline-flex;align-items:center;justify-content:center;min-height:46px}
@media(max-width:820px){
 .dq-services-grid .dq-service-card{padding:26px 20px;gap:15px}
 .dq-services-grid .dq-service-card h2{min-height:0;display:block}
 .dq-services-grid .dq-service-footer{min-height:0;gap:12px}
 .dq-services-grid .dq-service-footer .dq-service-price-note{font-size:18px}
 .dq-services-grid .dq-service-card>.btn{width:100%;min-width:0}
}

/* DARK QUEST V103: photo carousel; all viewport sizes */
.dq-gallery-current{position:relative;width:100%;height:100%;min-width:0;overflow:hidden;background:#0d0507;border:1px solid rgba(202,27,49,.35)}
.dq-gallery-current img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.dq-gallery-current #dq-slide-num{position:absolute;bottom:12px;right:16px;padding:6px 10px;color:#fff;background:rgba(0,0,0,.7);font-style:normal;font-size:13px;letter-spacing:.16em}
@media(max-width:820px){.dq-gallery-current{min-height:235px}.dq-gallery-current img{min-height:235px}}

/* V104: Gallery 4-square pages; scope only home gallery and Mercoff photos. */
.scene-row:has(#dq-gallery-slides){display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:12px!important;align-items:center!important;position:relative}
.scene-row:has(#dq-gallery-slides) .scene-arrow{display:flex!important;align-items:center;justify-content:center;width:42px;height:46px;position:static!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;border:1px solid #68232d;border-radius:5px;background:#21070d;color:#fff;font-size:25px}
.scene-row:has(#dq-gallery-slides) #dq-gallery-slides{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;min-width:0;width:100%!important;overflow:visible!important}
#dq-gallery-slides .dq-gallery-tile{min-width:0;aspect-ratio:1/1;overflow:hidden;box-sizing:border-box;background:#12080a;border:1px solid #702331;border-radius:4px}
#dq-gallery-slides .dq-gallery-tile img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:1/1;object-fit:cover!important;object-position:center!important;filter:brightness(.92) contrast(1.06)}
.scene-row:has(#dq-gallery-slides) .dq-gallery-page-indicator{position:absolute;right:60px;bottom:8px;padding:5px 7px;background:rgba(0,0,0,.77);color:#fff;font-size:12px;letter-spacing:.13em;pointer-events:none}
/* Previously portrait source was cropped by a landscape slot: show face, not legs. */
body:has(.dq-quest-photo-grid) .dq-quest-photo-grid img[src$="dq-gallery-2026-01.webp"],body:has(.dq-quest-photo-grid) .dq-quest-photo-grid img[src$="dq-gallery-2026-02.webp"]{object-position:center 12%!important}
.dq-story-visual img[src$="dq-gallery-2026-01.webp"]{object-position:center 12%!important}
@media(max-width:820px){
 .scene-row:has(#dq-gallery-slides){grid-template-columns:32px minmax(0,1fr) 32px!important;gap:6px!important}
 .scene-row:has(#dq-gallery-slides) #dq-gallery-slides{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
 .scene-row:has(#dq-gallery-slides) .scene-arrow{display:flex!important;width:30px!important;height:42px!important;font-size:21px!important}
 .scene-row:has(#dq-gallery-slides) .dq-gallery-page-indicator{right:39px;bottom:5px;font-size:10px}
 .dq-story-visual img[src$="dq-gallery-2026-01.webp"]{object-position:center 12%!important}
}

.dq-story-visual img[src$="dq-gallery-2026-01.webp"]{height:auto!important;max-height:620px;aspect-ratio:4/5;object-fit:contain!important;background:#080203}
