.scroll-scrub{--ss-progress:0;isolation:isolate;color:var(--ss-ink);background:var(--ss-bg);position:relative}.scroll-scrub__stage{z-index:0;background:var(--ss-bg);width:100%;height:100dvh;position:sticky;top:0;overflow:hidden}.scroll-scrub__media,.scroll-scrub__layer,.scroll-scrub__picture,.scroll-scrub__poster,.scroll-scrub__video{width:100%;height:100%;position:absolute;inset:0}.scroll-scrub__media{z-index:0}.scroll-scrub__layer{opacity:0;will-change:opacity;margin:0;overflow:hidden}.scroll-scrub__layer:first-child{opacity:1}.scroll-scrub__poster,.scroll-scrub__video{object-fit:cover;object-position:var(--ss-object-position);display:block}.scroll-scrub__poster{z-index:0}.scroll-scrub__video{z-index:1}.scroll-scrub__layer[data-video-painted=true] .scroll-scrub__poster{visibility:hidden}.scroll-scrub__progress{z-index:5;background:color-mix(in srgb, var(--ss-ink) 14%, transparent);pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.scroll-scrub__progress span{background:var(--ss-accent);width:100%;height:100%;transform:scaleX(var(--ss-progress));transform-origin:0;display:block}.scroll-scrub__route{z-index:6;pointer-events:auto;justify-content:flex-end;gap:.25rem;display:flex;position:absolute;top:clamp(1rem,3vw,2rem);left:clamp(1rem,4vw,4rem);right:clamp(1rem,4vw,4rem)}.scroll-scrub__route-button{min-height:2.75rem;color:var(--ss-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:.65rem .9rem}.scroll-scrub__route-button:hover,.scroll-scrub__route-button[aria-current=step]{color:var(--ss-ink)}.scroll-scrub__route-button[aria-current=step]{text-decoration:underline;-webkit-text-decoration-color:var(--ss-accent);text-decoration-color:var(--ss-accent);text-underline-offset:.3em;text-decoration-thickness:.15em}.scroll-scrub__route-button:focus-visible{outline:2px solid var(--ss-accent);outline-offset:3px}.scroll-scrub__story{z-index:3;pointer-events:none;margin-top:-100dvh;position:relative}.scroll-scrub__chapter,.scroll-scrub__connector-band{position:relative}.scroll-scrub__chapter-pin{pointer-events:none;align-items:center;min-height:100dvh;padding:clamp(5rem,9vw,8rem) clamp(1.25rem,6vw,6rem);display:flex;position:sticky;top:0}.scroll-scrub__chapter[data-align=right] .scroll-scrub__chapter-pin{justify-content:flex-end}.scroll-scrub__copy{pointer-events:auto;width:min(40rem,48vw);position:relative}.scroll-scrub__copy:before{z-index:-1;content:"";background:radial-gradient(ellipse at center, color-mix(in srgb, var(--ss-bg) 88%, transparent) 0%, color-mix(in srgb, var(--ss-bg) 58%, transparent) 52%, transparent 76%);pointer-events:none;position:absolute;inset:-3rem -5rem}.scroll-scrub__kicker{max-width:30ch;color:var(--ss-accent);letter-spacing:.12em;text-transform:none;margin:0 0 1rem;font-size:.8rem;font-weight:700}.scroll-scrub__title{max-width:13ch;color:var(--ss-ink);font:inherit;letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(2.75rem,6vw,6.75rem);font-weight:700;line-height:.94}.scroll-scrub__body{max-width:42ch;color:var(--ss-muted);margin:1.5rem 0 0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.55}.scroll-scrub__tags{flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.scroll-scrub__tags li{border:1px solid color-mix(in srgb, var(--ss-ink) 20%, transparent);color:var(--ss-ink);padding:.45rem .7rem;font-size:.82rem}.scroll-scrub__actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}@media (width<=860px){.scroll-scrub__poster,.scroll-scrub__video{object-position:var(--ss-mobile-position)}.scroll-scrub__route{right:max(.75rem, env(safe-area-inset-right));left:max(.75rem, env(safe-area-inset-left));overscroll-behavior-x:contain;scrollbar-width:thin;justify-content:flex-start;overflow-x:auto}.scroll-scrub__route-button{flex:none}.scroll-scrub__chapter-pin,.scroll-scrub__chapter[data-align=right] .scroll-scrub__chapter-pin{padding:6.5rem max(1.25rem, env(safe-area-inset-right)) calc(4rem + env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));justify-content:flex-start;align-items:flex-end}.scroll-scrub__copy{width:min(100%,36rem)}.scroll-scrub__copy:before{background:linear-gradient(to top, var(--ss-bg) 0%, color-mix(in srgb, var(--ss-bg) 82%, transparent) 58%, transparent 100%);inset:-3rem -2rem}.scroll-scrub__title{max-width:14ch;font-size:clamp(2.3rem,11vw,4.5rem)}}@media (prefers-reduced-motion:reduce){.scroll-scrub__chapter{min-height:100dvh!important}.scroll-scrub__connector-band{display:none}.scroll-scrub__progress span{transition:none}}

/* Mobile scrolling: stable geometry while browser chrome opens/closes, shorter chapters,
   and native vertical gestures over the interactive estate map. */
@media (max-width: 860px), (hover: none) and (pointer: coarse) {
  .scroll-scrub__stage { height: 100lvh; }
  .scroll-scrub__story { margin-top: -100lvh; }
  .scroll-scrub__chapter { min-height: 150svh !important; }
  .scroll-scrub__chapter-pin { min-height: 100svh; }
  .asl-map { touch-action: pan-y pinch-zoom; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-scrub__chapter { min-height: 100svh !important; }
}

/* Laptop pace and chapter controls. Mobile keeps its shorter 150svh chapters. */
@media (min-width: 861px) and (hover: hover) and (pointer: fine) {
  .scroll-scrub__stage { height: 100lvh; }
  .scroll-scrub__story { margin-top: -100lvh; }
  .scroll-scrub__chapter { min-height: 160svh !important; }
  .scroll-scrub__chapter-pin { min-height: 100svh; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-scrub__chapter { min-height: 100svh !important; }
}
.asl-hpin { width: 2.75rem; height: 2.75rem; padding: 0; justify-content: center; }
.asl-hpin-dot {
  flex: none; width: 1.75rem; height: 1.75rem;
  display: grid; place-items: center;
  color: #f2ece0; font: 700 .62rem var(--asl-body); font-variant-numeric: tabular-nums;
}
.asl-hpin-label { position: absolute; left: calc(100% + .15rem); top: 50%; transform: translateY(-50%); }
.asl-hpin[data-label-side="left"] .asl-hpin-label { left: auto; right: calc(100% + .15rem); }
.asl-hero-hint { bottom: 5rem; }
.asl-strip ol { align-items: center; }
.asl-strip button { min-height: 2.5rem; justify-content: center; }
.asl-strip button i { min-width: 1.25rem; text-align: center; font-variant-numeric: tabular-nums; }

/* Wrapped tags have the same left edge, with one accent line below the whole group. */
.asl-page .scroll-scrub__tags { gap: .55rem 1.15rem; position: relative; padding-bottom: .75rem; }
.asl-page .scroll-scrub__tags li { white-space: nowrap; }
.asl-page .scroll-scrub__tags li+li:before { content: none; }
.asl-page .scroll-scrub__tags li:after { display: none; }
.asl-page .scroll-scrub__tags:after { content: ""; position: absolute; left: 0; bottom: 0; width: 2.2rem; height: 2px; background: #d8c093; }

/* Share heading and description rows so each pair stays aligned even if a heading wraps. */
.asl-family-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 1.25rem; }
.asl-family-list li { grid-row: span 2; grid-template-rows: subgrid; align-content: start; margin-bottom: 1rem; }
.asl-family-list strong { line-height: 1.3; }
.asl-family-list span { line-height: 1.55; }
@media (max-width: 600px) {
  #scene-03 .scroll-scrub__tags { display: grid; grid-template-columns: repeat(2, max-content); column-gap: 1.5rem; }
  .asl-family-list { grid-template-columns: 1fr; row-gap: 1.2rem; }
  .asl-family-list li { grid-row: auto; grid-template-rows: auto auto; margin-bottom: 0; }
  .asl-strip button { padding-inline: .5rem; }
}

/* Keep the poster visible until a real video frame has decoded. */
.scroll-scrub__video { opacity: 0; }
.scroll-scrub__layer[data-video-painted=true] .scroll-scrub__video { opacity: 1; }
.scroll-scrub__video-toggle {
  position: absolute; z-index: 8; top: 5.5rem; right: 1.25rem;
  min-height: 44px; padding: .65rem 1rem; border: 1px solid #f2ece080;
  border-radius: 999px; color: #f2ece0; background: #4a2b25e6;
  font: 600 .85rem var(--asl-body); cursor: pointer; pointer-events: auto;
}
.scroll-scrub__video-toggle[hidden] { display: none; }
.asl-hero-pins { pointer-events: none !important; }
.asl-hero-pins[aria-hidden="false"] .asl-hpin { pointer-events: auto; }
.asl-hero-pins[aria-hidden="true"] .asl-hpin { pointer-events: none; }

/* Fit the revised headlines within the same video chapters and section layout. */
.scroll-scrub__title { max-width: 19ch; font-size: clamp(2.5rem, 4.5vw, 5.5rem); line-height: 1.02; }
.scroll-scrub__body, .asl-family-copy > p, .asl-enquire p { white-space: pre-line; }
.asl-page .scroll-scrub__tags li { white-space: normal; }
.asl-explore-head > div:first-child { max-width: 48rem; }
.asl-family-list strong { font-size: 1.1rem; overflow-wrap: anywhere; }
.asl-panel-facts li { line-height: 1.5; }
@media (max-width: 860px), (hover: none) and (pointer: coarse) {
  .scroll-scrub__title { font-size: clamp(1.85rem, 7.5vw, 2.75rem); max-width: 22ch; }
  .scroll-scrub__body { margin-top: 1rem; font-size: .95rem; }
  .asl-page .scroll-scrub__tags { margin-top: 1rem; gap: .5rem 1rem; }
  .asl-page .scroll-scrub__tags li { font-size: 1.05rem; }
  #scene-02 .scroll-scrub__tags { flex-direction: column; align-items: flex-start; }
}

/* Avoid repeatedly blurring moving video behind fixed controls on phones. */
@media (max-width: 860px), (hover: none) and (pointer: coarse) {
  .asl-strip ol, .asl-hero-hint {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-color: #4a2b25e6;
  }
  .scroll-scrub__layer { will-change: auto; }
}

/* Keep revised website titles in natural sentence case. */
.asl-page h1,.asl-page h2,.asl-page h3,.asl-page .scroll-scrub__kicker,.asl-page .asl-eyebrow{ text-transform:none; }

/* Night Horizon Blue for the rain section. */
.asl-water{background:#363F49;}

.asl-page *{text-transform:none;}

/* Match the requested three-line hero and dot-separated slide details. */
#scene-01 .scroll-scrub__title{white-space:pre-line;text-wrap:initial;max-width:100%;}
.asl-page .scroll-scrub__tags li + li::before{content:"·";display:inline-block;margin-right:.75em;color:inherit;opacity:.65;font-style:normal;}

/* Align section containers and their internal content. */
#scene-03 .scroll-scrub__title{white-space:pre-line;text-wrap:initial;max-width:100%;}
.asl-family{grid-template-columns:1fr 1fr;align-items:center;}
.asl-family-figure{transform:none;}
.asl-water{padding-inline:clamp(1.25rem,6vw,5rem);}
.asl-water > *{width:100%;max-width:68rem;box-sizing:border-box;}
.asl-water-steps li{align-content:start;grid-template-rows:auto 1fr;}
.asl-water .asl-eyebrow{color:#C59550;}
.asl-stats strong{white-space:nowrap;font-size:clamp(1.5rem,2.7vw,2.4rem);}
@media(max-width:860px){.asl-family{grid-template-columns:1fr;}}

.asl-page .asl-water > *{margin-left:auto;margin-right:auto;}

/* Match form field sizing and keep the dropdown indicator inset and centered. */
.asl-form input,.asl-form select{width:100%;min-width:0;box-sizing:border-box;min-height:3rem;line-height:1.4;}
.asl-form select{appearance:none;-webkit-appearance:none;padding:.75rem 2.75rem .75rem .9rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%234a2b25' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem;}
.asl-form label{min-width:0;}
@media(max-width:860px){.asl-form{padding:1.25rem;}.asl-form input,.asl-form select{font-size:16px;}.asl-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.asl-stats strong{font-size:clamp(1.35rem,5.5vw,2rem);}}

/* Keep statistic labels directly beneath their values with clear column spacing. */
.asl-page .asl-stats{grid-template-columns:1fr 1fr 1.7fr 1.2fr;column-gap:2rem;row-gap:1.75rem;align-items:start;}
.asl-page .asl-stats>div{min-width:0;align-content:start;row-gap:.55rem;}
.asl-page .asl-stats strong{font-size:clamp(1.5rem,2.7vw,2.4rem);line-height:1.1;}
@media(max-width:860px),(hover:none) and (pointer:coarse){
 .asl-page .asl-stats{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;row-gap:2rem;}
 .asl-page .asl-stats strong{font-size:clamp(1.25rem,5vw,2rem);}
 .asl-page .scroll-scrub__tags{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:.5rem .65rem;}
 .asl-page #scene-02 .scroll-scrub__tags{flex-direction:row;align-items:baseline;}
 .asl-page .scroll-scrub__tags li{white-space:nowrap;margin:0;padding:0;}
 .asl-page .scroll-scrub__tags li+li::before{margin-right:.65rem;}
 .asl-page #scene-03 .scroll-scrub__tags{display:grid;grid-template-columns:max-content max-content;gap:.45rem 1.25rem;}
 .asl-page #scene-03 .scroll-scrub__tags li:nth-child(odd)::before{content:none;}
}

@media(min-width:861px){#scene-01 .scroll-scrub__body{max-width:48ch;}}
