/* Homepage-only York city illustration. Keep the site's real fonts, links and copy. */
.hero--animated { padding: clamp(42px, 5vw, 76px) 0; }
.hero--animated .wrap { width: min(1360px, 100% - 64px); grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 28px; }
.hero--animated .hero__copy { display: grid; justify-items: start; gap: 24px; min-width: 0; position: relative; z-index: 2; }
.hero--animated .eyebrow { font-size: .72rem; letter-spacing: .12em; }
.hero--animated h1 { margin: 0; font-size: clamp(2.65rem, 4.8vw, 4.6rem); line-height: 1.06; }
.hero--animated h1 em { display: block; font-size: .82em; line-height: 1.14; margin-top: 22px; padding-left: 0; letter-spacing: -.035em; }
.hero--animated h1 em span { display: block; }
.hero--animated .lead { font-size: clamp(1rem, 1.25vw, 1.12rem); line-height: 1.65; }
.hero--animated .hero__cta { margin: 0; gap: 16px 24px; }
.hero--animated .hero__secondary { font-size: .95rem; }
.hero--animated .hero__note { margin: 0; }
.hero--animated .hero__services { font-size: .83rem; gap: 8px 18px; padding-top: 18px; }
.yh-scene { --yh-bg: #061923; --yh-lime: var(--signal); --yh-text: var(--paper); --yh-muted: var(--on-ink); --yh-sans: var(--sans); color: var(--yh-text); font-family: var(--yh-sans); }
.yh-motion[hidden] { display: none; }
.yh-motion:focus-visible { outline: 2px solid var(--signal); outline-offset: 5px; }
/* Scene uses percentage positions so background/pin alignment survives resizing. */
.yh-scene{position:relative;isolation:isolate;width:100%;aspect-ratio:1.08;margin:0;min-width:0;container-type:inline-size;background:transparent}

.yh-scene__art{position:absolute;inset:0;will-change:transform;transform:translate3d(var(--yh-px,0px),var(--yh-py,0px),0);transition:transform .65s ease-out;pointer-events:none}
.yh-map{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(to right,transparent,#000 10%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 87%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 87%,transparent);-webkit-mask-composite:source-in}
.yh-map-light{position:absolute;width:42%;aspect-ratio:1;left:32%;top:34%;background:radial-gradient(ellipse,#cfff311a,transparent 68%);mix-blend-mode:screen;animation:yh-glow 7s ease-in-out infinite}
.yh-pin-anchor{position:absolute;left:53%;top:56%;width:1px;height:1px}
.yh-pin{position:absolute;width:clamp(38px,9cqw,76px);color:var(--yh-lime);bottom:0;left:0;transform:translateX(-50%);filter:drop-shadow(0 8px 18px #d3ff3526);animation:yh-pin-float 5s ease-in-out infinite}
.yh-pin svg{display:block;width:100%;height:auto}
.yh-rings{position:absolute;width:clamp(100px,26cqw,210px);aspect-ratio:2.8;left:0;top:0;transform:translate(-50%,-50%)}
.yh-rings i{position:absolute;inset:0;border:1px solid #d3ff3580;border-radius:50%;animation:yh-ring 5.4s ease-out infinite}
.yh-rings i:nth-child(2){animation-delay:-1.8s}.yh-rings i:nth-child(3){animation-delay:-3.6s}
.yh-glass{background:linear-gradient(135deg,#334c4cd9,#0b2632e6);border:1px solid #c8e4c35c;box-shadow:inset 0 1px 0 #fff2,0 16px 40px #0002;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.yh-search{position:absolute;left:5%;top:10%;display:flex;align-items:center;gap:18px;white-space:nowrap;border-radius:999px;padding:16px 24px;color:var(--yh-text);font-size:clamp(12px,2.75cqw,22px);line-height:1.2;animation:yh-card-float 7s ease-in-out infinite}
.yh-search__icon{color:var(--yh-lime);display:flex;border-right:1px solid #cbded65c;padding-right:18px}.yh-search__icon svg{width:clamp(20px,4cqw,30px);height:auto}
.yh-enquiry{position:absolute;right:2%;bottom:9%;display:flex;align-items:center;gap:18px;padding:20px 24px;border-radius:22px;animation:yh-card-float 8s -2s ease-in-out infinite}
.yh-enquiry__icon{color:var(--yh-lime);display:flex;padding-right:20px;border-right:1px solid #cbded65c;filter:drop-shadow(0 0 10px #d3ff3526)}
.yh-enquiry__icon svg{width:clamp(28px,6cqw,44px);height:auto}
.yh-enquiry strong{display:block;font-size:clamp(17px,3.5cqw,27px);letter-spacing:-.02em;line-height:1.2;margin-bottom:7px}
.yh-enquiry small{display:block;font-size:clamp(11px,2.3cqw,17px);line-height:1.3;white-space:nowrap;color:#e3ecef}
.yh-caption{position:absolute;right:3%;bottom:2%;color:#b4c5ca;font:italic 12px/1.4 var(--yh-sans)}
.yh-motion{position:absolute;left:6%;bottom:1%;min-height:44px;padding:10px 2px;border:0;border-radius:5px;background:transparent;color:#b4c5ca;font:12px/1.4 var(--yh-sans);display:flex;gap:10px;align-items:center;cursor:pointer}
.yh-motion:hover{color:var(--yh-lime)}
.yh-scene:not([data-york-ready]) *,.yh-scene[data-paused="true"] *,.yh-scene[data-offscreen="true"] *{animation-play-state:paused!important}
.yh-scene[data-paused="true"] .yh-scene__art{transform:none;transition:none}
@keyframes yh-card-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes yh-pin-float{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-7px)}}
@keyframes yh-ring{0%{transform:scale(.35);opacity:0}20%{opacity:.8}100%{transform:scale(1.15);opacity:0}}
@keyframes yh-glow{0%,100%{opacity:.35}50%{opacity:.9}}

@media (max-width: 1100px) {
  .hero--animated .wrap { width: min(1360px, 100% - 48px); gap: 22px; }
  .hero--animated .eyebrow { font-size: .64rem; }
  .yh-search { padding: 12px 15px; gap: 12px; }
  .yh-search__icon { padding-right: 12px; }
  .yh-enquiry { padding: 15px; gap: 12px; }
  .yh-enquiry__icon { padding-right: 12px; }
}
@media (max-width: 800px) {
  .hero--animated { padding: 42px 0 30px; }
  .hero--animated .wrap { grid-template-columns: 1fr; gap: 20px; }
  .hero--animated .hero__copy { max-width: 620px; gap: 24px; }
  .hero--animated h1 { font-size: clamp(2.65rem, 7.7vw, 4rem); }
  .hero--animated h1 em { margin-top: 18px; }
  .hero--animated .hero__services { display: none; }
  .hero--animated .yh-scene { max-width: 620px; justify-self: center; }
  .yh-search { padding: 12px 16px; gap: 12px; }
  .yh-enquiry { padding: 15px 17px; gap: 12px; border-radius: 18px; }
  .yh-enquiry__icon { padding-right: 13px; }
  .yh-caption, .yh-motion { font-size: 10px; }
}
@media (max-width: 380px) {
  .hero--animated .wrap { width: calc(100% - 36px); }
  .hero--animated .eyebrow { font-size: .59rem; letter-spacing: .08em; }
  .hero--animated h1 { font-size: 2.5rem; }
  .yh-enquiry { gap: 9px; padding: 12px; }
  .yh-search { padding: 11px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .yh-scene * { animation: none !important; transition: none !important; }
  .yh-scene__art { transform: none !important; }
  .yh-rings i { opacity: .45; transform: scale(.7); }
  .yh-rings i:nth-child(2) { transform: scale(1); }
  .yh-rings i:nth-child(3) { display: none; }
  .yh-motion { display: none; }
}
