/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities;
:root {
  --ink: #101722;
  --ink-2: #1b2635;
  --paper: #ffffff;
  --sand: #f4f1e9;
  --sand-2: #eae4d8;
  --mist: #eef2f2;
  --lime: #d7ff45;
  --lime-dark: #b5e50c;
  --blue: #89c8df;
  --line: #d9ddd9;
  --muted: #667078;
  --radius: 20px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Aptos", "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
a {
  color: inherit;
  text-decoration: none;
}
button, input, textarea, select {
  font: inherit;
}
img {
  display: block;
}
::selection {
  background: var(--lime);
  color: var(--ink);
}
.shell {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}
.section {
  padding: 112px 0;
}
h1, h2, h3, p {
  margin-top: 0;
}
h1, h2, h3 {
  letter-spacing: -0.045em;
  line-height: 1.02;
}
h1 {
  font-size: clamp(3.35rem, 6.5vw, 6.6rem);
  font-weight: 540;
}
h2 {
  font-size: clamp(2.5rem, 4.5vw, 4.4rem);
  font-weight: 540;
}
h3 {
  font-size: 1.35rem;
  font-weight: 620;
}
p {
  color: var(--muted);
}
.site-header {
  height: 80px;
  border-bottom: 1px solid var(--line);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 1px solid color-mix(in srgb, var(--line) 75%, transparent);
  }
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px);
  position: sticky;
  top: 0;
  z-index: 50;
}
.header-inner {
  height: 100%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
}
.logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.055em;
}
.logo > span:last-child > span {
  color: #82a900;
}
.logo-mark {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: var(--ink);
  display: inline-grid;
  place-items: center;
  position: relative;
}
.logo-mark::before {
  content: "";
  width: 11px;
  height: 14px;
  border: 3px solid var(--lime);
  border-left-width: 4px;
  border-radius: 1px 6px 6px 1px;
}
.logo-mark span {
  position: absolute;
  width: 6px;
  height: 6px;
  background: white;
  border-radius: 50%;
  right: 4px;
  top: 4px;
}
.logo-mark.small {
  width: 27px;
  height: 27px;
  border-radius: 8px;
}
.desktop-nav {
  display: flex;
  justify-content: center;
  gap: 28px;
  font-size: 0.91rem;
  font-weight: 600;
  color: #4e565e;
}
.desktop-nav a {
  transition: color 0.2s ease;
}
.desktop-nav a:hover {
  color: var(--ink);
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.whatsapp-header {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 15px;
  border: 1px solid #cfd7d2;
  border-radius: 999px;
  color: #34413a;
  font-size: 0.84rem;
  font-weight: 750;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.whatsapp-header svg {
  color: #168c4d;
}
.whatsapp-header:hover {
  color: var(--ink);
  border-color: #9fb5a8;
  background: #f0f8f3;
}
.button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  padding: 0 21px;
  font-size: 0.92rem;
  font-weight: 700;
  transition: transform 0.2s ease, background 0.2s ease;
}
.button:hover {
  transform: translateY(-2px);
}
.button-dark {
  background: var(--ink);
  color: white;
}
.button-dark:hover {
  background: #273342;
}
.button-lime {
  background: var(--lime);
  color: var(--ink);
}
.button-lime:hover {
  background: #e4ff7d;
}
.button-whatsapp {
  background: #168c4d;
  color: white !important;
}
.button-whatsapp:hover {
  background: #11733f;
}
.button-whatsapp-outline {
  color: var(--ink);
  border: 1px solid rgba(16, 23, 34, 0.34);
  background: rgba(255, 255, 255, 0.38);
}
.button-whatsapp-outline:hover {
  background: white;
  border-color: white;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.94rem;
  font-weight: 700;
  border-bottom: 1px solid #a9afb0;
  padding-bottom: 3px;
  width: fit-content;
}
.text-link svg, .button svg {
  transition: transform 0.2s ease;
}
.text-link:hover svg, .button:hover svg {
  transform: translateX(3px);
}
.mobile-menu {
  display: none;
  position: relative;
}
.mobile-menu summary {
  list-style: none;
  cursor: pointer;
  padding: 8px;
}
.mobile-menu summary::-webkit-details-marker {
  display: none;
}
.mobile-menu nav {
  position: absolute;
  right: 0;
  top: 49px;
  width: 260px;
  padding: 18px;
  background: var(--ink);
  color: white;
  border-radius: 16px;
  box-shadow: 0 22px 70px rgba(16, 23, 34, 0.22);
  display: grid;
  gap: 13px;
}
.mobile-menu nav > a:not(.button) {
  padding: 5px 4px;
}
.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  font-size: 0.73rem;
  line-height: 1.2;
  letter-spacing: 0.13em;
  font-weight: 750;
  color: #5d666c;
  margin-bottom: 24px;
}
.eyebrow > span {
  width: 24px;
  height: 2px;
  background: var(--lime-dark);
}
.eyebrow-light {
  color: #aeb7bf;
}
.hero {
  overflow: hidden;
  background: linear-gradient(180deg, #fff 0%, #f6f4ee 100%);
  padding: 46px 0 0;
}
.hero-grid {
  min-height: 670px;
  display: grid;
  grid-template-columns: 0.96fr 1.04fr;
  gap: 54px;
  align-items: center;
}
.hero-copy {
  padding: 45px 0 80px;
  position: relative;
  z-index: 2;
}
.hero-copy h1 {
  max-width: 720px;
  margin-bottom: 28px;
}
.hero-copy h1 em {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  color: #47606d;
}
.hero-copy > p {
  font-size: 1.18rem;
  max-width: 600px;
  line-height: 1.7;
}
.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 25px;
  margin-top: 34px;
}
.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 38px;
  color: #59636b;
  font-size: 0.82rem;
}
.hero-proof span {
  display: flex;
  align-items: center;
  gap: 7px;
}
.hero-proof svg {
  color: #739300;
}
.hero-visual {
  position: relative;
  height: 570px;
  align-self: end;
  border-radius: 120px 0 0 0;
  overflow: hidden;
  box-shadow: -20px 32px 80px rgba(49, 59, 61, 0.12);
}
.hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(18, 25, 33, 0.18), transparent 35%);
  pointer-events: none;
}
.hero-visual img {
  object-fit: cover;
  object-position: center;
}
.floating-intent, .floating-match {
  position: absolute;
  z-index: 3;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 18px 50px rgba(16, 23, 34, 0.19);
  backdrop-filter: blur(10px);
}
.floating-intent {
  left: 24px;
  top: 62px;
  max-width: 330px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  border-radius: 14px;
  font-size: 0.82rem;
  font-weight: 650;
}
.floating-intent svg {
  color: #739300;
}
.floating-intent small {
  display: block;
  color: #788087;
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 2px;
}
.floating-match {
  right: 20px;
  bottom: 28px;
  padding: 16px 19px;
  border-radius: 17px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.floating-match strong {
  font-size: 2.2rem;
  line-height: 1;
}
.floating-match span {
  font-size: 0.75rem;
  color: #677177;
  line-height: 1.35;
}
.hero-line {
  height: 72px;
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 0.68rem;
  letter-spacing: 0.15em;
  font-weight: 800;
  color: #6f787c;
}
.hero-line i {
  height: 1px;
  background: #ccd0cb;
  flex: 1;
}
.section-heading {
  max-width: 840px;
  margin-bottom: 58px;
}
.section-heading h2 {
  margin-bottom: 0;
}
.split-heading {
  max-width: none;
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  align-items: end;
  gap: 70px;
}
.split-heading > p {
  margin-bottom: 8px;
  font-size: 1.05rem;
  line-height: 1.75;
}
.audience-section {
  background: var(--paper);
}
.audience-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.audience-card {
  min-height: 380px;
  padding: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  transition: background 0.25s ease, transform 0.25s ease;
}
.audience-card:hover {
  background: var(--sand);
  transform: translateY(-5px);
}
.audience-card-top {
  display: flex;
  justify-content: space-between;
  color: #6d777d;
}
.audience-card .number {
  font-size: 0.74rem;
  letter-spacing: 0.1em;
}
.audience-card > p {
  margin: 80px 0 12px;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  font-weight: 750;
  color: #7b8500;
}
.audience-card h3 {
  margin-bottom: 18px;
}
.audience-card > span {
  color: var(--muted);
  font-size: 0.91rem;
}
.audience-card b {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.88rem;
}
.product-section {
  background: var(--sand);
}
.product-grid {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 100px;
  align-items: center;
}
.product-copy h2 {
  margin-bottom: 28px;
}
.product-copy > p {
  font-size: 1.06rem;
  line-height: 1.78;
}
.product-copy .text-link {
  margin-top: 18px;
}
.conversation-card {
  width: min(100%, 520px);
  margin-inline: auto;
  background: #e9eeeb;
  border: 10px solid var(--ink);
  border-radius: 40px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(16, 23, 34, 0.18);
}
.conversation-top {
  background: white;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #dfe3df;
}
.conversation-top > div:nth-child(2) {
  display: grid;
  line-height: 1.15;
}
.conversation-top strong {
  font-size: 0.9rem;
}
.conversation-top small {
  color: #7e888b;
  font-size: 0.66rem;
}
.online {
  margin-left: auto;
  border: 1px solid #dce3d8;
  border-radius: 99px;
  padding: 3px 8px;
  color: #638200;
  font-size: 0.62rem;
  font-weight: 700;
}
.conversation-body {
  padding: 26px 19px 22px;
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.bubble {
  max-width: 79%;
  padding: 12px 14px;
  font-size: 0.82rem;
  line-height: 1.45;
  box-shadow: 0 3px 12px rgba(16, 23, 34, 0.05);
}
.bubble-user {
  align-self: flex-end;
  background: var(--ink);
  color: white;
  border-radius: 15px 15px 4px 15px;
}
.bubble-ai {
  background: white;
  border-radius: 15px 15px 15px 4px;
}
.bubble.compact {
  padding-block: 9px;
}
.bubble-ai.compact {
  display: flex;
  align-items: center;
  gap: 7px;
}
.bubble-ai.compact svg {
  color: #759700;
}
.match-row {
  background: white;
  border-radius: 15px;
  padding: 10px;
  display: grid;
  grid-template-columns: 62px 1fr auto;
  gap: 10px;
  align-items: center;
  box-shadow: 0 5px 18px rgba(16, 23, 34, 0.06);
}
.match-thumb {
  width: 62px;
  height: 62px;
  border-radius: 10px;
  background: linear-gradient( 145deg, #a8ced8 0 45%, #e6dfcf 46% 70%, #6f7e6f 71% );
}
.match-row > div:nth-child(2) {
  display: grid;
  line-height: 1.3;
}
.match-row small {
  color: #789400;
  text-transform: uppercase;
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  font-weight: 800;
}
.match-row strong {
  font-size: 0.8rem;
}
.match-row span:not(.match-score) {
  color: #6f787c;
  font-size: 0.7rem;
}
.match-score {
  background: #eff8cf;
  color: #5f7800;
  border-radius: 99px;
  padding: 5px 7px;
  font-size: 0.64rem;
  font-weight: 800;
}
.conversation-input {
  background: white;
  margin: 0 13px 13px;
  border-radius: 99px;
  min-height: 45px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px 0 15px;
  color: #9aa0a0;
  font-size: 0.72rem;
}
.conversation-input svg {
  background: var(--lime);
  color: var(--ink);
  box-sizing: content-box;
  padding: 8px;
  border-radius: 50%;
}
.workflow-section {
  background: #f8faf9;
}
.workflow {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.workflow-step {
  padding: 28px 24px 34px;
  border-top: 1px solid #cfd5d2;
  border-bottom: 1px solid #cfd5d2;
  border-right: 1px solid #cfd5d2;
  min-height: 245px;
}
.workflow-step:first-child {
  border-left: 1px solid #cfd5d2;
}
.workflow-step > span {
  display: inline-grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border: 1px solid #bac3bd;
  border-radius: 50%;
  font-size: 0.69rem;
  font-weight: 800;
}
.workflow-step h3 {
  margin: 68px 0 14px;
}
.workflow-step p {
  font-size: 0.84rem;
  margin: 0;
}
.trust-strip {
  background: var(--ink);
  color: white;
  padding: 100px 0;
}
.trust-grid {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: 100px;
}
.trust-grid h2 {
  max-width: 500px;
}
.trust-points {
  border-top: 1px solid #3b4551;
}
.trust-points p {
  color: #c0c6cb;
  display: grid;
  grid-template-columns: 34px 1fr;
  padding: 25px 0;
  border-bottom: 1px solid #3b4551;
  margin: 0;
}
.trust-points svg {
  color: var(--lime);
  margin-top: 3px;
}
.trust-points strong {
  display: block;
  color: white;
  font-size: 0.95rem;
  margin-bottom: 4px;
}
.malta-section {
  background: var(--paper);
}
.malta-grid {
  display: grid;
  grid-template-columns: 0.4fr 0.95fr 0.65fr;
  gap: 65px;
  align-items: center;
}
.malta-index {
  display: flex;
  align-items: center;
  gap: 17px;
}
.malta-index > span {
  width: 100px;
  height: 100px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--lime);
  font-size: 1.7rem;
  font-weight: 800;
}
.malta-index div {
  display: grid;
}
.malta-index small {
  color: #7a8386;
  text-transform: uppercase;
  font-size: 0.66rem;
  letter-spacing: 0.08em;
}
.malta-index strong {
  font-size: 1.2rem;
}
.malta-grid h2 {
  font-size: clamp(2.1rem, 3.5vw, 3.5rem);
}
.malta-grid > div:last-child p {
  line-height: 1.75;
}
.closing-cta {
  background: var(--lime);
  padding: 92px 0;
}
.closing-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 80px;
  align-items: end;
}
.closing-inner h2 {
  max-width: 800px;
  margin-bottom: 22px;
}
.closing-inner p {
  max-width: 740px;
  color: #485326;
  margin: 0;
  font-size: 1.05rem;
}
.cta-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.footer {
  background: #0b1119;
  color: white;
  padding: 80px 0 28px;
}
.footer .logo-mark {
  background: white;
}
.footer .logo-mark::before {
  border-color: var(--ink);
}
.footer .logo-mark span {
  background: var(--lime-dark);
}
.footer .logo > span:last-child > span {
  color: var(--lime);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.55fr 0.55fr 1.55fr;
  gap: 46px;
}
.footer-grid > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.footer-grid > div:first-child p {
  margin: 14px 0 4px;
  color: #aab2b8;
}
.footer h3 {
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7e8991;
  margin-bottom: 11px;
}
.footer a:not(.logo) {
  font-size: 0.87rem;
  color: #d3d7da;
}
.footer a:not(.logo):hover {
  color: var(--lime);
}
.status-pill {
  border: 1px solid #2f3943;
  border-radius: 99px;
  padding: 6px 10px;
  font-size: 0.68rem;
  color: #afb7bd;
  display: flex;
  align-items: center;
  gap: 7px;
}
.status-pill > span {
  width: 6px;
  height: 6px;
  background: var(--lime);
  border-radius: 50%;
}
.footer-whatsapp {
  background: #121b25;
  border: 1px solid #283541;
  border-radius: 18px;
  padding: 20px;
}
.footer-whatsapp-inner {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 17px;
  align-items: center;
}
.footer-whatsapp-inner > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.footer-qr {
  width: 118px;
  height: 118px;
  padding: 8px;
  background: white;
  border-radius: 12px;
  image-rendering: crisp-edges;
}
.footer-whatsapp p {
  margin: 0;
  font-size: 0.82rem;
  color: #c0c8ce;
  line-height: 1.55;
}
.footer-chat-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 750;
}
.footer-whatsapp small {
  color: #7f8c95;
  font-size: 0.68rem;
  line-height: 1.5;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  border-top: 1px solid #28313a;
  margin-top: 60px;
  padding-top: 25px;
  color: #7f8990;
  font-size: 0.7rem;
}
.whatsapp-launcher {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 80;
}
.whatsapp-launcher > summary {
  list-style: none;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 20px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  background: #168c4d;
  color: white;
  box-shadow: 0 15px 38px rgba(16, 23, 34, 0.23);
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 800;
  transition: transform 0.2s ease, background 0.2s ease;
}
.whatsapp-launcher > summary::-webkit-details-marker {
  display: none;
}
.whatsapp-launcher > summary:hover {
  transform: translateY(-2px);
  background: #11733f;
}
.whatsapp-launcher[open] > summary {
  background: var(--ink);
}
.whatsapp-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 13px);
  width: 408px;
  padding: 25px;
  border: 1px solid #dce3df;
  border-radius: 22px;
  background: white;
  color: var(--ink);
  box-shadow: 0 28px 80px rgba(16, 23, 34, 0.25);
}
.whatsapp-panel::after {
  content: "";
  position: absolute;
  right: 31px;
  bottom: -7px;
  width: 14px;
  height: 14px;
  background: white;
  border-right: 1px solid #dce3df;
  border-bottom: 1px solid #dce3df;
  transform: rotate(45deg);
}
.whatsapp-kicker {
  margin-bottom: 8px !important;
  color: #168c4d !important;
  font-size: 0.7rem !important;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.whatsapp-panel h2 {
  margin-bottom: 11px;
  font-size: 1.75rem;
}
.whatsapp-panel > p:not(.whatsapp-kicker) {
  margin-bottom: 19px;
  font-size: 0.9rem;
  line-height: 1.55;
}
.whatsapp-panel-body {
  display: grid;
  grid-template-columns: 168px 1fr;
  align-items: center;
  gap: 19px;
  margin-bottom: 14px;
}
.whatsapp-panel-body > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
}
.whatsapp-qr {
  width: 168px;
  height: 168px;
  padding: 9px;
  border: 1px solid #dce3df;
  border-radius: 14px;
  image-rendering: crisp-edges;
}
.scan-label {
  color: #657078;
  font-size: 0.76rem;
  font-weight: 700;
}
.whatsapp-panel small {
  color: #7b858b;
  font-size: 0.68rem;
}
.whatsapp-choices {
  display: grid;
  gap: 9px;
  margin: 0 0 17px;
}
.whatsapp-choices > a {
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 11px;
  min-height: 68px;
  padding: 12px 13px;
  border: 1px solid #dce3df;
  border-radius: 13px;
  color: var(--ink);
  transition: border-color 0.2s ease, background 0.2s ease;
}
.whatsapp-choices > a:hover {
  border-color: #168c4d;
  background: #f1f8f4;
}
.whatsapp-choices > a > svg:first-child {
  color: #168c4d;
}
.whatsapp-choices span {
  display: grid;
  gap: 3px;
}
.whatsapp-choices strong {
  font-size: 0.82rem;
}
.whatsapp-choices small {
  color: #657078;
  font-size: 0.7rem;
  line-height: 1.35;
}
.page-hero {
  padding: 112px 0 105px;
  background: var(--sand);
}
.page-hero-dark {
  background: var(--ink);
  color: white;
}
.page-hero-grid {
  display: grid;
  grid-template-columns: 1.14fr 0.86fr;
  gap: 90px;
  align-items: end;
}
.page-hero h1 {
  font-size: clamp(3.2rem, 5.4vw, 5.8rem);
  margin: 0;
}
.page-hero-copy > p {
  font-size: 1.15rem;
  line-height: 1.75;
  margin-bottom: 0;
}
.page-hero-dark .page-hero-copy > p {
  color: #bdc4ca;
}
.light-link {
  color: white;
  border-color: #5d6874;
}
.stage-note {
  font-size: 0.73rem;
  color: #70797e;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.seeker-demo .product-grid {
  grid-template-columns: 1.05fr 0.95fr;
}
.check-list {
  list-style: none;
  padding: 0;
  margin: 30px 0 0;
  display: grid;
  gap: 13px;
}
.check-list li {
  display: flex;
  align-items: center;
  gap: 11px;
  font-weight: 650;
  font-size: 0.9rem;
}
.check-list svg {
  width: 22px;
  height: 22px;
  background: var(--lime);
  padding: 4px;
  border-radius: 50%;
}
.soft-section {
  background: var(--sand);
}
.three-grid, .four-grid {
  display: grid;
  border-top: 1px solid #d5d5ce;
  border-left: 1px solid #d5d5ce;
}
.three-grid {
  grid-template-columns: repeat(3, 1fr);
}
.four-grid {
  grid-template-columns: repeat(4, 1fr);
}
.three-grid article, .four-grid article {
  min-height: 280px;
  border-right: 1px solid #d5d5ce;
  border-bottom: 1px solid #d5d5ce;
  padding: 28px;
}
.three-grid svg, .four-grid svg {
  color: #667f00;
}
.three-grid h3, .four-grid h3 {
  margin-top: 85px;
  margin-bottom: 14px;
}
.three-grid p, .four-grid p {
  margin: 0;
  font-size: 0.88rem;
}
.stage-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--line);
}
.stage-grid > div {
  min-height: 310px;
  padding: 42px;
}
.stage-grid > div + div {
  border-left: 1px solid var(--line);
  background: #f7f8f6;
}
.phase {
  display: inline-block;
  padding: 5px 11px;
  border-radius: 99px;
  background: var(--lime);
  font-size: 0.7rem;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.09em;
}
.phase-next {
  background: #dce8ec;
}
.stage-grid h2 {
  margin: 80px 0 18px;
  font-size: 2rem;
}
.edge-section {
  background: white;
}
.four-grid article {
  min-height: 310px;
}
.four-grid h3 {
  margin-top: 72px;
}
.division-section {
  background: #edf1ef;
  padding: 90px 0;
}
.division-grid {
  display: grid;
  grid-template-columns: 1fr 46px 1fr;
  align-items: center;
}
.division-card {
  min-height: 290px;
  border-radius: 18px;
  padding: 38px;
}
.division-card > span {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 800;
}
.division-card h3 {
  margin: 95px 0 18px;
  font-size: 1.7rem;
}
.muted-card {
  background: white;
  color: #5d666b;
}
.bright-card {
  background: var(--lime);
}
.bright-card p {
  color: #4d5829;
}
.plus {
  text-align: center;
  font-size: 1.5rem;
  color: #788083;
}
.pilot-section {
  background: var(--sand);
}
.pilot-heading {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 90px;
  align-items: end;
  margin-bottom: 60px;
}
.pilot-heading h2 {
  margin-bottom: 0;
}
.pilot-heading > p {
  margin-bottom: 8px;
  font-size: 1.02rem;
}
.pilot-weeks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.pilot-weeks article {
  min-height: 290px;
  background: white;
  border-radius: 17px;
  padding: 30px;
}
.pilot-weeks span {
  font-size: 0.67rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 800;
  color: #738c00;
}
.pilot-weeks h3 {
  margin: 95px 0 14px;
  font-size: 1.55rem;
}
.pilot-weeks p {
  font-size: 0.88rem;
  margin: 0;
}
.scorecard {
  margin-top: 18px;
  padding: 20px 24px;
  border-radius: 14px;
  background: var(--ink);
  color: white;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  align-items: center;
}
.scorecard > span {
  text-transform: uppercase;
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  color: var(--lime);
  font-weight: 800;
  margin-right: auto;
}
.scorecard b {
  font-size: 0.72rem;
  font-weight: 600;
  color: #c9cfd3;
}
.owner-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.owner-timeline article {
  background: #f6f6f2;
  border-radius: 17px;
  padding: 26px;
  min-height: 330px;
}
.owner-timeline article > svg {
  color: #789500;
}
.owner-timeline article > span {
  display: block;
  color: #8b9394;
  font-size: 0.67rem;
  margin-top: 40px;
}
.owner-timeline h3 {
  margin: 65px 0 14px;
}
.owner-timeline p {
  font-size: 0.85rem;
  margin: 0;
}
.dark-panel-section {
  background: var(--ink);
  color: white;
}
.owner-control {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
}
.principle-list {
  border-top: 1px solid #3c4651;
}
.principle-list p {
  padding: 22px 0;
  border-bottom: 1px solid #3c4651;
  margin: 0;
  color: #aeb7bd;
}
.principle-list strong {
  color: white;
  display: block;
  margin-bottom: 4px;
}
.portfolio-preview {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 100px;
  align-items: center;
}
.portfolio-preview > div:first-child p {
  font-size: 1.05rem;
  line-height: 1.75;
}
.portfolio-card {
  background: #edf1ef;
  border-radius: 22px;
  padding: 25px;
  box-shadow: 0 22px 65px rgba(16, 23, 34, 0.1);
}
.portfolio-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 18px;
}
.portfolio-top span {
  font-weight: 750;
}
.portfolio-top b {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  background: #dce5de;
  border-radius: 99px;
  padding: 5px 8px;
}
.portfolio-card > p {
  background: white;
  border-radius: 11px;
  margin: 8px 0;
  padding: 14px;
  display: grid;
  grid-template-columns: 1fr auto;
}
.portfolio-card > p strong {
  color: var(--ink);
}
.portfolio-card > p span {
  font-size: 0.72rem;
  color: #6f8800;
  font-weight: 750;
}
.portfolio-card > p small {
  font-size: 0.69rem;
  grid-column: 1/-1;
}
.ask-bar {
  background: var(--ink);
  color: white;
  border-radius: 12px;
  padding: 16px;
  margin-top: 15px;
  font-size: 0.78rem;
}
.proof-market {
  background: var(--sand);
  padding-bottom: 65px;
}
.proof-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr 0.75fr;
  gap: 18px;
  align-items: stretch;
}
.proof-grid > div:first-child {
  padding-right: 55px;
}
.proof-grid h2 {
  font-size: 3.2rem;
}
.stat-card {
  background: white;
  border-radius: 18px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 330px;
}
.stat-card strong {
  font-size: 3.1rem;
  letter-spacing: -0.06em;
}
.stat-card span {
  font-size: 0.78rem;
  color: #6c7578;
  max-width: 190px;
}
.source-note {
  margin-top: 28px;
  font-size: 0.7rem;
  color: #737b7e;
}
.source-note a {
  text-decoration: underline;
}
.thesis-roadmap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  background: #d8deda;
}
.thesis-roadmap article {
  background: white;
  min-height: 330px;
  padding: 28px;
}
.thesis-roadmap article.active {
  background: var(--lime);
}
.thesis-roadmap span {
  text-transform: uppercase;
  font-size: 0.66rem;
  letter-spacing: 0.12em;
  font-weight: 800;
}
.thesis-roadmap h3 {
  margin: 110px 0 16px;
}
.thesis-roadmap p {
  font-size: 0.84rem;
}
.network-section {
  padding: 110px 0;
  background: var(--ink);
  color: white;
}
.network-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 90px;
  align-items: center;
}
.network-loop {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.network-loop span {
  background: #1c2632;
  border: 1px solid #34404c;
  padding: 15px;
  border-radius: 9px;
  font-size: 0.82rem;
}
.network-loop i {
  color: var(--lime);
  font-style: normal;
}
.model-section {
  background: var(--sand);
}
.model-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 90px;
}
.model-grid > div:first-child p {
  font-size: 1.04rem;
  line-height: 1.75;
}
.model-stack {
  border-top: 1px solid #ccd1cc;
}
.model-stack p {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  margin: 0;
  padding: 21px 0;
  border-bottom: 1px solid #ccd1cc;
}
.model-stack p > span {
  font-size: 0.67rem;
  font-weight: 800;
}
.model-stack strong {
  color: var(--ink);
}
.model-stack small {
  font-size: 0.72rem;
}
.proof-points {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.proof-points span {
  min-height: 180px;
  padding: 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-weight: 650;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.proof-points b {
  font-size: 0.7rem;
  color: #798600;
}
.purpose-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
}
.purpose-grid > div:last-child p {
  font-size: 1.08rem;
  line-height: 1.8;
}
.team-section {
  background: var(--sand);
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.team-grid article {
  min-height: 410px;
  background: white;
  border-radius: 18px;
  padding: 30px;
}
.team-grid article > span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--lime);
  font-weight: 800;
}
.team-grid article > p {
  margin: 95px 0 8px;
  text-transform: uppercase;
  font-size: 0.67rem;
  letter-spacing: 0.1em;
  color: #718900;
  font-weight: 800;
}
.team-grid h3 {
  font-size: 1.55rem;
}
.team-grid .rule {
  height: 1px;
  background: #dfe2dc;
  margin: 25px 0;
}
.team-grid small {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.65;
  display: block;
}
.values-section {
  background: white;
}
.values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.values-grid > div {
  padding: 26px;
  min-height: 285px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
}
.values-grid > div:first-child {
  border-left: 1px solid var(--line);
}
.values-grid span, .principles-grid article > span {
  font-size: 0.7rem;
  color: #778c00;
  font-weight: 800;
}
.values-grid h3 {
  margin: 90px 0 14px;
}
.values-grid p {
  font-size: 0.84rem;
}
.principles-page {
  background: var(--sand);
}
.principles-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.principles-grid article {
  background: white;
  border-radius: 17px;
  min-height: 330px;
  padding: 32px;
}
.principles-grid h2 {
  font-size: 2rem;
  margin: 100px 0 18px;
}
.principles-grid p {
  max-width: 470px;
}
.boundary-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 90px;
}
.boundary-table {
  border-top: 1px solid var(--line);
}
.boundary-table p {
  display: grid;
  grid-template-columns: 35px 1fr;
  margin: 0;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.boundary-table svg {
  background: var(--lime);
  border-radius: 50%;
  padding: 4px;
  box-sizing: content-box;
  width: 14px;
  height: 14px;
}
.boundary-table p:nth-child(n + 3) svg {
  background: #e6e9e7;
}
.boundary-table strong {
  display: block;
  color: var(--ink);
  margin-bottom: 3px;
}
@media (max-width: 1050px) {
  .desktop-nav {
    gap: 16px;
    font-size: 0.82rem;
  }
  .audience-grid, .four-grid, .owner-timeline, .values-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .workflow {
    grid-template-columns: repeat(3, 1fr);
  }
  .workflow-step:nth-child(4) {
    border-left: 1px solid #cfd5d2;
  }
  .proof-grid {
    grid-template-columns: 1fr 1fr;
  }
  .proof-grid > div:first-child {
    grid-column: 1/-1;
  }
  .thesis-roadmap {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-grid {
    grid-template-columns: 1.3fr 0.7fr 0.7fr;
  }
  .footer-whatsapp {
    grid-column: 1/-1;
    max-width: 620px;
  }
}
@media (max-width: 820px) {
  .shell {
    width: min(100% - 34px, 680px);
  }
  .section {
    padding: 82px 0;
  }
  .desktop-nav, .header-actions {
    display: none;
  }
  .header-inner {
    grid-template-columns: 1fr auto;
  }
  .mobile-menu {
    display: block;
  }
  .hero {
    padding-top: 25px;
  }
  .hero-grid, .page-hero-grid, .product-grid, .seeker-demo .product-grid, .trust-grid, .malta-grid, .closing-inner, .owner-control, .portfolio-preview, .network-grid, .model-grid, .purpose-grid, .boundary-grid {
    grid-template-columns: 1fr;
    gap: 52px;
  }
  .hero-copy {
    padding-bottom: 5px;
  }
  .hero-visual {
    height: 460px;
    border-radius: 70px 0 0 0;
  }
  .hero-line {
    gap: 9px;
    font-size: 0.57rem;
  }
  .split-heading, .pilot-heading {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .audience-card {
    min-height: 330px;
  }
  .audience-card > p {
    margin-top: 55px;
  }
  .product-grid {
    gap: 65px;
  }
  .trust-grid {
    gap: 35px;
  }
  .malta-grid {
    gap: 35px;
  }
  .closing-inner {
    align-items: start;
  }
  .cta-actions {
    justify-content: flex-start;
  }
  .page-hero {
    padding: 82px 0;
  }
  .page-hero-grid {
    align-items: start;
  }
  .three-grid {
    grid-template-columns: 1fr;
  }
  .three-grid article {
    min-height: 240px;
  }
  .three-grid h3 {
    margin-top: 60px;
  }
  .pilot-weeks {
    grid-template-columns: 1fr;
  }
  .division-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .plus {
    transform: rotate(45deg);
  }
  .owner-control, .portfolio-preview {
    gap: 45px;
  }
  .model-stack p {
    grid-template-columns: 38px 1fr;
  }
  .model-stack small {
    grid-column: 2;
    margin-top: 3px;
  }
  .team-grid {
    grid-template-columns: 1fr;
  }
  .team-grid article {
    min-height: 350px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer-grid > div:first-child, .footer-whatsapp {
    grid-column: 1/-1;
  }
  .footer-bottom {
    flex-direction: column;
  }
}
@media (max-width: 560px) {
  .shell {
    width: min(100% - 28px, 520px);
  }
  h1 {
    font-size: 3.25rem;
  }
  h2 {
    font-size: 2.45rem;
  }
  .hero-grid {
    min-height: 0;
  }
  .hero-visual {
    height: 390px;
  }
  .hero-visual img {
    object-position: 60% center;
  }
  .floating-intent {
    left: 12px;
    right: 12px;
    top: 18px;
  }
  .floating-match {
    right: 12px;
    bottom: 16px;
  }
  .hero-line span:last-child, .hero-line i:nth-last-child(2) {
    display: none;
  }
  .audience-grid, .four-grid, .owner-timeline, .values-grid, .proof-grid, .thesis-roadmap, .proof-points, .principles-grid, .stage-grid {
    grid-template-columns: 1fr;
  }
  .stage-grid > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .workflow {
    grid-template-columns: 1fr;
  }
  .workflow-step, .workflow-step:nth-child(4) {
    border-left: 1px solid #cfd5d2;
    min-height: 205px;
  }
  .workflow-step h3 {
    margin-top: 45px;
  }
  .conversation-card {
    border-width: 7px;
    border-radius: 31px;
  }
  .bubble {
    max-width: 90%;
  }
  .match-row {
    grid-template-columns: 52px 1fr;
  }
  .match-thumb {
    width: 52px;
    height: 52px;
  }
  .match-score {
    display: none;
  }
  .owner-timeline article {
    min-height: 285px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-grid > div:first-child, .footer-whatsapp {
    grid-column: auto;
  }
  .footer-whatsapp-inner {
    grid-template-columns: 1fr;
  }
  .footer-qr {
    display: none;
  }
  .whatsapp-launcher {
    left: 14px;
    right: 14px;
    bottom: 14px;
  }
  .whatsapp-launcher > summary {
    width: 100%;
    min-height: 52px;
  }
  .whatsapp-panel {
    position: absolute;
    left: 0;
    right: 0;
    width: auto;
    padding: 22px;
  }
  .whatsapp-panel::after {
    right: 34px;
  }
  .whatsapp-panel-body {
    grid-template-columns: 1fr;
    margin-bottom: 12px;
  }
  .whatsapp-panel-body > div {
    width: 100%;
  }
  .whatsapp-panel-body .button {
    width: 100%;
  }
  .whatsapp-qr, .scan-label {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
body {
  font-family: Arial, Helvetica, sans-serif;
}
h1, h2, h3 {
  letter-spacing: -0.035em;
  line-height: 1.08;
  text-wrap: balance;
}
h2 {
  font-size: clamp(2.1rem, 3.7vw, 3.6rem);
}
.section {
  padding: 82px 0;
}
.section-heading {
  margin-bottom: 38px;
}
:where(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid #2674bd;
  outline-offset: 4px;
}
[id] {
  scroll-margin-top: 104px;
}
.skip-link {
  position: fixed;
  top: 10px;
  left: 16px;
  z-index: 100;
  padding: 12px 18px;
  border-radius: 8px;
  background: white;
  color: var(--ink);
  transform: translateY(-160%);
}
.skip-link:focus {
  transform: translateY(0);
}
.desktop-nav a[aria-current="page"], .mobile-menu a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 7px;
}
.header-inner {
  gap: 24px;
}
.mobile-menu {
  grid-column: 2;
  grid-row: 1;
}
.hero {
  padding-top: 40px;
}
.hero-grid {
  min-height: 0;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 46px;
  padding-block: 18px 38px;
}
.hero-copy {
  padding: 0;
}
.hero-copy h1 {
  font-size: clamp(2.75rem, 4.5vw, 4.3rem);
  line-height: 1.06;
  margin-bottom: 24px;
}
.hero-copy > p {
  font-size: 1.07rem;
  line-height: 1.65;
  margin-bottom: 0;
}
.hero-copy .eyebrow {
  margin-bottom: 20px;
}
.hero-actions {
  margin-top: 26px;
  gap: 17px;
}
.hero-proof {
  margin-top: 25px;
  gap: 10px 20px;
  font-size: 0.78rem;
}
.hero-visual {
  height: 490px;
  align-self: center;
  border-radius: 85px 0 0 0;
}
.floating-intent {
  top: 30px;
  left: 20px;
  max-width: calc(100% - 40px);
}
.floating-match {
  bottom: 48px;
  padding: 14px 17px;
  gap: 10px;
}
.floating-match svg {
  color: #638200;
}
.image-caption {
  position: absolute;
  bottom: 12px;
  left: 16px;
  right: 16px;
  z-index: 3;
  font-size: 0.62rem;
  color: white;
  background: rgba(16, 23, 34, 0.72);
  padding: 5px 8px;
  border-radius: 5px;
  width: fit-content;
}
.launch-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  border-top: 1px solid var(--line);
  padding-block: 18px 23px;
  font-size: 0.78rem;
  color: var(--muted);
}
.launch-strip b {
  display: block;
  color: var(--ink);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-bottom: 3px;
}
.channels-section {
  background: white;
}
.channel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.channel-card {
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #f8faf9;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.channel-primary {
  background: var(--sand);
  border-color: #d5ccbc;
}
.channel-card > svg {
  margin-top: 28px;
  color: #638200;
}
.channel-card h3 {
  font-size: 1.8rem;
  margin: 22px 0 14px;
}
.channel-card p {
  font-size: 0.98rem;
  line-height: 1.7;
}
.channel-card ul {
  padding-left: 18px;
  margin: 2px 0 28px;
  color: #4e5b60;
  font-size: 0.88rem;
  display: grid;
  gap: 7px;
}
.channel-card .text-link {
  margin-top: auto;
}
.permission-note {
  margin: 22px 0 0;
  padding: 19px 22px;
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.85rem;
  line-height: 1.65;
}
.permission-note svg {
  color: #638200;
  flex-shrink: 0;
  margin-top: 3px;
}
.product-grid, .trust-grid, .page-hero-grid, .portfolio-preview, .network-grid, .model-grid, .purpose-grid, .boundary-grid {
  gap: 60px;
}
.audience-card {
  min-height: 310px;
}
.audience-card > p {
  margin-top: 32px;
}
.audience-card > span {
  margin-bottom: 24px;
}
.audience-card:first-child {
  background: var(--sand);
}
.audience-card:first-child:hover {
  background: var(--sand-2);
}
.match-row {
  grid-template-columns: 62px minmax(0, 1fr);
}
.match-thumb {
  object-fit: cover;
  background: var(--sand);
}
.example-note {
  font-size: 0.66rem;
  line-height: 1.5;
  padding: 13px 18px;
  color: #506066;
  background: white;
  border-top: 1px solid #dfe3df;
}
.conversation-top > div:nth-child(2) {
  gap: 4px;
}
.conversation-top strong {
  font-size: 0.8rem;
}
.bubble-ai.compact svg {
  flex-shrink: 0;
}
.workflow-step {
  min-height: 230px;
  padding: 25px 19px;
}
.workflow-step h3 {
  margin-top: 35px;
}
.trust-strip {
  padding: 78px 0;
}
.malta-grid {
  grid-template-columns: 0.4fr 1fr 0.8fr;
  gap: 38px;
}
.malta-grid h2 {
  font-size: clamp(2rem, 3vw, 3rem);
}
.closing-cta {
  padding: 72px 0;
}
.closing-inner {
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 50px;
}
.closing-inner h2 {
  font-size: clamp(2rem, 3.4vw, 3.3rem);
}
.cta-actions {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
.footer {
  padding-bottom: 90px;
}
.footer-grid {
  gap: 30px;
}
.footer-bottom {
  color: #a7b1b8;
}
.footer-whatsapp small {
  color: #a7b1b8;
}
.footer h3 {
  color: #a7b1b8;
}
.whatsapp-mobile {
  display: none;
}
.whatsapp-panel {
  max-height: calc(100dvh - 130px);
  overflow-y: auto;
}
.whatsapp-panel small a {
  text-decoration: underline;
}
.page-hero {
  padding: 78px 0;
}
.page-hero h1 {
  font-size: clamp(2.6rem, 4.5vw, 4.6rem);
}
.page-hero-copy > p {
  font-size: 1.06rem;
  line-height: 1.7;
}
.stage-note {
  display: block;
  margin-top: 22px;
  line-height: 1.6;
}
.page-hero-dark .stage-note {
  color: #b9c5cd;
}
.three-grid h3, .four-grid h3 {
  margin-top: 35px;
}
.three-grid article, .four-grid article {
  min-height: 250px;
}
.brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 65px;
  align-items: center;
  margin-top: 65px;
}
.brief-grid > div > p {
  font-size: 1rem;
  line-height: 1.75;
}
.agent-brief {
  background: white;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 30px;
  box-shadow: 0 15px 40px rgba(16, 23, 34, 0.05);
}
.agent-brief h3 {
  font-size: 1.65rem;
}
.agent-brief dl {
  margin-block: 25px;
}
.agent-brief dl > div {
  padding: 13px 0;
  border-top: 1px solid var(--line);
}
.agent-brief dt {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
  margin-bottom: 4px;
}
.agent-brief dd {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
}
.agent-brief small {
  color: var(--muted);
  font-size: 0.7rem;
}
.pilot-heading {
  gap: 55px;
  margin-bottom: 35px;
}
.pilot-weeks article {
  min-height: 250px;
}
.pilot-weeks h3 {
  margin-top: 40px;
}
.pilot-footnote {
  font-size: 0.8rem;
  margin-top: 20px;
}
.roadmap-note {
  max-width: 850px;
}
.roadmap-note > p {
  font-size: 1.08rem;
  line-height: 1.75;
}
.thesis-roadmap article {
  min-height: 270px;
}
.thesis-roadmap h3 {
  margin-top: 45px;
}
.network-section {
  padding: 82px 0;
}
.light-copy {
  color: #c0cbd3;
  line-height: 1.75;
}
.model-stack p {
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 5px;
}
.model-stack small {
  grid-column: 2;
}
.proof-grid h2 {
  font-size: clamp(2.1rem, 3.6vw, 3rem);
}
.stat-card {
  min-height: 250px;
}
.source-note {
  line-height: 1.7;
}
.team-grid article {
  min-height: 325px;
}
.team-grid article > p {
  margin-top: 42px;
}
.values-grid > div {
  min-height: 260px;
}
.values-grid h3 {
  margin-top: 40px;
}
.principles-grid article {
  min-height: 270px;
}
.principles-grid h2 {
  margin-top: 40px;
}
.faq-list {
  border-top: 1px solid var(--line);
}
.faq-list article {
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}
.faq-list h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
}
.faq-list p {
  line-height: 1.7;
  margin: 0;
  max-width: 900px;
}
.contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.contact-card {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--sand);
  padding: 32px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.contact-card h2 {
  font-size: 2rem;
}
.contact-card p {
  margin-bottom: 28px;
  line-height: 1.7;
}
.contact-card .button {
  margin-top: auto;
}
.contact-note {
  margin-top: 38px;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 15px;
}
.contact-note p {
  margin-top: 20px;
  max-width: 840px;
  font-size: 0.93rem;
}
.privacy-copy {
  max-width: 880px;
}
.privacy-copy article {
  border-bottom: 1px solid var(--line);
  padding-block: 12px 28px;
  margin-bottom: 26px;
}
.privacy-copy h2 {
  font-size: 1.7rem;
}
.privacy-copy p {
  line-height: 1.8;
}
.hero-grid > *, .page-hero-grid > *, .product-grid > *, .malta-grid > *, .closing-inner > *, .footer-grid > *, .model-grid > *, .boundary-grid > * {
  min-width: 0;
}
@media (max-width: 1050px) {
  .hero-grid {
    gap: 30px;
  }
  .hero-visual {
    height: 460px;
  }
  .hero-copy h1 {
    font-size: 3.25rem;
  }
  .hero-copy > p {
    font-size: 1rem;
  }
  .header-inner {
    gap: 18px;
  }
  .desktop-nav {
    gap: 18px;
  }
  .malta-grid {
    grid-template-columns: 1fr 1fr;
  }
  .malta-index {
    grid-column: 1/-1;
  }
}
@media (max-width: 900px) {
  .desktop-nav, .header-actions {
    display: none;
  }
  .header-inner {
    grid-template-columns: 1fr auto;
  }
  .mobile-menu {
    display: block;
  }
}
@media (max-width: 820px) {
  .section {
    padding: 62px 0;
  }
  .hero {
    padding-top: 24px;
  }
  .hero-grid, .page-hero-grid, .product-grid, .seeker-demo .product-grid, .trust-grid, .malta-grid, .closing-inner, .owner-control, .portfolio-preview, .network-grid, .model-grid, .purpose-grid, .boundary-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .hero-copy h1 {
    font-size: clamp(2.7rem, 6.4vw, 3.8rem);
    max-width: 620px;
  }
  .hero-visual {
    height: 400px;
    width: 100%;
  }
  .launch-strip {
    gap: 16px;
  }
  .channel-grid, .brief-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .brief-grid {
    margin-top: 45px;
  }
  .page-hero {
    padding: 56px 0;
  }
  .page-hero h1 {
    font-size: clamp(2.5rem, 5.5vw, 3.6rem);
  }
  .pilot-heading {
    gap: 22px;
  }
  .malta-index {
    grid-column: auto;
  }
  .trust-strip, .network-section {
    padding: 62px 0;
  }
  .closing-inner {
    align-items: start;
  }
  .three-grid h3 {
    margin-top: 30px;
  }
  .three-grid article {
    min-height: 0;
  }
  .team-grid article {
    min-height: 0;
  }
  .footer-grid > div:first-child, .footer-whatsapp {
    grid-column: 1/-1;
  }
}
@media (max-width: 560px) {
  .site-header {
    height: 70px;
  }
  .section {
    padding: 48px 0;
  }
  .shell {
    width: calc(100% - 36px);
  }
  .hero-grid {
    padding-top: 8px;
    padding-bottom: 26px;
  }
  .hero-copy h1 {
    font-size: clamp(2.2rem, 8.4vw, 3rem);
  }
  .hero-copy > p {
    font-size: 1rem;
  }
  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 17px;
  }
  .hero-proof {
    font-size: 0.73rem;
    gap: 8px 16px;
  }
  .hero-visual {
    height: 330px;
    border-radius: 55px 0 0 0;
  }
  .floating-intent {
    top: 18px;
    left: 12px;
    right: 12px;
    max-width: none;
    font-size: 0.74rem;
  }
  .floating-match {
    bottom: 49px;
    right: 12px;
  }
  .image-caption {
    font-size: 0.57rem;
    left: 12px;
  }
  .launch-strip {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-block: 19px 24px;
  }
  .launch-strip span {
    display: grid;
    grid-template-columns: 108px 1fr;
    gap: 9px;
  }
  .launch-strip b {
    margin: 0;
  }
  h2 {
    font-size: 2.05rem;
  }
  .page-hero h1 {
    font-size: clamp(2.15rem, 8vw, 2.9rem);
  }
  .page-hero-grid {
    gap: 24px;
  }
  .page-hero-copy > p {
    font-size: 1rem;
  }
  .channel-card, .agent-brief, .contact-card {
    padding: 24px;
  }
  .channel-card h3 {
    font-size: 1.5rem;
  }
  .permission-note {
    padding: 16px;
    font-size: 0.8rem;
  }
  .audience-card {
    min-height: 0;
  }
  .audience-card > p {
    margin-top: 24px;
  }
  .workflow-step, .workflow-step:nth-child(4) {
    min-height: 0;
    padding: 23px;
  }
  .workflow-step h3 {
    margin-top: 24px;
  }
  .match-row {
    grid-template-columns: 52px minmax(0, 1fr);
  }
  .footer {
    padding-bottom: calc(108px + env(safe-area-inset-bottom, 0px));
  }
  .footer-grid > div:first-child, .footer-whatsapp {
    grid-column: auto;
  }
  .whatsapp-launcher {
    display: none;
  }
  .whatsapp-mobile {
    display: flex;
    position: fixed;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    left: 18px;
    right: 18px;
    z-index: 80;
    min-height: 52px;
    box-shadow: 0 12px 32px rgba(16, 23, 34, 0.22);
  }
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .contact-card h2 {
    font-size: 1.7rem;
  }
  .contact-card .button {
    width: 100%;
    font-size: 0.84rem;
    padding-inline: 14px;
  }
  .contact-note {
    padding: 24px;
  }
  .thesis-roadmap article {
    min-height: 0;
  }
  .proof-points span {
    min-height: 135px;
  }
  .pilot-weeks article {
    min-height: 0;
  }
  .values-grid > div {
    min-height: 0;
  }
  .principles-grid article {
    min-height: 0;
  }
}
.preview-banner {
  min-height: 32px;
  padding: 6px 18px;
  background: var(--ink);
  color: #ced5da;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 0.69rem;
  letter-spacing: 0.02em;
}
.preview-banner > span:first-child {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--lime);
}
.preview-divider {
  color: #6c7885;
}
.home-hero {
  padding-top: 34px;
  background: #f7f5ef;
}
.home-hero .hero-grid {
  gap: 70px;
  padding-block: 24px 46px;
}
.home-hero .hero-copy h1 {
  font-size: clamp(3.2rem, 5.5vw, 5.2rem);
  letter-spacing: -0.05em;
  line-height: 1.01;
}
.home-hero .hero-copy h1 em {
  color: #4d6266;
}
.home-hero .hero-copy > p {
  max-width: 480px;
  margin-top: 24px;
  font-size: 1.06rem;
}
.home-hero .hero-visual {
  height: 540px;
  border-radius: 90px 18px 18px 18px;
  box-shadow: none;
}
.hero-visual-label {
  position: absolute;
  top: 25px;
  left: 24px;
  right: 24px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 9px;
  color: white;
  background: #101722b8;
  border-radius: 99px;
  width: fit-content;
  padding: 9px 13px;
  font-size: 0.7rem;
}
.visual-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lime);
  flex-shrink: 0;
}
.home-hero .floating-match {
  left: 24px;
  right: 24px;
  bottom: 48px;
  border-radius: 14px;
  padding: 18px;
}
.home-hero .floating-match strong {
  display: block;
  font-size: 0.91rem;
  color: var(--ink);
  margin-bottom: 5px;
  letter-spacing: -0.02em;
}
.home-hero .floating-match > span:last-child {
  font-size: 0.67rem;
  color: #5c6872;
}
.hero-match-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e7edcc;
  flex-shrink: 0;
}
.home-hero .launch-strip {
  padding-block: 23px 26px;
}
.channels-section .section-heading h2 {
  font-size: clamp(2.2rem, 3.8vw, 3.6rem);
}
.channel-card {
  border-radius: 16px;
  padding: 32px;
}
.channel-primary {
  background: var(--ink);
  border-color: var(--ink);
  color: white;
}
.channel-primary p, .channel-primary ul {
  color: #c1cbd2;
}
.channel-primary .text-link {
  color: white;
  border-color: #798691;
}
.channel-primary > svg {
  color: var(--lime);
}
.service-heading {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
.service-number {
  font-size: 0.78rem;
  color: #6e7b81;
  font-weight: 700;
  letter-spacing: 0.09em;
}
.channel-primary .service-number {
  color: #b5c0c8;
}
.channel-flow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  font-size: 0.67rem;
  padding: 13px 0 22px;
  color: #536168;
}
.channel-primary .channel-flow {
  color: #d8e2e6;
}
.channel-flow > span {
  border: 1px solid #d2d9d5;
  padding: 6px 9px;
  border-radius: 6px;
}
.channel-primary .channel-flow > span {
  border-color: #43505d;
}
.channel-card ul {
  list-style: none;
  padding: 0;
}
.channel-card li {
  display: flex;
  gap: 9px;
  align-items: baseline;
}
.channel-card li::before {
  content: "✓";
  color: #647f00;
  font-weight: 700;
}
.channel-primary li::before {
  color: var(--lime);
}
.permission-note {
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--line);
  padding: 22px 0;
}
.home-pilot {
  background: var(--sand);
}
.home-pilot .product-grid {
  grid-template-columns: 1fr 1fr;
  gap: 90px;
}
.home-pilot .product-copy .button {
  margin-top: 10px;
}
.pilot-mini-steps {
  list-style: none;
  margin: 27px 0;
  padding: 0;
  display: grid;
  gap: 15px;
}
.pilot-mini-steps li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 0.9rem;
  color: #445159;
}
.pilot-mini-steps span {
  font-size: 0.68rem;
  font-weight: 800;
  color: #7b8f27;
}
.quiet-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.74rem !important;
  line-height: 1.55 !important;
  margin: 20px 0 0;
}
.quiet-note svg {
  flex-shrink: 0;
  margin-top: 2px;
}
.audience-routes {
  border-top: 1px solid #d7d3c9;
  margin-top: 65px;
  padding-top: 25px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 30px;
}
.audience-routes p {
  font-size: 0.8rem;
  margin: 0 auto 0 0;
}
.audience-routes a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.8rem;
  font-weight: 650;
  min-height: 44px;
}
.audience-routes a:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.page-hero .stage-note {
  display: block;
  margin-top: 22px;
  font-size: 0.68rem;
}
.page-hero-dark .stage-note {
  color: #a4b0b9;
}
.page-hero-copy > .text-link {
  margin-top: 24px;
}
.pilot-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 75px;
  align-items: start;
}
.pilot-outline h2 {
  font-size: clamp(2rem, 3.1vw, 3rem);
}
.pilot-outline > p {
  font-size: 0.95rem;
  line-height: 1.75;
  margin-top: 28px;
}
.pilot-outline .check-list li {
  align-items: flex-start;
}
.pilot-outline .check-list svg {
  flex-shrink: 0;
}
.pilot-boundary {
  display: flex;
  gap: 15px;
  padding: 23px 0;
  border-block: 1px solid var(--line);
  margin: 25px 0;
}
.pilot-boundary > svg {
  flex-shrink: 0;
  color: #6b820a;
}
.pilot-boundary strong {
  font-size: 0.88rem;
}
.pilot-boundary p {
  font-size: 0.84rem;
  line-height: 1.65;
  margin: 8px 0 0;
}
.pilot-faq {
  font-size: 0.88rem;
  margin-bottom: 27px;
}
.pilot-faq summary {
  cursor: pointer;
  padding-block: 10px;
  font-weight: 600;
}
.pilot-faq p {
  padding-top: 10px;
  line-height: 1.75;
}
.pilot-outline > .text-link {
  font-size: 0.8rem;
}
.pilot-enquiry {
  padding: 32px;
  background: #f7f6f1;
  border: 1px solid #dedfd7;
  border-radius: 18px;
}
.form-heading h2 {
  font-size: 1.9rem;
  margin: 20px 0 14px;
}
.form-heading p {
  font-size: 0.86rem;
  margin-bottom: 24px;
}
.pilot-enquiry label, .pilot-enquiry legend {
  display: block;
  font-size: 0.8rem;
  font-weight: 650;
  margin-bottom: 8px;
}
.pilot-enquiry label > span:not(:has(strong)) {
  color: #6f7a7e;
  font-weight: 400;
  font-size: 0.72rem;
}
.pilot-enquiry :is(input:not([type="radio"]), select, textarea) {
  width: 100%;
  min-height: 46px;
  padding: 12px;
  background: white;
  color: var(--ink);
  border: 1px solid #c5ccc8;
  border-radius: 8px;
  margin: 0 0 20px;
  font-size: 0.88rem;
}
.pilot-enquiry textarea {
  resize: vertical;
  line-height: 1.6;
}
.pilot-enquiry input::placeholder, .pilot-enquiry textarea::placeholder {
  color: #6c777c;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.form-row > * {
  min-width: 0;
}
.pilot-enquiry fieldset {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}
.pilot-enquiry .radio-option {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 13px;
  border: 1px solid #ccd2ca;
  border-radius: 9px;
  cursor: pointer;
  margin: 7px 0;
}
.radio-option:has(input:checked) {
  background: #eef4d7;
  border-color: #819a27;
}
.radio-option input {
  margin: 3px 0 0;
  accent-color: #647f00;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.radio-option strong, .radio-option small {
  display: block;
}
.radio-option small {
  font-size: 0.75rem;
  font-weight: 400;
  color: #63716f;
  margin-top: 4px;
}
.pilot-enquiry button {
  border: 0;
  cursor: pointer;
}
.form-footnote {
  margin: 14px 0 0;
  font-size: 0.73rem;
  line-height: 1.6;
  color: #617078;
}
.enquiry-review {
  border-top: 1px solid #c9d3c6;
  padding-top: 25px;
  margin-top: 25px;
}
.enquiry-review h3 {
  font-size: 1.2rem;
}
.message-preview {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  padding: 18px;
  background: white;
  border: 1px solid #d2dad1;
  border-radius: 9px;
  font-size: 0.82rem;
  line-height: 1.7;
}
.contact-pilot-link {
  margin-top: 18px !important;
  font-size: 0.8rem;
}
@media (max-width: 1050px) {
  .home-hero .hero-grid {
    gap: 35px;
  }
  .home-hero .hero-copy h1 {
    font-size: 4.1rem;
  }
  .home-hero .hero-visual {
    height: 490px;
  }
  .pilot-layout {
    gap: 35px;
  }
  .home-pilot .product-grid {
    gap: 45px;
  }
}
@media (max-width: 820px) {
  .home-hero .hero-grid, .home-pilot .product-grid, .pilot-layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .home-hero .hero-copy h1 {
    font-size: clamp(3.1rem, 7.5vw, 4.5rem);
  }
  .home-hero .hero-copy > p {
    max-width: 600px;
  }
  .home-hero .hero-visual {
    height: 410px;
  }
  .audience-routes {
    margin-top: 45px;
  }
  .pilot-outline {
    max-width: 650px;
  }
}
@media (max-width: 560px) {
  .preview-banner {
    font-size: 0.62rem;
  }
  .home-hero {
    padding-top: 19px;
  }
  .home-hero .hero-grid {
    padding-block: 15px 26px;
    gap: 28px;
  }
  .home-hero .hero-copy h1 {
    font-size: clamp(2.75rem, 11vw, 3.7rem);
  }
  .home-hero .hero-copy > p {
    font-size: 0.98rem;
  }
  .home-hero .hero-visual {
    height: 350px;
    border-radius: 55px 12px 12px 12px;
  }
  .hero-visual-label {
    top: 18px;
    left: 15px;
    right: 15px;
    font-size: 0.64rem;
  }
  .home-hero .floating-match {
    left: 15px;
    right: 15px;
    padding: 14px;
  }
  .home-hero .floating-match > span:last-child {
    font-size: 0.6rem;
  }
  .home-hero .floating-match strong {
    font-size: 0.82rem;
  }
  .channel-card {
    padding: 24px;
  }
  .channel-flow {
    font-size: 0.61rem;
    gap: 5px;
  }
  .channel-flow > span {
    padding: 5px 6px;
  }
  .audience-routes {
    display: grid;
    gap: 7px;
  }
  .audience-routes p {
    margin-bottom: 8px;
  }
  .pilot-enquiry {
    padding: 23px;
  }
  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .form-heading h2 {
    font-size: 1.75rem;
  }
  .pilot-enquiry .button {
    width: 100%;
    font-size: 0.85rem;
  }
  .hero-actions .button {
    width: 100%;
  }
  .pilot-outline > .text-link {
    max-width: 100%;
  }
}
.mobile-menu nav > a:not(.button) {
  min-height: 44px;
  display: flex;
  align-items: center;
}
.onboarding-section, .portal-section {
  background: #f5f5ef;
  padding: 70px 0 90px;
  min-height: 70vh;
}
.onboarding-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.onboarding-intro {
  padding: 22px 0;
}
.onboarding-intro h1 {
  font-size: clamp(3rem, 4.5vw, 4.7rem);
  line-height: 1.07;
}
.onboarding-intro h1 em {
  font-family: Georgia, serif;
  color: #47606d;
  font-weight: 400;
}
.onboarding-intro > p {
  max-width: 460px;
  font-size: 1.05rem;
}
.onboarding-promises {
  display: grid;
  gap: 10px;
  margin: 36px 0;
}
.onboarding-promises p {
  display: flex;
  gap: 16px;
  color: var(--muted);
}
.onboarding-promises svg {
  flex-shrink: 0;
  color: #4a6263;
  margin-top: 4px;
}
.onboarding-promises strong {
  display: block;
  color: var(--ink);
  font-size: 0.97rem;
}
.onboarding-promises span {
  font-size: 0.92rem;
}
.onboarding-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 34px;
  box-shadow: 0 18px 70px #18232208;
}
.onboarding-card h2 {
  font-size: 2rem;
  line-height: 1.15;
}
.onboarding-card > p {
  font-size: 0.95rem;
}
.setup-steps {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.setup-steps li {
  font-size: 0.76rem;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 7px;
}
.setup-steps li > span {
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: var(--mist);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.setup-steps li.done {
  color: var(--ink);
}
.setup-steps li.done > span {
  background: var(--lime);
}
.choice-stack {
  display: grid;
  gap: 13px;
  margin: 25px 0;
}
.route-choice {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 15px;
  text-align: left;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: white;
  cursor: pointer;
  color: var(--ink);
}
.route-choice.selected {
  border-color: #47606d;
  background: #f3f8f7;
  box-shadow: 0 0 0 1px #47606d;
}
.route-choice > span:not(.choice-check) {
  flex: 1;
}
.route-choice strong {
  font-size: 0.97rem;
  display: block;
  line-height: 1.35;
}
.route-choice small {
  display: block;
  line-height: 1.5;
  font-size: 0.83rem;
  color: var(--muted);
  margin-top: 4px;
}
.choice-check {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border: 1px solid #afbbb8;
  border-radius: 50%;
  flex-shrink: 0;
}
.selected .choice-check {
  background: var(--ink);
  border-color: var(--ink);
  color: white;
}
.field {
  display: grid;
  gap: 7px;
  font-size: 0.87rem;
  font-weight: 650;
  margin: 0 0 20px;
  color: var(--ink);
}
.field small {
  color: var(--muted);
  font-size: 0.77rem;
  font-weight: 400;
  line-height: 1.5;
}
.field input, .field select, .field textarea {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 1px solid #cbd3d0;
  border-radius: 10px;
  padding: 11px 12px;
  background: white;
  font-size: 0.93rem;
  font-weight: 400;
  color: var(--ink);
}
.field textarea {
  resize: vertical;
}
.field input:focus, .field select:focus, .field textarea:focus {
  outline: 2px solid #5b777a;
  outline-offset: 2px;
}
.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.check-field {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 0.83rem;
  line-height: 1.55;
  color: var(--muted);
  margin: 18px 0;
}
.check-field input {
  margin-top: 4px;
  accent-color: var(--ink);
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}
.check-field strong {
  color: var(--ink);
  display: block;
}
.check-field a {
  text-decoration: underline;
}
.account-hint {
  display: flex;
  gap: 10px;
  font-size: 0.8rem;
  padding: 13px;
  background: var(--mist);
  border-radius: 10px;
  margin: 24px 0;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.account-hint svg {
  flex-shrink: 0;
}
.portal-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 25px;
}
.portal-loading {
  padding: 100px 0;
  min-height: 65vh;
}
.portal-loading h1 {
  font-size: 3rem;
  margin-top: 20px;
}
.portal-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 26px;
}
.portal-top h1 {
  font-size: clamp(2.5rem, 4vw, 3.9rem);
  margin-bottom: 18px;
  overflow-wrap: anywhere;
}
.portal-top .eyebrow {
  margin-bottom: 18px;
}
.portal-top p {
  max-width: 650px;
  margin-bottom: 0;
}
.portal-top-links {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 15px;
  font-size: 0.8rem;
  padding-top: 24px;
  flex-shrink: 0;
}
.workspace-nav {
  display: flex;
  gap: 8px;
  border-bottom: 1px solid var(--line);
  padding: 16px 0;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.workspace-nav button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  border-radius: 9px;
  padding: 10px 14px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 650;
  cursor: pointer;
}
.workspace-nav button.active {
  background: var(--ink);
  color: white;
}
.portal-alert {
  padding: 16px 20px;
  border-radius: 12px;
  margin-bottom: 24px;
  font-size: 0.92rem;
  display: flex;
  gap: 10px;
  align-items: center;
  overflow-wrap: anywhere;
}
.portal-error {
  background: #fbece9;
  color: #953c30;
}
.portal-success {
  background: #e9f3eb;
  color: #225d38;
}
.portal-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 22px;
}
.portal-stat-grid > div {
  border: 1px solid var(--line);
  background: white;
  padding: 24px;
  border-radius: 16px;
}
.portal-stat-grid span {
  color: var(--muted);
  display: block;
  font-size: 0.8rem;
}
.portal-stat-grid strong {
  display: block;
  font-size: 2.8rem;
  line-height: 1.2;
  font-weight: 550;
  margin: 10px 0;
}
.portal-stat-grid .stat-label {
  font-size: 1.5rem;
  margin-top: 18px;
  line-height: 1.35;
}
.portal-stat-grid small {
  font-size: 0.77rem;
  color: var(--muted);
}
.activation-strip {
  background: #e8edeb;
  border: 1px solid #d9e1dc;
  border-radius: 14px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 32px;
}
.activation-strip > div {
  display: flex;
  gap: 16px;
  align-items: center;
}
.activation-strip svg {
  flex-shrink: 0;
  color: #4a6263;
}
.activation-strip p {
  font-size: 0.83rem;
  margin: 0;
}
.activation-strip strong {
  display: block;
  color: var(--ink);
  margin-bottom: 3px;
}
.activation-strip span {
  display: block;
  max-width: 750px;
}
.activation-strip .text-link {
  font-size: 0.8rem;
  flex-shrink: 0;
}
.portfolio-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 35px 0 22px;
}
.portfolio-toolbar h2 {
  font-size: 1.9rem;
  margin: 0;
  line-height: 1.3;
}
.portfolio-toolbar h2 > span {
  font-size: 1rem;
  color: var(--muted);
  margin-left: 8px;
}
.empty-portfolio {
  border: 1px dashed #aebbb6;
  border-radius: 18px;
  text-align: center;
  padding: 55px 30px;
  background: #ffffff80;
}
.empty-portfolio h3 {
  font-size: 1.6rem;
  margin: 20px 0 14px;
}
.empty-portfolio p {
  max-width: 470px;
  margin: 0 auto;
}
.empty-icon {
  height: 70px;
  width: 70px;
  border-radius: 20px;
  background: #e8edeb;
  display: grid;
  place-items: center;
  margin: auto;
}
.empty-portfolio > svg {
  margin: auto;
}
.empty-portfolio .portal-actions {
  justify-content: center;
}
.property-grid, .review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.property-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 24px;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.property-card-top {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.property-status {
  font-size: 0.69rem;
  background: var(--mist);
  border-radius: 999px;
  display: inline-block;
  padding: 5px 10px;
  color: #4a6263;
  line-height: 1.3;
}
.status-ready {
  background: #e4f3d7;
  color: #426520;
}
.status-pending {
  background: #f7edd1;
  color: #7b611c;
}
.status-needs_info {
  background: #fbece9;
  color: #953c30;
}
.property-ref {
  font-size: 0.69rem;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.property-symbol {
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 10px;
  background: linear-gradient(110deg, #e8eeeb, #f2f0e9);
  padding: 22px 17px;
  color: #47606d;
  font-size: 0.8rem;
  margin-bottom: 20px;
}
.property-card h3 {
  font-size: 1.4rem;
  line-height: 1.25;
  margin-bottom: 9px;
  overflow-wrap: anywhere;
}
.property-card > p {
  font-size: 0.85rem;
  margin-bottom: 12px;
}
.property-rent {
  font-size: 1.2rem;
}
.property-rent small {
  font-size: 0.8rem;
  color: var(--muted);
  font-weight: 400;
}
.listing-permissions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin: 20px 0;
}
.listing-permissions span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--line);
  padding: 4px 7px;
  border-radius: 5px;
  font-size: 0.67rem;
  color: var(--muted);
}
.property-card-actions {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 17px;
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
}
.property-card-actions .text-link {
  font-size: 0.8rem;
}
.small-button {
  border: 1px solid #b9c8bd;
  color: #3b5644;
  background: white;
  border-radius: 7px;
  padding: 8px 10px;
  font-size: 0.73rem;
  font-weight: 650;
  cursor: pointer;
}
.portal-footnote {
  font-size: 0.78rem;
  max-width: 860px;
  margin: 25px 0;
}
.portal-two-col {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 26px;
  align-items: start;
}
.portal-panel {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 32px;
  margin-bottom: 22px;
  min-width: 0;
}
.portal-panel h2 {
  font-size: 2rem;
  line-height: 1.15;
}
.portal-panel h3 {
  font-size: 1.35rem;
  line-height: 1.2;
}
.portal-panel > p {
  font-size: 0.9rem;
}
.compact-panel {
  padding: 26px;
}
.form-panel-heading {
  margin-bottom: 25px;
}
.form-panel-heading h2 {
  margin-bottom: 8px;
}
.form-panel-heading span {
  font-size: 0.83rem;
  color: var(--muted);
}
.button-outline {
  border: 1px solid #acbbb4;
  color: var(--ink);
  background: white;
}
.form-save-bar {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: center;
  margin-top: -5px;
  padding: 25px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.form-save-bar .text-link {
  font-size: 0.83rem;
}
.delete-controls {
  margin-left: auto;
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.8rem;
}
.danger {
  color: #a04035;
}
.readiness {
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-size: 0.76rem;
}
.readiness > strong {
  float: right;
}
.readiness > div {
  height: 5px;
  background: var(--mist);
  border-radius: 5px;
  overflow: hidden;
  margin: 12px 0;
}
.readiness i {
  height: 100%;
  display: block;
  background: #6c8a76;
}
.readiness small {
  color: var(--muted);
  font-size: 0.72rem;
}
.review-note {
  background: #f4f4ee;
  padding: 12px;
  border-left: 3px solid #a3b1a8;
  font-size: 0.83rem !important;
  overflow-wrap: anywhere;
}
.review-state {
  display: flex;
  gap: 12px;
  align-items: center;
  border-radius: 10px;
  background: var(--mist);
  padding: 16px;
  margin: 25px 0;
  font-size: 0.9rem;
  font-weight: 650;
}
.trust-checks {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  display: grid;
  gap: 20px;
}
.trust-checks li {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  font-size: 0.85rem;
  color: var(--muted);
}
.trust-checks svg {
  flex-shrink: 0;
  color: #5f805a;
  margin-top: 4px;
}
.trust-checks strong {
  display: block;
  color: var(--ink);
  margin-bottom: 3px;
}
.trust-dot {
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  background: var(--mist);
  border-radius: 50%;
  font-size: 0.71rem;
  flex-shrink: 0;
  margin-top: 3px;
}
.activation-note {
  background: #e8edeb;
  padding: 28px;
  border-radius: 18px;
}
.activation-note h3 {
  font-size: 1.5rem;
  line-height: 1.25;
}
.activation-note p {
  font-size: 0.88rem;
  color: #5a6761;
}
.brand-preview {
  background: var(--ink);
  color: white;
  border-radius: 18px;
  padding: 35px;
  border-top: 8px solid var(--lime);
  margin-bottom: 25px;
}
.brand-preview > span {
  font-size: 0.71rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #b7c2c9;
}
.brand-preview h3 {
  font-size: 2rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
  margin: 35px 0 16px;
}
.brand-preview p {
  color: #c7d1d6;
  font-size: 1.1rem;
}
.brand-preview > div {
  border-radius: 9px;
  padding: 15px;
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 650;
  margin: 26px 0;
}
.brand-preview small {
  font-size: 0.72rem;
  color: #aab7bf;
}
.colour-options {
  padding: 0;
  border: 0;
  display: flex;
  gap: 10px;
  margin: 20px 0 25px;
}
.colour-options legend {
  font-size: 0.85rem;
  margin-bottom: 10px;
  font-weight: 650;
}
.colour-options label {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: relative;
  border: 1px solid #b3bdb5;
  cursor: pointer;
}
.colour-options input {
  position: absolute;
  opacity: 0;
  width: 40px;
  height: 40px;
  inset: 0;
  margin: 0;
  cursor: pointer;
}
.colour-options label:focus-within {
  outline: 2px solid var(--ink);
  outline-offset: 3px;
}
.import-file {
  margin-top: 28px;
}
.import-preview {
  overflow: auto;
  margin: 24px 0;
  border: 1px solid var(--line);
  border-radius: 9px;
}
.import-preview table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.79rem;
}
.import-preview caption {
  text-align: left;
  font-weight: 650;
  padding: 12px;
  background: var(--mist);
}
.import-preview th, .import-preview td {
  text-align: left;
  padding: 10px;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}
.import-preview th {
  background: #fafbf9;
}
.import-preview p {
  padding: 10px;
  font-size: 0.77rem;
  margin: 0;
}
.review-grid {
  grid-template-columns: 1fr 1fr;
  align-items: start;
}
.review-details {
  font-size: 0.83rem;
}
.review-details > div {
  margin: 14px 0;
  overflow-wrap: anywhere;
}
.review-details dt {
  font-size: 0.72rem;
  color: var(--muted);
}
.review-details dd {
  margin: 4px 0;
  color: var(--ink);
}
.decision-form {
  border-top: 1px solid var(--line);
  padding-top: 20px;
  margin-top: 20px;
}
.portal-panel summary {
  cursor: pointer;
  font-weight: 650;
  font-size: 0.9rem;
}
button:disabled {
  opacity: 0.55;
  cursor: wait;
  transform: none;
}
.portal-top h1:focus, .onboarding-card h2:focus {
  outline: none;
}
.onboard-feature {
  background: var(--ink);
  color: white;
  border-radius: 24px;
  padding: 48px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 55px;
  align-items: center;
  margin-top: 65px;
}
.onboard-feature h3 {
  font-size: 2.4rem;
  line-height: 1.1;
}
.onboard-feature p {
  color: #b5c2cb;
}
.onboard-feature ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 18px;
}
.onboard-feature li {
  display: flex;
  gap: 15px;
  font-size: 0.92rem;
  color: #c1cbd1;
}
.onboard-feature li > span {
  background: #2b3640;
  border: 1px solid #485658;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 0.77rem;
  color: var(--lime);
}
@media (max-width: 1000px) {
  .onboarding-grid {
    gap: 35px;
  }
  .property-grid {
    grid-template-columns: 1fr 1fr;
  }
  .portal-top-links {
    font-size: 0.7rem;
  }
  .portal-stat-grid .stat-label {
    font-size: 1.25rem;
  }
  .portal-two-col {
    grid-template-columns: 1.15fr 1fr;
  }
  .portal-panel {
    padding: 25px;
  }
  .field-row {
    gap: 12px;
  }
  .onboard-feature {
    padding: 35px;
    gap: 30px;
  }
}
@media (max-width: 760px) {
  .onboarding-section, .portal-section {
    padding: 35px 0 55px;
  }
  .onboarding-grid, .portal-two-col {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .onboarding-intro h1 {
    font-size: 3.1rem;
  }
  .onboarding-intro {
    padding: 0;
  }
  .onboarding-promises {
    gap: 0;
    margin: 25px 0;
  }
  .onboarding-card {
    padding: 25px;
  }
  .portal-top {
    display: block;
  }
  .portal-top h1 {
    font-size: 2.45rem;
  }
  .portal-top-links {
    flex-direction: row;
    align-items: center;
    gap: 25px;
    margin-top: 18px;
    padding: 0;
  }
  .workspace-nav {
    gap: 3px;
    justify-content: space-between;
  }
  .workspace-nav button {
    font-size: 0.74rem;
    padding: 10px 8px;
    gap: 5px;
  }
  .portal-stat-grid {
    gap: 9px;
    grid-template-columns: 1fr 1fr;
  }
  .portal-stat-grid > div {
    padding: 17px;
  }
  .portal-stat-grid > div:last-child {
    grid-column: 1/-1;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
  }
  .portal-stat-grid > div:last-child .stat-label {
    margin: 0;
    font-size: 1.2rem;
  }
  .portal-stat-grid strong {
    font-size: 2.2rem;
  }
  .portal-stat-grid span {
    font-size: 0.72rem;
  }
  .portal-stat-grid small {
    font-size: 0.7rem;
  }
  .activation-strip {
    padding: 17px;
    align-items: flex-start;
    flex-direction: column;
    gap: 13px;
  }
  .activation-strip > div {
    align-items: flex-start;
    gap: 10px;
  }
  .activation-strip p {
    font-size: 0.78rem;
  }
  .portfolio-toolbar h2 {
    font-size: 1.4rem;
  }
  .portfolio-toolbar .button {
    padding: 0 14px;
    font-size: 0.76rem;
    min-height: 42px;
  }
  .property-grid, .review-grid {
    grid-template-columns: 1fr;
  }
  .empty-portfolio {
    padding: 35px 20px;
  }
  .empty-portfolio h3 {
    font-size: 1.4rem;
  }
  .empty-portfolio p {
    font-size: 0.88rem;
  }
  .portal-panel {
    padding: 22px;
  }
  .portal-panel h2 {
    font-size: 1.8rem;
  }
  .field-row {
    gap: 12px;
  }
  .field {
    font-size: 0.82rem;
  }
  .field input, .field select, .field textarea {
    font-size: 16px;
    padding: 10px;
  }
  .form-save-bar {
    grid-column: auto;
    gap: 20px;
    padding: 20px;
  }
  .delete-controls {
    margin: 0;
    width: 100%;
    padding-top: 16px;
    border-top: 1px solid var(--line);
  }
  .onboard-feature {
    grid-template-columns: 1fr;
    padding: 28px;
    gap: 30px;
    border-radius: 18px;
  }
  .onboard-feature h3 {
    font-size: 2rem;
  }
  .onboard-feature li {
    font-size: 0.83rem;
  }
}
@media (max-width: 360px) {
  .onboarding-card {
    padding: 19px;
  }
  .setup-steps {
    gap: 6px;
  }
  .setup-steps li {
    font-size: 0.65rem;
    gap: 5px;
  }
  .route-choice {
    padding: 15px;
    gap: 10px;
  }
  .workspace-nav button {
    font-size: 0.68rem;
    padding: 9px 6px;
  }
  .workspace-nav svg {
    width: 15px;
  }
  .field-row {
    grid-template-columns: 1fr;
  }
  .readiness > strong {
    float: none;
    display: block;
    margin-top: 3px;
  }
}
.launch-role-grid,.guide-grid,.stat-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
}
.launch-role-grid>a,.guide-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 32px;
  background: white;
  transition: transform .16s ease,border-color .16s ease;
}
.launch-role-grid>a:hover,.guide-card:hover {
  transform: translateY(-3px);
  border-color: #789d00;
}
.launch-role-grid svg {
  margin-bottom: 24px;
}
.launch-role-grid p,.guide-category {
  color: #5a691f;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.launch-role-grid h3,.guide-card h3 {
  font-size: 1.8rem;
  line-height: 1.12;
  margin: 12px 0 18px;
}
.launch-role-grid span {
  color: var(--muted);
}
.launch-role-grid b,.guide-card b {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .9rem;
  margin-top: auto;
  padding-top: 28px;
}
.launch-insights {
  background: var(--sand);
}
.stat-grid article {
  padding: 30px 24px;
  border-top: 1px solid #c7cbbb;
}
.stat-grid strong {
  font-size: clamp(2.7rem,5vw,4.4rem);
  letter-spacing: -.05em;
  line-height: 1.2;
  display: block;
  margin-bottom: 24px;
}
.stat-grid h3 {
  font-size: 1.2rem;
  letter-spacing: -.02em;
}
.source-line {
  font-size: .84rem;
  margin: 30px 0;
  color: #545e60;
}
.source-line a,.privacy-copy a,.article-sources a,.article-aside a,.form-check a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.guide-tool {
  padding: 40px;
  background: var(--sand);
  border-radius: 20px;
  margin-top: 48px;
}
.guide-tool h2 {
  font-size: 2.4rem;
}
.guide-article {
  max-width: 820px;
  padding-top: 70px;
  padding-bottom: 80px;
}
.guide-article header {
  padding: 38px 0 28px;
}
.guide-article h1 {
  font-size: clamp(2.7rem,5vw,4.5rem);
  line-height: 1.07;
}
.article-deck {
  font-size: 1.22rem;
}
.article-meta {
  font-size: .85rem;
}
.article-contents {
  background: var(--sand);
  padding: 28px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.article-contents a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.guide-article section {
  margin-top: 48px;
  scroll-margin-top: 110px;
}
.guide-article section h2 {
  font-size: 2rem;
  line-height: 1.15;
}
.guide-article section p,.guide-article li {
  font-size: 1.08rem;
  line-height: 1.8;
  color: #444e56;
}
.guide-article li {
  padding-left: 4px;
  margin-bottom: 10px;
}
.article-aside {
  background: var(--mist);
  padding: 28px;
  border-radius: 16px;
  margin-top: 48px;
}
.article-aside p {
  margin-bottom: 0;
  margin-top: 12px;
}
.signup-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: start;
}
.signup-layout>div:first-child {
  max-width: 420px;
}
.signup-points {
  padding-left: 20px;
  color: var(--muted);
  margin-bottom: 32px;
}
.signup-points li {
  margin-bottom: 12px;
}
.interest-form {
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--sand);
}
.interest-form fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
.interest-form legend {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 16px;
}
.role-picker {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  margin-bottom: 28px;
}
.role-picker label {
  padding: 12px 10px;
  border: 1px solid #c7cbbb;
  border-radius: 10px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: .85rem;
  background: white;
  cursor: pointer;
}
.role-picker label:has(input:checked) {
  background: var(--lime);
  border-color: var(--ink);
}
.field-label {
  display: block;
  font-weight: 600;
  margin: 20px 0 8px;
}
.field-label span {
  color: var(--muted);
  font-size: .8rem;
  font-weight: 400;
}
.interest-form input:not([type=checkbox]):not([type=radio]),.interest-form select {
  width: 100%;
  padding: 12px;
  background: white;
  border: 1px solid #a6b1ae;
  border-radius: 8px;
}
.form-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 24px 0;
  font-size: .92rem;
  line-height: 1.6;
}
.form-check input {
  margin-top: 5px;
  flex: 0 0 auto;
  accent-color: var(--ink);
  width: 18px;
  height: 18px;
}
.form-trap {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.form-error {
  padding: 14px;
  background: #ffe9e3;
  color: #9c2d16;
  border-radius: 8px;
}
.interest-form .quiet-note {
  font-size: .8rem;
  margin: 20px 0 0;
}
.signup-confirmation {
  padding: 36px;
  background: var(--sand);
  border-radius: 20px;
}
.signup-confirmation h2 {
  font-size: 2.5rem;
  margin-top: 24px;
}
.signup-confirmation>p:last-child {
  margin-top: 24px;
}
button {
  cursor: pointer;
}
button:disabled,fieldset:disabled {
  opacity: .65;
  cursor: wait;
}
.lead-table-wrap {
  overflow-x: auto;
  margin-top: 30px;
}
.lead-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}
.lead-table caption {
  text-align: left;
  font-weight: 700;
  padding-bottom: 16px;
}
.lead-table th,.lead-table td {
  padding: 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.lead-table small {
  display: block;
  color: var(--muted);
}
.lead-table select {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px;
  background: white;
}
.budget-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: start;
}
.budget-inputs fieldset {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 24px;
  margin: 0 0 24px;
  min-width: 0;
}
.budget-inputs legend {
  font-weight: 700;
  padding: 0 8px;
}
.budget-field {
  display: grid;
  grid-template-columns: 1fr 145px;
  gap: 20px;
  align-items: center;
  margin: 12px 0;
}
.budget-field input {
  width: 100%;
  padding: 10px;
  border: 1px solid #a6b1ae;
  border-radius: 8px;
}
.budget-totals {
  background: var(--ink);
  border-radius: 20px;
  padding: 36px;
  position: sticky;
  top: 110px;
  color: white;
}
.budget-totals p,.budget-totals small {
  color: #cdd5d8;
}
.budget-totals h2 {
  font-size: clamp(2rem,4vw,3.4rem);
  overflow-wrap: anywhere;
}
.budget-totals .rule {
  background: #48505a;
  margin: 24px 0;
}
.budget-totals small {
  display: block;
  font-size: .84rem;
}
.budget-totals .button {
  margin-top: 30px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (max-width:1000px) {
  .launch-role-grid,.guide-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .signup-layout {
    gap: 32px;
  }
  .role-picker {
    grid-template-columns: 1fr;
  }
  .budget-field {
    grid-template-columns: 1fr 120px;
  }
}
@media (max-width:760px) {
  .launch-role-grid,.guide-grid,.stat-grid,.signup-layout,.budget-layout {
    grid-template-columns: 1fr;
  }
  .signup-layout>div:first-child {
    max-width: none;
  }
  .interest-form {
    padding: 24px;
  }
  .stat-grid article {
    padding: 24px 0;
  }
  .guide-article {
    padding-top: 40px;
  }
  .guide-article h1 {
    font-size: 2.8rem;
  }
  .guide-tool {
    padding: 28px;
  }
  .budget-totals {
    position: static;
  }
  .role-picker {
    grid-template-columns: 1fr;
  }
  .budget-field {
    grid-template-columns: 1fr 110px;
    gap: 12px;
  }
  .guide-article section p,.guide-article li {
    font-size: 1rem;
  }
  .launch-role-grid h3,.guide-card h3 {
    font-size: 1.6rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .launch-role-grid>a,.guide-card {
    transition: none;
  }
  .launch-role-grid>a:hover,.guide-card:hover {
    transform: none;
  }
}
.address-entry {
  margin: 24px 0;
  padding: 22px;
  border: 1px solid #d5ded8;
  border-radius: 16px;
  background: #f7f9f5;
  min-width: 0;
}
.address-entry-heading {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-bottom: 18px;
}
.address-entry-heading>svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: #38554e;
}
.address-entry-heading h3 {
  font-size: 1.1rem;
  margin: 0 0 5px;
}
.address-entry-heading p {
  font-size: .85rem;
  line-height: 1.6;
  color: var(--muted);
  margin: 0;
}
.address-mode {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 4px;
  background: #e8ede7;
  border-radius: 10px;
  margin-bottom: 22px;
}
.address-mode button {
  flex: 1;
  min-height: 42px;
  padding: 9px 12px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  font-size: .8rem;
  color: #43554e;
  cursor: pointer;
}
.address-mode button.active {
  background: white;
  box-shadow: 0 1px 4px #193e2210;
  color: var(--ink);
  font-weight: 650;
}
.address-search {
  position: relative;
  min-width: 0;
}
.address-search-control {
  position: relative;
  display: flex;
  align-items: center;
}
.address-search-control>svg {
  position: absolute;
  left: 12px;
  color: #61736b;
  pointer-events: none;
}
.address-search-control input {
  padding-left: 37px;
  padding-right: 39px;
}
.address-open {
  position: absolute;
  right: 3px;
  top: 3px;
  bottom: 3px;
  width: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #43554e;
  cursor: pointer;
}
.address-open:hover {
  background: #edf2ed;
}
.address-search input:disabled {
  background: #edf0ed;
  color: #7b8781;
  cursor: not-allowed;
}
.address-search-popup {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 5px);
  z-index: 60;
  background: white;
  border: 1px solid #b6c7bd;
  border-radius: 11px;
  box-shadow: 0 12px 35px #19332924;
  max-height: 310px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.address-search-popup ul {
  list-style: none;
  padding: 5px;
  margin: 0;
}
.address-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 10px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--ink);
  min-height: 46px;
}
.address-option>span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.address-option strong {
  display: block;
  font-size: .88rem;
  font-weight: 550;
}
.address-option small {
  display: block;
  font-size: .73rem;
  margin-top: 3px;
}
.address-option.active,.address-option[aria-selected=true] {
  background: #edf4e8;
}
.address-search-popup>p {
  padding: 12px;
  margin: 0;
  font-size: .8rem;
  line-height: 1.55;
  color: var(--muted);
  font-weight: 400;
}
.address-search-popup .address-result-count {
  border-top: 1px solid #edf0eb;
  font-size: .69rem;
  padding: 9px 12px;
}
.address-fallback {
  font-size: .78rem;
  margin: -6px 0 22px;
  line-height: 1.5;
  text-align: left;
}
.address-entry .field-row {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.address-entry .field {
  min-width: 0;
}
.address-source-note,.address-privacy-note {
  font-size: .74rem;
  line-height: 1.65;
  color: #596b62;
  margin: 6px 0 0;
}
.address-source-note a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.address-privacy-note {
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid #dbe4d8;
}
.address-summary {
  display: block;
  overflow-wrap: anywhere;
  font-size: .86rem;
  font-weight: 400;
  line-height: 1.65;
  padding: 13px;
  background: #f1f5ef;
  border-radius: 9px;
}
.address-warning {
  padding: 12px 14px;
  border: 1px solid #dfd1a7;
  background: #fffae9;
  color: #6e5523;
  border-radius: 9px;
  font-size: .82rem;
  line-height: 1.6;
  margin: 0 0 17px;
}
.address-warning p {
  margin: 0 0 5px;
}
.property-preview-hero {
  background: #edf2e8;
  padding: 70px 0 42px;
}
.property-preview-hero h1 {
  font-family: var(--font-heading),sans-serif;
  font-size: clamp(2.2rem,5vw,4rem);
  letter-spacing: -.05em;
  line-height: 1.06;
  margin: 16px 0 20px;
}
.property-preview-hero>.shell>p:not(.eyebrow) {
  max-width: 650px;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #516258;
}
.preview-test-note {
  display: flex;
  gap: 14px;
  max-width: 830px;
  background: #fff;
  border: 1px solid #d7e0d2;
  border-radius: 12px;
  padding: 17px 20px;
  margin: 25px 0;
}
.preview-test-note>svg {
  flex-shrink: 0;
  color: #526c48;
  margin-top: 3px;
}
.preview-test-note p {
  font-size: .85rem;
  line-height: 1.65;
  margin: 0;
  color: #53634e;
}
.preview-test-note strong {
  display: block;
  color: var(--ink);
  margin-bottom: 3px;
}
.preview-role-picker {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}
.preview-role-picker button {
  min-height: 44px;
  padding: 10px 17px;
  border: 1px solid #bccbb6;
  border-radius: 8px;
  background: transparent;
  color: #42533d;
  cursor: pointer;
}
.preview-role-picker button.active {
  background: var(--ink);
  color: white;
  border-color: var(--ink);
}
.preview-role-picker>span {
  font-size: .77rem;
  color: var(--muted);
  flex: 1 1 280px;
  padding-left: 5px;
}
.property-preview-content {
  padding-top: 35px;
}
.preview-portfolio {
  border: 1px solid #dce3d8;
  border-radius: 14px;
  padding: 23px 26px;
  margin-bottom: 28px;
  background: white;
}
.preview-portfolio h2 {
  font-size: 1.2rem;
}
.preview-portfolio h2 span {
  font-size: .8rem;
  color: var(--muted);
  padding-left: 8px;
}
.preview-portfolio>p {
  font-size: .86rem;
  line-height: 1.7;
  color: var(--muted);
}
.preview-portfolio ol {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
  display: grid;
  gap: 12px;
}
.preview-portfolio li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #f7f9f5;
  border-radius: 8px;
  padding: 14px;
}
.preview-portfolio li>svg {
  color: #517342;
  flex-shrink: 0;
  margin-top: 2px;
}
.preview-portfolio li>div {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.preview-portfolio li strong {
  font-size: .89rem;
  display: block;
}
.preview-portfolio li span,.preview-portfolio li small {
  font-size: .78rem;
  display: block;
  color: var(--muted);
  margin-top: 5px;
}
.preview-saved-message {
  color: #365c36 !important;
}
.preview-complete {
  text-align: center;
  padding: 45px;
}
.preview-complete>.button {
  margin-top: 18px;
}
.address-mode button:focus-visible,.address-open:focus-visible,.preview-role-picker button:focus-visible {
  outline: 2px solid #426650;
  outline-offset: 3px;
}
@media (max-width:760px) {
  .property-preview-hero {
    padding: 40px 0 30px;
  }
  .address-entry {
    padding: 17px;
  }
  .address-entry .field-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .address-search-popup {
    max-height: 250px;
  }
  .preview-portfolio {
    padding: 19px;
  }
  .preview-test-note {
    padding: 15px;
  }
  .preview-role-picker>span {
    padding: 5px 0 0;
    flex-basis: 100%;
  }
  .preview-complete {
    padding: 25px;
  }
}

/* ── Dwellink.Web additions (not on the old site) ─────────────────────────────
   Sign-in ("Log in with WhatsApp") and account pages. Same tokens as above. */
.login-card h2 {
  margin: 0 0 10px;
}
.login-card form {
  margin-top: 14px;
}
.login-card .rule {
  height: 1px;
  margin: 22px 0 8px;
  background: var(--line);
}
.login-code {
  margin: 4px 0 18px;
  padding: 14px 18px;
  border: 1px dashed var(--ink);
  border-radius: 14px;
  background: var(--paper);
  font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
  font-size: clamp(1.4rem, 4vw, 1.9rem);
  font-weight: 800;
  letter-spacing: .12em;
  text-align: center;
}
.login-qr {
  display: flex;
  gap: 18px;
  align-items: center;
  margin: 20px 0 6px;
}
.login-qr-code {
  flex: 0 0 148px;
  width: 148px;
  padding: 8px;
  border: 1px solid #dce3df;
  border-radius: 14px;
  background: #fff;
}
.login-qr-code svg {
  display: block;
  width: 100%;
  height: auto;
}
.login-qr p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
}
@media (max-width: 820px) {
  .login-qr {
    display: none;
  }
}

/* Search (/search) and property details (/property/{id}). */
.search-layout {
  display: grid;
  grid-template-columns: minmax(260px, 340px) 1fr;
  gap: 36px;
  align-items: start;
}
.search-form {
  position: sticky;
  top: 96px;
}
.search-form select[multiple] {
  min-height: 150px;
}
.search-form .button {
  margin-top: 18px;
}
.search-form .text-link {
  display: inline-block;
  margin: 14px 0 0 14px;
}
.search-more {
  margin-top: 16px;
}
.search-more summary {
  cursor: pointer;
  font-weight: 700;
}
.search-amenities {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 14px;
  margin-top: 12px;
}
.search-count {
  margin: 0 0 18px;
  color: var(--muted);
}
.search-count strong {
  color: var(--ink);
}
.listing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 22px;
}
.listing-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  transition: transform .15s ease, box-shadow .15s ease;
}
.listing-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(16, 23, 34, .08);
}
.listing-photo {
  aspect-ratio: 4 / 3;
  background: var(--sand);
}
.listing-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.listing-photo-empty {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--muted);
}
.listing-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  padding: 16px 18px 18px;
}
.listing-body h3 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.3;
}
.listing-place {
  display: flex;
  gap: 5px;
  align-items: center;
  color: var(--muted);
  font-size: .82rem;
}
.listing-facts {
  margin: 0;
  color: var(--muted);
  font-size: .88rem;
}
.listing-rent {
  margin-top: auto;
  font-size: 1.2rem;
}
.listing-rent span {
  color: var(--muted);
  font-size: .85rem;
  font-weight: 500;
}
.search-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}
.search-pager a {
  min-width: 40px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  text-align: center;
}
.search-pager a[aria-current=page] {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
}
.listing-detail .portal-alert {
  margin: 18px 0 0;
}
.listing-header {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: end;
  justify-content: space-between;
  margin: 22px 0;
}
.listing-header h1 {
  margin: 0;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  letter-spacing: -.04em;
  line-height: 1.05;
}
.listing-header .listing-rent {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 800;
}
.listing-gallery {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(280px, 46%);
  gap: 12px;
  overflow-x: auto;
  margin-bottom: 30px;
  scroll-snap-type: x mandatory;
}
.listing-gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 16px;
  object-fit: cover;
  scroll-snap-align: start;
}
.listing-columns {
  display: grid;
  grid-template-columns: 1fr minmax(280px, 360px);
  gap: 40px;
  align-items: start;
}
.listing-description {
  white-space: pre-line;
}
.listing-facts-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
  margin: 0 0 24px;
}
.listing-facts-list div {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.listing-facts-list dt {
  color: var(--muted);
  font-size: .8rem;
}
.listing-facts-list dd {
  margin: 2px 0 0;
  font-weight: 700;
}
.listing-enquiry {
  position: sticky;
  top: 96px;
}
.listing-enquiry h2 {
  margin-top: 0;
}
@media (max-width: 820px) {
  .search-layout, .listing-columns {
    grid-template-columns: 1fr;
  }
  .search-form, .listing-enquiry {
    position: static;
  }
  .listing-gallery {
    grid-auto-columns: 86%;
  }
}

/* Listing editor (agent area and owner portal): status bar, "More details", photos. */
.listing-status-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin: 0 0 22px;
}
.listing-status-bar .review-note {
  flex: 1 1 320px;
  margin: 0;
}
.listing-status-bar .portal-actions, .property-card-actions form {
  display: inline-flex;
  gap: 10px;
  margin: 0;
}
.portal-error ul {
  margin: 0;
  padding-left: 18px;
}
.more-details {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.more-details summary {
  cursor: pointer;
  font-weight: 800;
}
.more-details summary small {
  display: block;
  color: var(--muted);
  font-weight: 500;
}
.more-details h3 {
  margin: 22px 0 8px;
  font-size: 1rem;
}
.field-row-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 14px;
}
.check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
}
#photos {
  margin-top: 30px;
}
.photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.photo-grid figure {
  margin: 0;
}
.photo-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  object-fit: cover;
}
.photo-grid figcaption {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
  font-size: .8rem;
}
.photo-grid figcaption span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.photo-upload .button {
  margin-top: 8px;
}
@media (max-width: 820px) {
  .field-row-3, .check-grid {
    grid-template-columns: 1fr;
  }
}

/* Owner sign-up: route choices as radio buttons (the old site used toggle buttons). */
.route-choice {
  position: relative;
  cursor: pointer;
}
.route-choice input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.route-choice:has(input:checked) {
  border-color: #47606d;
  background: #f3f8f7;
  box-shadow: 0 0 0 1px #47606d;
}
.route-choice .choice-check svg {
  visibility: hidden;
}
.route-choice:has(input:checked) .choice-check svg {
  visibility: visible;
}
.route-choice:has(input:focus-visible) {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}
fieldset.choice-stack {
  margin: 18px 0;
  padding: 0;
  border: 0;
}
fieldset.choice-stack legend {
  margin-bottom: 8px;
  font-weight: 800;
}
.onboarding-card form .button {
  margin-top: 14px;
}
