:root {
  --ink: #161116;
  --ink-soft: #30272e;
  --wine: #3d1028;
  --wine-deep: #250a1a;
  --orchid: #9b3d68;
  --coral: #e76f79;
  --sand: #d8ad68;
  --sand-pale: #f1dfbb;
  --river: #267486;
  --paper: #f6f0e8;
  --paper-light: #fffaf5;
  --white: #ffffff;
  --muted: #6f646b;
  --line: rgba(35, 19, 29, .16);
  --line-light: rgba(255, 255, 255, .22);
  --display: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --page: 80rem;
  --reading: 45rem;
  --pad: clamp(1.25rem, 4vw, 3rem);
  --section: clamp(4.75rem, 9vw, 8.5rem);
  --shadow: 0 2.4rem 5rem rgba(36, 10, 26, .14);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .22em; }
a:hover { text-decoration-thickness: .12em; }
p { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid var(--sand); outline-offset: 4px; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 100;
  padding: .7rem 1rem;
  background: var(--white);
  color: var(--ink);
  font-weight: 800;
  transform: translateY(-200%);
}
.skip-link:focus { transform: none; }

/* Shared navigation: compact, typographic, and intentionally not pill-shaped. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 250, 245, .93);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
}
.header-inner {
  width: min(var(--page), calc(100% - 2 * var(--pad)));
  min-height: 5.25rem;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: var(--ink);
  font-size: .93rem;
  font-weight: 760;
  letter-spacing: .01em;
  line-height: 1.1;
  text-decoration: none;
}
.brand strong { color: var(--orchid); }
.brand-mark {
  width: 2.15rem;
  height: 2.15rem;
  display: grid;
  place-items: center;
  background: var(--wine);
  color: var(--paper-light);
  font-family: var(--display);
  font-size: 1.25rem;
  border-radius: 50% 50% 50% 12%;
  transform: rotate(-7deg);
}
.brand-mark + span { transform: translateY(.05rem); }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2rem); }
.site-nav a {
  position: relative;
  padding: .5rem 0;
  color: var(--ink-soft);
  font-size: .88rem;
  font-weight: 720;
  text-decoration: none;
}
.site-nav a:not(.nav-cta)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: .22rem;
  height: 2px;
  background: var(--orchid);
  transition: right .2s ease;
}
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { right: 0; }
.site-nav .nav-cta {
  padding: .72rem 1.05rem;
  background: var(--wine);
  color: var(--white);
}

.eyebrow, .step-kicker, .capability-label {
  margin: 0 0 1rem;
  color: var(--sand-pale);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}
.dark-eyebrow, .step-kicker, .capability-label { color: var(--orchid); }

.button {
  min-height: 3rem;
  width: fit-content;
  padding: .78rem 1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  color: inherit;
  font-size: .86rem;
  font-weight: 820;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--coral); border-color: var(--coral); color: var(--ink); }
.button-primary:hover { background: var(--sand); border-color: var(--sand); }
.button-white { background: var(--paper-light); border-color: var(--paper-light); color: var(--wine-deep); }
.button-dark { background: var(--wine-deep); border-color: var(--wine-deep); color: var(--white); }
.text-link { font-size: .86rem; font-weight: 800; text-decoration-color: var(--sand); }
.light-text-link { color: var(--white); }
.hero-actions, .page-next-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.1rem; }

/* Homepage — Riverline Nocturne. The image is a wide scene, not a card portrait. */
.editorial-hero {
  position: relative;
  min-height: calc(100svh - 5.25rem);
  padding: clamp(4.5rem, 8vw, 7.5rem) max(var(--pad), calc((100vw - var(--page)) / 2));
  display: grid;
  grid-template-columns: minmax(18rem, .82fr) minmax(32rem, 1.18fr);
  align-items: center;
  gap: clamp(2.5rem, 6vw, 6rem);
  background: var(--wine-deep);
  color: var(--white);
  isolation: isolate;
}
.editorial-hero::before,
.editorial-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(216, 173, 104, .32);
  border-radius: 50%;
  pointer-events: none;
}
.editorial-hero::before { width: 46rem; height: 46rem; right: -22rem; top: -29rem; }
.editorial-hero::after { width: 31rem; height: 31rem; left: 32%; bottom: -26rem; }
.editorial-hero-copy { position: relative; z-index: 2; }
.editorial-hero-copy h1 {
  max-width: 14ch;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(3rem, 5.8vw, 5.8rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .96;
}
.editorial-hero-copy .hero-lead {
  max-width: 38rem;
  margin: 1.6rem 0 0;
  color: #dccdd4;
  font-size: clamp(1.02rem, 1.35vw, 1.2rem);
}
.editorial-hero-copy .hero-actions { margin-top: 1.75rem; }
.editorial-hero-copy .text-link { color: var(--white); }
.editorial-hero-media {
  position: relative;
  min-height: 34rem;
  margin: 0;
  align-self: stretch;
}
.editorial-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 58% center;
  filter: saturate(.85) contrast(1.04);
  box-shadow: var(--shadow);
  clip-path: polygon(0 7%, 88% 0, 100% 83%, 14% 100%);
}
.editorial-hero-media::after {
  content: "";
  position: absolute;
  inset: 1.6rem -1.4rem -1.2rem 1.4rem;
  z-index: -1;
  border: 1px solid rgba(216, 173, 104, .7);
  clip-path: polygon(0 7%, 88% 0, 100% 83%, 14% 100%);
}
.editorial-hero-media figcaption {
  position: absolute;
  left: -2.5rem;
  bottom: 2rem;
  z-index: 3;
  width: min(22rem, 72%);
  padding: 1.15rem 1.25rem;
  background: var(--paper-light);
  border-left: .25rem solid var(--sand);
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.5;
  box-shadow: 0 1rem 3rem rgba(8, 2, 6, .28);
}
.editorial-hero-media figcaption strong { display: block; color: var(--ink); }
.hero-facts {
  max-width: 42rem;
  margin: 2rem 0 0;
  padding: 1.25rem 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  border-top: 1px solid var(--line-light);
}
.hero-facts dt { color: var(--sand-pale); font-size: .68rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.hero-facts dd { margin: .35rem 0 0; color: #cdbbc4; font-size: .76rem; line-height: 1.45; }

.profile-signal {
  position: relative;
  padding: var(--section) max(var(--pad), calc((100vw - var(--page)) / 2));
  display: grid;
  grid-template-columns: minmax(17rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 8vw, 8rem);
  background: var(--paper);
}
.profile-signal::before {
  content: "BRISBANE / 27.47° S";
  position: absolute;
  right: max(var(--pad), calc((100vw - var(--page)) / 2));
  top: 1.5rem;
  color: rgba(61, 16, 40, .32);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .2em;
}
.profile-signal h2,
.journey-heading h2,
.brisbane-copy h2,
.safety-note h2,
.home-cta h2,
.capability-ledger-heading h2,
.profile-detail-map h2,
.feature-boundary h2,
.page-next-step h2,
.process-principle h2,
.risk-matrix-heading h2,
.privacy-layers h2,
.check-limit h2,
.safety-close h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.45rem, 4.8vw, 4.8rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.02;
}
.profile-signal-intro > p:not(.eyebrow) { max-width: 30rem; color: var(--muted); }
.signal-notes { border-top: 1px solid var(--line); counter-reset: signal; }
.signal-notes article {
  position: relative;
  padding: 1.55rem 0 1.55rem 4.6rem;
  display: grid;
  grid-template-columns: minmax(12rem, .7fr) 1fr;
  gap: 1.5rem;
  border-bottom: 1px solid var(--line);
}
.signal-notes span { position: absolute; left: 0; top: 1.55rem; color: var(--orchid); font-weight: 850; }
.signal-notes h3 { margin: 0; font-size: 1.1rem; }
.signal-notes p { margin: 0; color: var(--muted); }

.journey-section {
  padding: var(--section) max(var(--pad), calc((100vw - var(--page)) / 2));
  display: grid;
  grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr);
  gap: clamp(3rem, 8vw, 8rem);
  background: var(--river);
  color: var(--white);
}
.journey-heading { position: sticky; top: 8rem; align-self: start; }
.journey-heading .dark-eyebrow { color: var(--sand-pale); }
.journey-heading > p:last-child { color: #d6e7e9; }
.journey-list { margin: 0; padding: 0; list-style: none; }
.journey-list li {
  padding: 1.8rem 0;
  display: grid;
  grid-template-columns: 4rem 1fr;
  gap: 1.2rem;
  border-top: 1px solid rgba(255,255,255,.28);
}
.journey-list li:last-child { border-bottom: 1px solid rgba(255,255,255,.28); }
.journey-number { color: var(--sand-pale); font-family: var(--display); font-size: 1.45rem; }
.journey-list h3 { margin: 0 0 .4rem; font-size: 1.35rem; }
.journey-list p { margin: 0; color: #d6e7e9; }

.brisbane-section {
  width: min(var(--page), calc(100% - 2 * var(--pad)));
  margin-inline: auto;
  padding-block: var(--section);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .92fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
}
.brisbane-media { position: relative; margin: 0; }
.brisbane-media::before {
  content: "";
  position: absolute;
  inset: -1.25rem 2rem 1.25rem -1.25rem;
  z-index: -1;
  background: var(--sand-pale);
}
.brisbane-media img { width: 100%; min-height: 31rem; display: block; object-fit: cover; filter: saturate(.78); }
.brisbane-copy > p:not(.eyebrow) { color: var(--muted); }
.brisbane-copy ul { margin: 1.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.brisbane-copy li { padding: 1rem 0; border-bottom: 1px solid var(--line); color: var(--muted); }
.brisbane-copy strong { color: var(--wine); }

.safety-note, .feature-boundary, .check-limit {
  padding: var(--section) max(var(--pad), calc((100vw - var(--page)) / 2));
  display: grid;
  grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr);
  gap: clamp(3rem, 8vw, 8rem);
}
.safety-note { background: var(--wine); color: var(--white); }
.safety-note-copy, .feature-boundary > div:last-child, .check-limit > div:last-child { padding-left: 2rem; border-left: 1px solid currentColor; }
.safety-note-copy p { margin-top: 0; color: #e5d7de; }

.home-cta, .page-next-step, .safety-close {
  position: relative;
  padding: var(--section) max(var(--pad), calc((100vw - 64rem) / 2));
  background: var(--paper-light);
  text-align: center;
  overflow: hidden;
}
.home-cta::before, .page-next-step::before, .safety-close::before {
  content: "";
  position: absolute;
  width: 28rem;
  height: 28rem;
  left: -18rem;
  top: -17rem;
  border: 1px solid var(--sand);
  border-radius: 50%;
}
.home-cta h2, .page-next-step h2, .safety-close h2 { max-width: 17ch; margin-inline: auto; }
.home-cta > p:not(.eyebrow), .page-next-step > p:not(.eyebrow), .safety-close > p:not(.eyebrow) { max-width: 44rem; margin: 1.2rem auto 1.7rem; color: var(--muted); }
.home-cta .button, .page-next-step .button, .safety-close .button { margin-inline: auto; }
.page-next-actions { justify-content: center; margin-top: 1.8rem; }

/* Features — a precise editorial ledger instead of cards. */
.feature-opening, .process-opening, .safety-opening {
  padding: var(--section) max(var(--pad), calc((100vw - var(--page)) / 2));
}
.feature-opening {
  min-height: 39rem;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .65fr);
  align-items: end;
  gap: clamp(3rem, 9vw, 9rem);
  background:
    linear-gradient(90deg, transparent 0 69%, rgba(216, 173, 104, .22) 69% 69.15%, transparent 69.15%),
    var(--paper-light);
}
.feature-opening h1, .process-opening h1, .safety-opening h1 {
  max-width: 16ch;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(3rem, 6vw, 6.1rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .96;
}
.feature-opening-copy { padding-top: 1.5rem; border-top: 2px solid var(--sand); }
.feature-opening-copy p { margin-top: 0; color: var(--muted); }
.capability-ledger {
  padding: var(--section) max(var(--pad), calc((100vw - var(--page)) / 2));
  background: var(--wine-deep);
  color: var(--white);
}
.capability-ledger-heading { max-width: 57rem; margin-bottom: 3rem; }
.capability-ledger-heading > p:last-child { color: #d6c6ce; }
.capability-rows { border-top: 1px solid var(--line-light); }
.capability-rows article {
  padding: 2.1rem 0;
  display: grid;
  grid-template-columns: 3rem minmax(14rem, 1.2fr) repeat(2, minmax(12rem, .8fr));
  gap: clamp(1.3rem, 3vw, 3rem);
  border-bottom: 1px solid var(--line-light);
}
.capability-index { color: var(--sand); font-family: var(--display); font-size: 1.35rem; }
.capability-rows h3 { margin: 0 0 .5rem; font-size: 1.25rem; }
.capability-rows p { margin: 0; color: #d4c3cb; }
.capability-label { margin-bottom: .35rem; color: #efb6ca; }
.profile-detail-map {
  padding: var(--section) max(var(--pad), calc((100vw - var(--page)) / 2));
  display: grid;
  grid-template-columns: minmax(18rem, .75fr) minmax(0, 1.25fr);
  gap: clamp(3rem, 8vw, 8rem);
  background: var(--paper);
}
.detail-map-intro > p:last-child { color: var(--muted); }
.detail-map { margin: 0; border-top: 1px solid var(--line); counter-reset: detail; }
.detail-map div { position: relative; padding: 1.45rem 0 1.45rem 4.2rem; border-bottom: 1px solid var(--line); counter-increment: detail; }
.detail-map div::before { content: "0" counter(detail); position: absolute; left: 0; color: var(--orchid); font-family: var(--display); font-size: 1.3rem; }
.detail-map dt { font-weight: 820; }
.detail-map dd { margin: .2rem 0 0; color: var(--muted); }
.feature-boundary { background: var(--sand-pale); }
.feature-boundary > div:last-child { color: #5e4f57; }

/* Process — one continuous river-like route, not repeated cards. */
.process-opening {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .65fr);
  align-items: center;
  gap: clamp(3rem, 9vw, 9rem);
  background: var(--river);
  color: var(--white);
}
.process-opening-main > p:last-child { max-width: 44rem; color: #d9ecee; }
.before-you-start { padding: 2rem; background: var(--paper-light); color: var(--ink); border-top: .45rem solid var(--sand); box-shadow: 1.2rem 1.2rem 0 rgba(22, 17, 22, .16); }
.before-you-start h2 { margin: .25rem 0 1rem; font-family: var(--display); font-size: 2rem; font-weight: 400; }
.before-you-start ul { padding-left: 1.1rem; color: var(--muted); }
.before-you-start li + li { margin-top: .6rem; }
.process-path {
  padding: var(--section) max(var(--pad), calc((100vw - var(--page)) / 2));
  background: var(--paper);
  counter-reset: path;
}
.process-path article {
  position: relative;
  padding: 3rem 0;
  display: grid;
  grid-template-columns: 7rem minmax(0, 1.15fr) minmax(15rem, .7fr);
  gap: clamp(2rem, 5vw, 5rem);
  border-top: 1px solid var(--line);
}
.process-path article:last-child { border-bottom: 1px solid var(--line); }
.process-marker { position: relative; }
.process-marker::after { content: ""; position: absolute; top: 3.35rem; left: 1.45rem; height: calc(100% + 3rem); border-left: 1px dashed var(--river); }
.process-path article:last-child .process-marker::after { display: none; }
.process-marker span { width: 3rem; height: 3rem; display: grid; place-items: center; background: var(--river); color: var(--white); font-family: var(--display); font-size: 1.15rem; border-radius: 50% 50% 12% 50%; }
.process-marker strong { display: block; margin-top: .6rem; color: var(--muted); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.process-action h2 { margin: 0 0 .65rem; font-family: var(--display); font-size: clamp(2rem, 3.5vw, 3.35rem); font-weight: 400; line-height: 1.04; }
.process-action > p:last-child, .process-decision p:last-child { color: var(--muted); }
.process-decision { align-self: center; padding-left: 1.4rem; border-left: 2px solid var(--sand); }
.process-principle { padding: var(--section) max(var(--pad), calc((100vw - 66rem) / 2)); background: var(--paper-light); text-align: center; }
.process-principle h2 { max-width: 20ch; margin-inline: auto; }
.process-principle > p:not(.eyebrow) { max-width: 46rem; margin: 1.4rem auto 0; color: var(--muted); }

/* Safety — an operational field guide with strong scan hierarchy. */
.safety-opening {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, .78fr);
  gap: clamp(3rem, 8vw, 8rem);
  background: var(--wine);
  color: var(--white);
}
.safety-opening-copy { align-self: end; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.45); }
.safety-opening-copy > p { margin-top: 0; color: #eadde3; }
.safety-rule { margin-top: 1.8rem; padding: 1.2rem; display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; background: var(--sand-pale); color: var(--ink); }
.safety-rule strong { color: var(--wine); }
.risk-matrix {
  padding: var(--section) max(var(--pad), calc((100vw - var(--page)) / 2));
  background: var(--paper-light);
}
.risk-matrix-heading { max-width: 58rem; margin-bottom: 3rem; }
.risk-matrix-heading > p:last-child { max-width: 46rem; color: var(--muted); }
.risk-table { border-top: 1px solid var(--line); }
.risk-table article {
  padding: 1.6rem 0;
  display: grid;
  grid-template-columns: minmax(16rem, 1.25fr) repeat(3, minmax(11rem, .75fr));
  gap: clamp(1rem, 2.4vw, 2.4rem);
  border-bottom: 1px solid var(--line);
}
.risk-table article > div { display: grid; grid-template-columns: 2.5rem 1fr; gap: .9rem; }
.risk-number { color: var(--orchid); font-family: var(--display); font-size: 1.25rem; }
.risk-table h3 { margin: 0; font-size: 1.05rem; line-height: 1.35; }
.risk-table p { margin: 0; color: var(--muted); font-size: .9rem; }
.risk-table p strong { color: var(--ink); }
.privacy-layers {
  padding: var(--section) max(var(--pad), calc((100vw - var(--page)) / 2));
  display: grid;
  grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr);
  gap: clamp(3rem, 8vw, 8rem);
  background: var(--river);
  color: var(--white);
}
.privacy-layers-intro > p:last-child { color: #d9ecee; }
.privacy-scale { border-top: 1px solid rgba(255,255,255,.3); }
.privacy-scale article { padding: 1.45rem 0; display: grid; grid-template-columns: minmax(11rem, .7fr) 1fr; gap: 1.5rem; border-bottom: 1px solid rgba(255,255,255,.3); }
.privacy-scale span { color: var(--sand-pale); font-weight: 800; }
.privacy-scale p { margin: 0; color: #d9ecee; }
.check-limit { background: var(--sand-pale); }
.check-limit > div:last-child { color: #5f5057; }
.safety-close { background: var(--wine-deep); color: var(--white); }
.safety-close > p:not(.eyebrow) { color: #dacbd2; }

/* Footer — quiet site index with the river line carried through. */
.site-footer {
  position: relative;
  padding: 4rem max(var(--pad), calc((100vw - var(--page)) / 2)) 1.4rem;
  background: var(--ink);
  color: #bdaeb6;
  overflow: hidden;
}
.site-footer::before { content: ""; position: absolute; width: 42rem; height: 20rem; right: -18rem; top: -16rem; border: 1px solid rgba(216,173,104,.28); border-radius: 50%; }
.footer-inner { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 4rem; padding-bottom: 2.8rem; }
.footer-brand { color: var(--white); }
.footer-about p { max-width: 28rem; color: #9f9098; }
.footer-inner nav { display: grid; grid-template-columns: repeat(2, minmax(8rem, 1fr)); gap: .7rem 2rem; align-content: start; }
.footer-inner nav a, .footer-meta a { text-decoration: none; }
.footer-inner nav a:hover, .footer-meta a:hover { color: var(--sand-pale); }
.footer-meta { padding-top: 1.1rem; display: flex; justify-content: space-between; gap: 2rem; border-top: 1px solid rgba(255,255,255,.14); color: #897b83; font-size: .8rem; }
.footer-meta p { margin: 0; }

@media (max-width: 980px) {
  .editorial-hero, .feature-opening, .process-opening, .safety-opening { grid-template-columns: 1fr; }
  .editorial-hero { min-height: auto; }
  .editorial-hero-copy h1 { max-width: 16ch; }
  .editorial-hero-media { min-height: 32rem; }
  .editorial-hero-media figcaption { left: 1rem; }
  .profile-signal, .journey-section, .brisbane-section, .profile-detail-map, .privacy-layers, .safety-note, .feature-boundary, .check-limit { grid-template-columns: 1fr; }
  .journey-heading { position: static; }
  .signal-notes article { grid-template-columns: 1fr; gap: .35rem; }
  .capability-rows article { grid-template-columns: 3rem 1fr 1fr; }
  .capability-rows article > div:nth-child(2) { grid-column: 2 / -1; }
  .risk-table article { grid-template-columns: 1fr 1fr 1fr; }
  .risk-table article > div { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  :root { --section: 4.5rem; }
  .header-inner { min-height: 4.7rem; padding-block: .85rem; display: grid; grid-template-columns: 1fr; align-items: start; gap: .65rem; }
  .brand { margin-top: .15rem; }
  .brand > span:last-child { max-width: 7.5rem; }
  .site-nav { width: 100%; max-width: none; padding-top: .55rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: .25rem; border-top: 1px solid var(--line); }
  .site-nav a { min-height: 2.75rem; padding: .65rem .5rem; display: inline-flex; align-items: center; justify-content: center; font-size: .78rem; text-align: center; }
  .site-nav .nav-cta { padding: .65rem .5rem; }
  .editorial-hero { padding-top: 3.8rem; grid-template-columns: 1fr; }
  .editorial-hero-copy h1, .feature-opening h1, .process-opening h1, .safety-opening h1 { font-size: clamp(2.65rem, 13vw, 4.2rem); line-height: .98; }
  .editorial-hero-media { min-height: 27rem; }
  .editorial-hero-media img, .editorial-hero-media::after { clip-path: polygon(0 4%, 92% 0, 100% 88%, 8% 100%); }
  .editorial-hero-media figcaption { left: .75rem; bottom: .75rem; width: calc(100% - 1.5rem); }
  .hero-facts { grid-template-columns: 1fr; gap: .8rem; }
  .hero-facts div { display: grid; grid-template-columns: 6.5rem 1fr; gap: .8rem; }
  .hero-facts dd { margin: 0; }
  .profile-signal::before { display: none; }
  .profile-signal h2, .journey-heading h2, .brisbane-copy h2, .safety-note h2, .home-cta h2, .capability-ledger-heading h2, .profile-detail-map h2, .feature-boundary h2, .page-next-step h2, .process-principle h2, .risk-matrix-heading h2, .privacy-layers h2, .check-limit h2, .safety-close h2 { font-size: clamp(2.25rem, 11vw, 3.5rem); }
  .signal-notes article { padding-left: 3.4rem; }
  .journey-list li { grid-template-columns: 3rem 1fr; }
  .brisbane-media img { min-height: 23rem; }
  .safety-note-copy, .feature-boundary > div:last-child, .check-limit > div:last-child { padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid currentColor; }
  .capability-rows article { grid-template-columns: 2.5rem 1fr; }
  .capability-rows article > div:nth-child(2) { grid-column: 2; }
  .capability-rows article > div:nth-child(n+3) { grid-column: 2; }
  .process-path article { grid-template-columns: 3.5rem 1fr; gap: 1rem; }
  .process-action, .process-decision { grid-column: 2; }
  .process-decision { margin-top: .5rem; }
  .risk-table article { grid-template-columns: 1fr; }
  .risk-table article > div { grid-column: auto; }
  .privacy-scale article { grid-template-columns: 1fr; gap: .3rem; }
  .safety-rule { grid-template-columns: 1fr; gap: .3rem; }
  .footer-inner { grid-template-columns: 1fr; gap: 2rem; }
  .footer-inner nav { grid-template-columns: 1fr 1fr; }
  .footer-meta { flex-direction: column; gap: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Homepage redesign — Brisbane After Dark.
   Scoped to the homepage so the shared pages keep their established layouts. */
.home-page {
  --home-black: #0b0d0e;
  --home-charcoal: #121516;
  --home-gold: #c8a564;
  --home-gold-light: #e4d09d;
  --home-cream: #f4f0e8;
  --home-cream-light: #fbf9f4;
  --home-copy: #222425;
  --home-muted: #6f6b64;
  background: var(--home-cream);
  color: var(--home-copy);
}

.home-page .site-header {
  position: absolute;
  inset: 0 0 auto;
  background: linear-gradient(180deg, rgba(4, 6, 7, .96), rgba(4, 6, 7, .72) 72%, transparent);
  border: 0;
  backdrop-filter: none;
}
.home-page .header-inner {
  width: min(86rem, calc(100% - 2 * var(--pad)));
  min-height: 6rem;
  border-bottom: 1px solid rgba(228, 208, 157, .22);
}
.home-page .brand { color: #f7f1e5; }
.home-page .brand strong { color: var(--home-gold); }
.home-page .brand-mark {
  width: 2.6rem;
  height: 2.6rem;
  background: transparent;
  border: 1px solid var(--home-gold);
  border-radius: 50%;
  color: var(--home-gold);
  font-size: 1.45rem;
  transform: none;
}
.home-page .site-nav a { color: #e7e1d7; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.home-page .site-nav a:not(.nav-cta)::after { background: var(--home-gold); }
.home-page .site-nav .nav-cta {
  padding: .72rem 1.15rem;
  background: var(--home-gold);
  border: 1px solid var(--home-gold);
  color: #111;
}

.home-page .editorial-hero {
  min-height: 48rem;
  padding: clamp(9rem, 15vw, 13rem) max(var(--pad), calc((100vw - 86rem) / 2)) clamp(5rem, 8vw, 7rem);
  grid-template-columns: minmax(22rem, .82fr) minmax(34rem, 1.18fr);
  gap: clamp(2rem, 5vw, 5rem);
  background:
    radial-gradient(circle at 72% 45%, rgba(200, 165, 100, .14), transparent 27%),
    linear-gradient(105deg, #090b0c 0 48%, #111516 72%, #080a0b 100%);
  overflow: hidden;
}
.home-page .editorial-hero::before {
  width: 31rem;
  height: 31rem;
  right: -18rem;
  top: 5rem;
  border-color: rgba(200, 165, 100, .26);
}
.home-page .editorial-hero::after {
  width: 14rem;
  height: 14rem;
  left: 46%;
  bottom: -9rem;
  border-color: rgba(200, 165, 100, .2);
}
.home-page .editorial-hero-copy { padding-top: 1.5rem; }
.home-page .editorial-hero-copy::before {
  content: "SDB / BRISBANE";
  display: block;
  margin-bottom: 2.4rem;
  color: var(--home-gold);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .28em;
}
.home-page .editorial-hero-copy h1 {
  max-width: 12ch;
  color: #f7f1e5;
  font-size: clamp(3.7rem, 6.5vw, 6.75rem);
  letter-spacing: -.045em;
  line-height: .91;
}
.home-page .editorial-hero-copy .hero-lead {
  max-width: 35rem;
  color: #c9c4bb;
  font-size: 1rem;
}
.home-page .editorial-hero-copy .button-primary {
  background: var(--home-gold);
  border-color: var(--home-gold);
  color: #111;
}
.home-page .editorial-hero-copy .button-primary:hover { background: var(--home-gold-light); border-color: var(--home-gold-light); }
.home-page .editorial-hero-copy .text-link { color: #f0ebe1; text-decoration-color: var(--home-gold); }
.home-page .editorial-hero-media {
  min-height: 38rem;
  margin-right: min(-3vw, -1.5rem);
}
.home-page .editorial-hero-media img {
  clip-path: none;
  object-position: 56% center;
  filter: saturate(.72) contrast(1.1) brightness(.82);
  box-shadow: 0 2.5rem 6rem rgba(0, 0, 0, .46);
}
.home-page .editorial-hero-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, #0b0d0e 0, transparent 20%, transparent 72%, rgba(0, 0, 0, .2));
  pointer-events: none;
}
.home-page .editorial-hero-media::after {
  inset: 1.25rem -1.25rem -1.25rem 1.25rem;
  border-color: rgba(200, 165, 100, .5);
  clip-path: none;
}
.home-page .editorial-hero-media figcaption {
  left: -2rem;
  bottom: 1.5rem;
  padding: 1rem 1.2rem;
  background: rgba(11, 13, 14, .92);
  border: 1px solid rgba(200, 165, 100, .48);
  border-left: .2rem solid var(--home-gold);
  color: #bcb6ac;
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, .34);
}
.home-page .editorial-hero-media figcaption strong { color: var(--home-gold-light); }
.home-page .hero-facts { border-color: rgba(228, 208, 157, .25); }
.home-page .hero-facts dt { color: var(--home-gold); }
.home-page .hero-facts dd { color: #aaa69f; }

.home-page .eyebrow,
.home-page .dark-eyebrow { color: #765722; }
.home-page .editorial-hero .eyebrow,
.home-page .journey-section .eyebrow,
.home-page .safety-note .eyebrow,
.home-page .home-cta .eyebrow { color: var(--home-gold); }
.home-page .profile-signal,
.home-page .brisbane-section { background: var(--home-cream-light); }
.home-page .profile-signal {
  padding-top: clamp(5.5rem, 9vw, 8rem);
  padding-bottom: clamp(5.5rem, 9vw, 8rem);
}
.home-page .profile-signal::before { color: rgba(91, 70, 32, .46); }
.home-page .profile-signal h2,
.home-page .brisbane-copy h2,
.home-page .home-cta h2 { color: #161819; }
.home-page .profile-signal-intro > p:not(.eyebrow),
.home-page .signal-notes p,
.home-page .brisbane-copy > p:not(.eyebrow),
.home-page .brisbane-copy li { color: var(--home-muted); }
.home-page .signal-notes,
.home-page .signal-notes article,
.home-page .brisbane-copy ul,
.home-page .brisbane-copy li { border-color: rgba(44, 42, 37, .18); }
.home-page .signal-notes span { color: #a17c39; }
.home-page .signal-notes h3 { font-family: var(--display); font-size: 1.32rem; font-weight: 400; }

.home-page .journey-section {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
  background:
    linear-gradient(rgba(9, 11, 12, .96), rgba(9, 11, 12, .96)),
    url("images/homebrisbane.jpg") center / cover;
}
.home-page .journey-heading .dark-eyebrow,
.home-page .journey-number { color: var(--home-gold); }
.home-page .journey-heading h2 { color: #f5efe3; }
.home-page .journey-heading > p:last-child,
.home-page .journey-list p { color: #bcb7ae; }
.home-page .journey-list li { border-color: rgba(228, 208, 157, .22); }
.home-page .journey-list h3 { color: var(--home-gold-light); font-family: var(--display); font-size: 1.35rem; font-weight: 400; }

.home-page .brisbane-section { gap: clamp(3rem, 7vw, 7rem); }
.home-page .brisbane-media::before {
  inset: -1rem -1rem 1rem 1rem;
  background: transparent;
  border: 1px solid var(--home-gold);
}
.home-page .brisbane-media img {
  min-height: 34rem;
  filter: saturate(.7) contrast(1.04);
}
.home-page .brisbane-copy strong { color: #836526; }

.home-page .safety-note {
  position: relative;
  background: #151819;
  color: #f5efe3;
  overflow: hidden;
}
.home-page .safety-note::after {
  content: "";
  position: absolute;
  width: 23rem;
  height: 23rem;
  right: -10rem;
  bottom: -16rem;
  border: 1px solid rgba(200, 165, 100, .35);
  border-radius: 50%;
}
.home-page .safety-note .eyebrow { color: var(--home-gold); }
.home-page .safety-note-copy { border-color: rgba(228, 208, 157, .35); }
.home-page .safety-note-copy p { color: #c2bdb3; }

.home-page .home-cta {
  background:
    linear-gradient(90deg, rgba(13, 15, 16, .98), rgba(13, 15, 16, .86)),
    url("images/brisbane-evening-conversation.webp") center 58% / cover;
  color: #f5efe3;
}
.home-page .home-cta::before { border-color: rgba(200, 165, 100, .48); }
.home-page .home-cta h2 { color: #f5efe3; }
.home-page .home-cta > p:not(.eyebrow) { color: #c6c0b5; }
.home-page .home-cta .button-primary {
  background: var(--home-gold);
  border-color: var(--home-gold);
  color: #111;
}

.home-page .site-footer { background: #080a0b; color: #aaa59d; }
.home-page .site-footer::before { border-color: rgba(200, 165, 100, .28); }
.home-page .footer-brand { color: #f6f0e4; }
.home-page .footer-brand strong,
.home-page .footer-inner nav a:hover,
.home-page .footer-meta a:hover { color: var(--home-gold); }

@media (max-width: 980px) {
  .home-page .site-header { position: relative; background: #090b0c; }
  .home-page .editorial-hero {
    min-height: auto;
    padding-top: clamp(4.5rem, 9vw, 7rem);
    grid-template-columns: 1fr;
  }
  .home-page .editorial-hero-copy { max-width: 46rem; }
  .home-page .editorial-hero-media { min-height: 34rem; margin-right: 0; }
  .home-page .editorial-hero-media::before { background: linear-gradient(180deg, rgba(11, 13, 14, .08), rgba(11, 13, 14, .46)); }
  .home-page .journey-heading { position: static; }
}

@media (max-width: 720px) {
  .home-page .header-inner {
    min-height: 5rem;
    padding-block: .8rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: .65rem;
  }
  .home-page .brand-mark { width: 2.2rem; height: 2.2rem; font-size: 1.2rem; }
  .home-page .site-nav {
    width: 100%;
    max-width: none;
    padding-top: .55rem;
    display: grid;
    grid-template-columns: repeat(4, auto);
    gap: .25rem;
    border-top: 1px solid rgba(228, 208, 157, .18);
  }
  .home-page .site-nav a {
    min-height: 2.75rem;
    padding: .65rem .25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    text-align: center;
  }
  .home-page .site-nav .nav-cta { padding: .65rem .5rem; }
  .home-page .editorial-hero { padding-top: 3.8rem; }
  .home-page .editorial-hero-copy::before { margin-bottom: 1.5rem; }
  .home-page .editorial-hero-copy h1 { max-width: 11ch; font-size: clamp(3rem, 15vw, 4.7rem); }
  .home-page .editorial-hero-media { min-height: 27rem; }
  .home-page .editorial-hero-media img { object-position: 61% center; }
  .home-page .editorial-hero-media img,
  .home-page .editorial-hero-media::after { clip-path: none; }
  .home-page .editorial-hero-media figcaption { left: .75rem; }
  .home-page .journey-section { background: var(--home-black); }
  .home-page .brisbane-media img { min-height: 24rem; }
}

/* Rebuilt homepage composition — based on the supplied cream/coral and black/gold references. */
.home-luxe {
  --luxe-black: #090b0c;
  --luxe-ink: #17191a;
  --luxe-gold: #c4a262;
  --luxe-gold-light: #e3cf9c;
  --luxe-cream: #f7f3eb;
  --luxe-paper: #fffdf8;
  --luxe-muted: #706b63;
  background: var(--luxe-cream);
}
.home-luxe main { overflow: hidden; }
.home-luxe .luxe-header { background: rgba(8, 10, 11, .94); }
.home-luxe .luxe-header .header-inner { width: min(86rem, calc(100% - 2 * var(--pad))); }

.home-luxe .luxe-hero {
  min-height: 49rem;
  padding: clamp(9rem, 14vw, 12.5rem) max(var(--pad), calc((100vw - 86rem) / 2)) clamp(4rem, 7vw, 6rem);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(2.5rem, 4vw, 3.75rem);
  background: var(--luxe-black);
  color: #f7f1e6;
}
.home-luxe .luxe-hero-copy { position: relative; z-index: 2; min-width: 0; }
.home-luxe .luxe-hero-copy .eyebrow { color: var(--luxe-gold); }
.home-luxe .luxe-hero h1 {
  max-width: 11ch;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(3.7rem, 5.2vw, 5.65rem);
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: .92;
}
.home-luxe .luxe-hero .hero-lead {
  max-width: 35rem;
  margin: 1.6rem 0 0;
  color: #c7c1b7;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
}
.home-luxe .luxe-hero .hero-actions { margin-top: 1.8rem; }
.home-luxe .button-gold { background: var(--luxe-gold); border-color: var(--luxe-gold); color: #111; }
.home-luxe .button-gold:hover { background: var(--luxe-gold-light); border-color: var(--luxe-gold-light); }
.home-luxe .button-outline-light { border-color: rgba(255,255,255,.6); color: #fff; }
.home-luxe .button-outline-light:hover { background: #fff; color: #111; }
.home-luxe .hero-assurances {
  margin: 2rem 0 0;
  padding: 1.15rem 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  border-top: 1px solid rgba(227, 207, 156, .28);
  list-style: none;
  color: #aaa49a;
  font-size: .72rem;
  line-height: 1.4;
}
.home-luxe .hero-assurances li { position: relative; padding-left: 1.15rem; }
.home-luxe .hero-assurances li::before { content: "◇"; position: absolute; left: 0; color: var(--luxe-gold); }
.home-luxe .luxe-hero-image {
  position: relative;
  min-height: 38rem;
  margin: 0;
}
.home-luxe .luxe-hero-image::before {
  content: "";
  position: absolute;
  inset: -1.2rem 1.2rem 1.2rem -1.2rem;
  border: 1px solid rgba(196, 162, 98, .52);
}
.home-luxe .luxe-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #090b0c 0, transparent 24%, transparent 75%, rgba(0,0,0,.25));
  pointer-events: none;
}
.home-luxe .luxe-hero-image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 56% center; filter: saturate(.76) contrast(1.08) brightness(.84); }

.home-luxe .scene-section {
  position: relative;
  padding: clamp(5.5rem, 9vw, 8rem) max(var(--pad), calc((100vw - 76rem) / 2));
  display: grid;
  grid-template-columns: minmax(20rem, .78fr) minmax(28rem, 1.22fr);
  align-items: center;
  gap: clamp(4rem, 8vw, 8rem);
  background: var(--luxe-paper);
}
.home-luxe .scene-section::before,
.home-luxe .scene-section::after { content: ""; position: absolute; border: 1px solid rgba(196,162,98,.32); border-radius: 50%; }
.home-luxe .scene-section::before { width: 22rem; height: 22rem; left: -16rem; top: 3rem; }
.home-luxe .scene-section::after { width: 18rem; height: 18rem; right: -13rem; bottom: 2rem; }
.home-luxe .scene-copy { position: relative; z-index: 1; }
.home-luxe .scene-copy .eyebrow,
.home-luxe .capabilities-heading .eyebrow,
.home-luxe .role-heading .eyebrow,
.home-luxe .local-fit-heading .eyebrow { color: #77591f; }
.home-luxe .scene-copy h2,
.home-luxe .capabilities-heading h2,
.home-luxe .role-heading h2,
.home-luxe .local-fit-heading h2,
.home-luxe .safety-copy h2,
.home-luxe .luxe-cta h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.55rem, 4.6vw, 4.65rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1;
}
.home-luxe .scene-copy > p:not(.eyebrow) { color: var(--luxe-muted); }
.home-luxe .luxe-link { color: #6f531f; }
.home-luxe .scene-visual { position: relative; min-height: 26rem; }
.home-luxe .scene-city-main { position: absolute; inset: 0 8% 0 0; margin: 0; overflow: hidden; border-radius: 11rem 11rem 1rem 1rem; box-shadow: 0 2rem 4rem rgba(33,25,14,.16); }
.home-luxe .scene-city-main img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75); }
.home-luxe .scene-note {
  position: absolute;
  right: 0;
  bottom: 2.25rem;
  min-width: 13rem;
  padding: 1.25rem;
  background: var(--luxe-black);
  border: 1px solid var(--luxe-gold);
  color: #fff;
  box-shadow: 0 1.5rem 3rem rgba(0,0,0,.25);
}
.home-luxe .scene-note strong { display: block; color: var(--luxe-gold-light); font-family: var(--display); font-size: 1.6rem; font-weight: 400; }
.home-luxe .scene-note span { color: #aaa49a; font-size: .72rem; }

.home-luxe .luxe-process { padding: 1.25rem max(var(--pad), calc((100vw - 86rem) / 2)) 3rem; background: var(--luxe-black); color: #f7f1e6; }
.home-luxe .section-label { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.2rem; }
.home-luxe .section-label span { height: 1px; background: rgba(227,207,156,.3); }
.home-luxe .section-label p { margin: 0; color: var(--luxe-gold); font-size: .66rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.home-luxe .process-grid { margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; }
.home-luxe .process-grid li { min-height: 10rem; padding: .5rem 1.5rem; display: grid; grid-template-columns: 2.8rem 1fr; gap: .75rem; border-right: 1px solid rgba(227,207,156,.24); }
.home-luxe .process-grid li:last-child { border-right: 0; }
.home-luxe .process-number { width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border: 1px solid rgba(196,162,98,.62); border-radius: 50%; color: var(--luxe-gold); font-family: var(--display); }
.home-luxe .process-grid h2 { margin: .15rem 0 .55rem; color: var(--luxe-gold-light); font-family: var(--display); font-size: 1.3rem; font-weight: 400; line-height: 1.1; }
.home-luxe .process-grid p { margin: 0; color: #aaa49a; font-size: .82rem; line-height: 1.5; }

.home-luxe .service-capabilities { padding: var(--section) max(var(--pad), calc((100vw - 76rem) / 2)); background: var(--luxe-cream); text-align: center; }
.home-luxe .capabilities-heading { max-width: 50rem; margin: 0 auto 3.2rem; }
.home-luxe .capability-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 2.4rem; }
.home-luxe .capability-grid article { padding: .75rem clamp(1rem, 2.4vw, 2.4rem); border-right: 1px solid rgba(38,35,29,.16); }
.home-luxe .capability-grid article:last-child { border-right: 0; }
.home-luxe .capability-grid span { width: 3.15rem; height: 3.15rem; margin: 0 auto 1.15rem; display: grid; place-items: center; border: 1px solid var(--luxe-gold); border-radius: 50%; color: #7d6028; font-family: var(--display); }
.home-luxe .capability-grid h3 { margin: 0 0 .65rem; font-family: var(--display); font-size: 1.25rem; font-weight: 400; }
.home-luxe .capability-grid p { margin: 0; color: var(--luxe-muted); font-size: .86rem; }
.home-luxe .button-outline-dark { margin-inline: auto; border-color: #403b33; color: #27241f; }
.home-luxe .button-outline-dark:hover { background: var(--luxe-black); color: #fff; }

.home-luxe .role-section { padding: var(--section) max(var(--pad), calc((100vw - 76rem) / 2)); background: #121516; color: #eee8de; }
.home-luxe .role-heading { display: grid; grid-template-columns: .7fr 1.3fr; align-items: end; gap: 4rem; }
.home-luxe .role-heading .eyebrow { color: var(--luxe-gold); }
.home-luxe .role-grid { margin-top: 3rem; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(227,207,156,.25); border-bottom: 1px solid rgba(227,207,156,.25); }
.home-luxe .role-grid article { padding: 2rem 3rem 2rem 0; }
.home-luxe .role-grid article + article { padding-left: 3rem; border-left: 1px solid rgba(227,207,156,.25); }
.home-luxe .role-index { color: var(--luxe-gold); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.home-luxe .role-grid h3 { margin: .5rem 0 .8rem; color: var(--luxe-gold-light); font-family: var(--display); font-size: 1.75rem; font-weight: 400; }
.home-luxe .role-grid article > p:last-child { color: #bdb7ad; }

.home-luxe .local-fit { padding: var(--section) max(var(--pad), calc((100vw - 76rem) / 2)); background: var(--luxe-paper); }
.home-luxe .local-fit-heading { max-width: 58rem; margin-bottom: 3.25rem; }
.home-luxe .fit-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(38,35,29,.18); }
.home-luxe .fit-grid article { padding: 2rem 1.6rem 0 0; }
.home-luxe .fit-grid article + article { padding-left: 1.6rem; border-left: 1px solid rgba(38,35,29,.18); }
.home-luxe .fit-grid span { color: #886928; font-family: var(--display); font-size: 1.3rem; }
.home-luxe .fit-grid h3 { margin: .6rem 0; font-family: var(--display); font-size: 1.45rem; font-weight: 400; }
.home-luxe .fit-grid p { margin: 0; color: var(--luxe-muted); font-size: .86rem; }

.home-luxe .luxe-safety { min-height: 31rem; display: grid; grid-template-columns: .85fr 1.15fr; background: var(--luxe-black); color: #f5efe4; }
.home-luxe .safety-image { min-height: 31rem; background: linear-gradient(90deg, transparent 55%, #090b0c), url("images/brisbane-evening-conversation.webp") 20% center / cover; filter: saturate(.7) brightness(.72); }
.home-luxe .safety-copy { max-width: 43rem; padding: clamp(4rem, 7vw, 6.5rem) var(--pad); align-self: center; }
.home-luxe .safety-copy .eyebrow { color: var(--luxe-gold); }
.home-luxe .safety-copy > p:not(.eyebrow), .home-luxe .safety-copy li { color: #bdb7ad; }
.home-luxe .safety-copy ul { margin: 1.4rem 0; padding-left: 1.2rem; }
.home-luxe .safety-copy li + li { margin-top: .45rem; }
.home-luxe .safety-copy .text-link { color: var(--luxe-gold-light); }

.home-luxe .luxe-cta { padding: clamp(3.5rem, 6vw, 5rem) max(var(--pad), calc((100vw - 76rem) / 2)); display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: clamp(2rem, 5vw, 5rem); background: linear-gradient(105deg, #9f5454, #6f3031); color: #fff8ef; }
.home-luxe .luxe-cta .eyebrow { color: #f4d6b8; }
.home-luxe .luxe-cta h2 { color: #fff8ef; font-size: clamp(2.3rem, 3.8vw, 3.8rem); }
.home-luxe .luxe-cta > p { color: #f2dfd6; }
.home-luxe .button-light { background: #fff9f1; border-color: #fff9f1; color: #5c2829; white-space: nowrap; }
.home-luxe .luxe-footer { background: #080a0b; }

@media (max-width: 980px) {
  .home-luxe .luxe-hero { grid-template-columns: 1fr; padding-top: 5.5rem; }
  .home-luxe .luxe-hero-copy { max-width: 48rem; }
  .home-luxe .luxe-hero-image { min-height: 34rem; margin-right: 0; }
  .home-luxe .scene-section { grid-template-columns: 1fr; }
  .home-luxe .scene-copy { max-width: 44rem; }
  .home-luxe .process-grid, .home-luxe .capability-grid, .home-luxe .fit-grid { grid-template-columns: 1fr 1fr; }
  .home-luxe .process-grid li:nth-child(2) { border-right: 0; }
  .home-luxe .process-grid li:nth-child(n+3) { padding-top: 1.5rem; border-top: 1px solid rgba(227,207,156,.24); }
  .home-luxe .capability-grid article:nth-child(2) { border-right: 0; }
  .home-luxe .capability-grid article:nth-child(n+3) { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgba(38,35,29,.16); }
  .home-luxe .fit-grid article:nth-child(3) { border-left: 0; }
  .home-luxe .fit-grid article:nth-child(n+3) { margin-top: 2rem; border-top: 1px solid rgba(38,35,29,.18); }
  .home-luxe .luxe-safety { grid-template-columns: .7fr 1.3fr; }
  .home-luxe .luxe-cta { grid-template-columns: 1fr 1fr; }
  .home-luxe .luxe-cta .button { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .home-luxe .luxe-header .site-nav { grid-template-columns: repeat(5, auto); }
  .home-luxe .luxe-header .site-nav a { font-size: .75rem; }
  .home-luxe .luxe-hero { padding-top: 4rem; }
  .home-luxe .luxe-hero h1 { font-size: clamp(3.1rem, 15vw, 4.6rem); }
  .home-luxe .hero-assurances { grid-template-columns: 1fr; gap: .7rem; }
  .home-luxe .luxe-hero-image { min-height: 27rem; }
  .home-luxe .luxe-hero-image img { object-position: 61% center; }
  .home-luxe .scene-visual { min-height: 22rem; }
  .home-luxe .scene-city-main { inset: 0; border-radius: 7rem 7rem 1rem 1rem; }
  .home-luxe .scene-note { right: .75rem; bottom: .75rem; min-width: 11rem; }
  .home-luxe .section-label { grid-template-columns: 1fr; text-align: center; }
  .home-luxe .section-label span { display: none; }
  .home-luxe .process-grid, .home-luxe .capability-grid, .home-luxe .fit-grid { grid-template-columns: 1fr; }
  .home-luxe .process-grid li { min-height: auto; padding: 1.35rem 0; border-right: 0; border-bottom: 1px solid rgba(227,207,156,.24); }
  .home-luxe .process-grid li:nth-child(n+3) { padding-top: 1.35rem; border-top: 0; }
  .home-luxe .capability-grid article { padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid rgba(38,35,29,.16); }
  .home-luxe .capability-grid article:nth-child(n+3) { margin-top: 0; }
  .home-luxe .role-heading, .home-luxe .role-grid { grid-template-columns: 1fr; gap: 1rem; }
  .home-luxe .role-grid article, .home-luxe .role-grid article + article { padding: 1.75rem 0; border-left: 0; }
  .home-luxe .role-grid article + article { border-top: 1px solid rgba(227,207,156,.25); }
  .home-luxe .fit-grid article, .home-luxe .fit-grid article + article { padding: 1.5rem 0; border-left: 0; border-bottom: 1px solid rgba(38,35,29,.18); }
  .home-luxe .fit-grid article:nth-child(n+3) { margin-top: 0; border-top: 0; }
  .home-luxe .luxe-safety { grid-template-columns: 1fr; }
  .home-luxe .safety-image { min-height: 18rem; background: linear-gradient(180deg, transparent 55%, #090b0c), url("images/brisbane-evening-conversation.webp") 35% center / cover; }
  .home-luxe .safety-copy { padding-top: 1rem; }
  .home-luxe .luxe-cta { grid-template-columns: 1fr; text-align: center; }
  .home-luxe .luxe-cta .button { grid-column: auto; margin-inline: auto; }
}

/* Outline-led homepage: each composition advances a different visitor decision. */
.outline-home .luxe-header { position: absolute; inset: 0 0 auto; z-index: 10; border-bottom: 0; }
.outline-home .luxe-header .header-inner { border-bottom: 1px solid rgba(227, 207, 156, .24); }
.outline-home .luxe-header .brand { color: #f7f1e6; }
.outline-home .luxe-header .brand strong { color: var(--luxe-gold); }
.outline-home .luxe-header .brand-mark { background: transparent; border: 1px solid var(--luxe-gold); color: var(--luxe-gold); transform: none; }
.outline-home .luxe-header .site-nav a { color: #e7e1d7; }
.outline-home .luxe-header .site-nav a:not(.nav-cta)::after { background: var(--luxe-gold); }
.outline-home .luxe-header .nav-cta { background: var(--luxe-gold); border-color: var(--luxe-gold); color: #111; }
.outline-home .luxe-hero h1 { max-width: 12ch; }

.outline-home .audience-entry {
  padding: clamp(5.5rem, 9vw, 8rem) max(var(--pad), calc((100vw - 76rem) / 2));
  background: var(--luxe-paper);
}
.outline-home .audience-heading { max-width: 62rem; margin: 0 auto 3rem; text-align: center; }
.outline-home .audience-heading h2 { max-width: 18ch; margin-inline: auto; text-align: center; }
.outline-home .audience-heading > p:last-child { max-width: 48rem; margin-inline: auto; }
.outline-home .audience-heading .eyebrow,
.outline-home .profile-decision .eyebrow,
.outline-home .control-heading .eyebrow,
.outline-home .decision-heading .eyebrow { color: #77591f; }
.outline-home .audience-heading h2,
.outline-home .profile-decision h2,
.outline-home .control-heading h2,
.outline-home .decision-heading h2,
.outline-home .journey-intro h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.55rem, 4.5vw, 4.55rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1;
}
.outline-home .audience-heading > p:last-child,
.outline-home .local-fit-heading > p:last-child,
.outline-home .control-heading > p:not(.eyebrow),
.outline-home .decision-heading > p:last-child { color: var(--luxe-muted); }
.outline-home .audience-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(38, 35, 29, .2); border-bottom: 1px solid rgba(38, 35, 29, .2); }
.outline-home .audience-paths article {
  min-width: 0;
  padding: 2.25rem clamp(1.5rem, 3vw, 3rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.outline-home .audience-paths article + article { border-left: 1px solid rgba(38, 35, 29, .2); }
.outline-home .path-index { margin-bottom: .8rem; color: #876823; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.outline-home .audience-paths h3 { margin: 0; font-family: var(--display); font-size: 1.75rem; font-weight: 400; }
.outline-home .audience-paths p { margin: .5rem 0 .8rem; color: var(--luxe-muted); }
.outline-home .audience-paths .text-link { margin-top: auto; }

.outline-home .local-radius-heading,
.outline-home .control-heading,
.outline-home .decision-heading,
.outline-home .home-faq-heading { margin-inline: auto; text-align: center; }
.outline-home .local-radius-heading h2,
.outline-home .control-heading h2,
.outline-home .decision-heading h2,
.outline-home .home-faq-heading h2 { margin-inline: auto; text-align: center; }
.outline-home .local-radius-heading > div:last-child,
.outline-home .control-heading > p:not(.eyebrow),
.outline-home .decision-heading > p:last-child,
.outline-home .home-faq-heading > p:not(.eyebrow) { margin-inline: auto; }
.outline-home .luxe-cta > div { text-align: center; }
.outline-home .luxe-cta h2 { margin-inline: auto; text-align: center; }

.outline-home .local-fit { position: relative; }
.outline-home .local-fit::after {
  content: "BRISBANE / FIT";
  position: absolute;
  right: var(--pad);
  top: 3rem;
  color: rgba(80, 61, 26, .1);
  font-size: clamp(3rem, 8vw, 8rem);
  font-weight: 850;
  letter-spacing: -.06em;
  pointer-events: none;
}
.outline-home .local-fit-heading { position: relative; z-index: 1; }
.outline-home .local-fit .button { margin-top: 3rem; }
.outline-home .fit-example {
  margin-top: 2.5rem;
  padding: 1.3rem 1.5rem;
  display: grid;
  grid-template-columns: 9rem 1fr;
  gap: 1.5rem;
  border-left: .2rem solid var(--luxe-gold);
  background: #f0e8da;
}
.outline-home .fit-example strong { color: #72551e; font-family: var(--display); font-size: 1.25rem; font-weight: 400; }
.outline-home .fit-example p { margin: 0; color: var(--luxe-muted); }

.outline-home .profile-showcase {
  padding: clamp(5.5rem, 9vw, 8rem) max(var(--pad), calc((100vw - 76rem) / 2));
  background: #efe7da;
}

.outline-home .local-radius {
  padding: clamp(5.5rem, 9vw, 8rem) max(var(--pad), calc((100vw - 76rem) / 2));
  background: #f8f4ed;
}
.outline-home .local-radius-heading { margin-bottom: 3rem; display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
.outline-home .local-radius-heading h2 { margin: 0; max-width: 20ch; font-family: var(--display); font-size: clamp(2.5rem, 4.5vw, 4.35rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.outline-home .local-radius-heading > div:last-child { max-width: 58rem; color: var(--luxe-muted); }
.outline-home .local-radius-heading > div:last-child p:last-child { margin-bottom: 0; }
.outline-home .local-radius-board { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #111415; color: #f5efe4; }
.outline-home .local-radius-board article { min-width: 0; padding: clamp(1.7rem, 3vw, 2.6rem); }
.outline-home .local-radius-board article + article { border-left: 1px solid rgba(227, 207, 156, .25); }
.outline-home .radius-index { color: var(--luxe-gold); font-family: var(--display); font-size: 1.35rem; }
.outline-home .radius-area { min-height: 2.3rem; margin: 1.4rem 0 .75rem; color: var(--luxe-gold-light); font-size: .68rem; font-weight: 850; letter-spacing: .11em; line-height: 1.55; text-transform: uppercase; }
.outline-home .local-radius-board h3 { margin: 0 0 1rem; font-family: var(--display); font-size: clamp(1.65rem, 2.6vw, 2.25rem); font-weight: 400; }
.outline-home .local-radius-board article > p:not(.radius-area) { min-height: 8.5rem; color: #c8c1b6; }
.outline-home .local-radius-board dl { margin: 1.5rem 0 0; border-top: 1px solid rgba(227, 207, 156, .22); }
.outline-home .local-radius-board dl div { padding: .9rem 0; border-bottom: 1px solid rgba(227, 207, 156, .22); }
.outline-home .local-radius-board dt { margin-bottom: .3rem; color: var(--luxe-gold-light); font-size: .67rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.outline-home .local-radius-board dd { margin: 0; color: #f1e9dc; }
.outline-home .local-radius-check { padding: 1.5rem 0 0; display: grid; grid-template-columns: 12rem 1fr auto; gap: 1.5rem 2rem; align-items: start; }
.outline-home .local-radius-check strong { color: #72551e; font-family: var(--display); font-size: 1.35rem; font-weight: 400; }
.outline-home .local-radius-check p { margin: 0; color: var(--luxe-muted); }
.outline-home .local-radius-check a { white-space: nowrap; }
.outline-home .profile-showcase-intro { max-width: 48rem; margin: 0 auto 2.8rem; text-align: center; }
.outline-home .profile-showcase-intro h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.35rem, 4vw, 3.9rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.04;
}
.outline-home .profile-showcase-intro > p:not(.eyebrow) { max-width: 42rem; margin: 1rem auto 0; color: var(--luxe-muted); }
.outline-home .profile-stack { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.outline-home .profile-card {
  min-width: 0;
  overflow: hidden;
  background: var(--luxe-paper);
  border: 1px solid rgba(38, 35, 29, .13);
  box-shadow: 0 1.2rem 2.8rem rgba(38, 35, 29, .09);
}
.outline-home .profile-card-photo { aspect-ratio: 4 / 3; overflow: hidden; background: #d9d0c1; }
.outline-home .profile-card-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 28%; transition: transform .45s ease; }
.outline-home .profile-card-photo-soft { background: linear-gradient(145deg, #d9e6e9, #e7ded2); }
.outline-home .profile-card:hover .profile-card-photo img { transform: scale(1.025); }
.outline-home .profile-card-body { padding: 1.35rem 1.4rem 1.5rem; }
.outline-home .profile-card header { padding-bottom: 1rem; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(38, 35, 29, .14); }
.outline-home .profile-card header small { color: #806124; font-size: .67rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.outline-home .profile-card header span { color: #806124; font-size: 1.6rem; line-height: 1; }
.outline-home .profile-card h3 { margin: .25rem 0 0; font-family: var(--display); font-size: 1.55rem; font-weight: 400; line-height: 1.08; }
.outline-home .profile-headline { min-height: 3.25rem; margin: 1rem 0; color: var(--luxe-muted); }
.outline-home .profile-card dl { margin: 0; border-top: 1px solid rgba(38, 35, 29, .13); }
.outline-home .profile-card dl > div { padding: .58rem 0; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(38, 35, 29, .13); }
.outline-home .profile-card dt { color: #806124; font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.outline-home .profile-card dd { margin: 0; color: var(--luxe-muted); text-align: right; }
.outline-home .profile-card-link { margin-top: 1.2rem; display: inline-flex; gap: .45rem; color: #493810; font-size: .82rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.outline-home .profile-showcase-action { margin-top: 2.5rem; text-align: center; }

.outline-home .profile-decision {
  padding: clamp(5.5rem, 9vw, 8rem) max(var(--pad), calc((100vw - 76rem) / 2));
  display: grid;
  grid-template-columns: minmax(20rem, .75fr) minmax(30rem, 1.25fr);
  gap: clamp(3rem, 8vw, 8rem);
  background: #111415;
  color: #f5efe4;
}
.outline-home .profile-decision .eyebrow { color: var(--luxe-gold); }
.outline-home .profile-decision-heading > p:not(.eyebrow) { color: #bdb7ad; }
.outline-home .profile-decision .light-text-link { color: var(--luxe-gold-light); }
.outline-home .profile-specimen { margin: 0; border-top: 1px solid rgba(227, 207, 156, .28); }
.outline-home .profile-specimen div { padding: 1.55rem 0; display: grid; grid-template-columns: minmax(9rem, .55fr) 1fr; gap: 1.5rem; border-bottom: 1px solid rgba(227, 207, 156, .28); }
.outline-home .profile-specimen dt { color: var(--luxe-gold-light); font-family: var(--display); font-size: 1.45rem; }
.outline-home .profile-specimen dd { margin: 0; color: #bdb7ad; }

.outline-home .journey-flow { padding-top: clamp(4rem, 7vw, 6rem); }
.outline-home .journey-intro { max-width: 50rem; margin: 3rem auto 0; text-align: center; }
.outline-home .journey-intro h2 { color: #f5efe4; }
.outline-home .journey-intro p { color: #aaa49a; }
.outline-home .process-grid { grid-template-columns: repeat(3, 1fr); }
.outline-home .process-grid h3 { margin: .15rem 0 .55rem; color: var(--luxe-gold-light); font-family: var(--display); font-size: 1.35rem; font-weight: 400; }
.outline-home .journey-link { display: table; margin: 2.5rem auto 0; color: var(--luxe-gold-light); }

.outline-home .control-section {
  padding: clamp(5.5rem, 9vw, 8rem) max(var(--pad), calc((100vw - 76rem) / 2));
  background: var(--luxe-cream);
}
.outline-home .control-heading { max-width: 62rem; margin-bottom: 3rem; }
.outline-home .control-heading h2 { max-width: 18ch; }
.outline-home .control-heading > p:not(.eyebrow) { max-width: 48rem; }
.outline-home .control-ledger { border-top: 1px solid rgba(38, 35, 29, .18); }
.outline-home .control-ledger article { padding: 1.45rem 0; display: grid; grid-template-columns: 8rem 1fr; gap: 1.5rem; border-bottom: 1px solid rgba(38, 35, 29, .18); }
.outline-home .control-ledger span { color: #806124; font-family: var(--display); font-size: 1.35rem; }
.outline-home .control-ledger p { margin: 0; color: var(--luxe-muted); }

.outline-home .decision-section { padding: clamp(5.5rem, 9vw, 8rem) max(var(--pad), calc((100vw - 76rem) / 2)); background: var(--luxe-paper); }
.outline-home .decision-heading { max-width: 54rem; }
.outline-home .decision-columns { margin-top: 3.25rem; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(38, 35, 29, .2); border-bottom: 1px solid rgba(38, 35, 29, .2); }
.outline-home .decision-columns > div { padding: 2.3rem 3rem 2.3rem 0; }
.outline-home .decision-columns > div + div { padding-left: 3rem; border-left: 1px solid rgba(38, 35, 29, .2); }
.outline-home .decision-columns h3 { margin: 0 0 1.2rem; font-family: var(--display); font-size: 1.65rem; font-weight: 400; }
.outline-home .decision-columns ul { margin: 0; padding: 0; list-style: none; }
.outline-home .decision-columns li { position: relative; padding: .55rem 0 .55rem 1.4rem; color: var(--luxe-muted); }
.outline-home .decision-columns li::before { content: "—"; position: absolute; left: 0; color: #886928; }

.outline-home .home-faq {
  padding: clamp(5rem, 8vw, 7rem) max(var(--pad), calc((100vw - 76rem) / 2));
  background: #f8f4ed;
}
.outline-home .home-faq-heading { max-width: 62rem; margin-bottom: 3rem; }
.outline-home .home-faq-heading h2 { margin: 0; max-width: 18ch; font-family: var(--display); font-size: clamp(2.35rem, 4vw, 3.8rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.03; }
.outline-home .home-faq-heading > p:not(.eyebrow) { max-width: 48rem; color: var(--luxe-muted); }
.outline-home .home-faq-list { border-top: 1px solid rgba(38, 35, 29, .22); }
.outline-home .home-faq-list details { border-bottom: 1px solid rgba(38, 35, 29, .22); }
.outline-home .home-faq-list summary { position: relative; padding: 1.55rem 3rem 1.55rem 0; cursor: pointer; list-style: none; font-family: var(--display); font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.25; }
.outline-home .home-faq-list summary::-webkit-details-marker { display: none; }
.outline-home .home-faq-list summary::after { content: "+"; position: absolute; top: 1.35rem; right: .2rem; color: #806124; font-family: var(--sans); font-size: 1.65rem; font-weight: 300; }
.outline-home .home-faq-list details[open] summary::after { content: "−"; }
.outline-home .home-faq-list details p { margin: -.25rem 3rem 1.55rem 0; max-width: 45rem; color: var(--luxe-muted); }

.outline-home .luxe-cta { grid-template-columns: minmax(0, 1fr) auto; }
.outline-home .luxe-cta > div { grid-column: 1 / -1; }
.outline-home .luxe-cta > p { max-width: 52rem; }

@media (max-width: 980px) {
  .outline-home .luxe-header { position: relative; background: var(--luxe-black); }
  .outline-home .audience-entry,
  .outline-home .profile-showcase,
  .outline-home .profile-decision,
  .outline-home .control-section,
  .outline-home .local-radius-heading,
  .outline-home .home-faq { grid-template-columns: 1fr; }
  .outline-home .local-radius-board { grid-template-columns: 1fr; }
  .outline-home .local-radius-board article + article { border-top: 1px solid rgba(227, 207, 156, .25); border-left: 0; }
  .outline-home .local-radius-board article > p:not(.radius-area) { min-height: 0; }
  .outline-home .local-radius-check { grid-template-columns: 1fr; }
  .outline-home .local-radius-check a { white-space: normal; }
  .outline-home .audience-heading,
  .outline-home .profile-showcase-intro,
  .outline-home .profile-decision-heading,
  .outline-home .control-heading { max-width: 48rem; }
  .outline-home .profile-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .outline-home .luxe-header .header-inner { display: grid; grid-template-columns: 1fr; gap: .65rem; }
  .outline-home .luxe-header .site-nav {
    width: 100%;
    max-width: none;
    padding-top: .55rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .25rem;
    border-top: 1px solid rgba(227, 207, 156, .2);
  }
  .outline-home .luxe-header .site-nav a { min-height: 2.75rem; padding: .65rem .5rem; display: inline-flex; align-items: center; justify-content: center; font-size: .78rem; text-align: center; }
  .outline-home .luxe-hero { padding-top: 4.5rem; }
  .outline-home .audience-paths { grid-template-columns: 1fr; }
  .outline-home .audience-paths article { border-bottom: 1px solid rgba(38, 35, 29, .2); }
  .outline-home .audience-paths article + article { border-left: 0; }
  .outline-home .audience-paths article:last-child { border-bottom: 0; }
  .outline-home .audience-paths article,
  .outline-home .profile-specimen div,
  .outline-home .control-ledger article { grid-template-columns: 1fr; gap: .4rem; }
  .outline-home .path-index { grid-row: auto; }
  .outline-home .local-fit::after { top: 1.5rem; }
  .outline-home .fit-example { grid-template-columns: 1fr; gap: .35rem; }
  .outline-home .profile-stack { grid-template-columns: 1fr; }
  .outline-home .profile-card-photo { aspect-ratio: 16 / 11; }
  .outline-home .process-grid { grid-template-columns: 1fr; }
  .outline-home .decision-columns { grid-template-columns: 1fr; }
  .outline-home .decision-columns > div,
  .outline-home .decision-columns > div + div { padding: 2rem 0; border-left: 0; }
  .outline-home .decision-columns > div + div { border-top: 1px solid rgba(38, 35, 29, .2); }
  .outline-home .luxe-cta { grid-template-columns: 1fr; text-align: center; }
  .outline-home .luxe-cta > div { grid-column: auto; }
}

/* Keep the Brisbane radius heading centred after the section-specific heading rules. */
.outline-home .local-radius-heading > div:first-child {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.outline-home .local-radius-heading h2 {
  width: 100%;
  max-width: 24ch;
  margin: 0 auto;
  text-align: center;
}
