:root {
  --navy-950: #071725;
  --navy-900: #0b1f33;
  --navy-800: #12324a;
  --navy-700: #194665;
  --sky-700: #21719d;
  --sky-600: #2d8fc5;
  --sky-500: #55ade0;
  --sky-400: #75c8f5;
  --sky-300: #9dd8f2;
  --sky-200: #c4e7f8;
  --sky-100: #e4f4fc;
  --sky-50: #f1f9fd;
  --charcoal-900: #1c2935;
  --charcoal-800: #2d3e4e;
  --charcoal-700: #415466;
  --charcoal-600: #5d6e7d;
  --charcoal-500: #758493;
  --charcoal-400: #5f7181;
  --charcoal-300: #c6d0d8;
  --charcoal-200: #dae2e8;
  --charcoal-100: #edf1f4;
  --charcoal-50: #f5f7f9;
  --warm-white: #fcfbf8;
  --white: #fff;
  --mint: #40aa8a;
  --mint-600: #247e64;
  --mint-100: #def5ed;
  --violet: #7768cf;
  --violet-100: #ebe8fb;
  --coral: #d97865;
  --coral-100: #fae8e3;
  --amber: #b98225;
  --amber-100: #fbf0d7;
  --danger: #c84a54;
  --danger-100: #fce7e9;
  --shadow-sm: 0 1px 2px rgba(8, 31, 50, .05), 0 5px 16px rgba(8, 31, 50, .05);
  --shadow-md: 0 18px 50px rgba(8, 31, 50, .12);
  --shadow-lg: 0 34px 90px rgba(5, 24, 39, .2);
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 24px;
  --radius-xl: 34px;
  --shell: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--charcoal-900); background: var(--warm-white); font-family: "DM Sans", sans-serif; font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
:where(button, input, select, textarea) { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }

/* Shared text-entry controls. Keep non-text controls on their native/component rules. */
:where(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="url"],
  input[type="tel"],
  input[type="search"],
  input[type="number"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  select,
  textarea
) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  color: var(--charcoal-900);
  background-color: var(--white);
  border: 1px solid var(--charcoal-200);
  border-radius: 10px;
  font: inherit;
  line-height: 1.35;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

:where(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="url"],
  input[type="tel"],
  input[type="search"],
  input[type="number"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  textarea
)::placeholder {
  color: var(--charcoal-500);
  opacity: 1;
}

:where(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="url"],
  input[type="tel"],
  input[type="search"],
  input[type="number"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  select,
  textarea
):hover:not(:disabled):not([readonly]) {
  border-color: var(--charcoal-300);
}

:where(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="url"],
  input[type="tel"],
  input[type="search"],
  input[type="number"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  select,
  textarea
):focus {
  border-color: var(--sky-500);
  box-shadow: 0 0 0 3px rgba(85, 173, 224, .16);
}

:where(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="url"],
  input[type="tel"],
  input[type="search"],
  input[type="number"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  select,
  textarea
):disabled {
  color: var(--charcoal-600);
  background-color: var(--charcoal-50);
  cursor: not-allowed;
  opacity: 1;
}

textarea {
  min-height: 104px;
  resize: vertical;
}

/* Help and validation stay below a field without stretching its control. */
:where(label:has(> span):has(> :is(
  input:not([type="checkbox"], [type="radio"], [type="hidden"]),
  select,
  textarea
))) {
  align-content: start;
}

img { display: block; max-width: 100%; }
h1, h2, h3, strong { font-family: "Manrope", sans-serif; }
h1, h2, h3, p { margin-top: 0; }
h1 { letter-spacing: -.055em; line-height: 1.02; }
h2 { letter-spacing: -.04em; line-height: 1.12; }
h3 { letter-spacing: -.025em; line-height: 1.25; }
.icon { width: 20px; height: 20px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }

/* Inline icon links share the same centering as button and navigation links. */
:where(a:has(> .icon)) {
  display: inline-flex;
  align-items: center;
  gap: .4em;
}
.section-shell, .nav-shell, .footer-shell, .footer-base, .hero-shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.section { padding-block: 110px; }
.narrow-shell { max-width: 790px; text-align: center; }
.eyebrow { display: inline-block; color: var(--sky-600); font-family: "Manrope", sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow-light { color: var(--sky-400); }
.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 18px; border: 1px solid transparent; border-radius: 11px; cursor: pointer; font-family: "Manrope", sans-serif; font-weight: 700; line-height: 1; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
.button[hidden] { display: none !important; }
.button:hover { transform: translateY(-1px); }
.button:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid rgba(85, 173, 224, .32); outline-offset: 2px; }
h1:focus { outline: none; }
.button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.button-primary { color: #fff; background: var(--navy-900); box-shadow: 0 8px 24px rgba(11, 31, 51, .2); }
.button-primary:hover { background: var(--navy-800); box-shadow: 0 11px 28px rgba(11, 31, 51, .24); }
.button-soft { color: var(--navy-900); background: rgba(255, 255, 255, .72); border-color: rgba(11, 31, 51, .1); backdrop-filter: blur(10px); }
.button-white { color: var(--navy-900); background: #fff; box-shadow: 0 9px 25px rgba(5, 24, 39, .18); }
.button-dark { color: #fff; background: var(--charcoal-900); }
.button-outline, .button-ghost { color: var(--navy-900); background: #fff; border-color: var(--charcoal-200); }
.button-outline:hover, .button-ghost:hover { border-color: var(--sky-500); background: var(--sky-50); }
.button-translucent { color: #fff; background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .2); }
.button-large { min-height: 52px; padding: 14px 23px; border-radius: 13px; }
.button-small { min-height: 38px; padding: 8px 13px; font-size: 13px; }
.button-full { width: 100%; }
.text-link { padding: 6px; color: var(--navy-800); font-family: "Manrope", sans-serif; font-weight: 700; }
.text-link-light { color: #fff; font-family: "Manrope", sans-serif; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.text-danger { padding: 8px; border: 0; background: transparent; color: var(--danger); cursor: pointer; font-weight: 700; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--navy-900); }
.brand img { width: 38px; height: 38px; }
.brand-copy { display: flex; gap: 5px; align-items: baseline; font-family: "Manrope", sans-serif; font-size: 18px; letter-spacing: -.04em; }
.brand-copy strong { font-weight: 800; }.brand-copy span { color: var(--charcoal-600); font-weight: 600; }
.brand-light { color: #fff; }.brand-light .brand-copy span { color: rgba(255, 255, 255, .62); }
.icon-button { width: 38px; height: 38px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--charcoal-200); border-radius: 10px; background: #fff; cursor: pointer; position: relative; }
.icon-button:hover, .icon-button.active { color: var(--sky-600); border-color: var(--sky-400); background: var(--sky-50); }
.avatar { width: 38px; height: 38px; display: inline-grid; place-items: center; flex: 0 0 auto; color: var(--navy-800); background: linear-gradient(145deg, #d5f0fc, #b8dff2); border: 2px solid #fff; border-radius: 50%; font-family: "Manrope", sans-serif; font-size: 12px; font-weight: 800; }
.status-pill { width: max-content; display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; color: var(--charcoal-700); background: var(--charcoal-100); border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-positive { color: #247e64; background: var(--mint-100); }.status-sky { color: #237fab; background: var(--sky-100); }.status-warning { color: #986919; background: var(--amber-100); }.status-danger { color: var(--danger); background: var(--danger-100); }.status-neutral { color: var(--charcoal-600); background: var(--charcoal-100); }
.public-header { height: 76px; display: flex; align-items: center; position: relative; z-index: 30; background: rgba(252, 251, 248, .9); border-bottom: 1px solid rgba(11, 31, 51, .06); backdrop-filter: blur(16px); }
.nav-shell { display: flex; align-items: center; justify-content: space-between; }
.desktop-nav { display: flex; align-items: center; gap: 32px; margin-left: 80px; }
.desktop-nav a { padding: 8px 2px; color: var(--charcoal-700); font-weight: 600; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--navy-900); }
.header-actions { display: flex; align-items: center; gap: 12px; }
.mobile-menu { display: none; position: relative; }.mobile-menu summary { list-style: none; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--charcoal-200); border-radius: 10px; cursor: pointer; }.mobile-menu summary::-webkit-details-marker { display: none; }.mobile-menu nav { width: min(300px, calc(100vw - 32px)); display: grid; gap: 4px; position: absolute; right: 0; top: 50px; padding: 14px; background: #fff; border: 1px solid var(--charcoal-200); border-radius: 16px; box-shadow: var(--shadow-md); }.mobile-menu nav a:not(.button) { padding: 12px; border-radius: 9px; font-weight: 700; }.mobile-menu nav a:hover { background: var(--charcoal-50); }

/* Marketing home */
.hero { min-height: 730px; position: relative; overflow: hidden; background: linear-gradient(145deg, #f8f9f7 15%, #edf7fb 60%, #eff3f4); }
.hero::after { content: ""; position: absolute; inset: auto -10% -300px; height: 480px; border-radius: 50% 50% 0 0; background: rgba(255,255,255,.55); transform: rotate(-4deg); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(3px); opacity: .45; }.hero-orb-one { width: 430px; height: 430px; top: -190px; left: 12%; background: radial-gradient(circle, #cdeffc, transparent 68%); }.hero-orb-two { width: 500px; height: 500px; bottom: -280px; right: -130px; background: radial-gradient(circle, #9fd7ef, transparent 68%); }
.hero-shell { min-height: 650px; display: grid; grid-template-columns: .92fr 1.08fr; gap: 70px; align-items: center; position: relative; z-index: 2; padding-block: 58px 38px; }
.announcement { width: max-content; max-width: 100%; display: flex; align-items: center; gap: 9px; padding: 7px 11px 7px 7px; margin-bottom: 24px; color: var(--charcoal-700); background: rgba(255,255,255,.72); border: 1px solid rgba(11,31,51,.09); border-radius: 999px; font-size: 12px; font-weight: 600; }.announcement span { padding: 3px 8px; color: #fff; background: var(--sky-600); border-radius: 999px; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }.announcement .icon { width: 14px; }
.hero h1 { max-width: 590px; margin-bottom: 22px; color: var(--navy-900); font-size: clamp(50px, 5.6vw, 78px); font-weight: 800; }.hero h1 em { color: var(--sky-600); font-style: normal; font-weight: 700; }
.hero-copy > p { max-width: 530px; margin-bottom: 30px; color: var(--charcoal-600); font-size: 19px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.play-dot { width: 27px; height: 27px; display: grid; place-items: center; padding-left: 2px; color: var(--sky-600); background: var(--sky-100); border-radius: 50%; font-size: 10px; }
.trust-row { display: flex; align-items: center; gap: 14px; margin-top: 34px; }.avatar-stack { display: flex; }.avatar-stack i { width: 31px; height: 31px; display: grid; place-items: center; margin-left: -7px; color: var(--navy-800); background: #d9eaf3; border: 2px solid #fff; border-radius: 50%; font-size: 9px; font-style: normal; font-weight: 800; }.avatar-stack i:first-child { margin-left: 0; }.avatar-stack i:nth-child(2) { background: #eadff5; }.avatar-stack i:nth-child(3) { background: #f7ddd5; }.avatar-stack i:last-child { background: var(--navy-900); color: #fff; }.trust-row > span:last-child { display: grid; gap: 1px; }.stars { color: #e5a62b; font-size: 11px; letter-spacing: 2px; }.trust-row strong { color: var(--charcoal-600); font-size: 11px; }
.hero-visual { min-height: 540px; position: relative; }.hero-image { height: 520px; position: absolute; inset: 5px 0 0 35px; background: linear-gradient(145deg, rgba(10,32,50,.08), rgba(72,169,215,.12)), url('/images/spacesforhire-hero.png') center/cover no-repeat, linear-gradient(145deg,#abc9d3,#4f7486); border: 8px solid rgba(255,255,255,.78); border-radius: 46% 46% 26px 26px / 29% 29% 26px 26px; box-shadow: var(--shadow-lg); }
.hero-image::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); }
.hero-float { position: absolute; z-index: 2; background: rgba(255,255,255,.93); border: 1px solid rgba(255,255,255,.7); border-radius: 16px; box-shadow: var(--shadow-md); backdrop-filter: blur(14px); }.hero-float-booking { left: -18px; top: 84px; display: flex; align-items: center; gap: 11px; padding: 13px 17px 13px 12px; }.float-icon { width: 36px; height: 36px; display: grid; place-items: center; color: #fff; background: var(--mint); border-radius: 11px; }.float-icon .icon { width: 17px; }.hero-float-booking > span:last-child { display: grid; }.hero-float-booking strong { color: var(--navy-900); font-size: 12px; }.hero-float-booking small { color: var(--charcoal-500); font-size: 10px; }
.hero-float-performance { right: -20px; bottom: 30px; width: 185px; padding: 15px; }.hero-float-performance > small { color: var(--charcoal-500); font-size: 9px; text-transform: uppercase; }.hero-float-performance > strong { display: block; color: var(--navy-900); font-size: 27px; }.hero-float-performance > strong span { color: var(--mint); font-family: "DM Sans"; font-size: 10px; }.hero-float-performance > span { color: var(--charcoal-500); font-size: 10px; }.mini-chart { height: 42px; display: flex; align-items: end; gap: 5px; margin-top: 8px; }.mini-chart i { flex: 1; min-height: 8px; background: linear-gradient(#75c8f5,#2d8fc5); border-radius: 3px 3px 0 0; }
.brand-strip { position: relative; z-index: 4; display: grid; place-items: center; gap: 20px; padding: 34px 20px 40px; color: var(--charcoal-500); background: #fff; border-bottom: 1px solid var(--charcoal-100); }.brand-strip > span { font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }.brand-strip > div { width: min(850px,100%); display: flex; align-items: center; justify-content: space-between; gap: 25px; color: #85929d; }.brand-strip strong { font-size: 13px; letter-spacing: .06em; }.brand-strip strong span { color: var(--sky-500); }
.intro-section { text-align: center; }.intro-section h2, .testimonial-section h2 { margin: 13px 0 18px; color: var(--navy-900); font-size: clamp(36px,4vw,52px); }.section-lead { max-width: 700px; margin: 0 auto 50px; color: var(--charcoal-600); font-size: 18px; }
.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; text-align: left; }.feature-card { min-height: 400px; position: relative; overflow: hidden; padding: 34px; background: #fff; border: 1px solid var(--charcoal-100); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }.feature-card h3 { margin: 21px 0 10px; color: var(--navy-900); font-size: 24px; }.feature-card > p { max-width: 470px; color: var(--charcoal-600); }.feature-card > a { display: inline-flex; align-items: center; gap: 7px; color: var(--sky-600); font-weight: 700; }.feature-card > a .icon { width: 16px; }.feature-primary { min-height: 520px; grid-row: span 2; background: linear-gradient(145deg,#f8fcfe,#eef8fc); }.feature-icon { width: 46px; height: 46px; display: grid; place-items: center; color: var(--sky-600); background: var(--sky-100); border-radius: 13px; }.feature-icon-mint { color: var(--mint); background: var(--mint-100); }.feature-icon-violet { color: var(--violet); background: var(--violet-100); }.feature-icon-coral { color: var(--coral); background: var(--coral-100); }
.feature-ui { margin-top: 40px; }.mini-calendar { max-width: 350px; display: grid; grid-template-columns: repeat(7,1fr); gap: 8px; padding: 20px; background: #fff; border: 1px solid var(--charcoal-100); border-radius: 16px; box-shadow: var(--shadow-sm); }.mini-calendar > div { grid-column: 1/-1; display: flex; justify-content: space-between; margin-bottom: 8px; }.mini-calendar small, .mini-calendar i { display: grid; place-items: center; color: var(--charcoal-500); font-size: 10px; font-style: normal; }.mini-calendar i { height: 30px; color: var(--charcoal-700); }.mini-calendar i.selected { color: #fff; background: var(--navy-900); border-radius: 50%; }.mini-booking { width: 88%; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; margin: -14px 0 0 12%; padding: 12px; position: relative; background: #fff; border: 1px solid var(--charcoal-100); border-radius: 14px; box-shadow: var(--shadow-md); }.mini-booking > span { width: 38px; height: 38px; background: linear-gradient(145deg,#8bc4de,#355b6c); border-radius: 8px; }.mini-booking > div { display: grid; }.mini-booking strong { font-size: 11px; }.mini-booking small { color: var(--charcoal-500); font-size: 9px; }
.member-stack { display: flex; align-items: center; margin-top: 36px; }.member-stack .avatar { width: 52px; height: 52px; margin-right: -10px; }.member-stack > span { margin-left: 20px; color: var(--sky-600); font-weight: 800; }.revenue-preview { margin-top: 30px; padding: 18px; background: var(--charcoal-50); border-radius: 14px; }.revenue-preview small { color: var(--charcoal-500); }.revenue-preview strong { display: block; margin: 3px 0; color: var(--navy-900); font-size: 28px; }.revenue-preview > span { color: var(--mint); font-size: 11px; font-weight: 700; }.sparkline { height: 45px; overflow: hidden; position: relative; }.sparkline::before { content:""; position: absolute; inset: 15px -10px -20px; background: var(--sky-100); border-radius: 50% 60% 0 0; transform: rotate(-8deg); border-top: 2px solid var(--sky-500); }
.donut-preview { display: flex; align-items: center; gap: 30px; margin-top: 20px; }.donut-preview > span { width: 105px; height: 105px; display: grid; place-content: center; text-align: center; border-radius: 50%; background: radial-gradient(circle at center,#fff 48%,transparent 49%), conic-gradient(var(--sky-500) 0 62%, var(--navy-800) 62% 84%, var(--charcoal-100) 84%); }.donut-preview strong { font-size: 22px; }.donut-preview small { color: var(--charcoal-500); }.donut-preview ul { display: grid; gap: 7px; margin:0; padding:0; list-style:none; color:var(--charcoal-600); font-size:11px; }.donut-preview li { display:flex; align-items:center; gap:7px; }.donut-preview li i { width:7px; height:7px; background:var(--sky-500); border-radius:50%; }.donut-preview li:nth-child(2) i { background:var(--navy-800); }.donut-preview li:nth-child(3) i { background:var(--charcoal-200); }
.operator-section { padding-block: 120px; overflow: hidden; color: #fff; background: radial-gradient(circle at 10% 20%,#1b4b67,transparent 34%), linear-gradient(145deg,var(--navy-950),var(--navy-800)); }.operator-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:90px; align-items:center; }.operator-copy h2 { margin:14px 0 20px; font-size:clamp(37px,4.2vw,54px); }.operator-copy > p { max-width:520px; color:rgba(255,255,255,.66); font-size:17px; }.check-list { display:grid; gap:19px; margin:32px 0; padding:0; list-style:none; }.check-list li { display:flex; gap:13px; }.check-list li > .icon { width:24px; height:24px; padding:4px; color:var(--navy-900); background:var(--sky-400); border-radius:50%; }.check-list li span { display:grid; }.check-list li strong { font-size:14px; }.check-list li small { color:rgba(255,255,255,.55); }.operator-visual { min-height:500px; position:relative; }.operator-window { width:610px; max-width:110%; position:absolute; right:0; top:10px; overflow:hidden; background:#f5f7f9; border:6px solid rgba(255,255,255,.15); border-radius:18px; box-shadow:var(--shadow-lg); transform:perspective(1000px) rotateY(5deg); }.window-bar { height:38px; display:flex; align-items:center; gap:5px; padding:0 12px; background:#fff; color:var(--charcoal-500); font-size:9px; }.window-bar i { width:7px; height:7px; background:#ef8b80; border-radius:50%; }.window-bar i:nth-child(2){background:#e8c166}.window-bar i:nth-child(3){background:#74c99c}.window-bar span{margin:auto}.window-body{height:370px;display:grid;grid-template-columns:110px 1fr}.window-body aside{display:grid;align-content:start;gap:16px;padding:20px 15px;background:var(--navy-900)}.window-body aside i{height:7px;background:rgba(255,255,255,.16);border-radius:4px}.skeleton-logo{width:30px;height:30px;background:var(--sky-500);border-radius:9px;margin-bottom:10px}.window-body>div{padding:27px}.window-body>div>small{color:var(--sky-600)}.window-body>div>strong{display:block;color:var(--navy-900);font-size:22px}.skeleton-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:23px 0}.skeleton-stats i{height:70px;background:#fff;border:1px solid var(--charcoal-100);border-radius:10px}.skeleton-chart{height:170px;background:linear-gradient(180deg,transparent,#e4f4fc),repeating-linear-gradient(0deg,transparent 0 33px,#dde5ea 34px);border:1px solid var(--charcoal-100);border-radius:11px}.float-review{width:235px;position:absolute;left:-22px;bottom:5px;padding:18px 18px 16px;background:#fff;color:var(--navy-900);border-radius:15px;box-shadow:var(--shadow-lg)}.float-review>span{color:var(--sky-500);font:800 30px/1 Manrope}.float-review p{margin:1px 0 10px;font-family:Manrope;font-size:13px;font-weight:700}.float-review small{color:var(--charcoal-500)}
.testimonial-section{text-align:center}.quote-mark{width:55px;height:55px;display:grid;place-items:center;margin:0 auto 22px;color:var(--sky-600);background:var(--sky-100);border-radius:50%;font:800 31px Manrope}.testimonial-section blockquote{max-width:850px;margin:0 auto 25px;color:var(--navy-900);font:600 clamp(27px,3vw,39px)/1.38 Manrope;letter-spacing:-.04em}.quote-person{display:flex;justify-content:center;align-items:center;gap:11px}.quote-person>span{display:grid;text-align:left}.quote-person strong{font-size:12px}.quote-person small{color:var(--charcoal-500)}.metrics-row{display:grid;grid-template-columns:repeat(3,1fr);max-width:850px;margin:65px auto 0;border-top:1px solid var(--charcoal-200)}.metrics-row>div{display:grid;gap:3px;padding:27px;border-right:1px solid var(--charcoal-200)}.metrics-row>div:last-child{border:0}.metrics-row strong{color:var(--sky-600);font-size:32px}.metrics-row span{color:var(--charcoal-500);font-size:12px}
.cta-section{overflow:hidden;position:relative;padding-block:95px;color:#fff;background:linear-gradient(135deg,var(--sky-600),var(--navy-800))}.cta-orb{width:600px;height:600px;position:absolute;right:-200px;top:-280px;border:80px solid rgba(255,255,255,.06);border-radius:50%}.cta-inner{position:relative;text-align:center}.cta-inner h2{margin:12px 0;color:#fff;font-size:clamp(40px,5vw,60px)}.cta-inner p{color:rgba(255,255,255,.72);font-size:18px}.cta-inner>div{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:28px}
.public-footer{padding-top:70px;color:rgba(255,255,255,.65);background:var(--navy-950)}.footer-shell{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;padding-bottom:60px}.footer-brand p{max-width:370px;margin:20px 0;color:rgba(255,255,255,.53)}.australia-note{font-size:11px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.footer-links>div{display:grid;align-content:start;gap:12px}.footer-links strong{margin-bottom:7px;color:#fff;font-size:12px}.footer-links a{font-size:13px}.footer-links a:hover{color:#fff}.footer-base{display:flex;justify-content:space-between;padding-block:22px;border-top:1px solid rgba(255,255,255,.1);font-size:11px}

/* Pricing */
.pricing-hero{padding:90px 0 170px;background:radial-gradient(circle at 50% -50%,#dff4fc,transparent 60%),linear-gradient(#f7fbfd,#eef7fa)}.pricing-hero h1{margin:14px 0 18px;color:var(--navy-900);font-size:clamp(44px,5vw,64px)}.pricing-hero p{color:var(--charcoal-600);font-size:18px}.billing-toggle{width:max-content;display:flex;margin:32px auto 0;padding:4px;background:#fff;border:1px solid var(--charcoal-200);border-radius:12px;box-shadow:var(--shadow-sm)}.billing-toggle button{min-width:112px;padding:10px 13px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-weight:700}.billing-toggle button.active{color:#fff;background:var(--navy-900)}.billing-toggle span{margin-left:5px;color:var(--mint);font-size:9px}.billing-toggle button.active span{color:var(--sky-400)}.pricing-cards-wrap{margin-top:-110px;position:relative;z-index:3;padding-bottom:100px}.pricing-cards{display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch;gap:18px}.price-card{position:relative;padding:30px;background:#fff;border:1px solid var(--charcoal-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.price-card-featured{border:2px solid var(--sky-500);box-shadow:0 24px 65px rgba(26,103,143,.16)}.popular-ribbon{position:absolute;top:-15px;left:50%;transform:translateX(-50%);padding:6px 14px;color:#fff;background:var(--sky-600);border-radius:999px;font:800 9px Manrope;letter-spacing:.1em;text-transform:uppercase}.plan-name{display:flex;align-items:center;gap:12px}.plan-name>span:last-child{display:grid}.plan-name strong{color:var(--navy-900);font-size:18px}.plan-name small{color:var(--charcoal-500);font-size:11px}.plan-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--sky-600);background:var(--sky-100);border-radius:12px}.plan-icon-sky{color:#fff;background:var(--sky-600)}.plan-icon-navy{color:#fff;background:var(--navy-900)}.price{display:flex;align-items:flex-start;margin:32px 0 0;color:var(--navy-900)}.price>span{margin:9px 2px 0 0;font:700 18px Manrope}.price>strong{font-size:55px;line-height:1}.price>small{margin:11px 0 0 8px;color:var(--charcoal-500);line-height:1.35}.billing-note{height:24px;margin:9px 0 20px;color:var(--charcoal-500);font-size:11px}.custom-price{height:104px;display:grid;align-content:center;margin:18px 0 22px}.custom-price strong{color:var(--navy-900);font-size:32px}.custom-price span{color:var(--charcoal-500);font-size:12px}.plan-divider{height:1px;margin:28px 0;background:var(--charcoal-100)}.includes-label{font-size:12px}.plan-features{display:grid;gap:13px;margin:18px 0 0;padding:0;list-style:none;color:var(--charcoal-700);font-size:12px}.plan-features li{display:flex;gap:9px}.plan-features .icon{width:17px;height:17px;padding:3px;color:#fff;background:var(--mint);border-radius:50%}.complimentary-callout{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-top:24px;padding:20px 24px;background:linear-gradient(90deg,#effaf6,#f7fcfb);border:1px solid #c8eadf;border-radius:var(--radius)}.complimentary-callout div{display:grid}.complimentary-callout p{margin:2px 0;color:var(--charcoal-600)}.complimentary-callout a{display:flex;align-items:center;gap:7px;color:#247e64;font-weight:700}.comparison-section{background:#f5f8f9}.comparison-section h2{margin:11px 0 45px;font-size:40px}.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.benefit-grid article{padding:25px;background:#fff;border:1px solid var(--charcoal-100);border-radius:var(--radius)}.benefit-grid article>.icon{width:30px;height:30px;color:var(--sky-600)}.benefit-grid h3{margin:18px 0 8px}.benefit-grid p{margin:0;color:var(--charcoal-600);font-size:13px}.pricing-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-block:100px}.pricing-faq h2{margin:11px 0;font-size:40px}.pricing-faq>div>p{color:var(--charcoal-600)}.pricing-faq a{color:var(--sky-600);font-weight:700}.faq-list{border-top:1px solid var(--charcoal-200)}.faq-list details{padding:20px 0;border-bottom:1px solid var(--charcoal-200)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;font-family:Manrope;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary .icon{transform:rotate(180deg)}.faq-list details p{margin:14px 40px 0 0;color:var(--charcoal-600)}
.pricing-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:32px;flex-wrap:wrap}.pricing-controls .billing-toggle{margin:0}.market-toggle{width:max-content;display:flex;padding:4px;background:rgba(255,255,255,.62);border:1px solid var(--charcoal-200);border-radius:12px}.market-toggle button{min-width:145px;padding:10px 13px;border:0;border-radius:8px;color:var(--charcoal-600);background:transparent;cursor:pointer;font-weight:700}.market-toggle button.active{color:var(--navy-900);background:var(--sky-100)}.market-toggle span{margin-left:5px;color:var(--sky-600);font-size:9px}.market-note{display:block;margin-top:14px;color:var(--charcoal-500)}.pricing-load-state{min-height:180px;display:flex;align-items:center;justify-content:center;gap:12px;padding:30px;background:#fff;border:1px solid var(--charcoal-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.pricing-load-state>span:last-child{display:grid}.pricing-load-state small{color:var(--charcoal-500)}.pricing-load-state>.icon{width:28px;color:var(--coral)}.loading-dot{width:12px;height:12px;background:var(--sky-500);border-radius:50%;box-shadow:0 0 0 7px var(--sky-100)}
