/* The virtual-tour page extends the site's blue, gold and dark-glass palette. */
.tour-hero{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:64px;padding:72px 0 96px}
.tour-hero h1{font-size:clamp(2.75rem,5.7vw,5.2rem);line-height:1.055;margin:24px 0 28px;letter-spacing:-.055em;max-width:700px}
.tour-lead,.tour-intro{font-size:1.125rem;line-height:1.75;color:var(--muted);max-width:720px}
.tour-actions{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-top:30px}
.tour-actions .text-link{color:var(--blue-light)}
.tour-hero-visual{justify-self:center;width:min(100%,420px);padding-top:12px;position:relative}
.tour-hero-visual>img{display:block;width:100%;height:auto;object-fit:contain;border:0;border-radius:0;background:transparent;box-shadow:none}
.tour-device{display:block;width:100%;padding:7px;border:1px solid #8d9aab;border-radius:38px;background:#090b0e;overflow:hidden}
.tour-device img{display:block;width:100%;height:auto;border-radius:30px}
.tour-hero-visual figcaption{margin-top:26px;text-align:center;color:var(--muted);font-size:.875rem;line-height:1.6}
.tour-section{padding:68px 0;border-top:1px solid var(--line)}
.tour-section h2{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.13;margin:16px 0 26px;max-width:840px}
.tour-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.tour-use-grid article{padding:30px;border-radius:24px;background:linear-gradient(140deg,#1d243b,#111925);min-width:0}
.tour-use-icon{display:block;width:38px;height:36px;margin-bottom:32px;color:var(--blue);stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tour-icon-glow,.tour-icon-awning{animation:tour-icon-breathe 3.5s ease-in-out infinite}
.tour-icon-awning{animation-delay:.6s}
.tour-icon-route{animation:tour-route-travel 5s linear infinite}
@keyframes tour-icon-breathe{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes tour-route-travel{to{stroke-dashoffset:-20}}
@media(max-width:760px){.tour-use-icon{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.tour-icon-glow,.tour-icon-awning,.tour-icon-route{animation:none}}
.tour-use-grid h3{font-size:1.4rem;line-height:1.25;letter-spacing:-.025em}
.tour-use-grid p,.tour-step-copy p{color:var(--muted);font-size:1rem;line-height:1.7;margin-top:16px}
.tour-steps{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.tour-steps>li{padding:34px 34px 26px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(150deg,#141d2a,#0e131c);min-width:0}
.tour-step-number{display:block;color:var(--blue-light);font-size:.875rem;margin-bottom:18px}
.tour-step-copy h3{font-size:1.65rem;line-height:1.25}
.tour-step-figure{width:min(100%,278px);margin:32px auto 0}
.tour-phone-toggle{display:block;width:100%;padding:0;border:0;background:none;overflow:hidden;cursor:zoom-in;border-radius:38px 38px 0 0;transition:height 650ms cubic-bezier(.22,.61,.36,1);text-align:initial}
.tour-phone-toggle[aria-expanded=true]{border-radius:38px;cursor:zoom-out}
.tour-phone-toggle:focus-visible{outline:2px solid var(--blue-light);outline-offset:5px}
.tour-step-figure figcaption{font-size:.875rem;line-height:1.5;color:var(--blue-light);text-align:center;margin-top:16px}
.tour-demo{display:grid;grid-template-columns:1fr auto;align-items:center;gap:36px;padding:clamp(28px,5vw,56px);margin:42px 0 70px;background:linear-gradient(125deg,#30304d,#1c2c43 60%,#163044);border-radius:28px}
.tour-demo h2{font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.12;margin:22px 0;max-width:640px}
.tour-demo p:not(.eyebrow){max-width:660px;color:#b7c0ce;font-size:1.0625rem;line-height:1.7}
.tour-demo .button{margin-top:28px;white-space:normal;text-align:left}
.tour-demo-mark{color:#c0d7f6;font-size:clamp(3rem,8vw,7rem);font-weight:300;letter-spacing:-.055em;opacity:.55}
.tour-share{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.tour-share p:not(.eyebrow){color:var(--muted);font-size:1.0625rem;line-height:1.75}
.tour-share p+p{margin-top:18px}
.tour-final{padding:clamp(28px,5vw,56px);margin:28px 0 72px;border-radius:28px;background:linear-gradient(125deg,#172d45,#192138)}
.tour-final h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.13}
.tour-final p{font-size:1.0625rem;color:var(--muted);margin:22px 0 28px;max-width:620px}
.tour-page .tour-slide{transform:translate3d(0,var(--tour-y,0px),0);transition:transform 140ms linear}
.tour-page .tour-card-motion{transform-origin:center top;transform:translate3d(0,var(--card-y,0px),0) scale(var(--card-scale,1));transition:transform 140ms linear}
.tour-dialog{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(8px,2vw,28px);border:0;background:transparent;color:var(--fg);overflow:hidden;overscroll-behavior:contain}
.tour-dialog[open]{display:grid;place-items:center}
.tour-dialog::backdrop{background:rgba(0,0,0,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:background 400ms ease,backdrop-filter 400ms ease}
.tour-dialog.is-visible::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(20px) saturate(.65);-webkit-backdrop-filter:blur(20px) saturate(.65)}
.tour-dialog-panel{width:min(1240px,100%);height:min(840px,100%);min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:#0d1118;opacity:0;transform:translateY(14px) scale(.98);transition:opacity 400ms ease,transform 500ms cubic-bezier(.16,1,.3,1)}
.tour-dialog.is-visible .tour-dialog-panel{opacity:1;transform:translateY(0) scale(1)}
.tour-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;padding:8px 12px 8px 20px;background:#0f1722}
.tour-dialog-toolbar a{color:var(--blue-light);font-size:.875rem;line-height:1.5;min-height:44px;display:flex;align-items:center;gap:8px}
.tour-dialog-toolbar a:hover{text-decoration:underline;text-underline-offset:4px}
.tour-dialog-toolbar button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--fg)}
.tour-dialog-toolbar button:hover{background:#ffffff0e}
.tour-dialog-toolbar button:focus-visible{outline:2px solid var(--blue-light);outline-offset:-3px}
.tour-dialog-toolbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.tour-dialog-viewer{position:relative;flex:1;min-height:0;background:#0e0e10}
.tour-dialog-viewer iframe{display:block;position:relative;width:100%;height:100%;border:0;background:transparent;opacity:0;transition:opacity 350ms ease}
.tour-dialog-viewer iframe.is-loaded{opacity:1}
.tour-load-status{position:absolute;inset:45% 20px auto;text-align:center;color:#c0cad7;font-size:1rem;line-height:1.7}
html.tour-modal-open{overflow:hidden}
html.tour-modal-open,html.tour-restoring-scroll{scroll-behavior:auto!important;overflow-anchor:none}
/* Avoid combining a full-screen blur with a live WebGL tour on mobile. */
@media(max-width:760px){.tour-dialog.is-visible::backdrop{background:rgba(0,0,0,.9);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:600px){.tour-dialog-panel{border-radius:16px}.tour-dialog-toolbar{padding-left:16px}}
@media(max-width:900px){.tour-hero{gap:36px}.tour-use-grid article{padding:24px}.tour-steps>li{padding:28px}.tour-demo-mark{display:none}.tour-demo{grid-template-columns:1fr}}
@media(max-width:760px){.tour-hero{grid-template-columns:1fr;padding:46px 0 68px;gap:50px}.tour-hero h1{font-size:clamp(2.65rem,10vw,4rem)}.tour-hero-visual{width:min(100%,340px)}.tour-lead,.tour-intro{font-size:1.0625rem}.tour-section{padding:46px 0}.tour-use-grid,.tour-steps,.tour-share{grid-template-columns:1fr}.tour-use-grid{gap:22px}.tour-steps{gap:26px;margin-top:30px}.tour-step-figure{width:min(100%,278px)}.tour-use-number{margin-bottom:24px}.tour-share{gap:0}.tour-demo{margin:24px 0 48px;padding:28px}.tour-final{margin:24px 0 52px}.tour-page .nav{gap:12px}}
@media(max-width:380px){.tour-page .button{font-size:.9375rem;padding-inline:18px;gap:12px}.tour-steps>li{padding:24px}.tour-demo{padding:24px}}
@media(prefers-reduced-motion:reduce){.tour-page .tour-slide,.tour-page .tour-card-motion{transform:none;transition:none}.tour-phone-toggle,.tour-dialog-panel,.tour-dialog::backdrop,.tour-dialog-viewer iframe{transition:none}}
/* Keep the background still while the embedded WebGL viewer starts. */
html.tour-modal-open main *,html.tour-modal-open .header *{animation-play-state:paused!important}
.tour-dialog-panel{transform:none;transition:opacity 400ms ease}
.tour-dialog.is-visible .tour-dialog-panel{transform:none}
