/* Homepage system. Product UI (WhatsApp and inventory) has its own geometry. */
.home-site {
  --type-meta: 12px;
  --type-label: 14px;
  --type-body: 16px;
  --type-lead: 20px;
  --type-title: 24px;
  --type-subhead: 32px;
  --type-heading: 40px;
  --type-platform: 48px;
  --type-hero: 56px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-control: 8px;
  --radius-panel: 12px;
  --page-gutter: 48px;
  --section-space: 64px;
  --scene-shadow: 0 12px 32px rgb(23 35 31 / 6%);
  font-size: var(--type-body);
}
.home-site .shell { width: min(1280px, calc(100% - var(--page-gutter) * 2)); }
.home-site .brand { font-size: var(--type-subhead); gap: var(--space-2); }
.home-site .button { font-size: var(--type-body); gap: var(--space-4); border-radius: var(--radius-control); padding: var(--space-3) var(--space-6); min-height: 52px; }
.home-site .text-link, .home-site .product-link { display: inline-flex; align-items: center; min-height: 44px; gap: var(--space-2); padding: 0; border: 0; border-radius: 0; font-size: var(--type-body); font-weight: 600; color: var(--accent); background: transparent; line-height: 1.5; }
.home-site .text-link:hover, .home-site .product-link:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.home-site .text-link svg, .home-site .button svg { width: 20px; height: 20px; }
.home-page > section { padding: var(--section-space) 0; }
.home-page h2 { font-size: var(--type-heading); line-height: 1.1; }
.home-page .section-label { font-size: var(--type-label); line-height: 1.5; margin: 0 0 var(--space-4); }
.home-page .lead { font-size: var(--type-lead); line-height: 1.5; }
.home-page .split-heading { display: block; margin: 0 0 var(--space-8); }
.home-page .split-heading h2 { font-size: var(--type-heading); line-height: 1.1; }
.home-page .split-heading > p { margin: var(--space-6) 0 0; font-size: var(--type-lead); line-height: 1.5; max-width: 640px; }

/* The original two-column hero, with inventory and a compact buyer output. */
.home-page svg { flex-shrink:0; }
.home-page figure { margin:0; min-width:0; }
.home-page dd { margin:0; }
.home-page section[id] { scroll-margin-top:100px; }
.home-page .split-heading > p > strong { display:block; color:var(--ink); font-weight:600; margin-bottom:8px; }
.home-hero-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; align-items:center; }
.home-hero .audience { font-size:14px; margin-bottom:24px; gap:8px; }
.home-hero .audience > span { width:8px; height:8px; }
.home-hero h1 { font-size:56px; line-height:1.06; letter-spacing:-.045em; }
.home-hero-lead { font-size:20px; line-height:1.5; margin-top:24px; max-width:480px; }
.home-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:28px; }
.home-other-tasks { font-size:16px; padding-top:28px; margin-top:32px; border-top:1px solid var(--line); }
.home-other-tasks a { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.home-inventory { border:1px solid #cdd9cf; border-radius:12px; overflow:hidden; box-shadow:var(--scene-shadow); background:#fff; }
.home-inventory > figcaption { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px 20px; }
.home-inventory figcaption strong { display:block; font-size:21px; margin-top:4px; letter-spacing:-.025em; }
.home-inventory figcaption span { font-size:12px; color:var(--muted); }
.home-example { text-align:right; }
.home-project-tabs { display:flex; flex-wrap:wrap; gap:20px; padding:12px 20px; background:var(--soft); border-block:1px solid var(--line); font-size:13px; }
.home-project-tabs strong { color:var(--accent); }
.home-project-tabs > span { color:var(--muted); }
.home-inventory-body { display:grid; grid-template-columns:1.4fr 1fr; }
.home-board { padding:20px 16px; }
.home-board-heading { display:flex; justify-content:space-between; gap:12px; margin-bottom:16px; font-size:13px; }
.home-board-heading > span { font-size:12px; color:var(--muted); }
.home-unit-grid { display:grid; gap:4px; }
.home-floor-row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; }
.home-grid-unit { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:54px; background:#e5eee7; border:1px solid #b4c9bb; border-radius:6px; font-size:14px; }
.home-grid-unit strong { font-weight:600; }
.home-grid-unit > span { font-size:12px; }
.home-grid-unit.is-hold { background:#f4eddc; border-color:#c5b78c; border-style:dashed; color:#6b582b; }
.home-grid-unit.is-sold { background:repeating-linear-gradient(135deg,#e9eaec 0 4px,#d9dcdf 4px 5px); color:#525a5a; border-color:#b6bcba; }
.home-grid-unit.is-selected { outline:2px solid var(--accent); outline-offset:1px; background:#c6ddcf; position:relative; }
.home-grid-legend { display:flex; gap:12px; flex-wrap:wrap; font-size:11px; color:var(--muted); margin-top:16px; }
.home-grid-legend span { display:flex; align-items:center; gap:4px; }
.home-grid-legend span:before { content:''; width:8px; height:8px; border-radius:2px; background:#c6ddcf; }
.home-grid-legend span:nth-child(2):before { background:#ead9ad; }
.home-grid-legend span:nth-child(3):before { background:#bfc5c5; }
.home-selected-unit { padding:20px 16px; border-left:1px solid var(--line); background:#fafbf9; }
.home-selected-heading strong { display:block; font-size:16px; }
.home-selected-heading > span { display:block; font-size:12px; color:var(--accent); margin-top:4px; }
.home-selected-unit > img { display:block; width:100%; height:110px; object-fit:contain; margin:10px 0; }
.home-selected-unit > p { font-size:12px; }
.home-selected-price { display:block; font-size:25px; letter-spacing:-.035em; margin:8px 0 4px; }
.home-offer-action { display:flex; justify-content:space-between; align-items:center; gap:6px; min-height:44px; padding:10px; background:var(--accent); color:#fff; font-size:13px; font-weight:600; border-radius:6px; margin-top:16px; }
.home-offer-action svg { width:17px; height:17px; }
.home-offer-action:hover { background:#1b4936; }
.home-offer-result { display:flex; align-items:center; gap:12px; padding:16px 20px; border-top:1px solid var(--line); }
.home-offer-result > span:nth-child(2) { flex:1; min-width:0; }
.home-offer-result strong { display:block; font-size:14px; }
.home-offer-result > span > span { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
.home-offer-result > svg { width:20px; height:20px; color:var(--accent); }
.home-offer-result:hover { background:var(--soft); }
.home-avatar { display:grid; place-items:center; background:var(--sage); color:var(--accent); border-radius:50%; flex-shrink:0; }
.home-avatar svg { width:25px; height:25px; }
/* A compact, concrete overview retains the breadth of the platform. */
.home-platform { background:var(--soft); border-top:1px solid var(--line); }
.home-page .home-platform h2 { font-size:48px; }
.home-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.home-capabilities article { border-top:1px solid #cdd9cf; padding-top:24px; }
.home-capability-icon { display:block; color:var(--accent); margin-bottom:16px; }
.home-capability-icon svg { width:24px; height:24px; }
.home-capabilities h3 { font-size:24px; line-height:1.2; margin-bottom:12px; }
.home-capabilities p { font-size:16px; line-height:1.5; }
.home-platform-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:32px; padding-top:24px; border-top:1px solid #cdd9cf; }
.home-platform-footer p { max-width:620px; font-size:14px; }
.home-platform-footer a { flex-shrink:0; }
/* Three capabilities or steps, alongside one readable result. */
.home-product { border-top:1px solid var(--line); }
.home-process-layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:64px; align-items:center; }
.home-process-steps { padding:0; margin:0; list-style:none; }
.home-process-steps li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:16px; padding:24px 0; border-top:1px solid #cdd9cf; }
.home-process-steps li:last-child { border-bottom:1px solid #cdd9cf; }
.home-process-steps li > span { font-size:14px; color:var(--accent); padding-top:3px; }
.home-process-steps h3 { font-size:24px; line-height:1.2; }
.home-process-steps p { font-size:16px; line-height:1.5; margin-top:8px; }
.home-page .home-product-link { margin-top:20px; }
.home-service-note { font-size:13px; margin-top:10px; }
.home-reactivation-example { border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:var(--scene-shadow); }
.home-reactivation-example figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; padding:20px 24px; border-bottom:1px solid var(--line); }
.home-reactivation-example figcaption strong { font-size:20px; }
.home-reactivation-example figcaption > span { font-size:12px; color:var(--muted); }
.home-reactivation-example > div { padding:20px 24px; }
.home-reactivation-example > div > span { display:block; color:var(--muted); font-size:13px; margin-bottom:8px; }
.home-reactivation-example p { font-size:16px; color:var(--ink); }
.home-past-context { background:var(--soft); }
.home-renewed-interest { background:#efede6 url('/assets/whatsapp-wallpaper.svg') center / 460px; }
.home-renewed-interest > p { background:#fff; border-radius:8px 8px 8px 0; padding:14px; max-width:90%; }
.home-renewed-interest blockquote { margin:12px 0 0 32px; padding:14px; background:#dcf8ce; border-radius:8px 8px 0 8px; font-size:16px; }
.home-updated-profile dl { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:16px; }
.home-updated-profile dt { color:var(--muted); font-size:13px; }
.home-updated-profile dd { font-size:18px; margin-top:4px; }
.home-updated-profile > p { display:flex; gap:10px; align-items:center; border-top:1px solid var(--line); padding-top:16px; margin-top:20px; }
.home-updated-profile > p svg { width:20px; height:20px; color:var(--accent); }
.home-updated-profile > p > span { font-size:14px; color:var(--accent); }
.home-channel-outcomes { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.home-channel-outcomes p { font-size:14px; }
.home-channel-outcomes strong { display:block; color:var(--ink); margin-bottom:4px; }
.home-pricing { background:var(--soft); border-top:1px solid var(--line); }
.home-page .faq-layout { grid-template-columns:.8fr 1.2fr; gap:48px; }
.home-page .faq-layout h2 { font-size:40px; max-width:400px; }
.home-page .faq-list summary { font-size:18px; }
.home-page .faq-list details p { font-size:16px; }
.home-contact { background:var(--sage); }
.home-contact-layout { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:80px; }
.home-contact-layout p { max-width:520px; font-size:18px; margin-top:24px; }
.home-brief-link { display:flex; width:fit-content; align-items:center; gap:8px; min-height:44px; font-size:14px; color:var(--accent); margin-top:12px; }
.home-brief-link svg { width:18px; height:18px; }
.home-brief-link:hover { text-decoration:underline; }
.home-chat { border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:0 16px 48px #17231f09; }
.home-chat-head { display:flex; align-items:center; gap:12px; padding:12px 16px; }
.home-chat-head strong { display:block; }
.home-chat-head div > span { display:block; font-size:13px; color:var(--muted); }
.home-chat-head .home-avatar { width:40px; height:40px; }
.home-chat-body { display:flex; flex-direction:column; gap:8px; align-items:flex-start; padding:14px; background:#efede6 url('/assets/whatsapp-wallpaper.svg') center / 460px; }
.home-chat-body p { font-size:14px; color:var(--ink); }
.home-chat-sent { align-self:flex-end; max-width:88%; padding:8px 12px; background:#dcf8ce; border-radius:8px 8px 0 8px; }
.home-chat-catalogue { width:100%; background:#fff; border-radius:8px; }
.home-chat-project { display:flex; gap:14px; align-items:center; padding:12px; border-bottom:1px solid var(--line); }
.home-chat-project img { width:86px; height:62px; object-fit:cover; border-radius:4px; }
.home-chat-project span { display:block; font-size:13px; color:var(--muted); margin-top:4px; }
.home-chat-unit { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 16px; padding:8px 0; border-bottom:1px solid var(--line); }
.home-chat-unit span { display:block; color:var(--muted); font-size:13px; margin-top:3px; }
.home-chat-unit b { font-size:15px; font-weight:600; }
.home-chat-catalogue > p { padding:10px 16px; font-size:13px; color:var(--muted); }
.home-chat-catalogue > p br { display:none; }
.home-chat-reply { width:100%; padding:10px; background:#fff; border-radius:8px; }
.home-chat-reply > small { display:block; color:var(--muted); margin-top:8px; font-size:12px; }
.home-chat-file { display:flex; align-items:center; gap:12px; padding:10px; margin-top:0; border:1px solid var(--line); border-radius:6px; background:var(--soft); color:var(--accent); }
.home-file-icon { display:grid; place-items:center; width:36px; height:44px; flex-shrink:0; border:1px solid #b7cdc0; border-radius:3px 10px 3px 3px; font-size:11px; font-weight:600; }
.home-chat-file strong { display:block; font-size:15px; }
.home-chat-file > span > span { display:flex; align-items:center; gap:8px; margin-top:4px; font-size:12px; }
.home-chat-file svg { width:15px; height:15px; }
.home-chat-file:hover { border-color:var(--accent); }
.home-site .home-footer { padding-top: var(--space-16); background: var(--soft); }
.home-footer-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, .85fr); align-items: start; gap: var(--space-16); }
.home-site .home-footer .brand { font-size: var(--type-subhead); width: fit-content; }
.home-footer-identity p { font-size: var(--type-lead); line-height: 1.5; margin-top: var(--space-6); color: var(--muted); }
.home-footer h2 { font-size: var(--type-label); font-weight: 600; letter-spacing: 0; line-height: 1.5; margin: 0 0 var(--space-4); color: var(--ink); }
.home-footer-nav ul { list-style: none; padding: 0; margin: 0; }
.home-footer-nav a { display: flex; align-items: center; width: fit-content; min-height: 44px; padding: var(--space-2) 0; font-size: var(--type-body); line-height: 1.5; }
.home-footer-contact > a { display: flex; width: fit-content; min-height: 44px; padding: var(--space-2) 0; }
.home-footer-email { align-items: center; font-size: var(--type-lead); line-height: 1.5; color: var(--accent); }
.home-footer-contact .home-footer-whatsapp { flex-direction: column; gap: var(--space-1); margin-top: var(--space-2); }
.home-footer-whatsapp > span:first-child { font-size: var(--type-label); color: var(--muted); }
.home-footer-whatsapp > span:last-child { display: flex; align-items: center; gap: var(--space-3); font-size: var(--type-body); line-height: 1.5; }
.home-footer-whatsapp svg { width: 20px; height: 20px; flex-shrink: 0; }
.home-footer a:not(.brand):hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.home-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-8); margin-top: var(--space-12); padding-block: var(--space-4); border-top: 1px solid #cdd9cf; color: var(--muted); font-size: var(--type-label); line-height: 1.5; }
.home-footer-legal { display: flex; align-items: center; gap: var(--space-6); }
.home-footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
.home-footer-origin { text-align: right; }

/* Keep the same reading order on narrower screens, without miniaturising the UI. */
@media (max-width:1100px) {
  .home-site { --page-gutter:32px; }
  .home-hero-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:32px; }
  .home-hero h1 { font-size:46px; }
  .home-inventory-body { grid-template-columns:1fr; }
  .home-selected-unit { display:grid; grid-template-columns:1fr 1fr; gap:6px 20px; border-left:0; border-top:1px solid var(--line); }
  .home-selected-heading { grid-column:1; }
  .home-selected-unit > img { grid-column:2; grid-row:1/5; height:110px; margin:0; }
  .home-selected-unit > p,.home-selected-price { grid-column:1; margin:0; }
  .home-offer-action { grid-column:1/-1; margin-top:8px; }
  .home-process-layout { gap:32px; grid-template-columns:1fr 1.2fr; }
  .home-footer-layout { grid-template-columns:1fr 1fr; gap:32px; }
  .home-footer-identity { grid-column:1/-1; }
}
@media (max-width:800px) {
  .home-hero-layout { grid-template-columns:1fr; }
  .home-hero h1 br { display:none; }
  .home-hero-lead { max-width:600px; }
  .home-inventory-body { grid-template-columns:1.4fr 1fr; }
  .home-selected-unit { display:block; border-top:0; border-left:1px solid var(--line); }
  .home-selected-unit > img { height:110px; margin:10px 0; }
  .home-selected-price { margin:8px 0 4px; }
  .home-offer-action { margin-top:16px; }
  .home-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-process-layout { grid-template-columns:1fr; gap:32px; }
  .home-whatsapp .home-process-layout > figure,
  .home-reactivation .home-process-layout > figure { order:-1; }
  .home-platform-footer { align-items:flex-start; flex-direction:column; gap:12px; }
  .home-contact-layout,.home-page .faq-layout { grid-template-columns:1fr; gap:32px; }
}
@media (max-width:700px) {
  .home-site { --page-gutter:24px; --section-space:48px; --type-subhead:24px; }
  .home-page > .home-hero { padding-top:36px; }
  .home-hero .audience { margin-bottom:20px; font-size:13px; }
  .home-hero h1 { font-size:40px; }
  .home-hero-lead { font-size:16px; margin-top:20px; }
  .home-hero-actions { margin-top:24px; gap:8px 16px; }
  .home-inventory > figcaption { padding:16px; }
  .home-inventory figcaption strong { font-size:20px; }
  .home-example { display:none; }
  .home-project-tabs { gap:16px; padding:12px 16px; font-size:12px; }
  .home-inventory-body { grid-template-columns:1fr; }
  .home-board { padding:16px; }
  .home-grid-unit { min-height:48px; }
  .home-selected-unit { display:grid; grid-template-columns:1fr 1fr; gap:6px 16px; padding:16px; border-left:0; border-top:1px solid var(--line); }
  .home-selected-unit > img { height:115px; margin:0; }
  .home-selected-heading strong { font-size:16px; }
  .home-selected-price { margin:0; font-size:25px; }
  .home-selected-unit > p { font-size:12px; }
  .home-offer-action { margin-top:8px; font-size:14px; }
  .home-offer-result { padding:14px 16px; gap:10px; }
  .home-offer-result strong { font-size:14px; }
  .home-offer-result > span > span { font-size:12px; }
  .home-other-tasks { font-size:14px; margin-top:24px; padding-top:24px; }
  .home-page h2,.home-page .split-heading h2,.home-page .home-platform h2,.home-page .faq-layout h2 { font-size:32px; line-height:1.12; }
  .home-page .split-heading { margin-bottom:28px; }
  .home-page .split-heading > p { font-size:18px; margin-top:20px; }
  .home-capabilities { grid-template-columns:1fr; gap:24px; }
  .home-capabilities article { display:grid; grid-template-columns:24px 1fr; gap:0 12px; padding-top:20px; }
  .home-capability-icon { margin:0; }
  .home-capabilities h3 { font-size:22px; margin-bottom:12px; }
  .home-capabilities p { grid-column:2; }
  .home-process-steps li { padding:20px 0; gap:12px; }
  .home-process-steps h3 { font-size:22px; }
  .home-chat-head { padding:14px 16px; }
  .home-chat-body { padding:14px; gap:10px; }
  .home-chat-sent { max-width:94%; padding:10px 12px; }
  .home-chat-project { gap:10px; }
  .home-chat-project img { width:66px; height:56px; }
  .home-chat-project strong { font-size:15px; }
  .home-chat-unit { margin-inline:12px; padding:10px 0; }
  .home-chat-unit span { font-size:12px; }
  .home-chat-catalogue > p { padding:10px 12px; }
  .home-chat-reply { padding:12px; }
  .home-chat-file { gap:10px; padding:10px; }
  .home-reactivation-example figcaption { padding:16px; }
  .home-reactivation-example > div { padding:16px; }
  .home-renewed-interest > p { max-width:94%; }
  .home-renewed-interest blockquote { margin-left:20px; }
  .home-updated-profile dl { gap:16px; }
  .home-updated-profile dd { font-size:16px; }
  .home-channel-outcomes { grid-template-columns:1fr; gap:16px; margin-top:24px; }
  .home-page .faq-list summary { font-size:16px; }
  .home-page .faq-list details p { padding-right:0; }
  .home-contact-layout p { font-size:16px; margin-top:20px; }
  .home-contact-layout .button { padding-inline:16px; }
  .home-site .home-footer { padding-top:32px; }
  .home-footer-layout { grid-template-columns:1fr; gap:24px; }
  .home-footer-identity p { font-size:20px; margin-top:16px; }
  .home-footer h2 { margin-bottom:8px; }
  .home-footer-email { font-size:20px; }
  .home-footer-bottom { margin-top:24px; row-gap:0; padding-bottom:24px; }
  .home-footer-legal { flex-basis:100%; justify-content:space-between; }
  .home-footer-origin { flex-basis:100%; text-align:left; }
}
@media (max-width:360px) {
  .home-site { --page-gutter:16px; }
  .home-hero h1 { font-size:36px; }
  .home-page .button { font-size:14px; }
  .home-grid-unit { font-size:13px; }
  .home-grid-unit > span { font-size:11px; }
  .home-offer-result > .home-file-icon { display:none; }
  .home-chat-body { padding:10px; }
  .home-chat-file strong { font-size:14px; }
  .home-chat-project img { width:52px; height:52px; }
}

/* Existing Agency Network Growth hero component, scoped to the homepage. */
.home-page .agency-calendar-scene { position: relative; isolation: isolate; min-width: 0; margin: 0; padding-bottom: 8px; }
.home-page .agency-calendar-scene::before { content: ''; position: absolute; z-index: -1; inset: 24px 0 0; border-radius: 24px; background: radial-gradient(ellipse at 72% 62%, #dfeade 0%, #edf3e9 48%, transparent 78%); }
.home-page .agency-calendar { width: calc(100% - 24px); padding-bottom: 40px; border: 1px solid #e3e9e3; border-radius: 12px; background: #fff; box-shadow: 0 16px 40px -24px rgb(23 61 46 / 22%); overflow: hidden; }
.home-page .agency-calendar-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; }
.home-page .agency-calendar-header p { margin: 0 0 8px; font-size: 14px; color: var(--accent); }
.home-page .agency-calendar-header h3 { font-size: 32px; letter-spacing: -.04em; }
.home-page .agency-calendar-period { display: grid; gap: 8px; text-align: right; white-space: nowrap; }
.home-page .agency-calendar-period strong { font-size: 20px; font-weight: 400; color: var(--ink); }
.home-page .agency-calendar-period span { font-size: 12px; color: var(--muted); }
.home-page .agency-calendar-grid { display: grid; grid-template-columns: 44px repeat(5, minmax(0, 1fr)); padding-right: 8px; }
.home-page .agency-calendar-corner { display: flex; justify-content: center; align-items: center; font-size: 12px; line-height: 1.3; color: var(--muted); text-align: center; }
.home-page .agency-calendar-date { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 0 16px; }
.home-page .agency-calendar-date span { font-size: 12px; color: var(--muted); }
.home-page .agency-calendar-date strong { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; font-size: 20px; font-weight: 600; line-height: 1; color: var(--ink); }
.home-page .agency-calendar-date.agency-calendar-focus strong { color: #fff; background: var(--accent); border-radius: 50%; }
.home-page .agency-calendar-hours { height: 308px; }
.home-page .agency-calendar-hours span { display: block; height: 44px; padding: 2px 6px 0 0; text-align: right; font-size: 12px; line-height: 1; color: var(--muted); }
.home-page .agency-calendar-day { position: relative; height: 308px; margin: 0; padding: 0; list-style: none; border-left: 1px solid #f0f3ef; background-image: repeating-linear-gradient(to bottom, #eef2ed 0, #eef2ed 1px, transparent 1px, transparent 44px); }
.home-page .agency-calendar-day.agency-calendar-focus { background-color: #f6f9f4; }
.home-page .agency-calendar-event { position: absolute; top: calc(var(--event-top) + 3px); height: calc(var(--event-height) - 6px); left: 5px; right: 5px; display: flex; flex-direction: column; justify-content: space-between; padding: 6px; border: 1px solid #e0e9df; border-radius: 8px; background: #edf3ea; color: #34583f; }
.home-page .agency-calendar-event[data-start="09:00"] { --event-top: 0px; }
.home-page .agency-calendar-event[data-start="10:30"] { --event-top: 66px; }
.home-page .agency-calendar-event[data-start="10:45"] { --event-top: 77px; }
.home-page .agency-calendar-event[data-start="11:45"] { --event-top: 121px; }
.home-page .agency-calendar-event[data-start="12:15"] { --event-top: 143px; }
.home-page .agency-calendar-event[data-start="12:30"] { --event-top: 154px; }
.home-page .agency-calendar-event[data-start="13:15"] { --event-top: 187px; }
.home-page .agency-calendar-event[data-start="14:00"] { --event-top: 220px; }
.home-page .agency-calendar-event[data-start="14:15"] { --event-top: 231px; }
.home-page .agency-calendar-event[data-start="14:45"] { --event-top: 253px; }
.home-page .agency-calendar-event[data-duration="75"] { --event-height: 55px; }
.home-page .agency-calendar-event[data-duration="90"] { --event-height: 66px; }
.home-page .agency-calendar-event[data-duration="105"] { --event-height: 77px; }
.home-page .agency-calendar-event[data-duration="120"] { --event-height: 88px; }
.home-page .agency-calendar-event strong { font-size: 14px; font-weight: 600; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-page .agency-calendar-event time { font-size: 12px; line-height: 1.2; color: #5d7261; white-space: nowrap; }
.home-page .agency-calendar-featured { z-index: 1; color: #fff; border-color: var(--accent); background: var(--accent); box-shadow: 0 4px 12px rgb(36 92 70 / 18%); }
.home-page .agency-calendar-featured time { color: #e1ede5; }
.home-page .agency-meeting-detail { position: relative; z-index: 2; width: min(440px, calc(100% - 48px)); margin: -40px 0 0 auto; padding: 24px; border: 1px solid #d9e4db; border-radius: 12px; background: #fff; box-shadow: 0 16px 40px -16px rgb(23 61 46 / 26%); }
.home-page .agency-meeting-main { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.home-page .agency-meeting-main p { margin-bottom: 8px; font-size: 12px; color: var(--accent); }
.home-page .agency-meeting-main h3 { font-size: 24px; }
.home-page .agency-meeting-when { flex-shrink: 0; text-align: right; }
.home-page .agency-meeting-when strong { display: block; font-size: 20px; line-height: 1.3; font-weight: 600; letter-spacing: -.03em; }
.home-page .agency-meeting-when span { display: block; margin-top: 4px; font-size: 12px; color: var(--muted); }
.home-page .agency-meeting-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.home-page .agency-meeting-footer strong { display: inline-flex; align-items: center; gap: 4px; color: var(--accent); font-size: 12px; font-weight: 600; }
.home-page .agency-meeting-footer svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.5; }


@media (max-width:767px) {
  .home-page .agency-calendar-scene { padding-bottom: 16px; }
  .home-page .agency-calendar-scene::before { inset: 32px 0 0 16px; }
  .home-page .agency-calendar { width: 100%; padding-bottom: 24px; }
  .home-page .agency-calendar-header { padding: 20px 16px; }
  .home-page .agency-calendar-header h3 { font-size: 24px; }
  .home-page .agency-calendar-period strong { font-size: 16px; }
  .home-page .agency-calendar-header p { font-size: 12px; }
  .home-page .agency-calendar-grid { grid-template-columns: 40px repeat(5, minmax(0, 1fr)); }
  .home-page .agency-calendar-date { gap: 4px; padding-bottom: 12px; }
  .home-page .agency-calendar-date strong { font-size: 16px; }
  .home-page .agency-calendar-day:not(.agency-calendar-focus) { display: none; }
  .home-page .agency-calendar-day.agency-calendar-focus { grid-column: 2 / -1; }
  .home-page .agency-calendar-event { padding: 8px 12px; }
  .home-page .agency-calendar-event time { font-size: 14px; }
  .home-page .agency-meeting-detail { width: calc(100% - 16px); margin-top: -16px; padding: 16px; }
  .home-page .agency-meeting-main h3 { font-size: 20px; }
  .home-page .agency-meeting-when strong { font-size: 16px; }
  .home-page .agency-meeting-footer { margin-top: 16px; padding-top: 12px; }
}

/* Apartment prices are independent of regional subscription pricing. */
.home-board-heading { align-items:center; gap:8px; }
.home-unit-currency { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); }
.home-unit-currency select { appearance:none; width:auto; min-height:36px; border:1px solid var(--line); border-radius:6px; padding:6px 40px 6px 10px; font:inherit; font-size:13px; color:var(--ink); background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2354665d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center / 16px; }
.home-grid-unit { min-height:72px; gap:3px; }
.home-grid-unit strong { font-weight:400; }
.home-grid-unit > b { font-size:14px; line-height:1.3; font-weight:600; }
.home-whatsapp .home-process-layout { align-items:start; }
.home-whatsapp .split-heading > p { max-width:760px; }
.home-chat-exception { display:flex; align-items:flex-start; gap:8px; padding-top:8px; border-top:1px solid #d3d8cf; }
.home-chat-body .home-chat-exception { font-size:13px; color:var(--muted); }
.home-chat-exception svg { width:16px; height:20px; }
.home-page .agency-calendar-header h3 { font-size:28px; }
.home-page .agency-calendar-event strong { font-size:13px; }
/* Three clear plans using the established highlighted Developer treatment. */
.home-page .home-plans { gap:24px; }
.home-page .home-plans .plan { padding:32px; border-radius:12px; gap:0; min-width:0; }
.home-plans .plan-scope { font-size:14px; margin-bottom:16px; }
.home-plans .plan h3 { font-size:32px; line-height:1.2; margin-bottom:16px; }
.home-page .home-plans .plan > p { font-size:16px; line-height:1.5; min-height:48px; }
.home-plan-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin-top:20px; min-height:48px; }
.home-plan-price strong { font-size:40px; line-height:1.2; letter-spacing:-.04em; font-weight:600; }
.home-plan-price > span { font-size:14px; }
.home-plan-custom strong { font-size:32px; line-height:48px; }
.home-page .home-plans .plan > .home-plan-billing { font-size:16px; font-weight:600; color:var(--ink); min-height:0; margin:8px 0 24px; }
.home-page .home-plans .plan:last-child > .home-plan-billing { font-weight:400; }
.home-page .home-plans .checklist { margin:0; }
.home-page .home-plans .checklist li { margin:0 0 16px; gap:10px; font-size:14px; line-height:1.5; }
.home-plans .checklist svg { width:18px; height:18px; }
.home-page .home-plans .button { font-size:14px; padding:12px 16px; margin-top:auto; gap:8px; }
.home-plan-notes { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:24px; }
.home-plan-notes > p { font-size:14px; line-height:1.5; }
.home-plan-notes > a { flex-shrink:0; }
@media (max-width:1100px) {
  .home-selected-unit > img { grid-row:1/3; }
  .home-selected-price, .home-selected-price + p { grid-column:1/-1; }
  .home-page .home-plans .plan { padding:24px; }
  .home-plan-price strong { font-size:34px; }
}
@media (max-width:800px) {
  .home-page .home-plans { grid-template-columns:1fr; }
  .home-page .home-plans .plan > p { min-height:0; }
  .home-plan-notes { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media (max-width:700px) {
  .home-chat-body { gap:8px; padding:12px; }
  .home-chat-head { padding:12px 16px; }
  .home-chat-unit { padding:8px 0; }
  .home-chat-sent { padding:8px 12px; }
  .home-chat-reply { padding:10px; }
  .home-page .agency-calendar-header h3 { font-size:24px; }
  .home-page .agency-calendar-event strong { font-size:14px; }
  .home-plan-price { margin-top:20px; }
  .home-page .home-plans .plan > .home-plan-billing { margin-bottom:20px; }
  .home-page .home-plans .checklist li { margin-bottom:10px; }
}

/* The disclosure belongs to apartment FX, not the regional plan control. */
.home-currency-tools { position:relative; display:flex; align-items:center; gap:6px; }
.home-fx-help > summary { display:grid; place-items:center; width:28px; height:32px; border:1px solid var(--line); border-radius:6px; list-style:none; cursor:pointer; color:var(--muted); font-size:14px; background:#fff; }
.home-fx-help > summary::-webkit-details-marker { display:none; }
.home-fx-help > summary:hover,.home-fx-help[open] > summary { color:var(--accent); border-color:var(--accent); }
.home-fx-help > p { position:absolute; z-index:3; top:calc(100% + 8px); right:0; width:260px; max-width:calc(100vw - 80px); margin:0; padding:14px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 8px 24px #17231f18; color:var(--ink); font-size:14px; line-height:1.5; }
.home-plan-extras { width:100%; margin:0 0 24px; color:var(--ink); font-size:14px; line-height:1.5; }
.home-plan-extras ul { list-style:none; padding:0; margin:0; }
.home-plan-extras li { position:relative; padding-left:28px; }
.home-plan-extras li::before { content:""; position:absolute; top:2px; left:0; width:18px; height:18px; border-radius:50%; background:linear-gradient(#fff,#fff) center / 8px 1.5px no-repeat,linear-gradient(#fff,#fff) center / 1.5px 8px no-repeat,#cbd3cd; }
.home-plan-extras li + li { margin-top:16px; }
.home-plan-extras a { color:inherit; text-decoration:none; text-underline-offset:3px; }
.home-plan-extras a:hover,.home-plan-extras a:focus-visible { color:var(--accent); text-decoration:underline; }
@media (max-width:700px) {
  .home-page .home-plans .plan { padding:24px; }
  .home-page .home-plans .checklist li { margin-bottom:14px; }
  .home-plan-extras li + li { margin-top:12px; }
}

/* Agency owners have a direct entry alongside the developer-focused platform story. */
.agency-entry { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 20px 0 0; margin-top: 20px; border-top: 1px solid var(--line); font-size: 14px; }
.agency-entry strong { font-weight: 600; }
.agency-entry a { display: inline-flex; align-items: center; gap: 8px; color: var(--accent); min-height: 44px; }
.agency-entry svg { width: 16px; height: 16px; }
.home-recruitment-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
@media (max-width: 800px) {
  .home-recruitment-layout { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 700px) {
  .agency-entry { gap: 0; flex-direction: column; align-items: flex-start; }
}
