:root {
  --white: #ffffff;
  --soft: #f7f8fa;
  --navy: #071827;
  --navy-light: #0b263d;
  --ink: #1f2933;
  --muted: #667085;
  --gold: #d8b56d;
  --gold-deep: #bc9140;
  --border: #e5e7eb;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --shadow: 0 20px 45px rgba(7, 24, 39, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.6; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.back-to-top { position:fixed; z-index:19; right:24px; bottom:24px; width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(216,181,109,.72); border-radius:50%; background:var(--navy); color:var(--gold); box-shadow:0 12px 28px rgba(7,24,39,.22); font-size:20px; line-height:1; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(12px); transition:opacity .24s ease, transform .24s ease, visibility .24s; }.back-to-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:none; }.back-to-top:hover { background:var(--gold); color:var(--navy); }.back-to-top:focus-visible { outline:3px solid rgba(216,181,109,.42); outline-offset:3px; }
.container { width: min(1180px, calc(100% - 48px)); margin: auto; }
.skip-link { position: fixed; left: 15px; top: -70px; z-index: 100; background: var(--gold); color: var(--navy); padding: 10px 16px; border-radius: 5px; font-weight: 700; transition: .2s; }
.skip-link:focus { top: 12px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 20; background: rgba(255,255,255,.86); border-bottom: 1px solid transparent; backdrop-filter: blur(13px); transition: box-shadow .3s, border-color .3s; }
.site-header.scrolled { border-color: var(--border); box-shadow: 0 4px 24px rgba(7,24,39,.06); }
.header-inner { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; }
.brand img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; object-position: center; mix-blend-mode: multiply; }
.brand-name { color: var(--navy); font-size: 13px; line-height: 1; letter-spacing: 1.7px; font-weight: 700; white-space: nowrap; }
.brand-name b { display: block; color: var(--gold-deep); font-size: 8px; letter-spacing: 2.65px; margin-top: 4px; }
.site-nav { display: flex; align-items: center; gap: 28px; color: #4b5563; font-size: 13px; font-weight: 600; }
.site-nav > a:not(.button) { position: relative; transition: color .25s; }
.site-nav > a:not(.button)::after { content: ""; position: absolute; height: 2px; width: 0; left: 0; bottom: -8px; background: var(--gold); transition: width .25s; }
.site-nav > a:hover, .site-nav > a.active { color: var(--navy); }
.site-nav > a:hover::after, .site-nav > a.active::after { width: 100%; }
.button { border: 1px solid transparent; border-radius: 4px; min-height: 46px; padding: 0 19px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; font-size: 12px; font-weight: 700; letter-spacing: .2px; transition: transform .25s, box-shadow .25s, background .25s, color .25s; }
.button span { font-size: 18px; font-weight: 400; line-height: 0; transition: transform .25s; }
.button:hover { transform: translateY(-3px); box-shadow: 0 11px 22px rgba(7,24,39,.14); }
.button:hover span { transform: translate(2px,-2px); }
.button-dark { background: var(--navy); color: var(--white); }
.button-dark:hover { background: var(--navy-light); }
.button-gold { background: var(--gold); color: var(--navy); }
.button-gold:hover { background: #e4c481; }
.button-outline { border-color: rgba(255,255,255,.4); color: white; }
.button-outline:hover { border-color: var(--gold); background: rgba(255,255,255,.08); box-shadow: none; }
.nav-cta { min-height: 40px; padding: 0 15px; margin-left: 2px; }
.menu-toggle { display: none; width: 44px; height: 40px; padding: 9px; border: 0; background: transparent; }
.menu-toggle span { display: block; width: 100%; height: 2px; margin: 5px 0; background: var(--navy); transition: .25s; }

.hero { min-height: 760px; padding: 154px 0 76px; position: relative; overflow: hidden; background: radial-gradient(circle at 71% 45%, rgba(216,181,109,.1), transparent 20%), linear-gradient(112deg, #fff 31%, #fbfcfd 100%); }
.hero-grid { position: absolute; width: 58vw; height: 100%; right: -6vw; top: 0; opacity: .6; background-image: linear-gradient(rgba(7,24,39,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(7,24,39,.035) 1px, transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(90deg, transparent, black 35%, black 75%, transparent); }
.orb { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; animation: orb-drift 12s ease-in-out infinite alternate; }
.orb-one { width: 360px; height: 360px; right: -120px; bottom: 40px; background: radial-gradient(circle, rgba(216,181,109,.15), rgba(216,181,109,0) 70%); }
.orb-two { width: 250px; height: 250px; left: 35%; top: 100px; background: radial-gradient(circle, rgba(229,235,238,.7), rgba(229,235,238,0) 72%); animation-delay: -5s; }
.hero-content { position: relative; min-height: 530px; display: grid; grid-template-columns: .93fr 1.07fr; align-items: center; gap: 30px; }
.hero-copy { padding-top: 10px; max-width: 645px; }
.eyebrow { color: var(--gold-deep); display: flex; gap: 10px; align-items: center; font-size: 10px; font-weight: 700; letter-spacing: 2px; margin: 0 0 18px; }
.eyebrow > span { display: inline-block; width: 26px; height: 1px; background: currentColor; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { color: var(--navy); font-family: var(--serif); font-weight: 500; letter-spacing: -1.55px; line-height: 1.03; }
h1 { font-size: clamp(47px, 5.05vw, 72px); margin-bottom: 25px; }
h1 em, h2 em { font-weight: 500; color: var(--gold-deep); }
.hero-lead { max-width: 535px; color: var(--muted); font-size: 16px; line-height: 1.8; margin-bottom: 31px; }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.text-link { color: var(--gold-deep); display: inline-flex; gap: 13px; align-items: center; font-size: 12px; font-weight: 700; }
.text-link i { font-size: 20px; font-style: normal; transition: transform .25s; }
.text-link:hover i { transform: translateX(5px); }
.text-link-dark { color: var(--navy); }
.hero-mini-stats { display: flex; gap: 26px; margin-top: 61px; }
.hero-mini-stats div { display: flex; align-items: center; gap: 8px; border-right: 1px solid var(--border); padding-right: 24px; }
.hero-mini-stats div:last-child { border: 0; padding: 0; }
.hero-mini-stats strong { font-family: var(--serif); color: var(--gold-deep); font-size: 24px; font-weight: 500; }
.hero-mini-stats span { color: var(--muted); font-size: 9px; font-weight: 600; line-height: 1.35; text-transform: uppercase; letter-spacing: .6px; }

.hero-architecture { height: 515px; position: relative; margin: 0 auto; width: min(100%, 560px); filter: drop-shadow(0 20px 26px rgba(7,24,39,.11)); animation: settle 1.1s ease-out both, building-float 7s ease-in-out infinite 1.2s; }
.gold-sun { position: absolute; width: 218px; height: 218px; border-radius: 50%; right: 91px; top: 25px; background: linear-gradient(137deg, #f1d394, var(--gold)); opacity: .78; }
.tower { overflow: hidden; position: absolute; background: linear-gradient(124deg, #fdfefe, #d9e0e2); box-shadow: inset 12px 0 20px rgba(255,255,255,.75), -12px 17px 30px rgba(7,24,39,.13); }
.tower::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(180deg, transparent 0 26px, rgba(7,24,39,.13) 27px 29px); }
.tower i { z-index: 1; position: relative; display: block; height: 5px; margin: 17px 14px; background: linear-gradient(90deg, #49606e, #aab9bd); }
.tower-main { height: 353px; width: 170px; bottom: 50px; right: 133px; transform: skewY(-9deg); border-radius: 2px 2px 0 0; }
.tower-top { width: 100%; height: 74px; background: linear-gradient(117deg, var(--navy), #24445b); position: absolute; top: 0; z-index: 1; clip-path: polygon(0 100%, 100% 0, 100% 100%); }
.tower-main i { margin-top: 25px; }
.tower-back { height: 272px; width: 106px; bottom: 50px; right: 51px; transform: skewY(10deg); background: linear-gradient(110deg, #d3b578, #e8ce97); }
.tower-back i { background: rgba(255,255,255,.55); margin-inline: 12px; }
.tower-side { height: 174px; width: 87px; bottom: 50px; left: 127px; transform: skewY(-12deg); background: linear-gradient(110deg, #1b3850, #577084); }
.tower-side i { background: rgba(255,255,255,.33); margin: 17px 10px; }
.plinth { position: absolute; width: 420px; height: 34px; bottom: 27px; left: 55px; background: linear-gradient(90deg, var(--navy), #2c4657 54%, var(--gold)); transform: skewX(-32deg); box-shadow: 0 11px 14px rgba(7,24,39,.17); }
.plinth::after { content:""; position: absolute; right: -43px; width: 58px; height: 34px; background: #b6883b; transform: skewX(32deg); }
.wire { position: absolute; border: 1px solid rgba(7,24,39,.26); z-index: -1; animation: wire-slide 8s linear infinite; }
.wire-a { width: 430px; height: 260px; left: 34px; top: 100px; transform: rotate(-21deg); border-right: 0; }
.wire-b { width: 304px; height: 310px; right: 23px; top: 80px; transform: rotate(36deg); border-left: 0; animation-direction: reverse; }
.architecture-tag { position: absolute; top: 42px; left: 12px; color: var(--navy); font-size: 9px; letter-spacing: 1.6px; font-weight: 700; writing-mode: vertical-rl; transform: rotate(180deg); }
.architecture-tag span { display: inline-block; width: 6px; height: 6px; background: var(--gold-deep); border-radius: 50%; margin: 0 0 8px 2px; }
.architectural-note { color: var(--navy); font-size: 9px; line-height: 1.3; letter-spacing: 1.7px; font-weight: 700; position: absolute; }
.note-one { bottom: 11px; right: 9px; }.note-two { top: 55px; right: 9px; color: var(--gold-deep); }
.floating-card { position: absolute; display: flex; gap: 10px; align-items: center; left: 0; bottom: 10px; z-index: 2; width: 177px; padding: 13px; background: rgba(255,255,255,.81); border: 1px solid rgba(255,255,255,.9); box-shadow: var(--shadow); backdrop-filter: blur(10px); animation: card-float 5s ease-in-out infinite; }
.card-mark { color: var(--gold-deep); font-family: var(--serif); border: 1px solid var(--gold); width: 34px; aspect-ratio: 1; display: grid; place-items: center; font-size: 22px; }
.floating-card small { display:block; color: var(--muted); font-size: 7px; letter-spacing: 1px; font-weight: 700; }.floating-card strong { display: block; color: var(--navy); font-family: var(--serif); font-size: 12px; line-height: 1.2; margin-top: 4px; font-weight: 600; }
.hero-architecture { --parallax-x: 0; --parallax-y: 0; perspective: 1000px; transform-style: preserve-3d; }
.tower, .plinth { display: none; }
.hero-model { position:absolute; z-index:1; width:490px; height:435px; right:0; bottom:20px; transform:rotateX(58deg) rotateY(-8deg) rotateZ(-15deg) translate3d(calc(var(--parallax-x) * 14px),calc(var(--parallax-y) * 11px),0); transform-style:preserve-3d; transition:transform .7s cubic-bezier(.2,.7,.2,1); filter:drop-shadow(22px 25px 22px rgba(7,24,39,.21)); animation:model-breathe 8s ease-in-out infinite; }
.model-halo { position:absolute; width:255px; height:255px; right:79px; top:17px; border:1px solid rgba(216,181,109,.49); border-radius:50%; box-shadow:0 0 0 30px rgba(216,181,109,.06),0 0 65px rgba(216,181,109,.14); transform:translateZ(-38px); }
.model-site { position:absolute; left:46px; bottom:44px; width:378px; height:244px; overflow:hidden; border:1px solid rgba(26,68,84,.42); background:linear-gradient(135deg,rgba(244,250,248,.68),rgba(143,181,185,.27)); box-shadow:inset 0 0 28px rgba(255,255,255,.55),0 13px 17px rgba(7,24,39,.12); transform:translateZ(-22px); }.model-site-grid { position:absolute; inset:10px; background-image:linear-gradient(rgba(7,24,39,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(7,24,39,.14) 1px,transparent 1px); background-size:23px 23px; }.model-site::after { content:""; position:absolute; inset:0; background:linear-gradient(118deg,transparent 33%,rgba(216,181,109,.22) 33.3% 34%,transparent 34.4% 61%,rgba(7,24,39,.16) 61.3% 62%,transparent 62.3%); }.model-site-path { position:absolute; z-index:1; height:2px; background:var(--gold); box-shadow:0 0 9px rgba(216,181,109,.8); }.path-one { width:238px; left:57px; top:101px; transform:rotate(15deg); }.path-two { width:170px; left:106px; top:154px; transform:rotate(-30deg); }
.model-podium { position:absolute; left:111px; bottom:96px; width:264px; height:102px; border:1px solid rgba(7,24,39,.33); background:linear-gradient(118deg,rgba(255,255,255,.66),rgba(86,137,151,.26)); box-shadow:inset 1px 1px 0 rgba(255,255,255,.7); transform:translateZ(7px); }.model-podium::before { content:""; position:absolute; left:15px; top:19px; width:156px; height:1px; background:rgba(7,24,39,.35); box-shadow:0 18px 0 rgba(7,24,39,.2),0 36px 0 rgba(7,24,39,.15); }.model-podium::after { content:""; position:absolute; right:-22px; top:0; width:21px; height:100px; border:1px solid rgba(7,24,39,.23); border-left:0; background:rgba(216,181,109,.28); transform:skewY(-43deg); transform-origin:left top; }
.hero-building { position:absolute; overflow:hidden; border:1px solid rgba(255,255,255,.8); background:linear-gradient(121deg,rgba(251,255,252,.85),rgba(109,159,169,.36) 57%,rgba(216,181,109,.42)); box-shadow:inset 1px 1px 0 rgba(255,255,255,.8),-11px 16px 20px rgba(7,24,39,.16); transform-style:preserve-3d; }.hero-building::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(180deg,transparent 0 21px,rgba(7,24,39,.18) 22px 23px); }.hero-building::after { content:""; position:absolute; top:0; right:-18px; height:100%; width:17px; border:1px solid rgba(7,24,39,.18); border-left:0; background:linear-gradient(180deg,rgba(216,181,109,.48),rgba(22,86,109,.3)); transform:skewY(-42deg); transform-origin:left top; }.hero-building i { position:relative; z-index:1; display:block; height:3px; margin:11px 8px; background:rgba(7,24,39,.55); box-shadow:0 0 7px rgba(255,255,255,.64); }.hero-building b { position:absolute; z-index:2; top:0; left:0; width:100%; height:21px; border-bottom:1px solid rgba(7,24,39,.19); background:linear-gradient(116deg,rgba(255,255,255,.9),rgba(216,181,109,.2)); }
.building-one { left:193px; bottom:116px; width:93px; height:233px; transform:translateZ(60px); }.building-one b { clip-path:polygon(0 100%,72% 0,100% 100%); }.building-two { left:304px; bottom:109px; width:72px; height:166px; transform:translateZ(36px); }.building-two b { height:18px; }.building-three { left:111px; bottom:107px; width:88px; height:113px; transform:translateZ(25px); }
.model-skybridge { position:absolute; z-index:3; left:182px; bottom:195px; width:126px; height:19px; border:1px solid rgba(255,255,255,.8); background:linear-gradient(90deg,rgba(216,181,109,.72),rgba(236,250,248,.55)); box-shadow:0 0 13px rgba(216,181,109,.34); transform:translateZ(77px) skewY(-11deg); }.model-skybridge::after { content:""; position:absolute; left:9px; right:9px; top:8px; border-top:1px solid rgba(7,24,39,.45); }
.model-orbit { position:absolute; left:68px; bottom:82px; width:351px; height:141px; border:1px solid rgba(216,181,109,.44); border-radius:50%; transform:translateZ(13px); animation:model-orbit 14s linear infinite; }.orbit-beta { left:119px; bottom:105px; width:249px; height:97px; border-color:rgba(36,91,111,.36); animation-direction:reverse; animation-duration:10s; }.model-beacon { position:absolute; z-index:4; bottom:278px; left:48px; color:var(--navy); font-size:8px; letter-spacing:1.5px; font-weight:700; transform:translateZ(100px) rotateZ(17deg); }.model-beacon span { display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--gold-deep); box-shadow:0 0 0 5px rgba(216,181,109,.2),0 0 14px var(--gold); }
.hero-scroll { color: var(--muted); display: flex; align-items: center; gap: 9px; position: absolute; left: max(24px, calc((100% - 1180px)/2)); bottom: 26px; font-weight: 700; font-size: 8px; letter-spacing: 1.7px; }.hero-scroll span { display: block; background: var(--gold); height: 1px; width: 35px; }

.intro-strip { background: var(--navy); color: white; overflow: hidden; }.intro-strip .container { min-height: 99px; display:flex; align-items:center; justify-content:space-between; gap: 25px; }.intro-strip p { margin:0; font-family:var(--serif); font-size: 22px; letter-spacing: -.5px; }.intro-strip p:last-child { color: var(--gold); font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: 2.5px; }.intro-strip em { color:var(--gold); }.intro-line { height: 1px; max-width: 310px; flex: 1; background:rgba(255,255,255,.2); }
.section { padding: 120px 0; }.about-layout { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(60px, 8vw, 132px); align-items: center; }.about-image { position: relative; }.about-image-frame { position:relative; overflow:hidden; height: 493px; background: linear-gradient(155deg, #d4d4ca, #6c7b78); }.scene-sky { position:absolute; inset:0; background:linear-gradient(150deg,#f1e1b9 0%,#d7e1de 40%,#63808c 100%); }.scene-sun { position:absolute; top: 52px; right: 68px; width: 82px; height:82px; border-radius:50%; background:#f2cc7b; box-shadow: 0 0 38px rgba(242,204,123,.8); }.scene-building { position:absolute; bottom:67px; background:linear-gradient(120deg,#e7e9e3,#97a9a5); transform:skewY(-10deg); box-shadow:-14px 14px 22px rgba(8,33,43,.18); }.scene-building-one { left:54px; width:196px; height:250px; }.scene-building-two { right:-15px; width:170px; height:330px; background:linear-gradient(120deg,#153148,#4d7081); }.scene-building::after { content:""; position:absolute; inset: 17px 13px; background: repeating-linear-gradient(180deg,rgba(7,24,39,.52) 0 2px,transparent 2px 27px); }.scene-ground { position:absolute; bottom:0; height: 69px; width:100%; background:linear-gradient(90deg,#102937,#516f69); }.about-image-frame p { position:absolute; z-index:1; left:27px; top:28px; color:white; font-size:9px; line-height:1.2; letter-spacing:2px; font-weight:500; }.about-image-frame p strong { color:var(--gold); font-size:13px; }.image-caption { display:flex; align-items:center; gap: 11px; margin: 19px 0 0 22px; }.image-caption span { font-family:var(--serif); font-size:24px; color:var(--gold-deep); }.image-caption p { margin:0; color:var(--muted); font-size:11px; line-height:1.3; font-weight:600; }
.about-copy h2, .section-heading h2, .center-heading h2, .contact-copy h2 { font-size: clamp(35px, 3.9vw, 52px); margin-bottom: 24px; }.about-copy > p:not(.eyebrow) { color:var(--muted); max-width: 515px; margin-bottom: 26px; }.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--border); margin-top:38px; }.stat-grid div { padding:17px 8px 0 0; display:flex; flex-direction:column; gap:3px; border-right:1px solid var(--border); padding-left: 13px; }.stat-grid div:first-child { padding-left:0; }.stat-grid div:last-child { border-right:0; }.stat-grid b { color:var(--gold-deep); font-size:10px; letter-spacing:1.5px; }.stat-grid span { color:var(--navy); font-size:11px; font-weight:700; }

.services { background:var(--soft); }.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap: 35px; margin-bottom: 54px; }.section-heading h2 { margin-bottom:0; max-width:650px; }.section-heading > p { color:var(--muted); max-width:360px; margin:0 0 6px; font-size:15px; }.section-heading .text-link { margin-bottom:7px; white-space:nowrap; }.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.service-card { position:relative; padding:29px 26px 24px; min-height:315px; background:white; border:1px solid var(--border); transition:transform .3s, box-shadow .3s, border-color .3s; }.service-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); border-color:transparent; }.service-number { color:#a7afb4; font-size:10px; letter-spacing:1.2px; font-weight:700; position:absolute; right:21px; top:19px; }.service-icon { position:relative; width:49px; height:49px; margin-bottom:27px; background:#f6ebd2; border-radius:50%; }.icon-home::before { content:""; position:absolute; width:19px; height:17px; background:var(--gold-deep); left:15px; top:19px; }.icon-home::after { content:""; position:absolute; width:22px; height:22px; border-left:3px solid var(--gold-deep); border-top:3px solid var(--gold-deep); transform:rotate(45deg); left:13px; top:10px; }.icon-home span { position:absolute; z-index:1; width:4px; height:7px; background:#f6ebd2; left:23px; top:29px; }.icon-office { padding:12px; display:grid; grid-template-columns:repeat(2,1fr); gap:4px; }.icon-office span { display:block; border:2px solid var(--gold-deep); }.icon-community::before, .icon-community span { position:absolute; border-radius:50%; background:var(--gold-deep); }.icon-community::before { content:""; width:18px; height:18px; top:12px; left:16px; }.icon-community span:nth-child(1) { width:13px;height:13px;left:8px;bottom:11px; }.icon-community span:nth-child(2) { width:13px;height:13px;right:8px;bottom:11px; }.icon-community span:nth-child(3) { height: 10px; width:28px; left:11px; bottom:7px; border-radius:11px 11px 3px 3px; }.icon-plan::before { content:""; position:absolute; inset:13px; border:2px solid var(--gold-deep); }.icon-plan span { position:absolute; background:var(--gold-deep); }.icon-plan span:nth-child(1) { width:18px;height:2px;left:16px;top:22px; }.icon-plan span:nth-child(2) { width:2px;height:18px;left:24px;top:16px; }.icon-plan span:nth-child(3) { width:8px;height:2px;right:11px;bottom:11px; }.service-card h3 { color:var(--navy); font-family:var(--serif); font-size:23px; font-weight:500; line-height:1.14; margin-bottom:13px; }.service-card p { color:var(--muted); font-size:13px; line-height:1.65; margin-bottom:17px; }.service-card a { color:var(--gold-deep); font-size:11px; font-weight:700; }.service-card a i { font-style:normal; margin-left:6px; font-size:15px; }

.projects { padding-bottom: 132px; }.project-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:46px 24px; }.project-card { border-bottom:1px solid var(--border); }.project-visual { height:286px; position:relative; overflow:hidden; background:#dce2e1; }.project-label { z-index:2; position:absolute; left:17px; top:17px; padding:6px 9px; color:white; font-size:8px; font-weight:700; letter-spacing:1.4px; background:rgba(7,24,39,.72); backdrop-filter:blur(8px); }.residential-visual { background:linear-gradient(140deg,#d7e0dc 0%,#f2dfad 100%); }.residential-visual::before { content:""; position:absolute; background:linear-gradient(155deg,#f8f6ee 0 30%,#d9ddd4 31% 100%); width:75%; height:70%; left:12%; bottom:-2%; clip-path:polygon(0 38%,65% 0,100% 32%,100% 100%,0 100%); box-shadow: 0 18px 30px #3f5f5d55; }.residential-visual::after { content:""; position:absolute; bottom:0; left:0; height:26%; width:100%; background:linear-gradient(0deg,#557970,#9eb3a4); clip-path:polygon(0 52%,100% 0,100% 100%,0 100%); }.project-window-grid { position:absolute; z-index:1; bottom:18%; left:35%; width:29%; height:28%; background:repeating-linear-gradient(90deg,#476675 0 19%,#e9e0bb 20% 24%); }.office-visual { background:linear-gradient(135deg,#172f44,#718d9d 58%,#d4ba7e); }.office-tower { position:absolute; left:31%; bottom:-12%; width:40%; height:112%; background:repeating-linear-gradient(90deg,#d0e0de 0 3%,transparent 3% 19%),repeating-linear-gradient(180deg,#294657 0 2%,transparent 2% 11%); border-left:8px solid rgba(255,255,255,.35); transform:perspective(250px) rotateY(-12deg); box-shadow:14px 0 14px rgba(7,24,39,.3); }.office-visual::after { content:""; position:absolute; bottom:0; width:100%; height:36%; background:linear-gradient(0deg,#102c39,transparent); }.commercial-visual { background:linear-gradient(155deg,#e7dab6,#6f8a84); }.commercial-visual::after { content:""; position:absolute; bottom:0; width:100%; height:28%; background:#3e625f; clip-path:polygon(0 45%,100% 0,100% 100%,0 100%); }.commercial-block { position:absolute; bottom:24%; background:linear-gradient(145deg,#f6f1df,#b78e49); box-shadow:11px 9px 18px rgba(7,24,39,.22); }.commercial-block-a { width:42%; height:44%; left:15%; }.commercial-block-b { width:37%; height:60%; left:50%; background:linear-gradient(145deg,#426171,#183243); }.bespoke-visual { background:linear-gradient(132deg,#f6f4ed,#d8b56d); }.bespoke-visual::before { content:""; position:absolute; width: 90%; height: 90%; top:10%; left:7%; background:linear-gradient(130deg,transparent 0 48%,rgba(7,24,39,.8) 48% 49%,transparent 49%),linear-gradient(160deg,transparent 0 64%,rgba(7,24,39,.65) 64% 65%,transparent 65%),linear-gradient(30deg,transparent 0 37%,rgba(7,24,39,.5) 37% 38%,transparent 38%); }.bespoke-lines { position:absolute; border:1px solid rgba(7,24,39,.5); inset: 18% 24%; transform:rotate(45deg); }.project-body { padding:19px 0 6px; display:flex; justify-content:space-between; gap:20px; align-items:center; }.project-body small { color:var(--gold-deep); font-size:9px; font-weight:700; letter-spacing:1.25px; }.project-body h3 { color:var(--navy); font-family:var(--serif); font-size:27px; font-weight:500; line-height:1.15; margin:4px 0 0; }.round-link { flex:0 0 36px; width:36px; aspect-ratio:1; border:1px solid var(--border); border-radius:50%; display:grid; place-items:center; color:var(--navy); font-size:17px; transition:.25s; }.project-card:hover .round-link { background:var(--navy); color:white; transform:rotate(45deg); }.project-card > p { margin:0 0 19px; color:var(--muted); font-size:13px; max-width:480px; }

.bespoke { position:relative; padding:0; overflow:hidden; background:var(--navy); color:white; }.bespoke-layout { display:grid; grid-template-columns:.9fr 1.1fr; min-height:585px; }.bespoke-copy { padding:103px 0; max-width:485px; position:relative; z-index:1; }.eyebrow-light { color:#e1c688; }.bespoke h2, .cta-section h2 { color:white; font-size:clamp(39px,4vw,55px); margin-bottom:21px; }.bespoke h2 em, .cta-section h2 em { color:var(--gold); }.bespoke-copy > p:not(.eyebrow) { color:#c5ced2; margin-bottom:22px; }.bespoke ul { padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:9px 15px; margin:0 0 31px; }.bespoke li { color:#f0f3f4; font-size:13px; }.bespoke li::before { content:"✓"; color:var(--gold); margin-right:8px; }.bespoke-graphic { position:relative; overflow:hidden; min-height:585px; }.graphic-grid { position:absolute; inset:0 -16%; background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:37px 37px; transform:perspective(340px) rotateY(-18deg) skewY(-9deg); }.graphic-slab { position:absolute; bottom:70px; transform:skewY(-21deg); background:linear-gradient(110deg,rgba(255,255,255,.75),rgba(216,181,109,.35)); border:1px solid rgba(255,255,255,.38); box-shadow:12px 12px 30px rgba(0,0,0,.3); }.slab-one { width:127px; height:312px; left:25%; }.slab-two { width:102px; height:240px; left:49%; bottom:70px; background:linear-gradient(110deg,rgba(216,181,109,.9),rgba(255,255,255,.15)); }.slab-three { width:102px; height:172px; left:67%; }.graphic-ring { width:320px; height:320px; position:absolute; top:91px; right:16px; border:1px solid rgba(216,181,109,.55); border-radius:50%; }.graphic-ring::after { content:""; position:absolute; inset:30px; border:1px solid rgba(255,255,255,.3); border-radius:50%; }.graphic-caption { position:absolute; right:5px; bottom:41px; color:white; font-family:var(--serif); line-height:1.05; letter-spacing:1px; font-size:18px; }.graphic-caption b { color:var(--gold); font-weight:500; }

.why-us { background:var(--soft); }.center-heading { text-align:center; margin-bottom:57px; }.center-heading .eyebrow { justify-content:center; }.center-heading .eyebrow span:last-child { width:26px; }.center-heading h2 { margin:0; }.benefit-grid { border-top:1px solid var(--border); border-left:1px solid var(--border); display:grid; grid-template-columns:repeat(3,1fr); }.benefit { padding:31px 31px 35px; min-height:193px; background:var(--soft); border-bottom:1px solid var(--border); border-right:1px solid var(--border); transition:.3s; }.benefit:hover { position:relative; background:white; box-shadow:var(--shadow); transform:scale(1.025); z-index:1; }.benefit b { display:block; color:var(--gold-deep); font-size:10px; letter-spacing:1.4px; margin-bottom:32px; }.benefit h3 { color:var(--navy); font-family:var(--serif); font-size:21px; font-weight:500; margin-bottom:7px; }.benefit p { color:var(--muted); font-size:12px; line-height:1.55; margin:0; }

.cta-section { position:relative; overflow:hidden; background:linear-gradient(114deg,#071827,#0d2d46); color:white; padding:116px 0; text-align:center; }.cta-orb { position:absolute; width:830px; height:830px; border:1px solid rgba(216,181,109,.21); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); }.cta-orb::before,.cta-orb::after { content:""; position:absolute; border:1px solid rgba(216,181,109,.14); border-radius:50%; inset: 81px; }.cta-orb::after { inset: 161px; }.cta-content { position:relative; max-width:770px; }.cta-content .eyebrow { justify-content:center; }.cta-content h2 { margin-bottom:21px; }.cta-content > p:not(.eyebrow) { color:#c2cbd0; max-width:700px; margin:0 auto 29px; }.cta-actions { display:flex; justify-content:center; gap:13px; }

.contact-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(60px, 10vw, 146px); align-items:start; }.contact-copy > p:not(.eyebrow) { color:var(--muted); max-width:366px; }.contact-details { border-top:1px solid var(--border); margin-top:36px; }.contact-details a { display:flex; align-items:center; gap:14px; border-bottom:1px solid var(--border); padding:15px 0; color:var(--navy); font-size:13px; font-weight:600; transition:color .2s; }.contact-details a:hover { color:var(--gold-deep); }.contact-details i { width:30px; height:30px; display:grid; place-items:center; background:#f8eed7; color:var(--gold-deep); border-radius:50%; font-size:14px; font-style:normal; }.contact-details span { display:flex; flex-direction:column; }.contact-details small { color:var(--muted); font-size:8px; letter-spacing:1.2px; font-weight:700; margin-bottom:2px; }.contact-form { background:var(--soft); padding:34px; }.contact-form label { display:block; color:var(--navy); font-size:10px; font-weight:700; letter-spacing:1.2px; margin-bottom:18px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.contact-form input, .contact-form textarea { border:0; border-bottom:1px solid #ccd3d5; border-radius:0; outline:0; display:block; width:100%; padding:10px 0 9px; margin-top:5px; background:transparent; color:var(--ink); font-size:14px; font-weight:400; resize:vertical; transition:border .2s; }.contact-form input:focus, .contact-form textarea:focus { border-color:var(--gold-deep); }.contact-form input::placeholder, .contact-form textarea::placeholder { color:#9ca6aa; }.contact-form .button { margin-top:4px; }.form-message { min-height:18px; color:var(--gold-deep); font-size:12px; margin:11px 0 0; }

/* Project photography */
.about-image-frame { background-image:linear-gradient(180deg,rgba(7,24,39,.2),rgba(7,24,39,.03)),url("images/vision-made-real.png"); background-position:center; background-size:cover; }
.about-image-frame > :not(p) { display:none; }
.project-visual { background-position:center; background-size:cover; }
.residential-visual { background-image:linear-gradient(rgba(7,24,39,.06),rgba(7,24,39,.18)),url("images/residential-community.png"); }
.office-visual { background-image:linear-gradient(rgba(7,24,39,.08),rgba(7,24,39,.21)),url("images/office-space.png"); }
.commercial-visual { background-image:linear-gradient(rgba(7,24,39,.05),rgba(7,24,39,.20)),url("images/commercial-development.png"); }
.bespoke-visual { background-image:linear-gradient(rgba(7,24,39,.04),rgba(7,24,39,.22)),url("images/build-to-suit.png"); }
.project-visual::before, .project-visual::after, .project-visual > :not(.project-label) { display:none; }

/* Vision Made Real: dimensional architectural presentation */
.about-vision { --vision-rotate-y:0deg; --vision-rotate-x:0deg; --vision-frame-x:0px; --vision-frame-y:0px; --vision-layer-x:0px; --vision-layer-y:0px; --vision-grid-x:0px; --vision-grid-y:0px; --vision-glass-x:0px; --vision-glass-y:0px; --vision-caption-x:0px; --vision-caption-y:0px; min-height:535px; perspective:1100px; transform-style:preserve-3d; isolation:isolate; }
.about-vision::after { content:""; position:absolute; z-index:-2; width:86%; height:74%; left:8%; bottom:17px; border-radius:50%; background:radial-gradient(ellipse,rgba(7,24,39,.21),rgba(7,24,39,0) 67%); filter:blur(14px); transform:rotateX(66deg) translateZ(-50px); }
.about-vision .about-image-frame { z-index:2; overflow:hidden; transform:rotateY(var(--vision-rotate-y)) rotateX(var(--vision-rotate-x)) translate3d(var(--vision-frame-x),var(--vision-frame-y),35px); transform-style:preserve-3d; transform-origin:center; box-shadow:22px 27px 40px rgba(7,24,39,.25),inset 0 1px 0 rgba(255,255,255,.45); transition:transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .65s; }
.about-vision:hover .about-image-frame { box-shadow:27px 33px 47px rgba(7,24,39,.3),inset 0 1px 0 rgba(255,255,255,.6); }
.about-vision .about-image-frame::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(117deg,rgba(255,255,255,.18),transparent 23%,transparent 70%,rgba(7,24,39,.18)); mix-blend-mode:soft-light; }.about-vision .about-image-frame p { text-shadow:0 2px 8px rgba(7,24,39,.38); }
.vision-layer { position:absolute; pointer-events:none; transition:transform .65s cubic-bezier(.2,.7,.2,1); }.vision-layer-back { z-index:0; width:89%; height:89%; left:8%; top:6%; border:1px solid rgba(216,181,109,.57); background:linear-gradient(135deg,rgba(216,181,109,.14),rgba(88,142,157,.12)); transform:rotateY(var(--vision-rotate-y)) rotateX(var(--vision-rotate-x)) translate3d(var(--vision-layer-x),var(--vision-layer-y),-35px); box-shadow:inset 1px 1px 0 rgba(255,255,255,.34); }.vision-layer-side { z-index:1; width:30px; height:89%; right:-29px; top:6%; border:1px solid rgba(7,24,39,.22); border-left:0; background:linear-gradient(180deg,rgba(216,181,109,.45),rgba(21,76,94,.28)); transform:rotateY(var(--vision-rotate-y)) skewY(-43deg) translate3d(var(--vision-layer-x),var(--vision-layer-y),-15px); transform-origin:left top; }
.vision-grid { position:absolute; z-index:3; left:-20px; bottom:35px; width:170px; height:104px; border:1px solid rgba(7,24,39,.29); background-image:linear-gradient(rgba(7,24,39,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(7,24,39,.14) 1px,transparent 1px); background-size:19px 19px; box-shadow:0 13px 21px rgba(7,24,39,.11); transform:perspective(350px) rotateX(59deg) rotateZ(-10deg) translate3d(var(--vision-grid-x),var(--vision-grid-y),40px); transition:transform .65s cubic-bezier(.2,.7,.2,1); }.vision-grid::after { content:""; position:absolute; left:14px; top:39px; width:132px; border-top:1px solid var(--gold-deep); box-shadow:0 -25px 0 rgba(216,181,109,.35),0 25px 0 rgba(216,181,109,.35); transform:rotate(-6deg); }
.vision-glass { position:absolute; z-index:4; right:-35px; top:56px; display:flex; flex-direction:column; gap:8px; width:132px; padding:13px; border:1px solid rgba(255,255,255,.63); background:rgba(255,255,255,.48); box-shadow:0 13px 28px rgba(7,24,39,.13),inset 0 1px 0 rgba(255,255,255,.7); backdrop-filter:blur(10px); color:var(--navy); transform:perspective(800px) rotateY(-18deg) rotateX(4deg) translate3d(var(--vision-glass-x),var(--vision-glass-y),58px); transition:transform .65s cubic-bezier(.2,.7,.2,1); }.vision-glass span { color:var(--gold-deep); font-size:7px; font-weight:700; letter-spacing:1.3px; }.vision-glass b { font-family:var(--serif); font-size:13px; font-weight:600; line-height:1.1; }.vision-orbit { position:absolute; z-index:-1; width:350px; height:149px; left:27px; bottom:25px; border:1px solid rgba(216,181,109,.41); border-radius:50%; transform:translateZ(-25px); animation:vision-orbit 13s linear infinite; }.vision-orbit-two { width:240px; height:100px; left:81px; bottom:49px; border-color:rgba(52,104,120,.37); animation-direction:reverse; animation-duration:9s; }
.about-vision .image-caption { position:relative; z-index:5; transform:translate3d(var(--vision-caption-x),var(--vision-caption-y),0); transition:transform .65s cubic-bezier(.2,.7,.2,1); }

/* Build To Suit: The AI Architect's Table */
.bespoke-ai-scene { --ai-image-x:0px; --ai-image-y:0px; --ai-ui-x:0px; --ai-ui-y:0px; background:#020b13; isolation:isolate; perspective:1000px; }
.bespoke-ai-scene::before { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(105deg,rgba(2,12,21,.67),transparent 36%,rgba(2,12,21,.07) 70%,rgba(2,12,21,.51)),linear-gradient(0deg,rgba(2,11,19,.46),transparent 35%); }.ai-table-image { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:center center; transform:scale(1.04) translate3d(var(--ai-image-x),var(--ai-image-y),0); transition:transform .75s cubic-bezier(.2,.7,.2,1); }.bespoke-ai-scene::after { content:""; position:absolute; z-index:2; inset:0; pointer-events:none; background:linear-gradient(120deg,transparent 27%,rgba(157,230,255,.13) 46%,transparent 53%); mix-blend-mode:screen; transform:translateX(-110%); animation:ai-shimmer 8s ease-in-out infinite; }
.ai-hologram-grid { position:absolute; z-index:3; width:84%; height:43%; left:8%; bottom:-7%; pointer-events:none; opacity:.73; background-image:linear-gradient(rgba(109,223,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(109,223,255,.35) 1px,transparent 1px); background-size:23px 23px; border-top:1px solid rgba(148,231,255,.68); transform:perspective(390px) rotateX(66deg) rotateZ(-5deg) translate3d(var(--ai-ui-x),var(--ai-ui-y),30px); transform-origin:top; box-shadow:0 -2px 18px rgba(56,195,255,.35); transition:transform .65s cubic-bezier(.2,.7,.2,1); }.ai-hologram-grid::after { content:""; position:absolute; inset:12px; border:1px solid rgba(216,181,109,.4); }.ai-scan-line { position:absolute; z-index:4; left:21%; right:14%; height:1px; top:54%; background:rgba(180,239,255,.86); box-shadow:0 0 9px #4fcbff,0 0 22px rgba(79,203,255,.72); animation:ai-scan 5s ease-in-out infinite; }
.ai-orbit { position:absolute; z-index:3; width:312px; height:115px; left:24%; bottom:21%; border:1px solid rgba(122,221,255,.47); border-radius:50%; pointer-events:none; transform:rotate(-10deg) translate3d(var(--ai-ui-x),var(--ai-ui-y),22px); transition:transform .65s cubic-bezier(.2,.7,.2,1); animation:ai-orbit 13s linear infinite; }.ai-orbit-two { width:219px; height:78px; left:35%; bottom:25%; border-color:rgba(216,181,109,.43); animation-direction:reverse; animation-duration:9s; }
.ai-annotation { position:absolute; z-index:5; display:flex; align-items:center; gap:7px; padding:8px 9px; color:#d8f7ff; border:1px solid rgba(173,237,255,.53); background:rgba(2,21,34,.61); box-shadow:0 7px 20px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.16); backdrop-filter:blur(8px); font-size:7px; font-weight:700; letter-spacing:1px; transform:translate3d(var(--ai-ui-x),var(--ai-ui-y),62px); transition:transform .65s cubic-bezier(.2,.7,.2,1); }.ai-annotation::before { content:""; width:5px; height:5px; border-radius:50%; background:#84e2ff; box-shadow:0 0 8px #84e2ff; }.annotation-layout { top:58px; left:20px; }.annotation-layout b { color:var(--gold); font-size:8px; }.annotation-layout i { position:absolute; left:14px; top:100%; width:1px; height:46px; background:linear-gradient(var(--gold),transparent); }.annotation-climate { right:16px; bottom:68px; flex-wrap:wrap; max-width:142px; }.annotation-climate span { width:100%; }.annotation-climate i { display:block; height:2px; flex:1; background:linear-gradient(90deg,#67d8ff 68%,rgba(103,216,255,.25) 68%); }.annotation-climate i:nth-of-type(2) { opacity:.68; }.annotation-climate i:nth-of-type(3) { opacity:.35; }.ai-readout { position:absolute; z-index:5; right:20px; top:20px; padding-left:10px; border-left:1px solid var(--gold); color:#d9ebef; font-size:7px; font-weight:700; letter-spacing:1.3px; transform:translate3d(var(--ai-ui-x),var(--ai-ui-y),55px); transition:transform .65s cubic-bezier(.2,.7,.2,1); }.ai-readout b { display:block; color:var(--gold); font-family:var(--serif); font-size:22px; font-weight:500; letter-spacing:0; line-height:.9; margin-top:5px; }

.site-footer { background:#061522; color:white; }.footer-main { display:grid; grid-template-columns:1.7fr .65fr 1fr; gap:60px; padding:61px 0 48px; }.footer-brand .brand img { width:44px; height:44px; padding:3px; background:white; mix-blend-mode:normal; filter:none; box-shadow:0 5px 16px rgba(0,0,0,.25); }.footer-brand .brand-name { color:white; }.footer-brand p { color:#9facb3; font-size:13px; max-width:257px; margin:19px 0 0; }.footer-main h3 { color:var(--gold); font-size:9px; letter-spacing:1.8px; margin:7px 0 18px; }.footer-main div:not(.footer-brand) a { display:block; color:#c1cbd0; font-size:12px; margin:8px 0; transition:color .2s; }.footer-main div:not(.footer-brand) a:hover { color:var(--gold); }.footer-bottom { border-top:1px solid rgba(255,255,255,.13); padding:18px 0; display:flex; justify-content:space-between; color:#8e9ca4; font-size:10px; }.footer-bottom a:hover { color:var(--gold); }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }.reveal.visible { opacity:1; transform:none; }.reveal-delay { transition-delay:.12s; }.reveal-delay-2 { transition-delay:.22s; }.reveal-delay-3 { transition-delay:.32s; }
@keyframes building-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } } @keyframes card-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } } @keyframes orb-drift { to { transform:translate(28px,-26px) scale(1.05); } } @keyframes wire-slide { 50% { opacity:.18; } } @keyframes settle { from { opacity:0; transform:translate(18px, 35px); } to { opacity:1; transform:translate(0,0); } } @keyframes model-breathe { 0%,100% { margin-bottom:0; } 50% { margin-bottom:9px; } } @keyframes model-orbit { to { transform:translateZ(13px) rotate(359deg); } } @keyframes vision-orbit { to { transform:translateZ(-25px) rotate(359deg); } } @keyframes ai-scan { 0%,100% { transform:translateY(-72px); opacity:.18; } 45%,55% { opacity:1; } 50% { transform:translateY(175px); } } @keyframes ai-orbit { to { transform:rotate(350deg) translate3d(var(--ai-ui-x),var(--ai-ui-y),22px); } } @keyframes ai-shimmer { 0%,66%,100% { transform:translateX(-110%); } 83% { transform:translateX(110%); } }

@media (max-width: 1000px) { .site-nav { gap:17px; }.hero { min-height:690px; }.hero-content { grid-template-columns:1fr .86fr; }.hero-architecture { transform:scale(.88); transform-origin:center right; }.hero-model { transform:rotateX(58deg) rotateY(-8deg) rotateZ(-15deg) scale(.9); transform-origin:right bottom; }.about-layout,.contact-layout { gap:55px; }.service-card { padding-inline:20px; }.project-body h3 { font-size:23px; }.bespoke-layout { grid-template-columns:1fr .8fr; }.footer-main { gap:35px; } }
@media (max-width: 780px) { .container { width:min(100% - 36px, 580px); }.header-inner { min-height:72px; }.menu-toggle { display:block; position:relative; z-index:3; }.menu-toggle.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }.menu-toggle.open span:nth-child(2) { opacity:0; }.menu-toggle.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }.site-nav { display:flex; visibility:hidden; opacity:0; position:absolute; z-index:2; top:72px; left:0; right:0; padding:24px; background:rgba(255,255,255,.98); border-bottom:1px solid var(--border); box-shadow:0 10px 25px rgba(7,24,39,.08); flex-direction:column; align-items:flex-start; gap:17px; transform:translateY(-14px); transition:.25s; }.site-nav.open { visibility:visible; opacity:1; transform:none; }.site-nav > a:not(.button)::after { display:none; }.nav-cta { margin:3px 0 0; }.hero { padding-top:118px; min-height:auto; }.hero-content { display:block; }.hero-copy { padding:0; }.hero-architecture { height:430px; margin-top:24px; transform:scale(.84); transform-origin:top center; margin-bottom:-67px; }.hero-model { transform:rotateX(58deg) rotateY(-8deg) rotateZ(-15deg) scale(.82); transform-origin:center bottom; }.hero-mini-stats { margin-top:40px; }.intro-strip .container { min-height:76px; }.intro-strip p { font-size:18px; }.intro-strip p:last-child { display:none; }.intro-line { max-width:130px; }.section { padding:80px 0; }.about-layout,.contact-layout { grid-template-columns:1fr; gap:50px; }.about-vision { max-width:440px; min-height:482px; margin:auto; }.about-image-frame { height:440px; }.vision-glass { right:-18px; }.section-heading { align-items:flex-start; flex-direction:column; margin-bottom:38px; gap:15px; }.section-heading > p { margin:0; }.service-grid { grid-template-columns:repeat(2,1fr); }.project-grid { gap:38px 17px; }.bespoke-layout { grid-template-columns:1fr; }.bespoke-copy { padding:80px 0 26px; }.bespoke-graphic { min-height:375px; }.bespoke-ai-scene { min-height:440px; }.annotation-layout { top:43px; left:15px; }.annotation-climate { bottom:47px; right:15px; }.graphic-slab { bottom:35px; }.slab-one { height:230px; }.slab-two { height:180px; bottom:35px; }.slab-three { height:140px; }.graphic-ring { top:25px; }.benefit { padding:23px; }.contact-layout { gap:35px; }.footer-main { grid-template-columns:1.3fr 1fr; }.footer-main > div:last-child { grid-column:2; }.footer-brand { grid-row:span 2; } }
@media (max-width: 520px) { h1 { font-size:45px; }.hero-lead { font-size:14px; }.hero-actions { gap:17px; flex-wrap:wrap; }.hero-mini-stats { gap:12px; }.hero-mini-stats div { padding-right:11px; gap:5px; }.hero-mini-stats strong { font-size:20px; }.hero-mini-stats span { font-size:7.5px; }.hero-architecture { transform:scale(.68); width:530px; margin-left:calc(50% - 265px); margin-top:4px; margin-bottom:-137px; }.hero-scroll { display:none; }.intro-strip .container { justify-content:center; }.intro-line { display:none; }.about-image-frame { height:355px; }.stat-grid { grid-template-columns:repeat(2,1fr); }.stat-grid div { border-bottom:1px solid var(--border); padding:12px 0 10px; }.stat-grid div:nth-child(2) { border-right:0; padding-left:12px; }.stat-grid div:nth-child(3) { border-bottom:0; }.stat-grid div:last-child { padding-left:12px; border-bottom:0; }.service-grid,.project-grid { grid-template-columns:1fr; }.service-card { min-height:287px; }.project-visual,.project-large .project-visual { height:255px; }.bespoke ul { grid-template-columns:1fr; }.benefit-grid { grid-template-columns:1fr; }.benefit { min-height:auto; }.cta-section { padding:83px 0; }.cta-actions { flex-direction:column; align-items:center; }.cta-actions .button { min-width:160px; }.form-row { grid-template-columns:1fr; gap:0; }.contact-form { padding:27px 22px; }.footer-main { grid-template-columns:1fr; gap:25px; }.footer-main > div:last-child, .footer-brand { grid-column:auto; grid-row:auto; }.footer-bottom { flex-direction:column; gap:9px; }.intro-strip p { font-size:16px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } .reveal { opacity:1; transform:none; } }
