@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --ink: #101820;
  --ink-soft: #18232c;
  --ivory: #f2efe8;
  --limestone: #d9d2c4;
  --sun: #c68b3c;
  --sun-light: #e0b16d;
  --slate: #70777a;
  --white: #fff;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
  --page-pad: clamp(1.25rem, 4vw, 4.75rem);
  --ease: cubic-bezier(.22, 1, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

section[id] { scroll-margin-top: 6rem; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--ivory);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

html.intro-pending { overflow: hidden; }

.site-intro {
  position: fixed;
  z-index: 200;
  inset: 0;
  display: none;
  place-items: center;
  overflow: hidden;
  color: var(--ivory);
  background:
    radial-gradient(circle at 20% 22%,rgba(255,158,116,.12),transparent 28%),
    radial-gradient(circle at 78% 72%,rgba(102,230,219,.1),transparent 31%),
    radial-gradient(circle at 52% 48%,rgba(164,139,255,.12),transparent 36%),
    #050b12;
  clip-path: inset(0);
  isolation: isolate;
  pointer-events: none;
}

.intro-pending .site-intro,
.site-intro.is-exiting { display: grid; }
.site-intro.is-exiting { animation: intro-blast-open .68s cubic-bezier(.22,.72,.2,1) forwards; will-change: opacity; }

.site-intro::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  opacity: .2;
  background-image: linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size: clamp(2.8rem,6vw,5rem) clamp(2.8rem,6vw,5rem);
  mask-image: radial-gradient(circle at center,#000,transparent 76%);
  pointer-events: none;
}

.site-intro::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  opacity: .24;
  background-image: radial-gradient(circle,rgba(255,255,255,.35) 0 1px,transparent 1.4px);
  background-size: 9px 11px;
  mix-blend-mode: soft-light;
  mask-image: radial-gradient(ellipse at center,#000 0%,transparent 72%);
  pointer-events: none;
}

.site-intro__canvas { position: absolute; z-index: 1; inset: 0; display: block; width: 100%; height: 100%; }
.site-intro__stardust { position: absolute; z-index: 2; inset: 0; display: block; width: 100%; height: 100%; opacity: 0; pointer-events: none; transition: opacity .62s ease-out; -webkit-mask-image: linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%); mask-image: linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%); }
.site-intro.is-blasting .site-intro__stardust { opacity: .72; }
.site-intro.is-slicing .site-intro__canvas { animation: intro-cut-shudder .34s linear both; }
.site-intro__fallback { position: relative; z-index: 1; color: transparent; background: linear-gradient(100deg,#ffad86,#c89bff 52%,#6ce8de); background-clip: text; -webkit-background-clip: text; font-size: clamp(4.5rem,18vw,13rem); font-weight: 700; letter-spacing: -.08em; line-height: .8; opacity: .8; filter: blur(.5px) drop-shadow(0 0 2rem rgba(164,139,255,.25)); transition: opacity .18s ease; }
.site-intro.is-canvas-ready .site-intro__fallback { display: none; }
.site-intro__laser-flash { position: absolute; z-index: 3; top: 50%; right: -10%; left: -10%; height: 2px; background: linear-gradient(90deg,transparent,#ffb38e 18%,#fff 50%,#71f3e7 82%,transparent); box-shadow: 0 0 1rem rgba(255,255,255,.9),0 0 3rem rgba(164,139,255,.85); opacity: 0; transform: scaleX(0); }
.site-intro.is-laser-live .site-intro__laser-flash { animation: intro-laser-flash .68s .18s var(--ease) both; }
.site-intro.is-blasting .site-intro__laser-flash { animation: none; opacity: 0; }
.site-intro.is-blasting .site-intro__fallback { display: none; }
.site-intro__blast { position: absolute; z-index: 4; top: 50%; left: 50%; display: block; width: min(10rem,26vw); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,rgba(255,255,255,.96) 0 4%,rgba(211,181,255,.65) 10%,rgba(102,230,219,.25) 28%,transparent 70%); box-shadow: 0 0 2.5rem rgba(255,255,255,.42),0 0 5rem rgba(164,139,255,.3); opacity: 0; transform: translate(-50%,-50%) scale(.06); }
.site-intro.is-blasting .site-intro__blast { animation: intro-blast-wave .78s cubic-bezier(.16,.84,.31,1) both; }

.intro-pending .site-header * { animation-play-state: paused !important; }
.intro-pending .site-header { opacity: 0; transform: translate(-50%,-1rem); }
.intro-revealing .site-header { animation: intro-header-in 1.05s .14s both var(--ease); }
.intro-revealing .hero__stardust, .intro-revealing .hero__stardust-glints { transition: none; }

@keyframes intro-laser-flash { 0% { opacity: 0; transform: scaleX(0); } 45% { opacity: 1; transform: scaleX(1); } 100% { opacity: .14; transform: translateX(22%) scaleX(.48); } }
@keyframes intro-cut-shudder { 0%,100% { transform: translate3d(0,0,0); } 18% { transform: translate3d(-4px,2px,0); } 36% { transform: translate3d(5px,-3px,0); } 54% { transform: translate3d(-3px,-1px,0); } 72% { transform: translate3d(2px,2px,0); } }
@keyframes intro-blast-wave { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.06); } 16% { opacity: .85; } 52% { opacity: .38; } 100% { opacity: 0; transform: translate(-50%,-50%) scale(4.5); } }
@keyframes intro-blast-open { 0% { opacity: 1; } 100% { opacity: 0; } }
@keyframes intro-header-in { from { opacity: 0; transform: translate(-50%,-1rem); } to { opacity: 1; transform: translate(-50%,0); } }

a { color: inherit; text-decoration: none; }

.skip-link {
  position: fixed;
  z-index: 100;
  top: .75rem;
  left: .75rem;
  padding: .7rem 1rem;
  color: var(--ink);
  background: var(--ivory);
  transform: translateY(-160%);
  transition: transform .2s ease;
}

.skip-link:focus { transform: translateY(0); }

.site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: 100%;
  min-height: 6.75rem;
  padding: 0 var(--page-pad);
  color: var(--ivory);
  border-bottom: 1px solid rgba(242, 239, 232, .16);
  transition: min-height .35s var(--ease), color .35s ease, background-color .35s ease, border-color .35s ease;
}

.site-header.is-scrolled {
  position: fixed;
  min-height: 4.7rem;
  color: var(--ivory);
  background: rgba(16, 24, 32, .96);
  border-color: rgba(242, 239, 232, .12);
  backdrop-filter: blur(14px);
}

.wordmark {
  display: inline-flex;
  align-items: baseline;
  gap: .85rem;
  width: fit-content;
}

.wordmark__name {
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .2em;
  line-height: 1;
}

.wordmark__descriptor {
  font-size: .66rem;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.desktop-nav { display: flex; gap: clamp(1.4rem, 2.3vw, 2.75rem); }

.desktop-nav a,
.header-cta {
  position: relative;
  font-size: .73rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -.55rem;
  left: 0;
  height: 1px;
  background: var(--sun-light);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s var(--ease);
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after,
.desktop-nav a.is-current::after { transform: scaleX(1); transform-origin: left; }

.desktop-nav a.is-current { color: #fff; }

.header-cta {
  justify-self: end;
  padding: .8rem 1rem;
  border: 1px solid rgba(242, 239, 232, .6);
  transition: color .3s ease, background-color .3s ease;
}

.header-cta:hover,
.header-cta:focus-visible { color: var(--ink); background: var(--ivory); }

.menu-toggle { display: none; }

.hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 47%) minmax(0, 53%);
  min-height: max(47rem, 100svh);
  color: var(--ivory);
  background: var(--ink);
  overflow: hidden;
}

.hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10rem var(--page-pad) 6.5rem;
}

.solar-mark {
  position: absolute;
  top: 15%;
  right: -5.1rem;
  width: 10.2rem;
  aspect-ratio: 1;
  border: 1px solid rgba(224, 177, 109, .42);
  border-radius: 50%;
}

.solar-mark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -2.25rem;
  width: 14.5rem;
  height: 1px;
  background: var(--sun);
}

.solar-mark span {
  position: absolute;
  top: calc(50% - .24rem);
  left: calc(50% - .24rem);
  width: .48rem;
  aspect-ratio: 1;
  background: var(--sun-light);
  border-radius: 50%;
}

.eyebrow {
  margin: 0 0 1.4rem;
  color: var(--sun-light);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.hero h1 {
  max-width: 10ch;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(4.3rem, 7.25vw, 8.8rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .78;
  animation: hero-in 1.1s .12s both var(--ease);
}

.hero h1 em { color: var(--sun-light); font-weight: 500; }

.hero__intro {
  max-width: 35rem;
  margin: clamp(2.5rem, 4.5vw, 4.5rem) 0 0;
  color: rgba(242, 239, 232, .73);
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.75;
  animation: hero-in .9s .28s both var(--ease);
}

.hero__actions { display: flex; align-items: center; gap: 2rem; margin-top: 2.2rem; }
.hero__actions { animation: hero-in .9s .38s both var(--ease); }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  min-height: 3.65rem;
  padding: .85rem 1.25rem;
  font-size: .73rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.button--sun { color: var(--ink); background: var(--sun-light); }
.button--sun .icon { transition: transform .3s var(--ease); }
.button--sun:hover .icon--arrow-down-right { transform: translate(3px, 3px); }
.button--sun:hover .icon--arrow-up-right { transform: translate(3px, -3px); }

.text-link {
  display: inline-flex;
  gap: .6rem;
  align-items: center;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.text-link .icon { color: var(--sun-light); transition: transform .3s var(--ease); }
.text-link:hover .icon { transform: translateX(4px); }

.icon { display: block; width: 1rem; height: 1rem; flex: 0 0 auto; overflow: visible; }
.icon path { fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }

.hero__image-wrap { position: relative; min-width: 0; margin: 0; overflow: hidden; }

.hero__image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16, 24, 32, .32), transparent 42%), linear-gradient(0deg, rgba(16, 24, 32, .35), transparent 38%);
  pointer-events: none;
}

.hero__image { width: 100%; height: 100%; object-fit: cover; object-position: 55% center; }
.hero__image { animation: none; }

.hero__image-wrap figcaption {
  position: absolute;
  z-index: 2;
  right: var(--page-pad);
  bottom: 2.6rem;
  display: flex;
  gap: 1rem;
  color: rgba(255, 255, 255, .82);
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hero__image-wrap figcaption span + span { padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.45); }

.scroll-cue {
  position: absolute;
  z-index: 3;
  bottom: 2.25rem;
  left: var(--page-pad);
  display: flex;
  gap: 1rem;
  align-items: center;
  color: rgba(242, 239, 232, .55);
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.scroll-cue i { width: 3.5rem; height: 1px; background: rgba(242, 239, 232, .38); }

.preview-intro {
  padding: clamp(7rem, 12vw, 12rem) var(--page-pad);
  background: var(--ivory);
}

.preview-intro h2 {
  max-width: 14ch;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(3.5rem, 7vw, 7rem);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: .92;
}

.section { padding: clamp(7rem, 12vw, 12rem) var(--page-pad); }

.section-label {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  align-items: center;
  margin-bottom: clamp(4rem, 7vw, 7rem);
  color: var(--slate);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.section-label span {
  display: grid;
  width: 2.15rem;
  aspect-ratio: 1;
  place-items: center;
  color: var(--ink);
  border: 1px solid var(--limestone);
  border-radius: 50%;
  font-size: .6rem;
  letter-spacing: 0;
}

.section-label p { margin: 0; }
.section-label::after { content: ""; height: 1px; margin-left: 1.5rem; background: var(--limestone); }
.section-label--dark { color: rgba(242, 239, 232, .56); }
.section-label--dark span { color: var(--sun-light); border-color: rgba(242, 239, 232, .2); }
.section-label--dark::after { background: rgba(242, 239, 232, .16); }

.display-heading {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(3.7rem, 7.25vw, 8rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .88;
}

.display-heading em { color: var(--sun); font-weight: 500; }

.brand-intro { position: relative; min-height: 48rem; }

.brand-intro__body {
  position: relative;
  display: grid;
  grid-template-columns: minmax(7rem, .45fr) minmax(0, 2.2fr) minmax(17rem, .7fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: end;
}

.sunline { align-self: start; width: 100%; aspect-ratio: 1; border: 1px solid var(--limestone); border-radius: 50%; }
.sunline { position: relative; max-width: 8.5rem; }
.sunline::after { content: ""; position: absolute; top: 50%; right: -4rem; left: -1.5rem; height: 1px; background: var(--sun); }
.sunline span { position: absolute; z-index: 1; top: calc(50% - .25rem); left: calc(50% - .25rem); width: .5rem; aspect-ratio: 1; border-radius: 50%; background: var(--sun); }

.brand-intro__copy {
  max-width: 31rem;
  margin: 0 0 .35rem;
  color: #555d60;
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  line-height: 1.85;
}

.residences { color: var(--ivory); background: var(--ink); }

.section-heading-row {
  display: grid;
  grid-template-columns: 1.65fr .6fr;
  gap: clamp(3rem, 8vw, 9rem);
  align-items: end;
  margin-bottom: clamp(5rem, 10vw, 10rem);
}

.section-heading-row p {
  max-width: 28rem;
  margin: 0 0 .4rem;
  color: rgba(242, 239, 232, .62);
  font-size: 1.02rem;
  line-height: 1.8;
}

.residence-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(5rem, 11vw, 11rem) clamp(1.25rem, 3.5vw, 4rem);
}

.residence-card { min-width: 0; }
.residence-card--1 { grid-column: 1 / span 7; }
.residence-card--2 { grid-column: 9 / span 4; padding-top: 8rem; }
.residence-card--3 { grid-column: 2 / span 4; }
.residence-card--4 { grid-column: 7 / span 6; padding-top: 4rem; }
.residence-card--5 { grid-column: 1 / span 7; }
.residence-card--6 { grid-column: 9 / span 4; padding-top: 9rem; }

.residence-card__button {
  display: block;
  width: 100%;
  padding: 0;
  color: inherit;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.residence-card__image-wrap { position: relative; display: block; overflow: hidden; background: var(--ink-soft); }
.residence-card--1 .residence-card__image-wrap,
.residence-card--5 .residence-card__image-wrap { aspect-ratio: 1.42; }
.residence-card--2 .residence-card__image-wrap,
.residence-card--3 .residence-card__image-wrap,
.residence-card--6 .residence-card__image-wrap { aspect-ratio: .82; }
.residence-card--4 .residence-card__image-wrap { aspect-ratio: 1.25; }

.residence-card__image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease), filter .5s ease; }
.residence-card__button:hover img,
.residence-card__button:focus-visible img { transform: scale(1.04); filter: saturate(.9) brightness(.92); }

.residence-card__arrow {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: grid;
  width: 3.25rem;
  aspect-ratio: 1;
  place-items: center;
  color: var(--ink);
  background: var(--ivory);
  border-radius: 50%;
  transform: scale(.82);
  opacity: 0;
  transition: opacity .35s ease, transform .35s var(--ease);
}

.residence-card__button:hover .residence-card__arrow,
.residence-card__button:focus-visible .residence-card__arrow { transform: scale(1); opacity: 1; }

.residence-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: end;
  padding: 1.45rem 0 0;
  border-top: 1px solid rgba(242, 239, 232, .18);
}

.residence-card__meta small { display: block; margin-bottom: .25rem; color: var(--sun-light); font-size: .62rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.residence-card__meta strong { font-family: var(--serif); font-size: clamp(1.65rem, 2.3vw, 2.4rem); font-weight: 500; line-height: 1; }
.residence-card__location { color: rgba(242, 239, 232, .5); font-size: .68rem; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.inventory-note { margin: clamp(5rem, 10vw, 9rem) 0 0; color: rgba(242, 239, 232, .44); font-size: .76rem; }
.residence-fallback { max-width: 50rem; color: var(--ivory); }

.approach { background: var(--ivory); }
.approach__intro { display: grid; grid-template-columns: 1.45fr .55fr; gap: clamp(3rem, 9vw, 10rem); align-items: end; margin-bottom: clamp(6rem, 10vw, 10rem); }
.approach__intro p { max-width: 30rem; margin: 0 0 .5rem; color: #555d60; font-size: 1.05rem; line-height: 1.85; }

.principles { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--limestone); }
.principles li { display: grid; grid-template-columns: 4rem minmax(12rem, .9fr) 1.25fr; gap: 2rem; padding: 2.2rem 0; border-bottom: 1px solid var(--limestone); }
.principles li > span { color: var(--sun); font-size: .65rem; font-weight: 600; letter-spacing: .08em; }
.principles h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.7rem, 2.5vw, 2.6rem); font-weight: 500; line-height: 1; }
.principles p { max-width: 42rem; margin: 0; color: #5f6668; line-height: 1.75; }

.services { background: #ddd7cc; }
.services__header { display: grid; grid-template-columns: 1.55fr .55fr; gap: clamp(3rem, 9vw, 10rem); align-items: end; margin-bottom: clamp(6rem, 10vw, 10rem); }
.services__header > p { max-width: 28rem; margin: 0 0 .5rem; color: #555d60; line-height: 1.8; }

.service-columns { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(16, 24, 32, .22); border-bottom: 1px solid rgba(16, 24, 32, .22); }
.service-column { padding: clamp(3rem, 5vw, 5rem) clamp(2rem, 5vw, 5.5rem) clamp(3rem, 5vw, 5rem) 0; }
.service-column--owners { padding-right: 0; padding-left: clamp(2rem, 5vw, 5.5rem); border-left: 1px solid rgba(16, 24, 32, .22); }
.service-column h3 { max-width: 17ch; margin: 0 0 3rem; font-family: var(--serif); font-size: clamp(2rem, 3.1vw, 3.4rem); font-weight: 500; letter-spacing: -.02em; line-height: 1; }
.services .eyebrow { color: #744b17; }
.service-column ul { margin: 0 0 2rem; padding: 0; list-style: none; }
.service-column li { display: flex; gap: 1rem; align-items: center; padding: .9rem 0; border-top: 1px solid rgba(16, 24, 32, .15); font-size: .9rem; }
.service-column li::before { content: ""; width: .33rem; aspect-ratio: 1; background: var(--sun); border-radius: 50%; }
.service-note { margin: 2rem 0 0; color: #606668; font-size: .76rem; line-height: 1.7; }
.text-link--ink { width: fit-content; margin-top: 2.25rem; }

.promise { position: relative; display: grid; min-height: min(52rem, 88svh); place-items: center; overflow: hidden; }
.promise > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.promise__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16,24,32,.9), rgba(16,24,32,.5) 70%, rgba(16,24,32,.22)); }
.promise__content { position: relative; z-index: 1; width: min(100%, 77rem); padding: 7rem var(--page-pad); color: var(--ivory); }
.promise blockquote { max-width: 18ch; margin: 0; font-family: var(--serif); font-size: clamp(3.1rem, 6vw, 6.8rem); font-weight: 500; letter-spacing: -.035em; line-height: .92; }

.about { background: var(--ivory); }
.about__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(4rem, 10vw, 11rem); align-items: center; }
.about__copy { align-self: start; }
.about__lead { max-width: 34rem; margin: 3.5rem 0 1.5rem; font-family: var(--serif); font-size: clamp(1.6rem, 2.4vw, 2.45rem); line-height: 1.2; }
.about__copy > p:last-child { max-width: 33rem; color: #5d6466; line-height: 1.85; }
.about__image { margin: 0; }
.about__image img { display: block; width: 100%; aspect-ratio: .95; object-fit: cover; }
.about__image figcaption { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1rem; color: var(--slate); font-size: .62rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }

.contact { color: var(--ivory); background: var(--ink); }
.contact .section-label { color: rgba(242,239,232,.55); }
.contact .section-label span { color: var(--sun-light); border-color: rgba(242,239,232,.18); }
.contact .section-label::after { background: rgba(242,239,232,.15); }
.contact__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(4rem, 10vw, 12rem); }
.contact__intro { position: sticky; top: 8rem; align-self: start; }
.contact__intro > p { max-width: 32rem; margin: 3rem 0; color: rgba(242,239,232,.62); line-height: 1.8; }
.contact-methods { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; }
.contact-methods > a { font-family: var(--serif); font-size: clamp(1.55rem, 2.5vw, 2.35rem); line-height: 1.25; }
.contact-methods > a:hover { color: var(--sun-light); }
.contact-methods p { margin: 1.25rem 0 0; color: rgba(242,239,232,.5); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.contact-methods p a { color: var(--ivory); }

.contact-form { display: grid; gap: 1.65rem; }
.form-row--split { display: grid; grid-template-columns: 1fr 1fr; gap: 1.65rem; }
.field { position: relative; display: flex; flex-direction: column; }
.field label { margin-bottom: .55rem; color: rgba(242,239,232,.72); font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.field label span { color: rgba(242,239,232,.38); font-weight: 400; }
.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 3.5rem;
  padding: .75rem 0;
  color: var(--ivory);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(242,239,232,.25);
  border-radius: 0;
  font: inherit;
  font-size: 1rem;
}
.field textarea { min-height: 7rem; resize: vertical; }
.field select { appearance: auto; color-scheme: dark; }
.field input:focus,
.field select:focus,
.field textarea:focus { outline: 0; border-color: var(--sun-light); box-shadow: 0 1px 0 var(--sun-light); }
.field [aria-invalid="true"] { border-color: #f1a69c; }
.field-error { min-height: 1.15rem; padding-top: .3rem; color: #f1b2aa; font-size: .72rem; }
.consent { display: grid; grid-template-columns: 1.15rem 1fr; gap: .75rem; align-items: start; }
.consent input { width: 1.05rem; height: 1.05rem; margin-top: .28rem; accent-color: var(--sun); }
.consent label { color: rgba(242,239,232,.58); font-size: .76rem; line-height: 1.6; }
.consent .field-error { grid-column: 2; }
.form-submit-row { display: flex; gap: 1.5rem; align-items: center; margin-top: .5rem; }
.form-submit-row .button { min-width: 13rem; border: 0; cursor: pointer; }
.form-submit-row .button:disabled { cursor: wait; opacity: .58; }
.form-status { flex: 1; margin: 0; color: rgba(242,239,232,.65); font-size: .78rem; line-height: 1.5; }
.form-status[data-state="success"] { color: #d1dcb3; }
.form-status[data-state="error"] { color: #f1b2aa; }
.honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px,1px,1px,1px) !important; white-space: nowrap !important; }
.noscript-form-message { padding: 1rem; border: 1px solid rgba(242,239,232,.25); }
.noscript-form-message + .contact-form { display: none; }

.site-footer { padding: clamp(5rem, 8vw, 8rem) var(--page-pad) 2rem; color: var(--ivory); background: #0a1117; }
.site-footer__brand { display: flex; justify-content: space-between; gap: 3rem; align-items: start; padding-bottom: clamp(5rem, 9vw, 9rem); }
.site-footer__brand > p { margin: 0; font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 4rem); line-height: .95; text-align: right; }
.wordmark--footer { color: var(--ivory); }
.site-footer__links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4rem; padding: 3rem 0; border-top: 1px solid rgba(242,239,232,.14); }
.site-footer__links > div { display: flex; flex-direction: column; align-items: flex-start; gap: .45rem; }
.site-footer__links p { margin: 0 0 1.15rem; color: var(--sun-light); font-size: .65rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.site-footer__links a,
.site-footer__links span { color: rgba(242,239,232,.65); font-size: .82rem; }
.site-footer__links a:hover { color: var(--ivory); }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 2rem; padding-top: 2rem; border-top: 1px solid rgba(242,239,232,.14); color: rgba(242,239,232,.68); font-size: .68rem; }
.site-footer__bottom p { margin: 0; }
.site-footer__bottom div { display: flex; gap: 1.5rem; }

.mobile-menu {
  position: fixed;
  z-index: 50;
  inset: 0;
  display: flex;
  flex-direction: column;
  padding: 2rem var(--page-pad);
  color: var(--ivory);
  background: var(--ink);
  visibility: hidden;
  transform: translateY(-100%);
  transition: transform .6s var(--ease), visibility .6s;
}
.mobile-menu.is-open { visibility: visible; transform: translateY(0); }
.mobile-menu__top { display: flex; justify-content: space-between; align-items: center; }
.mobile-menu__close { position: relative; width: 3rem; height: 3rem; color: inherit; background: transparent; border: 0; cursor: pointer; }
.mobile-menu__close span { position: absolute; top: 50%; left: .5rem; width: 2rem; height: 1px; background: currentColor; transform: rotate(45deg); }
.mobile-menu__close span + span { transform: rotate(-45deg); }
.mobile-menu nav { display: grid; gap: .3rem; margin: auto 0; }
.mobile-menu nav a { display: flex; gap: 1.5rem; align-items: baseline; padding: .3rem 0; font-family: var(--serif); font-size: clamp(3.5rem, 11vw, 6rem); line-height: .95; }
.mobile-menu nav a span { color: var(--sun-light); font-family: var(--sans); font-size: .58rem; letter-spacing: .12em; }
.mobile-menu__footer { display: flex; justify-content: space-between; gap: 2rem; align-items: end; padding-top: 1.5rem; border-top: 1px solid rgba(242,239,232,.18); }
.mobile-menu__footer a { color: var(--sun-light); font-size: .73rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.mobile-menu__footer p { margin: 0; color: rgba(242,239,232,.45); font-size: .6rem; letter-spacing: .12em; text-align: right; text-transform: uppercase; }
.nav-open, .modal-open { overflow: hidden; }
.noscript-nav { position: absolute; z-index: 30; top: 5.5rem; left: 0; display: flex; width: 100%; gap: 1rem; padding: .75rem var(--page-pad); color: var(--ivory); background: var(--ink); font-size: .7rem; }

.residence-dialog {
  width: min(92vw, 78rem);
  max-width: none;
  max-height: 92svh;
  padding: 0;
  color: var(--ivory);
  background: var(--ink);
  border: 0;
  overflow: auto;
}
.residence-dialog::backdrop { background: rgba(5, 9, 12, .82); backdrop-filter: blur(6px); }
.residence-dialog[open] { display: grid; grid-template-columns: 1.15fr .85fr; }
.residence-dialog__close { position: absolute; z-index: 2; top: 1rem; right: 1rem; width: 3.4rem; aspect-ratio: 1; color: var(--ink); background: var(--ivory); border: 0; border-radius: 50%; cursor: pointer; }
.residence-dialog__close span { position: absolute; top: 50%; left: .85rem; width: 1.7rem; height: 1px; background: currentColor; transform: rotate(45deg); }
.residence-dialog__close span + span { transform: rotate(-45deg); }
.residence-dialog__image-wrap { min-height: 42rem; }
.residence-dialog__image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.residence-dialog__content { align-self: center; padding: clamp(3rem, 5vw, 5.5rem); }
.residence-dialog__content h2 { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 5vw, 5.8rem); font-weight: 500; letter-spacing: -.04em; line-height: .88; }
.dialog-location { margin: 1rem 0 0; color: rgba(242,239,232,.56); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; }
.dialog-types { margin: 3rem 0 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(242,239,232,.18); }
.dialog-types > p { color: var(--sun-light); font-size: .65rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.dialog-types ul { margin: 0; padding: 0; list-style: none; }
.dialog-types li { display: flex; justify-content: space-between; gap: 2rem; padding: .8rem 0; border-bottom: 1px solid rgba(242,239,232,.12); font-size: .82rem; }
.dialog-types li span:last-child { color: rgba(242,239,232,.5); }
.dialog-note { color: rgba(242,239,232,.47); font-size: .7rem; line-height: 1.6; }
.residence-dialog .button { width: fit-content; margin-top: 1rem; }

.reveal { opacity: 1; transform: none; }
.motion-ready .reveal { opacity: 0; transform: translateY(2rem); transition: opacity .85s var(--ease), transform .85s var(--ease); }
.motion-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes hero-in {
  from { opacity: 0; transform: translateY(2rem); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes hero-image-in {
  from { opacity: .35; transform: scale(1.04); }
  to { opacity: 1; transform: scale(1); }
}

:focus-visible { outline: 2px solid var(--sun-light); outline-offset: 4px; }

@media (max-width: 1020px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav, .header-cta { display: none; }
  .menu-toggle { display: grid; gap: .42rem; padding: .75rem 0 .75rem .75rem; color: inherit; background: none; border: 0; }
  .menu-toggle span { display: block; width: 1.8rem; height: 1px; background: currentColor; }
  .hero { grid-template-columns: 1fr; min-height: 100svh; }
  .hero__image-wrap { position: absolute; inset: 0; }
  .hero__image-wrap::after { background: linear-gradient(90deg, rgba(16, 24, 32, .94) 0%, rgba(16, 24, 32, .72) 60%, rgba(16, 24, 32, .35) 100%), linear-gradient(0deg, rgba(16,24,32,.65), transparent 40%); }
  .hero__copy { min-height: 100svh; padding-right: 16vw; }
  .hero__image-wrap figcaption { display: none; }
  .solar-mark { right: 5%; opacity: .7; }
  .brand-intro__body { grid-template-columns: 6rem 1fr; }
  .brand-intro__copy { grid-column: 2; }
  .section-heading-row,
  .approach__intro,
  .services__header { grid-template-columns: 1fr; gap: 2.5rem; }
  .section-heading-row p,
  .approach__intro p,
  .services__header > p { margin-left: auto; }
  .residence-card--1 { grid-column: 1 / span 8; }
  .residence-card--2 { grid-column: 9 / span 4; padding-top: 5rem; }
  .residence-card--3 { grid-column: 1 / span 5; }
  .residence-card--4 { grid-column: 6 / span 7; }
  .residence-card--5 { grid-column: 1 / span 8; }
  .residence-card--6 { grid-column: 9 / span 4; padding-top: 6rem; }
  .principles li { grid-template-columns: 3rem minmax(12rem, .85fr) 1.15fr; }
  .contact__grid { grid-template-columns: 1fr; gap: 6rem; }
  .contact__intro { position: static; }
}

@media (max-width: 620px) {
  .site-header { min-height: 5.5rem; }
  .wordmark__name { font-size: 1.65rem; }
  .wordmark__descriptor { display: none; }
  .hero__copy { justify-content: flex-end; padding: 8rem var(--page-pad) 8rem; }
  .hero h1 { font-size: clamp(3.9rem, 19vw, 5.75rem); }
  .hero__intro { font-size: .98rem; line-height: 1.65; }
  .hero__actions { align-items: flex-start; flex-direction: column; gap: 1.35rem; }
  .button { width: 100%; max-width: 19rem; }
  .solar-mark { top: 17%; right: -2.5rem; width: 8rem; }
  .solar-mark::after { left: -1rem; width: 10rem; }
  .scroll-cue { display: none; }
  .preview-intro h2 { font-size: clamp(3.3rem, 16vw, 4.8rem); }
  .section { padding-top: 6rem; padding-bottom: 6rem; }
  .section-label { grid-template-columns: 2.6rem 1fr; margin-bottom: 3.5rem; }
  .section-label::after { display: none; }
  .brand-intro { min-height: 0; }
  .brand-intro__body { display: block; }
  .sunline { width: 5.8rem; margin: 0 0 3.5rem; }
  .brand-intro__copy { margin: 2.5rem 0 0; }
  .display-heading { font-size: clamp(3.3rem, 16vw, 5rem); }
  .section-heading-row { margin-bottom: 4rem; }
  .section-heading-row p,
  .approach__intro p,
  .services__header > p { margin-left: 0; }
  .residence-grid { display: block; }
  .residence-card { margin-bottom: 4rem; padding: 0; }
  .residence-card--1 .residence-card__image-wrap,
  .residence-card--2 .residence-card__image-wrap,
  .residence-card--3 .residence-card__image-wrap,
  .residence-card--4 .residence-card__image-wrap,
  .residence-card--5 .residence-card__image-wrap,
  .residence-card--6 .residence-card__image-wrap { aspect-ratio: .9; }
  .residence-card__meta { align-items: start; }
  .residence-card__meta strong { font-size: 1.8rem; }
  .residence-card__location { max-width: 8rem; font-size: .58rem; }
  .residence-card__arrow { transform: scale(1); opacity: 1; }
  .inventory-note { margin-top: 1rem; }
  .approach__intro,
  .services__header { margin-bottom: 4.5rem; }
  .principles li { grid-template-columns: 2rem 1fr; gap: 1rem; padding: 1.8rem 0; }
  .principles p { grid-column: 2; }
  .service-columns { grid-template-columns: 1fr; }
  .service-column { padding: 3rem 0; }
  .service-column--owners { border-top: 1px solid rgba(16,24,32,.22); border-left: 0; }
  .promise { min-height: 42rem; }
  .promise > img { object-position: 58% center; }
  .about__grid { grid-template-columns: 1fr; gap: 4.5rem; }
  .about__lead { margin-top: 2.5rem; }
  .about__image { margin-left: 9vw; }
  .about__image img { aspect-ratio: .8; }
  .form-row--split { grid-template-columns: 1fr; gap: 1.65rem; }
  .form-submit-row { align-items: stretch; flex-direction: column; }
  .form-submit-row .button { width: 100%; }
  .site-footer__brand { flex-direction: column; }
  .site-footer__brand > p { text-align: left; }
  .site-footer__links { grid-template-columns: 1fr 1fr; gap: 3rem 1.5rem; }
  .site-footer__links > div:last-child { grid-column: 1 / -1; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; }
  .mobile-menu__footer p { display: none; }
  .residence-dialog[open] { display: block; }
  .residence-dialog__image-wrap { min-height: 16rem; height: 34svh; }
  .residence-dialog__content { padding: 2.5rem 1.5rem; }
  .residence-dialog__content h2 { font-size: 3.2rem; }
  .residence-dialog .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; }
  .hero h1, .hero__intro, .hero__actions, .hero__image { animation: none; }
}

.legal-page { background: var(--ivory); }
.legal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 6rem;
  padding: 0 var(--page-pad);
  color: var(--ivory);
  background: var(--ink);
}
.legal-back { display: inline-flex; gap: .55rem; align-items: center; font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.legal-main { width: min(100%, 62rem); margin: 0 auto; padding: clamp(6rem, 11vw, 10rem) var(--page-pad); }
.legal-main .eyebrow { margin-bottom: 1.2rem; }
.legal-main .eyebrow { color: #744b17; }
.legal-main h1 { margin: 0 0 1rem; font-family: var(--serif); font-size: clamp(4rem, 9vw, 7.5rem); font-weight: 500; letter-spacing: -.045em; line-height: .9; }
.legal-updated { margin: 0 0 4rem; color: #515a5d; font-size: .76rem; }
.legal-copy { max-width: 48rem; }
.legal-copy h2 { margin: 3rem 0 1rem; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.legal-copy p { color: #515a5d; line-height: 1.85; }
.legal-copy a { color: #8e5f22; text-decoration: underline; text-underline-offset: .2em; }
.error-page { display: grid; min-height: 100svh; place-items: center; padding: var(--page-pad); color: var(--ivory); background: var(--ink); text-align: center; }
.error-page h1 { margin: 0; font-family: var(--serif); font-size: clamp(5rem, 20vw, 13rem); font-weight: 500; line-height: .8; }
.error-page p { max-width: 32rem; color: rgba(242,239,232,.65); }
.error-page .button { margin-top: 1rem; }

/* V2 — radiant architecture hero */
:root {
  --night: #071018;
  --night-2: #0c1620;
  --peach: #ff9e74;
  --electric: #a48bff;
  --aqua: #66e6db;
}

.site-header {
  top: 1.15rem;
  left: 50%;
  width: min(calc(100% - 2.3rem), 78rem);
  min-height: 4.55rem;
  padding: 0 1.3rem 0 1.55rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(7,16,24,.54);
  box-shadow: 0 1.5rem 5rem rgba(0,0,0,.16);
  backdrop-filter: blur(22px) saturate(135%);
  transform: translateX(-50%);
}
.site-header::before { content: ""; position: absolute; top: -1px; left: 2%; width: 20%; height: 2px; border-radius: 999px; background: linear-gradient(90deg,transparent,var(--peach) 25%,var(--electric) 54%,var(--aqua) 78%,transparent); box-shadow: 0 0 .75rem rgba(164,139,255,.7),0 0 1.25rem rgba(102,230,219,.32); opacity: .78; animation: header-current 5.2s ease-in-out infinite; pointer-events: none; }

.site-header.is-scrolled {
  top: .7rem;
  min-height: 4.15rem;
  background: rgba(7,16,24,.82);
  border-color: rgba(255,255,255,.13);
}

.wordmark__name { font-family: var(--sans); font-size: 1.22rem; font-weight: 700; letter-spacing: .23em; }
.site-header .wordmark__name, .mobile-menu__top .wordmark__name { position: relative; display: inline-block; color: transparent; background: linear-gradient(100deg,#fffaf2 0%,#ff9e74 19%,#d4afff 40%,#66e6db 62%,#fffaf2 82%,#ffad88 100%); background-size: 215% 100%; background-clip: text; -webkit-background-clip: text; animation: wordmark-current 4.8s linear infinite; filter: drop-shadow(0 0 .25rem rgba(164,139,255,.22)); }
.site-header .wordmark__name::after, .mobile-menu__top .wordmark__name::after { content: ""; position: absolute; right: .23em; bottom: -.38rem; left: 0; height: 2px; border-radius: 999px; background: linear-gradient(90deg,var(--peach),var(--electric),var(--aqua)); box-shadow: 0 0 .7rem rgba(164,139,255,.72); transform-origin: left center; animation: wordmark-trace 4.8s ease-in-out infinite; }
.wordmark__descriptor { color: rgba(255,255,255,.58); }
.header-cta { padding: .76rem 1.08rem; border: 0; border-radius: 999px; background: rgba(255,255,255,.1); }
.header-cta:hover, .header-cta:focus-visible { background: var(--ivory); }

.hero {
  --pointer-x: 64%;
  --pointer-y: 38%;
  grid-template-columns: minmax(0, 1fr) minmax(26rem, .92fr);
  gap: clamp(2rem, 4vw, 6rem);
  align-items: center;
  min-height: max(50rem, 100svh);
  padding: 9rem var(--page-pad) 7rem;
  background:
    radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(164,139,255,.18), transparent 20rem),
    linear-gradient(135deg, #071018 0%, #0b1420 58%, #071018 100%);
  isolation: isolate;
}

.hero__light-field { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.hero__stardust { position: absolute; z-index: 0; top: 0; right: 0; left: 0; display: block; width: 100%; height: 100svh; max-height: 100%; opacity: .72; pointer-events: none; transition: opacity 1.15s ease; -webkit-mask-image: linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%); mask-image: linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%); }
.hero__stardust-glints { position: absolute; z-index: 0; top: 0; right: 0; left: 0; height: 100svh; max-height: 100%; overflow: hidden; opacity: .8; pointer-events: none; -webkit-mask-image: linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%); mask-image: linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%); }
.hero__stardust-glints i { position: absolute; display: block; width: 3px; height: 3px; border-radius: 50%; background: var(--glint-color); box-shadow: 0 0 7px 2px var(--glint-color); opacity: .18; transform: translate(-50%,-50%) scale(.55); animation: star-glint 4s ease-in-out infinite; }
.intro-pending .hero__stardust, .intro-pending .hero__stardust-glints { opacity: 0; }
@keyframes star-glint { 0%,100% { opacity: .16; transform: translate(-50%,-50%) scale(.55); } 50% { opacity: .85; transform: translate(-50%,-50%) scale(1.4); } }
.hero.is-offscreen .hero__stardust-glints i, .hero.is-offscreen .hero__beam, .hero.is-offscreen .hero__orbit, .hero.is-offscreen .hero-art, .hero.is-offscreen .hero-art::after, .hero.is-offscreen .hero-art__scene, .hero.is-offscreen .hero-art__glow-image, .hero.is-offscreen .hero-art__halo, .hero.is-offscreen .hero-art__route, .hero.is-offscreen .hero-art__beacon, .hero.is-offscreen .hero-art__reflection, .hero.is-offscreen .hero__flow > i { animation-play-state: paused !important; }
.hero__beam { position: absolute; display: block; width: 72rem; height: 15rem; filter: blur(2px); opacity: .76; }
.hero__beam--one {
  top: -9rem;
  right: -20rem;
  background: linear-gradient(90deg, transparent, rgba(102,230,219,.24) 16%, rgba(164,139,255,.6) 49%, rgba(255,158,116,.8) 74%, transparent);
  transform: rotate(31deg);
  animation: beam-drift 11s ease-in-out infinite alternate;
}
.hero__beam--two {
  right: -20rem;
  bottom: -10rem;
  width: 58rem;
  height: 10rem;
  background: linear-gradient(90deg, transparent, rgba(164,139,255,.42), rgba(255,158,116,.52), transparent);
  filter: blur(20px);
  transform: rotate(-22deg);
  animation: beam-drift 14s -4s ease-in-out infinite alternate-reverse;
}
.hero__glow { position: absolute; top: 10%; right: 8%; width: 28rem; aspect-ratio: 1; border-radius: 50%; background: rgba(164,139,255,.12); filter: blur(90px); }
.hero__grid {
  position: absolute;
  inset: 0;
  opacity: .26;
  background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 5rem 5rem;
  mask-image: linear-gradient(90deg, transparent 3%, #000 40%, #000 95%, transparent), linear-gradient(0deg, transparent, #000 22%, #000 88%, transparent);
}

.hero__copy { position: relative; z-index: 3; padding: 1rem 0 3rem; }
.hero h1 { max-width: none; font-family: var(--sans); font-size: clamp(4.5rem, 6.4vw, 7.7rem); font-weight: 500; letter-spacing: -.075em; line-height: .82; }
.hero h1 > span { display: block; }
.hero h1 > span:first-child { white-space: nowrap; }
.hero h1 .hero__accent { width: max-content; font-family: var(--serif); font-size: 1.09em; font-weight: 500; letter-spacing: -.055em; }
.hero h1 em {
  color: transparent;
  font-weight: 500;
  background: linear-gradient(100deg, #f5d6ba 5%, #ff9e74 39%, #c99bff 72%, #73e8df 110%);
  background-clip: text;
  -webkit-background-clip: text;
}
.hero__intro { max-width: 34rem; margin-top: 2.35rem; color: rgba(242,239,232,.68); font-size: clamp(1rem, 1.15vw, 1.12rem); line-height: 1.7; }
.hero__actions { margin-top: 2rem; }
.hero .button--sun { color: var(--night); background: var(--ivory); border-radius: 999px; box-shadow: 0 .8rem 2.5rem rgba(0,0,0,.25); transition: transform .3s var(--ease), box-shadow .3s ease, background .3s ease; }
.hero .button--sun:hover { background: #fff; box-shadow: 0 1rem 3rem rgba(164,139,255,.24); transform: translateY(-3px); }
.hero .text-link { padding: .7rem .1rem; }

.hero__stage {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  z-index: 2;
  width: min(100%, 42rem);
  justify-self: end;
  perspective: 1000px;
  transform: rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition: transform .6s var(--ease);
}
.hero__stage::before { content: ""; position: absolute; z-index: -2; inset: 8% 5% -4% 8%; border-radius: 3rem; background: rgba(164,139,255,.2); filter: blur(36px); }
.hero__orbit { position: absolute; z-index: -1; inset: -11% -12%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transform: rotate(-13deg); animation: orbit-breathe 6s ease-in-out infinite alternate; }
.hero__orbit::before { content: ""; position: absolute; inset: 9%; border: 1px dashed rgba(255,158,116,.22); border-radius: inherit; }
.hero__orbit span { position: absolute; width: .68rem; aspect-ratio: 1; border-radius: 50%; background: var(--peach); box-shadow: 0 0 1.7rem rgba(255,158,116,.95); }
.hero__orbit span:first-child { top: 13%; left: 16%; }
.hero__orbit span:last-child { right: 6%; bottom: 25%; background: var(--aqua); box-shadow: 0 0 1.7rem rgba(102,230,219,.95); }
.hero-art { position: relative; width: 96%; margin: 0 auto; aspect-ratio: .88; isolation: isolate; animation: stage-in 1.2s .18s both var(--ease); }
.hero-art::before { content: ""; position: absolute; z-index: -2; inset: 13% 2% 1%; border: 1px solid rgba(255,255,255,.13); border-radius: 47% 53% 48% 52%; background: radial-gradient(circle at 56% 46%,rgba(255,255,255,.1),transparent 38%),linear-gradient(145deg,rgba(164,139,255,.15),rgba(102,230,219,.03) 55%,rgba(255,158,116,.1)); box-shadow: inset 0 0 4rem rgba(255,255,255,.035),0 2.8rem 7rem rgba(0,0,0,.24); backdrop-filter: blur(10px); transform: rotate(-5deg); }
.hero-art::after { content: ""; position: absolute; z-index: -1; inset: 18% 0 8% 9%; border-radius: 50%; background: conic-gradient(from 145deg,rgba(102,230,219,.24),transparent 23%,rgba(255,158,116,.27) 48%,transparent 68%,rgba(164,139,255,.34)); filter: blur(34px); opacity: .72; animation: art-aura 8s ease-in-out infinite alternate; }
.hero-art__halo { position: absolute; z-index: -1; top: 17%; left: 15%; width: 70%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 5rem rgba(164,139,255,.11),inset 0 0 4rem rgba(102,230,219,.05); animation: halo-breathe 7s ease-in-out infinite; }
.hero-art__route { position: absolute; z-index: 1; inset: 17% -2% 8% 5%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transform: rotate(-18deg); animation: property-route-loop 22s linear infinite; }
.hero-art__route::before, .hero-art__route::after { content: ""; position: absolute; width: .62rem; aspect-ratio: 1; border-radius: 50%; }
.hero-art__route::before { top: 5%; left: 31%; background: var(--peach); box-shadow: 0 0 1.5rem rgba(255,158,116,.95); }
.hero-art__route::after { right: 8%; bottom: 23%; background: var(--aqua); box-shadow: 0 0 1.5rem rgba(102,230,219,.95); }
.hero-art__scene { position: absolute; z-index: 2; top: -7%; left: 4%; width: 92%; transform-origin: 50% 55%; animation: property-world-float 9s ease-in-out infinite; }
.hero-art__image { display: block; width: 100%; height: auto; filter: drop-shadow(0 2.4rem 2.4rem rgba(0,0,0,.36)) drop-shadow(0 0 2.8rem rgba(102,230,219,.09)); transition: filter .6s ease; }
.hero-art__glow-image { position: absolute; inset: 0; width: 100%; height: auto; opacity: .74; filter: saturate(1.65) brightness(1.3) blur(1.4px); mix-blend-mode: screen; -webkit-mask-image: linear-gradient(to bottom,transparent 0%,transparent 40%,#000 48%,transparent 57%,transparent 100%); mask-image: linear-gradient(to bottom,transparent 0%,transparent 40%,#000 48%,transparent 57%,transparent 100%); -webkit-mask-size: 100% 240%; mask-size: 100% 240%; -webkit-mask-position: 0 130%; mask-position: 0 130%; animation: property-light-sweep 6.8s ease-in-out infinite; pointer-events: none; }
.hero__stage:hover .hero-art__image { filter: drop-shadow(0 3rem 3rem rgba(0,0,0,.42)) drop-shadow(0 0 3.5rem rgba(102,230,219,.16)); }
.hero-art__beacon { position: absolute; width: .62rem; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.88); border-radius: 50%; background: var(--peach); box-shadow: 0 0 0 .4rem rgba(255,158,116,.1),0 0 1.2rem rgba(255,158,116,.95); animation: property-beacon 2.8s ease-in-out infinite; }
.hero-art__beacon--city { top: 21%; left: 29%; }
.hero-art__beacon--valley { top: 46%; left: 73%; background: var(--electric); box-shadow: 0 0 0 .4rem rgba(164,139,255,.1),0 0 1.2rem rgba(164,139,255,.95); animation-delay: -.9s; }
.hero-art__beacon--south { top: 72%; left: 51%; background: var(--aqua); box-shadow: 0 0 0 .4rem rgba(102,230,219,.1),0 0 1.2rem rgba(102,230,219,.95); animation-delay: -1.8s; }
.hero-art__reflection { position: absolute; z-index: -1; right: 12%; bottom: 3%; left: 14%; height: 8%; border-radius: 50%; background: radial-gradient(ellipse,rgba(231,211,255,.28),rgba(102,230,219,.1) 35%,transparent 72%); filter: blur(15px); animation: reflection-breathe 7.5s ease-in-out infinite; }
.hero__image-wrap { position: relative; width: 82%; margin: 0 4% 0 auto; aspect-ratio: .82; border: 1px solid rgba(255,255,255,.28); border-radius: 1.8rem; box-shadow: 0 3rem 7rem rgba(0,0,0,.42); transform: rotate(2.5deg); animation: stage-in 1.2s .18s both var(--ease); }
.hero__image-wrap::before { content: ""; position: absolute; z-index: 3; inset: .7rem; border: 1px solid rgba(255,255,255,.2); border-radius: 1.22rem; pointer-events: none; }
.hero__image-wrap::after { background: linear-gradient(0deg, rgba(7,16,24,.72), transparent 45%); }
.hero__image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 52% center; animation: none; transition: transform 1.4s var(--ease); }
.hero__stage:hover .hero__image { transform: scale(1.035); }
.hero__image-wrap figcaption { right: 1.7rem; bottom: 1.5rem; left: 1.7rem; justify-content: space-between; }


.hero__flow { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; height: clamp(6rem,10vw,9rem); overflow: hidden; opacity: .82; pointer-events: none; -webkit-mask-image: linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%); mask-image: linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%); }
.hero__flow::before { content: ""; position: absolute; right: 8%; bottom: -80%; left: 8%; height: 135%; border-radius: 50%; background: radial-gradient(ellipse,rgba(164,139,255,.13),rgba(102,230,219,.045) 42%,transparent 72%); filter: blur(18px); }
.hero__flow canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.hero__flow > i { position: absolute; top: 30%; left: -8%; width: 13rem; height: 1px; border-radius: 999px; background: linear-gradient(90deg,transparent,var(--peach),var(--electric),var(--aqua),transparent); box-shadow: 0 0 1.3rem rgba(164,139,255,.72); opacity: .5; animation: hero-flow-bloom 9s ease-in-out infinite; }
.scroll-cue { bottom: 7.8rem; }

@keyframes beam-drift { to { transform: translate3d(-5rem, 2rem, 0) rotate(27deg) scale(1.08); } }
@keyframes signal-pulse { 50% { opacity: .6; box-shadow: 0 0 0 .55rem rgba(102,230,219,.05), 0 0 2.2rem rgba(102,230,219,.9); } }
@keyframes orbit-breathe { to { transform: rotate(-6deg) scale(1.04); } }
@keyframes stage-in { from { opacity: 0; transform: translate3d(2rem,3rem,0) rotate(5deg) scale(.94); } to { opacity: 1; transform: rotate(0) scale(1); } }
@keyframes art-aura { to { opacity: .95; transform: translate3d(-1rem,.75rem,0) scale(1.05) rotate(8deg); } }
@keyframes halo-breathe { 50% { opacity: .68; transform: scale(1.045); } }
@keyframes reflection-breathe { 50% { opacity: .62; transform: scaleX(.84) translateY(.35rem); } }
@keyframes property-world-float { 0%,100% { transform: translate3d(0,-.35rem,0) rotate(-.65deg) scale(1); } 50% { transform: translate3d(.4rem,.8rem,0) rotate(.75deg) scale(1.015); } }
@keyframes property-light-sweep { 0%,12% { -webkit-mask-position: 0 135%; mask-position: 0 135%; opacity: 0; } 28% { opacity: .8; } 72% { opacity: .8; } 88%,100% { -webkit-mask-position: 0 -125%; mask-position: 0 -125%; opacity: 0; } }
@keyframes property-route-loop { to { transform: rotate(342deg); } }
@keyframes property-beacon { 50% { opacity: .58; transform: scale(.72); } }
@keyframes header-current { 0%,8% { left: 2%; opacity: .32; transform: scaleX(.55); } 38% { opacity: 1; transform: scaleX(1); } 84%,100% { left: 78%; opacity: .18; transform: scaleX(.58); } }
@keyframes wordmark-current { 0% { background-position: 115% 50%; filter: drop-shadow(0 0 .2rem rgba(255,158,116,.22)); } 42% { filter: drop-shadow(0 0 .7rem rgba(164,139,255,.56)); } 68% { filter: drop-shadow(0 0 .58rem rgba(102,230,219,.46)); } 100% { background-position: -90% 50%; filter: drop-shadow(0 0 .2rem rgba(255,158,116,.2)); } }
@keyframes wordmark-trace { 0%,8% { opacity: .25; transform: translateX(0) scaleX(.12); } 38% { opacity: 1; transform: translateX(0) scaleX(1); } 72% { opacity: .82; transform: translateX(45%) scaleX(.5); } 100% { opacity: 0; transform: translateX(105%) scaleX(.08); } }
@keyframes slow-zoom { to { transform: scale(1.055); } }
@keyframes float-card { 50% { transform: translateY(-.65rem); } }
@keyframes hero-flow-bloom { 0%,100% { left: -10%; opacity: .12; transform: scaleX(.5); } 42% { opacity: .6; transform: scaleX(1.18); } 78% { left: 92%; opacity: .28; transform: scaleX(.7); } }

@media (max-width: 1020px) {
  .site-header { width: calc(100% - 2rem); }
  .hero { grid-template-columns: 1fr 1fr; gap: 1.5rem; min-height: max(47rem, 100svh); padding-top: 8.5rem; }
  .hero__copy { min-height: 0; padding: 0 0 4rem; }
  .hero h1 { font-size: clamp(3.6rem, 7.6vw, 5rem); }
  .hero-art { width: 100%; }
  .hero__image-wrap { position: relative; inset: auto; width: 88%; }
  .hero__image-wrap::after { background: linear-gradient(0deg, rgba(7,16,24,.72), transparent 45%); }
  .hero__image-wrap figcaption { display: flex; }
}

@media (max-width: 740px) {
  .site-header { top: .75rem; width: calc(100% - 1.5rem); min-height: 4.25rem; padding: 0 1rem 0 1.2rem; }
  .site-header.is-scrolled { top: .5rem; min-height: 4rem; }
  .hero { display: flex; flex-direction: column; gap: 1.6rem; min-height: auto; padding: 7.75rem 1rem 6.1rem; }
  .hero__grid { background-size: 3.25rem 3.25rem; opacity: .2; }
  .hero__beam--one { top: -8rem; right: -31rem; height: 12rem; }
  .hero__copy { width: 100%; padding: 0 .2rem; }
  .hero h1 { max-width: none; font-size: clamp(3.05rem, 13.2vw, 4rem); line-height: .82; animation: none; }
  .hero h1 .hero__accent { font-size: 1.02em; }
  .hero__intro { max-width: 31rem; margin-top: 1.6rem; font-size: .96rem; }
  .hero__actions { flex-direction: row; gap: 1.2rem; align-items: center; margin-top: 1.6rem; }
  .hero .button { width: auto; min-height: 3.3rem; padding: .72rem 1rem; font-size: .65rem; }
  .hero .text-link { font-size: .65rem; }
  .hero__stage { width: 100%; margin-top: .3rem; padding-bottom: .4rem; }
  .hero__stage::before { inset: 8% 8% 0; }
  .hero-art { width: min(100%,31rem); margin-inline: auto; aspect-ratio: .94; }
  .hero-art__scene { top: -3%; left: 10%; width: 80%; }
  .hero-art::before { inset: 15% 8% 5%; }
  .hero__orbit { inset: -7% -3%; }
  .hero__image-wrap { width: 83%; margin: 0 auto; aspect-ratio: 1.02; border-radius: 1.3rem; transform: rotate(1.5deg); }
  .hero__image-wrap::before { inset: .48rem; border-radius: .9rem; }
  .hero__image-wrap figcaption { right: 1.1rem; bottom: 1rem; left: 1.1rem; font-size: .48rem; }
  .hero__flow { height: 7rem; opacity: .7; }
  .hero-art__glow-image { display: none; }
  .hero-art::after { animation: none; }
  .hero-art::before { backdrop-filter: none; }
  .hero__beam { animation: none; }
  .site-header { backdrop-filter: blur(10px); }
  .scroll-cue { display: none; }
}

@media (max-width: 410px) {
  .hero { padding-inline: .8rem; }
  .hero h1 { font-size: clamp(2.9rem, 12.9vw, 3.35rem); }
  .hero__actions { align-items: flex-start; flex-direction: column; gap: .45rem; }
  .hero .button { width: 100%; max-width: none; }
  .hero__stage { margin-top: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero__beam, .hero__orbit, .hero__image, .hero-art, .hero-art::after, .hero-art__scene, .hero-art__glow-image, .hero-art__halo, .hero-art__route, .hero-art__beacon, .hero-art__reflection, .hero__flow > i, .hero__stardust-glints i, .site-header .wordmark__name, .mobile-menu__top .wordmark__name, .site-header::before, .site-header .wordmark__name::after, .mobile-menu__top .wordmark__name::after { animation: none !important; }
  .site-header::before, .site-header .wordmark__name::after, .mobile-menu__top .wordmark__name::after { opacity: 0; }
  .hero__stage { transform: none !important; }
}

/* V2 — complete experience */
body { background: var(--night); }
main { position: relative; overflow: clip; }
.page-progress { position: fixed; z-index: 110; top: 0; right: 0; left: 0; height: 2px; pointer-events: none; }
.page-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--aqua), var(--electric), var(--peach)); transform: scaleX(0); transform-origin: left; will-change: transform; }

.section { position: relative; padding: clamp(7.5rem, 11vw, 11rem) var(--page-pad); }
.section-label { grid-template-columns: auto auto 1fr; gap: .75rem; margin-bottom: clamp(4rem, 7vw, 6.5rem); }
.section-label span { width: auto; min-width: 2.3rem; padding: .42rem .62rem; aspect-ratio: auto; border-radius: 999px; }
.section-label::after { margin-left: 1rem; }
.display-heading { font-family: var(--sans); font-size: clamp(3.8rem, 6.8vw, 7.7rem); font-weight: 500; letter-spacing: -.07em; line-height: .88; }
.display-heading em { font-family: var(--serif); font-weight: 500; letter-spacing: -.045em; }

.brand-intro {
  min-height: 56rem;
  color: var(--night);
  background:
    radial-gradient(circle at 85% 14%, rgba(164,139,255,.23), transparent 23rem),
    radial-gradient(circle at 15% 86%, rgba(255,158,116,.18), transparent 25rem),
    #f4f0e9;
  border-radius: 0 0 4rem 4rem;
}
.brand-intro::before { content: ""; position: absolute; top: 0; right: 7%; width: 36%; height: 1px; background: linear-gradient(90deg, transparent, var(--electric)); }
.brand-intro__body { grid-template-columns: minmax(7rem,.28fr) minmax(0,1.6fr) minmax(18rem,.48fr); gap: clamp(2.5rem, 5vw, 6rem); align-items: center; }
.brand-intro .display-heading { font-size: clamp(4.3rem, 7.4vw, 8.4rem); }
.brand-intro .display-heading em { color: #875cf4; }
.brand-intro__copy { margin: 0; color: #48505a; }
.sunline { border-color: rgba(7,16,24,.2); animation: orbit-breathe 6s ease-in-out infinite alternate; }
.sunline::after { right: -7rem; left: -2rem; background: linear-gradient(90deg, var(--peach), var(--electric)); }
.sunline span { background: var(--electric); box-shadow: 0 0 1.5rem rgba(164,139,255,.65); }
.care-constellation { position: relative; isolation: isolate; min-height: 15rem; margin-top: clamp(5rem,8vw,8rem); padding: clamp(2rem,4vw,3.4rem); overflow: hidden; border: 1px solid rgba(7,16,24,.1); border-radius: 2.25rem; background: linear-gradient(145deg,rgba(255,255,255,.44),rgba(247,242,255,.3)); box-shadow: 0 2rem 5rem rgba(52,38,89,.07),inset 0 1px rgba(255,255,255,.62); }
.care-constellation::before { content: ""; position: absolute; z-index: -2; inset: -40%; background: radial-gradient(circle at 20% 45%,rgba(255,158,116,.24),transparent 19%),radial-gradient(circle at 50% 30%,rgba(164,139,255,.22),transparent 20%),radial-gradient(circle at 82% 48%,rgba(102,230,219,.21),transparent 18%); filter: blur(24px); opacity: .66; animation: constellation-breathe 8s ease-in-out infinite alternate; }
.brand-intro:not(.is-motion-live) .sunline, .brand-intro:not(.is-motion-live) .care-constellation::before { animation-play-state: paused; }
.care-constellation::after { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .23; background-image: radial-gradient(circle,rgba(86,62,150,.38) 0 1px,transparent 1.3px); background-size: 23px 23px; -webkit-mask-image: linear-gradient(to bottom,#000,transparent 72%); mask-image: linear-gradient(to bottom,#000,transparent 72%); }
.care-constellation__aurora { position: absolute; z-index: 0; top: 2.15rem; right: 6%; left: 6%; height: 6.5rem; pointer-events: none; }
.care-constellation__aurora::before { content: ""; position: absolute; top: 53%; right: 7%; left: 7%; height: 45%; border-top: 1px solid rgba(109,86,184,.3); border-radius: 50% 50% 0 0; transform: translateY(-50%); }
.care-constellation__aurora i { position: absolute; top: 50%; left: -22%; width: 28%; height: 2px; border-radius: 999px; background: linear-gradient(90deg,transparent,var(--peach),var(--electric),var(--aqua),transparent); box-shadow: 0 0 1rem rgba(164,139,255,.5),0 0 2.3rem rgba(102,230,219,.24); opacity: 0; transform: rotate(-3deg); }
.care-constellation__aurora span { position: absolute; top: 42%; width: .58rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: var(--peach); box-shadow: 0 0 0 .35rem rgba(255,158,116,.08),0 0 1.4rem rgba(255,158,116,.68); transform: translate(-50%,-50%); }
.care-constellation__aurora span:nth-of-type(1) { left: 16.66%; }
.care-constellation__aurora span:nth-of-type(2) { left: 50%; background: var(--electric); box-shadow: 0 0 0 .35rem rgba(164,139,255,.08),0 0 1.4rem rgba(164,139,255,.68); }
.care-constellation__aurora span:nth-of-type(3) { left: 83.33%; background: var(--aqua); box-shadow: 0 0 0 .35rem rgba(102,230,219,.08),0 0 1.4rem rgba(102,230,219,.68); }
.brand-intro.is-motion-live .care-constellation__aurora i { animation: constellation-current 5.8s .1s var(--ease) infinite; }
.brand-intro.is-motion-live .care-constellation__aurora span { animation: constellation-node 3.3s ease-in-out infinite; }
.brand-intro.is-motion-live .care-constellation__aurora span:nth-of-type(2) { animation-delay: -.9s; }
.brand-intro.is-motion-live .care-constellation__aurora span:nth-of-type(3) { animation-delay: -1.8s; }
.care-constellation ol { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,3vw,3rem); margin: 0; padding: 0; list-style: none; }
.care-constellation li { display: grid; justify-items: center; gap: 1.4rem; min-width: 0; color: var(--night); text-align: center; transition: transform .55s var(--ease),opacity .4s ease; }
.care-constellation__orb { position: relative; display: grid; width: clamp(4.8rem,7vw,6.8rem); aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; background: radial-gradient(circle at 36% 30%,rgba(255,255,255,.92),rgba(255,158,116,.36) 20%,rgba(164,139,255,.3) 54%,rgba(102,230,219,.22) 75%,rgba(255,255,255,.16)); box-shadow: inset 0 0 2.5rem rgba(255,255,255,.72),0 .9rem 2.6rem rgba(84,60,140,.12),0 0 0 0 rgba(164,139,255,0); backdrop-filter: blur(8px); transition: transform .55s var(--ease),box-shadow .55s ease; }
.care-constellation__orb::before,.care-constellation__orb::after { content: ""; position: absolute; border: 1px solid rgba(118,85,223,.21); border-radius: 50%; opacity: .36; transform: scale(.82); transition: transform .65s var(--ease),opacity .5s ease; }
.care-constellation__orb::before { inset: -.55rem; }
.care-constellation__orb::after { inset: -1.15rem; border-color: rgba(102,194,190,.16); }
.care-constellation__orb i { width: .58rem; aspect-ratio: 1; border-radius: 50%; background: #fff; box-shadow: 0 0 1rem rgba(255,255,255,.95),0 0 2.2rem rgba(164,139,255,.82); }
.care-constellation li:nth-child(2) .care-constellation__orb { background: radial-gradient(circle at 36% 30%,rgba(255,255,255,.94),rgba(188,162,255,.38) 20%,rgba(111,232,222,.29) 55%,rgba(255,178,141,.2) 78%,rgba(255,255,255,.16)); }
.care-constellation li:nth-child(3) .care-constellation__orb { background: radial-gradient(circle at 36% 30%,rgba(255,255,255,.94),rgba(111,232,222,.38) 20%,rgba(164,139,255,.3) 55%,rgba(255,158,116,.2) 78%,rgba(255,255,255,.16)); }
.care-constellation li p { display: grid; gap: .34rem; margin: 0; padding: .7rem 1rem; border-radius: 1rem; background: rgba(250,247,241,.72); box-shadow: 0 .6rem 2rem rgba(40,30,70,.035); backdrop-filter: blur(9px); }
.care-constellation li small { color: #7655df; font-size: .61rem; font-weight: 700; letter-spacing: .1em; }
.care-constellation li strong { font-size: clamp(.9rem,1.2vw,1.05rem); font-weight: 650; letter-spacing: -.02em; }
.care-constellation li.is-active { transform: translateY(-.35rem); }
.care-constellation li.is-active .care-constellation__orb,.care-constellation li:hover .care-constellation__orb { transform: scale(1.07); box-shadow: inset 0 0 2.5rem rgba(255,255,255,.8),0 1.25rem 3rem rgba(84,60,140,.16),0 0 2.6rem rgba(164,139,255,.24); }
.care-constellation li.is-active .care-constellation__orb::before,.care-constellation li:hover .care-constellation__orb::before { opacity: .7; transform: scale(1.05); }
.care-constellation li.is-active .care-constellation__orb::after,.care-constellation li:hover .care-constellation__orb::after { opacity: .5; transform: scale(1.12); }

@keyframes constellation-current { 0% { left: -24%; opacity: 0; transform: rotate(-3deg) scaleX(.55); } 16% { opacity: .82; } 64% { opacity: .72; } 100% { left: 100%; opacity: 0; transform: rotate(2deg) scaleX(1.15); } }
@keyframes constellation-current-mobile { 0% { top: -24%; opacity: 0; transform: translateX(-50%) scaleY(.55); } 16% { opacity: .82; } 64% { opacity: .72; } 100% { top: 100%; opacity: 0; transform: translateX(-50%) scaleY(1.15); } }
@keyframes constellation-node { 0%,100% { opacity: .55; transform: translate(-50%,-50%) scale(.86); } 50% { opacity: 1; transform: translate(-50%,-50%) scale(1.24); } }
@keyframes constellation-breathe { to { opacity: .88; transform: translate3d(3%,2%,0) rotate(4deg) scale(1.04); } }

.residences { overflow: hidden; background: var(--night); }
.residences::before { content: ""; position: absolute; top: 20%; left: -20rem; width: 42rem; aspect-ratio: 1; border-radius: 50%; background: rgba(164,139,255,.08); filter: blur(90px); pointer-events: none; }
.residences .display-heading em { color: transparent; background: linear-gradient(100deg,#f0c2a2,var(--peach) 45%,#c3a8ff); background-clip: text; -webkit-background-clip: text; }
.section-heading-row { grid-template-columns: minmax(0,1.45fr) minmax(17rem,.4fr); margin-bottom: clamp(3.5rem, 6vw, 6rem); }
.residence-controls { display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; margin-bottom: 2rem; }
.residence-controls p { display: flex; gap: .4rem; align-items: baseline; margin: 0; color: rgba(242,239,232,.4); font-size: .65rem; letter-spacing: .12em; }
.residence-controls p > span { color: var(--ivory); font-size: 1.5rem; letter-spacing: -.03em; }
.residence-controls p small { margin-left: .8rem; color: rgba(242,239,232,.42); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.residence-progress { height: 1px; overflow: hidden; background: rgba(242,239,232,.13); }
.residence-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--peach),var(--electric)); transform: scaleX(.08); transform-origin: left; transition: transform .2s linear; }
.residence-controls > div:last-child { display: flex; gap: .55rem; }
.residence-controls button { display: grid; width: 2.8rem; aspect-ratio: 1; place-items: center; color: var(--ivory); border: 1px solid rgba(242,239,232,.18); border-radius: 50%; background: transparent; cursor: pointer; transition: color .25s ease, background .25s ease, transform .25s var(--ease); }
.residence-controls button:hover, .residence-controls button:focus-visible { color: var(--night); background: var(--ivory); transform: scale(1.06); }
.residence-grid { display: flex; width: calc(100% + (var(--page-pad) * 2)); margin-left: calc(var(--page-pad) * -1); padding: 0 var(--page-pad) 2.5rem; gap: clamp(1.2rem, 2.5vw, 2.6rem); overflow-x: auto; overscroll-behavior-inline: auto; scroll-padding-inline: var(--page-pad); scroll-snap-type: x proximity; scrollbar-width: none; touch-action: pan-x pan-y; -webkit-overflow-scrolling: touch; }
.residence-grid::-webkit-scrollbar { display: none; }
.residence-card { flex: 0 0 min(55vw, 48rem); min-width: 0; padding: 0; scroll-snap-align: start; }
.residence-card:nth-child(3n+2) { flex-basis: min(35vw, 31rem); padding-top: 5rem; }
.residence-card:nth-child(3n) { flex-basis: min(43vw, 38rem); padding-top: 1.5rem; }
.residence-card__button { position: relative; }
.residence-card__image-wrap, .residence-card--1 .residence-card__image-wrap, .residence-card--2 .residence-card__image-wrap, .residence-card--3 .residence-card__image-wrap, .residence-card--4 .residence-card__image-wrap, .residence-card--5 .residence-card__image-wrap, .residence-card--6 .residence-card__image-wrap { aspect-ratio: 1.35; border-radius: 1.7rem; box-shadow: 0 2rem 5rem rgba(0,0,0,.2); }
.residence-card:nth-child(3n+2) .residence-card__image-wrap { aspect-ratio: .9; }
.residence-card__image-wrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(7,16,24,.78),rgba(7,16,24,.14) 52%,rgba(7,16,24,.42)),linear-gradient(115deg,rgba(7,16,24,.25),transparent 56%); opacity: 1; transition: opacity .5s ease; }
.residence-card:hover .residence-card__image-wrap::after, .residence-card:focus-within .residence-card__image-wrap::after { opacity: .72; }
.residence-card__image-wrap img { -webkit-user-drag: none; transform: scale(1.01); transition-duration: 1.1s; }
.residence-card__button:hover img, .residence-card__button:focus-visible img { transform: scale(1.065); filter: saturate(1.04) brightness(.9); }
.residence-card__index { position: absolute; z-index: 2; top: 1.25rem; left: 1.25rem; display: grid; width: 2.6rem; aspect-ratio: 1; place-items: center; color: var(--ivory); border: 1px solid rgba(255,255,255,.38); border-radius: 50%; background: rgba(7,16,24,.2); backdrop-filter: blur(10px); font-size: .58rem; letter-spacing: .08em; }
.residence-card__arrow { z-index: 2; top: 1.25rem; right: 1.25rem; width: 3rem; color: var(--night); background: rgba(244,240,233,.94); }
.residence-card__meta { position: relative; gap: 2rem; padding: 1.25rem .2rem 0; border: 0; }
.residence-card__meta strong { font-family: var(--sans); font-size: clamp(1.35rem,2vw,2.1rem); font-weight: 500; letter-spacing: -.045em; }
.residence-card__meta small { color: #bda8ff; }
.inventory-note { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid rgba(242,239,232,.1); }

.approach { z-index: 1; padding-bottom: calc(clamp(7.5rem, 11vw, 11rem) + 4rem); overflow: hidden; color: var(--night); background: #e9e6ff; border-radius: 4rem 4rem 0 0; }
.approach::after { content: ""; position: absolute; top: 12%; right: -9rem; width: 25rem; aspect-ratio: 1; border: 1px solid rgba(118,85,223,.2); border-radius: 50%; box-shadow: inset 0 0 5rem rgba(164,139,255,.09); pointer-events: none; }
.approach .display-heading em { color: #7655df; }
.approach__intro { grid-template-columns: 1.3fr .45fr; margin-bottom: clamp(4rem,7vw,7rem); }
.approach__intro p { color: #4f5261; }
.principles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; border: 0; }
.principles li { --flow-a: rgba(255,158,116,.62); --flow-b: rgba(164,139,255,.56); --flow-c: rgba(102,230,219,.32); --card-base: linear-gradient(145deg,rgba(255,245,237,.72),rgba(240,231,255,.7)); position: relative; isolation: isolate; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr; gap: 2rem 1.5rem; min-height: 21rem; padding: clamp(2rem,3.4vw,3.6rem); overflow: hidden; border: 1px solid rgba(7,16,24,.08); border-radius: 2rem; background: var(--card-base); box-shadow: 0 2rem 5rem rgba(40,30,80,.05); transition: transform .45s var(--ease), box-shadow .35s ease; }
.principles li::before { content: ""; position: absolute; z-index: -2; inset: -42%; background: radial-gradient(circle at 28% 32%,var(--flow-a),transparent 30%),radial-gradient(circle at 73% 31%,var(--flow-b),transparent 32%),radial-gradient(circle at 54% 76%,var(--flow-c),transparent 34%); filter: blur(17px); opacity: .82; transform: translate3d(-3%,-2%,0) rotate(-8deg) scale(1.08); animation: principle-flow 15s ease-in-out infinite alternate; }
.approach:not(.is-motion-live) .principles li::before, .promise:not(.is-motion-live) .promise__halo i, .contact:not(.is-motion-live) .contact-pulse span { animation-play-state: paused; }
.principles li::after { content: ""; position: absolute; z-index: -1; right: -4rem; bottom: -6rem; width: 13rem; aspect-ratio: 1; border: 1px solid rgba(118,85,223,.16); border-radius: 50%; box-shadow: -8rem -7rem 0 3rem rgba(255,255,255,.12),0 0 4rem rgba(164,139,255,.09); transition: transform .6s var(--ease); }
.principles li > * { position: relative; z-index: 1; }
.principles li:nth-child(2) { --flow-a: rgba(102,230,219,.54); --flow-b: rgba(122,165,255,.56); --flow-c: rgba(198,173,255,.5); --card-base: linear-gradient(150deg,rgba(232,255,252,.72),rgba(232,238,255,.72)); }
.principles li:nth-child(3) { --flow-a: rgba(255,190,122,.6); --flow-b: rgba(255,137,107,.5); --flow-c: rgba(222,184,255,.42); --card-base: linear-gradient(145deg,rgba(255,246,221,.72),rgba(255,229,226,.7)); }
.principles li:nth-child(4) { --flow-a: rgba(192,148,255,.58); --flow-b: rgba(255,159,194,.5); --flow-c: rgba(117,225,219,.4); --card-base: linear-gradient(150deg,rgba(244,231,255,.74),rgba(255,232,245,.68)); }
.principles li:nth-child(2)::before { animation-duration: 18s; animation-direction: alternate-reverse; }
.principles li:nth-child(3)::before { animation-duration: 13s; transform: translate3d(4%,-4%,0) rotate(12deg) scale(1.05); }
.principles li:nth-child(4)::before { animation-duration: 20s; animation-direction: alternate-reverse; }
.principles li:hover { box-shadow: 0 2.5rem 6rem rgba(40,30,80,.1); transform: translateY(-.5rem); }
.principles li:hover::after { transform: scale(1.2) translate(-1rem,-1rem); }
.principles li > span { display: grid; width: 2.4rem; aspect-ratio: 1; place-items: center; color: #7655df; border: 1px solid rgba(118,85,223,.28); border-radius: 50%; }
.principles h3 { align-self: center; font-family: var(--sans); font-size: clamp(1.7rem,2.5vw,2.7rem); font-weight: 500; letter-spacing: -.05em; }
.principles p { grid-column: 2; align-self: end; color: #595b67; }

.services { z-index: 2; margin-top: -4rem; overflow: hidden; background: #f5eee8; border-radius: 4rem 4rem 0 0; box-shadow: 0 -2rem 5rem rgba(63,48,98,.07); }
.services::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: radial-gradient(circle at center, rgba(7,16,24,.28) 1px, transparent 1.5px); background-size: 28px 28px; mask-image: linear-gradient(90deg,transparent,#000 35%,transparent 92%); pointer-events: none; }
.services .display-heading em { color: #d7653f; }
.services__header { grid-template-columns: 1.45fr .4fr; }
.service-columns { position: relative; gap: 1rem; border: 0; }
.service-column { position: relative; min-height: 38rem; padding: clamp(2.2rem,4vw,4.5rem); overflow: hidden; border: 0; border-radius: 2.4rem; }
.service-column:first-child { color: var(--ivory); background: var(--night-2); box-shadow: 0 2.5rem 6rem rgba(7,16,24,.16); }
.service-column:first-child::before { content: ""; position: absolute; top: -8rem; right: -8rem; width: 24rem; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(from 120deg,rgba(102,230,219,.68),rgba(164,139,255,.7),rgba(255,158,116,.58),rgba(102,230,219,.68)); filter: blur(38px); opacity: .5; }
.service-column--owners { padding: clamp(2.2rem,4vw,4.5rem); border: 1px solid rgba(7,16,24,.1); background: rgba(255,255,255,.68); }
.service-column--owners::after { content: ""; position: absolute; right: -5rem; bottom: -5rem; width: 17rem; aspect-ratio: 1; border: 1px solid rgba(215,101,63,.22); border-radius: 50%; box-shadow: inset 0 0 4rem rgba(255,158,116,.12); }
.service-column > * { position: relative; z-index: 1; }
.service-column h3 { max-width: 16ch; font-family: var(--sans); font-size: clamp(2.1rem,3vw,3.4rem); font-weight: 500; letter-spacing: -.05em; }
.service-column:first-child .eyebrow { color: #9cf2e9; }
.service-column:first-child li { border-color: rgba(242,239,232,.14); }
.service-column:first-child li::before { background: var(--aqua); box-shadow: 0 0 1rem rgba(102,230,219,.6); }
.service-column--owners li::before { background: var(--peach); }
.service-note { color: rgba(242,239,232,.53); }

.promise { min-height: min(58rem,90svh); margin: 0 1rem; border-radius: 3.5rem; }
.promise > img { transform: scale(1.08) translateY(calc(var(--page-scroll,0) * -2.2rem)); will-change: transform; }
.promise__overlay { background: linear-gradient(100deg,rgba(7,16,24,.92) 3%,rgba(7,16,24,.55) 61%,rgba(7,16,24,.14)); }
.promise__halo { position: absolute; z-index: 1; top: 50%; right: 9%; width: min(38vw,34rem); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; transform: translateY(-50%); }
.promise__halo i { position: absolute; inset: 15%; border: 1px dashed rgba(255,158,116,.38); border-radius: inherit; animation: halo-spin 30s linear infinite; }
.promise__halo i + i { inset: 39%; border: 0; background: rgba(255,158,116,.24); filter: blur(35px); }
.promise__content { width: min(100%,88rem); }
.promise blockquote { max-width: 16ch; font-family: var(--sans); font-size: clamp(3.2rem,5.7vw,6.5rem); font-weight: 500; letter-spacing: -.065em; }
.promise blockquote::first-letter { font-family: var(--serif); color: var(--peach); }
@keyframes halo-spin { to { transform: rotate(360deg); } }

.about { overflow: hidden; color: var(--ivory); background: var(--night); }
.about::before { content: ""; position: absolute; right: -8rem; bottom: 0; width: 45rem; height: 45rem; border-radius: 50%; background: rgba(102,230,219,.07); filter: blur(90px); }
.about__monogram { position: absolute; top: 8%; right: -2%; color: transparent; font-family: var(--sans); font-size: clamp(8rem,23vw,25rem); font-weight: 700; letter-spacing: -.09em; line-height: .8; -webkit-text-stroke: 1px rgba(242,239,232,.055); pointer-events: none; }
.about .section-label { color: rgba(242,239,232,.55); }
.about .section-label span { color: var(--aqua); border-color: rgba(242,239,232,.18); }
.about .section-label::after { background: rgba(242,239,232,.14); }
.about__grid { position: relative; z-index: 1; grid-template-columns: .8fr 1.2fr; }
.about .display-heading em { color: transparent; background: linear-gradient(100deg,var(--peach),#c5a8ff); background-clip: text; -webkit-background-clip: text; }
.about__lead { font-family: var(--sans); font-weight: 500; letter-spacing: -.035em; }
.about__copy > p:last-child { color: rgba(242,239,232,.58); }
.about__image { position: relative; padding: 1rem; border: 1px solid rgba(242,239,232,.14); border-radius: 50% 50% 2.4rem 2.4rem; }
.about__image::before { content: ""; position: absolute; z-index: -1; inset: 8% -5% -4%; border-radius: inherit; background: linear-gradient(135deg,rgba(164,139,255,.26),rgba(255,158,116,.18)); filter: blur(30px); }
.about__image img { aspect-ratio: .96; border-radius: 50% 50% 1.7rem 1.7rem; }
.about__image figcaption { color: rgba(242,239,232,.48); }

.contact { overflow: hidden; background: #0b1520; border-radius: 4rem 4rem 0 0; }
.contact::before { content: ""; position: absolute; top: -15rem; left: 26%; width: 55rem; height: 32rem; border-radius: 50%; background: conic-gradient(from 90deg,rgba(102,230,219,.18),rgba(164,139,255,.26),rgba(255,158,116,.2),rgba(102,230,219,.18)); filter: blur(75px); opacity: .65; }
.contact__grid { position: relative; z-index: 1; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: clamp(3rem,5vw,6rem); }
.contact .display-heading { max-width: 8.8ch; font-size: clamp(3.7rem,5.25vw,6.4rem); line-height: .9; }
.contact__intro { min-width: 0; }
.contact .display-heading em { color: transparent; background: linear-gradient(95deg,#ffd3b6,var(--peach) 45%,#bea4ff); background-clip: text; -webkit-background-clip: text; }
.contact__intro { top: 7rem; }
.contact-methods { gap: .25rem; }
.contact-methods > a { font-family: var(--sans); font-size: clamp(1.35rem,2.2vw,2.15rem); font-weight: 500; letter-spacing: -.04em; }
.contact-pulse { display: flex; gap: .8rem; align-items: center; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(242,239,232,.12); }
.contact-pulse span { width: .55rem; aspect-ratio: 1; border-radius: 50%; background: var(--aqua); box-shadow: 0 0 1.5rem rgba(102,230,219,.75); animation: signal-pulse 2.6s ease-in-out infinite; }
.contact-pulse p { max-width: 19rem; margin: 0; color: rgba(242,239,232,.48); font-size: .7rem; line-height: 1.55; }
.contact__form-wrap { padding: clamp(1.5rem,3vw,3.2rem); border: 1px solid rgba(242,239,232,.14); border-radius: 2rem; background: rgba(255,255,255,.055); box-shadow: 0 2.5rem 7rem rgba(0,0,0,.18); backdrop-filter: blur(24px); }
.field input, .field select, .field textarea { padding-inline: .25rem; }
.form-submit-row .button { border-radius: 999px; }

.site-footer { background: #060c12; }
.site-footer__brand > p { font-family: var(--sans); font-weight: 500; letter-spacing: -.05em; }

.residence-dialog { border: 1px solid rgba(255,255,255,.15); border-radius: 2.2rem; box-shadow: 0 4rem 9rem rgba(0,0,0,.45); }
.residence-dialog__image-wrap { overflow: hidden; border-radius: 2.2rem 0 0 2.2rem; }
.residence-dialog__content h2 { font-family: var(--sans); font-weight: 500; letter-spacing: -.06em; }
.residence-dialog .button { border-radius: 999px; }

.mobile-menu { height: 100dvh; padding: 1.2rem; overflow: hidden; background: #071018; }
.mobile-menu::before { content: ""; position: absolute; top: -9rem; right: -14rem; width: 35rem; height: 15rem; background: linear-gradient(90deg,rgba(102,230,219,.35),rgba(164,139,255,.58),rgba(255,158,116,.52)); filter: blur(24px); transform: rotate(31deg); opacity: .72; }
.mobile-menu::after { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size: 3.25rem 3.25rem; mask-image: linear-gradient(#000,transparent 78%); pointer-events: none; }
.mobile-menu__top, .mobile-menu nav, .mobile-menu__footer { position: relative; z-index: 1; }
.mobile-menu__top { min-height: 4rem; padding: 0 .25rem 0 .65rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(7,16,24,.48); backdrop-filter: blur(18px); }
.mobile-menu__top .wordmark__name { font-family: var(--sans); font-size: 1.18rem; }
.mobile-menu__close { width: 3.1rem; height: 3.1rem; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.mobile-menu__close span { left: .7rem; width: 1.7rem; }
.mobile-menu nav { gap: .35rem; margin: auto 0; }
.mobile-menu nav a { position: relative; gap: .8rem; align-items: center; padding: .5rem .85rem; overflow: hidden; border: 1px solid transparent; border-radius: 1rem; font-family: var(--sans); font-size: clamp(2.25rem,11vw,4.4rem); font-weight: 500; letter-spacing: -.06em; line-height: 1; opacity: 0; transform: translateY(1.2rem); transition: color .3s ease, border-color .3s ease, background .3s ease, opacity .5s var(--ease), transform .5s var(--ease); }
.mobile-menu.is-open nav a { opacity: 1; transform: translateY(0); }
.mobile-menu.is-open nav a:nth-child(1) { transition-delay: .08s; }
.mobile-menu.is-open nav a:nth-child(2) { transition-delay: .13s; }
.mobile-menu.is-open nav a:nth-child(3) { transition-delay: .18s; }
.mobile-menu.is-open nav a:nth-child(4) { transition-delay: .23s; }
.mobile-menu.is-open nav a:nth-child(5) { transition-delay: .28s; }
.mobile-menu nav a:hover, .mobile-menu nav a:focus-visible { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
.mobile-menu nav a.is-current { border-color: rgba(102,230,219,.22); background: rgba(255,255,255,.055); }
.mobile-menu nav a span { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; color: var(--aqua); border: 1px solid rgba(102,230,219,.3); border-radius: 50%; font-size: .5rem; }
.mobile-menu__footer { align-items: center; padding: 1rem .65rem .2rem; border-top-color: rgba(255,255,255,.14); }
.mobile-menu__footer a { color: #f3c3a5; }

.reveal { opacity: 1; transform: none; }
.motion-ready .reveal { opacity: 0; transform: translateY(2rem); transition: opacity .75s var(--ease), transform .75s var(--ease); }
.motion-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes principle-flow {
  to { opacity: .92; transform: translate3d(8%,7%,0) rotate(10deg) scale(1.16); }
}

@media (max-width: 1020px) {
  .brand-intro__body { grid-template-columns: 5.5rem 1fr; }
  .brand-intro__copy { grid-column: 2; }
  .care-constellation { min-height: 14rem; }
  .residence-card { flex-basis: 68vw; }
  .residence-card:nth-child(3n+2) { flex-basis: 44vw; }
  .principles li { min-height: 19rem; }
  .service-column { min-height: 36rem; }
  .contact__grid { grid-template-columns: 1fr; }
  .contact__intro { position: static; }
}

@media (max-width: 740px) {
  :root { --page-pad: 1rem; }
  .section { padding-top: 5.5rem; padding-bottom: 5.5rem; }
  .section-label { margin-bottom: 3.2rem; }
  .section-label p { font-size: .62rem; }
  .display-heading { font-size: clamp(3.2rem,14.3vw,4.8rem); line-height: .9; }

  .brand-intro { min-height: 0; border-radius: 0 0 2rem 2rem; }
  .brand-intro__body { display: block; }
  .brand-intro .display-heading { font-size: clamp(3.45rem,15vw,5rem); }
  .brand-intro__copy { margin-top: 2.1rem; }
  .sunline { width: 4.8rem; margin-bottom: 2.5rem; }
  .sunline::after { right: -5rem; }
  .care-constellation { min-height: 0; margin-top: 3.7rem; padding: 1.35rem; border-radius: 1.65rem; }
  .care-constellation ol { grid-template-columns: 1fr; gap: .7rem; }
  .care-constellation li { grid-template-columns: 4.5rem 1fr; gap: .8rem; align-items: center; justify-items: stretch; min-height: 6.2rem; text-align: left; }
  .care-constellation__orb { width: 3.55rem; margin-left: .26rem; backdrop-filter: none; }
  .care-constellation__orb::before { inset: -.35rem; }
  .care-constellation__orb::after { inset: -.7rem; }
  .care-constellation li p { position: relative; z-index: 2; justify-self: stretch; padding: .8rem 1rem; background: rgba(250,247,241,.9); backdrop-filter: none; }
  .care-constellation::before, .principles li::before { animation: none; }
  .care-constellation li.is-active { transform: translateX(.25rem); }
  .care-constellation__aurora { top: 1.35rem; right: auto; bottom: 1.35rem; left: 1.35rem; width: 4.5rem; height: auto; }
  .care-constellation__aurora::before { top: 7%; right: auto; bottom: 7%; left: 50%; width: 1px; height: auto; border-top: 0; border-left: 1px solid rgba(109,86,184,.3); border-radius: 0; transform: none; }
  .care-constellation__aurora i { top: -22%; left: 50%; width: 2px; height: 26%; background: linear-gradient(180deg,transparent,var(--peach),var(--electric),var(--aqua),transparent); transform: translateX(-50%); }
  .brand-intro.is-motion-live .care-constellation__aurora i { animation-name: constellation-current-mobile; animation-duration: 5.8s; }
  .care-constellation__aurora span { left: 50% !important; }
  .care-constellation__aurora span:nth-of-type(1) { top: 16.66%; }
  .care-constellation__aurora span:nth-of-type(2) { top: 50%; }
  .care-constellation__aurora span:nth-of-type(3) { top: 83.33%; }

  .section-heading-row { display: block; margin-bottom: 2.5rem; }
  .section-heading-row p { max-width: 29rem; margin: 2rem 0 0; font-size: .95rem; }
  .residence-controls { grid-template-columns: auto 1fr; gap: 1rem; }
  .residence-controls p small { display: none; }
  .residence-controls > div:last-child { display: none; }
  .residence-grid { width: calc(100% + 2rem); margin-left: -1rem; padding: 0 1rem 1.5rem; gap: .8rem; scroll-padding-inline: 1rem; }
  .residence-card, .residence-card:nth-child(3n+2), .residence-card:nth-child(3n) { flex: 0 0 84vw; padding-top: 0; margin: 0; }
  .residence-card__image-wrap, .residence-card--1 .residence-card__image-wrap, .residence-card--2 .residence-card__image-wrap, .residence-card--3 .residence-card__image-wrap, .residence-card--4 .residence-card__image-wrap, .residence-card--5 .residence-card__image-wrap, .residence-card--6 .residence-card__image-wrap, .residence-card:nth-child(3n+2) .residence-card__image-wrap { aspect-ratio: .84; border-radius: 1.25rem; }
  .residence-card__meta { align-items: start; padding-top: 1rem; }
  .residence-card__meta strong { font-size: 1.35rem; }
  .residence-card__meta small { font-size: .55rem; }
  .residence-card__location { max-width: 7rem; }
  .residence-card__index { top: .85rem; left: .85rem; }
  .residence-card__arrow { top: .85rem; right: .85rem; }

  .approach { padding-bottom: 7.5rem; border-radius: 2rem 2rem 0 0; }
  .approach__intro { display: block; margin-bottom: 3.5rem; }
  .approach__intro p { margin-top: 2rem; }
  .principles { grid-template-columns: 1fr; }
  .principles li { grid-template-columns: auto 1fr; min-height: 18rem; padding: 1.7rem; border-radius: 1.5rem; }
  .principles p { grid-column: 2; }

  .services { margin-top: -2rem; border-radius: 2rem 2rem 0 0; }
  .services__header { display: block; margin-bottom: 3.5rem; }
  .services__header > p { margin-top: 2rem; }
  .service-columns { grid-template-columns: 1fr; }
  .service-column, .service-column--owners { min-height: 0; padding: 2rem 1.4rem 2.4rem; border-radius: 1.6rem; }
  .service-column--owners { border: 1px solid rgba(7,16,24,.1); }
  .service-column h3 { font-size: 2.25rem; }

  .promise { min-height: 43rem; margin: .7rem; border-radius: 2rem; }
  .promise__overlay { background: linear-gradient(0deg,rgba(7,16,24,.92) 5%,rgba(7,16,24,.55) 74%,rgba(7,16,24,.22)); }
  .promise__content { align-self: end; padding: 4rem 1.3rem; }
  .promise blockquote { font-size: clamp(2.7rem,12.5vw,4rem); }
  .promise__halo { top: 25%; right: -18%; width: 78vw; }

  .about__monogram { top: 10%; right: -7%; font-size: 34vw; }
  .about__grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .about__lead { margin-top: 2rem; font-size: 1.45rem; }
  .about__image { margin: 0 .8rem 0 0; padding: .55rem; border-radius: 50% 50% 1.5rem 1.5rem; }
  .about__image img { aspect-ratio: .84; border-radius: 50% 50% 1.1rem 1.1rem; }

  .contact { border-radius: 2rem 2rem 0 0; }
  .contact__grid { gap: 4rem; }
  .contact .display-heading { max-width: 9ch; font-size: clamp(3.1rem,13vw,4.6rem); }
  .contact__intro > p { margin: 2rem 0; }
  .contact__form-wrap { padding: 1.35rem 1rem; border-radius: 1.4rem; }
  .form-row--split { grid-template-columns: 1fr; }
  .form-submit-row { align-items: stretch; flex-direction: column; }
  .site-footer__brand { padding-bottom: 4rem; }
  .site-footer__brand > p { font-size: 2.4rem; }
  .residence-dialog { width: calc(100vw - 1rem); max-height: calc(100svh - 1rem); border-radius: 1.4rem; }
  .residence-dialog__image-wrap { border-radius: 1.4rem 1.4rem 0 0; }
}

@media (max-width: 410px) {
  .display-heading { font-size: clamp(3rem,14vw,3.8rem); }
  .residence-card, .residence-card:nth-child(3n+2), .residence-card:nth-child(3n) { flex-basis: 88vw; }
  .principles li { min-height: 17rem; grid-template-columns: 2.4rem 1fr; gap: 1.3rem 1rem; }
  .principles h3 { font-size: 1.75rem; }
  .principles p { font-size: .9rem; }
  .contact-methods > a { font-size: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .site-intro { display: none !important; }
  .sunline, .promise__halo i, .contact-pulse span, .principles li::before, .care-constellation::before, .care-constellation__aurora i, .care-constellation__aurora span { animation: none !important; }
  .promise > img { transform: scale(1.03); }
  .motion-ready .reveal { opacity: 1; filter: none; transform: none; }
}
