/* Review-only layer. Header, real logo, serif scale, spacing and desktop arch
   inherit the original styles.css rather than the experimental opening layout. */
.opening-demo{--paper:#f8f6f0;--surface:#eeeae0;--ink:#263c34;--muted:#5d6b61;--line:#d2d7ca;--forest:#193a32;--forest-deep:#122d27;--hero-ink:#f8f6ee;--accent:#c5ae82}
/* Natural portrait framing below the mobile copy, with the reference's broad
   elliptical arch; undo the later square crop from the production stylesheet. */
@media(max-width:600px){
 .opening-demo .hero-image img{aspect-ratio:3/4;height:auto;object-position:50% 50%;border-radius:50% 50% 0 0 / 24% 24% 0 0}
}
.demo-photo-first .hero-image{order:-1}

/* Main contact is immediately after the hero. Keep the existing arrival copy,
   one CTA and the persistent mobile call bar, without the large concept image. */
.opening-demo .agent-arrival{padding-top:36px;padding-bottom:28px}
.opening-demo .agent-arrival-card{gap:32px}
.demo-dispatch{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px}
.demo-dispatch .demo-dispatch-label{flex-basis:100%;margin:0;font-size:14px}
.demo-dispatch-label span{color:var(--muted)}
.demo-dispatch-phone{font-size:clamp(20px,4.8vw,26px);font-weight:500;text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.opening-demo .demo-next-step{padding-block:12px 28px}
.opening-demo .demo-next-step h2{font-size:32px;margin-bottom:16px}
.demo-next-step p{max-width:760px;color:var(--muted);font-size:15px;margin:0}

/* Retain the compact lower-page review layout. */
.opening-demo h2{font-size:clamp(36px,4.3vw,58px);line-height:1.08}
.opening-demo h3{line-height:1.15}
.opening-demo .section{padding-block:52px}
.opening-demo .section-heading{margin-bottom:28px}
.opening-demo .service-depth{margin-top:0;padding-top:24px;padding-bottom:16px}
.opening-demo .service-depth>h2{margin-bottom:24px}
.opening-demo .service-depth summary{font-size:16px;line-height:1.5;padding-block:19px;min-height:58px}
.opening-demo .service-depth p,.opening-demo .service-depth ul{font-size:15px;line-height:1.7}
.opening-demo .region-card{padding:28px 24px;border-radius:4px}
.opening-demo .region-card h2{font-size:clamp(36px,4.3vw,54px)}
.opening-demo .region-card .button{font-size:14px;padding-inline:14px}
.opening-demo .feature-copy h2,.opening-demo .about-copy h2,.opening-demo .aftercare-card h2,.opening-demo .interview-copy h2{font-size:clamp(36px,4.3vw,54px)}
.opening-demo .feature-photo img,.opening-demo .founder-panel img{border-radius:3px}
.opening-demo .interview-card,.opening-demo .team-group-preview{background:none;border:0;border-radius:0;padding:26px 0;border-top:1px solid var(--line)}
.opening-demo .blog-profile{background:none;box-shadow:none;border-radius:4px}
.opening-demo .cost-summary{padding-top:28px}
.opening-demo .mobile-call-copy{font-size:14px}
.opening-demo .mobile-call-copy small{font-size:11px}
.opening-demo .mobile-contact{background:#f8f6f0;color:#263c34;border-color:#d2d7ca}
.opening-demo .mobile-contact a:first-child{background:#193a32;color:#f8f6ee}
.opening-demo .mobile-contact a:last-child{color:#263c34;border-color:#d2d7ca}
.opening-demo .mobile-contact strong,.opening-demo .mobile-contact small{color:inherit}
.opening-demo a[href^="tel:"]{min-height:44px;display:inline-flex;align-items:center}
@media(min-width:901px){
 .opening-demo .section{padding-block:72px}
 .opening-demo .service-depth{padding-top:38px;padding-bottom:22px}
 .opening-demo .service-depth summary{font-size:18px}
 .opening-demo .region-card{padding:44px;gap:44px}
}
.opening-demo .demo-ceremony-link{padding-top:28px;padding-bottom:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.opening-demo .demo-ceremony-link h2{font-size:32px;margin:0 0 12px}
.opening-demo .demo-ceremony-link p{font-size:15px;line-height:1.6;margin:0 0 12px}
.opening-demo .demo-ceremony-link .text-link{display:inline-flex;align-items:center;min-height:44px}

/* Captions and the retained preparation materials. Vehicle selection has its own CSS. */
.transport-video-card figcaption{padding-top:14px}
.transport-video-card figcaption strong{font-size:16px;font-weight:500}
.transport-video-card .work-video-note{font-size:12px;margin-top:4px;line-height:1.6}
.transport-route-note{margin:28px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.transport-preparation{margin-top:24px;border-block:1px solid var(--line)}
.transport-preparation summary{padding:20px 0;cursor:pointer;font-size:16px;min-height:44px}
.transport-preparation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:4px 0 24px;max-width:740px}
.transport-preparation-grid figure{margin:0;min-width:0}
.transport-preparation-grid figure>img,.transport-preparation-grid .work-video-frame{width:100%;height:220px;object-fit:cover;border-radius:4px}
.transport-preparation-grid figcaption{padding-top:12px;font-size:14px}
.transport-preparation-grid figcaption strong{display:block;font-weight:500}
.transport-preparation-grid figcaption a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5;color:var(--muted)}
@media(max-width:700px){
 .transport-preparation-grid{gap:14px}
 .transport-preparation-grid figure>img,.transport-preparation-grid .work-video-frame{height:180px}
 .transport-preparation-grid .video-control-row{flex-wrap:wrap;padding-inline:0}
 .transport-preparation-grid .telegram-source-link{font-size:12px}
}
.opening-demo .reviews-collection{margin-top:32px;padding-block:24px 0;border-top:1px solid var(--line)}
.reviews-collection-heading{margin-bottom:22px;max-width:640px}
.opening-demo .reviews-collection-heading h3{font-size:clamp(32px,3.4vw,42px);margin:0 0 10px}
.reviews-collection-heading p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}
.reviews-scroll-hint{font-size:13px;line-height:1.6;color:var(--muted)}
.reviews-viewer{display:flex;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-block:1px solid var(--line);min-width:0}
.review-slide{flex:0 0 100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;padding:24px 0;overflow-wrap:anywhere}
.reviews-enhanced .reviews-viewer{display:block;overflow:visible;touch-action:pan-y pinch-zoom}
.reviews-enhanced .review-slide[hidden]{display:none}
.reviews-viewer:focus-visible,.reviews-controls button:focus-visible{outline:2px solid var(--forest);outline-offset:4px}
.review-slide .review-entry-title{font-family:var(--sans);font-size:16px;font-weight:500;line-height:1.5;margin:0 0 6px;letter-spacing:normal}
.review-entry-meta{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 20px}
.opening-demo .review-slide blockquote{border:0;padding:0;margin:0 0 20px;font-size:17px;line-height:1.75;max-width:740px}
.review-slide blockquote p{margin:0}
.review-entry-author{font-size:14px;font-weight:500;line-height:1.5;margin:0 0 4px}
.review-entry-date{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 4px}
.review-slide footer>.text-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center;gap:8px;white-space:normal}
.reviews-controls{display:flex;justify-content:flex-end;gap:10px;padding-top:14px}
.reviews-controls[hidden]{display:none}
.reviews-controls button{display:grid;place-items:center;width:46px;height:46px;padding:0;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--ink);font-size:23px;cursor:pointer}
.reviews-controls button:hover{background:var(--surface);border-color:var(--muted)}
.review-video{max-width:520px;margin:0}
.review-video .journal-video-frame{aspect-ratio:4/3;max-width:360px;background:var(--forest)}
.review-video .work-video{object-fit:contain;object-position:center}
.review-video .journal-video-copy{padding:16px 0 0}
.review-video .journal-video-copy p{font-size:14px;line-height:1.65;margin:0 0 8px}
.review-video .journal-video-copy .text-link{min-height:44px;display:inline-flex;align-items:center}
.review-video .video-control-row{max-width:360px;padding-inline:0}
.opening-demo .journal-team-only{grid-template-columns:minmax(0,1fr)}
@media(min-width:701px){
 .journal-team-only .journal-video-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr}
 .journal-team-only .journal-video-frame{grid-column:1;grid-row:1}
 .journal-team-only .video-control-row,.journal-team-only .video-load-status{grid-column:1}
 .journal-team-only .journal-video-copy{grid-column:2;grid-row:1/4;align-self:center}
}
@media(max-width:600px){
 .opening-demo .reviews-collection{margin-top:26px;padding-top:22px}
 .review-slide{padding-block:20px}
 .opening-demo .review-slide blockquote{font-size:16px;line-height:1.7}
}
