@charset "UTF-8";
/* ==========================================================================
   bizz.creative — Obsidian Liquid design layer
   --------------------------------------------------------------------------
   A progressive enhancement skin loaded after the core and editorial styles.
   Brand accents remain admin-controlled; all chrome/glass colours are semantic.
   ========================================================================== */

:root {
  --c-bg: #050812;
  --c-bg-subtle: #080d1a;
  --c-surface: #0d1424;
  --c-surface-elev: #121c30;
  --c-surface-hover: #18243b;
  --c-contrast: #080f20;
  --c-fg: #f7f9ff;
  --c-fg-secondary: #c3cce0;
  --c-fg-muted: #8f9bb5;
  --c-border: rgba(226, 234, 251, .105);
  --c-border-strong: rgba(232, 239, 255, .22);
  --glass-bg: rgba(13, 20, 36, .54);
  --glass-bg-strong: rgba(10, 16, 30, .76);
  --glass-line: rgba(238, 243, 255, .16);
  --glass-shine: rgba(255, 255, 255, .34);
  --metal-0: #111827;
  --metal-1: #7e8da9;
  --metal-2: #eef3ff;
  --metal-3: #6e86b6;
  --metal-gradient: linear-gradient(125deg, #fbfdff 0%, #7d8ca7 21%, #f5f8ff 38%, var(--c-accent-soft) 55%, #6f7f9c 73%, #f6f9ff 100%);
  --liquid-shadow: 0 34px 100px -46px rgba(0, 0, 0, .96), 0 18px 45px -28px var(--c-accent-a45);
  --glass-shadow: 0 24px 75px -42px rgba(0, 0, 0, .9), inset 0 1px rgba(255, 255, 255, .075);
  --r-sm: 11px;
  --r-md: 17px;
  --r-lg: 26px;
  --r-xl: 38px;
  --header-h: 72px;
  --wrap: 1360px;
  --t-display: clamp(3.2rem, 1.45rem + 5.2vw, 6.45rem);
  --t-h1: clamp(2.7rem, 1.3rem + 4.15vw, 5.35rem);
  --t-h2: clamp(2.1rem, 1.25rem + 2.9vw, 4.15rem);
}

html {
  background: var(--c-bg);
  color-scheme: dark;
  overflow-x: clip;
}

body {
  background:
    radial-gradient(70rem 42rem at 88% -12%, var(--c-accent-a20), transparent 65%),
    radial-gradient(48rem 36rem at -8% 34%, rgba(99, 86, 185, .105), transparent 67%),
    linear-gradient(180deg, #060a15 0%, #050812 34%, #070b16 100%);
}

body::before {
  opacity: .34;
  background-image:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.07), transparent 38%),
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: auto, 82px 82px, 82px 82px;
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.48) 68%, transparent 100%);
}

main { position: relative; }
main::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(38rem 28rem at 17% 62%, var(--c-accent-a07), transparent 72%),
    radial-gradient(34rem 26rem at 88% 82%, rgba(113, 93, 208, .075), transparent 74%);
}

h1, h2, h3, h4 {
  font-variation-settings: 'wght' 430;
  letter-spacing: -.048em;
}

h1, h2 { text-wrap: balance; }
p { text-wrap: pretty; }
.lead { color: var(--c-fg-secondary); }

/* Glass primitives ------------------------------------------------------ */
.liquid-glass,
.hero-stats,
.service-tile,
.value-card,
.quote,
.plan,
.addon,
.form-card,
.property-filter,
.booking-info,
.property-detail__aside,
.contact-item,
.accordion__item,
.media-card,
.package-builder__group,
.package-builder__preset,
.estimate {
  border-color: var(--glass-line);
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.012) 34%, transparent 60%),
    var(--glass-bg);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(24px) saturate(138%);
  backdrop-filter: blur(24px) saturate(138%);
}

.section {
  padding-block: clamp(5rem, 4rem + 6vw, 10rem);
}

.cms-section > .section::before {
  border-top-color: rgba(235,241,255,.075);
}

.section--base { background: transparent; }
.section--subtle {
  background:
    radial-gradient(48rem 30rem at 8% 4%, var(--c-accent-a10), transparent 72%),
    radial-gradient(44rem 28rem at 100% 95%, rgba(105, 86, 198, .075), transparent 76%),
    rgba(7, 11, 22, .38);
}
.section--panel {
  background:
    linear-gradient(180deg, rgba(15,23,42,.72), rgba(8,13,25,.64)),
    radial-gradient(42rem 25rem at 80% 0%, var(--c-accent-a10), transparent 72%);
}
.section--contrast {
  background:
    radial-gradient(52rem 32rem at 78% 0%, var(--c-accent-a20), transparent 72%),
    radial-gradient(35rem 26rem at 8% 100%, rgba(118,94,211,.1), transparent 72%),
    linear-gradient(145deg, #0b1427, #050812 78%);
}

.section-head { position: relative; }
.section-head h2,
.cta-panel h2,
.package-builder__title {
  color: transparent;
  background: linear-gradient(104deg, #ffffff 0%, #d6dfef 46%, #8fa3c7 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.section-head p { color: var(--c-fg-secondary); }
.eyebrow {
  color: #a9b5cd;
  font-size: .68rem;
  letter-spacing: .23em;
}
.eyebrow::before {
  height: 1px;
  background: linear-gradient(90deg, var(--metal-2), var(--c-accent), transparent);
  box-shadow: 0 0 14px var(--c-accent-a45);
}

/* Header --------------------------------------------------------------- */
.header {
  top: 12px;
  width: min(calc(100% - 28px), 1420px);
  margin: 0 auto;
  border: 1px solid rgba(236, 242, 255, .11);
  border-radius: 21px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), transparent 34%),
    rgba(7, 11, 21, .66);
  box-shadow: 0 16px 58px -35px rgba(0,0,0,.88), inset 0 1px rgba(255,255,255,.06);
  -webkit-backdrop-filter: blur(26px) saturate(145%);
  backdrop-filter: blur(26px) saturate(145%);
}
.header[data-stuck='true'] {
  background:
    linear-gradient(135deg, rgba(255,255,255,.065), transparent 34%),
    rgba(6, 10, 20, .88);
  border-color: rgba(236,242,255,.16);
}
.header__inner { min-height: var(--header-h); }
.brand__mark {
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 10px 28px -14px rgba(0,0,0,.95), inset 0 1px rgba(255,255,255,.12);
}
.brand__name {
  color: #f8faff;
  font-weight: 540;
}
.brand__name b { color: var(--c-accent-soft); }
.nav__link {
  position: relative;
  color: #b9c3d7;
}
.nav__link::after {
  content: '';
  position: absolute;
  left: .8rem;
  right: .8rem;
  bottom: .35rem;
  height: 1px;
  background: var(--metal-gradient);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 220ms var(--e-out);
}
.nav__link:hover::after,
.nav__link[aria-current='page']::after { transform: scaleX(1); }
.lang {
  isolation: isolate;
}
.lang__toggle::after {
  content: '';
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(255,255,255,.06), transparent 42%, var(--c-accent-a07));
  pointer-events: none;
}
.lang__option[aria-current='true'] .lang__option-code {
  color: var(--c-accent-soft);
}

/* Buttons -------------------------------------------------------------- */
.btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 52px;
  padding-inline: 1.55rem;
  border-radius: 16px;
  font-weight: 650;
  border-color: rgba(237,242,255,.18);
}
.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(112deg, transparent 18%, rgba(255,255,255,.42) 47%, transparent 73%);
  transform: translateX(-125%);
  transition: transform 560ms var(--e-out);
}
.btn:hover::before { transform: translateX(125%); }
.btn--primary {
  color: #070b14;
  border-color: rgba(255,255,255,.42);
  background:
    linear-gradient(180deg, rgba(255,255,255,.36), transparent 45%),
    linear-gradient(120deg, #dce7fb 0%, var(--c-accent-soft) 34%, var(--c-accent) 70%, #7894cb 100%);
  box-shadow: 0 18px 45px -20px var(--c-accent-a45), inset 0 1px rgba(255,255,255,.72);
}
.btn--primary:hover {
  color: #050812;
  transform: translateY(-2px);
  box-shadow: 0 24px 55px -22px var(--c-accent-a45), inset 0 1px rgba(255,255,255,.8);
}
.btn--ghost {
  color: var(--c-fg);
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), transparent 54%),
    rgba(12,18,31,.56);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow: inset 0 1px rgba(255,255,255,.06);
}
.btn--ghost:hover { background-color: rgba(25,35,57,.76); border-color: rgba(237,242,255,.28); }

/* Hero ----------------------------------------------------------------- */
.hero--editorial {
  min-height: max(720px, calc(100svh - 34px));
  margin-top: calc(-1 * var(--header-h) - 14px);
  padding-top: calc(var(--header-h) + clamp(4.5rem, 7vw, 7.5rem));
  padding-bottom: clamp(3rem, 5vw, 5.5rem);
  background:
    radial-gradient(44rem 34rem at 78% 44%, var(--c-accent-a14), transparent 72%),
    radial-gradient(32rem 28rem at 16% 75%, rgba(107,89,205,.085), transparent 73%),
    linear-gradient(115deg, rgba(5,8,18,.15), rgba(5,8,18,.76) 72%),
    var(--c-bg);
}
.hero__ambient { z-index: 0; }
.hero__ambient::before {
  inset: calc(var(--header-h) + 34px) max(14px, 2.2vw) 2.4%;
  border-color: rgba(236,242,255,.095);
  border-radius: clamp(30px,4vw,58px);
  background:
    linear-gradient(145deg, rgba(255,255,255,.035), transparent 30%),
    rgba(8,13,26,.14);
  box-shadow: inset 0 1px rgba(255,255,255,.045);
}
.liquid-metal-canvas,
.liquid-metal-fallback {
  position: absolute;
  top: 9%;
  right: -4%;
  width: min(68vw, 980px);
  height: 88%;
  opacity: .83;
  filter: saturate(1.1) contrast(1.04);
  transform: translateZ(0);
}
.liquid-metal-canvas { z-index: 1; }
.liquid-metal-fallback {
  z-index: 0;
  opacity: .38;
  filter: blur(1px);
  background:
    radial-gradient(ellipse at 58% 48%, rgba(232,239,255,.7) 0 4%, transparent 5%),
    radial-gradient(ellipse at 53% 48%, var(--c-accent-a45), rgba(103,119,155,.23) 31%, transparent 62%);
  -webkit-mask-image: radial-gradient(ellipse at 60% 50%, #000 0 26%, rgba(0,0,0,.62) 39%, transparent 67%);
  mask-image: radial-gradient(ellipse at 60% 50%, #000 0 26%, rgba(0,0,0,.62) 39%, transparent 67%);
}
.liquid-metal--fallback .liquid-metal-fallback { opacity: .8; }
.hero__ambient-orb--one { opacity: .28; filter: blur(20px); }
.hero__ambient-orb--two { opacity: .34; filter: blur(22px); }
.hero__grid-plane { opacity: .18; }
.hero__inner {
  position: relative;
  z-index: 4;
  grid-template-columns: minmax(0,1.02fr) minmax(430px,.98fr);
  gap: clamp(2.5rem,5vw,6rem);
  min-height: min(680px, calc(100svh - 165px));
}
.hero__copy {
  padding: clamp(1.5rem, 3.5vw, 3.25rem) 0;
}
.hero__signal { margin-bottom: clamp(1.45rem,2vw,2.25rem); }
.hero__signal .badge {
  min-height: 34px;
  padding-inline: .85rem;
  border: 1px solid rgba(235,241,255,.16);
  background:
    linear-gradient(145deg, rgba(255,255,255,.08), transparent),
    rgba(11,18,32,.58);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow: inset 0 1px rgba(255,255,255,.08);
}
.hero__studio-mark { color: #a3aec4; }
.hero__eyebrow { color: #a5b1c8; }
.hero__title {
  max-width: 11.5ch;
  margin-bottom: clamp(1.45rem,2.5vw,2.25rem);
  font-weight: 390;
  line-height: .93;
  letter-spacing: -.07em;
  text-shadow: 0 20px 70px rgba(0,0,0,.42);
}
.hero__title > .split-line:first-child > span {
  color: transparent;
  background: linear-gradient(104deg, #ffffff 0%, #d8e0ef 55%, #97a7c4 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.hero__title em {
  width: auto;
  color: transparent;
  background: var(--metal-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 16px 32px var(--c-accent-a28));
  text-shadow: none;
}
.hero__title em > span { font-size: .78em; font-weight: 330; }
.hero__title em::after {
  height: 2px;
  background: linear-gradient(90deg, rgba(255,255,255,.85), var(--c-accent), transparent 94%);
  box-shadow: 0 0 18px var(--c-accent-a45);
}
.hero__lead {
  max-width: 54ch;
  color: #c4cde0;
  font-size: clamp(1.01rem,.95rem + .25vw,1.16rem);
}
.hero__disciplines { color: #9da9c1; }
.hero-stats {
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.065), transparent 50%),
    rgba(10,16,30,.48);
}
.hero-stats__value {
  color: transparent;
  background: linear-gradient(110deg,#fff,#9fb1d0);
  -webkit-background-clip: text;
  background-clip: text;
}

.hero-scene {
  z-index: 4;
  filter: drop-shadow(0 35px 65px rgba(0,0,0,.44));
}
.hero-scene__halo {
  background: radial-gradient(circle at 50% 48%, rgba(230,237,255,.16), var(--c-accent-a20) 31%, transparent 70%);
  filter: blur(22px);
}
.hero-scene__orbit {
  border-color: rgba(228,237,255,.22);
  box-shadow: 0 0 60px var(--c-accent-a07), inset 0 0 30px rgba(255,255,255,.025);
}
.hero-scene__frame {
  border-color: rgba(240,245,255,.34);
  border-radius: 22px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.1),transparent),
    #080d18;
  box-shadow: var(--liquid-shadow), inset 0 1px rgba(255,255,255,.14);
}
.hero-scene__frame::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(118deg, rgba(255,255,255,.16), transparent 25%, transparent 72%, var(--c-accent-a14));
  mix-blend-mode: screen;
}
.hero-scene__frame img,
.hero-scene__frame video { filter: saturate(.94) contrast(1.03) brightness(.88); }
.hero-scene__frame-label {
  border-color: rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(7,11,20,.58);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
.hero-scene__monogram {
  color: #fff;
  text-shadow: 0 7px 32px rgba(0,0,0,.92), 0 0 36px var(--c-accent-a28);
}
.hero__foot { color: #9ba7bf; }

/* Services and process ------------------------------------------------- */
.services-grid { gap: clamp(.9rem,1.4vw,1.25rem); }
.service-tile {
  border: 1px solid var(--glass-line);
  border-radius: 28px;
  background:
    radial-gradient(22rem 17rem at 105% 105%, var(--c-accent-a14), transparent 67%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.012) 42%, transparent 68%),
    rgba(12,19,34,.62);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(22px) saturate(130%);
  backdrop-filter: blur(22px) saturate(130%);
}
.service-tile::before {
  border-color: rgba(225,234,253,.14);
  box-shadow: 0 0 0 34px rgba(255,255,255,.018), 0 0 0 70px var(--c-accent-a07);
}
.service-tile::after {
  content: '';
  position: absolute;
  left: 12%;
  right: 12%;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);
  opacity: .45;
}
.service-tile:hover {
  border-color: rgba(235,242,255,.27);
  transform: translateY(-7px);
  box-shadow: 0 32px 76px -44px rgba(0,0,0,.95), 0 22px 52px -36px var(--c-accent-a45), inset 0 1px rgba(255,255,255,.09);
}
.service-tile__icon {
  border-color: rgba(236,242,255,.18);
  color: #e9effc;
  background:
    linear-gradient(145deg,rgba(255,255,255,.12),transparent),
    rgba(255,255,255,.035);
  box-shadow: inset 0 1px rgba(255,255,255,.09), 0 14px 35px -24px var(--c-accent-a45);
}
.service-tile__num { color: #9eabc3; }
.service-tile h3 { color: #f6f8fd; }
.service-tile p { color: #aeb9cf; }
.service-tile__link { color: var(--c-accent-soft); }

.process {
  border: 1px solid var(--glass-line);
  border-radius: 30px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),transparent 42%),
    rgba(10,16,29,.52);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  overflow: hidden;
}
.process__step { padding-inline: clamp(1.4rem,2.5vw,2.35rem); }
.process__step::before { color: #afbdd5; }
.process__step::after {
  background: var(--metal-2);
  box-shadow: 0 0 0 6px var(--c-accent-a14), 0 0 22px var(--c-accent-a45);
}
.process__step h3 { color: #f5f7fc; }
.process__step p { color: #aeb9ce; }

/* Portfolio ------------------------------------------------------------ */
.work-grid { gap: clamp(1rem,1.7vw,1.45rem); }
.work-card,
.work-card--wide,
.work-card--tall {
  isolation: isolate;
  border: 1px solid rgba(237,243,255,.18);
  background: #080d19;
  box-shadow: 0 32px 90px -52px rgba(0,0,0,.98), inset 0 1px rgba(255,255,255,.07);
}
.work-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  border-radius: inherit;
  border: 1px solid transparent;
  background: linear-gradient(125deg,rgba(255,255,255,.58),transparent 19%,transparent 68%,var(--c-accent-a30)) border-box;
  mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: .38;
}
.work-card__media::after {
  background:
    linear-gradient(180deg,rgba(3,6,12,.01),rgba(3,6,12,.06) 42%,rgba(3,6,12,.92)),
    linear-gradient(118deg,rgba(255,255,255,.08),transparent 24%,transparent 68%,var(--c-accent-a14));
}
.work-card__media img,
.work-card__media video { filter: saturate(.82) contrast(1.04) brightness(.82); }
.work-card:hover {
  border-color: rgba(241,246,255,.32);
  box-shadow: 0 44px 105px -55px rgba(0,0,0,.98), 0 22px 56px -38px var(--c-accent-a45);
}
.work-card:hover .work-card__media img,
.work-card:hover .work-card__media video { filter: saturate(1.02) contrast(1.02) brightness(.94); }
.work-card__overlay {
  margin: auto clamp(.7rem,1.3vw,1rem) clamp(.7rem,1.3vw,1rem);
  padding: clamp(1rem,2vw,1.5rem);
  border: 1px solid rgba(236,242,255,.16);
  border-radius: 20px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.075),transparent 45%),
    rgba(6,10,19,.56);
  box-shadow: inset 0 1px rgba(255,255,255,.07);
  -webkit-backdrop-filter: blur(22px) saturate(130%);
  backdrop-filter: blur(22px) saturate(130%);
}
.work-card__title { color: #fbfcff; }
.work-card__category,
.work-card__index { color: #d7dfef; }
.work-card__view {
  border-color: rgba(255,255,255,.3);
  background:
    linear-gradient(145deg,rgba(255,255,255,.16),transparent),
    rgba(9,14,26,.62);
  box-shadow: inset 0 1px rgba(255,255,255,.12);
}
.work-card:hover .work-card__view {
  color: #060912;
  background: var(--metal-gradient);
}
.filters__btn {
  border-color: rgba(235,241,255,.14);
  background: rgba(255,255,255,.026);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.filters__btn[aria-pressed='true'] {
  color: #060912;
  border-color: rgba(255,255,255,.4);
  background: var(--metal-gradient);
  box-shadow: 0 14px 34px -20px var(--c-accent-a45), inset 0 1px rgba(255,255,255,.5);
}

/* Supporting content --------------------------------------------------- */
.marquee {
  border-block-color: rgba(235,241,255,.09);
  background:
    linear-gradient(90deg,rgba(255,255,255,.04),transparent 20%,transparent 80%,rgba(255,255,255,.025)),
    rgba(8,13,25,.68);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.marquee__group { color: #a9b5ca; }
.reel__item { border-color: rgba(236,242,255,.16); box-shadow: var(--glass-shadow); }
.stats-grid { border-color: rgba(236,242,255,.1); }
.stat-card__value {
  color: transparent;
  background: var(--metal-gradient);
  -webkit-background-clip: text;
  background-clip: text;
}
.value-card,
.quote,
.plan { border-radius: 28px; }
.value-card:hover,
.plan:hover { border-color: rgba(238,244,255,.25); transform: translateY(-5px); }
.plan--featured {
  background:
    radial-gradient(32rem 20rem at 80% 0%,var(--c-accent-a20),transparent 72%),
    linear-gradient(145deg,rgba(255,255,255,.075),transparent),
    rgba(12,19,34,.68);
}
.quote::before { color: var(--c-accent-soft); filter: drop-shadow(0 0 18px var(--c-accent-a30)); }

.cta-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(238,244,255,.18);
  border-radius: clamp(30px,4vw,56px);
  background:
    radial-gradient(38rem 25rem at 82% 15%,var(--c-accent-a20),transparent 70%),
    linear-gradient(145deg,rgba(255,255,255,.075),transparent 38%),
    rgba(9,15,29,.66);
  box-shadow: 0 42px 110px -62px rgba(0,0,0,.98), inset 0 1px rgba(255,255,255,.09);
  -webkit-backdrop-filter: blur(25px) saturate(140%);
  backdrop-filter: blur(25px) saturate(140%);
}
.cta-panel::before {
  content: '';
  position: absolute;
  width: min(45vw,560px);
  aspect-ratio: 1;
  right: -12%;
  top: -62%;
  border-radius: 45% 55% 62% 38% / 42% 38% 62% 58%;
  background: radial-gradient(circle at 35% 30%,rgba(255,255,255,.58),var(--c-accent-a35) 20%,rgba(40,56,88,.22) 52%,transparent 71%);
  filter: blur(2px);
  opacity: .46;
  transform: rotate(-18deg);
}
.cta-panel > * { position: relative; z-index: 1; }

/* Forms, properties and inner pages ----------------------------------- */
.form-card,
.property-filter,
.booking-info,
.property-detail__aside { border-radius: 28px; }
.field input,
.field select,
.field textarea,
input:not([type='checkbox']):not([type='radio']),
select,
textarea {
  border-color: rgba(233,240,255,.2);
  background:
    linear-gradient(145deg,rgba(255,255,255,.04),transparent 45%),
    rgba(6,11,22,.62);
  box-shadow: inset 0 1px rgba(255,255,255,.035);
}
.field input:focus,
.field select:focus,
.field textarea:focus,
input:not([type='checkbox']):not([type='radio']):focus,
select:focus,
textarea:focus {
  border-color: var(--c-accent-soft);
  box-shadow: 0 0 0 3px var(--c-accent-a14), inset 0 1px rgba(255,255,255,.055);
}
.package-item {
  border-color: rgba(234,241,255,.14);
  background: rgba(9,15,28,.58);
}
.package-item.is-selected {
  border-color: rgba(198,216,251,.52);
  background:
    linear-gradient(145deg,rgba(255,255,255,.08),transparent),
    linear-gradient(135deg,var(--c-accent-dim),rgba(9,15,28,.76));
  box-shadow: 0 16px 36px -28px var(--c-accent-a45), inset 0 1px rgba(255,255,255,.08);
}
.property-card {
  border: 1px solid rgba(236,242,255,.16);
  border-radius: 28px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),transparent),
    rgba(11,18,32,.66);
  box-shadow: var(--glass-shadow);
  overflow: hidden;
}
.property-card:hover { border-color: rgba(238,244,255,.28); transform: translateY(-6px); }
.property-detail__cover { border: 1px solid rgba(238,244,255,.18); box-shadow: var(--liquid-shadow); }
.accordion__item { border-radius: 20px; overflow: hidden; }

.card,
.team-card {
  border-color: rgba(236,242,255,.15);
  border-radius: 26px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.065),transparent 42%),
    rgba(11,18,32,.62);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(22px) saturate(132%);
  backdrop-filter: blur(22px) saturate(132%);
  overflow: hidden;
}
.card--interactive:hover,
.team-card:hover {
  border-color: rgba(239,245,255,.27);
  transform: translateY(-6px);
  box-shadow: 0 34px 82px -48px rgba(0,0,0,.98), 0 20px 50px -38px var(--c-accent-a45), inset 0 1px rgba(255,255,255,.08);
}
.post-card__cover,
.team-card__media,
.article-cover,
.gallery__item,
.property-gallery__item {
  border-color: rgba(236,242,255,.16);
  background: #0b1220;
  box-shadow: inset 0 1px rgba(255,255,255,.055);
}
.post-card__cover img,
.team-card__media img,
.article-cover img,
.gallery__item img,
.property-gallery__item img {
  filter: saturate(.9) contrast(1.025);
  transition: transform 650ms var(--e-out), filter 320ms ease;
}
.card--interactive:hover .post-card__cover img,
.team-card:hover .team-card__media img,
.gallery__item:hover img,
.property-gallery__item:hover img {
  transform: scale(1.035);
  filter: saturate(1.02) contrast(1.015);
}
.article-head {
  position: relative;
  border-bottom-color: rgba(235,241,255,.09);
}
.article-head h1 {
  color: transparent;
  background: linear-gradient(105deg,#fff 0%,#d5deee 58%,#90a1bf 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.article-body,
.prose { color: #c1cbde; }
.article-body h2,
.article-body h3,
.prose h2,
.prose h3 { color: #f4f7fd; }
.breadcrumbs { color: #94a2bc; }
.pagination a,
.pagination span {
  border-color: rgba(235,241,255,.15);
  background: rgba(255,255,255,.025);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.media-lightbox {
  border: 1px solid rgba(239,244,255,.18);
  background: rgba(4,7,14,.78);
  -webkit-backdrop-filter: blur(28px) saturate(130%);
  backdrop-filter: blur(28px) saturate(130%);
}
.media-lightbox__close {
  border-color: rgba(255,255,255,.26);
  background:
    linear-gradient(145deg,rgba(255,255,255,.16),transparent),
    rgba(8,13,24,.72);
  box-shadow: inset 0 1px rgba(255,255,255,.12);
}

.footer {
  border-top-color: rgba(235,241,255,.09);
  background:
    radial-gradient(40rem 28rem at 82% 0%,var(--c-accent-a10),transparent 72%),
    linear-gradient(180deg,#070b15,#04060c);
}

/* Interior-page language ----------------------------------------------- */
.inner-hero {
  position: relative;
  overflow: clip;
  padding-top: clamp(4.75rem, 6vw, 7.5rem);
  background:
    radial-gradient(52rem 31rem at 88% -4%, var(--c-accent-a14), transparent 70%),
    radial-gradient(34rem 25rem at -8% 24%, rgba(109,91,205,.075), transparent 72%),
    linear-gradient(180deg, rgba(7,11,23,.78), rgba(5,8,18,.1) 36%, transparent 72%);
}
.inner-hero::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: clamp(1.5rem,4vw,4.5rem);
  right: clamp(-15rem,-10vw,-5rem);
  width: clamp(22rem,42vw,42rem);
  aspect-ratio: 1.25;
  border-radius: 42% 58% 63% 37% / 48% 36% 64% 52%;
  pointer-events: none;
  opacity: .28;
  background:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.74) 0 2%,transparent 8%),
    radial-gradient(ellipse at 42% 38%,rgba(205,220,248,.54),rgba(79,98,137,.26) 28%,var(--c-accent-a20) 48%,transparent 70%);
  filter: blur(1px);
  transform: rotate(-13deg);
  -webkit-mask-image: radial-gradient(ellipse,#000 0 48%,rgba(0,0,0,.55) 61%,transparent 73%);
  mask-image: radial-gradient(ellipse,#000 0 48%,rgba(0,0,0,.55) 61%,transparent 73%);
}
.inner-hero::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: 1.2rem;
  right: 2%;
  width: min(48vw,680px);
  height: 440px;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(235,241,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(235,241,255,.05) 1px,transparent 1px);
  background-size: 54px 54px;
  transform: perspective(800px) rotateY(-24deg) rotateX(12deg);
  -webkit-mask-image: radial-gradient(ellipse,#000,transparent 72%);
  mask-image: radial-gradient(ellipse,#000,transparent 72%);
}
.inner-hero > .wrap { position: relative; z-index: 2; }

.breadcrumbs {
  width: fit-content;
  max-width: 100%;
  margin-bottom: clamp(2rem,4vw,3.75rem);
  padding: .55rem .8rem;
  border: 1px solid rgba(235,241,255,.13);
  border-radius: 999px;
  color: #a9b5cb;
  background:
    linear-gradient(145deg,rgba(255,255,255,.07),transparent),
    rgba(9,15,28,.52);
  box-shadow: inset 0 1px rgba(255,255,255,.06);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.breadcrumbs ol { overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.breadcrumbs ol::-webkit-scrollbar { display: none; }
.breadcrumbs a:hover { color: #fff; }

.inner-hero > .wrap > .section-head,
.inner-hero .properties-hero__head {
  min-height: clamp(190px,23vw,320px);
  align-content: center;
  margin-bottom: clamp(3rem,6vw,6rem);
  padding-right: min(30vw,380px);
}
.inner-hero > .wrap > .section-head h1,
.inner-hero .article-head h1,
.inner-hero .property-detail__head h1,
.custom-page > .wrap > h1,
.not-found-page h1 {
  max-width: 14ch;
  margin-block: .45rem 1rem;
  color: transparent;
  background: linear-gradient(105deg,#ffffff 0%,#d6deed 56%,#91a2c0 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: var(--t-h1);
  line-height: .98;
  letter-spacing: -.062em;
}
.inner-hero > .wrap > .section-head .lead,
.inner-hero .article-head .lead,
.property-detail__head .lead,
.custom-page > .wrap > .lead {
  max-width: 58ch;
  color: #c4cee0;
}
.section-head--center h1 { margin-inline: auto; }
.section-head--center .lead { margin-inline: auto; }

.article-head,
.property-detail__head {
  position: relative;
  max-width: 940px;
  margin-bottom: clamp(2.5rem,5vw,4.5rem);
  padding: clamp(1.5rem,3.5vw,3rem);
  border: 1px solid rgba(237,243,255,.14);
  border-radius: clamp(25px,3vw,38px);
  background:
    linear-gradient(145deg,rgba(255,255,255,.065),transparent 44%),
    rgba(10,16,29,.48);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(24px) saturate(135%);
  backdrop-filter: blur(24px) saturate(135%);
}
.article-meta { color: #a2aec4; }
.article-meta span + span::before { color: var(--c-accent-soft); }

.article-cover,
.property-detail__cover {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(240,245,255,.2);
  border-radius: clamp(25px,3.2vw,42px);
  background: #09101d;
  box-shadow: var(--liquid-shadow), inset 0 1px rgba(255,255,255,.08);
}
.article-cover::after,
.property-detail__cover::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(125deg,rgba(255,255,255,.12),transparent 24%,transparent 72%,var(--c-accent-a14));
}
.article-cover img,
.article-cover video,
.property-detail__cover img,
.property-detail__cover video { width: 100%; height: 100%; object-fit: cover; }
.article-cover--generated {
  background:
    radial-gradient(25rem 18rem at 75% 32%,var(--c-accent-a28),transparent 68%),
    radial-gradient(20rem 16rem at 28% 72%,rgba(116,96,210,.13),transparent 70%),
    linear-gradient(145deg,#111b30,#070b15);
}

.article-body,
.legal-page__content,
.custom-page > .wrap > .prose,
.about-page > .wrap > .prose {
  margin-top: clamp(2rem,4vw,3.5rem);
  padding: clamp(1.5rem,4vw,3.5rem);
  border: 1px solid rgba(235,242,255,.13);
  border-radius: clamp(24px,3vw,36px);
  background:
    linear-gradient(145deg,rgba(255,255,255,.05),transparent 42%),
    rgba(9,15,28,.46);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.article-body > :first-child,
.legal-page__content > :first-child { margin-top: 0; }
.article-body h2,
.legal-page__content h2,
.custom-page .prose h2,
.about-page .prose h2 {
  padding-top: .7em;
  border-top: 1px solid rgba(235,241,255,.09);
}
.article-body a,
.prose a { color: var(--c-accent-soft); text-decoration-color: var(--c-accent-a45); }
.article-body blockquote,
.prose blockquote {
  border-left-color: var(--c-accent-soft);
  border-radius: 0 18px 18px 0;
  background: linear-gradient(90deg,var(--c-accent-a12),transparent);
}

.service-detail__block,
.work-detail__aside,
.property-location-note,
.property-features,
.property-enquiry {
  margin-top: clamp(2rem,5vw,4rem);
  padding: clamp(1.4rem,3vw,2.5rem);
  border: 1px solid rgba(235,242,255,.14);
  border-radius: 26px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),transparent 44%),
    rgba(10,16,29,.52);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
}
.service-detail__block .plan__features { margin-bottom: 0; }
.work-detail__aside { margin-top: 0; align-self: start; position: sticky; top: calc(var(--header-h) + 34px); }
.work-detail .contact-layout > .prose { padding-right: clamp(1rem,3vw,3rem); }
.meta-list {
  overflow: hidden;
  border: 1px solid rgba(235,241,255,.1);
  border-radius: 18px;
  background: rgba(5,9,18,.32);
}
.meta-list > div { padding: .85rem 1rem; border-bottom-color: rgba(235,241,255,.09); }
.meta-list dt { color: #97a4bb; }
.meta-list dd { color: #f0f4fb; }
.detail-close {
  border-color: rgba(237,243,255,.18);
  background:
    linear-gradient(145deg,rgba(255,255,255,.11),transparent),
    rgba(8,13,25,.66);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.detail-close:hover { color: #070b14; background: var(--metal-gradient); }

.gallery,
.property-gallery__grid { gap: clamp(.8rem,1.5vw,1.25rem); }
.gallery__item,
.property-gallery__item {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(238,244,255,.18);
  border-radius: clamp(19px,2vw,28px);
  box-shadow: var(--glass-shadow);
}
.gallery__item::after,
.property-gallery__item::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(130deg,rgba(255,255,255,.11),transparent 23%,transparent 72%,var(--c-accent-a12));
}
.gallery__item:hover,
.property-gallery__item:hover { border-color: rgba(241,246,255,.32); }

/* Content-type details ------------------------------------------------- */
.blog-page .grid--3 { gap: clamp(1rem,1.8vw,1.5rem); }
.blog-page .card,
.article-page + .section .card { padding: .85rem; }
.post-card__cover { aspect-ratio: 16 / 10; border-radius: 19px; overflow: hidden; margin-bottom: 1.25rem; }
.post-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.blog-page .card__title,
.article-page + .section .card__title { margin-inline: .55rem; }
.blog-page .card__text,
.blog-page .article-meta,
.blog-page .card__foot,
.article-page + .section .card__text,
.article-page + .section .article-meta,
.article-page + .section .card__foot { margin-inline: .55rem; }

.team-card__media { aspect-ratio: 4 / 4.6; overflow: hidden; }
.team-card__media img { width: 100%; height: 100%; object-fit: cover; }
.team-card__body { padding: clamp(1.2rem,2.2vw,1.8rem); }
.team-card__body h2 { color: #f7f9fd; }
.team-card__role { color: var(--c-accent-soft); }

.contact-aside { gap: .85rem; }
.contact-item {
  border: 1px solid rgba(235,241,255,.14);
  border-radius: 22px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.06),transparent),
    rgba(9,15,28,.52);
  box-shadow: var(--glass-shadow);
}
.contact-item > svg {
  padding: .55rem;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(235,241,255,.15);
  border-radius: 13px;
  color: #e7eefb;
  background: rgba(255,255,255,.04);
}
.contact-item__label { color: #8f9db5; }
.contact-item__value { color: #f2f5fb; }

.form-card { position: relative; overflow: hidden; border-radius: 30px; }
.form-card::after {
  content: '';
  position: absolute;
  left: 14%;
  right: 14%;
  top: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.66),transparent);
  opacity: .5;
}
.form-card > * { position: relative; z-index: 1; }
.checkbox {
  padding: .85rem 1rem;
  border: 1px solid rgba(235,241,255,.11);
  border-radius: 16px;
  background: rgba(5,9,18,.3);
}

.booking-info h2 { color: #f5f7fc; }
.booking-steps { gap: .7rem; }
.booking-steps li {
  border-color: rgba(235,241,255,.12);
  border-radius: 17px;
  background: rgba(5,9,18,.3);
}
.booking-steps li span {
  color: transparent;
  background: var(--metal-gradient);
  -webkit-background-clip: text;
  background-clip: text;
}

.property-filter { padding: clamp(1.2rem,2.5vw,2.2rem); }
.property-filter__grid { gap: clamp(.8rem,1.5vw,1.25rem); }
.property-results-head {
  margin-bottom: 1.5rem;
  padding: .8rem 1rem;
  border: 1px solid rgba(235,241,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
}
.property-price {
  color: transparent;
  background: var(--metal-gradient);
  -webkit-background-clip: text;
  background-clip: text;
}
.property-features ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.property-features li {
  padding: .75rem;
  border: 1px solid rgba(235,241,255,.1);
  border-radius: 14px;
  background: rgba(5,9,18,.26);
}
.property-enquiry { margin-top: clamp(4rem,8vw,8rem); }
.property-enquiry > .section-head { min-height: 0; padding-right: 0; margin-bottom: 2rem; }
.property-video-link {
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),transparent 42%),
    linear-gradient(120deg,var(--c-accent-a10),transparent 58%),
    rgba(8,14,26,.7);
  box-shadow: var(--glass-shadow);
  backdrop-filter: blur(18px) saturate(1.12);
  -webkit-backdrop-filter: blur(18px) saturate(1.12);
}
.property-video-link__icon { box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 12px 28px rgba(0,0,0,.22); }

.markets,
.logos {
  border: 1px solid rgba(235,241,255,.12);
  border-radius: 25px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.045),transparent),
    rgba(8,14,26,.38);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.market { border-color: rgba(235,241,255,.11); background: rgba(255,255,255,.025); }
.market--hq { border-color: var(--c-accent-a35); background: var(--c-accent-a10); }

.faq-page .accordion,
.legal-page__content { position: relative; }
.accordion__trigger { color: #f2f5fb; }
.accordion__panel { color: #b8c3d7; }
.accordion__icon { color: var(--c-accent-soft); }

.not-found-page { min-height: calc(100svh - var(--header-h)); display: grid; align-items: center; }
.not-found-page .wrap {
  padding: clamp(2rem,6vw,5rem);
  border: 1px solid rgba(237,243,255,.15);
  border-radius: clamp(28px,4vw,48px);
  background:
    radial-gradient(30rem 20rem at 80% 10%,var(--c-accent-a20),transparent 70%),
    linear-gradient(145deg,rgba(255,255,255,.065),transparent),
    rgba(9,15,28,.56);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
}
.not-found-page h1 { margin-inline: auto; }

.empty {
  padding: clamp(2rem,5vw,4rem);
  border: 1px dashed rgba(235,241,255,.17);
  border-radius: 24px;
  background: rgba(255,255,255,.018);
  color: #aab5c9;
  text-align: center;
}

@media (max-width: 900px) {
  .inner-hero > .wrap > .section-head,
  .inner-hero .properties-hero__head { padding-right: min(20vw,150px); }
  .work-detail__aside { position: static; }
  .property-features ul { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .inner-hero { padding-top: clamp(3.5rem,12vw,5rem); }
  .inner-hero::before { width: 28rem; right: -19rem; top: 3rem; opacity: .2; }
  .inner-hero::after { width: 90vw; right: -36%; opacity: .14; }
  .breadcrumbs { max-width: 100%; margin-bottom: 2rem; font-size: .72rem; }
  .inner-hero > .wrap > .section-head,
  .inner-hero .properties-hero__head {
    min-height: 0;
    padding-right: 0;
    margin-bottom: 3rem;
  }
  .inner-hero > .wrap > .section-head h1,
  .inner-hero .article-head h1,
  .inner-hero .property-detail__head h1,
  .custom-page > .wrap > h1,
  .not-found-page h1 { max-width: 100%; font-size: clamp(2.35rem,10.5vw,3.35rem); }
  .article-head,
  .property-detail__head { padding: 1.25rem; border-radius: 24px; }
  .article-body,
  .legal-page__content,
  .custom-page > .wrap > .prose,
  .about-page > .wrap > .prose { padding: 1.25rem; border-radius: 23px; }
  .service-detail__block,
  .work-detail__aside,
  .property-location-note,
  .property-features,
  .property-enquiry { padding: 1.2rem; border-radius: 22px; }
  .contact-item { border-radius: 18px; }
  .form-card { border-radius: 24px; }
  .post-card__cover { border-radius: 16px; }
  .not-found-page .wrap { padding: 1.5rem; border-radius: 28px; }
}
.whatsapp-float,
.live-chat-float {
  border-color: rgba(235,241,255,.18);
  background:
    linear-gradient(145deg,rgba(255,255,255,.09),transparent),
    rgba(8,14,27,.7);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  box-shadow: var(--glass-shadow);
}

/* Responsive and capability guards ------------------------------------ */
@media (max-width: 1120px) {
  .header { top: 8px; width: calc(100% - 18px); }
  .hero__inner { grid-template-columns: minmax(0,1fr) minmax(370px,.85fr); }
  .liquid-metal-canvas,
  .liquid-metal-fallback { width: 75vw; right: -12%; }
}

@media (max-width: 900px) {
  .hero--editorial {
    margin-top: calc(-1 * var(--header-h) - 10px);
    padding-top: calc(var(--header-h) + 4.4rem);
  }
  .hero__inner { grid-template-columns: 1fr; }
  .hero__copy { padding-top: 0; }
  .hero-scene { order: 0; }
  .liquid-metal-canvas,
  .liquid-metal-fallback {
    top: 38%;
    right: -18%;
    width: 112vw;
    height: 58%;
    opacity: .66;
  }
  .process { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  :root {
    --header-h: 64px;
    --t-display: clamp(2.65rem, 1.25rem + 8.2vw, 4.35rem);
  }
  .header { border-radius: 17px; }
  .header__inner { padding-inline: .2rem; }
  .hero--editorial {
    padding-top: calc(var(--header-h) + 3.5rem);
    padding-bottom: 3rem;
  }
  .hero__ambient::before { inset: calc(var(--header-h) + 20px) .65rem 1.2%; border-radius: 28px; }
  .hero__title { max-width: 12ch; }
  .hero__title em > span { font-size: 1em; }
  .hero__actions { gap: .7rem; }
  .hero__actions .btn { min-height: 54px; }
  .liquid-metal-canvas,
  .liquid-metal-fallback { top: 42%; right: -30%; width: 136vw; height: 54%; opacity: .56; }
  .hero-scene { filter: drop-shadow(0 24px 42px rgba(0,0,0,.42)); }
  .hero-scene__frame { border-radius: 17px; }
  .hero-stats { border-radius: 20px; }
  .section { padding-block: clamp(4.5rem,15vw,6.75rem); }
  .section-head { margin-bottom: 2.7rem; }
  .service-tile,
  .value-card,
  .quote,
  .plan,
  .property-card,
  .form-card { border-radius: 23px; }
  .process { grid-template-columns: 1fr; border-radius: 24px; }
  .work-card__overlay { border-radius: 17px; }
  .cta-panel { border-radius: 28px; }
  .cta-panel::before { width: 110vw; top: -44%; right: -54%; }
}

@media (prefers-reduced-motion: reduce) {
  .liquid-metal-canvas { opacity: .54; }
  .btn::before { display: none; }
  .service-tile:hover,
  .work-card:hover,
  .value-card:hover,
  .plan:hover,
  .property-card:hover { transform: none; }
}

/* Typography and composition refinement ---------------------------------
   A sharper editorial rhythm: content is anchored to the reading edge,
   long multilingual headings stay intact, and supporting copy occupies a
   separate column instead of collecting in the visual centre. */
:root {
  /* 'Inter' now carries Latin, Latin-ext, Cyrillic, Georgian and Arabic faces
     (see the @font-face block in site.css). The named families after it are
     platform fallbacks for the two non-Latin scripts while the webfont loads
     or if it fails. */
  --f-display: 'Inter', 'Noto Sans Georgian', 'Sylfaen', 'Noto Sans Arabic', 'Geeza Pro', Tahoma, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-text: 'Inter', 'Noto Sans Georgian', 'Sylfaen', 'Noto Sans Arabic', 'Geeza Pro', Tahoma, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --c-fg: #fbfcff;
  --c-fg-secondary: #d0d7e5;
  --c-fg-muted: #9ba8be;
  --t-display: clamp(3rem, 1.6rem + 4.7vw, 5.95rem);
  --t-h1: clamp(2.75rem, 1.55rem + 3.5vw, 4.9rem);
  --t-h2: clamp(2rem, 1.3rem + 2.35vw, 3.5rem);
}

body {
  font-family: var(--f-text);
  color: var(--c-fg);
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--f-display);
  font-variation-settings: normal;
  font-weight: 620;
  letter-spacing: -.038em;
}

h1, h2 {
  line-height: 1.01;
  text-wrap: balance;
}

.lead {
  color: var(--c-fg-secondary);
  font-size: clamp(1.0625rem, .99rem + .28vw, 1.25rem);
  line-height: 1.68;
}

.eyebrow {
  color: #b5c0d3;
  font-weight: 600;
  letter-spacing: .18em;
}

.section-head {
  max-width: 76rem;
  text-align: left;
}

.section-head--center {
  max-width: 66rem;
  margin-inline: 0;
  text-align: left;
}

.section-head--center .eyebrow { justify-content: flex-start; }
.section-head--center h1,
.section-head--center h2,
.section-head--center .lead,
.section-head--center p { margin-inline: 0; }

.section-head h2 {
  max-width: 15ch;
  font-size: var(--t-h2);
  line-height: 1.04;
  letter-spacing: -.042em;
}

.section-head p {
  max-width: 48rem;
  color: var(--c-fg-secondary);
}

.inner-hero > .wrap > .section-head,
.inner-hero .properties-hero__head {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(17.5rem, .72fr);
  grid-template-rows: auto minmax(7.5rem, auto);
  column-gap: clamp(3rem, 8vw, 8rem);
  row-gap: 1rem;
  align-items: end;
  min-height: clamp(220px, 24vw, 340px);
  max-width: none;
  margin-bottom: clamp(3.5rem, 6vw, 6.5rem);
  padding-right: 0;
}

.inner-hero > .wrap > .section-head .eyebrow,
.inner-hero .properties-hero__head .eyebrow {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
}

.inner-hero > .wrap > .section-head h1,
.inner-hero .properties-hero__head h1 {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  width: min(100%, 15ch);
  max-width: none;
  margin: 0;
  color: #fbfcff;
  background: linear-gradient(102deg, #ffffff 0%, #e4e9f2 62%, #aab7cc 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: var(--t-h1);
  font-weight: 640;
  line-height: 1;
  letter-spacing: -.048em;
  overflow-wrap: normal;
  word-break: normal;
}

.inner-hero > .wrap > .section-head .lead,
.inner-hero .properties-hero__head .lead {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  max-width: 35ch;
  margin: 0 0 .28rem;
  color: #cbd3e1;
  font-size: clamp(1.05rem, .98rem + .34vw, 1.28rem);
  line-height: 1.65;
}

.article-head,
.property-detail__head {
  max-width: min(100%, 72rem);
  margin-inline: 0;
  text-align: left;
}

.inner-hero .article-head h1,
.inner-hero .property-detail__head h1,
.custom-page > .wrap > h1,
.not-found-page h1 {
  max-width: 19ch;
  color: #fbfcff;
  font-weight: 640;
  line-height: 1.02;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}

.article-body,
.legal-page__content,
.custom-page > .wrap > .prose,
.about-page > .wrap > .prose {
  max-width: 78rem;
  color: #d0d7e3;
  font-size: clamp(1rem, .97rem + .12vw, 1.08rem);
  line-height: 1.8;
}

.article-body p,
.legal-page__content p,
.prose p { max-width: 72ch; }

.article-body h2,
.article-body h3,
.legal-page__content h2,
.legal-page__content h3,
.prose h2,
.prose h3 {
  max-width: 22ch;
  margin-top: 1.75em;
  color: #f8faff;
  line-height: 1.12;
}

.work-page .filters {
  justify-content: flex-start;
  max-width: 72rem;
}

.work-card__overlay {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 1rem;
}

.work-card__title {
  max-width: 20ch;
  margin: .3rem 0 .7rem;
  color: #ffffff;
  font-size: clamp(1.25rem, 1rem + .75vw, 1.9rem);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}

.work-card__category {
  color: #c6d0e1;
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .16em;
}

.work-card__meta .chip {
  color: #dde4ef;
  line-height: 1.35;
  white-space: normal;
}

.card h2,
.card h3,
.service-tile h3,
.team-card h2,
.team-card h3 {
  color: #f8faff;
  font-weight: 620;
  line-height: 1.16;
  letter-spacing: -.028em;
}

.card p,
.service-tile p,
.team-card p,
.contact-item p,
.property-card p { color: #c4ccda; }

.cta-panel {
  text-align: left;
}

.cta-panel h2 {
  max-width: 14ch;
  margin-inline: 0;
  line-height: 1.02;
}

.cta-panel > p {
  max-width: 52ch;
  margin-inline: 0;
  color: #cbd3e1;
}

.cta-panel__actions,
.cta-panel__contacts { justify-content: flex-start; }

.hero__title {
  max-width: 10.8ch;
  font-family: var(--f-display);
  font-weight: 630;
  line-height: .96;
  letter-spacing: -.052em;
  overflow-wrap: normal;
}

.hero__title em > span {
  font-size: .76em;
  font-weight: 520;
}

.hero__lead {
  max-width: 49ch;
  color: #d0d7e4;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .inner-hero > .wrap > .section-head,
  .inner-hero .properties-hero__head {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: .85rem;
    min-height: 0;
    padding-right: 0;
  }

  .inner-hero > .wrap > .section-head .eyebrow,
  .inner-hero .properties-hero__head .eyebrow,
  .inner-hero > .wrap > .section-head h1,
  .inner-hero .properties-hero__head h1,
  .inner-hero > .wrap > .section-head .lead,
  .inner-hero .properties-hero__head .lead {
    grid-column: 1;
    grid-row: auto;
    max-width: 100%;
  }

  .inner-hero > .wrap > .section-head .lead,
  .inner-hero .properties-hero__head .lead { margin-top: .35rem; }
}

@media (max-width: 720px) {
  :root {
    --t-display: clamp(2.45rem, 11.5vw, 3.45rem);
    --t-h1: clamp(2.25rem, 10vw, 3.05rem);
    --t-h2: clamp(1.8rem, 8vw, 2.55rem);
  }

  .inner-hero > .wrap > .section-head h1,
  .inner-hero .properties-hero__head h1,
  .inner-hero .article-head h1,
  .inner-hero .property-detail__head h1,
  .custom-page > .wrap > h1,
  .not-found-page h1 {
    font-size: var(--t-h1);
    line-height: 1.03;
    letter-spacing: -.04em;
  }

  .hero__title {
    max-width: 11.5ch;
    font-size: var(--t-display);
    line-height: .98;
    letter-spacing: -.045em;
  }

  .hero__title em > span { font-size: .88em; }
  .work-card__overlay { grid-template-columns: minmax(0, 1fr) auto; }
  .work-card__title { font-size: clamp(1.2rem, 6vw, 1.55rem); }

  .footer__list a,
  .contact-item__value {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding-block: .35rem;
  }
}

.save-data .liquid-metal-canvas { opacity: .46; }

@supports not ((backdrop-filter: blur(10px))) {
  .header,
  .hero-stats,
  .service-tile,
  .process,
  .work-card__overlay,
  .value-card,
  .quote,
  .plan,
  .form-card,
  .property-filter,
  .booking-info,
  .property-detail__aside,
  .cta-panel { background-color: rgba(10,16,30,.94); }
}

@media print {
  .liquid-metal-canvas,
  .liquid-metal-fallback { display: none !important; }
  .header { width: 100%; margin: 0; border: 0; }
}
