:root {
  --ink: #080b0e;
  --ink-soft: #101419;
  --panel: #151a20;
  --paper: #f2f1ed;
  --white: #fbfbfa;
  --muted: #a7adb4;
  --muted-dark: #626a73;
  --copper: #c48c57;
  --copper-light: #d8ad83;
  --blue: #5b8ec8;
  --line: rgba(255,255,255,.14);
  --line-dark: rgba(8,11,14,.14);
  --shell: min(88rem, calc(100vw - 3rem));
  --ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Helvetica Neue", "Segoe UI", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  -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 { color: inherit; }
.page-shell { width: var(--shell); margin-inline: auto; }
.section-pad { padding-block: clamp(6rem, 11vw, 11rem); }
.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; }
.skip-link { position: fixed; z-index: 1000; top: 1rem; left: 1rem; transform: translateY(-180%); padding: .75rem 1rem; background: var(--white); color: var(--ink); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 6.25rem;
  padding: .8rem max(1.5rem, calc((100vw - 88rem) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--white);
  border-bottom: 1px solid transparent;
  transition: min-height .4s var(--ease), background .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s var(--ease);
}
.site-header.scrolled { min-height: 4.85rem; background: rgba(8,11,14,.88); border-color: var(--line); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; width: 15rem; height: 4.25rem; flex: 0 0 auto; }
.brand-logo { position: relative; width: 3rem; height: 4rem; flex: 0 0 auto; background: url('/assets/warrior-logo-transparent.png') -1.45rem -1.9rem / 15.5rem auto no-repeat; }
.brand-logo::after { content: "WARRIOR AV"; position: absolute; left: 3.65rem; top: 41%; width: 10rem; transform: translateY(-50%); color: #d4a678; font-family: Georgia, "Times New Roman", serif; font-size: 1.18rem; font-weight: 500; letter-spacing: .09em; white-space: nowrap; }
.brand-logo::before { content: "WHERE LUXURY MEETS TECHNOLOGY"; position: absolute; left: 3.68rem; top: 65%; width: 11rem; transform: translateY(-50%); color: rgba(255,255,255,.72); font-size: .45rem; font-weight: 650; letter-spacing: .085em; line-height: 1; white-space: nowrap; }
.link-wording {
  display: inline;
  color: inherit;
  background-image: linear-gradient(105deg,currentColor 0%,currentColor 42%,#fff7e8 48%,var(--copper-light) 51%,#fff 54%,currentColor 60%,currentColor 100%);
  background-repeat: no-repeat;
  background-position: 140% 50%;
  background-size: 240% 100%;
  -webkit-background-clip: text;
  background-clip: text;
}
a:hover .link-wording, a:focus-visible .link-wording {
  -webkit-text-fill-color: transparent;
  animation: link-glow-sweep 1.15s var(--ease) both;
}
.brand:hover .brand-logo::after, .brand:focus-visible .brand-logo::after,
.brand:hover .brand-logo::before, .brand:focus-visible .brand-logo::before {
  background-image: linear-gradient(105deg,#d4a678 0%,#d4a678 42%,#fff7e8 48%,var(--copper-light) 51%,#fff 54%,#d4a678 60%,#d4a678 100%);
  background-repeat: no-repeat;
  background-position: 140% 50%;
  background-size: 240% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: link-glow-sweep 1.15s var(--ease) both;
}
.site-nav { display: flex; align-items: center; gap: clamp(1.25rem, 2.4vw, 2.75rem); }
.site-nav > a:not(.nav-cta) { position: relative; color: rgba(255,255,255,.78); font-size: .77rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.site-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.5rem; height: 1px; background: var(--copper); transition: right .3s var(--ease); }
.site-nav > a:hover, .site-nav > a:focus-visible { color: var(--white); }
.site-nav > a:hover::after, .site-nav > a:focus-visible::after { right: 0; }
.nav-cta { display: inline-flex; align-items: center; gap: .9rem; padding: .9rem 1.15rem; border: 1px solid rgba(255,255,255,.36); font-size: .76rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; transition: background .25s, color .25s, border-color .25s; }
.nav-cta:hover, .nav-cta:focus-visible { background: var(--copper); border-color: var(--copper); color: var(--ink); }
.menu-toggle { display: none; width: 3rem; height: 3rem; padding: .75rem; background: none; border: 0; }
.menu-toggle span:not(.sr-only) { display: block; width: 100%; height: 1px; background: currentColor; margin: .45rem 0; transition: transform .25s, opacity .25s; }

.hero { position: relative; min-height: 100svh; display: grid; align-items: end; overflow: hidden; color: var(--white); background: var(--ink); }
.hero-media, .hero-scrim { position: absolute; inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: brightness(1.08) saturate(1.03); animation: hero-drift 18s ease-out both; }
.hero-scrim { background: linear-gradient(90deg, rgba(4,6,8,.72) 0%, rgba(4,6,8,.38) 40%, rgba(4,6,8,.06) 72%), linear-gradient(0deg, rgba(4,6,8,.48) 0%, transparent 44%); }
.signal-line { position: absolute; z-index: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(196,140,87,.75), transparent); opacity: .8; transform-origin: left; }
.signal-line::after { content: ""; position: absolute; right: 18%; top: -3px; width: 7px; height: 7px; border: 1px solid var(--copper-light); border-radius: 50%; box-shadow: 0 0 0 5px rgba(196,140,87,.08); }
.signal-line-one { width: 33vw; top: 31%; right: -7vw; transform: rotate(-30deg); }
.signal-line-two { width: 24vw; top: 55%; left: -9vw; transform: rotate(20deg); opacity: .45; }
.hero-content { position: relative; z-index: 2; padding-top: 9rem; padding-bottom: 11rem; }
.eyebrow, .section-kicker { margin: 0 0 1.6rem; color: var(--copper-light); font-size: .77rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.eyebrow-link { display: inline-flex; align-items: center; gap: .75rem; transition: color .25s var(--ease); }
.eyebrow-link:hover, .eyebrow-link:focus-visible { color: var(--white); }
.eyebrow-link > span:last-child { transition: transform .25s var(--ease); }
.eyebrow-link:hover > span:last-child, .eyebrow-link:focus-visible > span:last-child { transform: translate(3px,-3px); }
.hero h1 { margin: 0; max-width: 8ch; font-size: clamp(4.5rem, 10vw, 9.2rem); font-weight: 250; line-height: .81; letter-spacing: -.075em; }
.hero-copy { max-width: 39rem; margin: 2.35rem 0 0; color: rgba(255,255,255,.77); font-size: clamp(1.06rem, 1.4vw, 1.28rem); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 2rem; margin-top: 2.25rem; }
.button { display: inline-flex; min-height: 3.75rem; align-items: center; justify-content: space-between; gap: 2rem; padding: .85rem 1.25rem; border: 1px solid transparent; cursor: pointer; font-size: .78rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; transition: transform .25s var(--ease), background .25s, color .25s; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button-primary { background: var(--copper); color: var(--ink); }
.button-primary:hover, .button-primary:focus-visible { background: var(--copper-light); }
.text-link { display: inline-flex; align-items: center; gap: 1rem; padding-block: .6rem; border-bottom: 1px solid rgba(255,255,255,.35); font-size: .77rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.text-link span { transition: transform .25s var(--ease); }
.text-link:hover span { transform: translate(3px, -3px); }
.hero-rail { position: absolute; z-index: 2; left: 50%; bottom: 0; transform: translateX(-50%); min-height: 5.8rem; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }
.hero-rail span { display: flex; align-items: center; padding-inline: 1.4rem; border-right: 1px solid var(--line); color: rgba(255,255,255,.68); font-size: .68rem; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; }
.hero-rail span:first-child { border-left: 1px solid var(--line); }

.intro { background: var(--paper); }
.intro-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: end; gap: clamp(3rem, 9vw, 10rem); }
.display-title { margin: 0; font-size: clamp(3.5rem, 7.8vw, 7.2rem); font-weight: 280; line-height: .92; letter-spacing: -.065em; }
.display-title span { color: var(--muted-dark); }
.intro-copy > p { max-width: 39rem; margin: 0; font-size: clamp(1.3rem, 2.1vw, 2rem); font-weight: 350; line-height: 1.45; letter-spacing: -.025em; }
.trust-row { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; margin-top: 2.6rem; padding-top: 1.25rem; border-top: 1px solid var(--line-dark); }
.trust-row span { position: relative; padding-left: 1rem; color: var(--muted-dark); font-size: .76rem; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
.trust-row span::before { content: ""; position: absolute; top: .55em; left: 0; width: .35rem; height: .35rem; border-radius: 50%; background: var(--copper); }

.services { color: var(--white); background: var(--ink); }
.services-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem, 8vw, 9rem); align-items: start; }
.services-heading { position: sticky; top: 8rem; }
.services-heading h2 { max-width: 9ch; margin: 0; font-size: clamp(3rem, 5.2vw, 5.5rem); font-weight: 280; line-height: .95; letter-spacing: -.055em; }
.services-heading > p:last-child { max-width: 28rem; margin: 2rem 0 0; color: var(--muted); font-size: 1.08rem; }
.service-list { border-top: 1px solid var(--line); }
.service-item { border-bottom: 1px solid var(--line); }
.service-item summary { list-style: none; display: grid; grid-template-columns: 3rem 1fr 2rem; align-items: center; gap: 1rem; min-height: 7.5rem; cursor: pointer; }
.service-item summary::-webkit-details-marker { display: none; }
.service-index { color: var(--copper-light); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.service-name { font-size: clamp(1.45rem, 2.25vw, 2.15rem); font-weight: 350; letter-spacing: -.02em; }
.service-toggle { position: relative; width: 1.5rem; height: 1.5rem; }
.service-toggle::before, .service-toggle::after { content: ""; position: absolute; top: 50%; left: 50%; width: 1rem; height: 1px; background: var(--white); transform: translate(-50%,-50%); transition: transform .25s; }
.service-toggle::after { transform: translate(-50%,-50%) rotate(90deg); }
.service-item[open] .service-toggle::after { transform: translate(-50%,-50%) rotate(0); }
.service-detail { display: grid; grid-template-columns: 1fr .85fr; gap: 2rem; padding: 0 2rem 2.8rem 4rem; }
.service-detail p { margin: 0; max-width: 34rem; color: rgba(255,255,255,.76); font-size: 1.05rem; }
.service-detail span { color: var(--muted); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }

.experience { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 54rem; background: var(--ink-soft); color: var(--white); }
.experience-image { min-height: 44rem; overflow: hidden; }
.experience-image img { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; transition: transform 1.2s var(--ease); }
.experience:hover .experience-image img { transform: scale(1.025); }
.experience-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem); }
.experience-copy h2 { margin: 0; max-width: 10ch; font-size: clamp(3rem, 5vw, 5.4rem); font-weight: 280; line-height: .96; letter-spacing: -.055em; }
.experience-copy > p:not(.section-kicker) { max-width: 36rem; margin: 2rem 0 0; color: var(--muted); font-size: 1.08rem; }
.feature-list { list-style: none; margin: 3rem 0 0; padding: 0; border-top: 1px solid var(--line); }
.feature-list li { display: flex; align-items: center; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); color: rgba(255,255,255,.8); }
.feature-list li span { color: var(--copper-light); font-size: .65rem; letter-spacing: .12em; }

.work { background: #e8e6e0; }
.work-heading, .team-heading { display: grid; grid-template-columns: 1fr .72fr; gap: clamp(3rem, 8vw, 8rem); align-items: end; margin-bottom: 4rem; }
.work-heading h2, .team-heading h2 { margin: 0; font-size: clamp(3.2rem, 6vw, 6.2rem); font-weight: 280; line-height: .92; letter-spacing: -.06em; }
.work-heading h2 span, .team-heading h2 span { color: var(--muted-dark); }
.work-heading > p, .team-heading > p { max-width: 34rem; margin: 0 0 .5rem; color: var(--muted-dark); font-size: 1.08rem; }
.work-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-auto-rows: clamp(18rem, 22vw, 21rem); gap: 1rem; }
.work-card { position: relative; isolation: isolate; grid-column: span 6; min-width: 0; margin: 0; overflow: hidden; background: var(--panel); }
.work-card-feature { grid-column: span 7; grid-row: span 2; }
.work-card-control, .work-card-rack { grid-column: span 5; }
.work-card::after { content: ""; position: absolute; z-index: 1; inset: 38% 0 0; background: linear-gradient(0deg, rgba(4,6,8,.86), transparent); pointer-events: none; }
.work-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.work-card-control img { object-position: 68% center; }
.work-card-rack img { object-position: center 25%; }
.work-card:hover img { transform: scale(1.025); }
.work-card figcaption { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.4rem; left: 1.5rem; display: grid; gap: .25rem; color: var(--white); }
.work-card figcaption span { color: var(--copper-light); font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.work-card figcaption strong { font-size: clamp(1.2rem, 2vw, 1.75rem); font-weight: 380; letter-spacing: -.02em; }

.capabilities { color: var(--white); background: var(--ink); }
.capability-heading { max-width: 74rem; margin-bottom: 4rem; }
.capability-heading h2 { margin: 0; font-size: clamp(3.2rem, 6.2vw, 6.5rem); font-weight: 280; line-height: .92; letter-spacing: -.06em; }
.capability-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.capability-card { position: relative; isolation: isolate; min-height: clamp(30rem, 42vw, 40rem); overflow: hidden; background: var(--panel); }
.capability-card::after { content: ""; position: absolute; z-index: 1; inset: 28% 0 0; background: linear-gradient(0deg, rgba(4,6,8,.94), rgba(4,6,8,.24), transparent); }
.capability-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.capability-card:hover img { transform: scale(1.025); }
.capability-copy { position: absolute; z-index: 2; right: clamp(1.5rem, 4vw, 3rem); bottom: clamp(1.5rem, 4vw, 3rem); left: clamp(1.5rem, 4vw, 3rem); }
.capability-copy > span { color: var(--copper-light); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.capability-copy h3 { max-width: 16ch; margin: .65rem 0 .85rem; font-size: clamp(2rem, 3.5vw, 3.7rem); font-weight: 320; line-height: .98; letter-spacing: -.045em; }
.capability-copy p { max-width: 34rem; margin: 0; color: rgba(255,255,255,.72); font-size: 1rem; }

.residence { background: var(--paper); }
.residence-card { padding: clamp(2rem, 5vw, 5.5rem); color: var(--white); background: linear-gradient(135deg, #11161b, #1a2027 65%, #12171d); border: 1px solid rgba(8,11,14,.08); box-shadow: 0 2.5rem 6rem rgba(8,11,14,.17); }
.residence-topline { display: flex; justify-content: space-between; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .7rem; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; }
.residence-main { display: grid; grid-template-columns: 1.15fr .85fr; gap: 5rem; align-items: end; padding-block: clamp(4rem, 8vw, 8rem); }
.residence-main h2 { margin: 0; font-size: clamp(3.2rem, 6.4vw, 6.7rem); font-weight: 280; line-height: .9; letter-spacing: -.06em; }
.residence-main > p { max-width: 34rem; margin: 0; color: var(--muted); font-size: 1.12rem; }
.residence-tags { display: flex; flex-wrap: wrap; gap: .6rem; padding-top: 1.4rem; border-top: 1px solid var(--line); }
.residence-tags span { padding: .55rem .8rem; border: 1px solid var(--line); color: rgba(255,255,255,.72); font-size: .67rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }

.process { background: var(--white); }
.section-heading { display: grid; grid-template-columns: 1fr 1fr; column-gap: 4rem; align-items: end; margin-bottom: 5rem; }
.section-heading .section-kicker { grid-column: 1 / -1; }
.section-heading h2 { margin: 0; max-width: 11ch; font-size: clamp(3rem, 6vw, 6rem); font-weight: 280; line-height: .93; letter-spacing: -.06em; }
.section-heading > p:last-child { max-width: 30rem; margin: 0 0 .5rem auto; color: var(--muted-dark); font-size: 1.1rem; }
.process-grid { list-style: none; display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin: 0; padding: 0; counter-reset: process; border-top: 1px solid var(--line-dark); }
.process-grid li { min-height: 20rem; padding: 2rem 2rem 2rem 0; border-right: 1px solid var(--line-dark); }
.process-grid li:not(:first-child) { padding-left: 2rem; }
.process-grid li:last-child { border-right: 0; }
.process-number { color: var(--copper); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.process-grid h3 { margin: 5.5rem 0 1rem; font-size: 1.55rem; font-weight: 500; letter-spacing: -.02em; }
.process-grid p { margin: 0; color: var(--muted-dark); font-size: .98rem; }

.team { background: var(--paper); border-top: 1px solid var(--line-dark); }
.team-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.team-card { position: relative; min-width: 0; min-height: 29rem; padding: 2rem clamp(1.5rem, 3vw, 2.75rem) 2.75rem; overflow: hidden; border-right: 1px solid var(--line-dark); }
.team-card:last-child { border-right: 0; }
.team-mark { position: absolute; top: .3rem; right: 1.5rem; color: rgba(8,11,14,.055); font-family: Georgia, "Times New Roman", serif; font-size: clamp(5.5rem, 9vw, 8.5rem); line-height: 1; letter-spacing: -.08em; }
.team-index { position: relative; color: var(--copper); font-size: .7rem; font-weight: 700; letter-spacing: .13em; }
.team-card h3 { position: relative; margin: 9rem 0 .25rem; font-size: clamp(1.8rem, 2.7vw, 2.6rem); font-weight: 380; letter-spacing: -.035em; }
.team-role { position: relative; margin: 0; color: var(--copper); font-size: .7rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.team-card > p:last-child { position: relative; max-width: 25rem; margin: 1.6rem 0 0; color: var(--muted-dark); }

.trade { position: relative; overflow: hidden; padding-block: clamp(6rem, 10vw, 10rem); color: var(--white); background: #0a0e12; }
.trade::before { content: ""; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 5rem 5rem; mask-image: linear-gradient(90deg, black, transparent 70%); }
.trade-glow { position: absolute; width: 35rem; height: 35rem; right: 5%; top: 10%; border-radius: 50%; background: radial-gradient(circle, rgba(74,126,186,.2), transparent 68%); filter: blur(18px); }
.trade-grid { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 7rem; align-items: end; }
.trade-heading h2 { margin: 0; font-size: clamp(3.4rem, 6.6vw, 7rem); font-weight: 280; line-height: .9; letter-spacing: -.065em; }
.trade-copy p { margin: 0 0 2.2rem; color: var(--muted); font-size: 1.14rem; }
.text-link.light { border-color: var(--line); }

.technology { padding-block: 3.3rem; background: var(--paper); border-bottom: 1px solid var(--line-dark); }
.technology-inner { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.technology-inner > p { max-width: 22rem; margin: 0; color: var(--muted-dark); font-size: .75rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.technology-names { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: clamp(1.5rem, 4vw, 4rem); }
.technology-names span { color: #40464c; font-size: clamp(.9rem, 1.6vw, 1.25rem); font-weight: 750; letter-spacing: .12em; }

.contact { background: var(--paper); }
.contact-grid { display: grid; grid-template-columns: 1fr .9fr; gap: clamp(4rem, 10vw, 10rem); }
.contact-heading h2 { max-width: 10ch; margin: 0; font-size: clamp(3.2rem, 6.4vw, 6.5rem); font-weight: 280; line-height: .91; letter-spacing: -.065em; }
.contact-heading > p:not(.section-kicker) { max-width: 38rem; margin: 2rem 0 0; color: var(--muted-dark); font-size: 1.1rem; }
.contact-direct { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; margin-top: 3rem; }
.contact-direct a { font-size: 1.05rem; font-weight: 550; border-bottom: 1px solid var(--line-dark); }
.contact-direct span { margin-top: .7rem; color: var(--muted-dark); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.contact-form { padding: clamp(1.8rem, 4vw, 3.25rem); color: var(--white); background: var(--ink-soft); box-shadow: 0 2rem 5rem rgba(8,11,14,.16); }
.contact-form label { display: grid; gap: .5rem; margin-bottom: 1.35rem; color: rgba(255,255,255,.68); font-size: .7rem; font-weight: 650; letter-spacing: .11em; text-transform: uppercase; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; padding: .8rem 0; color: var(--white); background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.24); border-radius: 0; outline: none; font-size: 1rem; text-transform: none; letter-spacing: normal; transition: border-color .2s; }
.contact-form textarea { resize: vertical; min-height: 7rem; }
.contact-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%); background-position: calc(100% - 14px) calc(50% - 2px), calc(100% - 8px) calc(50% - 2px); background-size: 6px 6px; background-repeat: no-repeat; }
.contact-form select option { color: var(--ink); background: var(--white); }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: var(--copper-light); }
.form-submit { width: 100%; margin-top: .5rem; }
.form-note { margin: .8rem 0 0; color: var(--muted); font-size: .72rem; }

.site-footer { padding: 5rem 0 1.7rem; color: var(--white); background: var(--ink); }
.footer-grid { display: grid; grid-template-columns: 1.2fr .7fr .8fr; gap: 4rem; align-items: start; }
.footer-brand { width: 18rem; height: 5rem; }
.footer-grid > div:first-child > p { margin: .3rem 0 0; color: var(--muted); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-nav, .footer-contact { display: flex; flex-direction: column; gap: .55rem; }
.footer-nav a, .footer-contact a, .footer-contact span { color: var(--muted); font-size: .8rem; letter-spacing: .07em; text-transform: uppercase; }
.footer-nav a:hover, .footer-contact a:hover { color: var(--white); }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 5rem; padding-top: 1.4rem; border-top: 1px solid var(--line); color: #737a82; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }

.reveal { opacity: 0; transform: translateY(1.5rem); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes hero-drift { from { transform: scale(1.06); } to { transform: scale(1); } }
@keyframes link-glow-sweep {
  0% { background-position: 140% 50%; filter: drop-shadow(0 0 0 rgba(216,173,131,0)); }
  52% { filter: drop-shadow(0 0 .32rem rgba(216,173,131,.76)); }
  100% { background-position: -40% 50%; filter: drop-shadow(0 0 0 rgba(216,173,131,0)); }
}

@media (max-width: 68rem) {
  .site-header { min-height: 5.2rem; }
  .brand { width: 13rem; height: 3.8rem; }
  .brand-logo::after { font-size: 1.05rem; }
  .brand-logo::before { font-size: .4rem; letter-spacing: .07em; }
  .menu-toggle { display: block; z-index: 2; }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(.25rem) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(3) { transform: translateY(-.25rem) rotate(-45deg); }
  .site-nav { position: fixed; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.35rem; padding: 7rem 2rem 3rem; background: rgba(8,11,14,.98); transform: translateX(100%); visibility: hidden; transition: transform .45s var(--ease), visibility .45s; }
  .site-nav.open { transform: translateX(0); visibility: visible; }
  .site-nav > a:not(.nav-cta) { font-size: clamp(1.8rem, 7vw, 3.4rem); font-weight: 300; letter-spacing: -.02em; text-transform: none; }
  .nav-cta { margin-top: 1.5rem; }
  .hero-content { padding-bottom: 10rem; }
  .hero-rail { grid-template-columns: repeat(2,1fr); }
  .hero-rail span { min-height: 2.8rem; }
  .intro-grid, .services-layout, .residence-main, .trade-grid, .contact-grid, .work-heading, .team-heading { grid-template-columns: 1fr; }
  .intro-copy { margin-left: 12vw; }
  .services-heading { position: static; }
  .services-heading h2 { max-width: 12ch; }
  .experience { grid-template-columns: 1fr; }
  .experience-image { min-height: 36rem; }
  .experience-copy { padding: 5rem max(1.5rem, 6vw); }
  .work-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 22rem; }
  .work-card, .work-card-control, .work-card-rack { grid-column: span 1; }
  .work-card-feature { grid-column: 1 / -1; grid-row: span 1; min-height: 32rem; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card { min-height: 34rem; }
  .residence-main { gap: 2rem; }
  .section-heading { grid-template-columns: 1fr; }
  .section-heading > p:last-child { margin: 2rem 0 0; }
  .process-grid { grid-template-columns: repeat(2,1fr); }
  .process-grid li:nth-child(2) { border-right: 0; }
  .process-grid li:nth-child(-n+2) { border-bottom: 1px solid var(--line-dark); }
  .team-grid { grid-template-columns: 1fr; }
  .team-card { min-height: auto; padding-block: 2.25rem 2.75rem; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .team-card:last-child { border-bottom: 0; }
  .team-card h3 { margin-top: 6rem; }
  .trade-grid { gap: 3rem; }
  .technology-inner { align-items: flex-start; flex-direction: column; }
  .technology-names { justify-content: flex-start; }
}

@media (max-width: 42rem) {
  :root { --shell: min(100% - 2rem, 88rem); }
  .site-header { padding-inline: 1rem; }
  .brand { width: 11rem; height: 3.6rem; }
  .brand-logo { transform: scale(.9); transform-origin: left center; }
  .hero-media img { object-position: 62% center; }
  .hero-scrim { background: linear-gradient(90deg, rgba(4,6,8,.76), rgba(4,6,8,.18)), linear-gradient(0deg, rgba(4,6,8,.62), transparent 54%); }
  .hero-content { padding-top: 8rem; padding-bottom: 11rem; }
  .hero h1 { font-size: clamp(4rem, 21vw, 6.5rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .hero-rail { min-height: 5.6rem; }
  .hero-rail span { padding-inline: .7rem; font-size: .58rem; }
  .intro-copy { margin-left: 0; }
  .display-title { font-size: clamp(3.4rem, 16vw, 5rem); }
  .service-item summary { grid-template-columns: 2.1rem 1fr 1.5rem; min-height: 6.2rem; gap: .65rem; }
  .service-detail { grid-template-columns: 1fr; gap: 1rem; padding: 0 0 2.2rem 2.75rem; }
  .experience-image { min-height: 31rem; }
  .experience-image img { object-position: 61% center; }
  .work-heading, .team-heading { margin-bottom: 2.75rem; gap: 2rem; }
  .work-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .work-card, .work-card-control, .work-card-rack, .work-card-feature { grid-column: 1; grid-row: span 1; min-height: 22rem; }
  .work-card-feature { min-height: 28rem; }
  .capability-card { min-height: 30rem; }
  .capability-copy h3 { max-width: 13ch; }
  .residence-topline { align-items: flex-start; flex-direction: column; gap: .45rem; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid li, .process-grid li:not(:first-child) { min-height: auto; padding: 2rem 0; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .process-grid h3 { margin-top: 2.5rem; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .footer-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  a:hover .link-wording, a:focus-visible .link-wording, .brand:hover .brand-logo::after, .brand:focus-visible .brand-logo::after, .brand:hover .brand-logo::before, .brand:focus-visible .brand-logo::before { animation: none; filter: drop-shadow(0 0 .28rem rgba(216,173,131,.7)); }
}

/* Warrior property technology experience */
body { overflow-x: hidden; }
.site-nav { gap: clamp(.85rem, 1.7vw, 2rem); }
.hero-media img { filter: brightness(1.18) saturate(1.04); }
.hero-scrim {
  background: linear-gradient(90deg, rgba(4,6,8,.57) 0%, rgba(4,6,8,.24) 42%, rgba(4,6,8,.02) 76%),
              linear-gradient(0deg, rgba(4,6,8,.38) 0%, transparent 48%);
}
.hero-copy { color: rgba(255,255,255,.88); text-shadow: 0 1px 18px rgba(0,0,0,.28); }
.hero-rail span { color: rgba(255,255,255,.86); }

.section-lead {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(18rem,.65fr);
  gap: clamp(3rem,8vw,8rem);
  align-items: end;
  margin-bottom: clamp(3rem,6vw,5rem);
}
.section-lead h2,
.partners-content > h2,
.standard-content > h2,
.team-intro h2,
.contact-section .contact-heading h2 {
  margin: 0;
  font-size: clamp(3.1rem,6vw,6.35rem);
  font-weight: 280;
  line-height: .92;
  letter-spacing: -.062em;
}
.section-lead > p,
.partners-intro,
.standard-intro,
.team-intro > p:last-child,
.contact-section .contact-heading > p:not(.section-kicker) {
  margin: 0;
  color: var(--muted-dark);
  font-size: clamp(1rem,1.35vw,1.14rem);
}
.section-lead h2 { max-width: 12ch; }
.section-lead h2 span { color: var(--muted-dark); }

.solutions { background: var(--paper); }
.solution-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1rem; }
.solution-card {
  position: relative;
  isolation: isolate;
  grid-column: span 5;
  min-height: clamp(30rem,42vw,39rem);
  overflow: hidden;
  color: var(--white);
  background: var(--panel);
}
.solution-card-wide { grid-column: span 7; }
.solution-card:nth-child(3), .solution-card:nth-child(6) { grid-column: span 6; }
.solution-card:nth-child(4), .solution-card:nth-child(5) { grid-column: span 6; }
.solution-card::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 30% 0 0;
  background: linear-gradient(0deg,rgba(4,6,8,.93),rgba(4,6,8,.36),transparent);
}
.solution-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.solution-card:first-child img { object-position: 59% center; }
.solution-card:nth-child(4) img { object-position: 68% center; }
.solution-card:hover img { transform: scale(1.025); }
.solution-copy { position: absolute; z-index: 2; right: clamp(1.5rem,3vw,3rem); bottom: clamp(1.6rem,3vw,3rem); left: clamp(1.5rem,3vw,3rem); }
.solution-copy > span,
.partners-media figcaption span {
  color: var(--copper-light);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.solution-copy h3 { max-width: 18ch; margin: .7rem 0 .8rem; font-size: clamp(1.8rem,3vw,3.2rem); font-weight: 330; line-height: 1; letter-spacing: -.045em; }
.solution-copy p { max-width: 38rem; margin: 0; color: rgba(255,255,255,.72); }

.standard { color: var(--white); background: #090d11; }
.standard-shell { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr); gap: clamp(3rem,7vw,7rem); align-items: stretch; }
.standard-media { position: relative; min-height: 58rem; margin: 0; overflow: hidden; background: var(--panel); }
.standard-media::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(0deg,rgba(4,6,8,.88),transparent); }
.standard-media img { width: 100%; height: 100%; object-fit: cover; object-position: 68% center; }
.standard-media figcaption { position: absolute; z-index: 1; right: 2rem; bottom: 1.7rem; left: 2rem; color: rgba(255,255,255,.7); font-size: .67rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.standard-content { display: flex; flex-direction: column; justify-content: center; }
.standard-content > h2 { max-width: 10ch; }
.standard-intro { max-width: 41rem; margin-top: 2rem; color: var(--muted); }
.standard-paths { margin-top: clamp(3rem,5vw,5rem); border-top: 1px solid var(--line); }
.standard-paths article { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1.25rem; padding: 1.45rem 0; border-bottom: 1px solid var(--line); }
.standard-paths article > span { color: var(--copper-light); font-size: .66rem; font-weight: 700; letter-spacing: .12em; }
.standard-paths h3 { margin: 0 0 .35rem; font-size: 1.2rem; font-weight: 500; letter-spacing: -.02em; }
.standard-paths p { max-width: 39rem; margin: 0; color: var(--muted); font-size: .94rem; }
.property-life { list-style: none; display: grid; grid-template-columns: repeat(5,1fr); gap: 0; margin: 2.5rem 0 0; padding: 0; border: 1px solid var(--line); }
.property-life li { position: relative; padding: .8rem .45rem; color: rgba(255,255,255,.72); border-right: 1px solid var(--line); font-size: .62rem; font-weight: 700; letter-spacing: .09em; text-align: center; text-transform: uppercase; }
.property-life li:last-child { border-right: 0; }
.standard-page-link { align-self: flex-start; margin-top: 2rem; }

.partners { background: var(--white); }
.partners-shell { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.partners-media { position: relative; min-height: clamp(44rem,65vw,68rem); margin: 0; overflow: hidden; background: #d5d0c8; }
.partners-media::after { content: ""; position: absolute; inset: 52% 0 0; background: linear-gradient(0deg,rgba(4,6,8,.86),transparent); }
.partners-media img { width: 100%; height: 100%; object-fit: cover; }
.partners-media figcaption { position: absolute; z-index: 1; right: clamp(1.5rem,4vw,3rem); bottom: clamp(1.5rem,4vw,3rem); left: clamp(1.5rem,4vw,3rem); display: grid; gap: .65rem; color: var(--white); }
.partners-media figcaption strong { max-width: 20ch; font-size: clamp(1.7rem,3vw,3rem); font-weight: 330; line-height: 1; letter-spacing: -.04em; }
.partners-content > h2 { max-width: 10ch; }
.partners-intro { max-width: 37rem; margin-top: 2rem; }
.audience-list { margin-top: 3.5rem; border-top: 1px solid var(--line-dark); }
.audience-link {
  display: grid;
  grid-template-columns: 2.5rem minmax(0,1fr);
  gap: 1rem;
  align-items: center;
  min-height: 9.25rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--line-dark);
  transition: opacity .8s var(--ease), transform .8s var(--ease), color .25s, padding .35s var(--ease), background .25s;
}
.audience-link:hover, .audience-link:focus-visible { padding-inline: 1rem; color: #8b5d35; background: rgba(196,140,87,.075); outline: none; }
.audience-index { align-self: start; padding-top: .2rem; color: var(--copper); font-size: .68rem; font-weight: 700; letter-spacing: .11em; }
.audience-copy { display: grid; gap: .55rem; }
.audience-copy strong { font-size: clamp(1.3rem,2vw,1.8rem); font-weight: 520; line-height: 1.08; letter-spacing: -.035em; }
.audience-copy small { max-width: 34rem; color: var(--muted-dark); font-size: .91rem; line-height: 1.55; }
.gallery { color: var(--white); background: #0a0e12; }
.section-lead-light > p { color: var(--muted); }
.section-lead-light h2 span { color: #747d86; }
.gallery-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-auto-rows: clamp(18rem,24vw,25rem); gap: 1rem; }
.gallery-card { position: relative; isolation: isolate; grid-column: span 4; margin: 0; overflow: hidden; background: var(--panel); }
.gallery-card-feature { grid-column: span 8; grid-row: span 2; }
.gallery-card-tall { grid-column: span 4; grid-row: span 2; }
.gallery-card::after { content: ""; position: absolute; z-index: 1; inset: 55% 0 0; background: linear-gradient(0deg,rgba(4,6,8,.82),transparent); }
.gallery-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.05s var(--ease); }
.gallery-card-tall img { object-position: center 25%; }
.gallery-card:hover img { transform: scale(1.025); }
.gallery-card figcaption { position: absolute; z-index: 2; right: 1.35rem; bottom: 1.15rem; left: 1.35rem; color: var(--white); font-size: .74rem; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; }

.team-section { background: #e9e7e1; }
.team-shell { display: grid; grid-template-columns: minmax(18rem,.7fr) minmax(0,1.3fr); gap: clamp(3rem,7vw,7rem); align-items: stretch; }
.team-visual { position: relative; min-height: 54rem; margin: 0; overflow: hidden; background: var(--panel); }
.team-visual::after { content: ""; position: absolute; inset: 52% 0 0; background: linear-gradient(0deg,rgba(4,6,8,.85),transparent); }
.team-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.team-visual figcaption { position: absolute; z-index: 1; right: 2rem; bottom: 1.8rem; left: 2rem; color: rgba(255,255,255,.78); font-size: .72rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.team-content { display: flex; flex-direction: column; justify-content: center; }
.team-intro h2 { max-width: 11ch; }
.team-intro h2 span { color: var(--muted-dark); }
.team-intro > p:last-child { max-width: 40rem; margin-top: 1.8rem; }
.people-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 3.5rem; border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.person-card { min-height: 16rem; padding: 1.5rem; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.person-card > span { color: rgba(8,11,14,.16); font-family: Georgia,"Times New Roman",serif; font-size: 2.2rem; letter-spacing: -.06em; }
.person-card h3 { margin: 2.25rem 0 .2rem; font-size: 1.5rem; font-weight: 420; letter-spacing: -.03em; }
.person-role { margin: 0; color: var(--copper); font-size: .64rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.person-card > p:last-child { margin: 1rem 0 0; color: var(--muted-dark); font-size: .9rem; }

.contact-section { background: var(--paper); }
.contact-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(23rem,.78fr); gap: clamp(3rem,7vw,7rem); align-items: start; }
.contact-photo { height: clamp(24rem,35vw,34rem); margin: 0 0 3rem; overflow: hidden; background: var(--panel); }
.contact-photo img { width: 100%; height: 100%; object-fit: cover; }
.contact-section .contact-heading h2 { max-width: 10ch; }
.contact-section .contact-heading > p:not(.section-kicker) { max-width: 42rem; margin-top: 1.8rem; }
.platform-strip { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line-dark); }
.platform-strip span { color: #444b52; font-size: .7rem; font-weight: 800; letter-spacing: .11em; }
.contact-section .contact-form { position: sticky; top: 7rem; }

/* Partner relationship pages */
.partner-detail-page { color: var(--ink); background: var(--paper); }
.partner-header { background: rgba(8,11,14,.9); border-bottom-color: var(--line); backdrop-filter: blur(16px); }
.partner-hero { position: relative; min-height: 92svh; display: grid; align-items: end; overflow: hidden; color: var(--white); background: var(--ink); }
.partner-hero-media, .partner-hero-scrim { position: absolute; inset: 0; }
.partner-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: brightness(1.06) saturate(1.02); }
.partner-hero-scrim { background: linear-gradient(90deg,rgba(4,6,8,.82) 0%,rgba(4,6,8,.56) 44%,rgba(4,6,8,.08) 78%),linear-gradient(0deg,rgba(4,6,8,.58),transparent 52%); }
.partner-builders .partner-hero-media img, .partner-designers .partner-hero-media img { object-position: center; }
.partner-realtors .partner-hero-media img { object-position: center 58%; }
.partner-commercial .partner-hero-media img { object-position: 70% center; }
.partner-homeowners .partner-hero-media img { object-position: center; }
.partner-hero-content { position: relative; z-index: 1; padding-top: 10rem; padding-bottom: clamp(5rem,9vw,8rem); }
.partner-back { display: inline-flex; align-items: center; gap: .8rem; margin-bottom: clamp(3rem,6vw,5rem); color: rgba(255,255,255,.72); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.partner-back:hover, .partner-back:focus-visible { color: var(--white); }
.partner-hero h1 { max-width: 10ch; margin: 0; font-size: clamp(4rem,9vw,8.5rem); font-weight: 260; line-height: .84; letter-spacing: -.072em; }
.partner-hero-copy { max-width: 46rem; margin: 2rem 0 0; color: rgba(255,255,255,.84); font-size: clamp(1.05rem,1.55vw,1.3rem); line-height: 1.62; }
.partner-hero-facts { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 2.25rem; }
.partner-hero-facts span { padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.24); color: rgba(255,255,255,.78); font-size: .65rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }

.partner-benefits { background: var(--white); }
.partner-page-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.65fr); gap: clamp(3rem,8vw,8rem); align-items: end; }
.partner-page-heading h2, .relationship-copy h2, .partner-cta h2 { margin: 0; font-size: clamp(3rem,6vw,6rem); font-weight: 280; line-height: .92; letter-spacing: -.06em; }
.partner-page-heading h2 { max-width: 11ch; }
.partner-page-heading > p { max-width: 36rem; margin: 0 0 .35rem; color: var(--muted-dark); font-size: 1.08rem; }
.benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: clamp(4rem,7vw,7rem); border-top: 1px solid var(--line-dark); }
.benefit-card { min-height: 23rem; padding: 2rem clamp(1.5rem,3vw,2.75rem) 2.5rem 0; border-right: 1px solid var(--line-dark); }
.benefit-card:not(:first-child) { padding-left: clamp(1.5rem,3vw,2.75rem); }
.benefit-card:last-child { border-right: 0; }
.benefit-card > span, .relationship-step > span { color: var(--copper); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.benefit-card h3 { margin: 5.5rem 0 1rem; font-size: clamp(1.55rem,2.5vw,2.15rem); font-weight: 430; line-height: 1.08; letter-spacing: -.035em; }
.benefit-card p { margin: 0; color: var(--muted-dark); }

.partner-relationship { color: var(--white); background: #090d11; }
.relationship-shell { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(3rem,7vw,7rem); align-items: stretch; }
.relationship-media { position: relative; min-height: 54rem; margin: 0; overflow: hidden; background: var(--panel); }
.relationship-media::after { content: ""; position: absolute; inset: 52% 0 0; background: linear-gradient(0deg,rgba(4,6,8,.86),transparent); }
.relationship-media img { width: 100%; height: 100%; object-fit: cover; }
.relationship-media figcaption { position: absolute; z-index: 1; right: 2rem; bottom: 1.75rem; left: 2rem; color: rgba(255,255,255,.72); font-size: .68rem; font-weight: 650; letter-spacing: .11em; text-transform: uppercase; }
.relationship-copy { display: flex; flex-direction: column; justify-content: center; }
.relationship-copy h2 { max-width: 10ch; }
.relationship-intro { max-width: 38rem; margin: 1.8rem 0 0; color: var(--muted); font-size: 1.05rem; }
.relationship-steps { margin-top: 3.25rem; border-top: 1px solid var(--line); }
.relationship-step { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1.3rem 0; border-bottom: 1px solid var(--line); }
.relationship-step h3 { margin: 0 0 .35rem; font-size: 1.13rem; font-weight: 520; }
.relationship-step p { max-width: 37rem; margin: 0; color: var(--muted); font-size: .92rem; }

.partner-close { background: var(--paper); }
.partner-cta { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(18rem,.6fr); gap: clamp(3rem,8vw,8rem); align-items: end; }
.partner-cta h2 { max-width: 11ch; }
.partner-cta-copy p { margin: 0 0 2rem; color: var(--muted-dark); font-size: 1.08rem; }
.partner-cta-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.button-secondary { border-color: var(--line-dark); color: var(--ink); }
.button-secondary:hover, .button-secondary:focus-visible { color: var(--white); background: var(--ink); }

/* Warrior Property Technology Standard */
.standard-detail-page .partner-hero-media img { object-position: 66% center; }
.standard-detail-page .partner-hero h1 { max-width: 13ch; font-size: clamp(3.5rem,7.2vw,7.4rem); line-height: .88; }
.standard-detail-page .partner-page-heading h2 { max-width: 12ch; }
.standard-pillar-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.standard-pillar-grid .benefit-card { min-height: 25rem; }
.standard-pillar-grid .benefit-card h3 { margin-top: 5rem; }
.standard-detail-page .relationship-copy h2 { max-width: 12ch; }
.standard-lifecycle { list-style: none; display: grid; grid-template-columns: repeat(5,1fr); margin: clamp(3rem,6vw,5rem) 0 0; padding: 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.standard-lifecycle li { position: relative; min-height: 10rem; padding: 1.5rem 1rem 1.5rem 0; border-right: 1px solid var(--line-dark); }
.standard-lifecycle li:not(:first-child) { padding-left: 1rem; }
.standard-lifecycle li:last-child { border-right: 0; }
.standard-lifecycle span { color: var(--copper); font-size: .65rem; font-weight: 700; letter-spacing: .12em; }
.standard-lifecycle strong { display: block; margin-top: 3.5rem; font-size: 1.05rem; font-weight: 520; }
.standard-close-copy { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(18rem,.6fr); gap: clamp(3rem,8vw,8rem); align-items: end; margin-top: clamp(4rem,7vw,7rem); }
.standard-close-copy h2 { max-width: 11ch; margin: 0; font-size: clamp(3rem,6vw,6rem); font-weight: 280; line-height: .92; letter-spacing: -.06em; }
.standard-close-actions p { margin: 0 0 2rem; color: var(--muted-dark); font-size: 1.08rem; }
.standard-close-actions .text-link { border-bottom-color: var(--line-dark); }

.image-reveal {
  opacity: 0;
  transform: translateX(-clamp(4rem,12vw,11rem));
  transition: opacity .85s var(--ease), transform 1.1s var(--ease);
  will-change: opacity, transform;
}
.image-reveal.is-visible { opacity: 1; transform: translateX(0); }

@media (max-width: 78rem) {
  .solution-card, .solution-card-wide, .solution-card:nth-child(3), .solution-card:nth-child(4), .solution-card:nth-child(5), .solution-card:nth-child(6) { grid-column: span 6; }
  .standard-shell, .partners-shell, .team-shell, .contact-shell { gap: 3.5rem; }
  .standard-media { min-height: 48rem; }
  .partners-media { min-height: 52rem; }
}

@media (max-width: 68rem) {
  .section-lead, .standard-shell, .partners-shell, .team-shell, .contact-shell { grid-template-columns: 1fr; }
  .section-lead { gap: 2rem; }
  .section-lead > p { max-width: 38rem; }
  .standard-media, .partners-media, .team-visual { min-height: min(70rem,110vw); }
  .standard-content, .partners-content, .team-content { padding-top: 1rem; }
  .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 23rem; }
  .gallery-card, .gallery-card-feature, .gallery-card-tall { grid-column: span 1; grid-row: span 1; }
  .gallery-card-feature { grid-column: 1 / -1; min-height: 32rem; }
  .contact-section .contact-form { position: static; }
  .partner-page-heading, .relationship-shell, .partner-cta { grid-template-columns: 1fr; }
  .partner-page-heading { gap: 2rem; }
  .partner-page-heading > p { margin: 0; }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-card, .benefit-card:not(:first-child) { min-height: auto; padding: 2rem 0 2.5rem; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .benefit-card h3 { margin-top: 3rem; }
  .relationship-media { min-height: min(70rem,105vw); }
  .partner-cta-copy { max-width: 40rem; }
  .standard-pillar-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .standard-pillar-grid .benefit-card { min-height: 21rem; border-right: 1px solid var(--line-dark); }
  .standard-pillar-grid .benefit-card:nth-child(2n) { border-right: 0; padding-right: 0; }
  .standard-pillar-grid .benefit-card:nth-child(3) { padding-left: 0; }
  .standard-close-copy { grid-template-columns: 1fr; }
}

@media (max-width: 42rem) {
  .hero-media img { filter: brightness(1.2) saturate(1.03); }
  .hero-scrim { background: linear-gradient(90deg,rgba(4,6,8,.6),rgba(4,6,8,.08)),linear-gradient(0deg,rgba(4,6,8,.44),transparent 58%); }
  .solution-grid, .gallery-grid { grid-template-columns: 1fr; }
  .solution-card, .solution-card-wide, .solution-card:nth-child(3), .solution-card:nth-child(4), .solution-card:nth-child(5), .solution-card:nth-child(6) { grid-column: 1; min-height: 30rem; }
  .standard-media, .partners-media, .team-visual { min-height: 34rem; }
  .standard-media img { object-position: 66% center; }
  .property-life { grid-template-columns: 1fr; }
  .property-life li { border-right: 0; border-bottom: 1px solid var(--line); }
  .property-life li:last-child { border-bottom: 0; }
  .people-grid { grid-template-columns: 1fr; }
  .audience-link { grid-template-columns: 2.1rem minmax(0,1fr); min-height: 8.5rem; gap: .65rem; }
  .audience-link:hover, .audience-link:focus-visible { padding-inline: .5rem; }
  .audience-copy strong { font-size: 1.25rem; }
  .audience-copy small { font-size: .87rem; }
  .gallery-grid { grid-auto-rows: 24rem; }
  .gallery-card, .gallery-card-feature, .gallery-card-tall { grid-column: 1; min-height: 24rem; }
  .gallery-card-feature { min-height: 28rem; }
  .contact-photo { height: 26rem; }
  .image-reveal { transform: translateX(-3rem); }
  .partner-hero { min-height: 88svh; }
  .partner-hero-media img { object-position: 63% center; }
  .partner-homeowners .partner-hero-media img { object-position: 61% center; }
  .partner-hero-scrim { background: linear-gradient(90deg,rgba(4,6,8,.79),rgba(4,6,8,.28)),linear-gradient(0deg,rgba(4,6,8,.62),transparent 58%); }
  .partner-hero-content { padding-top: 9rem; padding-bottom: 4.5rem; }
  .partner-back { margin-bottom: 3rem; }
  .partner-hero h1 { font-size: clamp(3.7rem,18vw,5.8rem); }
  .partner-hero-facts { gap: .45rem; }
  .partner-page-heading h2, .relationship-copy h2, .partner-cta h2 { font-size: clamp(3rem,15vw,4.8rem); }
  .relationship-media { min-height: 34rem; }
  .partner-cta-actions { align-items: stretch; flex-direction: column; }
  .partner-cta-actions .button, .partner-cta-actions .text-link { width: 100%; }
  .standard-detail-page .partner-hero h1 { font-size: clamp(3.1rem,13.5vw,4.8rem); }
  .standard-pillar-grid { grid-template-columns: 1fr; }
  .standard-pillar-grid .benefit-card, .standard-pillar-grid .benefit-card:nth-child(2n), .standard-pillar-grid .benefit-card:nth-child(3) { min-height: auto; padding: 2rem 0 2.5rem; border-right: 0; }
  .standard-pillar-grid .benefit-card h3 { margin-top: 3rem; }
  .standard-lifecycle { grid-template-columns: 1fr; }
  .standard-lifecycle li, .standard-lifecycle li:not(:first-child) { min-height: auto; padding: 1.25rem 0; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .standard-lifecycle li:last-child { border-bottom: 0; }
  .standard-lifecycle strong { margin-top: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .image-reveal { opacity: 1; transform: none; will-change: auto; }
}
