/* The video collection: cinematic media, quiet controls, and whole-card motion. */
.a360-video-landing { --video-paper: #f7f4ee; --video-ink: #112839; --video-gold: #a07a3d; }
.a360-video-landing .a360-video-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 850px; min-height: clamp(730px, 94svh, 1050px); color: #fff; background: #0a1b29; overflow: hidden; clip-path: inset(0); }
.a360-video-landing .a360-video-hero-media { position: absolute; z-index: -2; inset: -7% 0; overflow: hidden; }
.a360-video-landing .a360-video-hero-media > img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.a360-video-landing [data-landing-youtube-frame] { position: absolute; z-index: 1; left: 50%; top: 50%; max-width: none; border: 0; opacity: 0; pointer-events: none; transform: translate(-50%,-50%); transition: opacity .8s ease; }
.a360-video-landing .a360-video-hero.is-video-ready [data-landing-youtube-frame] { opacity: 1; }
.a360-video-landing .a360-video-hero::before { position: absolute; inset: -2px; z-index: -1; content: ''; pointer-events: none; background: linear-gradient(90deg, #04121dcc 0%, #04121d82 45%, #04121d24 85%), linear-gradient(0deg, #04121da3, transparent 32%); }
.a360-video-landing .a360-video-hero-inner { width: 100%; padding-block: 176px 172px; }
.a360-video-landing .a360-video-hero .a360-landing-kicker { color: #e1c894; margin-bottom: 29px; }
.a360-video-landing .a360-video-hero h1 { max-width: 940px; margin: 0; color: white; font: 400 clamp(79px, 8.8vw, 140px)/.91 var(--a360-serif); letter-spacing: -.045em; text-wrap: balance; }
.a360-video-landing .a360-video-hero h1 em { display: block; font-weight: 400; color: #e2c88d; }
.a360-video-landing .a360-video-hero-lede { color: #f0ede6; max-width: 475px; margin: 31px 0 36px; font-size: 16px; line-height: 1.9; }
.a360-video-landing .a360-video-hero .a360-landing-actions { display: flex; gap: 27px; align-items: center; flex-wrap: wrap; }
.a360-video-landing .a360-video-hero-bottom { position: absolute; bottom: 52px; left: 0; right: 0; width: 100%; display: flex; align-items: center; justify-content: flex-end; }
.a360-video-landing .a360-video-hero-film { display: inline-flex; align-items: center; gap: 18px; color: #fff; text-decoration: none; }
.a360-video-landing .a360-video-hero-film > span:last-child { font: 400 29px/1.1 var(--a360-serif); }
.a360-video-landing .a360-video-hero-film small { display: block; margin-top: 8px; color: #ffffffca; font: 600 10px/1.5 var(--a360-sans); letter-spacing: .04em; }
.a360-video-landing .a360-video-hero-film-play { display: grid; flex: 0 0 auto; place-items: center; width: 72px; height: 72px; border: 1px solid #ffffff98; border-radius: 50%; background: #ffffff0d; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: background .3s ease, box-shadow .3s ease; }
.a360-video-landing .a360-video-hero-film-play svg { width: 22px; height: 22px; fill: currentColor; margin-left: 3px; }
.a360-video-landing .a360-video-hero-film:is(:hover,:focus-visible) .a360-video-hero-film-play { background: #ffffff26; box-shadow: 0 0 0 9px #ffffff0b; }
.a360-video-landing .a360-video-services { padding-block: clamp(85px,9vw,145px) clamp(82px,8vw,122px); background: #fbfaf6; }
.a360-video-landing .a360-video-section-head { display: block; }
.a360-video-landing .a360-video-section-head .a360-landing-heading { max-width: 1000px; }
.a360-video-landing .a360-video-services-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(26px,3vw,46px) clamp(21px,2.5vw,32px); margin-top: clamp(44px,6vw,72px); align-items: stretch; }
.a360-video-landing .a360-video-card { display: flex; flex-direction: column; border: none; border-radius: 0; min-width: 0; background: #fffefa; padding: 9px 9px 0; color: #112839; box-shadow: 0 14px 34px #0718270d; }
.a360-video-landing .a360-video-card .a360-landing-card-media { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; isolation: isolate; background: #10283a; }
.a360-video-landing .a360-video-card .a360-landing-card-media > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.a360-video-landing .a360-video-card-loop { position: absolute; inset: 0; overflow: hidden; opacity: 0; pointer-events: none; transition: opacity 650ms ease; }
.a360-video-landing .a360-video-card.is-preview-playing .a360-video-card-loop { opacity: 1; }
.a360-video-landing .a360-video-card .a360-landing-card-copy { display: block; padding: 24px 15px 27px; }
.a360-video-landing .a360-video-card .a360-landing-kicker { font-size: 9px; margin-bottom: 13px; letter-spacing: .13em; }
.a360-video-landing .a360-video-card h3 { margin: 0 0 15px; font: 400 clamp(28px,2.55vw,38px)/1.03 var(--a360-serif); color: #112839; letter-spacing: -.025em; text-wrap: balance; }
.a360-video-landing .a360-video-card-description { display: block; color: #606a70; font: 400 13px/1.8 var(--a360-sans); }
.a360-landing-video-dialog-close { display: grid; place-items: center; margin: 5px; padding: 0; line-height: 0; appearance: none; }
.a360-landing-video-dialog-close svg { display: block; margin: 0; }
.a360-landing-video-dialog-close:focus-visible { outline: 2px solid #e0c98f; outline-offset: 3px; }
/* A generous film frame, with the title and service action outside the image. */
.a360-video-landing .a360-video-feature { padding-block: clamp(76px,7.5vw,118px) clamp(58px,6vw,92px); background: #f3efe7; }
.a360-video-landing .a360-video-feature-heading { margin: 0 auto clamp(34px,4vw,56px); text-align: center; }
.a360-video-landing .a360-video-feature-heading .a360-landing-heading { font-size: clamp(62px,6vw,96px); }
.a360-video-landing .a360-video-feature-film { position: relative; isolation: isolate; display: block; width: 100%; aspect-ratio: 16/9; overflow: hidden; background: #18313e; box-shadow: 0 24px 64px #11283916; }
.a360-video-landing .a360-video-feature-film > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.a360-video-landing .a360-video-feature-film:focus-visible,
.a360-video-landing .a360-video-business-film:focus-visible { outline: 2px solid #a07a3d; outline-offset: 6px; }
.a360-video-landing .a360-video-feature-watch { position: absolute; z-index: 3; inset: 0; display: grid; place-items: center; color: #fff; pointer-events: none; }
.a360-video-landing .a360-video-feature-watch > span:first-child { display: none; }
.a360-video-landing .a360-video-feature-play { display: grid; flex: 0 0 auto; place-items: center; width: 72px; height: 72px; border: 1px solid #ffffffd1; border-radius: 50%; background: #071827a8; box-shadow: 0 9px 28px #07182770; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); transition: background .25s ease,box-shadow .25s ease; }
.a360-video-landing .a360-video-feature-play svg { width: 27px; height: 27px; margin-left: 3px; fill: currentColor; }
.a360-video-landing .a360-video-feature-film:is(:hover,:focus-visible) .a360-video-feature-play { background: #07182770; box-shadow: 0 0 0 8px #ffffff0b; }
.a360-video-landing .a360-video-feature-caption { display: flex; align-items: center; gap: 25px; margin-top: 26px; }
.a360-video-landing .a360-video-feature-caption > div > span { display: block; margin-bottom: 5px; color: #a07a3d; font: 700 9px/1.6 var(--a360-sans); letter-spacing: .14em; text-transform: uppercase; }
.a360-video-landing .a360-video-feature-caption strong { display: block; color: #112839; font: 400 clamp(31px,3vw,42px)/1.12 var(--a360-serif); }
.a360-video-landing .a360-video-booking { padding-block: clamp(52px,5vw,76px); background: #e9e3d7; }
.a360-video-landing .a360-video-booking-inner { display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.a360-video-landing .a360-video-booking-inner > div:first-child { flex: 1 1 550px; }
.a360-video-landing .a360-video-booking .a360-landing-kicker { margin-bottom: 18px; }
.a360-video-landing .a360-video-booking h2 { max-width: 660px; margin: 0; color: #112839; font: 400 clamp(44px,4.6vw,67px)/1.02 var(--a360-serif); letter-spacing: -.03em; text-wrap: balance; }
.a360-video-landing .a360-video-booking h2 em { color: #a07a3d; font-weight: inherit; }
.a360-video-landing .a360-video-booking p:not(.a360-landing-kicker) { margin: 18px 0 0; color: #627078; font: 400 13px/1.8 var(--a360-sans); }
.a360-video-landing .a360-video-booking .a360-landing-actions { flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.a360-video-landing .a360-video-feature-loop,
.a360-video-landing .a360-video-business-loop { overflow: hidden; }
.a360-video-landing .a360-video-questions { background: #fbfaf6; padding-block: clamp(88px,9vw,130px); }
.a360-video-landing .a360-video-questions-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(45px,10vw,145px); }
.a360-video-landing .a360-video-questions .a360-landing-heading { max-width: 490px; font-size: clamp(57px,5.2vw,84px); }
.a360-video-landing .a360-video-questions .a360-btn { margin-top: 29px; }
.a360-video-landing .a360-video-cta { min-height: 650px; min-height: clamp(600px,80svh,860px); position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; color: white; background: #10283a; }
.a360-video-landing .a360-video-cta-media { position: absolute; inset: -10% 0; z-index: -2; }
.a360-video-landing .a360-video-cta-media img { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; object-position: center 55%; }
.a360-video-landing .a360-video-cta::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#071827b0,#07182763 65%,#07182725), linear-gradient(0deg,#0718274d,transparent); }
.a360-video-landing .a360-video-cta > .a360-shell { width: 100%; padding-block: 125px; }
.a360-video-landing .a360-video-cta .a360-landing-kicker { color: #e0c58e; }
.a360-video-landing .a360-video-cta h2 { margin: 0; max-width: 900px; color: white; font: 400 clamp(72px,7.4vw,120px)/.91 var(--a360-serif); letter-spacing: -.037em; }
.a360-video-landing .a360-video-cta h2 em { display: block; color: #e3c98e; font-weight: 400; }
.a360-video-landing .a360-video-cta p:not(.a360-landing-kicker) { max-width: 445px; color: #ebe9e3; margin: 27px 0 30px; font-size: 15px; line-height: 1.8; }
@media (min-width: 1800px) {
  .a360-video-landing .a360-video-hero h1 { max-width: 990px; }
}
@media (max-width: 1100px) {
  .a360-video-landing .a360-video-services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .a360-video-landing .a360-video-card h3 { font-size: 35px; }
  .a360-video-landing .a360-video-booking .a360-landing-actions { flex-direction: column; align-items: stretch; }
}
@media (max-width: 800px) {
  .a360-video-landing .a360-video-hero { min-height: 780px; min-height: min(860px,100svh); }
  .a360-video-landing .a360-video-hero h1 { font-size: clamp(76px,11.5vw,105px); }
  .a360-video-landing .a360-video-hero-inner { padding-block: 155px 155px; }
  .a360-video-landing .a360-video-questions-grid { grid-template-columns: 1fr; gap: 42px; }
  .a360-video-landing .a360-video-questions .a360-landing-heading { max-width: 640px; }
  .a360-video-landing .a360-video-booking-inner { flex-direction: column; align-items: flex-start; gap: 30px; }
  .a360-video-landing .a360-video-booking-inner > div:first-child { flex: none; }
  .a360-video-landing .a360-video-booking .a360-landing-actions { flex-direction: row; justify-content: flex-start; align-items: center; }
}
@media (max-width: 640px) {
  .a360-video-landing .a360-video-hero { min-height: max(700px,100svh); max-height: 920px; }
  .a360-video-landing .a360-video-hero::before { background: linear-gradient(180deg,#04121d6e,#04121d7d 38%,#04121da3 74%,#04121d85); }
  .a360-video-landing .a360-video-hero-media > img { object-position: 54% center; }
  .a360-video-landing .a360-video-hero h1 { font-size: clamp(69px,15.5vw,96px); max-width: 510px; line-height: .94; }
  .a360-video-landing .a360-video-hero-inner { padding-block: 145px; }
  .a360-video-landing .a360-video-hero .a360-landing-kicker { margin-bottom: 25px; font-size: 9px; letter-spacing: .13em; }
  .a360-video-landing .a360-video-hero-lede,
  .a360-video-landing .a360-video-hero-bottom { display: none; }
  .a360-video-landing .a360-video-hero .a360-landing-actions { gap: 14px 19px; margin-top: 34px; }
  .a360-video-landing .a360-video-hero .a360-btn { min-width: 0; padding-inline: 22px !important; }
  .a360-video-landing .a360-video-services-grid { grid-template-columns: 1fr; gap: 31px; margin-top: 39px; }
  .a360-video-landing .a360-video-card .a360-landing-card-copy { padding: 23px 14px 27px; }
  .a360-video-landing .a360-video-card h3 { font-size: clamp(33px,8.3vw,40px); }
  .a360-video-landing .a360-video-card-description { font-size: 13px; line-height: 1.9; }
  .a360-video-landing .a360-video-feature { padding-block: 66px 58px; }
  .a360-video-landing .a360-video-feature-heading { text-align: left; margin-bottom: 30px; }
  .a360-video-landing .a360-video-feature-heading .a360-landing-heading { font-size: clamp(49px,12vw,68px); }
  .a360-video-landing .a360-video-feature-play { width: 60px; height: 60px; }
  .a360-video-landing .a360-video-feature-play svg { width: 22px; height: 22px; }
  .a360-video-landing .a360-video-feature-caption { gap: 15px; margin-top: 22px; }
  .a360-video-landing .a360-video-feature-caption strong { font-size: clamp(29px,8vw,37px); }
  .a360-video-landing .a360-video-booking { padding-block: 50px; }
  .a360-video-landing .a360-video-booking h2 { font-size: clamp(43px,11vw,60px); }
  .a360-video-landing .a360-video-booking .a360-btn { min-width: 0; padding-inline: 22px !important; }
  .a360-video-landing .a360-video-questions .a360-landing-heading { font-size: 61px; }
  .a360-video-landing .a360-video-cta { min-height: 700px; }
  .a360-video-landing .a360-video-cta::before { background: linear-gradient(180deg,#0718273d,#07182785 42%,#07182770); }
  .a360-video-landing .a360-video-cta > .a360-shell { padding-block: 100px; }
  .a360-video-landing .a360-video-cta h2 { font-size: clamp(64px,15vw,86px); }
  .a360-video-landing .a360-video-cta p:not(.a360-landing-kicker) { font-size: 14px; }
  .a360-video-landing .a360-video-cta .a360-landing-actions { gap: 12px; flex-wrap: wrap; }
  .a360-video-landing .a360-video-cta .a360-btn { padding-inline: 23px !important; min-width: 0; }
}
@media (max-width: 360px) {
  .a360-video-landing .a360-video-hero h1 { font-size: 63px; }
  .a360-video-landing .a360-video-hero-inner { padding-top: 140px; }
  .a360-video-landing .a360-video-hero .a360-landing-actions { gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .a360-video-landing .a360-video-card-loop,
  .a360-video-landing .a360-video-hero-film-play,
  .a360-video-landing .a360-video-feature-play { transition: none; }
}

.a360-video-landing .a360-video-card:focus-visible { box-shadow: 0 24px 54px #0718271f; }
@media (hover: hover) and (pointer: fine) {
  .a360-video-landing .a360-video-card:hover { box-shadow: 0 24px 54px #0718271f; background: #fffefa; }
}

/* A film and a little room to breathe. Copy stays outside the picture. */
.a360-video-landing .a360-video-business { padding-block: clamp(82px,8vw,128px); color: #112839; background: #fbfaf6; }
.a360-video-landing .a360-video-business-copy { max-width: 830px; margin: 0 auto 45px; text-align: center; }
.a360-video-landing .a360-video-business-copy .a360-landing-kicker { margin-bottom: 20px; }
.a360-video-landing .a360-video-business-copy .a360-landing-heading { font-size: clamp(57px,6vw,93px); }
.a360-video-landing .a360-video-business-copy > p:not(.a360-landing-kicker) { max-width: 555px; margin: 24px auto 0; color: #627078; font-size: 15px; line-height: 1.9; }
.a360-video-landing .a360-video-business-film { position: relative; isolation: isolate; display: block; width: 100%; max-width: 1120px; aspect-ratio: 16/9; margin: 0 auto; overflow: hidden; background: #18313e; }
.a360-video-landing .a360-video-business-film > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.a360-video-landing .a360-video-business-play { position: absolute; z-index: 3; right: 24px; bottom: 24px; display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid #ffffffb3; border-radius: 50%; color: white; background: #07182750; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); transition: background 220ms ease; }
.a360-video-landing .a360-video-business-play svg { width: 30px; height: 30px; fill: currentColor; }
.a360-video-landing .a360-video-business-film:is(:hover,:focus-visible) .a360-video-business-play { background: #07182770; }
.a360-video-landing .a360-video-business-caption { display: flex; justify-content: space-between; align-items: center; gap: 25px; max-width: 1120px; margin: 24px auto 0; }
.a360-video-landing .a360-video-business-caption > div > span { display: block; color: #a07a3d; font: 700 9px/1.6 var(--a360-sans); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 5px; }
.a360-video-landing .a360-video-business-caption strong { display: block; color: #112839; font: 400 clamp(31px,3vw,42px)/1.12 var(--a360-serif); }
.a360-video-landing .a360-video-business-caption .a360-btn { margin: 0; text-align: center; }
@media (max-width: 640px) {
  .a360-video-landing .a360-video-business-copy { margin-bottom: 32px; }
  .a360-video-landing .a360-video-business-copy .a360-landing-heading { font-size: clamp(51px,13vw,71px); }
  .a360-video-landing .a360-video-business-copy > p:not(.a360-landing-kicker) { font-size: 14px; margin-top: 20px; }
  .a360-video-landing .a360-video-business-play { right: 16px; bottom: 16px; width: 56px; height: 56px; }
  .a360-video-landing .a360-video-business-play svg { width: 24px; height: 24px; }
  .a360-video-landing .a360-video-business-caption { display: block; margin-top: 20px; }
  .a360-video-landing .a360-video-business-caption .a360-btn { margin-top: 20px; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .a360-video-landing .a360-video-business-play { transition: none; }
}

/* Touch visitors see the service action immediately; the nearest card gets a
   small scroll-driven emphasis instead of the desktop hover lift. */
@media (max-width: 800px), (hover: none), (pointer: coarse) {
  .a360-video-landing .a360-video-card,
  .a360-video-landing .a360-video-card:is(:hover,:focus-visible) {
    transform: none;
    background: #fffefa;
    box-shadow: 0 14px 34px #0718270d;
  }
  .a360-video-landing .a360-video-card:focus-visible { outline: 2px solid #a07a3d; outline-offset: 4px; }
  .a360-video-landing .a360-video-card .a360-landing-arrow,
  .a360-video-landing .a360-video-card:is(:hover,:focus-visible) .a360-landing-arrow {
    opacity: 1;
    transform: none;
    background: #0718279c;
    border-color: #ffffffb8;
  }
  .a360-video-landing .a360-video-card .a360-landing-card-media > img,
  .a360-video-landing .a360-video-card-loop {
    transform: scale(1);
    transition: transform .7s cubic-bezier(.22,1,.36,1), opacity 650ms ease;
  }
  .a360-video-landing .a360-video-card.is-mobile-scroll-active {
    transform: scale(1.012);
    box-shadow: 0 23px 46px #07182720;
  }
  .a360-video-landing .a360-video-card.is-mobile-scroll-active .a360-landing-card-media > img,
  .a360-video-landing .a360-video-card.is-mobile-scroll-active .a360-video-card-loop { transform: scale(1.04); }
  .a360-video-landing .a360-video-card.is-mobile-scroll-active .a360-landing-arrow {
    transform: translateY(-2px) scale(1.1);
    background: #a07a3d;
    box-shadow: 0 6px 18px #07182754;
  }
  .a360-video-landing :is(.a360-video-feature-film,.a360-video-business-film).is-mobile-scroll-active :is(.a360-video-feature-play,.a360-video-business-play) {
    transform: scale(1.1);
    background: #a07a3d;
    border-color: #f0d9a3;
    box-shadow: 0 6px 22px #07182770;
  }
  .a360-video-landing :is(.a360-video-feature-play,.a360-video-business-play) {
    transition: transform .35s ease, background .35s ease, border-color .35s ease, box-shadow .35s ease;
  }
}
@media (prefers-reduced-motion: reduce) {
  .a360-video-landing [data-landing-youtube-frame],
  .a360-video-landing :is(.a360-video-feature-play,.a360-video-business-play) { transition: none; }
  .a360-video-landing .a360-video-card,
  .a360-video-landing .a360-video-card .a360-landing-card-media > img,
  .a360-video-landing .a360-video-card-loop,
  .a360-video-landing .a360-video-card .a360-landing-arrow { transition: none; }
  .a360-video-landing .a360-video-card.is-mobile-scroll-active,
  .a360-video-landing .a360-video-card.is-mobile-scroll-active .a360-landing-card-media > img,
  .a360-video-landing .a360-video-card.is-mobile-scroll-active .a360-video-card-loop,
  .a360-video-landing .a360-video-card.is-mobile-scroll-active .a360-landing-arrow { transform: none; }
}
