@font-face { font-family: "Satoshi"; src: url("assets/fonts/Satoshi-Variable.ttf") format("truetype"); font-style: normal; font-weight: 300 900; font-display: swap; }
@font-face { font-family: "Satoshi"; src: url("assets/fonts/Satoshi-VariableItalic.ttf") format("truetype"); font-style: italic; font-weight: 300 900; font-display: swap; }

:root {
  --ink: #10263a;
  --paper: #f0eee8;
  --blue: #6887a3;
  --line: rgba(255,255,255,.38);
  --pad: clamp(1.25rem, 3.2vw, 3.6rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Satoshi", sans-serif; font-weight: 300; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.loader { position: fixed; inset: 0; z-index: 1000; display: grid; place-content: center; gap: 1.2rem; text-align: center; background: #0e2234; color: white; transition: opacity .8s ease, visibility .8s; }
.loader.is-done { opacity: 0; visibility: hidden; }
.loader__mark { font: 400 4rem/1 "Satoshi", sans-serif; letter-spacing: -.08em; }
.loader__line { width: 12rem; height: 1px; background: rgba(255,255,255,.2); overflow: hidden; }
.loader__line i { display: block; width: 100%; height: 100%; background: white; transform: translateX(-100%); animation: load 1.5s cubic-bezier(.7,0,.2,1) forwards; }
.loader span { text-transform: uppercase; letter-spacing: .18em; font-size: .58rem; }
@keyframes load { to { transform: translateX(0); } }

.site-header { position: fixed; top: 1rem; z-index: 30; width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 1.4rem var(--pad); color: var(--ink); text-transform: uppercase; font-size: .78rem; letter-spacing: .12em; transition: color .45s ease, opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1); }
.site-header.is-hidden { opacity: 0; transform: translateY(calc(-100% - 2rem)); pointer-events: none; }
.site-header.is-on-dark { color: white; }
.brand { display: flex; gap: .7rem; align-items: center; font-weight: 500; }
.brand__monogram { font: 400 1.45rem/1 "Satoshi", sans-serif; letter-spacing: -.08em; color: #4b4848; }
.site-header nav { display: flex; gap: clamp(1rem, 2vw, 2.2rem); }
.site-header nav a { color: #4b4848; font-weight: 500; font-size: .82rem; }
.site-header a { position: relative; }
.site-header nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.35rem; height: 1px; background: currentColor; transition: right .35s; }
.site-header nav a:hover::after, .site-header nav a.is-current::after { right: 0; }
.menu { display: flex; align-items: center; gap: .5rem; border: 0; background: none; color: #4b4848; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; }
.menu i { display: block; width: 12px; height: 1px; background: currentColor; }
.menu i:last-child { margin-left: -18px; transform: translateY(4px); }

.scroll-progress { position: fixed; z-index: 35; right: .8rem; top: 25%; height: 50%; width: 1px; background: rgba(255,255,255,.3); mix-blend-mode: difference; }
.scroll-progress i { display: block; width: 100%; height: 100%; background: white; transform: scaleY(0); transform-origin: top; }
.cursor { position: fixed; z-index: 100; top: 0; left: 0; width: 5rem; aspect-ratio: 1; border-radius: 50%; pointer-events: none; display: grid; place-items: center; color: white; background: rgba(14,34,52,.85); font-size: .65rem; text-transform: uppercase; letter-spacing: .1em; opacity: 0; transform: translate(-50%,-50%) scale(.35); transition: opacity .2s, transform .25s; }
.cursor.is-active { opacity: 1; transform: translate(-50%,-50%) scale(1); }

.opening-scroll { height: 2200vh; background: #071827; }
.opening-sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.hero-scene { position: absolute; inset: 0; height: 100vh; overflow: hidden; color: white; background: #839bb0; opacity: var(--hero-scene-opacity, 1); pointer-events: var(--hero-pointer-events, auto); }
.hero-media, .hero-media__image, .hero-media__villa, .hero-media__wash, .hero-media__transition-veil { position: absolute; inset: 0; }
.hero-media { transform: translateZ(0) scale(var(--hero-media-scale, 1)); will-change: transform; contain: paint; }
.hero-media__image { background: url("assets/coastal-city-hero.png") 54% center/cover no-repeat; filter: saturate(.68) contrast(.94); opacity: calc(1 - var(--why-villa-o, 0)); transform: translate3d(0, calc(var(--hero-p, 0) * -5vh), 0); will-change: transform, opacity; backface-visibility: hidden; }
.hero-media__villa { background: url("assets/villa2.png") center 58%/cover no-repeat; filter: saturate(.72) contrast(.92) brightness(.96); opacity: var(--why-villa-o, 0); transform: translate3d(0, calc(var(--hero-p, 0) * -5vh), 0) scale(var(--why-villa-scale, 1.08)); transform-origin: center; will-change: transform, opacity; backface-visibility: hidden; }
.hero-media__wash { background: linear-gradient(180deg, rgba(9,31,50,.14), rgba(14,32,47,.04) 48%, rgba(5,18,29,.62)), radial-gradient(circle at 50% 40%, transparent 0 20%, rgba(10,28,43,.2) 75%); }
.hero-media__transition-veil { background: radial-gradient(ellipse at 50% 46%, rgba(244,246,246,.68), rgba(220,230,235,.24) 48%, transparent 76%); opacity: var(--why-villa-veil, 0); mix-blend-mode: screen; pointer-events: none; }
.mist { position: absolute; width: 70vw; height: 28vh; border-radius: 50%; background: rgba(216,226,233,.38); filter: blur(45px); }
.mist--one { bottom: 4%; left: -15%; transform: translateX(calc(var(--hero-p, 0) * 35vw)); }
.mist--two { top: 24%; right: -25%; opacity: .55; transform: translateX(calc(var(--hero-p, 0) * -25vw)); }
.cloud-layer { position: absolute; left: -20vw; width: 140vw; pointer-events: none; background-position: center bottom; background-repeat: no-repeat; background-size: 100% 100%; -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 70%, rgba(0,0,0,.82) 80%, transparent 100%); mask-image: linear-gradient(to bottom, #000 0%, #000 70%, rgba(0,0,0,.82) 80%, transparent 100%); will-change: transform, opacity; backface-visibility: hidden; transform-style: preserve-3d; }
.cloud-layer--one { bottom: -5vh; height: 49vh; background-image: url("assets/clouds new/cloud1.png"); opacity: calc(.18 + var(--company-cloud-cover, 0) * .32); filter: blur(1.2px); transform: translate3d(calc(-5vw + var(--hero-p, 0) * 9vw + var(--cloud-idle-1-x, 0vw) + var(--cloud-scroll-1-x, 0vw)), calc(var(--hero-p, 0) * -4vh + var(--cloud-idle-1-y, 0vh) + var(--cloud-scroll-1-y, 0vh) + var(--company-cloud-rise, 0vh) + var(--hero-exit, 0) * 30vh), 0) scale(calc(1.02 + var(--company-cloud-cover, 0) * .12)); }
.cloud-layer--two { top: -4vh; height: 58vh; background-image: url("assets/clouds new/cloud2.png"); background-position: center bottom; opacity: calc(var(--company-cloud-cover, 0) * .42); filter: blur(2px); transform: translate3d(calc(7vw + var(--hero-p, 0) * -12vw + var(--cloud-idle-2-x, 0vw) + var(--cloud-scroll-2-x, 0vw)), calc(var(--hero-p, 0) * 5vh + var(--cloud-idle-2-y, 0vh) + var(--cloud-scroll-2-y, 0vh) + var(--hero-exit, 0) * 22vh), 0) scale(calc(1.08 + var(--company-cloud-cover, 0) * .1)); }
.cloud-layer--three { inset: -12vh -18vw; width: auto; height: auto; background-image: url("assets/clouds new/cloud3.png"); background-position: center; background-size: cover; opacity: calc(var(--company-cloud-cover, 0) * .32); filter: blur(3px); -webkit-mask-image: radial-gradient(ellipse at center, #000 45%, rgba(0,0,0,.9) 68%, transparent 100%); mask-image: radial-gradient(ellipse at center, #000 45%, rgba(0,0,0,.9) 68%, transparent 100%); transform: translate3d(calc(var(--hero-p, 0) * 5vw + var(--cloud-idle-3-x, 0vw) + var(--cloud-scroll-3-x, 0vw)), calc(var(--hero-p, 0) * -3vh + var(--cloud-idle-3-y, 0vh) + var(--cloud-scroll-3-y, 0vh) + var(--hero-exit, 0) * 18vh), 0) scale(calc(1.04 + var(--company-cloud-cover, 0) * .08)); }
.cloud-layer--four { bottom: -17vh; height: 82vh; background-image: url("assets/clouds new/cloud4.png"); opacity: calc(.25 + var(--company-cloud-cover, 0) * .35); filter: blur(.7px); transform: translate3d(calc(-9vw + var(--hero-p, 0) * 16vw + var(--cloud-idle-4-x, 0vw) + var(--cloud-scroll-4-x, 0vw)), calc(var(--hero-p, 0) * -9vh + var(--cloud-idle-4-y, 0vh) + var(--cloud-scroll-4-y, 0vh) + var(--company-cloud-rise, 0vh) + var(--hero-exit, 0) * 43vh), 0) scale(calc(1.1 + var(--company-cloud-cover, 0) * .14)); }
.cloud-layer--five { bottom: -30vh; height: 104vh; background-image: url("assets/clouds new/cloud5.png"); opacity: calc(.38 + var(--company-cloud-cover, 0) * .3); filter: blur(.25px) contrast(1.03); transform: translate3d(calc(10vw + var(--hero-p, 0) * -24vw + var(--cloud-idle-5-x, 0vw) + var(--cloud-scroll-5-x, 0vw)), calc(var(--hero-p, 0) * -14vh + var(--cloud-idle-5-y, 0vh) + var(--cloud-scroll-5-y, 0vh) + var(--company-cloud-rise, 0vh) + var(--hero-exit, 0) * 58vh), 0) scale(calc(1.16 + var(--company-cloud-cover, 0) * .16)); }
.hero-frame { position: absolute; inset: 5.3rem var(--pad) 4rem; opacity: calc(.2 + var(--hero-p, 0) * .7); }
.corner { position: absolute; width: 1.25rem; height: 1.25rem; border-color: var(--line); }
.corner--tl { top: 0; left: 0; border-top: 1px solid; border-left: 1px solid; }
.corner--tr { top: 0; right: 0; border-top: 1px solid; border-right: 1px solid; }
.corner--bl { bottom: 0; left: 0; border-bottom: 1px solid; border-left: 1px solid; }
.corner--br { bottom: 0; right: 0; border-bottom: 1px solid; border-right: 1px solid; }
.hero-copy { position: relative; height: 100%; display: grid; place-items: center; text-align: center; }
.hero-step { position: absolute; width: min(90vw, 1000px); will-change: opacity, transform; }
.hero-step--one { width: min(78vw, 1200px); text-align: left; opacity: var(--s1-o, 1); transform: translateY(var(--s1-y, 0)) scale(var(--s1-scale, 1)); }
.hero-step--two { opacity: var(--s2-o, 0); transform: translateY(var(--s2-y, 60px)); }
.hero-step--three { opacity: var(--s3-o, 0); transform: translateY(var(--s3-y, 60px)); }
.eyebrow { margin: 0 0 1.4rem; font-size: .64rem; letter-spacing: .22em; text-transform: uppercase; }
.hero h1, .hero h2 { margin: 0; }
.hero-step h1 { font: 400 clamp(4.4rem, 12vw, 11rem)/.77 "Satoshi", sans-serif; letter-spacing: -.055em; }
.hero-step h1 span { display: block; }
.hero-step h1 span:last-child { margin-top: .22em; font-size: .58em; font-style: italic; letter-spacing: -.03em; transform: translateX(.13em); }
.hero-step h2 { margin: 0; font: 400 clamp(4rem, 10vw, 9rem)/.82 "Satoshi", sans-serif; letter-spacing: -.045em; }
.hero-step h2 em, .numbers__statement em, .contact h2 em { font-weight: 400; }
.hero-lockup { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2rem); }
.hero-lockup__mark { width: clamp(4rem, 7.5vw, 7.2rem); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(75, 72, 72, .62); border-radius: 50%; font: 400 clamp(1.45rem, 2.8vw, 2.7rem)/1 "Satoshi", sans-serif; letter-spacing: -.08em; color: #4b4848; }
.hero-lockup > i { width: 1px; height: clamp(4rem, 7vw, 6.4rem); background: rgba(75, 72, 72, .62); }
.hero-lockup__name { font: 300 clamp(2.5rem, 6.2vw, 6.8rem)/1 "Satoshi", sans-serif; letter-spacing: .13em; color: #4b4848; }
.hero-lockup__tagline { margin: 1.4rem 0 0 calc(clamp(4rem, 7.5vw, 7.2rem) + clamp(2rem, 4vw, 4rem) + 1px); font-size: clamp(.8rem, 1vw, .88rem); font-weight: 500; line-height: 1.5; letter-spacing: .16em; text-transform: uppercase; color: #4b4848; }
.hero-lockup__scroll { position: absolute; top: calc(50vh + 50% - 3rem); left: 0; width: max-content; margin: 0; display: flex; align-items: center; gap: 1.5rem; color: #4b4848; font-size: .75rem; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; transform: translateY(-100%); }
.hero-lockup__scroll i { display: block; width: 6rem; height: 2px; background: currentColor; transform-origin: left; animation: hero-scroll-line 1.8s ease-in-out infinite; }
@keyframes hero-scroll-line { 0%, 100% { transform: scaleX(.3); opacity: .4; } 50% { transform: scaleX(1); opacity: 1; } }
.round-link { width: 8.6rem; aspect-ratio: 1; margin: 2rem auto 0; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; display: flex; align-items: center; justify-content: center; gap: .9rem; text-align: left; text-transform: uppercase; font-size: .58rem; letter-spacing: .1em; transition: background .4s, color .4s, transform .4s; }
.round-link:hover { background: white; color: var(--ink); transform: rotate(-8deg); }
.round-link b { font-size: 1rem; font-weight: 300; }

.company-scene { position: absolute; z-index: 4; inset: 0; height: 100vh; overflow: hidden; color: white; background: transparent; opacity: var(--company-scene-o, 0); pointer-events: var(--company-pointer-events, none); will-change: opacity; }
.company-chapter { position: absolute; z-index: 3; top: 50%; left: 11vw; width: 9rem; height: 17rem; color: #4b4848; transform: translateY(-50%); }
.company-chapter__label { position: absolute; left: 2.2rem; width: 8rem; text-transform: uppercase; font-size: .58rem; font-weight: 500; letter-spacing: .12em; white-space: nowrap; transition: opacity .2s linear; }
.company-chapter__label--who { top: .8rem; opacity: var(--company-label-who, 1); }
.company-chapter__label--what { top: calc(50% - .1rem); opacity: var(--company-label-what, 0); }
.company-chapter__label--why { top: calc(100% - .1rem); opacity: var(--company-label-why, 0); }
.company-chapter > i { position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background: rgba(75,72,72,.25); }
.company-chapter > i b { display: block; width: 100%; height: 100%; background: #4b4848; transform: scaleY(var(--company-progress, 0)); transform-origin: top; }
.company-chapter > em { position: absolute; left: -3px; width: 7px; aspect-ratio: 1; background: #4b4848; transform: rotate(45deg); }
.company-chapter > em:nth-of-type(1) { top: 0; opacity: var(--company-dot-1, .25); }
.company-chapter > em:nth-of-type(2) { top: 50%; opacity: var(--company-dot-2, .25); }
.company-chapter > em:nth-of-type(3) { top: 100%; opacity: var(--company-dot-3, .25); }
.company-copy { position: absolute; z-index: 2; will-change: opacity, transform; }
.company-copy p { margin: 0; color: #4b4848; }
.company-copy--one { top: 50%; left: 49vw; width: min(45vw, 50rem); opacity: var(--company-copy-1, 0); transform: translate3d(0, calc(-50% + var(--company-copy-1-y, 65vh)), 0); }
.company-copy--one p { font: 400 clamp(2.05rem, 2.85vw, 3.55rem)/1.12 "Satoshi", sans-serif; letter-spacing: -.04em; }
.company-copy--two { top: 53%; left: 22vw; width: min(34vw, 40rem); opacity: var(--company-copy-2, 0); transform: translate3d(0, calc(-50% + var(--company-copy-2-y, 65vh)), 0); }
.company-copy--two p { font-size: clamp(1.4rem, 1.8vw, 1.8rem); line-height: 1.6; letter-spacing: .015em; }
.company-highlights { position: absolute; z-index: 2; top: 50%; left: 22vw; right: 8vw; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.8rem, 1.6vw, 1.6rem); isolation: isolate; opacity: var(--company-cards-o, 0); transform: translateY(-50%); pointer-events: none; will-change: opacity; }
.company-highlights::before { content: ""; position: absolute; z-index: -1; inset: -8rem -10vw; background: radial-gradient(ellipse at center, rgba(224,235,241,.38), transparent 67%); filter: blur(18px); opacity: var(--company-cards-haze, 0); }
.company-highlight { position: relative; min-height: clamp(15rem, 25vw, 22rem); padding: clamp(1.5rem, 2.5vw, 2.6rem); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2rem; text-align: center; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; opacity: var(--company-card-o, 0); transform: translate3d(0, var(--company-card-y, -72vh), 0) rotate(var(--company-card-r, -2deg)); will-change: transform, opacity; }
.company-highlight::after { display: none; }
.company-highlight img { width: auto; height: clamp(3.6rem, 5.2vw, 5.2rem); align-self: center; object-fit: contain; }
.company-highlight h3 { margin: 0; color: #4b4848; font: 400 clamp(1.25rem, 1.75vw, 2rem)/1.12 "Satoshi", sans-serif; letter-spacing: -.035em; }
.company-highlight--one { --company-card-o: var(--company-card-1-o, 0); --company-card-y: var(--company-card-1-y, -72vh); --company-card-r: var(--company-card-1-r, -2deg); }
.company-highlight--two { --company-card-o: var(--company-card-2-o, 0); --company-card-y: var(--company-card-2-y, -72vh); --company-card-r: var(--company-card-2-r, 2deg); }
.company-highlight--three { --company-card-o: var(--company-card-3-o, 0); --company-card-y: var(--company-card-3-y, -72vh); --company-card-r: var(--company-card-3-r, -1deg); }
.company-what { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.company-what__statement { position: absolute; top: 50%; left: 29vw; width: min(61vw, 66rem); opacity: var(--company-what-o, 0); transform: translate3d(0, calc(-50% + var(--company-what-y, 65vh)), 0); will-change: opacity, transform; }
.company-what__statement h2 { margin: 0; color: #4b4848; font: 400 clamp(3.2rem, 5.4vw, 6.6rem)/.9 "Satoshi", sans-serif; letter-spacing: -.055em; text-transform: none; }
.company-what__statement p { width: min(32rem, 72%); margin: clamp(1.6rem, 3vw, 3rem) 0 0; color: #4b4848; font-size: clamp(1.2rem, 1.8vw, 1.9rem); line-height: 1.25; letter-spacing: .01em; }
.company-what__statement--one { --company-what-o: var(--company-what-1-o, 0); --company-what-y: var(--company-what-1-y, 65vh); }
.company-what__statement--two { --company-what-o: var(--company-what-2-o, 0); --company-what-y: var(--company-what-2-y, 65vh); }
.company-what__statement--three { --company-what-o: var(--company-what-3-o, 0); --company-what-y: var(--company-what-3-y, 65vh); }
.company-why { position: absolute; z-index: 2; inset: 0; overflow: hidden; pointer-events: none; }
.company-why__statement { position: absolute; z-index: 1; top: 50%; left: 50%; width: min(76vw, 70rem); margin: 0; color: #4b4848; text-align: center; font: 400 clamp(2rem, 3.6vw, 4.5rem)/1.08 "Satoshi", sans-serif; letter-spacing: -.04em; opacity: var(--company-why-o, 0); transform: translate3d(calc(-50% + var(--company-why-x, 18vw)), calc(-50% + var(--company-why-y, -75vh)), 0); will-change: opacity, transform; }
.company-why__statement strong { font-weight: 700; }
.company-why__statement--one { --company-why-o: var(--company-why-1-o, 0); --company-why-x: var(--company-why-1-x, 18vw); --company-why-y: var(--company-why-1-y, -75vh); }
.company-why__statement--two { --company-why-o: var(--company-why-2-o, 0); --company-why-x: var(--company-why-2-x, 18vw); --company-why-y: var(--company-why-2-y, -75vh); }
.company-why__statement--three { --company-why-o: var(--company-why-3-o, 0); --company-why-x: var(--company-why-3-x, 18vw); --company-why-y: var(--company-why-3-y, -75vh); }
.company-step { position: absolute; z-index: 3; right: var(--pad); bottom: 2rem; display: flex; align-items: baseline; gap: .45rem; font-size: .6rem; }
.company-step b { font: 400 2rem/1 "Satoshi", sans-serif; }
.company-step span, .company-step em { font-style: normal; opacity: .5; }

.world-scene { position: absolute; z-index: 2; inset: 0; height: 100vh; color: white; opacity: var(--world-scene-opacity, 0); pointer-events: var(--world-pointer-events, none); }
.world-sticky { position: absolute; inset: 0; height: 100vh; overflow: hidden; background: radial-gradient(circle at 50% 48%, rgba(22,59,82,.7) 0, #071827 27%, #030b16 61%, #01040a 100%); }
.world-sticky::after { content: ""; position: absolute; inset: -20%; pointer-events: none; background: radial-gradient(ellipse at 18% 24%, rgba(52,106,143,.15), transparent 26%), radial-gradient(ellipse at 82% 72%, rgba(28,73,110,.13), transparent 30%); opacity: calc(1 - var(--world-p, 0) * .55); transform: scale(calc(1 + var(--world-p, 0) * .18)); }
#globe-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: grab; opacity: var(--globe-visibility, 0); transition: opacity .15s linear; }
#globe-canvas:active { cursor: grabbing; }
.world-fallback { position: absolute; z-index: 0; top: 50%; left: 50%; width: min(58vw, 68vh); aspect-ratio: 1; border: 1px solid rgba(130,204,240,.5); border-radius: 50%; transform: translate(-50%,-50%); opacity: calc(var(--globe-visibility, 0) * .72); background: radial-gradient(circle at 32% 28%, rgba(154,215,240,.32), transparent 20%), radial-gradient(circle at 65% 65%, #0b3048, #061622 70%); box-shadow: inset -4rem -2rem 8rem rgba(0,0,0,.65), 0 0 6rem rgba(57,158,210,.24); transition: opacity .15s linear; }
.world-fallback::before, .world-fallback::after { content: ""; position: absolute; inset: 7%; border: 1px solid rgba(127,202,237,.28); border-radius: 50%; }
.world-fallback::before { transform: scaleX(.42); }
.world-fallback::after { transform: scaleY(.42); }
.world-fallback i { position: absolute; inset: 49.8% 3%; height: 1px; background: rgba(127,202,237,.28); box-shadow: 0 -18vh 0 rgba(127,202,237,.16), 0 18vh 0 rgba(127,202,237,.16); }
.world-sticky.has-webgl .world-fallback { opacity: 0; }
.world-noise { position: absolute; inset: 0; opacity: .055; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.world-cloud-transition { position: absolute; z-index: 5; pointer-events: none; background: url("assets/cloud-transition-v9.png") center/100% 100% no-repeat; mix-blend-mode: screen; will-change: transform, opacity; backface-visibility: hidden; }
.world-cloud-transition--far { inset: 0 -13vw auto; height: 116vh; opacity: var(--curtain-far-opacity, 0); filter: blur(2px) brightness(.68) saturate(.66); transform: translate3d(var(--curtain-far-x, 4vw), var(--curtain-far-y, 98vh), 0) scale(1.12); -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 13%, #000 68%, transparent 96%); mask-image: linear-gradient(to bottom, transparent 0%, #000 13%, #000 68%, transparent 96%); }
.world-cloud-transition--back { inset: -8vh -18vw auto; height: 148vh; opacity: var(--curtain-opacity, 0); filter: brightness(.94) saturate(.68); transform: translate3d(var(--curtain-x, -3vw), var(--curtain-y, 92vh), 0) scale(1.08); -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 8%, #000 82%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0%, #000 8%, #000 82%, transparent 100%); }
.world-cloud-transition--front { inset: 4vh -25vw auto; height: 164vh; opacity: var(--curtain-front-opacity, 0); filter: blur(5px) brightness(.54) saturate(.58); transform: translate3d(var(--curtain-front-x, -7vw), var(--curtain-front-y, 112vh), 0) scale(1.16); -webkit-mask-image: linear-gradient(to bottom, transparent 0%, transparent 24%, #000 45%, #000 78%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0%, transparent 24%, #000 45%, #000 78%, transparent 100%); }
.landing-haze { position: absolute; z-index: 6; inset: -18vh -16vw; pointer-events: none; opacity: var(--landing-haze, 0); transform: translate3d(var(--landing-haze-x, 8vw), 0, 0) scale(var(--landing-haze-scale, 1.04)); background: url("assets/cloud-transition-v9.png") center/cover no-repeat; mix-blend-mode: screen; will-change: opacity, transform; }
.world-topline { position: absolute; z-index: 2; top: 5.8rem; left: var(--pad); right: var(--pad); display: flex; justify-content: space-between; font-size: .56rem; text-transform: uppercase; letter-spacing: .16em; opacity: var(--world-ui, 0); transition: opacity .2s linear; }
.world-copy { position: absolute; z-index: 2; left: var(--pad); top: 50%; width: min(25rem, 27vw); transform: translateY(-50%); pointer-events: none; }
.world-copy h2 { margin: 0; font: 400 clamp(2.8rem, 4.2vw, 4.9rem)/.88 "Satoshi", sans-serif; letter-spacing: -.05em; }
.world-copy h2 em { font-weight: 400; }
.world-copy--one { opacity: var(--world-copy-1, 1); transform: translateY(calc(-50% + var(--world-copy-1-y, 0px))); }
.world-copy--two { opacity: var(--world-copy-2, 0); transform: translateY(calc(-50% + var(--world-copy-2-y, 60px))); }
.world-copy--two > p:last-child { width: 23rem; max-width: 90%; margin: 2rem 0 0; font-size: .78rem; line-height: 1.7; }
.world-markets { position: absolute; z-index: 2; right: var(--pad); bottom: 2rem; display: flex; align-items: center; gap: .8rem; font-size: .52rem; text-transform: uppercase; letter-spacing: .16em; opacity: var(--world-network, 0); transform: translateY(calc((1 - var(--world-network, 0)) * 1rem)); transition: opacity .15s linear; }
.world-markets i { display: block; width: 2.5rem; height: 1px; background: rgba(255,255,255,.35); }
.world-scroll-cue { position: absolute; z-index: 2; left: var(--pad); bottom: 2rem; display: flex; align-items: center; gap: 1rem; font-size: .52rem; text-transform: uppercase; letter-spacing: .16em; }
.world-scroll-cue i { display: block; width: 3rem; height: 1px; background: white; transform-origin: left; transform: scaleX(calc(.25 + var(--world-p, 0) * .75)); }

.services-scene { position: absolute; z-index: 3; inset: 0; height: 100vh; overflow: hidden; color: white; background: #0b2234; opacity: var(--services-scene-o, 0); pointer-events: var(--services-pointer-events, none); will-change: opacity; }
.services-backdrop { position: absolute; inset: -15%; background: radial-gradient(circle at 78% 24%, rgba(104,135,163,.3), transparent 28%), radial-gradient(circle at 20% 82%, rgba(39,91,112,.32), transparent 31%), linear-gradient(135deg, #102f43 0%, #081b2b 55%, #061521 100%); transform: scale(calc(1 + var(--services-p, 0) * .08)); }
.services-backdrop::after { content: ""; position: absolute; inset: 0; opacity: .14; background: repeating-linear-gradient(90deg, transparent 0 calc(25% - 1px), rgba(255,255,255,.16) calc(25% - 1px) 25%); }
.services-topline { position: absolute; z-index: 3; top: 5.8rem; left: var(--pad); right: var(--pad); display: flex; align-items: center; justify-content: space-between; text-transform: uppercase; font-size: .56rem; letter-spacing: .16em; opacity: var(--services-ui-o, 0); }
.services-progress { display: flex; align-items: center; gap: 1rem; }
.services-progress i { position: relative; width: 7rem; height: 1px; background: rgba(255,255,255,.22); }
.services-progress i::after { content: ""; position: absolute; inset: 0; background: white; transform: scaleX(var(--services-progress, 0)); transform-origin: left; }
.services-progress b { font-weight: 400; }
.services-stage { position: absolute; z-index: 2; inset: 0; opacity: var(--services-list-o, 0); transform: translateY(var(--services-list-y, 40px)); will-change: opacity, transform; }
.services-track { height: 100%; display: grid; grid-auto-flow: column; grid-auto-columns: 42vw; align-items: center; gap: 4vw; padding-left: 31vw; transform: translate3d(calc(var(--services-track, 0) * -230vw), 0, 0); will-change: transform; }
.service-card { --tilt-x: 0deg; --tilt-y: 0deg; --spot-x: 50%; --spot-y: 50%; position: relative; height: 58vh; padding: 1.5rem; overflow: hidden; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.25); background: linear-gradient(145deg, rgba(104,135,163,.2), rgba(5,20,31,.52)); backdrop-filter: blur(10px); cursor: pointer; transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transition: transform .45s cubic-bezier(.2,.8,.2,1), border-color .35s, background .35s, box-shadow .35s, opacity .35s; }
.service-card::before { content: ""; position: absolute; top: 0; left: 0; width: calc(var(--services-card-fill, 0) * 100%); height: 2px; background: white; opacity: .7; }
.service-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(172,226,250,.2), transparent 36%); transition: opacity .3s; }
.service-card > * { position: relative; z-index: 1; }
.service-card:hover, .service-card:focus-visible, .service-card.is-active { border-color: rgba(214,242,255,.72); background: linear-gradient(145deg, rgba(104,159,185,.3), rgba(5,20,31,.62)); box-shadow: 0 2rem 5rem rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.08); transform: perspective(900px) translateY(-.6rem) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }
.service-card:hover::after, .service-card:focus-visible::after, .service-card.is-active::after { opacity: 1; }
.service-card:focus-visible { outline: 2px solid white; outline-offset: 4px; }
.service-card__number { width: 2.4rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; font-size: .56rem; }
.service-card.is-active .service-card__number { color: var(--ink); background: white; border-color: white; }
.service-card h3 { margin: auto 0 2rem; font: 400 clamp(2.8rem, 4.8vw, 5.5rem)/.84 "Satoshi", sans-serif; letter-spacing: -.05em; }
.service-card ul { margin: 0; padding: 1rem 0 0; border-top: 1px solid rgba(255,255,255,.25); list-style: none; display: grid; gap: .55rem; font-size: .67rem; line-height: 1.4; }
.service-card li { display: grid; grid-template-columns: .8rem 1fr; gap: .4rem; }
.service-card li::before { content: "—"; opacity: .5; }
.services-cue { position: absolute; z-index: 3; left: var(--pad); bottom: 2rem; display: flex; align-items: center; gap: 1rem; text-transform: uppercase; font-size: .52rem; letter-spacing: .16em; opacity: var(--services-ui-o, 0); }
.services-cue i { display: block; width: 3rem; height: 1px; background: white; transform-origin: left; transform: scaleX(calc(.18 + var(--services-progress, 0) * .82)); }

.section-index { text-transform: uppercase; letter-spacing: .16em; font-size: .58rem; }
.intro { min-height: 120vh; padding: 8rem var(--pad); display: grid; grid-template-columns: 1fr 3fr; grid-template-rows: auto 1fr; gap: 6rem 3rem; align-items: start; }
.intro__lead { grid-column: 2; max-width: 1050px; margin: 0; font: 400 clamp(3rem, 6vw, 6.8rem)/.98 "Satoshi", sans-serif; letter-spacing: -.035em; }
.intro__aside { grid-column: 2; max-width: 28rem; margin-left: auto; font-size: .85rem; line-height: 1.65; }
.intro__aside a { display: inline-flex; justify-content: space-between; gap: 3rem; margin-top: 2rem; border-bottom: 1px solid currentColor; padding-bottom: .5rem; text-transform: uppercase; letter-spacing: .1em; font-size: .6rem; }
.split-reveal { background: linear-gradient(90deg, var(--ink) var(--reveal, 0%), rgba(16,38,58,.15) var(--reveal, 0%)); -webkit-background-clip: text; background-clip: text; color: transparent; }

.usa-portfolio { position: absolute; z-index: 4; inset: 0; height: 100vh; color: white; background: #173440; opacity: var(--usa-scene-o, 0); pointer-events: var(--usa-pointer-events, none); will-change: opacity; }
.usa-sticky { position: absolute; inset: 0; height: 100vh; overflow: hidden; background: #173440; isolation: isolate; }
.usa-terrain { position: absolute; inset: -12%; background: linear-gradient(115deg, rgba(9,31,38,.9), rgba(41,78,75,.34)), radial-gradient(ellipse at 27% 58%, rgba(125,142,103,.35), transparent 32%), radial-gradient(ellipse at 74% 30%, rgba(101,132,121,.28), transparent 25%), url("assets/coastal-city-hero.png") center/cover; filter: saturate(.34) brightness(.48); transform: scale(1.12); contain: paint; }
.usa-terrain::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,20,27,.42), transparent 45%, rgba(5,20,27,.25)), repeating-radial-gradient(ellipse at 35% 45%, transparent 0 38px, rgba(214,229,216,.055) 40px 41px); }
.usa-topline { position: absolute; z-index: 12; top: 5.8rem; left: var(--pad); right: var(--pad); display: flex; justify-content: space-between; align-items: center; opacity: var(--usa-map-o, 0); }
.usa-progress { display: flex; align-items: center; gap: 1rem; text-transform: uppercase; letter-spacing: .14em; font-size: .56rem; }
.usa-progress i { width: 7rem; height: 1px; background: rgba(255,255,255,.22); position: relative; }
.usa-progress i::after { content: ""; position: absolute; inset: 0; background: white; transform: scaleX(var(--usa-progress, 0)); transform-origin: left; }
.usa-progress b { font-weight: 400; }
.usa-map-wrap { position: absolute; z-index: 1; left: var(--pad); top: 18vh; width: min(43vw, 650px); opacity: var(--usa-map-o, 0); transform: scale(.95); transform-origin: 34% 50%; will-change: opacity; }
.usa-map-label { display: flex; justify-content: space-between; padding-bottom: .9rem; border-bottom: 1px solid rgba(255,255,255,.24); text-transform: uppercase; letter-spacing: .14em; font-size: .53rem; }
.usa-map-label b { font-weight: 400; opacity: .62; }
.usa-map { display: block; width: 100%; overflow: visible; }
.usa-outline { fill: rgba(207,220,198,.09); stroke: rgba(232,241,226,.66); stroke-width: 1.5; }
.usa-marker { cursor: pointer; }
.usa-marker__hit { fill: transparent; pointer-events: all; }
.usa-marker__ring { fill: none; stroke: rgba(255,255,255,.3); stroke-width: 1; transform-box: fill-box; transform-origin: center; transition: transform .3s, stroke .3s; }
.usa-marker__dot { fill: rgba(255,255,255,.72); transition: fill .3s, transform .3s; transform-box: fill-box; transform-origin: center; }
.usa-marker text { fill: rgba(255,255,255,.48); font: 500 12px "Satoshi", sans-serif; text-anchor: middle; text-transform: uppercase; letter-spacing: 1px; transition: fill .5s; }
.usa-marker text:last-child { font-size: 10px; }
.usa-marker:hover .usa-marker__ring, .usa-marker:focus-visible .usa-marker__ring { stroke: white; transform: scale(1.35); }
.usa-marker:hover .usa-marker__dot, .usa-marker:focus-visible .usa-marker__dot { fill: white; transform: scale(1.25); }
.usa-marker:hover text, .usa-marker:focus-visible text { fill: white; }
.usa-marker:focus { outline: none; }
.usa-marker.is-active .usa-marker__ring { stroke: white; transform: scale(1.45); animation: marker-pulse 1.7s ease-in-out infinite; }
.usa-marker.is-active .usa-marker__dot, .usa-marker.is-active text { fill: white; }
@keyframes marker-pulse { 50% { transform: scale(1.8); opacity: .35; } }
.usa-map-hint { margin: -2.5rem 0 0; display: flex; gap: .8rem; align-items: center; font-size: .52rem; text-transform: uppercase; letter-spacing: .14em; opacity: .58; }
.usa-map-hint span { font-size: 1rem; }
.state-story { position: absolute; z-index: 2; top: 20vh; left: 48vw; right: var(--pad); bottom: 7vh; opacity: var(--usa-story-o, 0); }
.state-heading { height: 17vh; display: grid; grid-template-columns: 2.7rem 1fr auto; gap: 1rem; align-items: start; }
.state-order { width: 2.2rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; font-size: .55rem; }
.state-heading .eyebrow { margin: .1rem 0 .6rem; opacity: .68; }
.state-heading h2 { margin: 0; font: 400 clamp(3.5rem, 5.8vw, 6.5rem)/.8 "Satoshi", sans-serif; letter-spacing: -.05em; white-space: nowrap; }
.state-summary { margin: .3rem 0 0; text-transform: uppercase; letter-spacing: .13em; font-size: .54rem; }
.state-properties { height: calc(100% - 17vh); display: grid; grid-auto-flow: column; grid-auto-columns: min(19vw, 285px); gap: 1rem; transform: translate3d(var(--cards-x, 0vw), 0, 0); will-change: transform; }
.usa-property { position: relative; height: 100%; min-height: 0; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; background: #1d3943; animation: usa-card-in .48s cubic-bezier(.2,.8,.2,1) both; animation-delay: var(--card-delay, 0ms); }
@keyframes usa-card-in { from { opacity: .25; transform: translateY(28px); } to { opacity: 1; transform: none; } }
.usa-property__image { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,18,25,.06), rgba(4,18,25,.68)), var(--property-image, url("assets/coastal-city-hero.png")) var(--image-position) center/cover; transform: scale(1.02); }
.usa-property__top, .usa-property__body, .usa-property__details { position: relative; z-index: 1; }
.usa-property__top { display: flex; justify-content: space-between; gap: 1rem; font-size: .49rem; line-height: 1.3; text-transform: uppercase; letter-spacing: .1em; }
.usa-property__top span:last-child { text-align: right; }
.usa-property__body { margin-top: auto; }
.usa-property h3 { margin: 0 0 .8rem; font: 400 clamp(1.8rem, 2.5vw, 3rem)/.9 "Satoshi", sans-serif; letter-spacing: -.035em; }
.usa-property__body p { margin: 0 0 1.3rem; max-width: 15rem; font-size: .58rem; line-height: 1.5; opacity: .76; }
.usa-property__details { padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.27); display: grid; gap: .35rem; font-size: .52rem; }
.usa-property__details span { display: flex; justify-content: space-between; gap: .8rem; }
.usa-property__details b { font-weight: 400; text-align: right; }
.usa-property__details a { margin-top: .3rem; opacity: .7; }

.numbers { min-height: 145vh; padding: 8rem var(--pad); background: var(--paper); }
.numbers__grid { margin: 7rem 0 12rem; border-top: 1px solid rgba(16,38,58,.25); display: grid; grid-template-columns: repeat(3,1fr); }
.number { min-height: 19rem; padding: 2rem 1rem 2rem 0; border-bottom: 1px solid rgba(16,38,58,.25); display: flex; flex-direction: column; justify-content: space-between; }
.number + .number { border-left: 1px solid rgba(16,38,58,.25); padding-left: 2rem; }
.number strong { font: 400 clamp(5rem, 10vw, 10rem)/1 "Satoshi", sans-serif; letter-spacing: -.06em; }
.number strong::after { content: "+"; font-size: .28em; vertical-align: top; }
.number span { font-size: .65rem; text-transform: uppercase; letter-spacing: .12em; }
.numbers__statement { margin: 0; font: 400 clamp(4.5rem, 10vw, 11rem)/.84 "Satoshi", sans-serif; letter-spacing: -.055em; }

.contact { position: relative; min-height: 110vh; padding: 8rem var(--pad) 1.8rem; color: white; display: grid; place-items: center; overflow: hidden; }
.contact__media { position: absolute; inset: -8%; background: linear-gradient(rgba(5,19,30,.55),rgba(5,19,30,.72)), url("assets/coastal-city-hero.png") center/cover; transform: translateY(var(--contact-y,0)); }
.contact__content { position: relative; text-align: center; }
.contact h2 { margin: 0; font: 400 clamp(4rem, 9vw, 9rem)/.86 "Satoshi", sans-serif; letter-spacing: -.05em; }
.round-link--light { width: 10rem; }
.contact footer { position: absolute; bottom: 1.8rem; left: var(--pad); right: var(--pad); display: flex; justify-content: space-between; text-transform: uppercase; letter-spacing: .12em; font-size: .55rem; }
.reveal { opacity: 0; transform: translateY(3rem); transition: opacity 1s, transform 1s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 760px) {
  .site-header nav { display: none; }
  .scroll-progress, .cursor { display: none; }
  .opening-scroll { height: 2600vh; }
  .hero-step--one { width: 88vw; }
  .hero-step h1 { font-size: clamp(4rem, 22vw, 7.5rem); line-height: .82; }
  .hero-step h2 { font-size: clamp(3.8rem, 18vw, 6.5rem); }
  .hero-lockup { gap: .8rem; }
  .hero-lockup__mark { width: 3.4rem; font-size: 1.2rem; }
  .hero-lockup > i { height: 3.4rem; }
  .hero-lockup__name { font-size: clamp(1.55rem, 8vw, 2.3rem); letter-spacing: .08em; }
  .hero-lockup__tagline { max-width: 19rem; margin: 1.1rem 0 0; font-size: .6rem; line-height: 1.6; }
  .hero-lockup__scroll { top: calc(50vh + 50% - 2rem); margin: 0; font-size: .68rem; }
  .hero-media__image, .hero-media__villa { filter: none; }
  .hero-media__transition-veil { mix-blend-mode: normal; }
  .mist { filter: none; opacity: .2; }
  .mist--two { display: none; }
  .cloud-layer { left: -25vw; width: 150vw; background-size: cover; filter: none; }
  .cloud-layer--two, .cloud-layer--four { display: none; }
  .cloud-layer--three { inset: -8vh -25vw; width: auto; -webkit-mask-image: none; mask-image: none; }
  .company-chapter { top: 7rem; left: var(--pad); height: 8rem; transform: none; }
  .company-copy--one { top: 42%; left: var(--pad); width: calc(100% - var(--pad) * 2); }
  .company-copy--one p { font-size: clamp(1.85rem, 7.8vw, 3.1rem); }
  .company-copy--two { top: 65%; left: var(--pad); width: calc(100% - var(--pad) * 2); }
  .company-copy--two p { font-size: 1.1rem; }
  .company-highlights { top: 53%; left: calc(var(--pad) + 2rem); right: var(--pad); grid-template-columns: 1fr; gap: .65rem; }
  .company-highlights::before { filter: none; }
  .company-highlight { min-height: 8.8rem; padding: 1.1rem 1.25rem; flex-direction: column; align-items: center; justify-content: center; gap: 1.1rem; text-align: center; }
  .company-highlight img { width: 3.3rem; height: 3.3rem; flex: 0 0 3.3rem; }
  .company-highlight h3 { margin: 0; font-size: clamp(1.05rem, 5vw, 1.4rem); }
  .company-what__statement { left: calc(var(--pad) + 2rem); width: calc(100% - var(--pad) * 2 - 2rem); }
  .company-what__statement h2 { font-size: clamp(2.7rem, 12vw, 4.5rem); }
  .company-what__statement p { width: 100%; margin-top: 1.5rem; font-size: 1rem; }
  .company-why__statement { top: 50%; left: 50%; width: calc(100% - var(--pad) * 2 - 2rem); font-size: clamp(1.65rem, 7vw, 2.8rem); }
  .intro { grid-template-columns: 1fr; gap: 4rem; min-height: 100vh; }
  .intro__lead, .intro__aside { grid-column: 1; }
  .usa-portfolio { height: 100vh; padding: 0; display: block; }
  .usa-topline { top: 5rem; }
  .usa-progress i { width: 3.5rem; }
  .usa-map-wrap { top: 10vh; left: 5vw; width: 90vw; opacity: calc(var(--usa-map-o, 0) * .55); transform-origin: center; }
  .usa-map-label, .usa-map-hint { display: none; }
  .state-story { top: 32vh; left: var(--pad); right: var(--pad); bottom: 3.5vh; }
  .state-heading { height: 14vh; grid-template-columns: 2.4rem 1fr; }
  .state-heading h2 { font-size: clamp(3rem, 13vw, 5rem); white-space: normal; }
  .state-summary { display: none; }
  .state-properties { height: calc(100% - 14vh); grid-auto-columns: 72vw; }
  .usa-property h3 { font-size: 2.25rem; }
  .usa-property__details { font-size: .56rem; }
  .world-copy { top: 17%; width: calc(100% - var(--pad) * 2); text-align: center; }
  .world-copy h2 { font-size: clamp(2.8rem, 12vw, 4.4rem); }
  .world-copy--two > p:last-child { margin-inline: auto; }
  .world-fallback { top: 61%; width: 80vw; }
  .world-topline span:last-child, .world-markets { display: none; }
  .world-noise, .world-cloud-transition--far, .world-cloud-transition--front, .landing-haze { display: none; }
  .world-cloud-transition--back { background-size: cover; filter: none; -webkit-mask-image: none; mask-image: none; }
  .world-scroll-cue { left: auto; right: var(--pad); }
  .services-topline { top: 5rem; }
  .services-progress i { width: 3.5rem; }
  .services-track { grid-auto-columns: 84vw; gap: 8vw; padding-left: 8vw; transform: translate3d(calc(var(--services-track, 0) * -460vw), 0, 0); }
  .service-card { height: 62vh; backdrop-filter: none; }
  .service-card h3 { font-size: clamp(2.7rem, 12vw, 4.2rem); }
  .services-cue { display: none; }
  .numbers__grid { grid-template-columns: 1fr; margin-bottom: 8rem; }
  .number + .number { border-left: 0; padding-left: 0; }
  .number { min-height: 13rem; }
  .contact footer { gap: 1rem; flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero-media, .hero-media__image, .mist, .cloud-layer, .contact__media { transform: none !important; }
  .company-highlight { transform: none !important; }
  .service-card { transform: none !important; }
  .usa-property { opacity: 1; transform: none; }
}
