:root {
  --ink: #11191c;
  --ink-soft: #263135;
  --ivory: #f6f3ed;
  --paper: #fffdf9;
  --stone: #ded8cd;
  --muted: #687174;
  --red: #b31319;
  --red-dark: #831116;
  --brass: #b89b69;
  --white: #fff;
  --shadow: 0 24px 70px rgba(16, 25, 28, .13);
  --radius: 2px;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Segoe UI", Arial, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.narrow { width: min(calc(100% - 40px), 820px); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  color: var(--red);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 34px; height: 2px; background: currentColor; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, .display {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.02;
}
h1 { font-size: clamp(3.15rem, 7.5vw, 7.5rem); }
h2 { font-size: clamp(2.35rem, 5vw, 4.85rem); }
h3 { line-height: 1.22; }
.lead { color: var(--ink-soft); font-size: clamp(1.08rem, 1.5vw, 1.28rem); }
.section { padding: clamp(78px, 10vw, 144px) 0; }
.section-dark { background: var(--ink); color: var(--white); }
.section-ivory { background: var(--ivory); }
.section-heading { max-width: 780px; margin-bottom: 52px; }
.section-heading p { max-width: 650px; color: var(--muted); }
.section-dark .section-heading p { color: #bac2c4; }
.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 24px;
  border: 1px solid var(--red);
  border-radius: var(--radius);
  color: var(--white);
  background: var(--red);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: .25s ease;
}
.button:hover { background: var(--red-dark); border-color: var(--red-dark); transform: translateY(-2px); }
.button-outline { background: transparent; border-color: rgba(255,255,255,.55); }
.button-outline:hover { background: var(--white); border-color: var(--white); color: var(--ink); }
.button-dark { background: var(--ink); border-color: var(--ink); }
.text-link { color: var(--red); font-size: .79rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.text-link::after { content: "  →"; }

/* Header */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  height: 88px;
  border-bottom: 1px solid rgba(255,255,255,.16);
  color: var(--white);
  transition: .3s ease;
}
.site-header.scrolled, .site-header.solid {
  height: 76px;
  color: var(--ink);
  background: rgba(255,253,249,.97);
  border-color: rgba(17,25,28,.1);
  box-shadow: 0 8px 32px rgba(17,25,28,.07);
  backdrop-filter: blur(14px);
}
.header-inner { height: 100%; display: flex; align-items: center; gap: 28px; }
.brand { display: flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 222px; height: 62px; object-fit: contain; object-position: left center; background: white; border-radius: 2px; }
.site-header:not(.scrolled):not(.solid) .brand img { box-shadow: 0 8px 30px rgba(0,0,0,.16); }
.main-nav { display: flex; align-items: center; gap: clamp(15px, 2vw, 29px); margin-left: auto; }
.main-nav a {
  position: relative;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: var(--red); transition: .25s; }
.main-nav a:hover::after, .main-nav a.active::after { right: 0; }
.header-call { margin-left: 4px; padding: 11px 16px; border: 1px solid currentColor; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.menu-toggle { display: none; margin-left: auto; width: 46px; height: 46px; border: 0; background: transparent; color: currentColor; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after { content: ""; display: block; width: 26px; height: 2px; margin: 6px auto; background: currentColor; transition: .25s; }

/* Hero */
.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: end;
  isolation: isolate;
  color: var(--white);
  background: var(--ink) url("images/hero-wingate.webp") center/cover no-repeat;
}
.hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(7,12,14,.88) 0%, rgba(7,12,14,.58) 46%, rgba(7,12,14,.12) 78%), linear-gradient(0deg, rgba(7,12,14,.67), transparent 55%); }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 0 67%, rgba(179,19,25,.55) 67.15% 67.35%, transparent 67.5%); opacity: .5; }
.hero-content { width: min(920px, 100%); padding: 180px 0 100px; }
.hero .eyebrow { color: #e4cda8; }
.hero h1 { max-width: 900px; margin-bottom: 26px; }
.hero h1 em { color: #e4cda8; font-weight: 400; }
.hero-copy { max-width: 660px; margin-bottom: 34px; color: #e9edee; font-size: clamp(1.05rem, 1.7vw, 1.3rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-note { position: absolute; right: max(20px, calc((100% - var(--max))/2)); bottom: 44px; max-width: 270px; padding-left: 20px; border-left: 2px solid var(--brass); color: #e7ebeb; font-size: .84rem; }
.trust-strip { background: var(--ink); color: var(--white); border-top: 1px solid rgba(255,255,255,.08); }
.trust-grid { min-height: 104px; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; }
.trust-item { padding: 18px 24px; border-right: 1px solid rgba(255,255,255,.12); }
.trust-item:first-child { padding-left: 0; }
.trust-item:last-child { border: 0; }
.trust-item strong { display: block; color: var(--brass); font-family: Georgia, serif; font-size: 1.5rem; font-weight: 400; }
.trust-item span { color: #b9c0c1; font-size: .77rem; letter-spacing: .04em; }

/* Content blocks */
.split { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(46px, 8vw, 112px); align-items: center; }
.split-media { position: relative; min-height: 620px; }
.split-media .image-main { width: 82%; height: 570px; object-fit: cover; margin-left: auto; box-shadow: var(--shadow); }
.split-media .image-float { position: absolute; left: 0; bottom: -26px; width: 42%; height: 250px; object-fit: cover; border: 10px solid var(--paper); }
.signature { margin-top: 28px; color: var(--red); font-family: Georgia, serif; font-size: 1.34rem; font-style: italic; }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--stone); border: 1px solid var(--stone); }
.service-card { min-height: 310px; padding: 38px; background: var(--paper); transition: .3s ease; }
.service-card:hover { position: relative; z-index: 1; transform: translateY(-6px); box-shadow: var(--shadow); }
.service-number { display: block; margin-bottom: 44px; color: var(--red); font-family: Georgia, serif; font-size: 1rem; font-style: italic; }
.service-card h3 { font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.service-card p { color: var(--muted); font-size: .94rem; }
.projects-featured { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: repeat(2,310px); gap: 16px; }
.project-tile { position: relative; overflow: hidden; isolation: isolate; color: var(--white); }
.project-tile:first-child { grid-row: span 2; }
.project-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.project-tile::after { content: ""; position: absolute; inset: 35% 0 0; z-index: 0; background: linear-gradient(transparent, rgba(7,12,14,.86)); }
.project-tile:hover img { transform: scale(1.045); }
.project-caption { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 24px; }
.project-caption small { color: #e6c89a; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.project-caption h3 { margin: 5px 0 0; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 400; }
.investment-panel { display: grid; grid-template-columns: 1fr 1fr; min-height: 660px; }
.investment-panel .image { background: url("images/wingate-kitchen.webp") center/cover; }
.investment-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(48px, 7vw, 100px); background: #871116; color: var(--white); }
.investment-copy .eyebrow { color: #efd2a7; }
.investment-copy blockquote { margin: 28px 0; font-family: Georgia, serif; font-size: clamp(1.55rem, 2.7vw, 2.8rem); line-height: 1.25; }
.investment-copy p { color: #f1dfe0; }
.cta-band { padding: 76px 0; background: var(--ink); color: var(--white); }
.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.cta-inner h2 { max-width: 750px; margin-bottom: 0; font-size: clamp(2.1rem, 4vw, 4rem); }

/* Interior page hero */
.page-hero { position: relative; min-height: 58svh; display: flex; align-items: end; padding: 165px 0 70px; color: var(--white); background: var(--ink); isolation: isolate; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .34; background: var(--page-image, url("images/wingate-living.webp")) center/cover; }
.page-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,14,16,.94), rgba(8,14,16,.58) 65%, rgba(8,14,16,.25)); }
.page-hero h1 { max-width: 900px; margin: 0; font-size: clamp(3.4rem, 7vw, 6.8rem); }
.page-hero p { max-width: 650px; margin: 26px 0 0; color: #dce1e2; font-size: 1.13rem; }
.about-hero { --page-image: url("images/wingate-entry.webp"); }
.services-hero { --page-image: url("images/wingate-kitchen.webp"); }
.projects-hero { --page-image: url("images/cloud-living.webp"); }
.assistant-hero { --page-image: url("images/wingate-sunroom.webp"); }
.contact-hero { --page-image: url("images/cloud-exterior.webp"); }

/* About */
.founder-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(50px,8vw,110px); align-items: center; }
.founder-photo { position: relative; }
.founder-photo img { width: 100%; max-height: 670px; object-fit: cover; object-position: center 24%; box-shadow: var(--shadow); }
.founder-badge { position: absolute; right: -24px; bottom: 32px; width: 150px; height: 150px; display: grid; place-items: center; padding: 24px; border-radius: 50%; color: var(--white); background: var(--red); text-align: center; font-family: Georgia, serif; }
.founder-badge strong { display: block; font-size: 2.2rem; font-weight: 400; line-height: 1; }
.team-section .section-heading { max-width: 780px; }
.owner-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px; }
.owner-card { overflow: hidden; background: var(--white); box-shadow: var(--shadow); }
.owner-photo { height: 520px; overflow: hidden; background: var(--ivory); }
.owner-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; transition: transform .5s ease; }
.owner-card:hover .owner-photo img { transform: scale(1.025); }
.owner-copy { padding: clamp(30px,4vw,48px); }
.owner-copy h2 { margin-bottom: 8px; }
.owner-role { margin-top: 0; color: var(--red); font-weight: 700; letter-spacing: .02em; }
.team-action { margin-top: 40px; text-align: center; }
.timeline { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(255,255,255,.16); }
.timeline article { padding: 42px; background: var(--ink); }
.timeline time { color: var(--brass); font-family: Georgia, serif; font-size: 2.2rem; }
.timeline p { color: #b9c0c1; }
.value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.value-card { padding: 34px; border-top: 3px solid var(--red); background: var(--white); box-shadow: 0 16px 45px rgba(17,25,28,.07); }

/* Services */
.service-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.service-detail { position: relative; padding: 38px 38px 38px 94px; background: var(--white); border: 1px solid #e4dfd6; }
.service-detail .service-number { position: absolute; left: 34px; top: 36px; margin: 0; }
.service-detail h3 { margin-bottom: 10px; font-family: Georgia,serif; font-size: 1.55rem; font-weight: 400; }
.service-detail p { margin-bottom: 0; color: var(--muted); }
.process { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; counter-reset: process; }
.process article { counter-increment: process; position: relative; padding-top: 72px; border-top: 1px solid rgba(255,255,255,.24); }
.process article::before { content: "0" counter(process); position: absolute; top: 16px; color: var(--brass); font-family: Georgia,serif; font-size: 1.4rem; }
.process p { color: #b9c0c1; }
.emergency-panel { display: grid; grid-template-columns: 1.1fr .9fr; box-shadow: var(--shadow); }
.emergency-copy { padding: clamp(42px,6vw,78px); background: var(--white); }
.emergency-actions { display: grid; align-content: center; gap: 18px; padding: clamp(42px,6vw,78px); color: var(--white); background: var(--red); }
.emergency-actions a { font-family: Georgia,serif; font-size: clamp(1.6rem,3vw,2.8rem); }

/* Projects */
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.filter-button { padding: 10px 17px; border: 1px solid #cbc5ba; color: var(--ink); background: transparent; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.filter-button.active, .filter-button:hover { color: var(--white); background: var(--ink); border-color: var(--ink); }
.gallery { columns: 3 300px; column-gap: 16px; }
.gallery-item { position: relative; margin: 0 0 16px; break-inside: avoid; overflow: hidden; background: var(--ink); }
.gallery-item.hidden { display: none; }
.gallery-item button { display: block; width: 100%; padding: 0; border: 0; background: transparent; }
.gallery-item img { width: 100%; max-height: 590px; object-fit: cover; transition: .5s ease; }
.gallery-item:hover img { opacity: .7; transform: scale(1.025); }
.gallery-label { position: absolute; inset: auto 18px 15px; color: var(--white); text-align: left; opacity: 0; transform: translateY(8px); transition: .3s ease; pointer-events: none; }
.gallery-item:hover .gallery-label { opacity: 1; transform: none; }
.gallery-label strong { display: block; font-family: Georgia,serif; font-size: 1.22rem; }
.gallery-label span { color: #e4cda8; font-size: .73rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lightbox { position: fixed; inset: 0; z-index: 2000; display: none; place-items: center; padding: 40px; background: rgba(5,10,12,.94); }
.lightbox.open { display: grid; }
.lightbox img { max-width: min(1100px, 90vw); max-height: 82vh; }
.lightbox-close { position: absolute; right: 24px; top: 18px; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.4); color: var(--white); background: transparent; font-size: 1.6rem; }
.project-collection { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 54px 22px; }
.portfolio-card.hidden { display: none; }
.portfolio-image { position: relative; display: block; width: 100%; aspect-ratio: 4/3; overflow: hidden; padding: 0; border: 0; background: var(--ink); }
.portfolio-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease, opacity .4s ease; }
.portfolio-image:hover img { transform: scale(1.035); opacity: .82; }
.portfolio-count { position: absolute; right: 14px; bottom: 14px; padding: 7px 10px; color: #fff; background: rgba(10,11,12,.8); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.portfolio-copy { padding: 22px 4px 0; }
.portfolio-copy p { margin-bottom: 8px; color: var(--red); font-size: .69rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.portfolio-copy h3 { margin-bottom: 5px; font-family: Georgia,serif; font-size: clamp(1.55rem,2.5vw,2.25rem); font-weight: 400; }
.portfolio-copy span { display: block; margin-bottom: 11px; color: var(--muted); font-size: .8rem; }
.portfolio-copy small { display: block; max-width: 600px; color: var(--muted); font-size: .91rem; }
.portfolio-view { margin-top: 18px; padding: 0 0 5px; border: 0; border-bottom: 1px solid currentColor; color: var(--ink); background: transparent; font-weight: 800; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.complete-gallery { scroll-margin-top: 105px; margin-top: clamp(70px,10vw,130px); padding-top: clamp(50px,7vw,85px); border-top: 1px solid var(--line); }
.gallery-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(30px,7vw,100px); align-items: end; margin-bottom: 38px; }
.gallery-heading h2 { margin-bottom: 8px; font-size: clamp(2.4rem,5vw,4.8rem); }
.gallery-heading span { color: var(--muted); font-size: .83rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.gallery-heading > p { max-width: 560px; margin: 0; color: var(--muted); }
.gallery-video { position:relative; margin-bottom:12px; min-height:clamp(360px,58vw,720px); overflow:hidden; background:var(--ink); }
.gallery-video video { display:block; width:100%; height:100%; min-height:inherit; object-fit:cover; }
.gallery-video > span { position:absolute; left:24px; bottom:22px; display:grid; gap:2px; padding:12px 15px; color:#fff; background:rgba(10,11,12,.78); pointer-events:none; }
.gallery-video strong { font:400 1.15rem Georgia,serif; }.gallery-video small{color:#e4cda8;font-size:.63rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.house-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-flow: dense; gap: 12px; }
.house-photo { position: relative; min-height: 250px; overflow: hidden; padding: 0; border: 0; background: var(--ink); }
.house-photo:nth-child(7n+3), .house-photo:nth-child(7n+6) { grid-row: span 2; }
.house-photo-featured { grid-column: span 2; grid-row: span 2; min-height: 560px; }
.house-photo img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; transition: transform .55s ease, opacity .35s ease; }
.house-photo:hover img { transform: scale(1.025); opacity: .84; }
.house-photo span { position: absolute; left: 18px; bottom: 16px; padding: 8px 11px; color: #fff; background: rgba(10,11,12,.78); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lightbox-nav { position: absolute; top: 50%; z-index: 2; width: 54px; height: 54px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: #fff; background: rgba(0,0,0,.35); font-size: 2.2rem; line-height: 1; transform: translateY(-50%); }
.lightbox-prev { left: 22px; }.lightbox-next { right: 22px; }
.lightbox-counter { position: absolute; bottom: 18px; left: 50%; color: #fff; font-weight: 800; letter-spacing: .08em; transform: translateX(-50%); }
.compare-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(44px,7vw,96px); align-items: center; }
.compare-benefits { margin: 28px 0; padding: 0; list-style: none; }
.compare-benefits li { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.15); color: #d4d9da; }
.compare-disclosure { color: #9ca6a8; font-size: .78rem; }
.compare-studio { padding: clamp(20px,3vw,34px); color: var(--ink); background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.3); }
.compare-upload-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.compare-upload { display: grid; gap: 3px; min-width: 0; padding: 15px; border: 1px solid #d5d0c7; cursor: pointer; }
.compare-upload strong { font-size: .73rem; letter-spacing: .1em; text-transform: uppercase; }
.compare-upload span { overflow: hidden; color: var(--muted); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.compare-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.compare-canvas { position: relative; aspect-ratio: 16/10; overflow: hidden; background: #ddd; }
.compare-canvas img { width: 100%; height: 100%; object-fit: cover; }
.compare-after { position: absolute; inset: 0; }
.compare-before-wrap { position: absolute; inset: 0 auto 0 0; width: 50%; overflow: hidden; }
.compare-before-wrap img { width: 100%; max-width: none; }
.compare-range { position: absolute; inset: 0; z-index: 4; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.compare-handle { position: absolute; z-index: 3; top: 0; bottom: 0; left: 50%; width: 3px; background: #fff; transform: translateX(-50%); pointer-events: none; box-shadow: 0 0 0 1px rgba(0,0,0,.25); }
.compare-handle::after { content: "↔"; position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: var(--ink); background: #fff; transform: translate(-50%,-50%); font-weight: 900; }
.compare-tag { position: absolute; z-index: 2; top: 14px; padding: 6px 9px; color: #fff; background: rgba(10,11,12,.78); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.compare-tag-before { left: 14px; }.compare-tag-after { right: 14px; }
.compare-empty { min-height: 330px; display: grid; place-content: center; gap: 6px; padding: 30px; color: var(--muted); background: var(--ivory); text-align: center; }
.compare-empty strong { color: var(--ink); font-family: Georgia,serif; font-size: 1.5rem; font-weight: 400; }
.compare-analysis { min-height: 42px; padding-top: 16px; color: var(--muted); font-size: .82rem; }
.compare-analysis strong { color: var(--ink); }

/* Assistant */
.assistant-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(38px,7vw,90px); align-items: start; }
.assistant-points { display: grid; gap: 20px; }
.assistant-point { display: grid; grid-template-columns: 46px 1fr; gap: 18px; }
.assistant-point span { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--red); color: var(--red); border-radius: 50%; font-family: Georgia,serif; }
.chat-shell { overflow: hidden; border: 1px solid #d9d3c9; background: var(--white); box-shadow: var(--shadow); }
.chat-header { display: flex; align-items: center; gap: 13px; padding: 20px 22px; color: var(--white); background: var(--ink); }
.chat-status { width: 10px; height: 10px; border-radius: 50%; background: #6fd18a; box-shadow: 0 0 0 5px rgba(111,209,138,.12); }
.chat-header strong { display: block; }
.chat-header small { color: #b9c0c1; }
.chat-messages { height: 440px; overflow-y: auto; padding: 24px; background: #f6f3ed; }
.message { max-width: 82%; margin-bottom: 14px; padding: 13px 16px; border-radius: 12px 12px 12px 2px; background: var(--white); box-shadow: 0 5px 16px rgba(17,25,28,.06); font-size: .92rem; }
.message.user { margin-left: auto; border-radius: 12px 12px 2px 12px; color: var(--white); background: var(--ink); }
.message a { color: var(--red); font-weight: 700; text-decoration: underline; }
.quick-replies { display: flex; gap: 8px; padding: 0 20px 15px; overflow-x: auto; background: #f6f3ed; }
.quick-reply { flex: 0 0 auto; padding: 8px 12px; border: 1px solid #cfc8bd; border-radius: 99px; color: var(--ink); background: var(--white); font-size: .77rem; }
.chat-typing { display:flex;align-items:center;gap:5px;width:max-content;min-width:58px; }
.chat-typing i { display:block;width:6px;height:6px;border-radius:50%;background:#8c0009;animation:kellyTyping 1s ease-in-out infinite; }
.chat-typing i:nth-child(2) { animation-delay:.14s; }
.chat-typing i:nth-child(3) { animation-delay:.28s; }
.chat-send[aria-disabled="true"] { opacity:.55;cursor:wait; }
@keyframes kellyTyping { 0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1} }
.chat-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 16px; border-top: 1px solid #ddd7cd; }
.chat-form input { min-width: 0; padding: 12px 14px; border: 1px solid #cbc5ba; outline: none; }
.chat-form input:focus { border-color: var(--red); }
.chat-send { width: 48px; border: 0; color: var(--white); background: var(--red); font-size: 1.15rem; }
.safety-note { margin-top: 20px; padding: 18px; border-left: 3px solid var(--red); background: #fff; color: var(--muted); font-size: .84rem; }

/* Contact */
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(44px,8vw,108px); }
.contact-list { display: grid; gap: 0; margin-top: 34px; border-top: 1px solid #d9d3c9; }
.contact-row { display: grid; grid-template-columns: 108px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid #d9d3c9; }
.contact-row strong { color: var(--red); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: clamp(30px,5vw,58px); background: var(--white); box-shadow: var(--shadow); }
.field { display: grid; gap: 8px; }
.field.full { grid-column: 1/-1; }
.field label { font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.field input, .field textarea, .field select { width: 100%; padding: 14px 0; border: 0; border-bottom: 1px solid #aaa49a; border-radius: 0; background: transparent; outline: none; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--red); }
.field textarea { min-height: 120px; resize: vertical; }
.form-note { grid-column: 1/-1; color: var(--muted); font-size: .8rem; }
.service-map { position: relative; min-height: 430px; overflow: hidden; background: #e9e5dd; }
.service-map::before, .service-map::after { content: ""; position: absolute; border: 1px solid #c6beb0; border-radius: 50%; }
.service-map::before { width: 520px; height: 520px; left: 12%; top: -15%; }
.service-map::after { width: 280px; height: 280px; left: 24%; top: 13%; }
.map-copy { position: relative; z-index: 1; max-width: 520px; padding: 80px 9%; }
.map-cities { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.map-cities span { padding: 8px 12px; background: rgba(255,255,255,.76); border: 1px solid #d4cec3; font-size: .78rem; }

/* Footer & floating chat */
.site-footer { padding: 74px 0 26px; color: var(--white); background: #0b1113; }
.footer-grid { display: grid; grid-template-columns: 1.45fr .6fr .8fr 1fr; gap: 46px; padding-bottom: 54px; }
.footer-logo { width: 245px; margin-bottom: 22px; background: white; }
.footer-grid p, .footer-grid li { color: #aeb6b8; font-size: .88rem; }
.footer-grid h3 { margin-bottom: 18px; color: #e0c18f; font-size: .78rem; letter-spacing: .13em; text-transform: uppercase; }
.footer-grid ul { margin: 0; padding: 0; list-style: none; }
.footer-grid li { margin: 9px 0; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); color: #7f8a8d; font-size: .76rem; }
.chat-launcher { position: fixed; z-index: 1200; right: 22px; bottom: 22px; width: 62px; height: 62px; border: 0; border-radius: 50%; color: var(--white); background: var(--red); box-shadow: 0 12px 34px rgba(128,14,18,.35); font-size: 1.25rem; }
.chat-launcher::before { content: ""; position: absolute; right: 2px; top: 2px; width: 13px; height: 13px; border: 2px solid var(--white); border-radius: 50%; background: #55c876; }
.chat-widget { position: fixed; z-index: 1199; right: 22px; bottom: 96px; width: min(390px, calc(100vw - 28px)); overflow: hidden; border: 1px solid #d9d3c9; border-radius: 8px; background: var(--white); box-shadow: 0 24px 80px rgba(6,12,14,.25); opacity: 0; pointer-events: none; transform: translateY(12px) scale(.98); transform-origin: bottom right; transition: .25s ease; }
.chat-widget.open { opacity: 1; pointer-events: auto; transform: none; }
.chat-widget .chat-messages { height: 310px; }
.chat-close { margin-left: auto; border: 0; color: var(--white); background: transparent; font-size: 1.2rem; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1080px) {
  .main-nav { gap: 15px; }
  .main-nav a { font-size: .67rem; }
  .header-call { display: none; }
  .brand img { width: 190px; }
  .service-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 820px) {
  .owner-grid { grid-template-columns: 1fr; }
  .owner-photo { height: min(130vw,620px); }
  .gallery-heading { grid-template-columns: 1fr; }
  .house-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .house-photo, .house-photo-featured { min-height: 220px; }
  .house-photo-featured { grid-column: span 2; min-height: 430px; }
  .lightbox-nav { width: 44px; height: 44px; }
  .container, .narrow { width: min(calc(100% - 30px), var(--max)); }
  .site-header { height: 74px; }
  .brand img { width: 174px; height: 54px; }
  .menu-toggle { display: block; }
  .main-nav { position: fixed; inset: 74px 0 0; display: grid; align-content: center; justify-items: center; gap: 24px; margin: 0; color: var(--white); background: rgba(11,17,19,.98); opacity: 0; pointer-events: none; transform: translateY(-10px); transition: .25s; }
  .menu-open .main-nav { opacity: 1; pointer-events: auto; transform: none; }
  .main-nav a { font-family: Georgia,serif; font-size: 1.45rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
  .menu-open .menu-toggle span { opacity: 0; }
  .menu-open .menu-toggle::before { transform: translateY(8px) rotate(45deg); }
  .menu-open .menu-toggle::after { transform: translateY(-8px) rotate(-45deg); }
  .hero { min-height: 850px; align-items: center; }
  .hero-content { padding: 150px 0 125px; }
  .hero-note { left: 15px; right: auto; bottom: 34px; }
  .trust-grid { grid-template-columns: repeat(2,1fr); }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
  .split, .founder-grid, .assistant-layout, .contact-layout, .emergency-panel, .investment-panel, .compare-layout { grid-template-columns: 1fr; }
  .split-media { min-height: 520px; }
  .split-media .image-main { height: 480px; }
  .projects-featured { grid-template-columns: 1fr; grid-template-rows: 440px repeat(2,260px); }
  .project-tile:first-child { grid-row: auto; }
  .investment-panel .image { min-height: 440px; }
  .service-grid, .service-list { grid-template-columns: 1fr; }
  .timeline, .value-grid { grid-template-columns: 1fr; }
  .process { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .cta-inner { align-items: start; flex-direction: column; }
}

/* Red-and-black transparent brand treatment in the footer */
.site-footer .footer-brand-panel {
  color: #121718;
  background: #f5f2eb;
}

.site-footer .footer-wordmark .brand-logo-image {
  width: min(310px, 100%) !important;
  height: auto !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.site-footer .footer-wordmark .brand-slogan {
  color: #815f31 !important;
}

.site-footer .footer-brand-panel > p,
.site-footer .footer-brand-panel .footer-inline-nav a {
  color: #4f5657 !important;
}

.site-footer .footer-brand-panel .footer-inline-nav a:hover {
  color: #b5161b !important;
}

@media (max-width: 540px) {
  h1 { font-size: 3.25rem; }
  .section { padding: 72px 0; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-item { padding-left: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .service-card, .service-detail { padding: 30px; }
  .service-detail { padding-top: 76px; }
  .service-detail .service-number { left: 30px; top: 24px; }
  .process, .footer-grid { grid-template-columns: 1fr; }
  .contact-form { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .chat-widget { right: 14px; bottom: 88px; }
  .chat-launcher { right: 14px; bottom: 14px; }
  .project-collection, .compare-upload-grid { grid-template-columns: 1fr; }
  .compare-empty { min-height: 230px; }
}

/* Global navigation contrast and transparent logo finish */
.site-header,
.site-header.solid,
.site-header.scrolled,
.lux-home .site-header,
.lux-home .site-header:not(.scrolled),
.lux-home .site-header.scrolled,
.reference-home .site-header:not(.scrolled) {
  color: #111617 !important;
  background: rgba(249, 247, 242, .97) !important;
  border-bottom: 1px solid rgba(189, 146, 87, .25) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .1) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
}

.site-header .brand-wordmark .brand-logo-image,
.site-header.solid .brand-wordmark .brand-logo-image,
.site-header.scrolled .brand-wordmark .brand-logo-image {
  width: 205px !important;
  height: 55px !important;
  padding: 0 !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.site-header .main-nav a {
  color: #171c1d !important;
  text-shadow: none;
}

.site-header .main-nav a:hover,
.site-header .main-nav a.active {
  color: #d9bd8b !important;
}

.site-header .main-nav a::after {
  background: #bd9257 !important;
}

.site-header .header-call {
  color: #815f31 !important;
  background: transparent !important;
  border-color: #bd9257 !important;
}

.site-header .header-call:hover {
  color: #101414 !important;
  background: #d9bd8b !important;
}

.site-header .menu-toggle,
.site-header .menu-toggle::before,
.site-header .menu-toggle::after {
  color: #111617 !important;
  border-color: #d9bd8b !important;
}

@media (max-width: 820px) {
  .site-header .brand-wordmark .brand-logo-image,
  .site-header.solid .brand-wordmark .brand-logo-image,
  .site-header.scrolled .brand-wordmark .brand-logo-image {
    width: 170px !important;
    height: 46px !important;
  }

  .site-header .main-nav {
    background: rgba(249, 247, 242, .99) !important;
    border-color: rgba(189, 146, 87, .25) !important;
  }
}

/* Expanded, balanced Clients Say section */
.footer-testimonials {
  padding: clamp(68px, 7vw, 102px) 0 !important;
  background: linear-gradient(180deg, #f7f4ee 0%, #ece7de 100%) !important;
  border-top: 1px solid #d8d0c4;
  border-bottom: 1px solid #d8d0c4;
}

.footer-testimonials-grid {
  grid-template-columns: minmax(230px, .95fr) repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.footer-testimonials-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 36px 18px 0;
}

.footer-testimonials-heading .footer-testimonials-kicker {
  margin: 0 0 18px;
  color: #8c0009;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .17em;
  line-height: 1.2;
  text-transform: uppercase;
}

.footer-testimonials-heading h2 {
  margin: 0;
  color: #161a1b;
  font: 400 clamp(2rem, 2.9vw, 3.25rem)/1.02 Georgia, "Times New Roman", serif;
  letter-spacing: -.045em;
}

.footer-testimonials-heading h2 em {
  color: #8c0009;
  font-weight: 400;
}

.footer-testimonial-rule {
  width: 58px;
  height: 1px;
  margin-top: 28px;
  background: #b89b69;
}

.footer-testimonials blockquote {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 42px 32px 30px !important;
  border: 1px solid #d9d1c4 !important;
  background: rgba(255,255,255,.7);
  box-shadow: 0 16px 38px rgba(33,29,23,.06);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.footer-testimonials blockquote:hover {
  transform: translateY(-5px);
  border-color: rgba(140,0,9,.28) !important;
  box-shadow: 0 22px 48px rgba(33,29,23,.11);
}

.footer-quote-mark {
  top: 22px;
  left: 30px;
  color: #b89b69;
  font-size: 3.25rem;
}

.footer-testimonials blockquote p {
  min-height: 0;
  margin: 28px 0 30px;
  color: #3d4445;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .98rem;
  line-height: 1.65;
}

.footer-testimonials cite {
  padding-top: 18px;
  border-top: 1px solid #ddd5c8;
  color: #6b7172;
  font-size: .57rem;
  line-height: 1.55;
}

.footer-testimonials cite strong {
  display: block;
  color: #222728;
  font-size: .62rem;
}

@media (max-width: 1060px) {
  .footer-testimonials-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-testimonials-heading {
    grid-column: 1 / -1;
    max-width: 650px;
    padding: 0 0 18px;
  }
}

@media (max-width: 760px) {
  .footer-testimonials {
    padding: 60px 0 !important;
  }

  .footer-testimonials-grid {
    grid-template-columns: 1fr;
  }

  .footer-testimonials blockquote,
  .footer-testimonials blockquote:nth-of-type(3) {
    min-height: 0;
    display: flex;
  }
}

/* Reference-style KVN process showcase */
.reference-home .process-showcase {
  padding: 0;
  overflow: hidden;
  background: #f7f4ee;
}

.reference-home .process-showcase::after {
  display: none;
}

.reference-home .process-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: clamp(52px, 6vw, 92px);
  align-items: center;
  padding-top: clamp(70px, 7vw, 105px);
  padding-bottom: clamp(70px, 7vw, 105px);
}

.reference-home .process-overview-image {
  height: clamp(390px, 36vw, 510px);
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 22px 56px rgba(24,28,29,.16);
}

.reference-home .process-overview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease;
}

.reference-home .process-overview-image:hover img {
  transform: scale(1.025);
}

.reference-home .process-overview-copy .ref-kicker {
  margin-bottom: 17px;
  color: #8c0009;
}

.reference-home .process-overview-copy h2 {
  margin: 0 0 24px;
  color: #15191a;
  font: 400 clamp(2.7rem, 4.25vw, 4.7rem)/.99 Georgia, "Times New Roman", serif;
  letter-spacing: -.045em;
}

.reference-home .process-overview-copy h2 em {
  color: #8c0009;
  font-weight: 400;
}

.reference-home .process-overview-copy > p:not(.ref-kicker) {
  max-width: 630px;
  margin-bottom: 30px;
  color: #596162;
  font-size: .92rem;
  line-height: 1.75;
}

.reference-home .process-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
  padding-top: 8px;
}

.reference-home .process-values > div {
  min-width: 0;
  text-align: center;
}

.reference-home .process-value-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin: 0 auto 12px;
  color: #a8783d;
  border: 1px solid rgba(168,120,61,.55);
  border-radius: 50%;
  font-family: Georgia, serif;
  font-size: 1.35rem;
  line-height: 1;
}

.reference-home .process-values b {
  color: #343a3b;
  font-size: .66rem;
  font-weight: 700;
  line-height: 1.3;
}

.reference-home .process-journey {
  color: #171b1c;
  background: #eee8de;
  border-top: 1px solid #d7cec0;
  border-bottom: 1px solid #d7cec0;
}

.reference-home .process-journey-layout {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 2.28fr);
  gap: clamp(44px, 5vw, 80px);
  align-items: center;
  min-height: 310px;
  padding-top: 48px;
  padding-bottom: 48px;
}

.reference-home .process-journey-title .ref-kicker {
  margin-bottom: 14px;
  color: #8c0009;
}

.reference-home .process-journey-title h2 {
  margin: 0;
  color: #171b1c;
  font: 400 clamp(2rem, 2.8vw, 3rem)/1.03 Georgia, "Times New Roman", serif;
  letter-spacing: -.035em;
}

.reference-home .process-journey .ref-process-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
}

.reference-home .process-journey .ref-process-steps::before {
  top: 26px;
  left: 10%;
  right: 10%;
  height: 1px;
  background: repeating-linear-gradient(90deg, #bba98f 0 4px, transparent 4px 8px);
}

.reference-home .process-journey .ref-process-steps li {
  min-height: 195px;
  padding: 74px 14px 0;
}

.reference-home .process-journey .ref-process-steps b {
  top: 0;
  width: 54px;
  height: 54px;
  color: #fff;
  background: linear-gradient(145deg, #bd9257, #8c0009);
  border: 3px solid #eee8de;
  box-shadow: 0 0 0 1px #c49a5f, 0 8px 20px rgba(0,0,0,.32);
  font-size: .7rem;
}

.reference-home .process-journey .ref-process-steps h3 {
  margin-bottom: 9px;
  color: #202526;
  font: 400 clamp(.88rem, 1vw, 1.06rem)/1.2 Georgia, "Times New Roman", serif;
}

.reference-home .process-journey .ref-process-steps p {
  max-width: 155px;
  color: #646c6d;
  font-size: .65rem;
  line-height: 1.5;
}

@media (max-width: 1040px) {
  .reference-home .process-overview,
  .reference-home .process-journey-layout {
    grid-template-columns: 1fr;
  }

  .reference-home .process-overview-copy {
    max-width: 760px;
  }

  .reference-home .process-journey-layout {
    gap: 38px;
  }
}

@media (max-width: 700px) {
  .reference-home .process-overview {
    gap: 38px;
  }

  .reference-home .process-overview-image {
    height: 330px;
  }

  .reference-home .process-values {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 15px;
  }

  .reference-home .process-journey .ref-process-steps {
    grid-template-columns: 1fr;
  }

  .reference-home .process-journey .ref-process-steps::before {
    top: 27px;
    bottom: 27px;
    left: 27px;
    right: auto;
    width: 1px;
    height: auto;
  }

  .reference-home .process-journey .ref-process-steps li {
    min-height: 96px;
    padding: 13px 0 13px 82px;
    text-align: left;
  }

  .reference-home .process-journey .ref-process-steps b {
    top: 9px;
    left: 27px;
  }

  .reference-home .process-journey .ref-process-steps p {
    max-width: 390px;
    margin: 0;
  }
}

/* Refined deep-red process medallions and symbols */
.reference-home .process-journey .ref-process-steps b.process-step-icon {
  width: 58px;
  height: 58px;
  overflow: visible;
  color: #fff;
  background: #8c0009;
  border: 4px solid #eee8de;
  box-shadow: 0 0 0 1px rgba(140,0,9,.42), 0 9px 22px rgba(70,0,5,.2);
}

.reference-home .process-journey .process-step-icon span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1;
  transform: none;
}

.reference-home .process-journey .process-step-icon::after {
  content: attr(data-step);
  position: absolute;
  top: -9px;
  right: -9px;
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  color: #8c0009;
  background: #f7f4ee;
  border: 1px solid rgba(140,0,9,.4);
  border-radius: 50%;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: 0;
}

.reference-home .process-journey .icon-consultation span { font-size: 1.5rem; }
.reference-home .process-journey .icon-planning span { font-size: 1.65rem; }
.reference-home .process-journey .icon-prebuild span { font-size: 1.55rem; transform: translateY(-1px); }
.reference-home .process-journey .icon-building span { font-size: 1.3rem; }
.reference-home .process-journey .icon-handover span { font: 700 1.25rem "Segoe UI", Arial, sans-serif; }

.reference-home .process-journey .ref-process-steps::before {
  background: repeating-linear-gradient(90deg, rgba(140,0,9,.55) 0 4px, transparent 4px 9px);
}

.reference-home .process-journey .ref-process-steps li:hover .process-step-icon {
  background: #a70b15;
  box-shadow: 0 0 0 1px rgba(140,0,9,.52), 0 12px 27px rgba(70,0,5,.27);
  transform: translateX(-50%) translateY(-4px);
}

/* Final reference-matched Home services composition */
.reference-home .ref-proof-wrap {
  z-index: 12;
  width: min(calc(100% - 80px), 1440px);
  margin: -54px auto 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.reference-home .ref-proof {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  color: #fff;
  background: linear-gradient(90deg, #111619 0%, #1a2024 50%, #111619 100%);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 11px;
  box-shadow: 0 20px 50px rgba(10,14,15,.2);
}

.reference-home .ref-proof > div {
  min-height: 108px;
  justify-content: flex-start;
  gap: 15px;
  padding: 20px clamp(17px, 2vw, 30px);
}

.reference-home .ref-proof > div::after {
  top: 24%;
  height: 52%;
  background: rgba(255,255,255,.2);
}

.reference-home .ref-proof-icon {
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  color: #8c0009;
  border-color: rgba(140,0,9,.78);
  font-size: 1.15rem;
}

.reference-home .ref-proof-icon::before {
  border-color: rgba(140,0,9,.38);
}

.reference-home .ref-proof-copy b {
  margin: 0 0 2px;
  color: #fff;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: clamp(1.55rem, 2vw, 2.1rem);
  font-weight: 700;
  line-height: 1;
  text-shadow: none;
}

.reference-home .ref-proof-copy > span {
  color: #d4d9da;
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1.35;
  text-transform: uppercase;
}

.reference-home .home-services-showcase {
  margin-top: -54px;
  padding: 128px 0 clamp(72px, 6.5vw, 96px);
  background: #fbfaf7;
}

.reference-home .home-services-layout {
  grid-template-columns: minmax(230px, .9fr) minmax(0, 3.1fr);
  gap: clamp(34px, 3.5vw, 55px);
}

.reference-home .home-services-intro {
  justify-content: flex-start;
  padding-top: 2px;
}

.reference-home .home-services-intro .ref-kicker {
  margin-bottom: 16px;
  font-size: .62rem;
}

.reference-home .home-services-intro h2 {
  margin-bottom: 20px;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: clamp(2rem, 2.65vw, 3rem);
  font-weight: 750;
  line-height: 1.06;
  letter-spacing: -.035em;
}

.reference-home .home-services-intro > p:not(.ref-kicker) {
  max-width: 300px;
  color: #596061;
  font-size: .75rem;
  line-height: 1.65;
}

.reference-home .home-services-button {
  min-width: 185px;
  min-height: 46px;
  margin-top: 24px;
  border-color: #2a3031;
  font-size: .57rem;
}

.reference-home .home-services-cards {
  gap: 9px;
}

.reference-home .home-service-card {
  min-height: 294px;
  padding: 25px 19px 20px;
  border-color: #e7e3dc;
  box-shadow: 0 7px 18px rgba(25,30,31,.035);
}

.reference-home .home-service-card .service-line-icon {
  width: 47px;
  height: 47px;
  flex-basis: 47px;
  margin-bottom: 18px;
  color: #8c0009;
  transform: scale(.76);
}

.reference-home .home-service-card h3 {
  min-height: 42px;
  margin-bottom: 11px;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.015em;
}

.reference-home .home-service-card p {
  margin-bottom: 22px;
  color: #5e6667;
  font-size: .61rem;
  line-height: 1.55;
}

.reference-home .home-service-card > i {
  color: #313738;
  font-size: 1.15rem;
}

@media (max-width: 1180px) {
  .reference-home .ref-proof-wrap {
    width: min(calc(100% - 40px), 1100px);
  }

  .reference-home .ref-proof {
    grid-template-columns: repeat(5, 1fr);
  }

  .reference-home .ref-proof > div {
    padding-inline: 13px;
  }
}

@media (max-width: 900px) {
  .reference-home .ref-proof-wrap {
    margin-top: -34px;
  }

  .reference-home .ref-proof {
    grid-template-columns: repeat(2, 1fr);
    border-radius: 8px;
  }

  .reference-home .ref-proof > div:last-child {
    grid-column: 1 / -1;
  }

  .reference-home .home-services-showcase {
    margin-top: -34px;
    padding-top: 104px;
  }
}

@media (max-width: 520px) {
  .reference-home .ref-proof-wrap {
    width: calc(100% - 24px);
    margin-top: -22px;
  }

  .reference-home .ref-proof {
    grid-template-columns: 1fr;
  }

  .reference-home .ref-proof > div,
  .reference-home .ref-proof > div:last-child {
    grid-column: auto;
    min-height: 84px;
  }

  .reference-home .home-services-showcase {
    margin-top: -22px;
    padding-top: 84px;
  }
}

@media (max-width: 700px) {
  .reference-home .process-journey .ref-process-steps li:hover .process-step-icon {
    transform: translateX(-50%) translateY(-2px);
  }
}

/* Eliminate legacy outer padding below the redesigned process section */
.reference-home .ref-process.process-showcase {
  padding: 0;
}

.reference-home .process-journey-layout {
  padding-bottom: 0;
}

/* Light horizontal services showcase before Featured Projects */
.reference-home .home-services-showcase {
  padding: clamp(72px, 7vw, 105px) 0;
  color: #171b1c;
  background: #fbfaf7;
  border-bottom: 1px solid #e1dbd1;
}

.reference-home .home-services-layout {
  display: grid;
  grid-template-columns: minmax(210px, .92fr) minmax(0, 3.08fr);
  gap: clamp(35px, 4vw, 58px);
  align-items: stretch;
}

.reference-home .home-services-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 8px;
}

.reference-home .home-services-intro .ref-kicker {
  margin-bottom: 14px;
  color: #8c0009;
}

.reference-home .home-services-intro h2 {
  margin: 0 0 20px;
  color: #15191a;
  font: 400 clamp(2.2rem, 3.1vw, 3.45rem)/1.02 Georgia, "Times New Roman", serif;
  letter-spacing: -.045em;
}

.reference-home .home-services-intro h2 em {
  color: #8c0009;
  font-weight: 400;
}

.reference-home .home-services-intro > p:not(.ref-kicker) {
  max-width: 310px;
  margin: 0;
  color: #666e6f;
  font-size: .78rem;
  line-height: 1.65;
}

.reference-home .home-services-button {
  width: fit-content;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-top: 26px;
  padding: 0 18px;
  color: #181c1d;
  border: 1px solid #8c0009;
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
  transition: .3s ease;
}

.reference-home .home-services-button:hover {
  color: #fff;
  background: #8c0009;
}

.reference-home .home-services-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.reference-home .home-service-card {
  min-width: 0;
  min-height: 330px;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 28px 22px 25px;
  background: #fff;
  border: 1px solid #e3ddd4;
  box-shadow: 0 9px 24px rgba(28,31,31,.045);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.reference-home .home-service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(140,0,9,.35);
  box-shadow: 0 18px 38px rgba(28,31,31,.1);
}

.reference-home .home-service-card .service-line-icon {
  width: 50px;
  height: 50px;
  display: block;
  flex: 0 0 50px;
  margin: 0 0 22px;
  color: #b47c3b;
  transform: scale(.82);
  transform-origin: left top;
}

.reference-home .home-service-card h3 {
  min-height: 46px;
  margin: 0 0 14px;
  color: #171b1c;
  font: 400 1.08rem/1.13 Georgia, "Times New Roman", serif;
  letter-spacing: -.025em;
}

.reference-home .home-service-card p {
  margin: 0 0 30px;
  color: #697172;
  font-size: .66rem;
  line-height: 1.55;
}

.reference-home .home-service-card > i {
  margin-top: auto;
  color: #8c0009;
  font-family: Georgia, serif;
  font-size: 1.35rem;
  font-style: normal;
  transition: transform .3s ease;
}

.reference-home .home-service-card:hover > i {
  transform: translateX(6px);
}

/* Compact kitchen counter icon built in the same line-art family */
.icon-kitchen::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 17px;
  width: 39px;
  height: 23px;
  border: 2px solid currentColor;
  border-top-width: 4px;
}

.icon-kitchen::after {
  content: "";
  position: absolute;
  left: 25px;
  top: 4px;
  width: 13px;
  height: 13px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}

.icon-kitchen span::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 21px;
  width: 2px;
  height: 19px;
  background: currentColor;
}

.icon-kitchen span::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 27px;
  width: 7px;
  height: 2px;
  background: currentColor;
  box-shadow: 18px 0 0 currentColor;
}

@media (max-width: 1180px) {
  .reference-home .home-services-layout {
    grid-template-columns: 1fr;
  }

  .reference-home .home-services-intro {
    max-width: 680px;
  }

  .reference-home .home-services-cards {
    grid-template-columns: repeat(3, 1fr);
  }

  .reference-home .home-service-card {
    min-height: 280px;
  }
}

@media (max-width: 700px) {
  .reference-home .home-services-cards {
    grid-template-columns: 1fr 1fr;
  }

  .reference-home .home-service-card {
    min-height: 270px;
  }
}

@media (max-width: 460px) {
  .reference-home .home-services-cards {
    grid-template-columns: 1fr;
  }

  .reference-home .home-service-card {
    min-height: 245px;
  }
}

/* Light Real KVN Transformations gallery */
.reference-home .ref-realized {
  color: #171b1c;
  background: #f5f1e9;
  border-top: 1px solid #ddd5c9;
}

.reference-home .ref-realized .ref-kicker {
  color: #8c0009;
}

.reference-home .ref-realized .ref-centered-heading h2 {
  color: #171b1c;
}

.reference-home .ref-realized .ref-centered-heading p:last-child {
  color: #656d6e;
}

.reference-home .ref-realized .ref-outline-btn {
  color: #171b1c;
  border-color: #8c0009;
}

.reference-home .ref-realized .ref-outline-btn:hover {
  color: #fff;
  background: #8c0009;
  border-color: #8c0009;
}

/* Remove excess space between Our Process and About KVN */
.reference-home .process-journey-layout {
  min-height: 0;
  padding-bottom: 22px;
}

.reference-home .ref-story {
  padding-top: 42px;
}

@media (max-width: 700px) {
  .reference-home .process-journey-layout {
    padding-bottom: 18px;
  }

  .reference-home .ref-story {
    padding-top: 36px;
  }
}

/* KVN A–Z Luxury Redesign — architectural editorial system */
:root {
  --ink: #0d1113;
  --ink-2: #151a1d;
  --ink-3: #202629;
  --ivory: #f3efe8;
  --cream: #fbf8f2;
  --white: #fff;
  --gold: #bd9257;
  --gold-light: #ddbf8d;
  --red: #b51f24;
  --muted: #737879;
  --line: rgba(189,146,87,.28);
  --shadow: 0 30px 80px rgba(10,14,15,.13);
}
html { background: var(--ink); }
body { color: var(--ink); background: var(--cream); }
body, button, input, textarea, select { font-family: "Segoe UI", Arial, sans-serif; }
h1,h2,h3,.page-hero h1,.section-heading h2,.founder-grid h2,.owner-copy h2,.service-detail h3,.portfolio-copy h3,.cta-inner h2 { font-family: Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.045em; }
p { line-height:1.75; }
.container { width:min(calc(100% - 72px),1240px); }
.eyebrow,.lux-kicker { color:var(--gold); font-size:.67rem; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
.section { padding:clamp(90px,10vw,150px) 0; }
.section-ivory { background:var(--ivory); }
.section-dark { color:#fff; background:var(--ink); }
.section-heading { max-width:none; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(35px,8vw,110px); align-items:end; margin-bottom:65px; }
.section-heading .eyebrow { grid-column:1/-1; margin-bottom:-25px; }
.section-heading h2 { margin:0; max-width:760px; font-size:clamp(2.8rem,5.4vw,5.4rem); line-height:1.02; }
.section-heading > p:last-child { margin:0 0 10px; max-width:530px; color:var(--muted); }
.section-dark .section-heading > p:last-child { color:#aeb6b8; }
.button,.lux-button,.footer-cta { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:28px; padding:14px 24px; border:1px solid var(--gold); border-radius:0; color:#101416; background:var(--gold); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; transition:.3s ease; }
.button:hover,.lux-button:hover,.footer-cta:hover { color:#fff; background:transparent; transform:translateY(-2px); }
.button-dark,.lux-button-dark { color:#fff; border-color:var(--ink); background:var(--ink); }

/* Architectural navigation */
.site-header,.site-header.solid,.site-header.scrolled { height:82px; color:#fff; border-bottom:1px solid rgba(255,255,255,.12); background:rgba(10,14,15,.72); box-shadow:none; backdrop-filter:blur(16px); transition:.35s ease; }
.site-header.scrolled { height:70px; background:rgba(10,14,15,.96); }
.header-inner { height:100%; }
.brand-wordmark { display:block; }
.brand-wordmark .brand-logo-image { width:184px; height:51px; padding:0; object-fit:contain; background:transparent; border-radius:0; box-shadow:none; }
.site-header .brand-slogan { display:none; }
.main-nav { gap:clamp(16px,2.2vw,32px); }
.main-nav a { color:#eef1f1; font-size:.65rem; letter-spacing:.12em; }
.main-nav a::after { background:var(--gold); }
.header-call { min-height:42px; padding:0 17px; border:1px solid var(--gold); color:var(--gold-light); font-size:.62rem; letter-spacing:.11em; text-transform:uppercase; }
.header-call span { font-size:.9rem; }

/* Cinematic home hero */
.lux-hero { min-height:100svh; }
.lux-hero .motion-slide::after { background:linear-gradient(90deg,rgba(7,10,11,.94),rgba(7,10,11,.72) 43%,rgba(7,10,11,.12) 79%),linear-gradient(0deg,rgba(7,10,11,.82),transparent 52%); }
.hero-slide-content { padding:155px 0 230px; }
.hero-slide-copy { max-width:850px; }
.lux-hero h1 { font-size:clamp(4rem,7.4vw,7.4rem); line-height:.93; }
.lux-hero h1 em { color:var(--gold-light); }
.lux-intro { max-width:590px; color:#ced4d5; }
.hero-trust { background:rgba(9,12,13,.55); }
.lux-slider-nav { background:rgba(9,12,13,.38); }
.lux-proof-wrap { z-index:7; width:min(calc(100% - 72px),1120px); margin:-54px auto 0; color:#fff; background:transparent; }
.lux-proof { overflow:hidden; border:1px solid rgba(189,146,87,.35); border-radius:25px; background:rgba(15,19,21,.97); box-shadow:0 28px 70px rgba(4,7,8,.24); }
.lux-proof>div { min-height:126px; }
.lux-proof strong { color:var(--gold-light); font-size:2.45rem; }

/* Reference-inspired homepage sections */
.lux-projects { padding-top:140px; background:var(--ivory); }
.lux-project-grid { gap:8px; }
.lux-project { border-radius:3px; }
.lux-project::after { inset:25% 0 0; }
.lux-services { border-top:1px solid var(--line); background:var(--ink); }
.lux-service-grid { border-color:var(--line); }
.lux-service { min-height:350px; border-color:var(--line); }
.lux-service:hover { background:#171d20; }
.lux-process { position:relative; overflow:hidden; background:var(--ivory); }
.lux-process::after { content:""; position:absolute; right:-100px; bottom:-130px; width:480px; height:480px; border:1px solid rgba(189,146,87,.12); transform:rotate(30deg); pointer-events:none; }
.lux-steps li { border-color:rgba(13,17,19,.2); }
.lux-steps li:not(:last-child)::after { background:var(--gold); }
.lux-partners { background:var(--cream); }
.partner-portrait-grid { display:grid; grid-template-columns:1fr 1fr; min-height:670px; overflow:hidden; }
.partner-portrait-grid img { width:100%; height:100%; min-height:670px; object-fit:cover; object-position:center 25%; filter:saturate(.75); }
.lux-partner-photo > span { right:20px; bottom:20px; background:rgba(13,17,19,.92); }
.lux-compare-cta { background:linear-gradient(90deg,rgba(9,12,13,.97),rgba(9,12,13,.56)),url("images/wingate-kitchen.webp") center/cover fixed; }
.lux-kelly-card { border:1px solid var(--line); }

/* Inner-page architectural heroes */
.page-hero { min-height:74svh; padding:190px 0 100px; align-items:center; background:var(--ink); }
.page-hero::before { opacity:.52; filter:saturate(.72) contrast(1.06); }
.page-hero::after { background:linear-gradient(90deg,rgba(7,10,11,.96),rgba(7,10,11,.7) 50%,rgba(7,10,11,.16)); }
.page-hero .container { position:relative; }
.page-hero .container::before { content:""; position:absolute; left:-32px; top:8px; bottom:8px; width:1px; background:var(--gold); }
.page-hero h1 { max-width:940px; font-size:clamp(4rem,7.3vw,7.2rem); line-height:.94; }
.page-hero p:not(.eyebrow) { max-width:620px; color:#c9d0d1; }
.about-hero { --page-image:url("images/wingate-entry.webp"); }
.services-hero { --page-image:url("images/wingate-kitchen.webp"); }
.projects-hero { --page-image:url("images/hero-wingate.webp"); }
.assistant-hero { --page-image:url("images/wingate-sunroom.webp"); }
.contact-hero { --page-image:url("images/cloud-exterior.webp"); }

/* About */
.team-section { background:var(--cream); }
.owner-grid { gap:18px; }
.owner-card { display:grid; grid-template-rows:600px auto; background:#fff; border:1px solid rgba(13,17,19,.1); box-shadow:none; }
.owner-photo { height:600px; }
.owner-copy { padding:42px; }
.owner-copy h2 { font-size:clamp(2.3rem,4vw,4rem); }
.owner-role { color:var(--gold); }
.details-collage img { box-shadow:var(--shadow); }
.timeline { background:var(--line); }
.timeline article { background:var(--ink); }
.timeline time { color:var(--gold); font-family:Georgia,serif; }
.value-card { padding:42px; border:1px solid #ddd5c9; border-top:3px solid var(--gold); box-shadow:none; }

/* Services */
.service-list { grid-template-columns:repeat(3,1fr); gap:1px; background:#d9d2c6; border:1px solid #d9d2c6; }
.service-detail { min-height:285px; padding:78px 34px 34px; border:0; background:var(--cream); transition:.35s ease; }
.service-detail:hover { z-index:1; color:#fff; background:var(--ink); transform:translateY(-5px); box-shadow:var(--shadow); }
.service-detail:hover p { color:#aeb6b8; }
.service-detail .service-number { left:34px; top:28px; color:var(--gold); }
.service-detail h3 { font-size:1.72rem; }
.process article { border-color:rgba(255,255,255,.2); }
.emergency-panel { overflow:hidden; border:1px solid #d8d0c3; box-shadow:none; }

/* Portfolio */
.portfolio-showcase { background:var(--ivory); }
.filters { padding:12px 0 28px; border-bottom:1px solid #d4cdc1; }
.filter-button { border-color:#cfc5b6; background:transparent; }
.filter-button.active,.filter-button:hover { background:var(--ink); border-color:var(--ink); }
.project-collection { grid-template-columns:repeat(3,minmax(0,1fr)); gap:52px 12px; }
.portfolio-image { aspect-ratio:4/5; }
.portfolio-copy { padding:20px 4px 0; }
.portfolio-copy h3 { font-size:clamp(1.45rem,2.3vw,2.2rem); }
.complete-gallery { color:#fff; background:var(--ink); border-top:1px solid var(--line); box-shadow:0 0 0 100vmax var(--ink); clip-path:inset(0 -100vmax); }
.gallery-heading > p { color:#aeb6b8; }
.gallery-heading span { color:var(--gold-light); }
.gallery-video { border:1px solid var(--line); }
.house-gallery { gap:8px; }
.house-photo { border:1px solid rgba(255,255,255,.05); }
.house-photo-featured { min-height:620px; }
.compare-section { border-top:1px solid var(--line); }

/* Assistant and contact */
.assistant-layout { gap:clamp(50px,8vw,110px); }
.assistant-point { border-color:#d3cabc; }
.chat-shell,.chat-widget { border:1px solid var(--line); box-shadow:0 30px 80px rgba(13,17,19,.18); }
.contact-layout { gap:clamp(55px,9vw,120px); }
.contact-form { color:#fff; background:var(--ink); border:1px solid var(--line); box-shadow:var(--shadow); }
.contact-form .field label { color:var(--gold-light); }
.contact-form input,.contact-form textarea,.contact-form select { color:#fff; border-color:rgba(255,255,255,.28); }
.contact-form select option { color:#111; }
.form-note { color:#99a3a5; }
.contact-row { border-color:#d5ccbf; }
.service-map { background:linear-gradient(90deg,rgba(8,11,12,.96),rgba(8,11,12,.62)),url("images/cloud-exterior.webp") center/cover; }

/* Premium CTA and footer */
.cta-band { border-top:1px solid var(--line); background:var(--ink); }
.cta-inner h2 { max-width:850px; font-size:clamp(2.7rem,5vw,5.4rem); }
.site-footer { padding-top:0; color:#fff; background:#090c0d; border-top:1px solid var(--line); }
.footer-lux-grid { grid-template-columns:1.1fr .7fr 1.2fr; gap:0; }
.footer-lux-grid > div { min-height:330px; padding:65px 48px; border-right:1px solid rgba(189,146,87,.2); }
.footer-lux-grid > div:first-child { padding-left:0; }
.footer-lux-grid > div:last-child { padding-right:0; border-right:0; }
.footer-kicker { color:var(--gold); font-size:.65rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.footer-invite h2 { max-width:430px; margin:15px 0 30px; font-size:clamp(2.5rem,4.5vw,4.7rem); line-height:1; }
.footer-cta { color:#101416; }
.footer-contact h3 { color:var(--gold-light); }
.footer-brand-panel { display:flex; flex-direction:column; justify-content:center; }
.footer-wordmark .brand-logo-image { width:310px; height:auto; padding:0; background:transparent; }
.footer-wordmark .brand-slogan { display:block; margin-top:10px; color:var(--gold-light); }
.footer-brand-panel > p { max-width:430px; color:#9da6a8; }
.footer-inline-nav { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:22px; }
.footer-inline-nav a { color:#c4cbcc; font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.footer-bottom { border-color:rgba(189,146,87,.18); }

@media(max-width:1080px){
  .main-nav { gap:15px; }.main-nav a{font-size:.58rem}.brand-wordmark .brand-logo-image{width:160px}.header-call{padding:0 12px}
  .service-list,.project-collection{grid-template-columns:repeat(2,1fr)}
  .footer-lux-grid{grid-template-columns:1fr 1fr}.footer-brand-panel{grid-column:1/-1}.footer-lux-grid>div:nth-child(2){border-right:0}.footer-lux-grid>div:last-child{border-top:1px solid rgba(189,146,87,.2)}
}
@media(max-width:820px){
  .container{width:min(calc(100% - 34px),1240px)}
  .section-heading{grid-template-columns:1fr;gap:22px}.section-heading .eyebrow{margin-bottom:0}.section-heading h2{font-size:3.2rem}
  .site-header,.site-header.solid,.site-header.scrolled{height:74px}.brand-wordmark .brand-logo-image{width:148px;height:42px}.header-call{display:none}
  .main-nav{background:rgba(9,12,13,.98)}
  .hero-slide-content{padding:130px 0 250px}.lux-hero h1{font-size:clamp(3.25rem,15vw,4.5rem)}
  .lux-proof-wrap{width:calc(100% - 26px);margin-top:-28px}.lux-proof>div{min-height:110px;padding:20px}.lux-proof strong{font-size:1.8rem}
  .page-hero{min-height:680px;padding:150px 0 90px}.page-hero .container::before{left:-10px}.page-hero h1{font-size:clamp(3.4rem,15vw,5rem)}
  .partner-portrait-grid{min-height:520px}.partner-portrait-grid img{min-height:520px}
  .owner-grid,.service-list,.project-collection{grid-template-columns:1fr}.owner-card{grid-template-rows:520px auto}.owner-photo{height:520px}
  .house-photo-featured{min-height:440px}
  .footer-lux-grid{grid-template-columns:1fr}.footer-lux-grid>div{min-height:auto;padding:45px 0;border-right:0;border-bottom:1px solid rgba(189,146,87,.2)}.footer-brand-panel{grid-column:auto}
}
@media(max-width:540px){
  .lux-proof{grid-template-columns:1fr 1fr}.lux-proof>div{padding:16px 13px}.lux-proof span{font-size:.66rem}
  .lux-actions{align-items:stretch}.lux-actions .lux-button{width:100%}
  .hero-trust span{font-size:.48rem}.lux-slider-inner .motion-dots{display:none}
  .partner-portrait-grid{grid-template-columns:1fr}.partner-portrait-grid img{min-height:400px}.lux-partner-photo>span{position:static;display:block}
  .house-gallery{grid-template-columns:1fr}.house-photo-featured{grid-column:auto;min-height:340px}.house-photo:nth-child(7n+3),.house-photo:nth-child(7n+6){grid-row:auto}
  .footer-wordmark .brand-logo-image{width:100%;max-width:300px}
}

/* Literal reference-template homepage composition */
.site-header .brand-wordmark .brand-logo-image,.site-header.solid .brand-wordmark .brand-logo-image,.site-header.scrolled .brand-wordmark .brand-logo-image { width:188px; height:52px; padding:3px 6px; background:#fff; border-radius:2px; }
.footer-wordmark .brand-logo-image { padding:5px; background:#fff; border-radius:2px; }
.reference-home { background:#0b0f11; }
.reference-home .site-header:not(.scrolled) { background:linear-gradient(180deg,rgba(7,10,11,.78),transparent); border:0; backdrop-filter:none; }
.reference-home .ref-hero { min-height:780px; height:100svh; max-height:980px; }
.reference-home .ref-hero .motion-slide::after { background:linear-gradient(90deg,rgba(5,8,9,.94),rgba(5,8,9,.63) 44%,rgba(5,8,9,.08) 80%),linear-gradient(0deg,rgba(5,8,9,.66),transparent 48%); }
.reference-home .hero-slide-content { padding:145px 0 170px; }
.reference-home .hero-slide-copy { max-width:720px; margin-left:55px; }
.reference-home .lux-hero h1 { max-width:720px; font-size:clamp(4rem,6.4vw,6.6rem); line-height:.94; }
.reference-home .lux-intro { max-width:500px; font-size:1rem; }
.ref-hero-rail { position:absolute; z-index:3; left:max(24px,calc((100vw - 1240px)/2)); top:34%; bottom:24%; width:1px; background:rgba(255,255,255,.35); }
.ref-hero-rail::before,.ref-hero-rail::after,.ref-hero-rail i { content:""; position:absolute; left:-2px; width:5px; height:5px; border-radius:50%; background:#fff; }
.ref-hero-rail::before{top:0}.ref-hero-rail::after{bottom:0}.ref-hero-rail i:nth-child(1){top:45%}.ref-hero-rail i:nth-child(2){top:50%}.ref-hero-rail i:nth-child(3){top:55%}
.reference-home .lux-slider-nav { border-color:rgba(255,255,255,.12); background:rgba(7,10,11,.42); }

.ref-proof-wrap { position:relative; z-index:10; margin-top:-65px; background:transparent; }
.ref-proof { display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; border:1px solid rgba(189,146,87,.28); border-radius:25px; color:#fff; background:rgba(13,17,19,.97); box-shadow:0 30px 80px rgba(4,6,7,.28); }
.ref-proof>div { min-height:130px; display:flex; flex-direction:column; justify-content:center; padding:25px 38px; border-right:1px solid rgba(189,146,87,.25); }
.ref-proof>div:last-child{border:0}.ref-proof b{color:#d8b77e;font:400 2.5rem Georgia,serif}.ref-proof span{color:#afb7b8;font-size:.72rem;line-height:1.45}
.ref-section { padding:clamp(85px,9vw,130px) 0; }
.ref-kicker { margin:0 0 20px; color:#bd9257; font-size:.64rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.ref-side-title h2,.ref-centered-heading h2,.ref-story-copy h2 { margin:0; font:400 clamp(2.7rem,4.6vw,4.8rem)/1.03 Georgia,serif; letter-spacing:-.045em; }
.ref-side-title>p:not(.ref-kicker){max-width:250px;color:#8a8e8f;font-size:.82rem}.ref-outline-btn{display:inline-flex;align-items:center;gap:38px;margin-top:34px;padding:13px 20px;border:1px solid #bd9257;color:#161a1c;background:transparent;font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ref-outline-light{color:#e8eced}.ref-outline-btn:hover{color:#111;background:#bd9257}

.ref-featured { padding-top:130px; background:#f3efe8; }
.ref-featured-layout { display:grid; grid-template-columns:.42fr 1.58fr; gap:60px; align-items:center; }
.ref-project-mosaic { display:grid; grid-template-columns:1.08fr 1fr .82fr; grid-template-rows:260px 260px; gap:8px; }
.ref-project { position:relative; overflow:hidden; color:#fff; background:#111; }
.ref-project-large{grid-row:span 2}.ref-project-tall{grid-row:span 2}.ref-project img{width:100%;height:100%;object-fit:cover;transition:.7s ease}.ref-project::after{content:"";position:absolute;inset:28% 0 0;background:linear-gradient(transparent,rgba(6,9,10,.9))}.ref-project:hover img{transform:scale(1.04)}.ref-project>span{position:absolute;z-index:2;right:18px;bottom:16px;left:18px}.ref-project b{display:block;font:400 1.25rem Georgia,serif}.ref-project small{color:#c6cccd;font-size:.66rem}.ref-project i{position:absolute;right:0;bottom:0;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;font-style:normal}

.ref-services { color:#fff; background:#0d1113; border-top:1px solid rgba(189,146,87,.25); }
.ref-services-layout { display:grid; grid-template-columns:.38fr 1.62fr; gap:48px; align-items:stretch; }
.ref-service-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid rgba(189,146,87,.28); border-left:1px solid rgba(189,146,87,.28); }
.ref-service-card { min-height:320px; display:flex; flex-direction:column; align-items:center; padding:38px 20px 30px; border-right:1px solid rgba(189,146,87,.28); border-bottom:1px solid rgba(189,146,87,.28); color:#fff;text-align:center;transition:.35s}.ref-service-card:hover{background:#171d20;transform:translateY(-5px)}.ref-service-card em{margin:5px 0 45px;color:#bd9257;font:normal 2rem Georgia,serif}.ref-service-card h3{font:400 1.35rem/1.05 Georgia,serif}.ref-service-card p{margin-top:auto;color:#9da6a8;font-size:.75rem;line-height:1.55}

.ref-process { position:relative; overflow:hidden; background:#f3efe8; }
.ref-process::after{content:"";position:absolute;right:-130px;bottom:-170px;width:470px;height:470px;border:1px solid rgba(189,146,87,.13);transform:rotate(30deg)}
.ref-process-layout { display:grid; grid-template-columns:.42fr 1.58fr; gap:55px; align-items:center; }
.ref-process-steps { display:grid; grid-template-columns:repeat(5,1fr); margin:0;padding:0;list-style:none; }
.ref-process-steps li{position:relative;padding:70px 18px 0;text-align:center}.ref-process-steps li::before{content:"";position:absolute;top:22px;left:0;right:0;border-top:1px dashed #c4b8a4}.ref-process-steps b{position:absolute;z-index:1;top:0;left:50%;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#bd9257;font:400 .86rem Georgia,serif;transform:translateX(-50%)}.ref-process-steps h3{font:400 1rem Georgia,serif}.ref-process-steps p{color:#737879;font-size:.7rem;line-height:1.5}

.ref-story { color:#fff; background:#090c0d; border-top:1px solid rgba(189,146,87,.18); }
.ref-story-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.ref-story-copy p:not(.ref-kicker){max-width:540px;color:#9fa8aa}.ref-story-copy ul{margin:28px 0;padding:0;list-style:none}.ref-story-copy li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#c2c9ca;font-size:.82rem}.ref-story-copy li::before{content:"✓";margin-right:12px;color:#bd9257}.ref-story-image img{width:100%;height:480px;object-fit:cover}

.ref-realized { color:#fff; background:#080b0c; border-top:1px solid rgba(189,146,87,.18); }
.ref-centered-heading{max-width:800px;margin:0 auto 50px;text-align:center}.ref-centered-heading p:last-child{color:#9da6a8}.ref-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:7px}.ref-gallery-grid a{overflow:hidden}.ref-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.6s}.ref-gallery-grid a:hover img{transform:scale(1.045);opacity:.78}.ref-gallery-action{margin-top:35px;text-align:center}

.ref-insights { color:#fff; background:#0d1113; border-top:1px solid rgba(189,146,87,.25); }
.ref-insights-layout{display:grid;grid-template-columns:.38fr 1.62fr;gap:55px}.ref-insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ref-insight-grid article{position:relative;min-height:360px;overflow:hidden;background:#111}.ref-insight-grid article::after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(7,10,11,.96))}.ref-insight-grid img{width:100%;height:100%;object-fit:cover}.ref-insight-grid article>div{position:absolute;z-index:2;right:20px;bottom:20px;left:20px}.ref-insight-grid small{color:#d6b67e;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.ref-insight-grid h3{font:400 1.3rem/1.2 Georgia,serif}.ref-insight-grid a{color:#d6b67e;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:1050px){
  .ref-featured-layout,.ref-services-layout,.ref-process-layout,.ref-insights-layout{grid-template-columns:1fr}.ref-side-title{max-width:650px}.ref-service-grid{grid-template-columns:repeat(3,1fr)}.ref-process-steps{margin-top:20px}.ref-project-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:360px 230px 330px}.ref-project-large{grid-row:span 2}.ref-project-tall{grid-column:span 2;grid-row:auto}
}
@media(max-width:820px){
  .site-header .brand-wordmark .brand-logo-image,.site-header.solid .brand-wordmark .brand-logo-image,.site-header.scrolled .brand-wordmark .brand-logo-image{width:150px;height:42px}
  .reference-home .ref-hero{min-height:840px;max-height:none}.reference-home .hero-slide-content{padding:135px 0 210px}.reference-home .hero-slide-copy{margin-left:18px}.ref-hero-rail{display:none}
  .ref-proof{grid-template-columns:1fr 1fr}.ref-proof>div:nth-child(2){border-right:0}.ref-proof>div:nth-child(-n+2){border-bottom:1px solid rgba(189,146,87,.25)}
  .ref-story-layout{grid-template-columns:1fr}.ref-story-image img{height:380px}.ref-gallery-grid{grid-template-columns:1fr 1fr}.ref-insight-grid{grid-template-columns:1fr}.ref-insight-grid article{min-height:330px}
  .ref-process-steps{grid-template-columns:1fr}.ref-process-steps li{padding:20px 0 20px 70px;text-align:left;border-bottom:1px solid #d8d0c4}.ref-process-steps li::before{display:none}.ref-process-steps b{top:18px;left:24px}.ref-service-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .reference-home .lux-hero h1{font-size:3.25rem}.ref-proof-wrap{margin-top:-35px}.ref-proof>div{min-height:100px;padding:17px}.ref-proof b{font-size:1.8rem}.ref-proof span{font-size:.62rem}
  .ref-project-mosaic{grid-template-columns:1fr;grid-template-rows:repeat(4,300px)}.ref-project-large,.ref-project-tall{grid-row:auto;grid-column:auto}.ref-service-grid{grid-template-columns:1fr}.ref-service-card{min-height:250px}.ref-service-card em{margin-bottom:25px}.ref-gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}
}

/* Final luxury cascade */
:root { --red:#c29a5b; --red-dark:#a77d40; --brass:#c29a5b; }
.lux-home .motion-slides { z-index:0; }
.lux-home .motion-slide { z-index:0; }
.lux-home .motion-slide.active { z-index:1; }
.brand-kvn span { color:#c29a5b; }
.site-header.solid { color:#f5f1ea; background:rgba(16,19,20,.97); border-color:rgba(255,255,255,.1); }
.site-header.solid .brand-kvn { color:#fff; }.site-header.solid .brand-name{color:#b7c0c2}.site-header.solid .header-call{color:#dec28f;border-color:#c29a5b}.site-header.solid .main-nav a::after{background:#c29a5b}
.page-hero h1,.founder-grid h2,.section-heading h2,.investment-copy blockquote,.cta-inner h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.04em; }
.page-hero::after { background:linear-gradient(90deg,rgba(10,13,14,.95),rgba(10,13,14,.56) 64%,rgba(10,13,14,.18)); }
.eyebrow,.service-number,.timeline time,.text-link { color:#b58b4f; }
.button { border-color:#c29a5b; background:#c29a5b; }.button:hover{border-color:#a77d40;background:#a77d40}.button-dark{border-color:#101314;background:#101314}
.section-dark,.cta-band { background:#101314; }.section-ivory{background:#f4f0e9}.service-detail{border-color:#ddd5c8}.value-card{border-top-color:#c29a5b}.emergency-actions{background:#171b1d}.chat-send,.chat-launcher{background:#b58b4f}.chat-form input:focus{border-color:#b58b4f}
.portfolio-copy p,.compare-benefits+.compare-disclosure{color:#a77d40}.filter-button.active,.filter-button:hover{background:#101314;border-color:#101314}.compare-section{background:#101314}.compare-upload:focus-within{outline:2px solid #c29a5b;outline-offset:2px}

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

/* 2026 luxury experience refinement */
.site-header .brand-wordmark .brand-logo-image,
.site-header.solid .brand-wordmark .brand-logo-image,
.site-header.scrolled .brand-wordmark .brand-logo-image {
  width: 176px;
  height: 50px;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.luxury-proof {
  position: relative;
  z-index: 8;
  color: #f7f4ee;
  background: #0b0f10;
  border-top: 1px solid rgba(224,196,147,.22);
  border-bottom: 1px solid rgba(224,196,147,.18);
}

.luxury-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
}

.luxury-proof-grid > div {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px clamp(20px,3vw,42px);
  border-right: 1px solid rgba(224,196,147,.18);
}

.luxury-proof-grid > div:first-child { padding-left: 0; }
.luxury-proof-grid > div:last-child { border-right: 0; }
.luxury-proof-grid strong {
  margin-bottom: 7px;
  color: #e0c493;
  font: 400 clamp(1.3rem,2vw,1.8rem)/1.1 Georgia,"Times New Roman",serif;
}
.luxury-proof-grid span { max-width: 210px; color: #aeb7b8; font-size: .72rem; line-height: 1.5; }

body.reference-home .services-ledger-item:nth-child(n+4) { display: none; }
body.reference-home .services-ledger-list { grid-template-columns: 1fr; }
body.reference-home .services-ledger-item,
body.reference-home .services-ledger-item:nth-child(odd) { border-right: 0; }
body.reference-home .services-ledger-item:nth-last-child(-n+2) { border-bottom: 1px solid rgba(13,17,19,.16); }
body.reference-home .services-ledger-item:nth-child(3) { border-bottom: 0; }

body.reference-home .ref-project:nth-child(n+4) { display: none; }
body.reference-home .ref-project-mosaic {
  grid-template-columns: 1.2fr .8fr;
  grid-template-rows: repeat(2, 270px);
}
body.reference-home .ref-project-large { grid-row: span 2; }

.footer-testimonials .footer-proof {
  min-height: 230px;
  padding: 34px 28px;
  border-left: 1px solid rgba(224,196,147,.18);
}
.footer-testimonials .footer-proof strong {
  display: block;
  margin-bottom: 20px;
  color: #e0c493;
  font: 400 1.55rem/1.15 Georgia,"Times New Roman",serif;
}
.footer-testimonials .footer-proof p { margin: 0; color: #abb3b4; font-size: .84rem; line-height: 1.75; }

.portfolio-tool-removed[hidden], section[hidden] { display: none !important; }

@media (max-width: 820px) {
  .luxury-proof-grid { grid-template-columns: 1fr 1fr; }
  .luxury-proof-grid > div { min-height: 102px; padding: 20px; }
  .luxury-proof-grid > div:first-child { padding-left: 20px; }
  .luxury-proof-grid > div:nth-child(2) { border-right: 0; }
  .luxury-proof-grid > div:nth-child(-n+2) { border-bottom: 1px solid rgba(224,196,147,.18); }
  .site-header .brand-wordmark .brand-logo-image,
  .site-header.solid .brand-wordmark .brand-logo-image,
  .site-header.scrolled .brand-wordmark .brand-logo-image { width: min(148px,49vw) !important; }
  .footer-testimonials .footer-proof { min-height: auto; padding: 28px 0; border-left: 0; border-top: 1px solid rgba(224,196,147,.18); }
  .chat-launcher { right: 16px; bottom: 92px; width: 56px; height: 56px; }
}

@media (max-width: 560px) {
  .reference-home .lux-actions .lux-button-ghost {
    min-height: 38px;
    padding: 7px 0;
    border: 0;
    color: #f5f1ea;
    background: transparent;
  }
  .reference-home .lux-actions .lux-button-ghost::after { content: " \2192"; color: #e0c493; }
  body.reference-home .ref-project-mosaic { grid-template-columns: 1fr; grid-template-rows: repeat(3,300px); }
  body.reference-home .ref-project-large { grid-row: auto; }
  .luxury-proof-grid strong { font-size: 1.16rem; }
  .luxury-proof-grid span { font-size: .64rem; }
}

/* KVN Luxury Architecture System — approved ARCOVA-inspired direction */
.lux-home { --lux-black:#101314; --lux-panel:#171b1d; --lux-ivory:#f4f0e9; --lux-cream:#fbf9f5; --lux-gold:#c29a5b; --lux-gold-light:#e0c493; --lux-line:rgba(194,154,91,.35); background:var(--lux-cream); }
.lux-home h1,.lux-home h2,.lux-home h3 { font-family:Georgia,"Times New Roman",serif; letter-spacing:-.04em; }
.lux-home h1,.lux-home h2 { font-weight:400; }
.lux-kicker { margin:0 0 20px; color:var(--lux-gold); font-size:.68rem; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
.lux-button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:28px; padding:13px 22px; border:1px solid var(--lux-gold); color:#141719; background:var(--lux-gold); font-size:.7rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; transition:.3s ease; }
.lux-button:hover { color:#fff; background:transparent; transform:translateY(-2px); }
.lux-button-ghost { color:#fff; background:transparent; border-color:rgba(255,255,255,.45); }
.lux-button-ghost:hover { color:#151819; background:#fff; }
.lux-button-dark { color:#fff; background:var(--lux-black); border-color:var(--lux-black); }
.lux-button-dark:hover { color:var(--lux-black); background:transparent; }
.lux-text-link { display:inline-flex; gap:20px; align-items:center; color:var(--lux-gold); font-size:.71rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.lux-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.lux-section { padding:clamp(90px,10vw,150px) 0; }
.lux-section-heading { display:grid; grid-template-columns:1.25fr .75fr; gap:80px; align-items:end; margin-bottom:64px; }
.lux-section-heading h2 { margin:0; font-size:clamp(2.7rem,5vw,5rem); line-height:1.02; }
.lux-section-heading>p { max-width:540px; margin:0 0 10px; color:#777; }
.lux-hero { position:relative; min-height:100svh; display:flex; align-items:end; isolation:isolate; overflow:hidden; color:#fff; background:var(--lux-black); }
.lux-hero .motion-slides,.lux-hero .motion-slide { position:absolute; inset:0; }
.lux-hero .motion-slide { opacity:0; visibility:hidden; transition:opacity 1.15s ease,visibility 1.15s ease; }
.lux-hero .motion-slide.active { opacity:1; visibility:visible; }
.lux-hero .motion-slide::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(6,9,10,.9) 0%,rgba(6,9,10,.72) 42%,rgba(6,9,10,.16) 78%),linear-gradient(0deg,rgba(6,9,10,.88) 0%,transparent 48%,rgba(6,9,10,.18) 100%); }
.lux-hero .motion-slide video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.045); transition:transform 8s ease; }
.lux-hero .motion-slide.active video { transform:scale(1); }
.lux-hero-shade { display:none; }
.hero-slide-content { position:relative; z-index:2; height:100%; display:flex; align-items:center; padding:170px 0 215px; }
.hero-slide-copy { max-width:900px; opacity:0; transform:translateY(28px); transition:opacity .75s .28s ease,transform .75s .28s ease; }
.motion-slide.active .hero-slide-copy { opacity:1; transform:none; }
.lux-hero h1 { margin:0 0 30px; font-size:clamp(3.8rem,7.5vw,7.5rem); line-height:.94; }
.lux-hero h1 em { color:var(--lux-gold-light); font-weight:400; }
.lux-intro { max-width:650px; margin-bottom:34px; color:#d7dcdd; font-size:clamp(1.05rem,1.5vw,1.24rem); }
.hero-trust { position:absolute; z-index:3; right:0; bottom:74px; left:0; border-top:1px solid rgba(255,255,255,.13); background:rgba(7,10,11,.24); backdrop-filter:blur(8px); }
.hero-trust .container { min-height:52px; display:flex; align-items:center; gap:0; }
.hero-trust span { padding:0 26px; border-right:1px solid rgba(255,255,255,.18); color:#d7dcdd; font-size:.63rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero-trust span:first-child { padding-left:0; }
.lux-slider-nav { position:absolute; z-index:3; right:0; bottom:0; left:0; border-top:1px solid rgba(255,255,255,.16); }
.lux-slider-inner { min-height:74px; display:flex; align-items:center; gap:30px; }
.lux-slider-inner>span { color:#aeb7b9; font-size:.76rem; }.lux-slider-inner>span strong{color:var(--lux-gold);font:400 1.35rem Georgia,serif;}
.lux-slider-inner .motion-dots { display:flex; gap:8px; margin-right:auto; }.lux-slider-inner .motion-dot{width:28px;height:2px;padding:0;border:0;background:rgba(255,255,255,.3)}.lux-slider-inner .motion-dot.active{background:var(--lux-gold)}
.lux-slider-inner>div:last-child { display:flex; }.lux-slider-inner>div:last-child button:not(.sr-only){width:48px;height:48px;border:1px solid rgba(255,255,255,.25);color:#fff;background:transparent;}
.lux-proof-wrap { position:relative; z-index:5; margin-top:-1px; background:var(--lux-black); color:#fff; }
.lux-proof { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--lux-line); border-bottom:0; }
.lux-proof>div { min-height:132px; display:grid; align-content:center; gap:5px; padding:26px 34px; border-right:1px solid var(--lux-line); }.lux-proof>div:last-child{border:0}
.lux-proof strong { color:var(--lux-gold-light); font:400 2.3rem Georgia,serif; }.lux-proof span{color:#aeb6b8;font-size:.78rem}
.lux-projects { background:var(--lux-ivory); }
.lux-project-layout { display:grid; grid-template-columns:.42fr 1.58fr; gap:58px; align-items:start; }
.lux-side-heading { position:sticky; top:120px; padding-top:24px; }.lux-side-heading h2{font-size:clamp(2.6rem,4vw,4.5rem);line-height:1.03}.lux-side-heading>p:not(.lux-kicker){color:#6f7375;margin-bottom:30px}
.lux-project-grid { display:grid; grid-template-columns:1.08fr .92fr .92fr; grid-template-rows:290px 290px; gap:10px; }
.lux-project { position:relative; overflow:hidden; color:#fff; background:#111; }.lux-project-large{grid-row:span 2}.lux-project-tall{grid-row:span 2}
.lux-project img { width:100%;height:100%;object-fit:cover;transition:transform .8s ease,opacity .4s}.lux-project:hover img{transform:scale(1.045);opacity:.78}
.lux-project::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(8,11,12,.92))}
.lux-project>span{position:absolute;z-index:2;right:20px;bottom:18px;left:20px}.lux-project small,.lux-project em{display:block;color:var(--lux-gold-light);font-size:.65rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase}.lux-project strong{display:block;margin:5px 0;font:400 1.45rem Georgia,serif}
.lux-services { color:#fff; background:var(--lux-black); }.lux-services .lux-section-heading>p{color:#aab2b4}
.lux-service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--lux-line);border-left:1px solid var(--lux-line); }
.lux-service { position:relative; min-height:330px; padding:34px; border-right:1px solid var(--lux-line);border-bottom:1px solid var(--lux-line); transition:.3s ease; }.lux-service:hover{background:#1b2022;transform:translateY(-4px)}
.lux-service>span{position:absolute;right:24px;top:20px;color:#677074;font:italic 1rem Georgia,serif}.lux-service i{display:block;margin:12px 0 52px;color:var(--lux-gold);font:normal 2.2rem Georgia,serif}.lux-service h3{margin-bottom:12px;font-size:1.55rem;font-weight:400}.lux-service p{color:#9fa8aa;font-size:.9rem}.lux-service b{position:absolute;left:34px;bottom:28px;color:var(--lux-gold);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase}
.lux-partners { background:var(--lux-cream); }.lux-partner-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,110px);align-items:center}.lux-partner-photo{position:relative}.lux-partner-photo img{width:100%;max-height:700px;object-fit:cover;object-position:center 22%;filter:saturate(.75);}.lux-partner-photo span{position:absolute;right:-24px;bottom:28px;padding:16px 22px;color:#fff;background:var(--lux-black);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.lux-partner-copy h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1.02}.lux-lead{color:#555;font-size:1.14rem}.lux-duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0}.lux-duo article{padding-top:18px;border-top:1px solid #ccc5ba}.lux-duo strong{font:400 1.35rem Georgia,serif}.lux-duo p{color:#707476;font-size:.88rem}
.lux-process { background:var(--lux-ivory); }.lux-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0;padding:0;list-style:none}.lux-steps li{position:relative;padding:68px 26px 22px 0;border-top:1px solid #cfc7bb}.lux-steps li:not(:last-child)::after{content:"";position:absolute;right:18px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--lux-gold)}.lux-steps span{position:absolute;top:18px;color:var(--lux-gold);font:400 1.1rem Georgia,serif}.lux-steps h3{font-size:1.25rem;font-weight:400}.lux-steps p{padding-right:20px;color:#74787a;font-size:.83rem}
.lux-compare-cta { padding:95px 0;color:#fff;background:linear-gradient(90deg,rgba(9,12,13,.96),rgba(9,12,13,.62)),url("images/wingate-kitchen.webp") center/cover fixed}.lux-compare-inner{display:flex;align-items:end;justify-content:space-between;gap:50px}.lux-compare-inner h2{margin-bottom:12px;font-size:clamp(2.7rem,5vw,5rem)}.lux-compare-inner p:not(.lux-kicker){max-width:650px;color:#c8cecf}
.lux-kelly { background:var(--lux-cream); }.lux-kelly-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(50px,8vw,110px);align-items:center}.lux-kelly h2{font-size:clamp(2.7rem,5vw,5rem)}.lux-kelly>p{color:#666}.lux-kelly-card{padding:42px;color:#fff;background:var(--lux-black);box-shadow:0 28px 70px rgba(16,19,20,.18)}.lux-kelly-card>small{margin-left:12px;color:#aeb6b8}.lux-kelly-card>p{margin:28px 0;font:400 1.55rem/1.45 Georgia,serif}.lux-kelly-card>div{display:flex;flex-wrap:wrap;gap:8px}.lux-kelly-card>div span{padding:8px 11px;border:1px solid var(--lux-line);color:var(--lux-gold-light);font-size:.7rem}
.lux-final{padding:100px 0;color:#fff;background:var(--lux-black)}.lux-final-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end}.lux-final h2{margin:0;font-size:clamp(3rem,5.5vw,5.5rem)}.lux-final-inner>div:last-child p{color:#aeb6b8}
.lux-home .site-header:not(.scrolled){background:rgba(11,14,15,.38);backdrop-filter:blur(10px)}.lux-home .site-header:not(.scrolled) .brand-kvn{color:#fff}.lux-home .site-header:not(.scrolled) .brand-name{color:#d8dedf}
.lux-home .site-header.scrolled{background:rgba(16,19,20,.97);color:#fff;border-color:rgba(255,255,255,.1)}.lux-home .site-header.scrolled .brand-kvn{color:#fff}.lux-home .site-header.scrolled .brand-name{color:#c3cbcd}.lux-home .main-nav a::after{background:var(--lux-gold)}.lux-home .header-call{border-color:var(--lux-gold);color:var(--lux-gold-light)}
.lux-home .site-footer{background:#090b0c}.lux-home .footer-grid h3{color:var(--lux-gold-light)}

@media(max-width:980px){.lux-project-layout,.lux-partner-grid,.lux-kelly-grid{grid-template-columns:1fr}.lux-side-heading{position:static}.lux-project-grid{grid-template-columns:1fr 1fr;grid-template-rows:380px 260px 380px}.lux-project-large{grid-row:span 2}.lux-project-tall{grid-column:span 2;grid-row:auto}.lux-service-grid{grid-template-columns:repeat(2,1fr)}.lux-steps{grid-template-columns:repeat(3,1fr)}.lux-section-heading{grid-template-columns:1fr;gap:24px}.lux-partner-photo{max-width:620px}}
@media(max-width:720px){.lux-hero{min-height:820px}.hero-slide-content{padding:135px 0 230px}.lux-hero h1{font-size:clamp(3.15rem,15vw,4.3rem)}.lux-intro{font-size:1rem}.hero-trust{bottom:74px}.hero-trust .container{min-height:70px;flex-wrap:wrap;align-content:center;gap:5px 0}.hero-trust span{width:50%;padding:2px 10px;font-size:.54rem}.hero-trust span:first-child{padding-left:10px}.lux-slider-inner{gap:15px}.lux-slider-inner .motion-dot{width:18px}.lux-proof{grid-template-columns:1fr 1fr}.lux-proof>div:nth-child(2){border-right:0}.lux-project-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,330px)}.lux-project-large,.lux-project-tall{grid-column:auto;grid-row:auto}.lux-service-grid{grid-template-columns:1fr}.lux-service{min-height:280px}.lux-steps{grid-template-columns:1fr}.lux-steps li{padding-left:55px}.lux-steps span{left:0;top:64px}.lux-compare-inner,.lux-final-inner{display:grid;grid-template-columns:1fr}.lux-duo{grid-template-columns:1fr}.lux-partner-photo span{right:0}.lux-compare-cta{background-attachment:scroll}}

/* KVN editorial redesign — inspired by the original WordPress composition */
:root {
  --ink: #0a0b0c;
  --ink-soft: #272a2d;
  --ivory: #f7f6f3;
  --paper: #ffffff;
  --stone: #e9e7e2;
  --muted: #6b6d70;
  --red: #c50d16;
  --red-dark: #950a11;
  --brass: #c7a46b;
  --max: 1180px;
}

body { font-family: Inter, "Segoe UI", Arial, sans-serif; background: #fff; }
h1, h2, .display { font-family: "Arial Black", "Segoe UI", Arial, sans-serif; font-weight: 900; letter-spacing: -.055em; }
h3 { letter-spacing: -.02em; }
.eyebrow { color: var(--red); font-size: .7rem; letter-spacing: .2em; }
.button { min-height: 48px; padding: 12px 20px; border-radius: 0; font-size: .71rem; letter-spacing: .15em; }
.text-link { color: var(--ink); }
.text-link:hover { color: var(--red); }

.site-header { height: 76px; border-bottom: 0; }
.site-header.scrolled, .site-header.solid { height: 68px; background: rgba(255,255,255,.97); }
.brand-wordmark { display: grid; gap: 0; color: currentColor; line-height: 1; background: transparent !important; box-shadow: none !important; }
.brand-kvn { font-size: 1.55rem; font-weight: 950; letter-spacing: -.08em; }
.brand-kvn span { color: var(--red); }
.brand-name { margin-top: 3px; font-size: .5rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.footer-wordmark { display: inline-grid; margin-bottom: 24px; color: #fff; }
.footer-wordmark .brand-kvn { font-size: 2.25rem; }
.footer-wordmark .brand-name { font-size: .64rem; }
.brand-wordmark .brand-logo-image { width:210px; height:48px; object-fit:contain; object-position:left center; border-radius:2px; background:#fff; box-shadow:none; }
.brand-slogan { margin-top:3px; color:currentColor; font-size:.43rem; font-weight:800; letter-spacing:.11em; line-height:1; text-transform:uppercase; white-space:nowrap; }
.footer-wordmark .brand-logo-image { width:280px; height:auto; }
.footer-wordmark .brand-slogan { margin-top:8px; color:#d9bd8b; font-size:.55rem; }
@media(max-width:820px){.brand-wordmark .brand-logo-image{width:158px;height:38px}.brand-slogan{font-size:.35rem;letter-spacing:.08em}.footer-wordmark .brand-logo-image{width:240px;height:auto}.footer-wordmark .brand-slogan{font-size:.48rem}}

.motion-hero { position: relative; min-height: 780px; color: #fff; background: #050607; isolation: isolate; overflow: hidden; }
.motion-slides, .motion-slide, .motion-slide::after { position: absolute; inset: 0; }
.motion-slide { z-index: -2; opacity: 0; transform: scale(1.035); transition: opacity 1.15s ease; background: center/cover no-repeat; }
.motion-slide.active { opacity: 1; z-index: -1; }
.motion-slide.active .motion-image { animation: cinematicZoom 8s ease-out both; }
.motion-image { position: absolute; inset: -4%; background: inherit; background-position: center; background-size: cover; }
.motion-slide::after { content: ""; background: linear-gradient(90deg, rgba(5,6,7,.78) 0%, rgba(5,6,7,.4) 48%, rgba(5,6,7,.14) 78%), linear-gradient(0deg, rgba(5,6,7,.6), transparent 65%); }
@keyframes cinematicZoom { from { transform: scale(1.04) translate3d(0,0,0); } to { transform: scale(1.13) translate3d(-1.3%, -1%, 0); } }
@keyframes sliderProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.motion-hero-inner { min-height: 640px; display: flex; align-items: center; padding-top: 80px; }
.motion-copy { width: min(780px, 100%); }
.motion-kicker { margin-bottom: 16px; color: #ddd7cf; font-size: .73rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.motion-copy h1 { max-width: 800px; margin-bottom: 24px; font-size: clamp(3.2rem, 7.4vw, 7.25rem); line-height: .92; }
.motion-copy h1 span { display: block; color: #f1d8ab; }
.motion-copy p { max-width: 610px; color: #ececea; font-size: 1.05rem; }
.motion-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.motion-console { position: absolute; inset: auto 0 0; height: 142px; color: #fff; background: #050607; }
.motion-console::before { content: ""; position: absolute; left: max(28px, calc((100% - var(--max))/2)); top: -62px; width: 64px; height: 110px; border: 1px solid rgba(255,255,255,.34); }
.motion-console-inner { height: 100%; display: grid; grid-template-columns: 130px 1fr auto; gap: 34px; align-items: center; }
.motion-count { display: flex; align-items: baseline; gap: 8px; font-weight: 900; }
.motion-count strong { font-size: 2rem; }
.motion-count span { color: #7f8385; font-size: .72rem; }
.motion-progress { height: 1px; background: rgba(255,255,255,.2); overflow: hidden; }
.motion-progress span { display: block; width: 100%; height: 100%; transform-origin: left; background: var(--red); }
.motion-controls { display: flex; align-items: center; gap: 8px; }
.motion-arrow, .motion-dot, .motion-pause { border: 1px solid rgba(255,255,255,.25); color: #fff; background: transparent; }
.motion-arrow { width: 42px; height: 42px; }
.motion-pause { height: 42px; padding: 0 15px; font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.motion-dots { display: flex; gap: 7px; }
.motion-dot { width: 23px; height: 4px; padding: 0; border: 0; background: #575a5b; }
.motion-dot.active { background: var(--red); }

.reference-intro { padding: 108px 0 84px; }
.reference-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(50px,8vw,105px); align-items: center; }
.reference-photo { position: relative; }
.reference-photo::before { content: ""; position: absolute; inset: -18px auto auto -18px; width: 72%; height: 70%; background: #f0efec; z-index: -1; }
.reference-photo img { width: 100%; height: 430px; object-fit: cover; }
.reference-copy h2 { margin-bottom: 22px; font-size: clamp(2.25rem,4vw,4rem); }
.reference-copy p { color: var(--muted); }

.reference-services { padding: 70px 0 120px; }
.reference-title { margin-bottom: 42px; text-align: center; }
.reference-title h2 { font-size: clamp(2.35rem,5vw,4.7rem); }
.reference-service-grid { display: grid; grid-template-columns: repeat(3,1fr); background: #f5f4f1; }
.reference-service { padding: 18px 18px 34px; text-align: center; transition: .35s ease; }
.reference-service:hover { background: #fff; box-shadow: 0 24px 70px rgba(9,10,11,.12); transform: translateY(-8px); }
.reference-service img { width: 100%; height: 210px; margin-bottom: 22px; object-fit: cover; }
.reference-service h3 { font-size: 1rem; }
.reference-service p { color: var(--muted); font-size: .82rem; }

.story-stage { position: relative; min-height: 630px; display: flex; align-items: end; padding: 0 0 58px; background: url("images/wingate-living.webp") center/cover fixed; }
.story-stage::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,6,7,.36), transparent 75%); }
.story-card { position: relative; z-index: 1; width: min(860px, calc(100% - 30px)); margin: 0 auto; padding: clamp(38px,6vw,76px); background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.18); }
.story-card h2 { font-size: clamp(2.25rem,4vw,3.9rem); }
.story-card p { color: var(--muted); }

.details-section { padding: 130px 0; }
.details-grid { display: grid; grid-template-columns: .96fr 1.04fr; gap: clamp(45px,7vw,90px); align-items: center; }
.details-collage { position: relative; min-height: 500px; }
.details-collage img:first-child { width: 72%; height: 440px; object-fit: cover; }
.details-collage img:last-child { position: absolute; right: 0; bottom: 0; width: 54%; height: 290px; object-fit: cover; border: 12px solid #fff; }
.details-copy h2 { font-size: clamp(2.4rem,4.5vw,4.4rem); }
.details-copy p { color: var(--muted); }

.capability-band { padding: 105px 0; background: #f6f5f2; }
.capability-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.capability-card { position: relative; min-height: 330px; padding: 40px 34px; background: #fff; box-shadow: 0 14px 44px rgba(9,10,11,.06); }
.capability-icon { display: block; width: 48px; height: 48px; margin-bottom: 44px; border: 1px solid var(--red); }
.capability-card h3 { font-size: 1.35rem; }
.capability-card p { color: var(--muted); font-size: .9rem; }
.capability-card .text-link { position: absolute; left: 34px; bottom: 34px; }

.newsletter { padding: 100px 0; }
.newsletter-panel { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 40px; padding: 42px; background: #fff; box-shadow: 0 18px 58px rgba(9,10,11,.15); }
.newsletter-panel h2 { margin: 0; font-size: clamp(2rem,4vw,3.6rem); }
.newsletter-form { display: grid; grid-template-columns: 1fr auto; }
.newsletter-form input { min-width: 0; padding: 15px 18px; border: 0; border-bottom: 1px solid #aaa; outline: none; }
.newsletter-form button { min-width: 170px; border: 0; color: #fff; background: #050607; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

.page-hero { min-height: 64svh; }
.page-hero h1 { font-family: "Arial Black", "Segoe UI", Arial, sans-serif; font-weight: 900; }
.founder-grid h2, .section-heading h2, .investment-copy blockquote, .cta-inner h2 { font-family: "Arial Black", "Segoe UI", Arial, sans-serif; }
.founder-grid .lead { font-weight: 600; }
.timeline time { font-family: "Arial Black", Arial, sans-serif; color: var(--red); }
.service-card h3, .service-detail h3, .project-caption h3 { font-family: "Segoe UI", Arial, sans-serif; font-weight: 800; }

@media (max-width: 820px) {
  .motion-hero { min-height: 820px; }
  .motion-hero-inner { min-height: 680px; }
  .motion-console { height: 122px; }
  .motion-console-inner { grid-template-columns: 80px 1fr; }
  .motion-controls { grid-column: 1/-1; position: absolute; right: 15px; bottom: 15px; }
  .reference-split, .details-grid, .newsletter-panel { grid-template-columns: 1fr; }
  .reference-service-grid, .capability-grid { grid-template-columns: 1fr; }
  .reference-service img { height: 280px; }
  .story-stage { background-attachment: scroll; }
  .details-collage { min-height: 430px; }
}

@media (max-width: 540px) {
  .motion-copy h1 { font-size: 3.35rem; }
  .motion-console-inner { gap: 14px; }
  .motion-dots, .motion-pause { display: none; }
  .reference-intro { padding-top: 78px; }
  .reference-photo img { height: 320px; }
  .reference-service img { height: 220px; }
  .story-card { padding: 34px 26px; }
  .newsletter-form { grid-template-columns: 1fr; gap: 14px; }
  .newsletter-form button { min-height: 48px; }
}

/* Cohesive luxury footer — transparent logo, no separate logo box */
.site-footer {
  padding-top: 0 !important;
  color: #171c1d !important;
  background: #f5f2eb !important;
  border-top: 0 !important;
}

.site-footer .footer-lux-grid {
  position: relative;
  grid-template-columns: .72fr 1.28fr !important;
  gap: 0 !important;
}

.site-footer .footer-lux-grid > div {
  min-height: 0 !important;
  border-right: 0 !important;
}

.site-footer .footer-invite {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: 60px;
  padding: 76px 0 72px !important;
  color: #fff;
  background: #0a0e0f;
  box-shadow: 0 0 0 100vmax #0a0e0f;
  clip-path: inset(0 -100vmax);
}

.site-footer .footer-kicker {
  grid-column: 1;
  margin: 0 0 12px;
  color: #c9a66e;
}

.site-footer .footer-invite h2 {
  grid-column: 1;
  max-width: 760px;
  margin: 0;
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: .98;
}

.site-footer .footer-cta {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: end;
  min-width: 210px;
  padding: 18px 24px;
  color: #111617 !important;
  background: #d7b77e;
  border: 1px solid #d7b77e;
  text-align: center;
}

.site-footer .footer-cta:hover {
  color: #fff !important;
  background: #b5161b;
  border-color: #b5161b;
}

.site-footer .footer-contact,
.site-footer .footer-brand-panel {
  padding-top: 64px !important;
  padding-bottom: 58px !important;
  background: transparent !important;
}

.site-footer .footer-contact {
  padding-left: 0 !important;
  padding-right: 72px !important;
  border-right: 1px solid #d7d0c4 !important;
}

.site-footer .footer-contact h3 {
  margin-bottom: 22px;
  color: #9d1519 !important;
}

.site-footer .footer-contact li,
.site-footer .footer-contact a {
  color: #4b5354 !important;
}

.site-footer .footer-contact a:hover {
  color: #b5161b !important;
}

.site-footer .footer-brand-panel {
  padding-left: 72px !important;
  padding-right: 0 !important;
  color: #171c1d !important;
}

.site-footer .footer-wordmark {
  margin-bottom: 18px;
}

.site-footer .footer-wordmark .brand-logo-image {
  width: min(360px, 100%) !important;
  height: auto !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.site-footer .footer-wordmark .brand-slogan {
  display: none !important;
}

.site-footer .footer-brand-panel > p {
  max-width: 560px;
  margin: 0;
  color: #4f5758 !important;
  font-size: .94rem;
  line-height: 1.85;
}

.site-footer .footer-inline-nav {
  gap: 12px 24px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid #d7d0c4;
}

.site-footer .footer-inline-nav a {
  color: #333a3b !important;
}

.site-footer .footer-inline-nav a:hover {
  color: #b5161b !important;
}

.site-footer .footer-bottom {
  padding-top: 22px;
  padding-bottom: 24px;
  color: #697071;
  border-top: 1px solid #d7d0c4 !important;
}

@media (max-width: 820px) {
  .site-footer .footer-lux-grid {
    grid-template-columns: 1fr !important;
  }

  .site-footer .footer-invite {
    grid-column: auto;
    grid-template-columns: 1fr;
    padding: 62px 0 58px !important;
  }

  .site-footer .footer-cta {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    margin-top: 30px;
  }

  .site-footer .footer-contact,
  .site-footer .footer-brand-panel {
    padding: 42px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #d7d0c4 !important;
  }

  .site-footer .footer-brand-panel {
    grid-column: auto !important;
  }
}

/* Reference-matched footer: testimonials, consultation banner, information grid */
.site-footer {
  padding: 0 !important;
  color: #e8e5dd !important;
  background: #111313 !important;
  border: 0 !important;
}

.footer-testimonials {
  padding: 42px 0 40px;
  color: #1c2020;
  background: #e9e9e6;
}

.footer-testimonials-grid {
  display: grid;
  grid-template-columns: 1.05fr repeat(3, 1.35fr);
  align-items: stretch;
}

.footer-testimonials-heading {
  position: relative;
  padding: 3px 34px 0 0;
}

.footer-testimonials-heading p {
  margin: 0;
  font-family: "Arial Narrow", "Segoe UI", Arial, sans-serif;
  font-size: clamp(1.45rem, 2.1vw, 2.05rem);
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}

.footer-testimonial-rule {
  display: block;
  width: 42px;
  height: 1px;
  margin-top: 52px;
  background: #a2a4a1;
}

.footer-testimonials blockquote {
  position: relative;
  margin: 0;
  padding: 0 30px 0 40px;
  border-left: 1px solid #b9bbb7;
}

.footer-quote-mark {
  position: absolute;
  top: -12px;
  left: 20px;
  color: #a9734f;
  font-family: Georgia, serif;
  font-size: 2.5rem;
  line-height: 1;
}

.footer-testimonials blockquote p {
  min-height: 62px;
  margin: 0 0 18px;
  color: #343938;
  font-size: .82rem;
  line-height: 1.65;
}

.footer-testimonials cite {
  display: block;
  color: #232727;
  font-size: .62rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.footer-consultation {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: url("images/wingate-kitchen.webp") center 55% / cover;
}

.footer-consultation::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(10,12,12,.94) 0%, rgba(10,12,12,.72) 48%, rgba(10,12,12,.45) 100%);
}

.footer-consultation-inner {
  min-height: 184px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.footer-consultation-title {
  margin: 0 0 12px;
  color: #fff;
  font-family: "Arial Narrow", "Segoe UI", Arial, sans-serif;
  font-size: clamp(2rem, 3.2vw, 3.15rem);
  font-weight: 500;
  letter-spacing: .035em;
  line-height: .98;
  text-transform: uppercase;
}

.footer-consultation-inner > div > span {
  display: block;
  max-width: 440px;
  color: #c7cbca;
  font-size: .82rem;
  line-height: 1.6;
}

.footer-consultation-button {
  min-width: 245px;
  padding: 18px 24px;
  color: #171b1b !important;
  background: #c58b67;
  border: 1px solid #c58b67;
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}

.footer-consultation-button span {
  margin-left: 20px;
  font-size: 1rem;
}

.footer-consultation-button:hover {
  color: #fff !important;
  background: #a70f14;
  border-color: #a70f14;
}

.footer-main {
  color: #aeb3b1;
  background: #111313;
  border-top: 1px solid rgba(255,255,255,.08);
}

.footer-main-grid {
  display: grid;
  grid-template-columns: 1.55fr .62fr .8fr .95fr 1.12fr;
  gap: clamp(25px, 3vw, 52px);
  align-items: start;
  padding-top: 34px;
  padding-bottom: 28px;
}

.footer-reference-logo {
  display: block;
  width: min(265px, 100%);
  margin-bottom: 16px;
}

.footer-reference-logo img {
  display: block;
  width: 100%;
  height: auto;
  background: transparent;
  filter: drop-shadow(0 0 .55px rgba(255,255,255,.95)) drop-shadow(0 1px 8px rgba(0,0,0,.35));
}

.footer-main-brand > p {
  max-width: 305px;
  margin: 0;
  color: #969d9b;
  font-size: .75rem;
  line-height: 1.65;
}

.footer-social {
  display: flex;
  gap: 8px;
  margin-top: 18px;
}

.footer-social span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: #d0a47f;
  border: 1px solid #565b59;
  border-radius: 50%;
  font-size: .55rem;
}

.footer-link-column {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.footer-link-column h3 {
  margin: 2px 0 10px;
  color: #f3f1eb;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: .71rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.footer-link-column a,
.footer-link-column p {
  margin: 0;
  color: #9ca2a0;
  font-size: .7rem;
  line-height: 1.55;
}

.footer-link-column a:hover {
  color: #d7a47f;
}

.footer-project-image {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 122px;
  border: 1px solid rgba(255,255,255,.12);
}

.footer-project-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(8,10,10,.82), transparent 66%);
}

.footer-project-image img {
  width: 100%;
  height: 122px;
  object-fit: cover;
  transition: transform .5s ease;
}

.footer-project-image:hover img {
  transform: scale(1.05);
}

.footer-project-image span {
  position: absolute;
  z-index: 1;
  left: 14px;
  bottom: 12px;
  color: #fff;
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.site-footer .footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 30px;
  padding: 14px 0 18px;
  color: #777e7c;
  border-top: 1px solid rgba(255,255,255,.09) !important;
  font-size: .58rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .footer-testimonials-grid { grid-template-columns: 1fr 1fr; row-gap: 34px; }
  .footer-testimonials-heading { grid-column: 1 / -1; }
  .footer-testimonial-rule { margin-top: 22px; }
  .footer-testimonials blockquote:nth-of-type(3) { display: none; }
  .footer-main-grid { grid-template-columns: 1.4fr .7fr .8fr; }
  .footer-studio { grid-column: 2; }
  .footer-project-image { grid-column: 3; }
}

@media (max-width: 700px) {
  .footer-testimonials { padding: 34px 0; }
  .footer-testimonials-grid { grid-template-columns: 1fr; }
  .footer-testimonials-heading { grid-column: auto; }
  .footer-testimonials blockquote { padding: 0 0 0 38px; border-left: 1px solid #b9bbb7; }
  .footer-testimonials blockquote:nth-of-type(3) { display: block; }
  .footer-consultation-inner { min-height: 290px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 28px; }
  .footer-consultation-button { min-width: 0; }
  .footer-main-grid { grid-template-columns: 1fr 1fr; padding-top: 38px; }
  .footer-main-brand { grid-column: 1 / -1; }
  .footer-project-image { grid-column: 1 / -1; min-height: 180px; }
  .footer-project-image img { height: 180px; }
  .site-footer .footer-bottom { grid-template-columns: 1fr; gap: 8px; }
}

@media (max-width: 430px) {
  .footer-main-grid { grid-template-columns: 1fr; }
  .footer-studio, .footer-project-image { grid-column: auto; }
}

/* White-and-red logo contrast treatment */
.site-header,
.site-header.solid,
.site-header.scrolled,
.lux-home .site-header,
.lux-home .site-header:not(.scrolled),
.lux-home .site-header.scrolled,
.reference-home .site-header:not(.scrolled) {
  color: #fff !important;
  background: rgba(8, 12, 13, .96) !important;
  border-bottom-color: rgba(189, 146, 87, .25) !important;
}

.site-header .main-nav a {
  color: #f4f1eb !important;
}

.site-header .main-nav a:hover,
.site-header .main-nav a.active {
  color: #d9bd8b !important;
}

.site-header .menu-toggle,
.site-header .menu-toggle::before,
.site-header .menu-toggle::after {
  color: #fff !important;
}

.footer-reference-logo img {
  filter: none !important;
}

@media (max-width: 820px) {
  .site-header .main-nav {
    background: rgba(8, 12, 13, .99) !important;
  }
}

/* Footer layout after removing the project thumbnail */
.footer-main-grid {
  grid-template-columns: 1.55fr .68fr .82fr 1fr;
}

@media (max-width: 980px) {
  .footer-main-grid {
    grid-template-columns: 1.4fr .75fr .85fr;
  }

  .footer-studio {
    grid-column: 2 / 4;
  }
}

@media (max-width: 700px) {
  .footer-main-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-studio {
    grid-column: 1 / -1;
  }
}

@media (max-width: 430px) {
  .footer-main-grid {
    grid-template-columns: 1fr;
  }

  .footer-studio {
    grid-column: auto;
  }
}

/* Full-width credibility band directly beneath the hero */
.reference-home .ref-proof-wrap {
  position: relative;
  z-index: 8;
  width: 100%;
  margin: 0 !important;
  background: #0c1011 !important;
  border-top: 1px solid rgba(216, 183, 126, .28);
  border-bottom: 1px solid rgba(216, 183, 126, .22);
}

.reference-home .ref-proof {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  color: #fff;
  background: #0c1011;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.reference-home .ref-proof > div {
  position: relative;
  min-height: 158px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px clamp(28px, 4vw, 68px);
  border-right: 1px solid rgba(216, 183, 126, .23);
  transition: background .3s ease;
}

.reference-home .ref-proof > div:last-child {
  border-right: 0;
}

.reference-home .ref-proof > div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  background: #b5161b;
  transition: width .35s ease;
}

.reference-home .ref-proof > div:hover {
  background: #131819;
}

.reference-home .ref-proof > div:hover::before {
  width: 100%;
}

.reference-home .ref-proof small {
  margin-bottom: 12px;
  color: #b78e57;
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
}

.reference-home .ref-proof b {
  margin-bottom: 7px;
  color: #e1c28e;
  font: 400 clamp(2.15rem, 3.3vw, 3.35rem)/.95 Georgia, serif;
  letter-spacing: -.025em;
}

.reference-home .ref-proof span {
  color: #bdc4c4;
  font-size: .76rem;
  line-height: 1.5;
}

@media (max-width: 820px) {
  .reference-home .ref-proof {
    grid-template-columns: 1fr 1fr;
  }

  .reference-home .ref-proof > div {
    min-height: 138px;
    border-bottom: 1px solid rgba(216, 183, 126, .23);
  }

  .reference-home .ref-proof > div:nth-child(2) {
    border-right: 0;
  }

  .reference-home .ref-proof > div:nth-child(n + 3) {
    border-bottom: 0;
  }
}

@media (max-width: 520px) {
  .reference-home .ref-proof {
    grid-template-columns: 1fr;
  }

  .reference-home .ref-proof > div {
    min-height: 118px;
    padding: 24px 26px;
    border-right: 0;
    border-bottom: 1px solid rgba(216, 183, 126, .23) !important;
  }

  .reference-home .ref-proof > div:last-child {
    border-bottom: 0 !important;
  }
}

/* Lock the final metrics band to its intended dark luxury palette */
body.reference-home .ref-proof-wrap {
  background: #0b0f10 !important;
  border-top-color: rgba(198,163,109,.26) !important;
  border-bottom-color: rgba(198,163,109,.22) !important;
}

body.reference-home .ref-proof-wrap .ref-proof {
  color: #fff !important;
  background: linear-gradient(90deg, #090d0e 0%, #151a1b 50%, #090d0e 100%) !important;
}

body.reference-home .ref-proof-wrap .ref-proof > div {
  background: transparent !important;
}

body.reference-home .ref-proof-wrap .ref-proof > div:hover {
  background: rgba(255,255,255,.035) !important;
}

body.reference-home .ref-proof-wrap .ref-proof-copy b {
  color: #d5b47e !important;
  text-shadow: none !important;
}

body.reference-home .ref-proof-wrap .ref-proof-copy > span {
  color: #d5dad9 !important;
}

body.reference-home .ref-proof-wrap .ref-proof-icon,
body.reference-home .ref-proof-wrap .ref-proof-icon span {
  color: #cba46d !important;
}

body.reference-home .ref-proof-wrap .ref-proof-icon {
  background: rgba(255,255,255,.015) !important;
  border-color: rgba(203,164,109,.7) !important;
  box-shadow: none !important;
}

/* Restored light metrics band with clean CSS line icons */
body.reference-home .ref-proof-wrap {
  background: #f5f1e9 !important;
  border-top-color: #d8cdbb !important;
  border-bottom-color: #d8cdbb !important;
}

body.reference-home .ref-proof-wrap .ref-proof {
  color: #1d2323 !important;
  background: linear-gradient(180deg, #faf8f3 0%, #eee9df 100%) !important;
}

body.reference-home .ref-proof-wrap .ref-proof > div:hover {
  background: rgba(255,255,255,.6) !important;
}

body.reference-home .ref-proof-wrap .ref-proof-copy b {
  color: #a6763e !important;
}

body.reference-home .ref-proof-wrap .ref-proof-copy > span {
  color: #4e5758 !important;
}

body.reference-home .ref-proof-wrap .ref-proof-icon {
  color: #a6763e !important;
  background: rgba(255,255,255,.45) !important;
  border-color: #bb905b !important;
  box-shadow: inset 0 0 0 4px #f6f1e7 !important;
}

body.reference-home .ref-proof-wrap .ref-proof-icon span {
  position: absolute;
  inset: 0;
  color: inherit !important;
}

/* Experience badge */
.proof-icon-years span::before,
.proof-icon-expertise span::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 12px;
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  transform: rotate(45deg);
}

.proof-icon-years span::after,
.proof-icon-expertise span::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 28px;
  width: 15px;
  height: 12px;
  border-left: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: skew(-15deg);
}

/* Trust star */
.proof-icon-trust span::before {
  content: "★";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: currentColor;
  font: normal 1.05rem/1 Georgia, serif;
}

/* Location pin */
.proof-icon-region span::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 8px;
  width: 16px;
  height: 21px;
  border: 2px solid currentColor;
  border-radius: 50% 50% 50% 4px;
  transform: rotate(-45deg);
}

.proof-icon-region span::after {
  content: "";
  position: absolute;
  left: 20px;
  top: 14px;
  width: 5px;
  height: 5px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

/* Client group */
.proof-icon-clients span::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 9px;
  width: 10px;
  height: 10px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow: -10px 8px 0 -3px #f5f1e9, -10px 8px 0 -1px currentColor, 10px 8px 0 -3px #f5f1e9, 10px 8px 0 -1px currentColor;
}

.proof-icon-clients span::after {
  content: "";
  position: absolute;
  left: 12px;
  bottom: 8px;
  width: 20px;
  height: 12px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
}

/* Expertise medal variation */
.proof-icon-expertise span::before {
  border-radius: 50%;
  transform: none;
}

.proof-icon-expertise span::after {
  top: 29px;
}

/* Remove the two stray ribbon lines beneath the circular metric icons */
.reference-home .proof-icon-years::after,
.reference-home .proof-icon-expertise::after {
  display: none !important;
}

/* Cinematic About page video hero */
.about-video-hero {
  position: relative;
  min-height: min(900px, 92svh);
  display: flex;
  align-items: center;
  padding: 150px 0 120px;
  color: #fff;
  background: #080c0d;
  isolation: isolate;
  overflow: hidden;
}

.about-video-hero::before {
  display: none;
}

.about-video-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,8,9,.9) 0%, rgba(5,8,9,.58) 48%, rgba(5,8,9,.08) 82%),
    linear-gradient(0deg, rgba(5,8,9,.72) 0%, transparent 48%, rgba(5,8,9,.16) 100%);
}

.about-video-hero > video {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-video-hero .about-hero-content {
  position: relative;
  padding-left: clamp(26px, 4vw, 58px);
}

.about-video-hero .about-hero-content::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 1px;
  background: linear-gradient(transparent, #c59a61 12%, #c59a61 88%, transparent);
}

.about-video-hero .eyebrow {
  margin: 0 0 22px;
  color: #d4b27c;
  font-size: .66rem;
  letter-spacing: .2em;
}

.about-video-hero h1 {
  max-width: 920px;
  margin: 0;
  color: #fff;
  font: 400 clamp(3.5rem, 6vw, 6.2rem)/.94 Georgia, "Times New Roman", serif;
  letter-spacing: -.052em;
}

.about-video-hero h1 em {
  color: #dfbd83;
  font-weight: 400;
}

.about-video-hero p:not(.eyebrow) {
  max-width: 650px;
  margin: 28px 0 0;
  color: #d1d7d6;
  font-size: 1rem;
  line-height: 1.7;
}

.about-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.about-hero-caption {
  position: absolute;
  z-index: 2;
  right: max(25px, calc((100vw - 1240px) / 2));
  bottom: 38px;
  display: flex;
  gap: 0;
  color: #d5dad9;
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.about-hero-caption span {
  padding: 0 18px;
  border-right: 1px solid rgba(213,218,217,.35);
}

.about-hero-caption span:last-child {
  padding-right: 0;
  border: 0;
}

.about-scroll-cue {
  position: absolute;
  z-index: 2;
  left: max(25px, calc((100vw - 1240px) / 2));
  bottom: 32px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #d5dad9;
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.about-scroll-cue i {
  position: relative;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(213,218,217,.48);
  border-radius: 50%;
}

.about-scroll-cue i::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 8px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #dfbd83;
  border-bottom: 1px solid #dfbd83;
  transform: translateX(-50%) rotate(45deg);
}

@media (max-width: 720px) {
  .about-video-hero {
    min-height: 780px;
    padding: 130px 0 135px;
  }

  .about-video-hero h1 {
    font-size: clamp(3rem, 13vw, 4.4rem);
  }

  .about-video-hero .about-hero-content {
    padding-left: 22px;
  }

  .about-hero-caption {
    right: 20px;
    bottom: 28px;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
  }

  .about-hero-caption span {
    padding: 0;
    border: 0;
  }

  .about-scroll-cue {
    left: 20px;
    bottom: 22px;
  }

  .about-scroll-cue span {
    display: none;
  }
}

/* High-contrast primary About hero button */
.about-video-hero .about-hero-actions .lux-button:first-child {
  color: #111617 !important;
  background: #dfbd83 !important;
  border-color: #dfbd83 !important;
  text-shadow: none !important;
}

.about-video-hero .about-hero-actions .lux-button:first-child span {
  color: #8e1015 !important;
  font-size: 1rem;
  font-weight: 800;
}

.about-video-hero .about-hero-actions .lux-button:first-child:hover {
  color: #fff !important;
  background: #a90f14 !important;
  border-color: #a90f14 !important;
}

.about-video-hero .about-hero-actions .lux-button:first-child:hover span {
  color: #fff !important;
}

/* Slightly lighter homepage hero typography footprint */
.reference-home .hero-slide-copy {
  max-width: 760px;
}

.reference-home .lux-hero h1 {
  max-width: 760px;
  margin-bottom: 22px;
  font-size: clamp(3rem, 4.55vw, 4.9rem);
  line-height: .98;
}

.reference-home .lux-intro {
  max-width: 590px;
  font-size: .94rem;
  line-height: 1.6;
}

.reference-home .lux-actions {
  margin-top: 28px;
}

.reference-home .lux-actions .lux-button {
  min-height: 48px;
  padding: 0 20px;
  font-size: .62rem;
}

@media (max-width: 720px) {
  .reference-home .lux-hero h1 {
    font-size: clamp(2.7rem, 11.5vw, 3.6rem);
  }

  .reference-home .lux-intro {
    font-size: .9rem;
  }
}

/* Lower the homepage hero copy slightly without changing its scale */
.reference-home .hero-slide-copy {
  transform: translateY(38px);
}

.reference-home .motion-slide.active .hero-slide-copy {
  transform: translateY(38px);
}

/* About slider uses the exact Home hero visual system */
.about-slider-hero {
  --lux-gold: #c29a5b;
  --lux-gold-light: #e0c493;
  min-height: 780px;
  height: 100svh;
  max-height: 980px;
}

.about-slider-hero .motion-slide::after {
  background:
    linear-gradient(90deg, rgba(5,8,9,.82), rgba(5,8,9,.49) 44%, rgba(5,8,9,.03) 80%),
    linear-gradient(0deg, rgba(5,8,9,.48), transparent 48%) !important;
}

.about-slider-hero .hero-slide-content {
  padding: 145px 0 170px;
}

.about-slider-hero .hero-slide-copy {
  max-width: 760px;
  margin-left: 55px;
  transform: translateY(38px);
}

.about-slider-hero .motion-slide.active .hero-slide-copy {
  transform: translateY(38px);
}

.about-slider-hero h1 {
  max-width: 760px;
  margin-bottom: 22px;
  font-size: clamp(3rem, 4.55vw, 4.9rem);
  line-height: .98;
  letter-spacing: -.035em;
}

.about-slider-hero .lux-intro {
  max-width: 590px;
  font-size: .94rem;
  line-height: 1.6;
}

.about-slider-hero .lux-actions {
  margin-top: 28px;
}

.about-slider-hero .lux-actions .lux-button {
  min-height: 48px;
  padding: 0 20px;
  font-size: .62rem;
}

.about-slider-hero .lux-actions .lux-button:first-child {
  color: #111617 !important;
  background: #dfbd83 !important;
  border-color: #dfbd83 !important;
}

.about-slider-hero .lux-actions .lux-button:first-child:hover {
  color: #fff !important;
  background: #a90f14 !important;
  border-color: #a90f14 !important;
}

@media (max-width: 720px) {
  .about-slider-hero {
    min-height: 820px;
    max-height: none;
  }

  .about-slider-hero .hero-slide-content {
    padding: 135px 0 210px;
  }

  .about-slider-hero .hero-slide-copy,
  .about-slider-hero .motion-slide.active .hero-slide-copy {
    margin-left: 18px;
    transform: translateY(24px);
  }

  .about-slider-hero h1 {
    font-size: clamp(2.7rem, 11.5vw, 3.6rem);
  }

  .about-slider-hero .lux-intro {
    font-size: .9rem;
  }
}

@media (max-width: 720px) {
  .reference-home .hero-slide-copy,
  .reference-home .motion-slide.active .hero-slide-copy {
    transform: translateY(24px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-video-hero > video {
    display: none;
  }

  .about-video-hero {
    background: url("images/wingate-living.webp") center / cover;
  }
}

/* Five exact KVN metrics with coordinated bronze icons */
.reference-home .ref-proof {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.reference-home .ref-proof > div {
  gap: clamp(12px, 1.5vw, 22px);
  padding-right: clamp(14px, 2vw, 34px);
  padding-left: clamp(14px, 2vw, 34px);
}

.reference-home .ref-proof-icon {
  position: relative;
  flex-basis: 46px;
  width: 46px;
  height: 46px;
}

.reference-home .ref-proof-icon span {
  position: relative;
  z-index: 1;
  display: block;
  color: #c39a62;
  font: normal 1rem/1 Georgia, serif;
}

.reference-home .proof-icon-trust span {
  width: 28px;
  overflow: hidden;
  font-size: .47rem;
  letter-spacing: 0;
  line-height: 1.25;
  text-align: center;
}

.reference-home .proof-icon-clients span {
  font-size: 1.45rem;
}

.reference-home .proof-icon-years::after,
.reference-home .proof-icon-expertise::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 8px;
  right: 8px;
  bottom: -7px;
  height: 12px;
  border-left: 2px solid #a97f48;
  border-right: 2px solid #a97f48;
  transform: skew(-18deg);
}

.reference-home .proof-icon-region::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 1px;
  height: 10px;
  background: #a97f48;
}

.reference-home .ref-proof-copy b {
  font-size: clamp(1.85rem, 2.3vw, 2.55rem);
}

.reference-home .ref-proof-copy > span:not(.ref-proof-stars) {
  max-width: 170px;
  font-size: .61rem;
}

@media (max-width: 1100px) {
  .reference-home .ref-proof {
    grid-template-columns: repeat(2, 1fr);
  }

  .reference-home .ref-proof > div:nth-child(even)::after {
    display: none;
  }

  .reference-home .ref-proof > div:nth-child(-n + 4) {
    border-bottom: 1px solid rgba(198,163,109,.22);
  }

  .reference-home .ref-proof > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 520px) {
  .reference-home .ref-proof {
    grid-template-columns: 1fr;
  }

  .reference-home .ref-proof > div:last-child {
    grid-column: auto;
  }
}

/* Reference-matched Featured Projects mosaic */
.reference-home .ref-featured {
  padding: clamp(76px, 7vw, 104px) 0;
  background: #f5f1e9;
}

.reference-home .ref-featured-layout {
  grid-template-columns: 210px minmax(0, 1fr);
  gap: clamp(38px, 5vw, 72px);
  align-items: center;
}

.reference-home .ref-featured-title .ref-kicker {
  margin-bottom: 22px;
  color: #a47a45;
  font-size: .59rem;
  letter-spacing: .16em;
}

.reference-home .ref-featured-title h2 {
  color: #1d2222;
  font-size: clamp(2.4rem, 3.4vw, 3.55rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.reference-home .ref-featured-title .ref-outline-btn {
  min-width: 176px;
  justify-content: space-between;
  gap: 24px;
  margin-top: 46px;
  padding: 14px 18px;
  border-color: #c6a46d;
  border-radius: 3px;
  font-size: .58rem;
}

.reference-home .ref-featured-title .ref-outline-btn span {
  color: #a4773f;
  font-size: 1rem;
}

.reference-home .ref-project-mosaic {
  grid-template-columns: 1.02fr 1fr .72fr;
  grid-template-rows: 194px 194px;
  gap: 10px;
}

.reference-home .ref-project {
  border: 1px solid rgba(29,34,34,.12);
  border-radius: 7px;
  box-shadow: 0 9px 28px rgba(24,28,28,.08);
}

.reference-home .ref-project::after {
  inset: 25% 0 0;
  background: linear-gradient(transparent, rgba(6,9,10,.9));
}

.reference-home .ref-project > span {
  right: 16px;
  bottom: 14px;
  left: 16px;
}

.reference-home .ref-project b {
  padding-right: 38px;
  font-size: 1.05rem;
  line-height: 1.12;
}

.reference-home .ref-project small {
  display: block;
  margin-top: 4px;
  font-size: .59rem;
}

.reference-home .ref-project i {
  width: 29px;
  height: 29px;
  color: #e2c28d;
  border-color: rgba(226,194,141,.65);
  font-size: .8rem;
}

@media (max-width: 980px) {
  .reference-home .ref-featured-layout {
    grid-template-columns: 1fr;
  }

  .reference-home .ref-featured-title {
    max-width: 540px;
  }

  .reference-home .ref-featured-title h2 br {
    display: none;
  }

  .reference-home .ref-project-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 320px 205px 285px;
  }
}

@media (max-width: 620px) {
  .reference-home .ref-project-mosaic {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 270px);
  }

  .reference-home .ref-project-large,
  .reference-home .ref-project-tall {
    grid-column: auto;
    grid-row: auto;
  }
}

/* Complete five-image featured collage */
.reference-home .ref-project-mosaic {
  grid-template-columns: 1.08fr .86fr .86fr;
  grid-template-rows: 194px 194px;
}

.reference-home .ref-project-large {
  grid-column: 1;
  grid-row: 1 / 3;
}

.reference-home .ref-project-tall {
  grid-column: 3;
  grid-row: 1;
}

.reference-home .ref-project-fifth {
  grid-column: 3;
  grid-row: 2;
}

@media (max-width: 980px) {
  .reference-home .ref-project-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 310px 220px 220px;
  }

  .reference-home .ref-project-large {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .reference-home .ref-project-tall,
  .reference-home .ref-project-fifth {
    grid-column: auto;
    grid-row: auto;
  }
}

/* Reference-matched Our Services section */
.reference-home .ref-services {
  padding: clamp(64px, 6vw, 88px) 0;
  color: #fff;
  background: linear-gradient(115deg, #111516 0%, #0b0f10 100%);
  border-top: 1px solid rgba(196,155,95,.18);
  border-bottom: 1px solid rgba(196,155,95,.14);
}

.reference-home .ref-services-layout {
  grid-template-columns: 210px minmax(0, 1fr);
  gap: clamp(40px, 5vw, 72px);
  align-items: stretch;
}

.reference-home .ref-services-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.reference-home .ref-services-title .ref-kicker {
  margin-bottom: 20px;
  color: #c6a36d;
  font-size: .61rem;
  letter-spacing: .17em;
}

.reference-home .ref-services-title h2 {
  color: #f4f1e9;
  font-size: clamp(2.4rem, 3.3vw, 3.45rem);
  line-height: 1.06;
  letter-spacing: -.04em;
}

.reference-home .ref-services-title > p:not(.ref-kicker) {
  max-width: 200px;
  margin: 20px 0 0;
  color: #afb6b5;
  font-size: .76rem;
  line-height: 1.65;
}

.reference-home .ref-services-title .ref-outline-btn {
  width: 100%;
  max-width: 190px;
  justify-content: space-between;
  gap: 20px;
  margin-top: 30px;
  padding: 14px 18px;
  border-color: #9f7a48;
  border-radius: 2px;
  font-size: .59rem;
}

.reference-home .ref-services-title .ref-outline-btn span {
  color: #d4b27c;
  font-size: 1rem;
}

.reference-home .ref-service-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 13px;
  border: 0;
}

.reference-home .ref-service-card {
  position: relative;
  min-height: 306px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 31px 20px 27px;
  color: #f3f0e8;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border: 1px solid rgba(204,175,128,.2);
  border-radius: 3px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 14px 34px rgba(0,0,0,.09);
  text-align: center;
  transition: border-color .3s ease, background .3s ease, transform .3s ease;
}

.reference-home .ref-service-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: 0;
  height: 2px;
  background: #b5161b;
  transform: translateX(-50%);
  transition: width .35s ease;
}

.reference-home .ref-service-card:hover {
  background: rgba(255,255,255,.065);
  border-color: rgba(204,175,128,.5);
  transform: translateY(-5px);
}

.reference-home .ref-service-card:hover::before {
  width: 100%;
}

.reference-home .ref-service-card em {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  margin: 0 0 25px;
  color: #c59a61;
  border: 1px solid rgba(197,154,97,.28);
  border-radius: 50%;
  font: normal 2rem/1 Georgia, serif;
}

.reference-home .ref-service-card h3 {
  min-height: 50px;
  margin: 0;
  color: #f6f2e9;
  font: 400 1.18rem/1.12 Georgia, serif;
}

.reference-home .ref-service-card p {
  max-width: 170px;
  margin: 20px auto 0;
  color: #adb4b3;
  font-size: .7rem;
  line-height: 1.65;
}

@media (max-width: 1120px) {
  .reference-home .ref-services-layout {
    grid-template-columns: 1fr;
  }

  .reference-home .ref-services-title {
    max-width: 580px;
  }

  .reference-home .ref-services-title h2 br {
    display: none;
  }

  .reference-home .ref-service-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 720px) {
  .reference-home .ref-service-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .reference-home .ref-service-grid {
    grid-template-columns: 1fr;
  }

  .reference-home .ref-service-card {
    min-height: 260px;
  }
}

/* Compact, connected process journey */
.reference-home .ref-process {
  padding: clamp(56px, 5vw, 72px) 0;
  background: linear-gradient(110deg, #f7f3ec 0%, #eee7dc 100%);
}

.reference-home .ref-process::after {
  right: -80px;
  bottom: -235px;
  width: 380px;
  height: 380px;
}

.reference-home .ref-process-layout {
  grid-template-columns: 230px minmax(0, 1fr);
  gap: clamp(34px, 4vw, 58px);
  align-items: center;
}

.reference-home .ref-process-title .ref-kicker {
  margin-bottom: 14px;
  color: #a4773f;
}

.reference-home .ref-process-title h2 {
  font-size: clamp(2.25rem, 3.3vw, 3.3rem);
  line-height: 1.02;
}

.reference-home .ref-process-title > p:not(.ref-kicker) {
  margin: 14px 0 0;
  color: #656d6e;
  font-size: .72rem;
  line-height: 1.5;
}

.reference-home .ref-process-title .ref-outline-btn {
  width: 165px;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
  padding: 12px 16px;
  font-size: .57rem;
}

.reference-home .ref-process-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
}

.reference-home .ref-process-steps::before {
  content: "";
  position: absolute;
  top: 23px;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #bca57f 8%, #bca57f 92%, transparent);
}

.reference-home .ref-process-steps li {
  min-height: 145px;
  padding: 62px 14px 10px;
  text-align: center;
}

.reference-home .ref-process-steps li::before {
  display: none;
}

.reference-home .ref-process-steps b {
  top: 0;
  width: 46px;
  height: 46px;
  color: #fff;
  background: linear-gradient(145deg, #c9a66e, #9b7039);
  border: 3px solid #f7f3ec;
  box-shadow: 0 0 0 1px #b89560, 0 6px 18px rgba(89,63,31,.16);
}

.reference-home .ref-process-steps h3 {
  margin: 0 0 7px;
  color: #202526;
  font-size: 1.02rem;
}

.reference-home .ref-process-steps p {
  max-width: 140px;
  margin: 0 auto;
  color: #687071;
  font-size: .66rem;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .reference-home .ref-process-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .reference-home .ref-process-title {
    max-width: 560px;
  }

  .reference-home .ref-process-title h2 br {
    display: none;
  }
}

@media (max-width: 700px) {
  .reference-home .ref-process-steps {
    grid-template-columns: 1fr;
  }

  .reference-home .ref-process-steps::before {
    top: 22px;
    bottom: 22px;
    left: 23px;
    right: auto;
    width: 1px;
    height: auto;
    background: #bca57f;
  }

  .reference-home .ref-process-steps li {
    min-height: 86px;
    padding: 12px 0 12px 72px;
    border: 0;
    text-align: left;
  }

  .reference-home .ref-process-steps b {
    top: 10px;
    left: 23px;
  }

  .reference-home .ref-process-steps p {
    max-width: 360px;
    margin: 0;
  }
}

/* Final four-stat band matching the architectural reference */
.reference-home .ref-proof-wrap {
  padding: 0;
  background: #0d1112 !important;
  border-top: 1px solid rgba(198,163,109,.24);
  border-bottom: 1px solid rgba(198,163,109,.2);
}

.reference-home .ref-proof {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  color: #fff;
  background: linear-gradient(90deg, #0b0f10, #121718 50%, #0b0f10);
}

.reference-home .ref-proof > div {
  min-height: 112px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2vw, 28px);
  padding: 18px clamp(20px, 3vw, 50px);
  background: transparent;
  border: 0;
}

.reference-home .ref-proof > div::before {
  display: none;
}

.reference-home .ref-proof > div::after {
  content: "";
  position: absolute;
  top: 18%;
  right: 0;
  width: 1px;
  height: 64%;
  background: linear-gradient(transparent, rgba(198,163,109,.35), transparent);
}

.reference-home .ref-proof > div:last-child::after {
  display: none;
}

.reference-home .ref-proof > div:hover {
  background: rgba(255,255,255,.025);
}

.reference-home .ref-proof-icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  color: #c39a62;
  background: transparent;
  border: 1px solid rgba(195,154,98,.58);
  border-radius: 50%;
  box-shadow: none;
  font-size: 1.35rem;
}

.reference-home .ref-proof-icon::before {
  inset: 5px;
  border-color: rgba(195,154,98,.28);
}

.reference-home .ref-proof-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.reference-home .ref-proof-copy b {
  margin: 0 0 5px;
  color: #d5b47e;
  font: 400 clamp(2rem, 2.7vw, 2.85rem)/.9 Georgia, serif;
  letter-spacing: -.035em;
  text-shadow: none;
}

.reference-home .ref-proof-copy > span:not(.ref-proof-stars) {
  color: #d5dad9;
  font-size: .65rem;
  line-height: 1.35;
  text-transform: none;
}

@media (max-width: 900px) {
  .reference-home .ref-proof {
    grid-template-columns: 1fr 1fr;
  }

  .reference-home .ref-proof > div:nth-child(2)::after {
    display: none;
  }

  .reference-home .ref-proof > div:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(198,163,109,.22);
  }
}

@media (max-width: 520px) {
  .reference-home .ref-proof {
    grid-template-columns: 1fr;
  }

  .reference-home .ref-proof > div {
    min-height: 98px;
    justify-content: flex-start;
    padding: 16px 28px;
    border-bottom: 1px solid rgba(198,163,109,.22) !important;
  }

  .reference-home .ref-proof > div::after {
    display: none;
  }

  .reference-home .ref-proof > div:last-child {
    border-bottom: 0 !important;
  }
}

/* Seven-service balance with residential and commercial capabilities */
@media (min-width: 1121px) {
  .reference-home .ref-services-layout {
    grid-template-columns: 210px minmax(0, 1fr);
  }

  .reference-home .ref-service-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .reference-home .ref-service-card:nth-child(n + 5) {
    transform: none;
  }

  .reference-home .ref-service-card:nth-child(n + 5):hover {
    transform: translateY(-5px);
  }
}

/* Custom architectural line icons for service cards */
.reference-home .ref-service-card .service-line-icon {
  position: relative;
  width: 70px;
  height: 70px;
  flex: 0 0 70px;
  display: block;
  margin: 0 0 22px;
  color: #c59a61;
  background: transparent;
  border: 0;
  border-radius: 0;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.22));
}

.service-line-icon,
.service-line-icon::before,
.service-line-icon::after,
.service-line-icon span,
.service-line-icon span::before,
.service-line-icon span::after {
  box-sizing: border-box;
}

/* Crossed renovation tools */
.icon-renovation::before,
.icon-renovation::after {
  content: "";
  position: absolute;
  left: 33px;
  top: 10px;
  width: 3px;
  height: 54px;
  border: 1px solid currentColor;
  border-radius: 2px;
  transform: rotate(35deg);
}

.icon-renovation::after { transform: rotate(-35deg); }
.icon-renovation span::before,
.icon-renovation span::after {
  content: "";
  position: absolute;
  top: 8px;
  width: 20px;
  height: 9px;
  border: 2px solid currentColor;
  border-radius: 2px;
}
.icon-renovation span::before { left: 10px; transform: rotate(-35deg); }
.icon-renovation span::after { right: 10px; transform: rotate(35deg); }

/* Residential house */
.icon-residential::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 27px;
  width: 40px;
  height: 34px;
  border: 2px solid currentColor;
  border-top: 0;
}
.icon-residential::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 13px;
  width: 41px;
  height: 41px;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
  transform: rotate(45deg);
}
.icon-residential span::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 30px;
  bottom: 9px;
  width: 12px;
  height: 20px;
  border: 2px solid currentColor;
}
.icon-residential span::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 13px;
  top: 11px;
  width: 6px;
  height: 15px;
  border: 2px solid currentColor;
  border-bottom: 0;
}

/* Commercial skyline */
.icon-commercial::before {
  content: "";
  position: absolute;
  left: 8px;
  bottom: 8px;
  width: 19px;
  height: 35px;
  border: 2px solid currentColor;
  box-shadow: 17px -15px 0 -2px transparent, 17px -15px 0 0 currentColor, 34px -4px 0 -2px transparent, 34px -4px 0 0 currentColor;
}
.icon-commercial::after {
  content: "";
  position: absolute;
  left: 13px;
  bottom: 15px;
  width: 4px;
  height: 4px;
  background: currentColor;
  box-shadow: 0 -10px currentColor, 17px 0 currentColor, 17px -10px currentColor, 17px -20px currentColor, 34px 0 currentColor, 34px -10px currentColor;
}
.icon-commercial span::before {
  content: "";
  position: absolute;
  left: 5px;
  right: 5px;
  bottom: 6px;
  border-bottom: 2px solid currentColor;
}

/* Interior chair and floor lamp */
.icon-interior::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 23px;
  width: 31px;
  height: 25px;
  border: 2px solid currentColor;
  border-radius: 12px 12px 5px 5px;
  box-shadow: inset 0 -8px 0 transparent;
}
.icon-interior::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 43px;
  width: 23px;
  height: 17px;
  border-left: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: skew(-8deg);
}
.icon-interior span::before {
  content: "";
  position: absolute;
  right: 8px;
  top: 14px;
  width: 19px;
  height: 16px;
  border: 2px solid currentColor;
  border-radius: 50% 50% 4px 4px;
}
.icon-interior span::after {
  content: "";
  position: absolute;
  right: 17px;
  top: 30px;
  width: 2px;
  height: 30px;
  background: currentColor;
  box-shadow: -7px 29px 0 currentColor, 7px 29px 0 currentColor;
}

/* Project clipboard */
.icon-management::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 13px;
  width: 41px;
  height: 50px;
  border: 2px solid currentColor;
  border-radius: 3px;
}
.icon-management::after {
  content: "";
  position: absolute;
  left: 25px;
  top: 8px;
  width: 21px;
  height: 10px;
  border: 2px solid currentColor;
  border-radius: 6px 6px 2px 2px;
  background: #111516;
}
.icon-management span::before {
  content: "✓";
  position: absolute;
  z-index: 1;
  left: 21px;
  top: 25px;
  color: currentColor;
  font: 700 12px/1 Arial, sans-serif;
  letter-spacing: 13px;
  white-space: pre;
}
.icon-management span::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 37px;
  top: 28px;
  width: 12px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 11px currentColor, 0 22px currentColor;
}

/* Tighter cards and a cleaner interior-design icon */
.reference-home .ref-service-card {
  min-height: 276px;
  padding: 25px 18px 23px;
}

.reference-home .ref-service-card .service-line-icon {
  margin-bottom: 16px;
}

.reference-home .ref-service-card h3 {
  min-height: 43px;
}

.reference-home .ref-service-card p {
  margin-top: 14px;
  line-height: 1.55;
}

.icon-interior::before {
  left: 7px;
  top: 25px;
  width: 34px;
  height: 23px;
  border: 2px solid currentColor;
  border-radius: 10px 10px 4px 4px;
}

.icon-interior::after {
  left: 11px;
  top: 46px;
  width: 26px;
  height: 14px;
  border-left: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: none;
}

.icon-interior span::before {
  right: 7px;
  top: 13px;
  width: 20px;
  height: 16px;
  border: 2px solid currentColor;
  border-radius: 12px 12px 4px 4px;
}

.icon-interior span::after {
  right: 16px;
  top: 29px;
  width: 2px;
  height: 30px;
  background: currentColor;
  box-shadow: -8px 30px 0 -1px currentColor, 8px 30px 0 -1px currentColor;
}

.icon-interior span {
  position: absolute;
  inset: 0;
}

@media (max-width: 480px) {
  .reference-home .ref-service-card {
    min-height: 245px;
  }
}

/* Final compact service-card proportions and unified icon scale */
.reference-home .ref-service-card {
  min-height: 236px;
  padding: 20px 16px 18px;
}

.reference-home .ref-service-card .service-line-icon {
  width: 54px;
  height: 54px;
  flex-basis: 54px;
  margin-bottom: 12px;
  transform: scale(.78);
  transform-origin: center;
}

.reference-home .ref-service-card h3 {
  min-height: 38px;
  font-size: 1.06rem;
}

.reference-home .ref-service-card p {
  max-width: 180px;
  margin-top: 11px;
  font-size: .66rem;
  line-height: 1.48;
}

.reference-home .ref-service-card:hover .service-line-icon {
  color: #ddb77e;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.25));
}

@media (max-width: 480px) {
  .reference-home .ref-service-card {
    min-height: 220px;
  }
}

@media (max-width: 620px) {
  .reference-home .ref-project-mosaic {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(5, 270px);
  }

  .reference-home .ref-project-large,
  .reference-home .ref-project-tall,
  .reference-home .ref-project-fifth {
    grid-column: auto;
    grid-row: auto;
  }
}

/* Brighter hero-to-content transition */
.reference-home .ref-hero .motion-slide::after {
  background:
    linear-gradient(90deg, rgba(5,8,9,.82), rgba(5,8,9,.49) 44%, rgba(5,8,9,.03) 80%),
    linear-gradient(0deg, rgba(5,8,9,.48), transparent 48%) !important;
}

.reference-home .ref-proof-wrap {
  background: #f3f0e9 !important;
  border-top-color: #d8d0c4;
  border-bottom-color: #d8d0c4;
}

.reference-home .ref-proof {
  color: #171c1d;
  background: #f3f0e9;
}

.reference-home .ref-proof > div {
  min-height: 140px;
  border-right-color: #d8d0c4;
}

.reference-home .ref-proof > div:hover {
  background: #fffdf8;
}

.reference-home .ref-proof small {
  color: #9f171b;
}

.reference-home .ref-proof b {
  color: #a4773f;
}

.reference-home .ref-proof span {
  color: #505859;
}

@media (max-width: 820px) {
  .reference-home .ref-proof > div {
    border-bottom-color: #d8d0c4;
  }
}

@media (max-width: 520px) {
  .reference-home .ref-proof > div {
    border-bottom-color: #d8d0c4 !important;
  }
}

/* Expanded infographic-style credibility band */
.reference-home .ref-proof {
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(310px, 1.4fr);
}

.reference-home .ref-proof > div {
  min-width: 0;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(13px, 1.4vw, 22px);
  padding: 27px clamp(20px, 2.5vw, 42px);
}

.reference-home .ref-proof-icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  color: #a4773f;
  border: 1px solid rgba(164, 119, 63, .48);
  border-radius: 50%;
  font-family: Georgia, serif;
  font-size: 1.45rem;
  font-style: normal;
  line-height: 1;
}

.reference-home .ref-proof-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.reference-home .ref-proof-copy small {
  margin-bottom: 8px;
}

.reference-home .ref-proof-copy b {
  margin-bottom: 5px;
  font-size: clamp(2rem, 2.7vw, 2.85rem);
}

.reference-home .ref-proof-copy strong {
  margin: 0 0 5px;
  color: #242a2b;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.25;
}

.reference-home .ref-proof .ref-proof-stars {
  color: #b5161b;
  font-size: .73rem;
  letter-spacing: .11em;
  line-height: 1;
}

.reference-home .ref-proof-copy em {
  margin-top: 7px;
  color: #626a6b;
  font-size: .62rem;
  font-style: normal;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  .reference-home .ref-proof {
    grid-template-columns: repeat(2, 1fr);
  }

  .reference-home .ref-proof-satisfaction {
    grid-column: 1 / -1;
  }

  .reference-home .ref-proof > div:nth-child(2),
  .reference-home .ref-proof > div:nth-child(4) {
    border-right: 0;
  }

  .reference-home .ref-proof > div:nth-child(-n + 4) {
    border-bottom: 1px solid #d8d0c4;
  }
}

@media (max-width: 520px) {
  .reference-home .ref-proof {
    grid-template-columns: 1fr;
  }

  .reference-home .ref-proof-satisfaction {
    grid-column: auto;
  }

  .reference-home .ref-proof-icon {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    font-size: 1.2rem;
  }
}

/* Smaller hero typography to reveal more of each video */
.reference-home .hero-slide-copy,
.reference-home .lux-hero h1 {
  max-width: 860px;
}

.reference-home .lux-hero h1 {
  font-size: clamp(3.25rem, 5vw, 5.35rem);
  line-height: .97;
  letter-spacing: -.035em;
}

@media (max-width: 980px) {
  .reference-home .lux-hero h1 {
    font-size: clamp(3.05rem, 7.5vw, 4.25rem);
  }
}

/* Polished award-style infographic treatment */
.reference-home .ref-proof-wrap {
  background: linear-gradient(180deg, #faf8f3 0%, #eee9df 100%) !important;
}

.reference-home .ref-proof {
  background: transparent;
}

.reference-home .ref-proof > div {
  min-height: 132px;
  gap: clamp(14px, 1.25vw, 20px);
  padding: 22px clamp(18px, 2.1vw, 34px);
  border-right: 0;
}

.reference-home .ref-proof > div::after {
  content: "";
  position: absolute;
  top: 22%;
  right: 0;
  width: 1px;
  height: 56%;
  background: linear-gradient(transparent, #c7bda9 18%, #c7bda9 82%, transparent);
}

.reference-home .ref-proof > div:last-child::after {
  display: none;
}

.reference-home .ref-proof-icon {
  position: relative;
  flex-basis: 52px;
  width: 52px;
  height: 52px;
  color: #a4773f;
  background: rgba(255,255,255,.48);
  border-color: rgba(164,119,63,.58);
  box-shadow: 0 7px 22px rgba(71,55,34,.08), inset 0 0 0 4px #f5f1e8;
}

.reference-home .ref-proof-icon::before {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(164,119,63,.25);
  border-radius: 50%;
}

.reference-home .ref-proof-copy small {
  margin-bottom: 7px;
  font-size: .57rem;
  letter-spacing: .15em;
}

.reference-home .ref-proof-copy b {
  margin-bottom: 5px;
  color: #9d713b;
  font-size: clamp(2.1rem, 2.55vw, 2.72rem);
  text-shadow: 0 1px 0 #fff;
}

.reference-home .ref-proof-copy > span:not(.ref-proof-stars) {
  color: #4e5657;
  font-size: .7rem;
  line-height: 1.4;
}

.reference-home .ref-proof-copy strong {
  color: #242a2b;
  font-size: .68rem;
  letter-spacing: .015em;
}

.reference-home .ref-proof .ref-proof-stars {
  margin-top: 1px;
  color: #a90f14;
  font-size: .78rem;
}

.reference-home .ref-proof-copy em {
  max-width: 300px;
  margin-top: 6px;
  color: #62696a;
  font-size: .59rem;
}

@media (max-width: 1180px) {
  .reference-home .ref-proof > div:nth-child(even)::after,
  .reference-home .ref-proof-satisfaction::after {
    display: none;
  }
}

@media (max-width: 520px) {
  .reference-home .ref-proof > div::after {
    display: none;
  }

  .reference-home .ref-proof > div {
    min-height: 112px;
    padding: 20px 24px;
  }
}

@media (max-width: 540px) {
  .reference-home .lux-hero h1 {
    font-size: clamp(2.55rem, 12vw, 3.2rem);
    line-height: 1;
  }
}

/* Keep the About hero visually synchronized with the Home hero */
.about-slider-hero .hero-slide-copy,
.about-slider-hero h1 {
  max-width: 860px;
}

.about-slider-hero h1 {
  font-size: clamp(3.25rem, 5vw, 5.35rem);
  line-height: .97;
  letter-spacing: -.035em;
}

@media (max-width: 980px) {
  .about-slider-hero h1 {
    font-size: clamp(3.05rem, 7.5vw, 4.25rem);
  }
}

@media (max-width: 540px) {
  .about-slider-hero h1 {
    font-size: clamp(2.55rem, 12vw, 3.2rem);
    line-height: 1;
  }
}

/* About hero buttons exactly match the Home hero buttons */
.about-slider-hero .lux-actions {
  gap: 12px;
  margin-top: 28px;
}

.about-slider-hero .lux-actions .lux-button {
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid #c29a5b;
  color: #141719;
  background: #c29a5b;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .13em;
}

.about-slider-hero .lux-actions .lux-button:hover {
  color: #fff !important;
  background: transparent !important;
  border-color: #c29a5b !important;
}

.about-slider-hero .lux-actions .lux-button-ghost {
  color: #fff !important;
  background: transparent !important;
  border-color: rgba(255,255,255,.45) !important;
}

.about-slider-hero .lux-actions .lux-button-ghost:hover {
  color: #151819 !important;
  background: #fff !important;
  border-color: #fff !important;
}

/* Shared luxury video heroes for all inner pages */
.inner-video-hero {
  --lux-gold: #c29a5b;
  --lux-gold-light: #e0c493;
}

.inner-video-hero + .section {
  scroll-margin-top: 76px;
}

.inner-video-hero .motion-slide video {
  animation: innerHeroDrift 15s ease-in-out infinite alternate;
}

.services-video-hero .motion-slide video { object-position: center 55%; }
.projects-video-hero .motion-slide video { object-position: center 52%; }
.insights-video-hero .motion-slide video { object-position: center 48%; }
.contact-video-hero .motion-slide video { object-position: center 52%; }
.assistant-video-hero .motion-slide video { object-position: center 48%; }

@keyframes innerHeroDrift {
  from { transform: scale(1.015); }
  to { transform: scale(1.065); }
}

.insight-library-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.insight-library-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid #ddd5c8;
  box-shadow: 0 18px 48px rgba(17,25,28,.08);
}

.insight-library-card img {
  width: 100%;
  height: 270px;
  object-fit: cover;
}

.insight-library-card > div {
  padding: 30px;
}

.insight-library-card .eyebrow {
  margin-bottom: 14px;
  font-size: .6rem;
}

.insight-library-card h3 {
  margin-bottom: 16px;
  font: 400 1.65rem/1.15 Georgia, serif;
  letter-spacing: -.025em;
}

.insight-library-card p:not(.eyebrow) {
  color: #626b6d;
  font-size: .88rem;
}

@media (max-width: 900px) {
  .insight-library-grid { grid-template-columns: 1fr; }
  .insight-library-card { display: grid; grid-template-columns: .8fr 1.2fr; }
  .insight-library-card img { height: 100%; min-height: 280px; }
}

@media (max-width: 620px) {
  .insight-library-card { display: block; }
  .insight-library-card img { height: 230px; min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .inner-video-hero .motion-slide video { animation: none; }
}

/* Compact About owner introduction */
.team-section {
  padding-top: clamp(62px, 6.5vw, 92px);
  padding-bottom: clamp(78px, 8vw, 118px);
}

.team-section .about-team-intro {
  width: min(100%, 1120px);
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
  gap: clamp(48px, 6vw, 78px);
  align-items: center;
  margin-bottom: 42px;
}

.team-section .about-team-intro .eyebrow {
  margin-bottom: -8px;
  color: #8c0009;
}

.team-section .about-team-intro h2 {
  max-width: 720px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.7rem, 3.7vw, 3.85rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.team-section .about-team-intro .keep-together {
  white-space: nowrap;
}

.team-section .about-team-intro > p:last-child {
  position: relative;
  max-width: 390px;
  margin: 20px 0 0;
  padding-left: 24px;
  border-left: 1px solid rgba(184, 155, 105, .65);
  font-size: .95rem;
  line-height: 1.7;
}

@media (max-width: 820px) {
  .team-section .about-team-intro {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 34px;
  }

  .team-section .about-team-intro .eyebrow {
    margin-bottom: 0;
  }

  .team-section .about-team-intro h2 {
    max-width: 620px;
    font-size: clamp(2.45rem, 9vw, 3.5rem);
  }

  .team-section .about-team-intro > p:last-child {
    max-width: 560px;
    margin-top: 0;
  }
}

@media (max-width: 430px) {
  .team-section .about-team-intro .keep-together {
    white-space: normal;
  }
}

/* Compact About story timeline */
.about-story-section {
  padding-top: clamp(64px, 6.5vw, 92px);
  padding-bottom: clamp(66px, 7vw, 96px);
}

.about-story-section .about-story-heading {
  display: block;
  margin-bottom: 34px;
}

.about-story-section .about-story-heading .eyebrow {
  margin-bottom: 18px;
}

.about-story-section .about-story-heading h2 {
  max-width: 790px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.65rem, 4.2vw, 4.25rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.045em;
}

.about-story-section .about-story-timeline article {
  min-height: 235px;
  padding: clamp(28px, 3vw, 38px);
}

.about-story-section .about-story-timeline time {
  display: block;
  margin-bottom: 3px;
  color: #c29a5b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.75rem, 2.4vw, 2.25rem);
  font-weight: 400;
  line-height: 1;
}

.about-story-section .about-story-timeline h3 {
  margin-bottom: 14px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  font-weight: 400;
}

.about-story-section .about-story-timeline p {
  max-width: 330px;
  margin-bottom: 0;
  font-size: .84rem;
  line-height: 1.65;
}

.about-values-heading .eyebrow {
  color: #8c0009;
}

@media (max-width: 760px) {
  .about-story-section .about-story-timeline {
    grid-template-columns: 1fr;
  }

  .about-story-section .about-story-timeline article {
    min-height: 0;
  }
}

/* Sitewide editorial section-heading system */
.section-heading {
  width: min(100%, 1120px);
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
  gap: clamp(48px, 6vw, 78px);
  align-items: center;
  margin-bottom: 44px;
}

.section-heading .eyebrow {
  margin-bottom: -8px;
  color: #8c0009;
}

.section-heading h2 {
  max-width: 720px;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2.7rem, 3.7vw, 3.85rem);
  font-weight: 400 !important;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.section-heading > p:last-child {
  max-width: 410px;
  margin: 18px 0 0;
  padding-left: 24px;
  border-left: 1px solid rgba(184, 155, 105, .65);
  color: #626a6b;
  font-size: .95rem;
  line-height: 1.7;
}

.section-dark .section-heading .eyebrow {
  color: #e05a60;
}

.section-dark .section-heading > p:last-child {
  border-left-color: rgba(224, 196, 147, .5);
  color: #b9c1c2;
}

/* Preserve intentional single-column headings */
.about-story-section .about-story-heading {
  width: min(100%, 1120px);
  display: block;
  margin-bottom: 34px;
}

/* Carry the same label treatment into the Home editorial sections */
.reference-home .ref-featured .ref-kicker,
.reference-home .ref-process .ref-kicker {
  color: #8c0009;
}

@media (max-width: 820px) {
  .section-heading {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 34px;
  }

  .section-heading .eyebrow {
    margin-bottom: 0;
  }

  .section-heading h2 {
    max-width: 640px;
    font-size: clamp(2.45rem, 9vw, 3.5rem);
  }

  .section-heading > p:last-child {
    max-width: 580px;
    margin-top: 0;
  }
}

/* Definitive Home services reference layout — keep last */
body.reference-home .ref-proof-wrap {
  position: relative;
  z-index: 20;
  width: min(calc(100% - 96px), 1430px);
  margin: -48px auto 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.reference-home .ref-proof-wrap .ref-proof {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  color: #fff;
  background: #171d21 !important;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  box-shadow: 0 17px 45px rgba(9,13,15,.24);
}

body.reference-home .ref-proof-wrap .ref-proof > div {
  position: relative;
  min-height: 104px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  padding: 18px clamp(18px, 2vw, 31px);
  border: 0;
  background: transparent !important;
}

body.reference-home .ref-proof-wrap .ref-proof > div::after {
  content: "";
  position: absolute;
  top: 22%;
  right: 0;
  width: 1px;
  height: 56%;
  background: rgba(255,255,255,.19);
}

body.reference-home .ref-proof-wrap .ref-proof > div:last-child::after {
  display: none;
}

body.reference-home .ref-proof-wrap .ref-proof-icon {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  color: #8c0009;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 1.5rem;
}

body.reference-home .ref-proof-wrap .ref-proof-icon::before {
  border: 0;
}

body.reference-home .ref-proof-wrap .ref-proof-copy b {
  margin: 0 0 4px;
  color: #fff;
  font: 700 clamp(1.5rem, 1.8vw, 2rem)/1 "Segoe UI", Arial, sans-serif;
  text-shadow: none;
}

body.reference-home .ref-proof-wrap .ref-proof-copy > span {
  color: #d5dadd;
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1.35;
  text-transform: uppercase;
}

body.reference-home .home-services-showcase {
  margin: -48px 0 0;
  padding: 120px 0 76px;
  color: #171b1c;
  background: #fff !important;
  border-bottom: 1px solid #ece8e1;
}

body.reference-home .home-services-layout {
  width: min(calc(100% - 96px), 1430px);
  display: grid;
  grid-template-columns: minmax(225px, .9fr) minmax(0, 3.5fr);
  gap: 46px;
  align-items: stretch;
}

body.reference-home .home-services-intro {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 4px 6px 0 0;
}

body.reference-home .home-services-intro .ref-kicker {
  margin: 0 0 16px;
  color: #8c0009;
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .1em;
}

body.reference-home .home-services-intro h2 {
  margin: 0 0 18px;
  color: #15191a;
  font: 750 clamp(2rem, 2.45vw, 2.75rem)/1.04 "Segoe UI", Arial, sans-serif;
  letter-spacing: -.035em;
}

body.reference-home .home-services-intro h2 em {
  color: #8c0009;
  font-style: normal;
  font-weight: 750;
}

body.reference-home .home-services-intro > p:not(.ref-kicker) {
  max-width: 275px;
  margin: 0;
  color: #5e6667;
  font-size: .69rem;
  line-height: 1.62;
}

body.reference-home .home-services-button {
  width: 180px;
  min-height: 44px;
  margin-top: 22px;
  padding: 0 15px;
  color: #171b1c;
  background: transparent;
  border: 1px solid #262c2d;
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .08em;
}

body.reference-home .home-services-button:hover {
  color: #fff;
  background: #8c0009;
  border-color: #8c0009;
}

body.reference-home .home-services-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

body.reference-home .home-service-card {
  min-width: 0;
  min-height: 286px;
  display: flex;
  flex-direction: column;
  padding: 24px 18px 18px;
  color: #171b1c;
  background: #fff;
  border: 1px solid #ebe7e0;
  box-shadow: 0 5px 15px rgba(22,27,28,.035);
  transform: none;
}

body.reference-home .home-service-card:hover {
  border-color: rgba(140,0,9,.32);
  box-shadow: 0 13px 30px rgba(22,27,28,.09);
  transform: translateY(-4px);
}

body.reference-home .home-service-card .service-line-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  margin: 0 0 18px;
  color: #8c0009;
  background: transparent;
  border: 0;
  border-radius: 0;
  filter: none;
  transform: scale(.76);
  transform-origin: left top;
}

body.reference-home .home-service-card h3 {
  min-height: 42px;
  margin: 0 0 12px;
  color: #181c1d;
  font: 700 .82rem/1.13 "Segoe UI", Arial, sans-serif;
  letter-spacing: -.01em;
}

body.reference-home .home-service-card p {
  margin: 0 0 18px;
  color: #596162;
  font-size: .58rem;
  line-height: 1.55;
}

body.reference-home .home-service-card > i {
  margin-top: auto;
  color: #313738;
  font-size: 1.08rem;
  font-style: normal;
}

@media (max-width: 1180px) {
  body.reference-home .ref-proof-wrap,
  body.reference-home .home-services-layout {
    width: min(calc(100% - 42px), 1080px);
  }

  body.reference-home .home-services-layout {
    grid-template-columns: 1fr;
  }

  body.reference-home .home-services-intro {
    max-width: 620px;
  }

  body.reference-home .home-services-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 850px) {
  body.reference-home .ref-proof-wrap {
    margin-top: -28px;
  }

  body.reference-home .ref-proof-wrap .ref-proof {
    grid-template-columns: repeat(2, 1fr);
  }

  body.reference-home .ref-proof-wrap .ref-proof > div:last-child {
    grid-column: 1 / -1;
  }

  body.reference-home .home-services-showcase {
    margin-top: -28px;
    padding-top: 92px;
  }
}

@media (max-width: 620px) {
  body.reference-home .ref-proof-wrap,
  body.reference-home .home-services-layout {
    width: calc(100% - 26px);
  }

  body.reference-home .home-services-cards {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 450px) {
  body.reference-home .ref-proof-wrap .ref-proof,
  body.reference-home .home-services-cards {
    grid-template-columns: 1fr;
  }

  body.reference-home .ref-proof-wrap .ref-proof > div:last-child {
    grid-column: auto;
  }

  body.reference-home .home-service-card {
    min-height: 240px;
  }
}

/* Shared search, Kelly navigation, and back-to-top controls */
html, body { max-width:100%;overflow-x:clip; }
.header-search { position:relative;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(224,196,147,.28);border-radius:50%;transition:.2s ease; }
.header-search span,.search-form-icon { position:absolute;width:13px;height:13px;border:1.7px solid currentColor;border-radius:50%; }
.header-search span { left:13px;top:11px; }
.header-search span::after,.search-form-icon::after { content:"";position:absolute;left:10px;top:11px;width:7px;height:1.7px;background:currentColor;transform:rotate(45deg);transform-origin:left center; }
.header-search:hover,.header-search:focus-visible { color:#e0c493;border-color:#e0c493;background:rgba(224,196,147,.08); }
.back-to-top { position:fixed;z-index:1198;right:96px;bottom:22px;width:58px;height:58px;color:#202526;background:#fbf8f2;border:1px solid #d7c5ac;border-radius:50%;box-shadow:0 12px 30px rgba(10,14,15,.14);opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s ease; }
.back-to-top.visible { opacity:1;pointer-events:auto;transform:none; }
.back-to-top:hover,.back-to-top:focus-visible { color:#8c0009;border-color:#8c0009;transform:translateY(-3px); }
.back-to-top span { font:400 1.25rem/1 Georgia,"Times New Roman",serif; }

.search-page { min-height:100vh;background:#f6f1e9; }
.search-hero { padding:clamp(150px,17vw,220px) 0 clamp(70px,9vw,118px);color:#fff;background:radial-gradient(circle at 78% 22%,rgba(140,0,9,.22),transparent 28%),#0e1314; }
.search-hero-inner { max-width:1000px; }
.search-hero .ref-kicker { color:#e0c493; }
.search-hero h1 { max-width:830px;margin:20px 0;font:400 clamp(3.5rem,7vw,7rem)/.94 Georgia,"Times New Roman",serif;letter-spacing:-.055em; }
.search-hero h1 em { color:#e0c493;font-weight:400; }
.search-hero-inner>p:not(.ref-kicker) { max-width:630px;color:#c4cbcc;font-size:1rem;line-height:1.75; }
.search-form { position:relative;display:grid;grid-template-columns:1fr auto;max-width:900px;margin-top:42px;color:#182021;background:#fff; }
.search-form-icon { z-index:1;left:25px;top:25px;color:#8c0009; }
.search-form input { min-width:0;height:66px;padding:0 24px 0 60px;border:0;color:#171c1d;background:transparent;font:400 1rem/1.3 "Segoe UI",Arial,sans-serif;outline:0; }
.search-form input:focus { box-shadow:inset 0 0 0 2px #c49a61; }
.search-form button { min-width:150px;padding:0 24px;color:#fff;background:#8c0009;border:0;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase; }
.search-form button:hover { background:#a6000b; }
.search-form button span { margin-left:15px;color:#e0c493;font-size:1rem; }
.search-results-section { padding:clamp(70px,9vw,120px) 0; }
.search-summary { margin:0 0 28px;color:#8c0009;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase; }
.search-results { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #d6cbbb;border-left:1px solid #d6cbbb; }
.search-result { position:relative;min-height:225px;padding:35px 72px 34px 35px;border-right:1px solid #d6cbbb;border-bottom:1px solid #d6cbbb;transition:.25s ease; }
.search-result>span { color:#8c0009;font-size:.62rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase; }
.search-result h2 { margin:18px 0 12px;font:400 clamp(1.6rem,2.4vw,2.25rem)/1.08 Georgia,"Times New Roman",serif; }
.search-result p { max-width:520px;margin:0;color:#666d6e;font-size:.86rem;line-height:1.7; }
.search-result i { position:absolute;top:36px;right:34px;color:#8c0009;font-style:normal; }
.search-result:hover,.search-result:focus-visible { color:#fff;background:#111617;outline:0; }
.search-result:hover p,.search-result:focus-visible p { color:#c4cbcc; }
.search-result:hover>span,.search-result:focus-visible>span { color:#e0c493; }
.search-empty { grid-column:1/-1;padding:60px 35px;border-right:1px solid #d6cbbb;border-bottom:1px solid #d6cbbb; }
.search-empty h2 { margin-bottom:10px;font:400 2.2rem/1.1 Georgia,serif; }
.search-empty a { display:inline-block;margin-top:20px;color:#8c0009;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase; }

/* Compact search-page refinement */
body[data-page="search"] .search-hero { min-height:0;padding:clamp(118px,12vw,154px) 0 clamp(52px,6vw,76px);background:radial-gradient(circle at 82% 20%,rgba(140,0,9,.16),transparent 25%),#0e1314; }
body[data-page="search"] .search-hero-inner { display:grid;grid-template-columns:minmax(0,.72fr) minmax(440px,1.28fr);gap:clamp(38px,7vw,100px);align-items:end;max-width:none; }
body[data-page="search"] .search-hero .ref-kicker { grid-column:1/-1;margin:0 0 -8px; }
body[data-page="search"] .search-hero h1 { max-width:540px;margin:0;font-size:clamp(3.1rem,5.3vw,5.5rem); }
body[data-page="search"] .search-hero-inner>p:not(.ref-kicker) { grid-column:1;max-width:470px;margin:18px 0 0;font-size:.9rem; }
body[data-page="search"] .search-form { grid-column:2;grid-row:2 / span 2;width:100%;max-width:none;margin:0;box-shadow:0 20px 55px rgba(0,0,0,.2); }
body[data-page="search"] .search-form input { height:58px;font-size:.92rem; }
body[data-page="search"] .search-form-icon { top:21px; }
body[data-page="search"] .search-form button { min-width:132px; }
body[data-page="search"] .search-results-section { padding:clamp(50px,6vw,78px) 0; }
body[data-page="search"] .search-summary { margin-bottom:20px; }
body[data-page="search"] .search-results { grid-template-columns:repeat(3,minmax(0,1fr)); }
body[data-page="search"] .search-result { min-height:180px;padding:28px 52px 26px 28px; }
body[data-page="search"] .search-result h2 { margin:13px 0 9px;font-size:clamp(1.35rem,1.8vw,1.8rem); }
body[data-page="search"] .search-result p { font-size:.78rem;line-height:1.55; }
body[data-page="search"] .search-result i { top:28px;right:26px; }

@media (max-width:980px) {
  body[data-page="search"] .search-hero-inner { grid-template-columns:1fr;gap:18px; }
  body[data-page="search"] .search-hero .ref-kicker,body[data-page="search"] .search-hero-inner>p:not(.ref-kicker),body[data-page="search"] .search-form { grid-column:1;grid-row:auto; }
  body[data-page="search"] .search-form { margin-top:18px; }
  body[data-page="search"] .search-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:1180px) {
  .site-header .header-inner { gap:15px; }
  .site-header .main-nav { gap:12px; }
  .site-header .main-nav a { font-size:.56rem; }
  .site-header .header-call { display:none; }
}
@media (max-width:820px) {
  .site-header .header-search { z-index:1002;flex-basis:44px;width:44px;height:44px;margin-left:auto;color:#fff; }
  .site-header .header-search span { left:14px;top:11px; }
  .site-header .menu-toggle { margin-left:0!important; }
  .site-header .main-nav a:nth-child(7)::before { content:"07"; }
  .back-to-top { right:82px;bottom:14px;width:54px;height:54px; }
  .search-results { grid-template-columns:1fr; }
}

/* Homepage cinematic project films */
.home-motion-showcase { padding:clamp(84px,10vw,145px) 0;color:#fff;background:#0d1213;overflow:hidden; }
.home-motion-heading { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(45px,8vw,120px);align-items:end;margin-bottom:clamp(45px,6vw,75px); }
.home-motion-heading .ref-kicker { color:#d0a667; }
.home-motion-heading h2 { margin:18px 0 0;font:400 clamp(3.2rem,6.2vw,6.5rem)/.94 Georgia,"Times New Roman",serif;letter-spacing:-.06em; }
.home-motion-heading h2 em { color:#e0c493;font-weight:400; }
.home-motion-heading>div:last-child>p { max-width:520px;margin:0 0 28px;color:#aeb7b8;font-size:.95rem;line-height:1.75; }
.home-motion-heading a,.home-motion-foot a { display:inline-flex;align-items:center;gap:22px;padding-bottom:8px;color:#fff;border-bottom:1px solid rgba(224,196,147,.42);font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase; }
.home-motion-heading a span { color:#e0c493;font-size:1rem; }
.home-motion-grid { display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,minmax(240px,1fr));gap:18px; }
.home-motion-film { position:relative;min-height:290px;overflow:hidden;background:#090d0e;cursor:pointer; }
.home-motion-film-featured { grid-row:1 / span 2;min-height:598px; }
.home-motion-film video { width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
.home-motion-film::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,8,9,.9),transparent 57%);pointer-events:none; }
.home-motion-film:hover video,.home-motion-film:focus-within video { transform:scale(1.025);filter:saturate(1.08); }
.home-motion-overlay { position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;align-items:end;justify-content:space-between;gap:25px;padding:clamp(22px,3vw,38px);pointer-events:none; }
.home-motion-overlay small { display:block;margin-bottom:9px;color:#d0a667;font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase; }
.home-motion-overlay h3 { max-width:590px;margin:0;color:#fff;font:400 clamp(1.35rem,2.4vw,2.45rem)/1.08 Georgia,"Times New Roman",serif; }
.motion-sound-toggle { flex:0 0 auto;min-width:88px;min-height:40px;padding:0 13px;color:#fff;background:rgba(8,12,13,.62);border:1px solid rgba(255,255,255,.44);backdrop-filter:blur(8px);font-size:.57rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;pointer-events:auto; }
.motion-sound-toggle:hover,.motion-sound-toggle:focus-visible { color:#171c1d;background:#e0c493;border-color:#e0c493; }
.home-motion-foot { display:flex;justify-content:space-between;gap:30px;margin-top:24px;color:#7f898a;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase; }
.home-motion-foot a { display:none;color:#e0c493; }

@media (max-width:900px) {
  .home-motion-heading { grid-template-columns:1fr;gap:25px; }
  .home-motion-grid { grid-template-columns:1fr 1fr;grid-template-rows:430px 300px; }
  .home-motion-film-featured { grid-column:1/-1;grid-row:auto;min-height:430px; }
}
@media (max-width:620px) {
  .home-motion-grid { display:flex;overflow-x:auto;margin-inline:0;width:100%;padding-inline:17px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#8c0009 #212728; }
  .home-motion-film,.home-motion-film-featured { flex:0 0 86vw;width:86vw;min-height:390px;scroll-snap-align:center; }
  .home-motion-overlay { display:grid; }
  .motion-sound-toggle { width:max-content; }
  .home-motion-foot>span { display:none; }
  .home-motion-foot a { display:inline-flex; }
}

/* Selective motion interludes for supporting pages */
.page-motion-interlude { padding:clamp(82px,9vw,130px) 0;color:#fff;background:#0e1314;overflow:hidden; }
.page-motion-heading { display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:clamp(40px,8vw,110px);align-items:end;margin-bottom:clamp(42px,6vw,72px); }
.page-motion-heading .ref-kicker { grid-column:1/-1;margin-bottom:-20px;color:#d0a667; }
.page-motion-heading h2 { margin:0;font:400 clamp(3rem,5.4vw,5.7rem)/.96 Georgia,"Times New Roman",serif;letter-spacing:-.055em; }
.page-motion-heading h2 em { color:#e0c493;font-weight:400; }
.page-motion-heading>p,.page-motion-heading-inline>p { max-width:500px;margin:0;color:#aeb7b8;font-size:.92rem;line-height:1.75; }
.page-motion-heading-inline { grid-template-columns:1fr .65fr; }
.page-motion-heading-inline .ref-kicker { margin-bottom:17px; }
.page-motion-pair { display:grid;grid-template-columns:1.3fr .7fr;gap:18px; }
.page-motion-pair-even { grid-template-columns:1fr 1fr; }
.page-motion-panel { position:relative;display:block;min-height:430px;overflow:hidden;color:#fff;background:#080c0d; }
.page-motion-panel-large { min-height:560px; }
.page-motion-panel video { width:100%;height:100%;object-fit:cover;transition:transform .8s ease,filter .5s ease; }
.page-motion-panel::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,9,10,.92),transparent 60%); }
.page-motion-panel:hover video,.page-motion-panel:focus-visible video { transform:scale(1.035);filter:saturate(1.08); }
.page-motion-panel:focus-visible { outline:3px solid #e0c493;outline-offset:-3px; }
.page-motion-panel>span { position:absolute;z-index:2;left:clamp(24px,3vw,38px);right:clamp(24px,3vw,38px);bottom:clamp(24px,3vw,36px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 25px; }
.page-motion-panel small { grid-column:1/-1;color:#d0a667;font-size:.59rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase; }
.page-motion-panel b { max-width:520px;font:400 clamp(1.45rem,2.5vw,2.55rem)/1.1 Georgia,"Times New Roman",serif; }
.page-motion-panel i { color:#e0c493;font-style:normal;font-size:1.25rem; }

.contact-motion-banner { position:relative;min-height:clamp(450px,52vw,650px);display:grid;align-items:center;overflow:hidden;color:#fff;background:#0e1314; }
.contact-motion-banner>video { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.contact-motion-banner::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,11,.94),rgba(7,10,11,.62) 52%,rgba(7,10,11,.16)); }
.contact-motion-content { position:relative;z-index:1; }
.contact-motion-content .ref-kicker { color:#d0a667; }
.contact-motion-content h2 { max-width:850px;margin:20px 0 38px;font:400 clamp(3rem,5.6vw,5.8rem)/.96 Georgia,"Times New Roman",serif;letter-spacing:-.055em; }
.contact-motion-content h2 em { color:#e0c493;font-weight:400; }
.contact-motion-content>div { display:flex;flex-wrap:wrap;gap:12px; }

@media (max-width:820px) {
  .page-motion-heading,.page-motion-heading-inline { grid-template-columns:1fr;gap:24px; }
  .page-motion-heading .ref-kicker { margin-bottom:-5px; }
  .page-motion-pair,.page-motion-pair-even { grid-template-columns:1fr; }
  .page-motion-panel,.page-motion-panel-large { min-height:420px; }
}
@media (max-width:560px) {
  .page-motion-panel,.page-motion-panel-large { min-height:360px; }
  .contact-motion-banner { min-height:560px; }
  .contact-motion-banner::after { background:linear-gradient(0deg,rgba(7,10,11,.94),rgba(7,10,11,.48)); }
}

@media (max-width:560px) {
  body[data-page="projects"] .compare-studio,
  body[data-page="projects"] .compare-canvas,
  body[data-page="projects"] .compare-empty { width:100%;max-width:100%;overflow:hidden; }
  body[data-page="projects"] .compare-range { max-width:100%; }
}
@media (max-width:560px) {
  .site-header .brand-wordmark .brand-logo-image,.site-header.solid .brand-wordmark .brand-logo-image,.site-header.scrolled .brand-wordmark .brand-logo-image { width:min(148px,43vw)!important; }
  .search-hero { padding-top:130px; }
  .search-hero h1 { font-size:clamp(3rem,15vw,4.4rem); }
  .search-form { grid-template-columns:1fr; }
  .search-form button { min-height:54px; }
  .search-result { min-height:0;padding:30px 58px 30px 26px; }
  .search-result i { top:30px;right:25px; }
  body[data-page="search"] .search-hero { padding:110px 0 46px; }
  body[data-page="search"] .search-hero h1 { font-size:clamp(2.8rem,14vw,3.8rem); }
  body[data-page="search"] .search-form { grid-template-columns:1fr auto; }
  body[data-page="search"] .search-form button { min-width:58px;width:58px;padding:0;font-size:0; }
  body[data-page="search"] .search-form button span { margin:0;font-size:1.1rem; }
  body[data-page="search"] .search-results { grid-template-columns:1fr; }
  body[data-page="search"] .search-result { padding:25px 52px 24px 24px; }
}

/* Services: animated transformation archive */
.services-project-archive { overflow:hidden;padding:clamp(78px,9vw,130px) 0;background:#f8f5ef;border-top:1px solid #ded6ca;border-bottom:1px solid #ded6ca; }
.services-archive-heading { display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:clamp(44px,6vw,76px); }
.services-archive-heading .ref-kicker { color:#8c0009; }
.services-archive-heading h2 { margin:18px 0 0;color:#111617;font:400 clamp(3rem,5.5vw,5.7rem)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.055em; }
.services-archive-heading h2 em { color:#8c0009;font-weight:400; }
.services-archive-heading>a,.services-archive-mobile-link a { display:inline-flex;align-items:center;gap:24px;padding-bottom:10px;color:#151a1b;border-bottom:1px solid #cabca8;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap; }
.services-archive-heading>a span,.services-archive-mobile-link span { color:#8c0009;font-size:1rem; }
.services-archive-window { overflow:hidden; }
.services-archive-track { display:flex;width:max-content;animation:servicesArchiveMove 52s linear infinite;will-change:transform; }
.services-archive-window:hover .services-archive-track,.services-archive-window:focus-within .services-archive-track { animation-play-state:paused; }
.services-archive-set { display:flex;gap:20px;padding-right:20px; }
.services-archive-card { position:relative;display:block;flex:0 0 300px;width:300px;height:315px;overflow:hidden;color:#fff;background:#111617; }
.services-archive-card-wide { flex-basis:420px;width:420px; }
.services-archive-card img,.services-archive-card video { width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
.services-archive-card::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,12,13,.9),transparent 54%);transition:background .3s ease; }
.services-archive-card:hover img,.services-archive-card:hover video,.services-archive-card:focus-visible img,.services-archive-card:focus-visible video { transform:scale(1.045);filter:saturate(1.08); }
.services-archive-card:focus-visible { outline:3px solid #8c0009;outline-offset:-3px; }
.services-archive-card span { position:absolute;z-index:2;left:25px;right:25px;bottom:23px;display:grid;gap:5px; }
.services-archive-card b { font:400 1.35rem/1.1 Georgia,"Times New Roman",serif; }
.services-archive-card small { color:#d6dcdd;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.services-archive-card i { position:absolute;z-index:2;top:20px;right:20px;padding:8px 10px;color:#fff;background:#8c0009;font-style:normal;font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase; }
.services-archive-mobile-link { display:none;margin-top:28px; }
@keyframes servicesArchiveMove { to { transform:translateX(-50%); } }

@media (prefers-reduced-motion:reduce) {
  .services-archive-track { animation:none; }
}
@media (max-width:820px) {
  .services-archive-heading { display:block;margin-bottom:35px; }
  .services-archive-heading>a { display:none; }
  .services-archive-window { overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#8c0009 #e5ded3; }
  .services-archive-track { animation:none; }
  .services-archive-set { padding:0 17px; }
  .services-archive-set[aria-hidden="true"] { display:none; }
  .services-archive-card,.services-archive-card-wide { flex-basis:min(82vw,370px);width:min(82vw,370px);height:300px;scroll-snap-align:center; }
  .services-archive-mobile-link { display:block; }
}

/* Vertical premium proof-bar style */
body.reference-home .ref-proof-wrap .ref-proof {
  min-height: 178px;
  background: linear-gradient(100deg, #090c0d, #151a1c 50%, #090c0d) !important;
  border-radius: 8px;
}

body.reference-home .ref-proof-wrap .ref-proof > div {
  min-height: 178px;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  padding: 24px 18px 20px;
  text-align: center;
}

body.reference-home .ref-proof-wrap .ref-proof > div::after {
  top: 18%;
  height: 64%;
  background: linear-gradient(transparent, rgba(224,196,147,.24), transparent);
}

body.reference-home .ref-proof-wrap .ref-proof-icon {
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  margin: 0 auto 12px;
  color: #c9a36b;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.2));
  font-size: 1.65rem;
}

body.reference-home .ref-proof-wrap .ref-proof-icon::before {
  border: 0;
}

body.reference-home .ref-proof-wrap .ref-proof-copy {
  width: 100%;
  align-items: center;
  text-align: center;
}

body.reference-home .ref-proof-wrap .ref-proof-copy b {
  margin: 0 0 6px;
  color: #f1d7aa;
  font-size: clamp(1.5rem, 1.75vw, 1.95rem);
  font-weight: 600;
}

body.reference-home .ref-proof-wrap .ref-proof-copy > span {
  max-width: 190px;
  color: #f1f3f3;
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.35;
}

body.reference-home .ref-proof-wrap .ref-proof-copy small {
  display: block;
  max-width: 190px;
  margin-top: 6px;
  color: #9ea7a8;
  font-size: .54rem;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.35;
  text-transform: none;
}

body.reference-home .home-services-showcase {
  padding-top: 168px;
}

@media (max-width: 850px) {
  body.reference-home .ref-proof-wrap .ref-proof > div {
    min-height: 150px;
  }

  body.reference-home .home-services-showcase {
    padding-top: 136px;
  }
}

@media (max-width: 450px) {
  body.reference-home .ref-proof-wrap .ref-proof > div {
    min-height: 142px;
  }

  body.reference-home .home-services-showcase {
    padding-top: 112px;
  }
}

/* Services spacing after removing the experience bar */
body.reference-home .home-services-showcase {
  margin-top: 0;
  padding-top: clamp(76px, 7vw, 108px);
}

/* Definitive centered editorial Our Services composition */
body.reference-home .home-services-showcase {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 7vw, 104px) 0 clamp(80px, 7vw, 110px);
  background: #f6f1e9 !important;
  border: 0;
}

body.reference-home .home-services-showcase::before {
  content: "";
  position: absolute;
  top: -54px;
  left: 50%;
  width: 390px;
  height: 70px;
  border: 1px solid rgba(184,155,105,.36);
  border-radius: 50%;
  transform: translateX(-50%);
}

body.reference-home .services-editorial-layout {
  width: min(calc(100% - 72px), 1380px);
  display: block;
}

body.reference-home .services-editorial-heading {
  display: block;
  max-width: none;
  margin: 0 auto 42px;
  padding: 0;
  text-align: center;
}

body.reference-home .services-editorial-heading .ref-kicker {
  margin: 0 0 8px;
  color: #8c0009;
  font-size: .57rem;
  letter-spacing: .24em;
}

body.reference-home .services-editorial-heading h2 {
  margin: 0;
  color: #171b1c;
  font: 400 clamp(2.65rem, 3.5vw, 4rem)/1 Georgia, "Times New Roman", serif;
  letter-spacing: -.045em;
}

body.reference-home .home-services-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
}

body.reference-home .home-service-card {
  min-height: 260px;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 0 clamp(20px, 2.2vw, 38px);
  text-align: center;
  color: #171b1c;
  background: transparent;
  border: 0;
  border-right: 1px solid #d9d0c4;
  box-shadow: none;
  transform: none;
}

body.reference-home .home-service-card:last-child {
  border-right: 0;
}

/* Reference-style Featured Projects carousel */
body.reference-home .featured-carousel-section {
  position: relative;
  overflow: hidden;
  padding: clamp(74px, 7vw, 108px) 0 clamp(68px, 6vw, 92px);
  color: #171b1c;
  background: #f5f0e8;
  border-top: 1px solid #ddd4c7;
  border-bottom: 1px solid #ddd4c7;
}

body.reference-home .featured-carousel-section::before,
body.reference-home .featured-carousel-section::after {
  content: "";
  position: absolute;
  top: -30px;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(184,155,105,.18);
  transform: rotate(28deg);
}

body.reference-home .featured-carousel-section::before { left: -105px; }
body.reference-home .featured-carousel-section::after { right: -105px; transform: rotate(-28deg); }

body.reference-home .featured-carousel-shell {
  position: relative;
  width: min(calc(100% - 118px), 1320px);
}

body.reference-home .featured-carousel-heading {
  margin-bottom: 38px;
  text-align: center;
}

body.reference-home .featured-carousel-heading .ref-kicker {
  margin: 0 0 8px;
  color: #8c0009;
  font-size: .57rem;
  letter-spacing: .22em;
}

body.reference-home .featured-carousel-heading h2 {
  margin: 0;
  color: #171b1c;
  font: 400 clamp(2.75rem, 4vw, 4.4rem)/1 Georgia, "Times New Roman", serif;
  letter-spacing: -.045em;
}

body.reference-home .featured-carousel-viewport {
  overflow: hidden;
}

body.reference-home .featured-carousel-track {
  display: flex;
  gap: 24px;
  transition: transform .65s cubic-bezier(.22,.8,.25,1);
  will-change: transform;
}

body.reference-home .featured-project-card {
  flex: 0 0 calc((100% - 48px) / 3);
  overflow: hidden;
  color: #171b1c;
  background: #fbf8f3;
  border: 1px solid #d8cfc1;
  border-radius: 15px;
  box-shadow: 0 13px 32px rgba(33,29,23,.08);
  transition: transform .35s ease, box-shadow .35s ease;
}

body.reference-home .featured-project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 44px rgba(33,29,23,.14);
}

body.reference-home .featured-project-card > img {
  width: 100%;
  height: clamp(245px, 22vw, 330px);
  object-fit: cover;
  transition: transform .7s ease;
}

body.reference-home .featured-project-card:hover > img {
  transform: scale(1.035);
}

body.reference-home .featured-project-card > span {
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr;
  padding: 20px 22px 21px;
  background: #fbf8f3;
}

body.reference-home .featured-project-icon {
  grid-row: 1 / 3;
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  margin-top: 1px;
  color: #8c0009;
  border: 1px solid rgba(140,0,9,.35);
  font-family: Georgia, serif;
  font-size: 1rem;
  font-style: normal;
}

body.reference-home .featured-project-card b {
  color: #282d2e;
  font: 400 1.18rem/1.15 Georgia, "Times New Roman", serif;
}

body.reference-home .featured-project-card small {
  margin-top: 5px;
  color: #6b7273;
  font-size: .65rem;
  line-height: 1.35;
}

body.reference-home .featured-carousel-arrow {
  position: absolute;
  z-index: 3;
  top: 55%;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #171b1c;
  background: #e0c493;
  border: 1px solid #c5a56d;
  border-radius: 50%;
  font-size: 1.1rem;
  transition: .3s ease;
}

body.reference-home .featured-carousel-prev { left: -64px; }
body.reference-home .featured-carousel-next { right: -64px; }

body.reference-home .featured-carousel-arrow:hover:not(:disabled) {
  color: #fff;
  background: #8c0009;
  border-color: #8c0009;
}

body.reference-home .featured-carousel-arrow:disabled {
  opacity: .38;
  cursor: default;
}

body.reference-home .featured-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin-top: 26px;
}

body.reference-home .featured-carousel-dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  background: #c7b99f;
  border: 0;
  border-radius: 50%;
}

body.reference-home .featured-carousel-dots button.active {
  background: #8c0009;
  box-shadow: 0 0 0 4px rgba(140,0,9,.09);
}

body.reference-home .featured-carousel-action {
  margin-top: 25px;
  text-align: center;
}

body.reference-home .featured-carousel-action a {
  display: inline-flex;
  align-items: center;
  gap: 30px;
  padding: 11px 18px;
  color: #171b1c;
  border: 1px solid #8c0009;
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.reference-home .featured-carousel-action a:hover {
  color: #fff;
  background: #8c0009;
}

@media (max-width: 980px) {
  body.reference-home .featured-project-card {
    flex-basis: calc((100% - 20px) / 2);
  }

  body.reference-home .featured-carousel-track { gap: 20px; }
}

@media (max-width: 680px) {
  body.reference-home .featured-carousel-shell {
    width: calc(100% - 50px);
  }

  body.reference-home .featured-project-card {
    flex-basis: 100%;
  }

  body.reference-home .featured-carousel-prev { left: -23px; }
  body.reference-home .featured-carousel-next { right: -23px; }
  body.reference-home .featured-carousel-arrow { width: 42px; height: 42px; }
}

body.reference-home .home-service-card:hover {
  color: #171b1c;
  background: rgba(255,255,255,.45);
  border-color: #d9d0c4;
  box-shadow: none;
  transform: translateY(-3px);
}

body.reference-home .home-service-card .service-line-icon {
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  display: block;
  margin: 0 auto 24px;
  color: #8b8174;
  background: rgba(255,255,255,.28);
  border: 1px solid #d5ccbf;
  border-radius: 50%;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.3);
  filter: none;
  transform: scale(.82);
  transform-origin: center;
}

body.reference-home .home-service-card:hover .service-line-icon {
  color: #8c0009;
  border-color: rgba(140,0,9,.38);
  filter: none;
}

body.reference-home .home-service-card h3 {
  min-height: 48px;
  margin: 0 0 13px;
  color: #272b2c;
  font: 400 1.08rem/1.12 Georgia, "Times New Roman", serif;
  letter-spacing: -.025em;
}

body.reference-home .home-service-card p {
  max-width: 175px;
  margin: 0 auto;
  color: #666d6e;
  font-size: .67rem;
  line-height: 1.55;
}

body.reference-home .home-service-card > i {
  display: none;
}

@media (max-width: 1050px) {
  body.reference-home .home-services-cards {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 45px;
  }

  body.reference-home .home-service-card:nth-child(3) {
    border-right: 0;
  }
}

@media (max-width: 680px) {
  body.reference-home .services-editorial-layout {
    width: calc(100% - 30px);
  }

  body.reference-home .home-services-cards {
    grid-template-columns: 1fr 1fr;
  }

  body.reference-home .home-service-card:nth-child(3) {
    border-right: 1px solid #d9d0c4;
  }

  body.reference-home .home-service-card:nth-child(even) {
    border-right: 0;
  }
}

@media (max-width: 430px) {
  body.reference-home .home-services-cards {
    grid-template-columns: 1fr;
  }

  body.reference-home .home-service-card,
  body.reference-home .home-service-card:nth-child(3) {
    min-height: 235px;
    border-right: 0;
    border-bottom: 1px solid #d9d0c4;
  }

  body.reference-home .home-service-card:last-child {
    border-bottom: 0;
  }
}

/* Luxury editorial service ledger */
body.reference-home .services-ledger {
  position: relative;
  overflow: hidden;
  padding: clamp(58px, 6vw, 88px) 0;
  color: #171717;
  background:
    linear-gradient(90deg, rgba(140,0,9,.045) 1px, transparent 1px) calc(50% - 1px) 0 / 50% 100% no-repeat,
    #f4f0e9;
  border-top: 1px solid #ddd3c5;
}

body.reference-home .services-ledger::after {
  content: "KVN";
  position: absolute;
  right: -1.5vw;
  bottom: -4.8vw;
  color: rgba(140,0,9,.025);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(9rem, 19vw, 18rem);
  font-weight: 800;
  letter-spacing: -.09em;
  line-height: .8;
  pointer-events: none;
}

body.reference-home .services-ledger-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.55fr);
  gap: clamp(44px, 5.5vw, 86px);
  width: min(1420px, calc(100% - 9vw));
  margin: 0 auto;
}

body.reference-home .services-ledger-intro {
  align-self: center;
  padding-right: clamp(0px, 2vw, 28px);
}

body.reference-home .services-ledger-intro .ref-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
  color: #8c0009;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .24em;
  text-transform: uppercase;
}

body.reference-home .services-ledger-intro .ref-kicker::before {
  content: "";
  width: 34px;
  height: 2px;
  background: #8c0009;
}

body.reference-home .services-ledger-intro h2 {
  max-width: 560px;
  margin: 0;
  color: #111;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.55rem, 4.15vw, 4.55rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .95;
}

body.reference-home .services-ledger-intro h2 em {
  color: #8c0009;
  font-weight: 400;
}

body.reference-home .services-ledger-summary {
  max-width: 490px;
  margin: 24px 0 0;
  color: #5d5a55;
  font-size: .96rem;
  line-height: 1.72;
}

body.reference-home .services-ledger-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-width: 215px;
  margin-top: 27px;
  padding: 14px 18px;
  color: #fff;
  background: #8c0009;
  border: 1px solid #8c0009;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  transition: color .25s ease, background .25s ease, transform .25s ease;
}

body.reference-home .services-ledger-button:hover {
  color: #8c0009;
  background: transparent;
  transform: translateY(-2px);
}

body.reference-home .services-ledger-button span {
  font-size: 1rem;
  line-height: 1;
}

body.reference-home .services-ledger-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  border-top: 1px solid #cfc4b5;
  border-bottom: 1px solid #cfc4b5;
}

body.reference-home .services-ledger-item {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 28px;
  gap: 18px;
  align-items: start;
  min-height: 148px;
  padding: 25px 24px;
  color: #171717;
  border-bottom: 1px solid #cfc4b5;
  transition: color .3s ease, background .3s ease, transform .3s ease;
}

body.reference-home .services-ledger-item:nth-child(odd) {
  border-right: 1px solid #cfc4b5;
}

body.reference-home .services-ledger-item:nth-last-child(-n+2) {
  border-bottom: 0;
}

body.reference-home .services-ledger-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #8c0009;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .35s cubic-bezier(.2,.75,.2,1);
  z-index: -1;
}

body.reference-home .services-ledger-item:hover {
  color: #fff;
  transform: translateY(-3px);
}

body.reference-home .services-ledger-item:hover::before {
  transform: scaleY(1);
}

body.reference-home .services-ledger-number {
  padding-top: 5px;
  color: #8c0009;
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .14em;
  transition: color .3s ease;
}

body.reference-home .services-ledger-copy {
  display: block;
}

body.reference-home .services-ledger-copy strong {
  display: block;
  margin-bottom: 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.2rem, 1.4vw, 1.5rem);
  font-weight: 400;
  line-height: 1.13;
}

body.reference-home .services-ledger-copy small {
  display: block;
  max-width: 310px;
  color: #68635c;
  font-size: .78rem;
  line-height: 1.65;
  transition: color .3s ease;
}

body.reference-home .services-ledger-arrow {
  color: #8c0009;
  font-size: 1.05rem;
  transition: color .3s ease, transform .3s ease;
}

body.reference-home .services-ledger-item:hover .services-ledger-number,
body.reference-home .services-ledger-item:hover .services-ledger-copy small,
body.reference-home .services-ledger-item:hover .services-ledger-arrow {
  color: #fff;
}

body.reference-home .services-ledger-item:hover .services-ledger-arrow {
  transform: translate(3px, -3px);
}

@media (max-width: 1020px) {
  body.reference-home .services-ledger-layout {
    grid-template-columns: 1fr;
    gap: 55px;
  }

  body.reference-home .services-ledger-intro {
    display: grid;
    grid-template-columns: minmax(280px, .95fr) minmax(250px, .65fr);
    column-gap: 50px;
    align-items: end;
  }

  body.reference-home .services-ledger-intro .ref-kicker,
  body.reference-home .services-ledger-intro h2 {
    grid-column: 1;
  }

  body.reference-home .services-ledger-summary,
  body.reference-home .services-ledger-button {
    grid-column: 2;
  }

  body.reference-home .services-ledger-summary {
    grid-row: 1 / span 2;
    align-self: end;
  }

  body.reference-home .services-ledger-button {
    grid-row: 3;
    justify-self: start;
  }
}

@media (max-width: 700px) {
  body.reference-home .services-ledger {
    padding: 58px 0;
  }

  body.reference-home .services-ledger-layout {
    width: calc(100% - 36px);
  }

  body.reference-home .services-ledger-intro {
    display: block;
  }

  body.reference-home .services-ledger-summary {
    margin-top: 24px;
  }

  body.reference-home .services-ledger-list {
    grid-template-columns: 1fr;
  }

  body.reference-home .services-ledger-item,
  body.reference-home .services-ledger-item:nth-child(odd),
  body.reference-home .services-ledger-item:nth-last-child(2) {
    min-height: 132px;
    border-right: 0;
    border-bottom: 1px solid #cfc4b5;
  }

  body.reference-home .services-ledger-item:last-child {
    border-bottom: 0;
  }
}

/* Portfolio filter navigation */
body[data-page="projects"] .filters {
  position: sticky;
  z-index: 12;
  top: 70px;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0;
  padding: 0;
  background: rgba(244,240,233,.96);
  border: 1px solid #d5ccbf;
  box-shadow: 0 12px 34px rgba(22,19,16,.06);
  backdrop-filter: blur(14px);
}

body[data-page="projects"] .filter-button {
  position: relative;
  display: flex;
  flex: 1 1 145px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 15px 18px;
  color: #252321;
  background: transparent;
  border: 0;
  border-right: 1px solid #d5ccbf;
  font-size: .67rem;
  letter-spacing: .12em;
  transition: color .25s ease, background .25s ease;
}

body[data-page="projects"] .filter-button:last-child {
  border-right: 0;
}

body[data-page="projects"] .filter-button::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 8px;
  left: 18px;
  height: 2px;
  background: #8c0009;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}

body[data-page="projects"] .filter-button.active,
body[data-page="projects"] .filter-button:hover,
body[data-page="projects"] .filter-button:focus-visible {
  color: #fff;
  background: #101415;
  border-color: rgba(255,255,255,.14);
}

body[data-page="projects"] .filter-button.active::after {
  transform: scaleX(1);
}

body[data-page="projects"] .filter-button:focus-visible {
  outline: 3px solid rgba(140,0,9,.3);
  outline-offset: 3px;
}

body[data-page="projects"] .filter-count {
  color: #8c0009;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .76rem;
  font-weight: 400;
  letter-spacing: 0;
  transition: color .25s ease;
}

body[data-page="projects"] .filter-button.active .filter-count,
body[data-page="projects"] .filter-button:hover .filter-count,
body[data-page="projects"] .filter-button:focus-visible .filter-count {
  color: #e4cda8;
}

body[data-page="projects"] .portfolio-filter-status {
  min-height: 24px;
  margin: 17px 2px 28px;
  color: #716b63;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body[data-page="projects"] .portfolio-card[hidden],
body[data-page="projects"] .portfolio-card.hidden {
  display: none !important;
}

body[data-page="projects"] .portfolio-motion-media {
  isolation: isolate;
}

body[data-page="projects"] .portfolio-motion-media::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 48%, rgba(7,10,11,.65));
}

body[data-page="projects"] .portfolio-motion-media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-page="projects"] .portfolio-motion-badge {
  position: absolute;
  z-index: 2;
  left: 16px;
  bottom: 16px;
  padding: 8px 11px;
  color: #fff;
  background: #8c0009;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body[data-page="projects"] .portfolio-motion-media .portfolio-count {
  z-index: 2;
  top: 14px;
  right: 14px;
  bottom: auto;
}

body[data-page="projects"] .portfolio-motion-card .portfolio-view {
  display: inline-block;
}

body[data-page="projects"] .portfolio-card-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .75s ease, filter .4s ease;
}

body[data-page="projects"] .portfolio-image:hover .portfolio-card-video,
body[data-page="projects"] .portfolio-image:focus-visible .portfolio-card-video {
  filter: brightness(.82) saturate(1.06);
  transform: scale(1.045);
}

body[data-page="projects"] .portfolio-preview-label {
  position: absolute;
  z-index: 2;
  left: 14px;
  top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 7px 10px;
  color: #fff;
  background: rgba(10,14,15,.76);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(8px);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
  pointer-events: none;
}

body[data-page="projects"] .portfolio-preview-label i {
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8c0009;
  box-shadow: 0 0 0 4px rgba(140,0,9,.18);
}

body[data-page="projects"] .portfolio-preview-label i::after {
  content: "";
  position: absolute;
  inset: -5px;
  border: 1px solid rgba(214,90,97,.68);
  border-radius: 50%;
  animation: portfolioPulse 2s ease-out infinite;
}

@keyframes portfolioPulse {
  0% { opacity: .8; transform: scale(.55); }
  75%, 100% { opacity: 0; transform: scale(1.45); }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="projects"] .portfolio-card-video {
    transform: none;
  }

  body[data-page="projects"] .portfolio-preview-label i::after {
    animation: none;
  }
}

@media (max-width: 900px) {
  body[data-page="projects"] .filters {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  body[data-page="projects"] .filter-button {
    border-right: 1px solid #d5ccbf;
    border-bottom: 1px solid #d5ccbf;
  }

  body[data-page="projects"] .filter-button:nth-child(3n) {
    border-right: 0;
  }

  body[data-page="projects"] .filter-button:nth-last-child(-n+3) {
    border-bottom: 0;
  }
}

@media (max-width: 560px) {
  body[data-page="projects"] .filters {
    grid-template-columns: repeat(2, 1fr);
  }

  body[data-page="projects"] .filter-button:nth-child(3n) {
    border-right: 1px solid #d5ccbf;
  }

  body[data-page="projects"] .filter-button:nth-child(even) {
    border-right: 0;
  }

  body[data-page="projects"] .filter-button:nth-last-child(3) {
    border-bottom: 1px solid #d5ccbf;
  }

  body[data-page="projects"] .filter-button:nth-last-child(-n+2) {
    border-bottom: 0;
  }
}

/* Portfolio comparison contrast and responsive polish */
body[data-page="projects"] .portfolio-origin-story {
  position: relative;
  overflow: hidden;
  padding: clamp(76px, 9vw, 132px) 0;
  color: #f7f4ee;
  background:
    linear-gradient(110deg, rgba(140,0,9,.14), transparent 34%),
    #101415;
  border-top: 1px solid rgba(224,196,147,.18);
  border-bottom: 1px solid rgba(224,196,147,.18);
}

body[data-page="projects"] .portfolio-origin-story::after {
  content: "2018";
  position: absolute;
  right: -1vw;
  bottom: -4vw;
  color: rgba(255,255,255,.025);
  font: 800 clamp(9rem, 22vw, 20rem)/.8 Arial, sans-serif;
  letter-spacing: -.08em;
  pointer-events: none;
}

body[data-page="projects"] .portfolio-origin-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: clamp(52px, 8vw, 118px);
  align-items: center;
}

body[data-page="projects"] .portfolio-origin-image {
  position: relative;
  margin: 0;
}

body[data-page="projects"] .portfolio-origin-image::before {
  content: "";
  position: absolute;
  inset: 18px -18px -18px 18px;
  border: 1px solid rgba(224,196,147,.42);
  pointer-events: none;
}

body[data-page="projects"] .portfolio-origin-image img {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center center;
  filter: saturate(.72) contrast(1.03);
}

body[data-page="projects"] .portfolio-origin-photo-link {
  position: relative;
  z-index: 1;
  display: block;
}

body[data-page="projects"] .portfolio-origin-image figcaption {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
  width: max-content;
  max-width: calc(100% - 34px);
  margin: -26px 0 0 28px;
  padding: 14px 18px;
  color: #171717;
  background: #f4f0e9;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body[data-page="projects"] .portfolio-origin-image figcaption span {
  color: #8c0009;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
}

body[data-page="projects"] .portfolio-origin-image figcaption .portfolio-origin-caption {
  display: grid;
  gap: 3px;
  color: #171b1c;
  font-family: inherit;
  font-size: inherit;
}

body[data-page="projects"] .portfolio-origin-caption strong {
  font-size: .76rem;
  letter-spacing: .11em;
}

body[data-page="projects"] .portfolio-origin-caption small {
  color: #687072;
  font-size: .67rem;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: none;
}

body[data-page="projects"] .portfolio-origin-copy .ref-kicker {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 24px;
  color: #d65a61;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body[data-page="projects"] .portfolio-origin-copy .ref-kicker::before {
  content: "";
  width: 32px;
  height: 2px;
  background: #8c0009;
}

body[data-page="projects"] .portfolio-origin-copy h2 {
  max-width: 640px;
  margin: 0 0 25px;
  color: #fff;
  font: 400 clamp(3rem, 5.3vw, 5.6rem)/.98 Georgia, "Times New Roman", serif;
  letter-spacing: -.055em;
}

body[data-page="projects"] .portfolio-origin-copy h2 em {
  color: #e0c493;
  font-weight: 400;
}

body[data-page="projects"] .portfolio-origin-lead {
  max-width: 630px;
  color: #d9dede;
  font-size: 1rem;
  line-height: 1.75;
}

body[data-page="projects"] .portfolio-origin-copy blockquote {
  max-width: 650px;
  margin: 28px 0 31px;
  padding: 4px 0 4px 24px;
  color: #fff;
  border-left: 2px solid #8c0009;
  font: italic 400 clamp(1.15rem, 1.7vw, 1.45rem)/1.55 Georgia, "Times New Roman", serif;
}

body[data-page="projects"] .portfolio-origin-details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 30px;
  border-top: 1px solid rgba(224,196,147,.23);
  border-bottom: 1px solid rgba(224,196,147,.23);
}

body[data-page="projects"] .portfolio-origin-details span {
  padding: 19px 16px;
  color: #aeb6b8;
  border-right: 1px solid rgba(224,196,147,.23);
  font-size: .65rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body[data-page="projects"] .portfolio-origin-details span:first-child { padding-left: 0; }
body[data-page="projects"] .portfolio-origin-details span:last-child { border-right: 0; }

body[data-page="projects"] .portfolio-origin-details strong {
  display: block;
  margin-bottom: 5px;
  color: #e0c493;
  font: 400 1.45rem/1 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
  text-transform: none;
}

body[data-page="projects"] .portfolio-origin-link {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  padding-bottom: 7px;
  color: #fff;
  border-bottom: 1px solid #e0c493;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body[data-page="projects"] .portfolio-origin-link span {
  color: #e0c493;
  font-size: 1rem;
}

body[data-page="projects"] .portfolio-origin-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 30px;
}

body[data-page="projects"] .portfolio-origin-record {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 48px;
  padding: 0 20px;
  color: #fff;
  background: #8c0009;
  border: 1px solid #8c0009;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

body[data-page="projects"] .portfolio-origin-record:hover,
body[data-page="projects"] .portfolio-origin-record:focus-visible {
  background: #a8000b;
  border-color: #a8000b;
  transform: translateY(-2px);
}

body[data-page="projects"] .portfolio-origin-record span {
  color: #e0c493;
  font-size: 1rem;
}

@media (max-width: 900px) {
  body[data-page="projects"] .portfolio-origin-grid {
    grid-template-columns: 1fr;
    gap: 62px;
  }

  body[data-page="projects"] .portfolio-origin-image {
    width: calc(100% - 18px);
  }
}

@media (max-width: 560px) {
  body[data-page="projects"] .portfolio-origin-story {
    padding: 68px 0;
  }

  body[data-page="projects"] .portfolio-origin-image::before {
    inset: 10px -10px -10px 10px;
  }

  body[data-page="projects"] .portfolio-origin-image figcaption {
    width: calc(100% - 20px);
    max-width: none;
    margin-left: 10px;
  }

  body[data-page="projects"] .portfolio-origin-copy h2 {
    font-size: clamp(2.8rem, 13vw, 3.8rem);
  }

  body[data-page="projects"] .portfolio-origin-details {
    grid-template-columns: 1fr;
  }

  body[data-page="projects"] .portfolio-origin-details span,
  body[data-page="projects"] .portfolio-origin-details span:first-child {
    padding: 15px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(224,196,147,.18);
  }

  body[data-page="projects"] .portfolio-origin-details span:last-child {
    border-bottom: 0;
  }
}

body[data-page="projects"] .compare-section .lead {
  color: #f1f3f3;
}

body[data-page="projects"] .compare-title {
  width: 100%;
  max-width: 610px;
  margin: 0 0 28px;
  padding-right: .12em;
  overflow: visible;
  color: #fff;
  font-size: clamp(3.2rem, 4.55vw, 4.65rem);
  line-height: 1.04;
  letter-spacing: -.045em;
  word-break: normal;
  overflow-wrap: normal;
}

body[data-page="projects"] .compare-layout {
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  gap: clamp(44px, 5vw, 76px);
}

body[data-page="projects"] .compare-title span {
  display: block;
  width: max-content;
  max-width: 100%;
}

body[data-page="projects"] .compare-section .compare-benefits li {
  color: #fff;
}

body[data-page="projects"] .compare-section .compare-disclosure {
  color: #e0c493;
}

body[data-page="projects"] .compare-section .compare-analysis {
  color: #555d5f;
}

body[data-page="projects"] .compare-section .compare-analysis strong {
  color: #8c0009;
}

body[data-page="projects"] .compare-canvas[hidden],
body[data-page="projects"] .compare-empty[hidden] {
  display: none !important;
}

body[data-page="projects"] .compare-layout > * {
  min-width: 0;
}

body[data-page="projects"] .compare-upload {
  min-height: 76px;
  transition: border-color .25s ease, background .25s ease;
}

body[data-page="projects"] .compare-upload:hover,
body[data-page="projects"] .compare-upload:focus-within {
  background: #f7f2ea;
  border-color: #8c0009;
}

body[data-page="projects"] .compare-range:focus-visible + .compare-handle::after {
  outline: 3px solid #8c0009;
  outline-offset: 4px;
}

body[data-page="projects"] .compare-handle::after {
  content: "\2194";
}

body[data-page="projects"] img,
body[data-page="projects"] video {
  max-width: 100%;
}

@media (max-width: 1080px) {
  body[data-page="projects"] .project-collection {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 44px 16px;
  }

  body[data-page="projects"] .compare-layout {
    grid-template-columns: .85fr 1.15fr;
    gap: 42px;
  }
}

@media (max-width: 820px) {
  body[data-page="projects"] .portfolio-showcase .section-heading h2,
  body[data-page="projects"] .compare-section h2 {
    font-size: clamp(2.75rem, 9vw, 4rem);
  }

  body[data-page="projects"] .compare-layout {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  body[data-page="projects"] .compare-studio {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
  }

  body[data-page="projects"] .gallery-video,
  body[data-page="projects"] .gallery-video video {
    min-height: clamp(280px, 62vw, 520px);
  }
}

@media (max-width: 600px) {
  body[data-page="projects"] .section {
    padding: 64px 0;
  }

  body[data-page="projects"] .project-collection {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  body[data-page="projects"] .portfolio-image {
    aspect-ratio: 4 / 3;
  }

  body[data-page="projects"] .compare-studio {
    min-width: 0;
    padding: 16px;
  }

  body[data-page="projects"] .compare-section h2 {
    font-size: clamp(2.35rem, 10.8vw, 3.05rem);
    line-height: 1.06;
    overflow-wrap: normal;
  }

  body[data-page="projects"] .compare-upload-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="projects"] .compare-canvas {
    min-height: 260px;
    aspect-ratio: 4 / 3;
  }

  body[data-page="projects"] .compare-handle::after {
    width: 52px;
    height: 52px;
  }

  body[data-page="projects"] .house-gallery {
    grid-template-columns: 1fr;
  }

  body[data-page="projects"] .house-photo,
  body[data-page="projects"] .house-photo-featured {
    grid-column: auto;
    grid-row: auto;
    min-height: 270px;
  }

  body[data-page="projects"] .lightbox {
    padding: 18px;
  }

  body[data-page="projects"] .lightbox-nav {
    top: auto;
    bottom: 22px;
    transform: none;
  }
}

/* Definitive mobile navigation */
@media (max-width: 820px) {
  body.menu-open {
    overflow: hidden !important;
    touch-action: none;
  }

  .site-header,
  .site-header.solid,
  .site-header.scrolled,
  .reference-home .site-header:not(.scrolled) {
    height: 76px !important;
    color: #fff !important;
    background: rgba(8, 12, 13, .97) !important;
    border-bottom: 1px solid rgba(224,196,147,.22) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.18) !important;
    backdrop-filter: blur(16px) !important;
  }

  .site-header .header-inner {
    position: relative;
    z-index: 2;
    width: calc(100% - 30px);
    gap: 12px;
  }

  .site-header .brand-wordmark {
    position: relative;
    z-index: 1002;
  }

  .site-header .brand-wordmark .brand-logo-image,
  .site-header.solid .brand-wordmark .brand-logo-image,
  .site-header.scrolled .brand-wordmark .brand-logo-image {
    width: min(174px, 58vw) !important;
    height: 48px !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    background: transparent !important;
  }

  .site-header .menu-toggle {
    position: relative;
    z-index: 1002;
    display: block !important;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-left: auto;
    padding: 0;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: rgba(255,255,255,.025) !important;
  }

  .site-header .menu-toggle span,
  .site-header .menu-toggle::before,
  .site-header .menu-toggle::after {
    position: absolute;
    left: 50%;
    width: 22px;
    height: 2px;
    margin: 0;
    background: #fff !important;
    transform: translateX(-50%);
    transform-origin: center;
    transition: top .25s ease, opacity .2s ease, transform .25s ease;
  }

  .site-header .menu-toggle::before { top: 16px; }
  .site-header .menu-toggle span { top: 22px; }
  .site-header .menu-toggle::after { top: 28px; }

  .menu-open .site-header .menu-toggle::before {
    top: 23px;
    transform: translateX(-50%) rotate(45deg);
  }

  .menu-open .site-header .menu-toggle span {
    opacity: 0;
  }

  .menu-open .site-header .menu-toggle::after {
    top: 23px;
    transform: translateX(-50%) rotate(-45deg);
  }

  .site-header .main-nav {
    position: fixed !important;
    z-index: 1000;
    top: 76px !important;
    right: auto !important;
    bottom: 0 !important;
    left: 50% !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0 !important;
    width: 100vw;
    height: calc(100dvh - 76px);
    margin: 0 !important;
    padding: 30px 26px max(34px, env(safe-area-inset-bottom));
    overflow-y: auto;
    color: #fff;
    background:
      radial-gradient(circle at 82% 12%, rgba(140,0,9,.18), transparent 28%),
      #0a0e0f !important;
    border: 0 !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(60%);
    transition: transform .38s cubic-bezier(.2,.72,.2,1), opacity .28s ease, visibility 0s linear .38s;
  }

  .menu-open .site-header .main-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%);
    transition-delay: 0s;
  }

  .site-header .main-nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(100%, 520px);
    min-height: 68px;
    padding: 15px 6px;
    color: #f7f4ee !important;
    border-bottom: 1px solid rgba(224,196,147,.2);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 7vw, 2.15rem) !important;
    font-weight: 400;
    letter-spacing: -.025em !important;
    line-height: 1.1;
    text-transform: none;
  }

  .site-header .main-nav a:first-child {
    border-top: 1px solid rgba(224,196,147,.2);
  }

  .site-header .main-nav a::before {
    order: 2;
    color: #c9a465;
    font: 700 .6rem/1 "Segoe UI", Arial, sans-serif;
    letter-spacing: .14em;
  }

  .site-header .main-nav a:nth-child(1)::before { content: "01"; }
  .site-header .main-nav a:nth-child(2)::before { content: "02"; }
  .site-header .main-nav a:nth-child(3)::before { content: "03"; }
  .site-header .main-nav a:nth-child(4)::before { content: "04"; }
  .site-header .main-nav a:nth-child(5)::before { content: "05"; }
  .site-header .main-nav a:nth-child(6)::before { content: "06"; }

  .site-header .main-nav a::after {
    right: auto !important;
    bottom: -1px;
    width: 0;
    height: 2px;
    background: #8c0009 !important;
    transition: width .25s ease;
  }

  .site-header .main-nav a:hover,
  .site-header .main-nav a:focus-visible,
  .site-header .main-nav a.active {
    color: #e0c493 !important;
  }

  .site-header .main-nav a:hover::after,
  .site-header .main-nav a:focus-visible::after,
  .site-header .main-nav a.active::after {
    width: 64px;
  }

  .site-header .main-nav a:focus-visible {
    outline: 2px solid #e0c493;
    outline-offset: 4px;
  }
}

@media (max-width: 420px) and (max-height: 720px) {
  .site-header .main-nav {
    justify-content: flex-start;
    padding-top: 18px;
  }

  .site-header .main-nav a {
    min-height: 58px;
    font-size: 1.45rem !important;
  }
}

/* Dark Featured Projects section */
body.reference-home .ref-featured {
  color: #fff;
  background: #101415;
  border-top: 1px solid rgba(184,155,105,.22);
  border-bottom: 1px solid rgba(184,155,105,.22);
}

body.reference-home .ref-featured .ref-kicker {
  color: #d65a61;
}

body.reference-home .ref-featured .ref-side-title h2 {
  color: #fff;
}

body.reference-home .ref-featured .ref-outline-btn {
  color: #fff;
  border-color: rgba(224,196,147,.72);
}

body.reference-home .ref-featured .ref-outline-btn:hover {
  color: #fff;
  background: #8c0009;
  border-color: #8c0009;
}

/* Premium experience infographic bar */
body.reference-home .ref-proof-wrap {
  margin-top: -58px;
}

body.reference-home .ref-proof-wrap .ref-proof {
  min-height: 126px;
  background:
    linear-gradient(115deg, rgba(255,255,255,.035), transparent 34%),
    linear-gradient(90deg, #0d1214 0%, #1a2023 48%, #101517 100%) !important;
  border-color: rgba(224,196,147,.22);
  border-radius: 14px;
  box-shadow: 0 24px 58px rgba(6,9,10,.32);
}

body.reference-home .ref-proof-wrap .ref-proof::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

body.reference-home .ref-proof-wrap .ref-proof > div {
  min-height: 126px;
  gap: clamp(14px, 1.4vw, 21px);
  padding: 23px clamp(18px, 2.1vw, 34px);
  transition: background .3s ease;
}

body.reference-home .ref-proof-wrap .ref-proof > div:hover {
  background: rgba(255,255,255,.045) !important;
}

body.reference-home .ref-proof-wrap .ref-proof > div::after {
  top: 25%;
  height: 50%;
  background: linear-gradient(transparent, rgba(224,196,147,.28), transparent);
}

body.reference-home .ref-proof-wrap .ref-proof-icon {
  position: relative;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  color: #d0a667;
  border: 1px solid rgba(208,166,103,.62);
  border-radius: 50%;
  box-shadow: inset 0 0 0 4px rgba(208,166,103,.06);
}

body.reference-home .ref-proof-wrap .ref-proof-icon::before {
  border: 1px solid rgba(140,0,9,.48);
}

body.reference-home .ref-proof-wrap .ref-proof-copy {
  min-width: 0;
  align-items: flex-start;
}

body.reference-home .ref-proof-wrap .ref-proof-copy b {
  margin-bottom: 7px;
  color: #f5e2bf;
  font-size: clamp(1.75rem, 2.15vw, 2.35rem);
  font-weight: 600;
  letter-spacing: -.035em;
}

body.reference-home .ref-proof-wrap .ref-proof-copy > span {
  max-width: 155px;
  color: #c9cfd0;
  font-size: .56rem;
  letter-spacing: .075em;
  line-height: 1.45;
}

@media (max-width: 850px) {
  body.reference-home .ref-proof-wrap {
    margin-top: -32px;
  }

  body.reference-home .ref-proof-wrap .ref-proof > div {
    min-height: 108px;
  }
}

@media (max-width: 450px) {
  body.reference-home .ref-proof-wrap .ref-proof {
    border-radius: 10px;
  }

  body.reference-home .ref-proof-wrap .ref-proof > div {
    min-height: 94px;
    padding: 18px 22px;
  }

body.reference-home .ref-proof-wrap .ref-proof-icon {
    flex-basis: 46px;
    width: 46px;
    height: 46px;
  }
}

/* Definitive KVN Standard section — high-contrast editorial treatment */
.site-footer .footer-testimonials {
  position: relative;
  overflow: hidden;
  padding: clamp(84px, 8vw, 126px) 0 !important;
  color: #f8f5ef;
  background:
    radial-gradient(circle at 12% 18%, rgba(140, 0, 9, .22), transparent 26%),
    radial-gradient(circle at 88% 92%, rgba(201, 164, 101, .12), transparent 30%),
    linear-gradient(125deg, #090d0e 0%, #121819 52%, #090d0e 100%) !important;
  border-top: 1px solid rgba(224, 196, 147, .3) !important;
  border-bottom: 1px solid rgba(224, 196, 147, .22) !important;
}

.site-footer .footer-testimonials::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #8c0009 0 16%, #d0a667 16% 34%, transparent 34% 100%);
}

.site-footer .footer-testimonials::after {
  content: "KVN";
  position: absolute;
  right: -1.5vw;
  bottom: -7vw;
  color: rgba(255, 255, 255, .025);
  font: 700 clamp(10rem, 24vw, 28rem)/.75 "Segoe UI", Arial, sans-serif;
  letter-spacing: -.08em;
  pointer-events: none;
}

.site-footer .footer-testimonials-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(245px, .9fr) repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 24px);
  align-items: stretch;
}

.site-footer .footer-testimonials-heading {
  position: relative;
  justify-content: flex-start;
  padding: 22px clamp(24px, 3vw, 48px) 22px 0;
}

.site-footer .footer-testimonials-heading::after {
  content: "";
  position: absolute;
  top: 22px;
  right: 0;
  bottom: 22px;
  width: 1px;
  background: linear-gradient(transparent, rgba(224, 196, 147, .42), transparent);
}

.site-footer .footer-testimonials-heading .footer-testimonials-kicker {
  margin-bottom: 24px;
  color: #e0c493 !important;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .22em;
}

.site-footer .footer-testimonials-heading h2 {
  max-width: 360px;
  color: #fff !important;
  font-size: clamp(2.65rem, 3.65vw, 4.25rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.site-footer .footer-testimonials-heading h2 em {
  color: #d0a667 !important;
  font-weight: 400;
}

.site-footer .footer-testimonial-rule {
  width: 78px;
  height: 2px;
  margin-top: 36px;
  background: linear-gradient(90deg, #8c0009 0 40%, #d0a667 40% 100%);
}

.site-footer .footer-testimonials .footer-proof {
  position: relative;
  min-height: 310px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 38px 30px 34px;
  border: 1px solid rgba(224, 196, 147, .23);
  background:
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.015)),
    rgba(16, 22, 23, .82);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 18px 42px rgba(0,0,0,.16);
  transition: transform .35s ease, border-color .35s ease, background .35s ease;
}

.site-footer .footer-testimonials .footer-proof::before {
  position: absolute;
  top: 22px;
  left: 28px;
  color: rgba(224, 196, 147, .38);
  font: 500 .68rem/1 "Segoe UI", Arial, sans-serif;
  letter-spacing: .18em;
}
.site-footer .footer-testimonials .footer-proof:nth-child(2)::before { content: "01 / DIRECTION"; }
.site-footer .footer-testimonials .footer-proof:nth-child(3)::before { content: "02 / DESIGN"; }
.site-footer .footer-testimonials .footer-proof:nth-child(4)::before { content: "03 / REGION"; }

.site-footer .footer-testimonials .footer-proof::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 46px;
  height: 46px;
  border-top: 1px solid rgba(224,196,147,.5);
  border-right: 1px solid rgba(224,196,147,.5);
}

.site-footer .footer-testimonials .footer-proof:hover {
  transform: translateY(-7px);
  border-color: rgba(224, 196, 147, .62);
  background:
    linear-gradient(145deg, rgba(140,0,9,.17), rgba(255,255,255,.025)),
    #141a1b;
}

.site-footer .footer-testimonials .footer-proof strong {
  display: block;
  margin: 0 0 20px;
  color: #f1d49e !important;
  font: 400 clamp(1.65rem, 2vw, 2.15rem)/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: -.025em;
}

.site-footer .footer-testimonials .footer-proof p {
  max-width: 270px;
  margin: 0;
  color: #d7ddde !important;
  font-size: .91rem;
  font-weight: 450;
  line-height: 1.72;
}

@media (max-width: 1080px) {
  .site-footer .footer-testimonials-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .site-footer .footer-testimonials-heading {
    grid-column: 1 / -1;
    max-width: 760px;
    padding: 0 0 34px;
  }
  .site-footer .footer-testimonials-heading::after { display: none; }
  .site-footer .footer-testimonials-heading h2 { max-width: 620px; }
}

@media (max-width: 760px) {
  .site-footer .footer-testimonials { padding: 70px 0 !important; }
  .site-footer .footer-testimonials-grid { grid-template-columns: 1fr; }
  .site-footer .footer-testimonials-heading { padding-bottom: 22px; }
  .site-footer .footer-testimonials-heading h2 { font-size: clamp(2.75rem, 13vw, 4rem); }
  .site-footer .footer-testimonials .footer-proof {
    min-height: 235px;
    padding: 70px 28px 30px;
  }
  .site-footer .footer-testimonials .footer-proof p { max-width: 520px; }
}

/* KVN homepage — reference layout adaptation */
.kvn-final-home {
  --kvn-black: #0a0e0f;
  --kvn-charcoal: #111719;
  --kvn-ivory: #f4f0e8;
  --kvn-gold: #c49a5b;
  --kvn-gold-light: #e0c493;
  --kvn-red: #8c0009;
  overflow: hidden;
  color: #171b1c;
  background: var(--kvn-ivory);
}

.kvn-final-home h1,
.kvn-final-home h2,
.kvn-final-home h3 { text-wrap: balance; }

.kvn-final-kicker {
  margin: 0 0 22px;
  color: var(--kvn-gold);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .2em;
  line-height: 1.2;
  text-transform: uppercase;
}

.kvn-final-hero {
  position: relative;
  min-height: clamp(720px, 100svh, 940px);
  display: flex;
  align-items: center;
  isolation: isolate;
  color: #fff;
  background: var(--kvn-black);
}

.kvn-final-hero-image,
.kvn-final-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.kvn-final-hero-image { z-index: -2; object-fit: cover; object-position: center 48%; filter: saturate(.78) contrast(1.06); }
.kvn-final-hero-shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(6,10,11,.96) 0%, rgba(6,10,11,.78) 39%, rgba(6,10,11,.18) 74%, rgba(6,10,11,.08) 100%),
    linear-gradient(0deg, rgba(6,10,11,.73), transparent 54%);
}

.kvn-final-hero-inner { position: relative; padding-top: 94px; }
.kvn-final-hero-copy { max-width: 760px; margin-left: 56px; }
.kvn-final-hero-copy h1 {
  max-width: 750px;
  margin: 0 0 28px;
  color: #fff;
  font: 400 clamp(4.1rem, 6.4vw, 7rem)/.92 Georgia, "Times New Roman", serif;
  letter-spacing: -.055em;
}
.kvn-final-hero-copy h1 em { color: var(--kvn-gold-light); font-weight: 400; }
.kvn-final-hero-copy > p:not(.kvn-final-kicker) { max-width: 560px; margin-bottom: 34px; color: #d7ddde; font-size: 1.02rem; line-height: 1.75; }
.kvn-final-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.kvn-final-button,
.kvn-final-outline {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  padding: 13px 23px;
  border: 1px solid var(--kvn-gold);
  color: #111516;
  background: var(--kvn-gold);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: .3s ease;
}
.kvn-final-button:hover { color: #fff; background: var(--kvn-red); border-color: var(--kvn-red); transform: translateY(-2px); }
.kvn-final-text-link { padding: 13px 0; color: #f4f1eb; font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.kvn-final-text-link span { margin-left: 12px; color: var(--kvn-gold-light); }
.kvn-final-rail { position: absolute; top: 16%; bottom: 12%; left: 0; width: 1px; background: rgba(255,255,255,.38); }
.kvn-final-rail::before,
.kvn-final-rail::after,
.kvn-final-rail i { content: ""; position: absolute; left: -2px; width: 5px; height: 5px; border-radius: 50%; background: #fff; }
.kvn-final-rail::before { top: 0; }.kvn-final-rail::after { bottom: 0; }
.kvn-final-rail i:nth-child(1) { top: 44%; }.kvn-final-rail i:nth-child(2) { top: 50%; }.kvn-final-rail i:nth-child(3) { top: 56%; }

.kvn-final-proof { position: relative; z-index: 6; margin-top: -72px; color: #fff; }
.kvn-final-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(224,196,147,.32);
  border-radius: 22px;
  background: linear-gradient(105deg, rgba(12,17,18,.98), rgba(26,30,31,.97), rgba(10,14,15,.98));
  box-shadow: 0 28px 70px rgba(3,6,7,.3);
}
.kvn-final-proof-grid > div { min-height: 140px; display: flex; align-items: center; gap: 20px; padding: 28px clamp(20px,2.6vw,38px); border-right: 1px solid rgba(224,196,147,.2); }
.kvn-final-proof-grid > div:last-child { border-right: 0; }
.kvn-final-proof-icon { flex: 0 0 46px; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(224,196,147,.58); border-radius: 50%; color: var(--kvn-gold-light); font: 400 .68rem/1 Georgia,serif; }
.kvn-final-proof-grid p { margin: 0; }
.kvn-final-proof-grid strong { display: block; margin-bottom: 7px; color: var(--kvn-gold-light); font: 400 clamp(1.25rem,1.7vw,1.65rem)/1 Georgia,serif; white-space: nowrap; }
.kvn-final-proof-grid small { display: block; color: #bcc4c5; font-size: .65rem; line-height: 1.5; }

.kvn-final-section { padding: clamp(90px, 9vw, 138px) 0; }
.kvn-final-featured { padding-top: clamp(120px, 12vw, 180px); background: var(--kvn-ivory); }
.kvn-final-featured-grid { display: grid; grid-template-columns: .42fr 1.58fr; gap: clamp(40px,6vw,82px); align-items: center; }
.kvn-final-side-heading h2,
.kvn-final-services-intro h2,
.kvn-final-process-heading h2,
.kvn-final-about-copy h2,
.kvn-final-centered h2 {
  margin: 0;
  font: 400 clamp(2.8rem,4.6vw,5rem)/1.02 Georgia,"Times New Roman",serif;
  letter-spacing: -.05em;
}
.kvn-final-side-heading h2 em,
.kvn-final-services-intro h2 em,
.kvn-final-about-copy h2 em { color: var(--kvn-red); font-weight: 400; }
.kvn-final-outline { margin-top: 36px; color: #191d1e; background: transparent; }
.kvn-final-outline:hover { color: #fff; background: var(--kvn-red); border-color: var(--kvn-red); }
.kvn-final-outline-light { color: #fff; border-color: rgba(224,196,147,.72); }

.kvn-final-project-grid { display: grid; grid-template-columns: 1.12fr .9fr .78fr; grid-template-rows: 265px 265px; gap: 9px; }
.kvn-final-project { position: relative; overflow: hidden; color: #fff; background: #111; }
.kvn-final-project-main,.kvn-final-project-tall { grid-row: span 2; }
.kvn-final-project img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.kvn-final-project::after { content: ""; position: absolute; inset: 26% 0 0; background: linear-gradient(transparent, rgba(4,7,8,.94)); }
.kvn-final-project:hover img { transform: scale(1.045); }
.kvn-final-project > span { position: absolute; z-index: 2; right: 20px; bottom: 18px; left: 20px; }
.kvn-final-project strong { display: block; font: 400 1.25rem/1.1 Georgia,serif; }
.kvn-final-project small { color: #cad0d1; font-size: .66rem; }
.kvn-final-project i { position: absolute; right: 0; bottom: 0; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font-style: normal; }

.kvn-final-services { color: #fff; background: linear-gradient(120deg,#090d0e,#121819); border-top: 1px solid rgba(224,196,147,.2); border-bottom: 1px solid rgba(224,196,147,.18); }
.kvn-final-services-layout { display: grid; grid-template-columns: minmax(210px,.42fr) minmax(0,1.58fr); gap: clamp(36px,5vw,68px); }
.kvn-final-services-intro > p:not(.kvn-final-kicker) { max-width: 260px; margin: 24px 0 0; color: #aeb7b8; font-size: .85rem; line-height: 1.65; }
.kvn-final-services-intro h2 em { color: var(--kvn-gold-light); }
.kvn-final-service-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); border-top: 1px solid rgba(224,196,147,.2); border-left: 1px solid rgba(224,196,147,.2); }
.kvn-final-service { min-height: 350px; display: flex; flex-direction: column; align-items: center; padding: 35px 18px 30px; border-right: 1px solid rgba(224,196,147,.2); border-bottom: 1px solid rgba(224,196,147,.2); text-align: center; transition: .35s ease; }
.kvn-final-service:hover { background: rgba(140,0,9,.18); transform: translateY(-6px); }
.kvn-final-service > span { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 48px; border: 1px solid rgba(224,196,147,.52); border-radius: 50%; color: var(--kvn-gold-light); font: 400 .7rem Georgia,serif; }
.kvn-final-service h3 { margin: 0 0 22px; color: #fff; font: 400 1.3rem/1.1 Georgia,serif; }
.kvn-final-service p { margin: auto 0 0; color: #aeb7b8; font-size: .72rem; line-height: 1.65; }

.kvn-final-process { position: relative; background: #f5f1ea; }
.kvn-final-process-layout { display: grid; grid-template-columns: .52fr 1.48fr; gap: clamp(40px,5vw,75px); align-items: center; }
.kvn-final-process-heading h2 { font-size: clamp(2.5rem,3.7vw,4rem); }
.kvn-final-steps { position: relative; display: grid; grid-template-columns: repeat(5,1fr); margin: 0; padding: 0; list-style: none; }
.kvn-final-steps::before { content: ""; position: absolute; top: 28px; right: 9%; left: 9%; border-top: 1px dashed #c9bda9; }
.kvn-final-steps li { position: relative; padding: 0 12px; text-align: center; }
.kvn-final-steps span { position: relative; z-index: 1; width: 56px; height: 56px; display: grid; place-items: center; margin: 0 auto 25px; border-radius: 50%; color: #fff; background: var(--kvn-gold); box-shadow: 0 0 0 6px #f5f1ea; font: 400 .78rem Georgia,serif; }
.kvn-final-steps h3 { margin: 0 0 10px; font: 400 1rem Georgia,serif; }
.kvn-final-steps p { margin: 0; color: #687174; font-size: .67rem; line-height: 1.55; }

.kvn-final-about { padding: clamp(80px,8vw,120px) 0; color: #fff; background: #090d0e; }
.kvn-final-about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px,8vw,110px); align-items: center; }
.kvn-final-about-copy h2 em { color: var(--kvn-gold-light); }
.kvn-final-about-copy > p:not(.kvn-final-kicker) { max-width: 580px; margin: 28px 0; color: #b8c0c1; line-height: 1.75; }
.kvn-final-about-copy ul { margin: 0 0 28px; padding: 0; list-style: none; }
.kvn-final-about-copy li { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.1); color: #d3d9da; font-size: .82rem; }
.kvn-final-about-copy li::before { content: "✓"; margin-right: 13px; color: var(--kvn-gold-light); }
.kvn-final-about-image { position: relative; margin: 0; }
.kvn-final-about-image img { width: 100%; height: 470px; object-fit: cover; }
.kvn-final-about-image figcaption { position: absolute; right: 18px; bottom: 18px; padding: 11px 15px; color: #fff; background: rgba(9,13,14,.9); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }

.kvn-final-gallery { color: #fff; background: #0e1314; border-top: 1px solid rgba(224,196,147,.16); }
.kvn-final-centered { max-width: 820px; margin: 0 auto 52px; text-align: center; }
.kvn-final-centered p:last-child { color: #aeb7b8; }
.kvn-final-gallery-grid { display: grid; grid-template-columns: repeat(4,1fr); grid-auto-rows: 205px; gap: 8px; }
.kvn-final-gallery-grid a { position: relative; overflow: hidden; }
.kvn-final-gallery-grid a:nth-child(2),.kvn-final-gallery-grid a:nth-child(7) { grid-row: span 2; }
.kvn-final-gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: .65s ease; }
.kvn-final-gallery-grid a:hover img { transform: scale(1.05); opacity: .78; }

.kvn-final-journal { color: #fff; background: #090d0e; border-top: 1px solid rgba(224,196,147,.18); }
.kvn-final-journal-layout { display: grid; grid-template-columns: .38fr 1.62fr; gap: clamp(42px,6vw,78px); align-items: center; }
.kvn-final-journal .kvn-final-side-heading h2 em { color: var(--kvn-gold-light); }
.kvn-final-journal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.kvn-final-article { position: relative; min-height: 390px; overflow: hidden; color: #fff; background: #111; }
.kvn-final-article img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s ease; }
.kvn-final-article::after { content: ""; position: absolute; inset: 22% 0 0; background: linear-gradient(transparent,rgba(5,8,9,.96)); }
.kvn-final-article:hover img { transform: scale(1.045); }
.kvn-final-article > span { position: absolute; z-index: 2; right: 22px; bottom: 22px; left: 22px; }
.kvn-final-article small { display: block; margin-bottom: 9px; color: var(--kvn-gold-light); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.kvn-final-article strong { display: block; min-height: 62px; font: 400 1.18rem/1.28 Georgia,serif; }
.kvn-final-article i { display: block; margin-top: 18px; color: #d9b979; font-size: .6rem; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 1100px) {
  .kvn-final-proof-grid { grid-template-columns: 1fr 1fr; }
  .kvn-final-proof-grid > div:nth-child(2) { border-right: 0; }
  .kvn-final-proof-grid > div:nth-child(-n+2) { border-bottom: 1px solid rgba(224,196,147,.2); }
  .kvn-final-featured-grid,.kvn-final-services-layout,.kvn-final-journal-layout { grid-template-columns: 1fr; }
  .kvn-final-side-heading,.kvn-final-services-intro { max-width: 680px; }
  .kvn-final-service-grid { grid-template-columns: repeat(3,1fr); }
  .kvn-final-service:nth-child(n+4) { min-height: 300px; }
  .kvn-final-process-layout { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .kvn-final-hero { min-height: 820px; }
  .kvn-final-hero-inner { padding-top: 80px; }
  .kvn-final-hero-copy { margin-left: 18px; }
  .kvn-final-hero-copy h1 { font-size: clamp(3.35rem,14vw,5.4rem); }
  .kvn-final-rail { display: none; }
  .kvn-final-proof { margin-top: -40px; }
  .kvn-final-project-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 350px 230px 320px; }
  .kvn-final-project-main { grid-row: span 2; }.kvn-final-project-tall { grid-row: auto; grid-column: span 2; }
  .kvn-final-service-grid { grid-template-columns: 1fr 1fr; }
  .kvn-final-steps { grid-template-columns: 1fr; }
  .kvn-final-steps::before { top: 25px; bottom: 25px; left: 27px; right: auto; border-top: 0; border-left: 1px dashed #c9bda9; }
  .kvn-final-steps li { min-height: 100px; padding: 4px 0 24px 82px; text-align: left; }
  .kvn-final-steps span { position: absolute; top: 0; left: 0; margin: 0; }
  .kvn-final-about-grid { grid-template-columns: 1fr; }
  .kvn-final-gallery-grid { grid-template-columns: 1fr 1fr; }
  .kvn-final-journal-grid { grid-template-columns: 1fr; }
  .kvn-final-article { min-height: 360px; }
}

@media (max-width: 560px) {
  .kvn-final-hero { min-height: 790px; align-items: flex-end; }
  .kvn-final-hero-inner { padding: 130px 0 150px; }
  .kvn-final-hero-copy { margin-left: 0; }
  .kvn-final-hero-copy h1 { font-size: clamp(3rem,14.5vw,4.2rem); line-height: .96; }
  .kvn-final-actions { align-items: stretch; flex-direction: column; gap: 8px; }
  .kvn-final-button { width: 100%; }
  .kvn-final-text-link { text-align: center; }
  .kvn-final-proof { margin-top: -28px; }
  .kvn-final-proof-grid { grid-template-columns: 1fr; border-radius: 12px; }
  .kvn-final-proof-grid > div { min-height: 105px; padding: 20px 22px; border-right: 0; border-bottom: 1px solid rgba(224,196,147,.2); }
  .kvn-final-proof-grid > div:last-child { border-bottom: 0; }
  .kvn-final-proof-grid strong { white-space: normal; }
  .kvn-final-project-grid { grid-template-columns: 1fr; grid-template-rows: repeat(5,300px); }
  .kvn-final-project-main,.kvn-final-project-tall { grid-row: auto; grid-column: auto; }
  .kvn-final-service-grid { grid-template-columns: 1fr; }
  .kvn-final-service { min-height: 260px; }
  .kvn-final-service > span { margin-bottom: 28px; }
  .kvn-final-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 260px; }
  .kvn-final-gallery-grid a:nth-child(2),.kvn-final-gallery-grid a:nth-child(7) { grid-row: auto; }
}

/* Compact infographic service cards */
.kvn-final-service-grid {
  gap: 12px;
  border: 0;
  background: transparent;
}

.kvn-final-service {
  position: relative;
  min-height: 282px;
  align-items: flex-start;
  overflow: hidden;
  padding: 26px 22px 24px;
  border: 1px solid rgba(224,196,147,.22);
  border-radius: 18px;
  text-align: left;
  background:
    radial-gradient(circle at 100% 0, rgba(208,166,103,.12), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 16px 34px rgba(0,0,0,.1);
  isolation: isolate;
}

.kvn-final-service::before {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(224,196,147,.5);
  border-radius: 16px;
  color: #e0c493;
  background: rgba(7,11,12,.5);
  font: 400 1.45rem/1 Georgia,"Times New Roman",serif;
  transform: rotate(3deg);
  transition: transform .35s ease, color .35s ease, background .35s ease;
}

.kvn-final-service:nth-child(1)::before { content: "⌂"; }
.kvn-final-service:nth-child(2)::before { content: "✦"; }
.kvn-final-service:nth-child(3)::before { content: "◇"; }
.kvn-final-service:nth-child(4)::before { content: "▦"; }
.kvn-final-service:nth-child(5)::before { content: "✓"; }

.kvn-final-service::after {
  content: "";
  position: absolute;
  right: -38px;
  bottom: -52px;
  z-index: -1;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(224,196,147,.09);
  border-radius: 42px;
  transform: rotate(32deg);
  transition: transform .45s ease, border-color .35s ease;
}

.kvn-final-service:hover {
  border-color: rgba(224,196,147,.62);
  background:
    radial-gradient(circle at 100% 0, rgba(208,166,103,.19), transparent 38%),
    linear-gradient(145deg, rgba(140,0,9,.2), rgba(255,255,255,.025));
  box-shadow: 0 24px 46px rgba(0,0,0,.24);
}

.kvn-final-service:hover::before {
  color: #111516;
  background: #d0a667;
  transform: rotate(0) scale(1.05);
}

.kvn-final-service:hover::after { border-color: rgba(224,196,147,.22); transform: rotate(20deg) scale(1.08); }

.kvn-final-service > span {
  width: auto;
  height: auto;
  min-width: 0;
  display: inline-block;
  margin: 4px 0 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #d2ad70;
  background: transparent;
  font: 700 .61rem/1 "Segoe UI",Arial,sans-serif;
  letter-spacing: .18em;
}

.kvn-final-service h3 {
  position: relative;
  margin: 0 0 13px;
  padding-top: 17px;
  color: #fff;
  font-size: clamp(1.18rem,1.35vw,1.48rem);
}

.kvn-final-service h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 38px;
  height: 2px;
  background: linear-gradient(90deg,#8c0009 0 38%,#d0a667 38% 100%);
}

.kvn-final-service p {
  max-width: 190px;
  margin: auto 0 0;
  color: #c8cfd0;
  font-size: .72rem;
  line-height: 1.58;
}

@media (max-width: 1100px) {
  .kvn-final-service,
  .kvn-final-service:nth-child(n+4) { min-height: 270px; }
}

@media (max-width: 560px) {
  .kvn-final-service { min-height: 245px; padding: 24px; }
  .kvn-final-service > span { margin-bottom: 34px; }
  .kvn-final-service p { max-width: calc(100% - 20px); font-size: .78rem; }
}

/* Our Services — reference-matched ivory icon row */
.kvn-final-services {
  padding: clamp(72px, 7.5vw, 108px) 0 clamp(66px, 7vw, 96px);
  color: #202425;
  background:
    radial-gradient(circle at 50% 46%, rgba(196,154,91,.055), transparent 32%),
    #f5f1ea;
  border-top: 1px solid #ded6c9;
  border-bottom: 1px solid #ded6c9;
}

.kvn-final-services .kvn-final-services-intro {
  max-width: none;
  margin: 0 auto 42px;
  text-align: center;
}

.kvn-final-services .kvn-final-services-intro .kvn-final-kicker {
  margin: 0 0 7px;
  color: #ad8248;
  font-size: .61rem;
  letter-spacing: .24em;
}

.kvn-final-services .kvn-final-services-intro h2 {
  margin: 0;
  color: #1d2122;
  font: 400 clamp(2.45rem, 3.4vw, 3.75rem)/1 Georgia,"Times New Roman",serif;
  letter-spacing: -.045em;
}

.kvn-final-services .kvn-final-service-grid {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 0;
  border: 0;
}

.kvn-final-services .kvn-final-service {
  min-height: 292px;
  align-items: center;
  overflow: visible;
  padding: 0 clamp(16px,1.7vw,28px) 8px;
  border: 0;
  border-right: 1px solid #d8d0c4;
  border-radius: 0;
  color: #1d2122;
  background: transparent;
  box-shadow: none;
  text-align: center;
  transform: none;
}

.kvn-final-services .kvn-final-service:last-child { border-right: 0; }
.kvn-final-services .kvn-final-service::before,
.kvn-final-services .kvn-final-service::after { content: none; }

.kvn-final-services .kvn-final-service:hover {
  color: #1d2122;
  background: linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.18));
  border-color: #cfc5b6;
  border-radius: 6px;
  box-shadow: 0 18px 40px rgba(44,37,27,.08);
  transform: translateY(-5px);
}

.kvn-final-services .kvn-final-service > span.kvn-service-icon {
  position: relative;
  flex: 0 0 92px;
  width: 92px;
  height: 92px;
  display: block;
  margin: 0 auto 24px;
  padding: 0;
  border: 1px solid #cfc5b7;
  border-radius: 50%;
  color: #8d7757;
  background: rgba(255,255,255,.22);
  box-shadow: 0 0 0 7px rgba(196,154,91,.035);
  transition: border-color .3s ease, background .3s ease, transform .3s ease;
}

.kvn-final-services .kvn-final-service:hover > span.kvn-service-icon {
  border-color: #b28a50;
  background: rgba(255,255,255,.72);
  transform: translateY(-3px);
}

.kvn-service-icon i,
.kvn-service-icon i::before,
.kvn-service-icon i::after { position: absolute; display: block; content: ""; box-sizing: border-box; }

.kvn-icon-home i { left: 28px; top: 40px; width: 36px; height: 27px; border: 1.5px solid #8d7757; border-top: 0; }
.kvn-icon-home i::before { left: 1px; top: -17px; width: 31px; height: 31px; border-top: 1.5px solid #8d7757; border-left: 1.5px solid #8d7757; transform: rotate(45deg); }
.kvn-icon-home i::after { left: 15px; bottom: 0; width: 8px; height: 16px; border: 1.5px solid #8d7757; border-bottom: 0; background: #f5f1ea; }

.kvn-icon-residential i { left: 29px; top: 29px; width: 34px; height: 39px; border: 1.5px solid #8d7757; background: repeating-linear-gradient(90deg,transparent 0 8px,rgba(141,119,87,.55) 8px 9px); }
.kvn-icon-residential i::before { left: -8px; top: 8px; width: 8px; height: 31px; border: 1.5px solid #8d7757; border-right: 0; }
.kvn-icon-residential i::after { right: 5px; bottom: 0; width: 9px; height: 12px; border: 1.5px solid #8d7757; border-bottom: 0; background: #f5f1ea; }

.kvn-icon-commercial i { left: 27px; top: 34px; width: 12px; height: 34px; border: 1.5px solid #8d7757; box-shadow: 13px -9px 0 -1.5px #f5f1ea,13px -9px 0 0 #8d7757,26px -18px 0 -1.5px #f5f1ea,26px -18px 0 0 #8d7757; }
.kvn-icon-commercial i::before { left: 3px; top: 6px; width: 4px; height: 4px; background: #8d7757; box-shadow: 0 9px #8d7757,13px -3px #8d7757,13px 6px #8d7757,26px -12px #8d7757,26px -3px #8d7757; }
.kvn-icon-commercial i::after { left: -6px; top: 33px; width: 48px; border-top: 1.5px solid #8d7757; }

.kvn-icon-interior i { left: 26px; top: 39px; width: 40px; height: 25px; border: 1.5px solid #8d7757; border-radius: 6px 6px 2px 2px; }
.kvn-icon-interior i::before { left: 6px; top: -17px; width: 26px; height: 23px; border: 1.5px solid #8d7757; border-radius: 4px 4px 0 0; background: #f5f1ea; }
.kvn-icon-interior i::after { left: 3px; bottom: -8px; width: 2px; height: 8px; background: #8d7757; box-shadow: 30px 0 #8d7757; }

.kvn-icon-remodel i { left: 44px; top: 25px; width: 4px; height: 43px; border: 1.5px solid #8d7757; border-radius: 2px; transform: rotate(43deg); }
.kvn-icon-remodel i::before { left: -7px; top: -9px; width: 15px; height: 14px; border: 1.5px solid #8d7757; border-radius: 50% 50% 2px 2px; }
.kvn-icon-remodel i::after { left: -8px; bottom: -6px; width: 17px; height: 7px; border: 1.5px solid #8d7757; border-radius: 5px; }
.kvn-icon-remodel::after { content: ""; position: absolute; left: 44px; top: 25px; width: 4px; height: 43px; border: 1.5px solid #8d7757; border-radius: 2px; transform: rotate(-43deg); }

.kvn-icon-management i { left: 31px; top: 29px; width: 31px; height: 39px; border: 1.5px solid #8d7757; border-radius: 2px; }
.kvn-icon-management i::before { left: 7px; top: -6px; width: 15px; height: 8px; border: 1.5px solid #8d7757; border-radius: 4px 4px 0 0; background: #f5f1ea; }
.kvn-icon-management i::after { left: 9px; top: 10px; width: 11px; height: 7px; border-left: 1.5px solid #8d7757; border-bottom: 1.5px solid #8d7757; transform: rotate(-45deg); }

.kvn-final-services .kvn-final-service h3 {
  margin: 0 0 17px;
  padding: 0;
  color: #25292a;
  font: 400 clamp(1.02rem,1.25vw,1.28rem)/1.12 Georgia,"Times New Roman",serif;
}
.kvn-final-services .kvn-final-service h3::before { content: none; }
.kvn-final-services .kvn-final-service p {
  max-width: 185px;
  margin: 0 auto;
  color: #73797a;
  font-size: .69rem;
  line-height: 1.62;
}

@media (max-width: 1100px) {
  .kvn-final-services .kvn-final-service-grid { grid-template-columns: repeat(3,1fr); }
  .kvn-final-services .kvn-final-service { min-height: 285px; padding-top: 26px; border-bottom: 1px solid #d8d0c4; }
  .kvn-final-services .kvn-final-service:nth-child(3n) { border-right: 0; }
  .kvn-final-services .kvn-final-service:nth-last-child(-n+3) { border-bottom: 0; }
}

@media (max-width: 700px) {
  .kvn-final-services .kvn-final-service-grid { grid-template-columns: repeat(2,1fr); }
  .kvn-final-services .kvn-final-service:nth-child(3n) { border-right: 1px solid #d8d0c4; }
  .kvn-final-services .kvn-final-service:nth-child(even) { border-right: 0; }
  .kvn-final-services .kvn-final-service:nth-last-child(-n+3) { border-bottom: 1px solid #d8d0c4; }
  .kvn-final-services .kvn-final-service:nth-last-child(-n+2) { border-bottom: 0; }
}

@media (max-width: 460px) {
  .kvn-final-services .kvn-final-service-grid { grid-template-columns: 1fr; }
  .kvn-final-services .kvn-final-service,
  .kvn-final-services .kvn-final-service:nth-child(3n),
  .kvn-final-services .kvn-final-service:nth-child(even) { min-height: 260px; border-right: 0; border-bottom: 1px solid #d8d0c4; }
.kvn-final-services .kvn-final-service:last-child { border-bottom: 0; }
  .kvn-final-services .kvn-final-service p { max-width: 260px; font-size: .75rem; }
}

/* Wide motion tile fills the Real KVN Transformations masonry gap */
.kvn-final-gallery-film {
  position: relative;
  grid-column: span 2;
  min-height: 205px;
  overflow: hidden;
  background: #090d0e;
}

.kvn-final-gallery-film::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(6,9,10,.82),rgba(6,9,10,.3) 58%,rgba(6,9,10,.08));
  pointer-events: none;
}

.kvn-final-gallery-film video { width: 100%; height: 100%; object-fit: cover; cursor: pointer; }
.kvn-final-gallery-film > div { position: absolute; z-index: 2; top: 50%; left: 28px; transform: translateY(-50%); }
.kvn-final-gallery-film small { display: block; margin-bottom: 8px; color: #e0c493; font-size: .58rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.kvn-final-gallery-film strong { display: block; color: #fff; font: 400 clamp(1.35rem,2.1vw,2.15rem)/1.06 Georgia,"Times New Roman",serif; }
.kvn-final-gallery-film a { display: inline-flex; align-items: center; gap: 18px; margin-top: 18px; color: #e7d2aa; font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.kvn-final-gallery-film-secondary { min-height: 255px; border-top: 1px solid rgba(224,196,147,.16); }
.kvn-final-gallery-film-secondary::after { background: linear-gradient(90deg,rgba(6,9,10,.86),rgba(6,9,10,.34) 66%,rgba(6,9,10,.08)); }

@media (max-width: 820px) {
  .kvn-final-gallery-film { grid-column: span 2; min-height: 260px; }
}

@media (max-width: 560px) {
  .kvn-final-gallery-film { grid-column: auto; min-height: 280px; }
}

/* Compact three-column KVN footer */
.site-footer.kvn-compact-footer {
  position: relative;
  overflow: hidden;
  padding: 0;
  color: #eef1f1;
  background:
    linear-gradient(90deg,rgba(255,255,255,.018),transparent 35%),
    #151a1c;
  border-top: 1px solid rgba(224,196,147,.22);
}

.site-footer.kvn-compact-footer::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -85px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(224,196,147,.06);
  transform: rotate(30deg);
  pointer-events: none;
}

.kvn-footer-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr;
  align-items: center;
  padding-top: 54px;
  padding-bottom: 46px;
}

.kvn-footer-grid > * {
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  padding: 12px clamp(36px,4vw,68px);
  border-right: 1px solid rgba(224,196,147,.25);
}
.kvn-footer-grid > *:first-child { padding-left: 0; }
.kvn-footer-grid > *:last-child { padding-right: 0; border-right: 0; }

.kvn-footer-invite h2 {
  max-width: 390px;
  margin: 0 0 14px;
  color: #fff;
  font: 400 clamp(2.35rem,3.7vw,4.05rem)/.92 Georgia,"Times New Roman",serif;
  letter-spacing: -.055em;
}
.kvn-footer-invite h2 em { color: #d0a667; font-weight: 400; }
.kvn-footer-invite p { max-width: 340px; margin: 0 0 20px; color: #b9c1c2; font-size: .78rem; line-height: 1.55; }
.kvn-footer-invite > a {
  width: max-content;
  min-width: 152px;
  min-height: 43px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 9px 17px;
  border: 1px solid #c49a5b;
  border-radius: 24px;
  color: #141819;
  background: #c49a5b;
  font-size: .7rem;
  font-weight: 700;
  text-transform: none;
  transition: .3s ease;
}
.kvn-footer-invite > a:hover { color: #fff; background: #8c0009; border-color: #8c0009; transform: translateY(-2px); }

.kvn-footer-contact { gap: 19px; font-style: normal; }
.kvn-footer-contact a,.kvn-footer-contact > div { display: grid; grid-template-columns: 28px 1fr; gap: 15px; align-items: start; color: #eef1f1; }
.kvn-footer-contact span { color: #d0a667; font-size: 1.35rem; line-height: 1; }
.kvn-footer-contact strong { font-size: .79rem; font-weight: 500; line-height: 1.45; }
.kvn-footer-contact small { color: #aab3b4; font-size: .62rem; font-weight: 400; }

.kvn-footer-brand { align-items: flex-start; }
.kvn-footer-brand > a { display: block; width: min(100%,285px); }
.kvn-footer-brand img { width: 100%; height: 76px; object-fit: contain; object-position: left center; background: transparent; }
.kvn-footer-brand p { max-width: 320px; margin: 10px 0 18px; color: #aeb7b8; font-size: .72rem; line-height: 1.55; }
.kvn-footer-social { display: flex; gap: 10px; }
.kvn-footer-social span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(224,196,147,.32); border-radius: 50%; color: #d7b77e; font-size: .7rem; font-weight: 700; transition: .25s ease; }
.kvn-footer-social span:hover { color: #15191a; background: #d0a667; border-color: #d0a667; transform: translateY(-2px); }

.kvn-footer-bottom {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #7f898b;
  border-top: 1px solid rgba(255,255,255,.09);
  font-size: .61rem;
}
.kvn-footer-bottom nav { display: flex; gap: 26px; }

@media (max-width: 900px) {
  .kvn-footer-grid { grid-template-columns: 1fr 1fr; }
  .kvn-footer-invite { grid-column: 1 / -1; min-height: auto; padding: 0 0 38px; border-right: 0; border-bottom: 1px solid rgba(224,196,147,.2); }
  .kvn-footer-contact { padding-left: 0; }
  .kvn-footer-brand { padding-right: 0; border-right: 0; }
}

@media (max-width: 620px) {
  .kvn-footer-grid { grid-template-columns: 1fr; padding-top: 50px; padding-bottom: 20px; }
  .kvn-footer-grid > * { min-height: auto; padding: 34px 0; border-right: 0; border-bottom: 1px solid rgba(224,196,147,.18); }
  .kvn-footer-grid > *:first-child { padding-top: 0; }
  .kvn-footer-grid > *:last-child { border-bottom: 0; }
  .kvn-footer-brand img { width: min(100%,270px); }
  .kvn-footer-bottom { min-height: 78px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 8px; }
  .kvn-footer-bottom nav { gap: 18px; }
}

/* High-contrast service-area copy over photography */
.service-map .map-copy h2 {
  width: max-content;
  max-width: min(760px, calc(100vw - 68px));
  margin-bottom: 28px;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.1rem, 6vw, 5.7rem);
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: .98;
  text-shadow: 0 3px 22px rgba(0,0,0,.55);
}
.service-map .map-copy h2 span { display: block; white-space: nowrap; }
.service-map .map-copy {
  width: min(100%, 820px);
  max-width: 820px;
  padding: 82px 34px;
}
.service-map .map-copy > p:not(.eyebrow) { color: #e4e9e9; }
.service-map .map-copy .eyebrow { color: #e0c493; }
.service-map .map-cities span {
  color: #fff;
  background: rgba(8,12,13,.72);
  border-color: rgba(224,196,147,.35);
  backdrop-filter: blur(8px);
}

@media (max-width: 700px) {
  .service-map .map-copy { padding: 70px 20px; }
  .service-map .map-copy h2 {
    width: auto;
    max-width: 590px;
    font-size: clamp(3rem, 11vw, 4.5rem);
    line-height: .96;
  }
  .service-map .map-copy > p:not(.eyebrow) { max-width: 520px; }
}

@media (max-width: 430px) {
  .service-map .map-copy h2 { font-size: clamp(2.75rem, 13vw, 3.65rem); }
}

/* Our Process — connected medallion timeline */
.kvn-final-process {
  padding: clamp(78px,7vw,108px) 0 clamp(72px,7vw,100px);
  background:
    radial-gradient(circle at 50% 48%,rgba(196,154,91,.055),transparent 32%),
    #f8f5ef;
}

.kvn-final-process .kvn-final-process-layout {
  display: block;
}

.kvn-final-process .kvn-final-process-heading {
  max-width: 760px;
  margin: 0 auto 58px;
  text-align: center;
}

.kvn-final-process .kvn-final-process-heading .kvn-final-kicker {
  margin-bottom: 8px;
  color: #ad8248;
  letter-spacing: .24em;
}

.kvn-final-process .kvn-final-process-heading h2 {
  margin: 0 0 14px;
  color: #1d2122;
  font: 400 clamp(2.65rem,4vw,4.3rem)/1 Georgia,"Times New Roman",serif;
  letter-spacing: -.05em;
}

.kvn-final-process .kvn-final-process-heading > p:last-child {
  max-width: 590px;
  margin: 0 auto;
  color: #73797a;
  font-size: .84rem;
  line-height: 1.65;
}

.kvn-final-process .kvn-final-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 0;
  margin: 0;
  padding: 0;
}

.kvn-final-process .kvn-final-steps::before {
  content: "";
  position: absolute;
  top: 58px;
  right: 10%;
  left: 10%;
  border-top: 1px solid #d5b77f;
}

.kvn-final-process .kvn-final-steps li {
  position: relative;
  min-height: 238px;
  padding: 0 clamp(12px,2vw,26px);
  text-align: center;
}

.kvn-final-process .kvn-process-medallion {
  position: relative;
  z-index: 2;
  width: 116px;
  height: 116px;
  display: grid;
  place-items: center;
  margin: 0 auto 25px;
  border: 1px solid #d8be8c;
  border-radius: 50%;
  color: #9b7643;
  background: #fbf9f5;
  box-shadow: 0 8px 22px rgba(74,55,26,.08), inset 0 0 0 8px #fbf9f5, inset 0 0 0 9px #e4cfaa;
  transition: transform .35s ease, color .35s ease, border-color .35s ease;
}

.kvn-final-process .kvn-process-medallion::before {
  content: "";
  position: absolute;
  inset: 17px;
  border: 1px solid #d7bd8b;
  border-radius: 50%;
}

.kvn-final-process .kvn-process-medallion i {
  position: relative;
  z-index: 1;
  color: #8c0009;
  font: normal 400 1.7rem/1 Georgia,"Times New Roman",serif;
}

.kvn-final-process .kvn-process-medallion b {
  position: absolute;
  right: 2px;
  bottom: 8px;
  z-index: 2;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #b38b52;
  font: 700 .52rem/1 "Segoe UI",Arial,sans-serif;
  box-shadow: 0 0 0 4px #f8f5ef;
}

.kvn-final-process .kvn-final-steps li:hover .kvn-process-medallion {
  color: #8c0009;
  border-color: #b38b52;
  transform: translateY(-6px);
}

.kvn-final-process .kvn-final-steps h3 {
  margin: 0 0 10px;
  color: #171b1c;
  font: 600 1.05rem/1.15 Georgia,"Times New Roman",serif;
}

.kvn-final-process .kvn-final-steps p {
  max-width: 180px;
  margin: 0 auto;
  color: #6e7475;
  font-size: .69rem;
  line-height: 1.55;
}

.kvn-final-process-action { margin-top: 26px; text-align: center; }
.kvn-final-process-action .kvn-final-outline { margin-top: 0; }

@media (max-width: 820px) {
  .kvn-final-process .kvn-final-steps { grid-template-columns: 1fr; gap: 0; }
  .kvn-final-process .kvn-final-steps::before {
    top: 56px;
    bottom: 56px;
    left: 57px;
    right: auto;
    border-top: 0;
    border-left: 1px solid #d5b77f;
  }
  .kvn-final-process .kvn-final-steps li {
    min-height: 150px;
    display: grid;
    grid-template-columns: 116px 1fr;
    grid-template-rows: auto auto;
    column-gap: 28px;
    align-content: center;
    padding: 15px 0;
    text-align: left;
  }
  .kvn-final-process .kvn-process-medallion { grid-row: 1 / 3; margin: 0; }
  .kvn-final-process .kvn-final-steps h3 { align-self: end; margin-bottom: 7px; }
  .kvn-final-process .kvn-final-steps p { align-self: start; max-width: 430px; margin: 0; }
}

@media (max-width: 480px) {
  .kvn-final-process .kvn-final-process-heading { margin-bottom: 42px; }
  .kvn-final-process .kvn-final-steps::before { left: 46px; }
  .kvn-final-process .kvn-final-steps li { min-height: 132px; grid-template-columns: 94px 1fr; column-gap: 20px; }
  .kvn-final-process .kvn-process-medallion { width: 94px; height: 94px; box-shadow: 0 8px 22px rgba(74,55,26,.08),inset 0 0 0 6px #fbf9f5,inset 0 0 0 7px #e4cfaa; }
  .kvn-final-process .kvn-process-medallion::before { inset: 14px; }
  .kvn-final-process .kvn-process-medallion b { right: 0; bottom: 4px; }
}

/* Interactive circular KVN concierge launcher */
.chat-launcher.concierge-launcher {
  position: fixed;
  z-index: 1202;
  right: 26px;
  bottom: 24px;
  width: 112px;
  height: 112px;
  padding: 0;
  overflow: visible;
  border: 1px solid rgba(140,0,9,.34);
  border-radius: 50%;
  color: #1a1e1f;
  background: #fbfaf7;
  box-shadow: 0 18px 46px rgba(4,8,9,.26), inset 0 0 0 5px rgba(255,255,255,.88);
  font-size: inherit;
  transition: transform .3s ease, box-shadow .3s ease;
}

.chat-launcher.concierge-launcher::before { content: none; }
.chat-launcher.concierge-launcher:hover { transform: translateY(-4px); box-shadow: 0 24px 54px rgba(4,8,9,.32),inset 0 0 0 5px #fff; }
.chat-launcher.concierge-launcher:focus-visible { outline: 3px solid #d0a667; outline-offset: 4px; }

.concierge-ring-text {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  animation: conciergeRingSpin 22s linear infinite;
}

.concierge-ring-text i {
  position: absolute;
  top: 5px;
  left: calc(50% - 4px);
  width: 8px;
  height: 51px;
  color: #414849;
  font: normal 800 5.8px/1 "Segoe UI",Arial,sans-serif;
  letter-spacing: 0;
  text-align: center;
  transform: rotate(calc(360deg / var(--total) * var(--char)));
  transform-origin: 4px 51px;
}

@keyframes conciergeRingSpin { to { transform: rotate(360deg); } }

.concierge-core {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 57px;
  height: 57px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #101516;
  transform: translate(-50%,-50%);
  transition: background .3s ease, transform .3s ease;
}
.menu-active .concierge-core,.chat-active .concierge-core,.email-active .concierge-core { background: #8c0009; transform: translate(-50%,-50%) scale(1.06); }

.concierge-core i {
  position: relative;
  width: 25px;
  height: 19px;
  display: block;
  border-radius: 7px;
  background: #fff;
}
.concierge-core i::before { content: ""; position: absolute; right: 4px; bottom: -5px; border-width: 5px 0 0 6px; border-style: solid; border-color: transparent transparent transparent #fff; transform: rotate(12deg); }
.concierge-core i::after { content: "•••"; position: absolute; inset: 0; color: #15191a; font: 800 9px/14px Arial,sans-serif; letter-spacing: 1px; text-align: center; }

.concierge-actions {
  position: fixed;
  z-index: 1201;
  right: 56px;
  bottom: 148px;
  display: flex;
  flex-direction: column;
  gap: 11px;
  pointer-events: none;
}

.concierge-action {
  position: relative;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  color: #fff;
  background: #111617;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
  opacity: 0;
  transform: translateY(28px) scale(.75);
  transition: opacity .28s ease, transform .38s cubic-bezier(.22,.8,.24,1), background .25s ease;
}
.concierge-actions.open { pointer-events: auto; }
.concierge-actions.open .concierge-action { opacity: 1; transform: none; }
.concierge-actions.open .concierge-action:nth-child(1) { transition-delay: .12s; }
.concierge-actions.open .concierge-action:nth-child(2) { transition-delay: .07s; }
.concierge-actions.open .concierge-action:nth-child(3) { transition-delay: .02s; }
.concierge-action:hover,.concierge-action:focus-visible { background: #8c0009; transform: translateX(-3px) !important; }
.concierge-action:focus-visible { outline: 2px solid #d0a667; outline-offset: 3px; }
.concierge-action small {
  position: absolute;
  top: 50%;
  right: 62px;
  width: max-content;
  padding: 6px 9px;
  border-radius: 3px;
  color: #fff;
  background: rgba(10,14,15,.94);
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transform: translate(6px,-50%);
  transition: .2s ease;
}
.concierge-action:hover small,.concierge-action:focus-visible small { opacity: 1; transform: translate(0,-50%); }

.concierge-action > span { position: relative; width: 22px; height: 22px; display: block; }
.concierge-action-email > span { width: 23px; height: 16px; border: 1.5px solid #fff; border-radius: 2px; }
.concierge-action-email > span::before,.concierge-action-email > span::after { content: ""; position: absolute; top: 2px; width: 13px; border-top: 1.5px solid #fff; }
.concierge-action-email > span::before { left: 0; transform: rotate(33deg); }.concierge-action-email > span::after { right: 0; transform: rotate(-33deg); }
.concierge-action-chat > span { border: 1.5px solid #fff; border-radius: 50%; }
.concierge-action-chat > span::after { content: ""; position: absolute; left: -1px; bottom: -3px; width: 7px; height: 7px; border-left: 1.5px solid #fff; transform: rotate(35deg); }
.concierge-action-calendar > span { width: 22px; height: 20px; border: 1.5px solid #fff; border-radius: 3px; }
.concierge-action-calendar > span::before { content: ""; position: absolute; top: 4px; right: 0; left: 0; border-top: 1.5px solid #fff; }
.concierge-action-calendar > span::after { content: "+"; position: absolute; right: 0; bottom: -1px; left: 0; color: #fff; font: 400 15px/14px Arial,sans-serif; text-align: center; }

.chat-widget {
  right: 28px;
  bottom: 146px;
  border-radius: 14px;
  transform-origin: bottom right;
}

.concierge-email-panel {
  position: fixed;
  z-index: 1200;
  right: 28px;
  bottom: 146px;
  width: min(390px,calc(100vw - 28px));
  overflow: hidden;
  border: 1px solid rgba(224,196,147,.35);
  border-radius: 14px;
  color: #1c2122;
  background: #fbfaf7;
  box-shadow: 0 26px 80px rgba(4,9,10,.3);
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px) scale(.97);
  transform-origin: bottom right;
  transition: opacity .25s ease, transform .3s ease;
}
.concierge-email-panel.open { opacity: 1; pointer-events: auto; transform: none; }
.concierge-email-panel header { min-height: 72px; display: flex; align-items: center; gap: 18px; padding: 14px 18px; color: #fff; background: linear-gradient(105deg,#111718,#202728); }
.concierge-email-panel header div { display: flex; flex-direction: column; }
.concierge-email-panel header small { color: #d9b979; font-size: .55rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.concierge-email-panel header strong { font: 400 1.3rem/1.2 Georgia,"Times New Roman",serif; }
.concierge-email-panel header button { width: 38px; height: 38px; margin-left: auto; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); font-size: 1.25rem; }
.concierge-email-form { display: grid; gap: 15px; padding: 22px; }
.concierge-email-form label { display: grid; gap: 6px; }
.concierge-email-form label > span { color: #6e7475; font-size: .59rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.concierge-email-form input,.concierge-email-form textarea { width: 100%; padding: 10px 0; border: 0; border-bottom: 1px solid #cfc7bb; border-radius: 0; color: #1c2122; background: transparent; outline: none; resize: vertical; }
.concierge-email-form input:focus,.concierge-email-form textarea:focus { border-color: #8c0009; box-shadow: 0 1px #8c0009; }
.concierge-email-form button[type="submit"] { min-height: 46px; display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; border: 1px solid #b88d50; border-radius: 24px; color: #15191a; background: #d0a667; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.concierge-email-form button[type="submit"]:hover { color: #fff; background: #8c0009; border-color: #8c0009; }
.concierge-email-form > p { margin: -3px 0 0; color: #777e7f; font-size: .65rem; line-height: 1.45; }

@media (prefers-reduced-motion: reduce) {
  .concierge-ring-text { animation: none; }
}

@media (max-width: 560px) {
  .chat-launcher.concierge-launcher { right: 14px; bottom: 16px; width: 98px; height: 98px; }
  .concierge-ring-text i { top: 4px; height: 45px; transform-origin: 4px 45px; font-size: 5.2px; }
  .concierge-core { width: 51px; height: 51px; }
  .concierge-actions { right: 36px; bottom: 124px; }
  .concierge-action { width: 48px; height: 48px; }
  .chat-widget { right: 14px; bottom: 124px; }
  .concierge-email-panel { right: 14px; bottom: 124px; }
}

/* Homepage featured projects — architectural editorial carousel */
.home-featured-projects {
  position: relative;
  overflow: hidden;
  padding: clamp(88px,9vw,138px) 0 clamp(82px,8vw,122px);
  color: #171b1c;
  background:
    radial-gradient(circle at 50% 0,rgba(196,154,91,.09),transparent 35%),
    #f6f2eb;
}
.home-featured-projects::before {
  content: "";
  position: absolute;
  inset: 26px 3% auto;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(160,132,91,.22),transparent);
}
.home-featured-drawing { position: absolute; width: 245px; height: 245px; opacity: .2; pointer-events: none; }
.home-featured-drawing::before,.home-featured-drawing::after { content: ""; position: absolute; inset: 0; border: 1px solid #bba987; transform: rotate(18deg); }
.home-featured-drawing::after { inset: 30px -35px -30px 35px; transform: rotate(-12deg); border-radius: 50%; }
.home-featured-drawing-left { top: -92px; left: -85px; transform: rotate(18deg); }
.home-featured-drawing-right { right: -90px; bottom: -118px; transform: rotate(45deg); }
.home-featured-shell { position: relative; z-index: 1; }
.home-featured-heading { margin-bottom: clamp(34px,4vw,52px); text-align: center; }
.home-featured-heading .kvn-final-kicker { margin-bottom: 8px; font-size: .58rem; }
.home-featured-heading h2 { margin: 0; color: #171b1c; font: 400 clamp(2.35rem,4.4vw,4.4rem)/1.02 Georgia,"Times New Roman",serif; letter-spacing: -.035em; }
.home-featured-carousel { position: relative; }
.home-featured-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.home-featured-viewport::-webkit-scrollbar { display: none; }
.home-featured-track { display: flex; gap: clamp(14px,1.6vw,24px); }
.home-featured-card {
  flex: 0 0 calc((100% - clamp(28px,3.2vw,48px))/3);
  min-width: 0;
  overflow: hidden;
  scroll-snap-align: start;
  border: 1px solid rgba(112,94,68,.2);
  border-radius: 12px;
  color: inherit;
  background: rgba(255,255,255,.5);
  box-shadow: 0 16px 44px rgba(57,45,27,.07);
  transition: transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .3s ease;
}
.home-featured-card:hover { transform: translateY(-8px); border-color: rgba(153,114,58,.48); box-shadow: 0 24px 55px rgba(57,45,27,.14); }
.home-featured-card figure { height: clamp(210px,22vw,320px); margin: 0; overflow: hidden; background: #d9d3c9; }
.home-featured-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.home-featured-card:hover img { transform: scale(1.035); }
.home-featured-card-copy { min-height: 88px; display: grid; grid-template-columns: 31px 1fr 28px; gap: 12px; align-items: center; padding: 14px 16px; }
.home-featured-card-copy p { min-width: 0; margin: 0; }
.home-featured-card-copy strong { display: block; overflow: hidden; color: #222; font: 400 clamp(1rem,1.35vw,1.28rem)/1.2 Georgia,"Times New Roman",serif; white-space: nowrap; text-overflow: ellipsis; }
.home-featured-card-copy small { display: block; margin-top: 5px; overflow: hidden; color: #77746f; font-size: .63rem; letter-spacing: .015em; white-space: nowrap; text-overflow: ellipsis; }
.home-featured-building { position: relative; width: 27px; height: 31px; border: 1px solid #b8955f; border-radius: 2px; opacity: .85; }
.home-featured-building::before { content: ""; position: absolute; inset: 6px 5px 0; background: repeating-linear-gradient(90deg,#b8955f 0 1px,transparent 1px 5px),repeating-linear-gradient(0deg,#b8955f 0 1px,transparent 1px 6px); }
.home-featured-building i { position: absolute; top: -5px; left: 6px; width: 13px; height: 8px; border: solid #b8955f; border-width: 1px 1px 0; transform: skewY(-25deg); }
.home-featured-link { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(140,112,69,.35); border-radius: 50%; color: #9b7948; font-size: .8rem; transition: .25s ease; }
.home-featured-card:hover .home-featured-link { color: #fff; background: #8c0009; border-color: #8c0009; }
.home-featured-arrow { position: absolute; z-index: 3; top: 50%; width: 46px; height: 46px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(154,119,68,.3); border-radius: 50%; color: #5f4b2c; background: #e6d1aa; box-shadow: 0 10px 28px rgba(70,51,25,.12); transform: translateY(-50%); transition: .25s ease; }
.home-featured-arrow:hover:not(:disabled),.home-featured-arrow:focus-visible:not(:disabled) { color: #fff; background: #8c0009; border-color: #8c0009; }
.home-featured-arrow:disabled { opacity: .3; cursor: default; }
.home-featured-prev { left: -70px; }.home-featured-next { right: -70px; }
.home-featured-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(130,106,72,.2); }
.home-featured-footer > span { color: #9a805b; font-size: .58rem; font-weight: 800; letter-spacing: .16em; }
.home-featured-footer a { color: #2a2e2f; font-size: .65rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.home-featured-footer a span { margin-left: 10px; color: #a37e49; }

@media (max-width: 1180px) {
  .home-featured-arrow { top: auto; bottom: -4px; transform: none; }
  .home-featured-prev { left: calc(50% - 53px); }.home-featured-next { right: calc(50% - 53px); }
  .home-featured-footer { margin-top: 78px; }
}
@media (max-width: 980px) {
  .home-featured-card { flex-basis: calc((100% - clamp(14px,1.6vw,24px))/2); }
  .home-featured-card figure { height: 300px; }
}
@media (max-width: 720px) {
  .home-featured-projects { padding-top: 74px; }
  .home-featured-heading { text-align: left; }
  .home-featured-card { flex-basis: 88%; }
  .home-featured-card figure { height: min(72vw,320px); }
  .home-featured-card-copy { grid-template-columns: 28px 1fr 28px; padding-inline: 13px; }
  .home-featured-footer a { font-size: .58rem; }
}

/* Services process — compact editorial journey */
.service-process-journey {
  position: relative;
  overflow: hidden;
  padding: clamp(72px,7vw,104px) 0;
  background: #f7f3ec;
}
.service-process-journey::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(173,130,72,.28),transparent);
}
.service-process-journey .kvn-final-process-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(230px,.54fr) minmax(0,1.46fr);
  gap: clamp(48px,6vw,96px);
  align-items: center;
}
.service-process-journey .kvn-final-process-heading {
  max-width: none;
  margin: 0;
  text-align: left;
}
.service-process-journey .kvn-final-process-heading .kvn-final-kicker {
  margin-bottom: 13px;
  font-size: .56rem;
}
.service-process-journey .kvn-final-process-heading h2 {
  margin: 0 0 14px;
  font-size: clamp(2rem,3vw,3.25rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-transform: none;
}
.service-process-journey .kvn-final-process-heading > p:last-of-type {
  max-width: 330px;
  margin: 0;
  font-size: .74rem;
  line-height: 1.65;
}
.service-process-journey .kvn-final-process-heading .kvn-final-outline {
  min-width: 142px;
  min-height: 42px;
  margin-top: 24px;
  justify-content: space-between;
  padding: 10px 14px;
  font-size: .57rem;
}
.service-process-journey .kvn-final-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 0;
  margin: 0;
  padding: 0;
}
.service-process-journey .kvn-final-steps::before {
  top: 22px;
  right: 10%;
  left: 10%;
  border-top: 1px solid rgba(185,144,83,.48);
}
.service-process-journey .kvn-final-steps li {
  min-height: 178px;
  padding: 0 clamp(8px,1.3vw,18px);
}
.service-process-journey .kvn-process-medallion {
  width: 44px;
  height: 44px;
  margin: 0 auto 20px;
  border: 0;
  color: #fff;
  background: linear-gradient(145deg,#c9a268,#a87d43);
  box-shadow: 0 7px 18px rgba(116,80,31,.2),0 0 0 6px #f7f3ec;
}
.service-process-journey .kvn-process-medallion::before { display: none; }
.service-process-journey .kvn-process-medallion b {
  position: static;
  width: auto;
  height: auto;
  color: #fff;
  background: none;
  box-shadow: none;
  font-size: .58rem;
  letter-spacing: .05em;
}
.service-process-journey .kvn-final-steps li:hover .kvn-process-medallion {
  color: #fff;
  border-color: transparent;
  background: #8c0009;
  transform: translateY(-4px) scale(1.04);
}
.service-process-journey .kvn-final-steps h3 {
  margin-bottom: 9px;
  font-size: .92rem;
  font-weight: 500;
}
.service-process-journey .kvn-final-steps p {
  max-width: 150px;
  color: #64696a;
  font-size: .62rem;
  line-height: 1.55;
}
.service-process-blueprint {
  position: absolute;
  right: -60px;
  bottom: -105px;
  width: 330px;
  height: 300px;
  opacity: .12;
  transform: rotate(-8deg);
  background:
    linear-gradient(30deg,transparent 47%,#a78e68 48% 49%,transparent 50%),
    linear-gradient(150deg,transparent 47%,#a78e68 48% 49%,transparent 50%);
  background-size: 54px 54px;
  border: 1px solid #a78e68;
  pointer-events: none;
}
.service-process-blueprint::before,.service-process-blueprint::after {
  content: "";
  position: absolute;
  border: 1px solid #a78e68;
}
.service-process-blueprint::before { inset: 42px 28px 0 54px; transform: skewY(-18deg); }
.service-process-blueprint::after { inset: 92px 72px 0 12px; transform: skewY(14deg); }

@media (max-width: 980px) {
  .service-process-journey .kvn-final-process-layout { grid-template-columns: 1fr; gap: 50px; }
  .service-process-journey .kvn-final-process-heading { max-width: 620px; }
  .service-process-journey .kvn-final-process-heading > p:last-of-type { max-width: 500px; }
}
@media (max-width: 820px) {
  .service-process-journey .kvn-final-steps { grid-template-columns: 1fr; }
  .service-process-journey .kvn-final-steps::before { top: 22px; bottom: 22px; left: 22px; border-top: 0; border-left: 1px solid rgba(185,144,83,.48); }
  .service-process-journey .kvn-final-steps li { min-height: 112px; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 22px; padding: 8px 0; text-align: left; }
  .service-process-journey .kvn-process-medallion { grid-row: 1 / 3; margin: 0; }
  .service-process-journey .kvn-final-steps h3 { align-self: end; margin-bottom: 6px; }
  .service-process-journey .kvn-final-steps p { align-self: start; max-width: 430px; margin: 0; }
}

/* Services closing invitation — light transition into the dark footer */
.cta-band.service-page-cta {
  position: relative;
  overflow: hidden;
  padding: clamp(78px,8vw,118px) 0;
  border-top: 1px solid rgba(145,112,67,.2);
  color: #171b1c;
  background:
    radial-gradient(circle at 88% 20%,rgba(196,154,91,.13),transparent 24%),
    linear-gradient(115deg,#f7f3ec 0%,#eee7dc 100%);
}
.cta-band.service-page-cta::before {
  content: "";
  position: absolute;
  top: -90px;
  right: -70px;
  width: 310px;
  height: 310px;
  border: 1px solid rgba(168,137,92,.16);
  border-radius: 50%;
  box-shadow: 0 0 0 46px rgba(168,137,92,.045),0 0 0 92px rgba(168,137,92,.03);
  pointer-events: none;
}
.service-page-cta .cta-inner { position: relative; z-index: 1; }
.service-page-cta .cta-inner h2 {
  max-width: 820px;
  color: #171b1c;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(2.6rem,5vw,5rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.05em;
}
.service-page-cta .button {
  min-width: 230px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 22px;
  border-color: #8c0009;
  color: #fff;
  background: #8c0009;
  box-shadow: 0 12px 30px rgba(102,0,7,.16);
}
.service-page-cta .button:hover,.service-page-cta .button:focus-visible {
  border-color: #171b1c;
  background: #171b1c;
}
.service-page-cta .button span { color: #e0c493; font-size: 1rem; }

@media (max-width: 820px) {
  .service-page-cta .cta-inner { align-items: flex-start; }
  .service-page-cta .button { min-width: min(100%,260px); }
}

/* Shortened selected-transformations preview on the homepage */
.home-transformations-preview { padding: clamp(76px,8vw,112px) 0; background: #f3eee6; }
.home-transformations-preview .services-archive-heading { margin-bottom: clamp(38px,5vw,58px); }
.home-transformations-preview .services-archive-heading h2 { font-size: clamp(2.8rem,5vw,5rem); }
.home-transformations-preview .services-archive-card { width: 280px; height: 290px; flex-basis: 280px; }
.home-transformations-preview .services-archive-card-wide { width: 390px; flex-basis: 390px; }
.home-transformations-preview .services-archive-track { animation-duration: 46s; }

/* Homepage surface rhythm — dark arrival, warm editorial chapter, dark brand moment */
body[data-page="home"] .home-featured-projects {
  background:
    radial-gradient(circle at 50% 0,rgba(196,154,91,.075),transparent 34%),
    #f8f5ef;
}
body[data-page="home"] .kvn-final-services {
  border-top-color: rgba(151,124,85,.14);
  border-bottom-color: rgba(151,124,85,.14);
  background:
    radial-gradient(circle at 50% 46%,rgba(196,154,91,.045),transparent 32%),
    #f4efe7;
}
body[data-page="home"] .home-transformations-preview {
  border-top: 0;
  border-bottom: 0;
  background: #f8f5ef;
}
body[data-page="home"] .home-featured-projects,
body[data-page="home"] .kvn-final-services,
body[data-page="home"] .home-transformations-preview {
  position: relative;
}
body[data-page="home"] .kvn-final-services::before,
body[data-page="home"] .home-transformations-preview::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: max(36px,calc((100% - 1240px)/2));
  left: max(36px,calc((100% - 1240px)/2));
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(161,130,85,.27),transparent);
  pointer-events: none;
}
body[data-page="home"] .kvn-final-about {
  position: relative;
  border-top: 1px solid rgba(224,196,147,.2);
  border-bottom: 1px solid rgba(224,196,147,.16);
  background:
    radial-gradient(circle at 85% 25%,rgba(196,154,91,.08),transparent 28%),
    linear-gradient(120deg,#0b0f10,#151b1c);
}
body[data-page="home"] .kvn-final-journal {
  color: #171b1c;
  border-top: 0;
  background:
    radial-gradient(circle at 8% 22%,rgba(196,154,91,.08),transparent 24%),
    #eee8de;
}
body[data-page="home"] .kvn-final-journal .kvn-final-side-heading h2 { color: #171b1c; }
body[data-page="home"] .kvn-final-journal .kvn-final-side-heading h2 em { color: #8c0009; }
body[data-page="home"] .kvn-final-journal .kvn-final-outline-light {
  color: #171b1c;
  border-color: rgba(140,0,9,.45);
}
body[data-page="home"] .kvn-final-journal .kvn-final-outline-light:hover,
body[data-page="home"] .kvn-final-journal .kvn-final-outline-light:focus-visible {
  color: #fff;
  border-color: #8c0009;
  background: #8c0009;
}
body[data-page="home"] .kvn-final-journal-grid { gap: 14px; }
body[data-page="home"] .kvn-final-article {
  box-shadow: 0 18px 44px rgba(48,38,24,.11);
}
body[data-page="home"] .site-footer {
  border-top-color: #a98047;
  background: #080b0c;
}

/* Inner-page surface system — consistent luxury rhythm across the site */
body:not([data-page="home"]) main {
  background: #f7f3ec;
}
body:not([data-page="home"]) .section-ivory {
  background: #f7f3ec;
}
body:not([data-page="home"]) .site-footer {
  border-top-color: #a98047;
  background: #080b0c;
}

/* About — warm editorial opening, one continuous dark story, light values */
body[data-page="about"] .team-section { background: #f8f5ef; }
body[data-page="about"] main > .section-ivory { background: #eee8de; }
body[data-page="about"] .page-motion-about,
body[data-page="about"] .about-story-section {
  border: 0;
  background:
    radial-gradient(circle at 84% 18%,rgba(196,154,91,.08),transparent 25%),
    #0d1213;
}
body[data-page="about"] .about-story-section::before { background: linear-gradient(90deg,transparent,rgba(224,196,147,.22),transparent); }
body[data-page="about"] main > .section:not(.section-ivory):not(.section-dark):not(.team-section) { background: #f7f3ec; }

/* Services — one calm warm chapter after the cinematic hero */
body[data-page="services"] #capabilities { background: #f8f5ef; }
body[data-page="services"] .services-project-archive { border-color: rgba(154,124,82,.14); background: #f1ebe2; }
body[data-page="services"] .service-process-journey { background: #f8f5ef; }
body[data-page="services"] main > .section:not(.section-ivory) { background: #eee7dc; }

/* Projects — gallery-light opening followed by one deep portfolio chapter */
body[data-page="projects"] .kvn-final-featured { background: #f8f5ef; }
body[data-page="projects"] .portfolio-showcase { background: #eee8de; }
body[data-page="projects"] .complete-gallery,
body[data-page="projects"] .portfolio-origin-story {
  border-color: rgba(224,196,147,.16);
  background: #0d1213;
}

/* Journal — light reading library, dark cinematic interlude, light perspective */
body[data-page="insights"] #insight-library { background: #f8f5ef; }
body[data-page="insights"] .page-motion-insights {
  background:
    radial-gradient(circle at 80% 20%,rgba(140,0,9,.14),transparent 28%),
    #0d1213;
}
body[data-page="insights"] main > .section-dark {
  color: #171b1c;
  background: #eee7dc;
}
body[data-page="insights"] main > .section-dark .eyebrow { color: #8c0009; }
body[data-page="insights"] main > .section-dark .lead { color: #596062 !important; }

/* Contact — light conversation area, one continuous cinematic proof chapter */
body[data-page="contact"] main > .section-ivory { background: #f8f5ef; }
body[data-page="contact"] .contact-motion-banner,
body[data-page="contact"] .service-map { border: 0; }
body[data-page="contact"] .service-map::before { border-color: rgba(224,196,147,.28); }
body[data-page="contact"] .service-map::after { border-color: rgba(224,196,147,.18); }

/* Assistant and Search — quiet utility surfaces after their dark introductions */
body[data-page="assistant"] #property-assistant { background: #f8f5ef; }
body[data-page="search"] .search-results-section { background: #f7f3ec; }
body[data-page="search"] .search-result { background: rgba(255,255,255,.38); }

/* Light closing invitations create separation from the deep footer */
body:not([data-page="home"]):not([data-page="services"]) .cta-band {
  position: relative;
  overflow: hidden;
  padding: clamp(76px,8vw,112px) 0;
  border-top: 1px solid rgba(151,119,74,.2);
  color: #171b1c;
  background:
    radial-gradient(circle at 90% 12%,rgba(196,154,91,.14),transparent 23%),
    linear-gradient(115deg,#f5f1e9,#e8e0d4);
}
body:not([data-page="home"]):not([data-page="services"]) .cta-band::after {
  content: "";
  position: absolute;
  top: -100px;
  right: -80px;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(164,132,87,.15);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(164,132,87,.045),0 0 0 96px rgba(164,132,87,.025);
  pointer-events: none;
}
body:not([data-page="home"]):not([data-page="services"]) .cta-band .cta-inner { position: relative; z-index: 2; }
body:not([data-page="home"]):not([data-page="services"]) .cta-band h2 {
  color: #171b1c;
  font-family: Georgia,"Times New Roman",serif;
  font-weight: 400;
  letter-spacing: -.05em;
}
body:not([data-page="home"]):not([data-page="services"]) .cta-band .button {
  border-color: #8c0009;
  color: #fff;
  background: #8c0009;
  box-shadow: 0 12px 30px rgba(102,0,7,.15);
}
body:not([data-page="home"]):not([data-page="services"]) .cta-band .button:hover,
body:not([data-page="home"]):not([data-page="services"]) .cta-band .button:focus-visible {
  border-color: #171b1c;
  background: #171b1c;
}

/* Keep the concierge cluster clear of the back-to-top control */
.chat-launcher.concierge-launcher { bottom: 100px; }
.concierge-actions { bottom: 224px; }
.chat-widget,
.concierge-email-panel { bottom: 222px; }

@media (max-width: 560px) {
  .chat-launcher.concierge-launcher { bottom: 84px; }
  .concierge-actions { bottom: 192px; }
  .chat-widget,
  .concierge-email-panel { bottom: 190px; }
}

/* Primary navigation — taller, quieter, and more architectural */
@media (min-width: 821px) {
  .site-header,
  .site-header.solid,
  .site-header.scrolled,
  .lux-home .site-header,
  .lux-home .site-header:not(.scrolled),
  .reference-home .site-header:not(.scrolled) {
    height: 92px;
    color: #f6f3ed;
    border-bottom: 1px solid rgba(224,196,147,.16);
    background: rgba(8,13,14,.91);
    box-shadow: 0 12px 34px rgba(0,0,0,.11);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: height .35s ease,background .35s ease,box-shadow .35s ease;
  }
  .site-header.scrolled {
    height: 78px;
    background: rgba(8,13,14,.97);
    box-shadow: 0 14px 38px rgba(0,0,0,.18);
  }
  .site-header .header-inner { gap: clamp(30px,3vw,48px); }
  .site-header .brand-wordmark {
    min-width: 224px;
    display: flex;
    align-items: center;
    align-self: stretch;
  }
  .site-header .brand-wordmark .brand-logo-image,
  .site-header.solid .brand-wordmark .brand-logo-image,
  .site-header.scrolled .brand-wordmark .brand-logo-image {
    width: 218px !important;
    height: 64px !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: width .35s ease,height .35s ease;
  }
  .site-header.scrolled .brand-wordmark .brand-logo-image { width: 198px !important; height: 56px !important; }
  .site-header .main-nav {
    gap: clamp(22px,2.3vw,36px);
    margin-left: auto;
  }
  .site-header .main-nav a {
    padding: 12px 0;
    color: #ece9e3 !important;
    font-family: "Segoe UI",Arial,sans-serif;
    font-size: .69rem;
    font-weight: 600;
    letter-spacing: .105em;
    line-height: 1;
    text-transform: uppercase;
  }
  .site-header .main-nav a:hover,
  .site-header .main-nav a.active { color: #e0c493 !important; }
  .site-header .main-nav a::after {
    right: 18%;
    bottom: 3px;
    left: 18%;
    height: 1px;
    background: #c49a5b !important;
  }
  .site-header .header-call,
  .site-header.solid .header-call,
  .site-header.scrolled .header-call {
    min-width: 205px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 6px 7px 6px 18px;
    border: 1px solid #caa468 !important;
    border-radius: 5px;
    color: #171b1c !important;
    background: #d2ae73 !important;
    box-shadow: 0 9px 25px rgba(0,0,0,.13);
    font-family: "Segoe UI",Arial,sans-serif;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .095em;
    line-height: 1.15;
    text-transform: uppercase;
    transition: color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease;
  }
  .site-header .header-call span {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #8c0009;
    font-size: .82rem;
    transition: transform .28s ease,background .25s ease;
  }
  .site-header .header-call:hover,
  .site-header .header-call:focus-visible {
    color: #fff !important;
    border-color: #8c0009 !important;
    background: #8c0009 !important;
    transform: translateY(-2px);
  }
  .site-header .header-call:hover span,
  .site-header .header-call:focus-visible span {
    color: #171b1c;
    background: #e0c493;
    transform: translate(2px,-2px);
  }
}

@media (min-width: 821px) and (max-width: 1100px) {
  .site-header .header-inner { gap: 18px; }
  .site-header .brand-wordmark { min-width: 174px; }
  .site-header .brand-wordmark .brand-logo-image,
  .site-header.solid .brand-wordmark .brand-logo-image,
  .site-header.scrolled .brand-wordmark .brand-logo-image { width: 174px !important; height: 54px !important; }
  .site-header .main-nav { gap: 13px; }
  .site-header .main-nav a { font-size: .57rem; letter-spacing: .07em; }
  .site-header .header-call,
  .site-header.solid .header-call,
  .site-header.scrolled .header-call { min-width: 174px; padding-left: 13px; font-size: .55rem; gap: 10px; }
}

/* Luxury restraint pass — disciplined palette, hierarchy, and motion */
:root {
  --ink: #101516;
  --ink-soft: #2b3233;
  --ivory: #f7f3ec;
  --paper: #f7f3ec;
  --stone: #ede6db;
  --muted: #666d6e;
  --red: #8c0009;
  --red-dark: #700007;
  --brass: #c9a367;
  --gold: #c9a367;
  --gold-light: #e0c493;
}
.reveal {
  transform: translateY(14px);
  transition-duration: .55s;
}
.services-archive-track { animation-duration: 64s; }
.home-transformations-preview .services-archive-track { animation-duration: 58s; }
.concierge-ring-text { animation-duration: 32s; }
.home-featured-drawing { opacity: .12; }
.home-featured-card:hover { transform: translateY(-4px); }
.home-featured-card:hover img,
.services-archive-card:hover img,
.services-archive-card:hover video,
.kvn-final-article:hover img,
.house-photo:hover img { transform: scale(1.02); }
.kvn-final-service:hover,
.service-process-journey .kvn-final-steps li:hover .kvn-process-medallion { transform: translateY(-3px); }
.eyebrow,
.kvn-final-kicker,
.ref-kicker,
.lux-kicker { letter-spacing: .16em; }
.button,
.kvn-final-button { background: #8c0009; border-color: #8c0009; }
.button:hover,
.kvn-final-button:hover { background: #700007; border-color: #700007; }
@media (min-width: 821px) {
  .site-header .header-call,
  .site-header.solid .header-call,
  .site-header.scrolled .header-call {
    color: #fff !important;
    border-color: #8c0009 !important;
    background: #8c0009 !important;
  }
  .site-header .header-call span { color: #171b1c; background: #e0c493; }
  .site-header .header-call:hover,
.site-header .header-call:focus-visible {
    border-color: #700007 !important;
    background: #700007 !important;
  }
}

/* Align floating controls on one vertical centerline */
.back-to-top { right: 53px; }

@media (max-width: 560px) {
  .back-to-top { right: 36px; }
}

/* Restored homepage motion — cinematic hero and curated project films */
.kvn-restored-video-hero .hero-slide-content { padding-bottom: 176px; }
.kvn-restored-video-hero + .kvn-final-proof { margin-top: 0; padding-top: 0; background: #0d1213; }
.kvn-final-home > .kvn-restored-video-hero + .kvn-final-proof {
  z-index: 2;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  background: #0d1213 !important;
}
.kvn-restored-video-hero + .kvn-final-proof .kvn-final-proof-grid {
  overflow: visible;
  border: 0;
  border-top: 1px solid rgba(224,196,147,.24);
  border-bottom: 1px solid rgba(224,196,147,.24);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.kvn-restored-video-hero + .kvn-final-proof .kvn-final-proof-grid > div {
  min-height: 126px;
  gap: 16px;
  padding: 24px clamp(18px,2.2vw,30px);
}
.kvn-restored-video-hero + .kvn-final-proof .kvn-final-proof-grid strong {
  font-size: clamp(1.12rem,1.5vw,1.48rem);
}
.kvn-restored-video-hero .hero-slide-copy { max-width: 820px; }
.kvn-restored-video-hero .kvn-video-primary {
  color: #fff;
  border-color: #8c0009;
  background: #8c0009;
}
.kvn-restored-video-hero .kvn-video-primary:hover,
.kvn-restored-video-hero .kvn-video-primary:focus-visible { border-color: #700007; background: #700007; }
.kvn-restored-video-hero .motion-slide::after {
  background: linear-gradient(90deg,rgba(6,9,10,.92) 0%,rgba(6,9,10,.7) 43%,rgba(6,9,10,.14) 80%),linear-gradient(0deg,rgba(6,9,10,.82),transparent 52%);
}
.home-cinematic-stories {
  padding: clamp(86px,9vw,132px) 0;
  color: #fff;
  background:
    radial-gradient(circle at 82% 14%,rgba(140,0,9,.15),transparent 25%),
    #0d1213;
}
.home-cinematic-heading {
  display: grid;
  grid-template-columns: 1.1fr .65fr;
  gap: clamp(40px,8vw,110px);
  align-items: end;
  margin-bottom: clamp(42px,5vw,66px);
}
.home-cinematic-heading h2 { margin: 0; color: #fff; font: 400 clamp(3rem,5vw,5.3rem)/.96 Georgia,"Times New Roman",serif; letter-spacing: -.055em; }
.home-cinematic-heading h2 em { color: #e0c493; font-weight: 400; }
.home-cinematic-heading > p { max-width: 440px; margin: 0 0 8px; color: #b9c1c2; font-size: .84rem; line-height: 1.72; }
.home-cinematic-grid { display: grid; grid-template-columns: 1.3fr .7fr; grid-template-rows: repeat(2,minmax(235px,1fr)); gap: 12px; }
.home-cinematic-film { position: relative; min-height: 250px; overflow: hidden; background: #090c0d; }
.home-cinematic-film-featured { grid-row: 1 / 3; min-height: 510px; }
.home-cinematic-film::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent,rgba(5,8,9,.9)); pointer-events: none; }
.home-cinematic-film video { width: 100%; height: 100%; object-fit: cover; cursor: pointer; transition: filter .35s ease,transform .7s ease; }
.home-cinematic-film:hover video { filter: saturate(1.06); transform: scale(1.015); }
.home-cinematic-film > div { position: absolute; z-index: 2; right: 24px; bottom: 22px; left: 24px; display: grid; gap: 5px; pointer-events: none; }
.home-cinematic-film small { color: #e0c493; font-size: .57rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.home-cinematic-film strong { color: #fff; font: 400 clamp(1.25rem,2vw,2rem)/1.1 Georgia,"Times New Roman",serif; }
.home-cinematic-film span { margin-top: 5px; color: #aeb6b7; font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
.home-cinematic-action { margin-top: 28px; text-align: right; }
.home-cinematic-action a { display: inline-flex; gap: 24px; align-items: center; padding-bottom: 9px; border-bottom: 1px solid rgba(224,196,147,.4); color: #f2eee8; font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-cinematic-action a span { color: #e0c493; }

@media (max-width: 820px) {
  .kvn-restored-video-hero .hero-slide-content { padding: 130px 0 150px; }
  .home-cinematic-heading { grid-template-columns: 1fr; gap: 22px; }
  .home-cinematic-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .home-cinematic-film,.home-cinematic-film-featured { grid-row: auto; min-height: min(72vw,430px); }
}

/* Featured projects — cleaner captions and refined architectural icons */
.home-featured-card {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.home-featured-card:hover {
  border-color: transparent;
  box-shadow: none;
}
.home-featured-card figure {
  overflow: hidden;
  border-radius: 10px;
  box-shadow: none;
}
.home-featured-card-copy {
  min-height: 78px;
  grid-template-columns: 40px 1fr 30px;
  gap: 12px;
  padding: 16px 4px 0;
  background: transparent;
}
.home-featured-building {
  position: relative;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(184,149,95,.48);
  border-radius: 50%;
  background: rgba(201,163,103,.07);
  opacity: 1;
}
.home-featured-building::before { content: none; }
.home-featured-building i,
.home-featured-building i::before,
.home-featured-building i::after {
  content: "";
  position: absolute;
  bottom: 8px;
  display: block;
  border: 1px solid #ad8248;
  background: repeating-linear-gradient(0deg,transparent 0 4px,rgba(173,130,72,.5) 4px 5px);
  transform: none;
}
.home-featured-building i { left: 9px; width: 6px; height: 16px; }
.home-featured-building i::before { left: 7px; bottom: -1px; width: 6px; height: 22px; }
.home-featured-building i::after { left: 14px; bottom: -1px; width: 6px; height: 13px; }
.home-featured-footer {
  padding-top: 0;
  border-top: 0;
}

@media (max-width: 720px) {
  .home-featured-card-copy { grid-template-columns: 38px 1fr 28px; padding-inline: 2px; }
}

/* Site-wide performance and responsive hardening */
img,video { max-width: 100%; }
img { height: auto; }
video { display: block; }
h1,h2,h3,.cta-inner h2 { overflow-wrap: break-word; }

@supports (content-visibility: auto) {
  main > section:nth-child(n+3) {
    content-visibility: auto;
    contain-intrinsic-size: auto 760px;
  }
}

@media (max-width: 1100px) {
  .container { width: min(calc(100% - 48px),var(--max)); }
  .footer-lux-grid > div { padding-inline: 28px; }
}

@media (max-width: 820px) {
  .container,.narrow { width: min(calc(100% - 32px),var(--max)); }
  .section,.kvn-final-section { padding-block: clamp(68px,12vw,96px); }
  .lux-hero h1,.kvn-restored-video-hero h1 { font-size: clamp(2.85rem,11.5vw,5rem); line-height: .96; }
  .lux-intro { max-width: 36rem; font-size: .96rem; line-height: 1.65; }
  .lux-actions,.kvn-final-actions { gap: 10px; }
  .lux-button,.kvn-final-button,.kvn-final-outline { min-height: 48px; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 42px; }
  .section-heading .eyebrow { grid-column: auto; margin-bottom: 0; }
  .services-archive-heading { align-items: flex-start; flex-direction: column; gap: 22px; }
  .services-archive-heading > a { display: none; }
  .services-archive-mobile-link { display: block; }
  .home-cinematic-heading h2 { font-size: clamp(2.7rem,10vw,4.2rem); }
  .owner-card { grid-template-rows: min(128vw,560px) auto; }
  .owner-photo { height: min(128vw,560px); }
  .contact-layout,.assistant-layout { grid-template-columns: 1fr; }
  .cta-inner { align-items: flex-start; }
}

@media (max-width: 560px) {
  .container,.narrow { width: min(calc(100% - 28px),var(--max)); }
  .site-header,.site-header.solid,.site-header.scrolled { height: 72px; }
  .brand-wordmark .brand-logo-image { width: 154px !important; height: 46px !important; }
  .kvn-restored-video-hero .hero-slide-content { padding: 112px 0 132px; }
  .kvn-restored-video-hero .lux-slider-inner { min-height: 62px; gap: 14px; }
  .kvn-restored-video-hero .lux-slider-inner > div:last-child button:not(.sr-only) { width: 42px; height: 42px; }
  .lux-actions,.kvn-final-actions { align-items: stretch; flex-direction: column; width: min(100%,310px); }
  .lux-actions .lux-button,.kvn-final-actions > a { width: 100%; justify-content: space-between; }
  .home-featured-projects,.home-transformations-preview,.home-cinematic-stories { padding-block: 68px; }
  .services-archive-card,.home-transformations-preview .services-archive-card { width: 78vw; height: 270px; flex-basis: 78vw; }
  .services-archive-card-wide,.home-transformations-preview .services-archive-card-wide { width: 86vw; flex-basis: 86vw; }
  .home-cinematic-film,.home-cinematic-film-featured { min-height: 72vw; }
  .home-cinematic-film > div { right: 16px; bottom: 16px; left: 16px; }
  .cta-inner h2 { font-size: clamp(2.25rem,11vw,3.5rem); }
  .cta-inner .button { width: 100%; max-width: 310px; }
}

/* Desktop hero bridge — floating credentials panel with unobstructed slider controls */
@media (min-width: 821px) {
  .kvn-restored-video-hero .lux-slider-nav { display: none; }
  .kvn-restored-video-hero .hero-slide-content { padding-bottom: 176px; }
  .kvn-final-home > .kvn-restored-video-hero + .kvn-final-proof {
    z-index: 6;
    margin-top: -72px !important;
    padding: 0 !important;
    background: transparent !important;
  }
  .kvn-restored-video-hero + .kvn-final-proof .kvn-final-proof-grid {
    overflow: hidden;
    border: 1px solid rgba(224,196,147,.32);
    border-radius: 22px;
    background: linear-gradient(105deg,rgba(12,17,18,.985),rgba(26,30,31,.98),rgba(10,14,15,.985));
    box-shadow: 0 24px 58px rgba(3,6,7,.24);
  }
  .kvn-restored-video-hero + .kvn-final-proof .kvn-final-proof-grid > div { min-height: 140px; }
}

@media (max-width: 820px) {
  .kvn-restored-video-hero .lux-slider-nav { display: none; }
}

body[data-page="home"] .home-featured-projects::before { display: none; }
