.services-grid .virtual-tour-service{grid-column:1/-1;padding:36px;background:radial-gradient(ellipse at 100% 0%,#ef001809,transparent 45%),linear-gradient(135deg,#ffffff08,#ffffff02)}
.virtual-tour-service>span{font-size:12px;letter-spacing:.12em}
.tour-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:10px 0 22px}
.services-grid .tour-heading h3{font-size:clamp(32px,3.4vw,48px);margin:14px 0 20px;letter-spacing:-.025em}
.services-grid .tour-lead{font-size:clamp(23px,2.4vw,32px);line-height:1.35;color:#c6c6c6;letter-spacing:-.02em}
.services-grid .tour-description{max-width:920px}
.tour-orbit{position:relative;display:grid;place-items:center;width:174px;height:174px;flex-shrink:0;margin-right:25px;border:1px solid #ffffff24;border-radius:50%;color:#d4d4d4;font-size:41px;letter-spacing:-.05em;background:radial-gradient(circle,#ffffff06,transparent 65%)}
.tour-orbit:before,.tour-orbit:after{content:"";position:absolute;inset:25px -15px;border:1px solid #ffffff33;border-radius:50%;transform:rotate(-35deg)}
.tour-orbit:after{inset:18px -9px;border-color:#ef00185c;transform:rotate(35deg)}
.tour-features{list-style:none;padding:0;margin:28px 0 40px;display:flex;flex-wrap:wrap;gap:9px}
.tour-features li{font-size:13px;line-height:1.5;border:1px solid #ffffff24;border-radius:24px;padding:8px 14px;color:#b6b6b6;background:#ffffff03}
.tour-examples-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:28px;margin:0 0 20px;border-top:1px solid #ffffff14}
.tour-examples-heading h4{font-size:24px;font-weight:400;color:#d1d1d1;margin:0}
.tour-examples-heading>span{font-size:10px;letter-spacing:.14em;color:#999}
.tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tour-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid #ffffff30;border-radius:12px;background:#111;transition:border-color .3s,box-shadow .3s}
.tour-card:after{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(230px circle at var(--glow-x,50%) var(--glow-y,0%),#ffffffb0,transparent 80%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;transition:opacity .3s}
.tour-cover{position:relative;aspect-ratio:1.6;overflow:hidden;background:linear-gradient(140deg,#2b2524,#12171c)}
.tour-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 65%);pointer-events:none}
.tour-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .6s;filter:brightness(.86)}
.tour-badge{position:absolute;left:14px;top:14px;padding:5px 9px;font-size:12px;line-height:1.4;border:1px solid #ffffff66;border-radius:20px;background:#1119;color:#eee;z-index:1}
.tour-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid #ffffff94;color:white;background:#1616167a;backdrop-filter:blur(8px);z-index:1;transition:background .3s,scale .3s}
.tour-play svg{width:22px;height:22px;margin-left:-3px}
.tour-open{position:absolute;left:16px;bottom:14px;font-size:13px;color:#efefef;z-index:1}
.tour-caption{padding:18px 18px 20px}
.tour-caption>span{font-size:11px;letter-spacing:.04em;color:#aaa}
.tour-caption h4{font-size:21px;line-height:1.3;font-weight:400;color:#d6d6d6;margin:8px 0 0}
.tour-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:25px}
.services-grid .tour-attribution{max-width:580px;font-size:12px;line-height:1.7;color:#969696}
.tour-attribution a{text-decoration:underline;text-underline-offset:3px;color:#bbb}
.tour-cta{flex-shrink:0;font-size:17px;border:1px solid #ffffff30;padding:12px 20px;gap:25px;color:#ddd;border-radius:8px}
#tour-dialog{max-width:1120px;width:calc(100% - 48px);padding:24px;border-radius:16px;overflow:auto}
.tour-dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
#tour-dialog h2{font-size:26px;margin:10px 0 22px}
.tour-close{float:none;min-width:44px;min-height:44px;padding:0;line-height:1}
#tour-viewer{background:#080808;border:1px solid #ffffff20;border-radius:8px;overflow:hidden;aspect-ratio:16/9}
#tour-viewer iframe{display:block;width:100%;height:100%;border:0}
.tour-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}
.tour-dialog-bottom p{font-size:13px;color:#aaa;margin:0;line-height:1.6}
.tour-dialog-bottom a{font-size:13px;color:#ddd;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.custom-cursor #tour-dialog,.custom-cursor #tour-dialog *{cursor:auto!important}
.custom-cursor #tour-dialog a,.custom-cursor #tour-dialog button{cursor:pointer!important}
body:has(#tour-dialog[open]) #cursor{display:none}
body:has(#tour-dialog[open]){overflow:hidden}
@media(hover:hover) and (pointer:fine){.tour-card:hover{border-color:#ffffff70;box-shadow:0 10px 30px #0003}.tour-card:hover:after{opacity:1}.tour-card:hover img{transform:scale(1.04);filter:brightness(1)}.tour-card:hover .tour-play{background:#d41127b0}}
@media(max-width:1000px){.tour-orbit{width:140px;height:140px;margin-right:12px;font-size:35px}.tour-bottom{align-items:flex-start;flex-direction:column;gap:20px}.tour-caption{padding:15px}.tour-caption h4{font-size:19px}}
@media(max-width:700px){.services-grid .virtual-tour-service{padding:25px 23px 28px}.tour-heading{gap:16px}.services-grid .tour-heading h3{font-size:32px}.services-grid .tour-lead{font-size:23px}.tour-orbit{width:78px;height:78px;margin-right:5px;font-size:23px}.tour-orbit:before{inset:12px -6px}.tour-orbit:after{inset:9px -4px}.tour-features{margin:24px 0 30px;gap:8px}.tour-features li{font-size:12px;padding:7px 11px}.tour-examples-heading{align-items:flex-start;flex-direction:column;gap:9px}.tour-examples-heading h4{font-size:24px}.tour-grid{grid-template-columns:1fr;gap:18px}.tour-cover{aspect-ratio:1.6}.tour-caption h4{font-size:23px}.tour-caption{padding:18px}.tour-cta{font-size:16px;justify-content:space-between;width:100%;padding:12px 15px;gap:12px}#tour-dialog{width:calc(100% - 24px);padding:18px;border-radius:12px}#tour-dialog h2{font-size:23px}.tour-dialog-top .dialog-eyebrow{font-size:10px}.tour-dialog-bottom{align-items:flex-start;flex-direction:column;gap:12px}#tour-viewer{aspect-ratio:3/4;max-height:57svh}}
@media(max-width:390px){.tour-orbit{display:none}}
@media(prefers-reduced-motion:reduce){.tour-card,.tour-card:after,.tour-cover img,.tour-play{transition:none}}
