/* Matterport construction scans for builders: editorial service page. */
.a360-builder-service {
  --bs-navy: #071d2c;
  --bs-navy-light: #0e2a3a;
  --bs-ink: #132a37;
  --bs-paper: #f8f6f0;
  --bs-sand: #ebe7dd;
  --bs-gold: #d6b777;
  --bs-gold-dark: #997238;
  --bs-muted: #536571;
  color: var(--bs-ink);
  background: var(--bs-paper);
}
.a360-builder-service main { background: var(--bs-paper); }
.a360-builder-service em { font-weight: inherit; }
.a360-builder-service .bs-kicker {
  margin: 0 0 20px;
  color: var(--bs-gold-dark);
  font: 800 11px/1.5 var(--a360-sans);
  letter-spacing: .17em;
  text-transform: uppercase;
}
.a360-builder-service .bs-kicker > span { margin-inline: 7px; opacity: .65; }
.a360-builder-service h2:not(.bs-dialog-bar h2) {
  margin: 0;
  font: 400 clamp(55px, 6.2vw, 92px)/.96 var(--a360-serif);
  letter-spacing: -.045em;
  text-wrap: balance;
}
.a360-builder-service h2 em { color: var(--bs-gold-dark); }
.a360-builder-service .bs-actions { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; }
.a360-builder-service .bs-actions .a360-btn { min-height: 52px !important; }
.a360-builder-service .bs-actions .a360-btn-outline-dark { color: #fff; border-color: #ffffff99; background: #071d2c40; }
.a360-builder-service .bs-actions .a360-btn-outline-dark:hover,
.a360-builder-service .bs-actions .a360-btn-outline-dark:focus-visible { color: var(--bs-ink); background: #fff; border-color: #fff; }

.bs-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: end;
  min-height: max(780px, 100svh);
  overflow: hidden;
  color: #fff;
  background: var(--bs-navy);
}
.bs-hero-media, .bs-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.bs-hero-media { z-index: -2; overflow: hidden; }
.bs-hero-media img { max-width: none; object-fit: cover; object-position: 63% 46%; transform: scale(1.04); }
.bs-hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, #061a29ef 0%, #061a29c9 34%, #061a2970 66%, #061a2920 100%),
              linear-gradient(180deg, #061a2978 0%, transparent 30%, #061a2980 100%);
}
.bs-hero-inner { position: relative; width: 100%; padding-block: 180px clamp(75px, 11vh, 125px); }
.bs-hero-copy { max-width: 970px; }
.bs-hero .bs-kicker { color: #e9ce94; }
.bs-hero h1 {
  max-width: 930px;
  margin: 0;
  color: #fff;
  font: 400 clamp(67px, 7.8vw, 119px)/.98 var(--a360-serif);
  letter-spacing: -.05em;
  text-wrap: balance;
}
.bs-hero h1 em { color: #e9ce94; }
.a360-builder-service .bs-hero-lede { max-width: 580px; margin: clamp(50px, 5vw, 68px) 0 30px; color: #f1f4f2; font: 500 clamp(16px, 1.45vw, 19px)/1.75 var(--a360-sans); }

.bs-intro { padding-block: clamp(92px, 9vw, 145px); }
.bs-intro-grid { display: grid; grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); align-items: center; gap: clamp(55px, 8vw, 140px); }
.bs-intro-copy { max-width: 610px; }
.bs-intro-copy h2 { max-width: 620px; }
.bs-intro-copy p:not(.bs-kicker) { max-width: 580px; margin: 22px 0 0; color: var(--bs-muted); font: 400 clamp(16px, 1.2vw, 18px)/1.78 var(--a360-sans); }
.bs-intro-art { position: relative; min-width: 0; }
.bs-intro-player { position: relative; overflow: hidden; aspect-ratio: 1.04; background: var(--bs-navy); box-shadow: 0 18px 55px #071d2c1c; }
.bs-intro-player > img, .bs-intro-player iframe,
.bs-spotlight-player > img, .bs-spotlight-player iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.bs-intro-player > img, .bs-spotlight-player > img { object-fit: cover; }
.bs-intro-player iframe, .bs-spotlight-player iframe { z-index: 1; transition: opacity .55s ease; }
.bs-intro-player.is-loading iframe, .bs-spotlight-player.is-loading iframe { opacity: 0; pointer-events: none; }
.bs-intro-expand { position: absolute; z-index: 3; top: 14px; right: 14px; display: grid; place-items: center; width: 43px; height: 43px; padding: 0; border: 1px solid #ffffff70; border-radius: 50%; color: #fff; background: #25282bd9; box-shadow: 0 3px 13px #0005; backdrop-filter: blur(8px); cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.bs-intro-expand svg { display: block; width: 19px; height: 19px; }
.bs-intro-expand .bs-intro-expand-close { display: none; font: 400 28px/1 var(--a360-sans); }
.bs-intro-expand:is(:hover, :focus-visible) { background: #071d2c; border-color: #fff; }
.bs-intro-expand:focus-visible { outline: 2px solid #e8c98c; outline-offset: 3px; }
.bs-intro-player.is-expanded-viewer .bs-intro-expand svg { display: none; }
.bs-intro-player.is-expanded-viewer .bs-intro-expand .bs-intro-expand-close { display: block; }
.bs-intro-player.is-expanded-viewer { position: fixed; z-index: 10000; inset: 0; width: 100vw; height: 100dvh; aspect-ratio: auto; box-shadow: none; }
.bs-intro-player:fullscreen { width: 100vw; height: 100dvh; aspect-ratio: auto; }
html.bs-viewer-open { overflow: hidden; }
html.bs-viewer-open .a360-builder-service .bs-intro-art.bs-reveal { z-index: 10000; transform: none !important; transition: none; }
html.bs-viewer-open .a360-homepage { overflow: visible; }
.bs-intro-art::before { content: ''; position: absolute; z-index: -1; inset: 28px -25px -25px 25px; background: var(--bs-sand); }
.a360-builder-service .bs-intro-art-note { margin: 18px 0 0; color: var(--bs-ink); font: 400 clamp(27px, 2.7vw, 42px)/1.05 var(--a360-serif); letter-spacing: -.03em; text-align: right; }
.bs-intro-art-note em { color: var(--bs-gold-dark); }

.bs-spotlight { --bs-window-open: 1; --bs-window-gutter: clamp(24px, 4vw, 64px); padding-top: clamp(55px, 5vw, 76px); color: var(--bs-ink); background: var(--bs-paper); }
.bs-spotlight-head { padding-bottom: clamp(42px, 5vw, 72px); }
.bs-spotlight .bs-kicker, .bs-spotlight h2 em { color: var(--bs-gold-dark); }
.bs-spotlight h2 { max-width: 900px; color: var(--bs-ink); }
.bs-spotlight-player { position: relative; width: calc(100% - var(--bs-window-gutter) * 2 * (1 - var(--bs-window-open))); height: clamp(440px, 74svh, 850px); margin-inline: auto; overflow: hidden; border-radius: calc(14px * (1 - var(--bs-window-open))); background: #0b1d27; box-shadow: 0 22px 62px #07182716; }
.bs-spotlight-caption { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-block: 30px 44px; }
.bs-spotlight-caption strong { color: var(--bs-ink); font: 400 clamp(28px, 2.8vw, 40px)/1.05 var(--a360-serif); }
.bs-spotlight-caption p { margin: 8px 0 0; color: var(--bs-muted); font: 400 13px/1.7 var(--a360-sans); }
.bs-spotlight-caption .a360-btn { flex: none; min-height: 49px !important; color: var(--bs-ink); border-color: #132a3766; }
.bs-spotlight-caption .a360-btn:hover, .bs-spotlight-caption .a360-btn:focus-visible { color: #fff; background: var(--bs-ink); border-color: var(--bs-ink); }

.bs-story-top-hint { color: #fff; }
.a360-builder-service .a360-builder-story h2 { color: #fff; font-size: clamp(66px, 7.2vw, 112px); }
.a360-builder-service .a360-builder-story h2 em { color: #e3c68c; }
.a360-builder-service .a360-builder-story .a360-builder-story-cta .a360-btn { min-height: 50px !important; }
@media (min-width: 801px) and (min-height: 700px) and (prefers-reduced-motion: no-preference) {
  /* The neighboring panels uncover and then cover half of the pinned view. */
  .a360-builder-service .bs-uses,
  .a360-builder-service .bs-process { position: relative; z-index: 2; }
  .a360-builder-service .a360-builder-story.is-enhanced {
    --bs-story-overlap: 50svh;
    z-index: 1;
    height: calc(310svh + var(--bs-story-overlap));
    min-height: calc(1900px + var(--bs-story-overlap));
    margin-top: calc(-1 * var(--bs-story-overlap));
  }
  .a360-builder-service .a360-builder-story.is-enhanced + .bs-process {
    margin-top: -50svh;
  }
  .a360-builder-service .a360-builder-story.is-enhanced .a360-builder-story-cta {
    transform: translateY(calc(var(--story-cta-y, 0px) - var(--bs-story-exit-shift, 0px)));
  }
}
.bs-story-fallback-instruction { display: none; }
.a360-builder-service .a360-builder-story.is-error .bs-story-interactive-instruction { display: none; }
.a360-builder-service .a360-builder-story.is-error .bs-story-fallback-instruction { display: inline; }
.a360-builder-service .a360-builder-story.is-error .a360-builder-story-status {
  top: 60px;
  right: max(24px, calc((100vw - 1190px) / 2 + 48px));
  bottom: auto;
  max-width: 260px;
  font-size: 10px;
}

.bs-tours { padding-block: clamp(90px, 9vw, 145px) clamp(45px, 4vw, 64px); background: var(--bs-paper); }
.bs-section-head { max-width: 810px; margin-bottom: clamp(44px, 5vw, 74px); }
.bs-section-head h2 { margin-bottom: 18px !important; }
.bs-section-head > p:last-child { max-width: 660px; margin: 22px 0 0; color: var(--bs-muted); font: 400 clamp(17px, 1.35vw, 20px)/1.7 var(--a360-sans); }
.bs-tour-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(30px, 3.4vw, 47px) 20px; }
.bs-tour-card-shell { position: relative; min-width: 0; }
.bs-tour-card {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  color: var(--bs-ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.bs-tour-card:focus-visible { outline: 3px solid #cda45c; outline-offset: 5px; }
.bs-tour-poster { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #d8d5ce; }
.bs-tour-poster::after { position: absolute; inset: 0; background: linear-gradient(0deg, #05192565, transparent 65%); content: ''; pointer-events: none; }
.bs-tour-card img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.3,1); }
.bs-tour-card:is(:hover, :focus-visible) img { transform: scale(1.045); }
.bs-tour-badge { position: absolute; z-index: 1; left: 20px; bottom: 18px; display: grid; place-items: center; width: 60px; height: 36px; border: 1px solid #ffffff9e; border-radius: 30px; color: #fff; background: #0a263880; font: 700 12px/1 var(--a360-sans); backdrop-filter: blur(7px); transition: color .3s, background .3s; }
.bs-tour-card:is(:hover, :focus-visible) .bs-tour-badge { color: var(--bs-navy); background: #e6cca0; border-color: #e6cca0; }
.bs-tour-card-copy { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 5px 16px; min-height: 93px; padding: 15px 0 19px; border-bottom: 1px solid #dcd5c8; }
.bs-tour-card-copy small { grid-column: 1 / -1; color: var(--bs-gold-dark); font: 800 10px/1.5 var(--a360-sans); letter-spacing: .11em; text-transform: uppercase; }
.bs-tour-card-copy strong { color: var(--bs-ink); font: 500 clamp(29px, 2.45vw, 38px)/1.08 var(--a360-serif); letter-spacing: -.025em; }
.bs-tour-card-copy > span { color: var(--bs-gold-dark); font: 400 27px/1 var(--a360-serif); opacity: 0; transform: translate(-3px, 3px); transition: opacity .2s ease, transform .2s ease; }
.bs-tour-card:is(:hover, :focus-visible) .bs-tour-card-copy > span,
.bs-tour-card-shell:is(:hover, :focus-within) .bs-tour-card-copy > span { opacity: 1; transform: translate(3px, -3px); }
.bs-tour-preview { position: absolute; inset: 0 0 auto; z-index: 2; overflow: hidden; width: 100%; aspect-ratio: 4 / 3; pointer-events: none; }
.bs-tour-preview iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.bs-tour-card-shell.is-tour-preview-active .bs-tour-preview,
.bs-tour-card-shell.is-tour-preview-active .bs-tour-preview iframe { pointer-events: auto; }
.bs-tour-card-shell.is-tour-preview-active .bs-tour-preview iframe { opacity: 1; }
.bs-tour-preview-status { position: absolute; top: 15px; right: 15px; display: flex; align-items: center; gap: 9px; padding: 9px 12px; color: #fff; background: #071d2cde; font: 700 10px/1.3 var(--a360-sans); letter-spacing: .025em; pointer-events: none; }
.bs-tour-preview-status::before { width: 10px; height: 10px; border: 1px solid #ffffff66; border-top-color: #e6cca0; border-radius: 50%; content: ''; animation: bs-tour-preview-spin .8s linear infinite; }
.bs-tour-preview-open { position: absolute; z-index: 3; top: 14px; right: 14px; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #ffffffa6; border-radius: 50%; color: #fff; background: #071d2ccc; box-shadow: 0 2px 12px #0003; backdrop-filter: blur(8px); cursor: pointer; }
.bs-tour-preview-open[hidden] { display: none; }
.bs-tour-preview-open svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bs-tour-preview-open:is(:hover, :focus-visible) { color: var(--bs-navy); background: #e6cca0; border-color: #e6cca0; }
.bs-tour-preview-open:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@keyframes bs-tour-preview-spin { to { transform: rotate(360deg); } }
.a360-builder-service .bs-tour-caption { max-width: 760px; margin: 26px 0 0; color: var(--bs-muted); font: 400 13px/1.7 var(--a360-sans); }

.bs-uses { padding-block: clamp(83px, 8vw, 125px); background: #e9e6dd; }
.bs-uses-head { margin-bottom: clamp(46px, 5vw, 75px); }
.bs-uses-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #9aa3a4; border-bottom: 1px solid #9aa3a4; }
.bs-use { padding: clamp(28px, 3.4vw, 49px); min-width: 0; }
.bs-use:first-child { padding-left: 0; }
.bs-use:last-child { padding-right: 0; }
.bs-use + .bs-use { border-left: 1px solid #aeb6b4; }
.bs-use > span { color: var(--bs-gold-dark); font: 800 10px/1.5 var(--a360-sans); letter-spacing: .15em; }
.bs-use h3 { max-width: 300px; margin: 42px 0 21px; color: var(--bs-ink); font: 400 clamp(38px, 3.3vw, 51px)/1.01 var(--a360-serif); letter-spacing: -.03em; }
.bs-use p { max-width: 360px; margin: 0; color: var(--bs-muted); font: 400 clamp(14px, 1.1vw, 16px)/1.75 var(--a360-sans); }

.bs-process { padding-block: clamp(89px, 9vw, 145px); color: #fff; background: var(--bs-navy); }
.bs-process .bs-kicker, .bs-process h2 em { color: #e5c788; }
.bs-process h2 { color: #fff; }
.bs-process-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .75fr); column-gap: clamp(45px, 8vw, 125px); align-items: end; margin-bottom: clamp(54px, 6vw, 90px); }
.bs-process-head .bs-kicker { grid-column: 1 / -1; }
.bs-process-head p:last-child { max-width: 470px; margin: 0 0 4px; color: #c6d1d6; font: 400 clamp(17px, 1.35vw, 20px)/1.7 var(--a360-sans); }
.bs-process-list { border-top: 1px solid #ffffff55; }
.bs-process-row { display: grid; grid-template-columns: 85px minmax(0, .85fr) minmax(0, 1.2fr); gap: clamp(20px, 4vw, 75px); align-items: start; padding-block: clamp(30px, 3.8vw, 52px); border-bottom: 1px solid #ffffff55; }
.bs-process-row > span { color: #e7c98b; font: 400 39px/1 var(--a360-serif); }
.bs-process-row h3 { margin: 0; color: #fff; font: 400 clamp(33px, 3.2vw, 48px)/1.02 var(--a360-serif); letter-spacing: -.025em; }
.bs-process-row p { max-width: 570px; margin: 0; color: #c7d3d8; font: 400 clamp(15px, 1.14vw, 17px)/1.73 var(--a360-sans); }
.a360-builder-service .bs-process-note { max-width: 730px; margin: 27px 0 0; color: #afc0c8; font: 400 13px/1.65 var(--a360-sans); }

.bs-faq { padding-block: clamp(90px, 9vw, 145px); }
.bs-faq-grid { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.15fr); gap: clamp(55px, 9vw, 140px); }
.bs-faq-intro > p:not(.bs-kicker) { max-width: 405px; margin: 27px 0 21px; color: var(--bs-muted); font: 400 17px/1.7 var(--a360-sans); }
.bs-faq-intro .a360-btn { min-height: 52px !important; }
.bs-faq-list { border-top: 1px solid #b5bdbd; }
.bs-faq-list details { border-bottom: 1px solid #b5bdbd; }
.bs-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0; color: var(--bs-ink); font: 700 clamp(17px, 1.45vw, 21px)/1.45 var(--a360-sans); cursor: pointer; list-style: none; }
.bs-faq-list summary::-webkit-details-marker { display: none; }
.bs-faq-list summary span { flex: none; color: var(--bs-gold-dark); font: 400 31px/1 var(--a360-serif); transition: transform .25s; }
.bs-faq-list details[open] summary span { transform: rotate(45deg); }
.bs-faq-list details p { max-width: 670px; margin: 0 40px 25px 0; color: var(--bs-muted); font: 400 15px/1.8 var(--a360-sans); }

.bs-final { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 590px; padding-block: 95px; overflow: hidden; color: #fff; background: var(--bs-navy); }
.bs-final-media, .bs-final-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.bs-final-media { z-index: -2; }
.bs-final-media img { object-fit: cover; object-position: center 49%; }
.bs-final::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #071d2cf2 0%, #071d2cdb 44%, #071d2c78 76%, #071d2c4a 100%); }
.bs-final-inner { width: 100%; }
.bs-final .bs-kicker, .bs-final h2 em { color: #e5c788; }
.bs-final h2 { max-width: 840px; color: #fff; }
.bs-final p:not(.bs-kicker) { max-width: 590px; margin: 27px 0 26px; color: #e3e8e9; font: 400 clamp(16px, 1.3vw, 19px)/1.7 var(--a360-sans); }

.bs-tour-dialog { position: fixed; inset: 0; width: min(100vw - 36px, 1550px); max-width: none; max-height: calc(100dvh - 32px); padding: 0; overflow: hidden; border: 1px solid #bdab86; color: #fff; background: var(--bs-navy); box-shadow: 0 30px 90px #0009; }
.bs-tour-dialog::backdrop { background: #020b12d9; backdrop-filter: blur(7px); }
.bs-dialog-shell { display: flex; flex-direction: column; height: min(92dvh, 1040px); min-height: 0; }
.bs-dialog-bar { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px clamp(17px, 2.4vw, 32px); border-bottom: 1px solid #ffffff30; }
.bs-dialog-bar span { display: block; color: #e5c788; font: 800 9px/1.4 var(--a360-sans); letter-spacing: .16em; }
.bs-dialog-bar h2 { margin: 4px 0 0; color: #fff; font: 400 clamp(24px, 2.8vw, 39px)/1 var(--a360-serif); }
.bs-dialog-bar button { flex: none; display: flex; align-items: center; gap: 13px; padding: 11px 15px; border: 1px solid #ffffff9a; color: #fff; background: none; font: 800 10px/1.5 var(--a360-sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.bs-dialog-bar button span { color: #fff; font: 400 23px/1 var(--a360-sans); letter-spacing: 0; }
.bs-dialog-bar button:is(:hover, :focus-visible) { color: var(--bs-navy); background: #fff; }
.bs-dialog-bar button:is(:hover, :focus-visible) span { color: var(--bs-navy); }
.bs-dialog-player { flex: 1; min-height: 0; background: #07121d; }
.bs-dialog-player iframe { display: block; width: 100%; height: 100%; border: 0; }

.a360-builder-service.bs-js .bs-reveal { opacity: 0; transform: translateY(24px); transition: opacity .72s ease, transform .72s ease; }
.a360-builder-service.bs-js .bs-reveal.is-visible { opacity: 1; transform: none; }
@media (max-width: 1050px) {
  .bs-intro-grid { gap: 50px; }
  .bs-tour-card-copy strong { font-size: clamp(27px, 3.3vw, 34px); }
}
@media (max-width: 800px) {
  .bs-hero { min-height: 760px; }
  .bs-hero-inner { padding-block: 190px 72px; }
  .bs-hero h1 { font-size: clamp(67px, 10vw, 90px); }
  .bs-intro-grid, .bs-process-head, .bs-faq-grid { grid-template-columns: 1fr; gap: 38px; }
  .bs-intro-art { max-width: 650px; }
  .bs-intro-player { aspect-ratio: 1.25; }
  .bs-spotlight-player { height: clamp(420px, 65svh, 690px); }
  .bs-process-head .bs-kicker { grid-column: auto; margin-bottom: -22px; }
  .bs-process-head p:last-child { max-width: 700px; }
  .bs-faq-grid { gap: 55px; }
  .bs-uses-grid { grid-template-columns: 1fr; }
  .bs-use, .bs-use:first-child, .bs-use:last-child { padding: 32px 0; }
  .bs-use + .bs-use { border-left: 0; border-top: 1px solid #aeb6b4; }
  .bs-use h3 { max-width: none; margin: 17px 0 10px; }
  .bs-use p { max-width: 670px; }
}
@media (max-width: 640px) {
  .a360-builder-service h2:not(.bs-dialog-bar h2) { font-size: clamp(48px, 12vw, 65px); }
  .a360-builder-service .bs-kicker { margin-bottom: 15px; font-size: 9px; }
  .bs-hero { min-height: 700px; min-height: min(760px, 100svh); }
  .bs-hero-media img { object-position: 57% center; }
  .bs-hero::after { background: linear-gradient(180deg, #061a29af 0%, #061a2940 25%, #061a29bc 57%, #061a29f2 100%); }
  .bs-hero-inner { padding-block: 150px 54px; }
  .bs-hero h1 { font-size: clamp(54px, 14vw, 74px); line-height: .99; }
  .a360-builder-service .bs-hero-lede { max-width: 420px; margin-top: 34px; font-size: 15px; line-height: 1.65; }
  .bs-actions { align-items: stretch !important; }
  .bs-actions .a360-btn { justify-content: center; min-height: 48px !important; }
  .bs-intro { padding-block: 78px 88px; }
  .bs-intro-grid { gap: 41px; }
  .bs-intro-copy p:not(.bs-kicker) { font-size: 15px; line-height: 1.7; }
  .bs-intro-player { aspect-ratio: 1.03; }
  .bs-intro-art::before { inset: 16px -12px -14px 12px; }
  .a360-builder-service .bs-intro-art-note { margin-top: 16px; font-size: 30px; }
  .bs-spotlight { padding-top: 45px; }
  .bs-spotlight-head { padding-bottom: 39px; }
  .bs-spotlight-player { height: min(66svh, 560px); min-height: 365px; }
  .bs-spotlight-caption { flex-direction: column; align-items: flex-start; gap: 20px; padding-block: 24px 33px; }
  .bs-spotlight-caption .a360-btn { width: 100%; justify-content: center; }
  .a360-builder-service .a360-builder-story h2 { font-size: clamp(48px, 12vw, 70px); }
  .bs-story-top-hint { display: none; }
  .a360-builder-service .a360-builder-story.is-error .a360-builder-story-status { top: 45px; left: 24px; right: 24px; bottom: auto; max-width: 300px; text-align: left; }
  .bs-tours { padding-block: 76px 38px; }
  .bs-section-head { margin-bottom: 35px; }
  .bs-section-head > p:last-child { margin-top: 15px; font-size: 16px; }
  .bs-tour-grid { grid-template-columns: 1fr; gap: 27px; }
  .bs-tour-card-copy { min-height: 0; padding: 14px 0 18px; }
  .bs-tour-card-copy strong { font-size: clamp(28px, 7.6vw, 36px); }
  .bs-uses { padding-block: 75px; }
  .bs-uses-head { margin-bottom: 38px; }
  .bs-process { padding-block: 78px; }
  .bs-process-head { gap: 28px; margin-bottom: 45px; }
  .bs-process-head .bs-kicker { margin-bottom: -15px; }
  .bs-process-head p:last-child { font-size: 16px; }
  .bs-process-row { grid-template-columns: 55px 1fr; gap: 8px 15px; padding-block: 28px; }
  .bs-process-row > span { grid-row: span 2; font-size: 31px; }
  .bs-process-row h3 { font-size: 37px; }
  .bs-process-row p { font-size: 14px; }
  .bs-faq { padding-block: 78px 88px; }
  .bs-faq-grid { gap: 39px; }
  .bs-faq-intro > p:not(.bs-kicker) { font-size: 16px; }
  .bs-faq-list summary { font-size: 16px; }
  .bs-final { min-height: 600px; padding-block: 80px; }
  .bs-final::after { background: linear-gradient(180deg, #071d2c9e 0%, #071d2c88 28%, #071d2cf0 70%, #071d2cfa 100%); }
  .bs-final-media img { object-position: 60% center; }
  .bs-final p:not(.bs-kicker) { font-size: 15px; }
  .bs-tour-dialog { width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; }
  .bs-dialog-shell { height: 100dvh; }
  .bs-dialog-bar { padding: 11px 13px; }
  .bs-dialog-bar h2 { font-size: 26px; }
  .bs-dialog-bar button { padding: 8px 10px; }
}
@media (max-width: 390px) {
  .bs-hero h1 { font-size: 51px; }
  .bs-hero .bs-actions { flex-direction: column; align-items: stretch; }
  .bs-tour-card-copy small { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .bs-tour-card img, .bs-tour-card-copy > span, .bs-tour-preview iframe, .bs-faq-list summary span, .bs-intro-player iframe, .bs-spotlight-player iframe, .a360-builder-service .bs-reveal { transition: none !important; }
  .bs-tour-preview-status::before { animation: none; }
  .a360-builder-service .a360-builder-story-poster-finished { opacity: 1; clip-path: inset(0 0 0 50%); }
}
