.home-hero { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:64px; padding-block:64px 48px; }
.home-hero h1 { font-family:Manrope,Arial,sans-serif; font-size:clamp(40px,4.5vw,62px); font-weight:600; line-height:1.12; letter-spacing:-2.8px; margin:0 0 24px; }
.home-hero h1 em { font-family:Georgia,serif; font-weight:400; }
.hero-description { color:var(--muted); max-width:430px; margin-bottom:25px; font-size:18px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-actions .button { font-size:15px; }
.hero-price { padding:32px; background:var(--soft); border:1px solid #d6dfca; border-radius:14px; }
.hero-price .hero-total { font-size:52px; line-height:1.1; letter-spacing:-2px; font-weight:600; margin:0 0 16px; }
.hero-total span { font-size:16px; letter-spacing:0; font-weight:400; }
.price-split { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:25px 0 16px; padding-top:20px; border-top:1px solid #cbd5c1; }
.price-split strong { display:block; font-size:25px; }
.price-split span { display:block; font-size:12px; color:var(--muted); }
.how-it-works { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding-block:22px; border-block:1px solid var(--line); }
.how-it-works>div { display:flex; align-items:center; gap:16px; }
.how-it-works>div>span { color:#536343; font-size:12px; }
.how-it-works p { margin:0; font-size:13px; color:var(--muted); }
.how-it-works strong { display:block; color:var(--ink); font-size:14px; }
.home-pricing { padding-block:55px 35px; }
.home-pricing .service h3 { margin:0 0 12px; }
.home-pricing .price { margin-top:0; }
.advance-link { display:block; margin-top:16px; }
.home-contact { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:60px; border-top:1px solid var(--line); padding-block:50px; }
.home-contact h2 { margin-bottom:20px; }
.contact-callout { max-width:520px; margin:29px 0 16px; padding:24px; border:1px solid #d6dfca; border-radius:12px; background:var(--soft); }
.contact-callout .eyebrow { margin:0 0 10px; }
.contact-callout h3 { margin:0 0 9px; font-family:Manrope,Arial,sans-serif; font-size:24px; line-height:1.25; letter-spacing:-.5px; }
.contact-callout p:not(.eyebrow) { margin:0 0 18px; color:var(--muted); font-size:14px; line-height:1.5; }
.contact-callout .button { font-size:16px; font-weight:700; }
.home-contact .contact-card { background:var(--soft); color:var(--ink); border:1px solid #d6dfca; }
.home-contact .contact-card .micro { color:var(--muted); }
.home-contact .contact-card h3 { margin:0; font-size:23px; }
.home-contact .case-form { padding:0; margin-top:20px; border:0; }
.home-contact [hidden] { display:none !important; }
.home-contact .case-form label { font-size:14px; gap:7px; }
.home-contact .case-form input { min-height:48px; font-size:16px; }
.home-contact .case-form { gap:18px; }
.home-contact .case-form .intake-privacy { margin:0; }
.home-contact .case-form button:disabled { cursor:wait; opacity:.7; transform:none; }
#case-status:empty { display:none; }
.home-contact .case-form select { margin-top:0; }
.home-contact .case-form textarea { font:inherit; }
.field-optional { color:var(--muted); font-size:12px; }
.simple-home footer { padding-top:15px; }
.simple-home .footer-bottom div { flex-wrap:wrap; }
.simple-home .micro a { text-decoration:underline; }
@media(max-width:760px) {
  .home-hero { grid-template-columns:1fr; gap:24px; padding-block:34px; }
  .home-hero h1 { letter-spacing:-1.8px; }
  .hero-description { font-size:16px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .button { width:100%; justify-content:center; }
  .contact-callout { padding:21px; }
  .contact-callout .button { width:100%; }
  .hero-price { padding:23px; }
  .hero-price .hero-total { font-size:43px; }
  .how-it-works { grid-template-columns:1fr; gap:16px; }
  .home-contact { grid-template-columns:1fr; gap:28px; }
  .home-contact .contact-card { min-width:0; }
  .case-form input:not([type=checkbox]), .case-form select, .case-form textarea { font-size:16px; min-width:0; }
  .simple-home header nav { justify-content:flex-start; gap:24px; }
}

/* Homepage check cards show one concise status per city. */
.slot-dashboard { padding-block:28px 12px; }
.dashboard-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.dashboard-title .eyebrow { margin:0 0 6px; font-size:11px; }
.dashboard-title h1 { font-size:clamp(28px,3vw,40px); line-height:1.15; letter-spacing:-1.3px; margin:0; }
.dashboard-title>a { font-size:13px; flex-shrink:0; }
.slot-dashboard .location-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.slot-dashboard .location-card { min-height:146px; padding:16px; }
.slot-dashboard .location-card-top { display:flex; flex-direction:column; align-items:start; gap:7px; margin:0 0 10px; }
.slot-dashboard .location-card h3 { font-size:18px; }
.slot-dashboard .location-card .location-status { font-size:11px; padding:4px 7px; }
.slot-dashboard .location-card .location-detail { font-size:12px; line-height:1.4; margin:0 0 7px; }
.slot-dashboard .location-card .location-detail:empty,
.slot-dashboard .location-card .location-context:empty,
.slot-dashboard .location-card .location-time:empty { display:none; }
.slot-dashboard .location-card .location-context { font-size:11px; line-height:1.35; margin:0 0 5px; }
.slot-dashboard .location-card .location-time { font-size:11px; line-height:1.35; border:0; padding:0; margin:auto 0 0; }
.slot-dashboard .location-card[data-state="unverified"],
.slot-dashboard .location-card[data-state="unavailable"] { min-height:112px; }
.slot-dashboard .location-card[data-state="unavailable"] :is(.location-detail,.location-context,.location-time) { display:none; }
.slot-dashboard .location-foot { justify-content:flex-start; padding-top:11px; font-size:11px; }
.slot-dashboard .location-caution { margin:5px 0 0; font-size:11px; }
@media(max-width:1000px) and (min-width:761px) {
 .slot-dashboard .location-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* An illustrated, editorial homepage; availability remains driven by the feed. */
.simple-home { background:#fafbf6; }
.simple-home .home-hero { grid-template-columns:1.05fr 1fr; gap:64px; padding-block:54px 64px; }
.hero-copy .eyebrow { display:flex; align-items:center; gap:9px; font-size:11px; letter-spacing:1.4px; }
.hero-dot { width:7px; height:7px; border-radius:50%; background:#60794b; }
.simple-home .home-hero h1 { font-size:clamp(44px,5.4vw,72px); line-height:1.06; letter-spacing:-3.5px; margin:22px 0; }
.home-hero h1 em { color:#527045; }
.hero-description { font-size:17px; line-height:1.7; max-width:440px; }
.hero-caption { display:flex; align-items:center; gap:10px; margin-top:25px; color:#606d5c; font-size:12px; }
.mini-globe { font-size:26px; line-height:1; }
.journey-art { min-width:0; overflow:hidden; border:1px solid #d6dfca; border-radius:24px; background:#edf2e5; box-shadow:0 20px 45px -32px #41573766; transform:rotate(2deg); }
.art-heading { display:flex; justify-content:space-between; gap:12px; margin:24px 26px 0; font-size:10px; font-weight:600; letter-spacing:1.7px; color:#506446; }
.journey-drawing { display:block; width:100%; height:auto; margin-top:12px; }
.art-footer { display:flex; align-items:center; gap:14px; padding:17px 25px 22px; font-size:12px; line-height:1.6; background:#e5edd9; color:#3f5538; }
.art-seal { display:grid; place-items:center; width:40px; height:40px; border:1px solid #a6b895; border-radius:50%; font-size:17px; font-weight:700; }
.art-arrow { margin-left:auto; font-size:32px; }
.calendar-art { animation:calendar-float 6s ease-in-out infinite; }
.flight-path { animation:route-dash 24s linear infinite; }
.dashboard-title h2 { font-family:Manrope,Arial,sans-serif; font-size:clamp(26px,3vw,36px); line-height:1.2; letter-spacing:-1.3px; margin:0; }
.simple-home .slot-dashboard { border-top:1px solid var(--line); padding-top:32px; }
.simple-home .slot-dashboard .location-grid { gap:12px; }
.simple-home .slot-dashboard .location-card { overflow:hidden; padding:0 16px 16px; border:1px solid #d7ddd1; border-radius:12px; background:#fffefb; transition:transform .2s,box-shadow .2s; }
.slot-dashboard .location-card::before { content:""; display:block; height:104px; margin:0 -16px 17px; background-image:url('/assets/city-scenes.svg'); background-size:500% 100%; background-repeat:no-repeat; }
.slot-dashboard .location-card[data-location="Mumbai"]::before { background-position:25% 0; }
.slot-dashboard .location-card[data-location="Chennai"]::before { background-position:50% 0; }
.slot-dashboard .location-card[data-location="Hyderabad"]::before { background-position:75% 0; }
.slot-dashboard .location-card[data-location="Kolkata"]::before { background-position:100% 0; }
.simple-home .home-pricing { padding-top:68px; }
.home-pricing .section-head { align-items:end; }
.home-pricing .section-head .eyebrow { font-size:11px; margin:0 0 12px; letter-spacing:1.5px; }
.home-pricing .section-head h2 { margin:0; }
.home-pricing .section-head>p { color:var(--muted); font-size:14px; margin:0; }
.home-pricing .service { border-radius:18px; background:#fffefb; padding:30px; }
.home-pricing .service.featured { background:#edf2e5; border-color:#c7d4b8; }
.service-visual { display:flex; align-items:center; gap:13px; padding-bottom:24px; margin-bottom:25px; border-bottom:1px solid #d5dfcc; color:#455c39; font-size:13px; }
.service-visual svg { width:48px; height:48px; padding:5px; border-radius:12px; background:#e9eee0; stroke:currentColor; stroke-width:1.7; }
.featured .service-visual svg { background:#d5e6bb; }
.service-visual>span:last-child { margin-left:auto; font-size:25px; }
.simple-home .how-it-works { border:0; padding:26px; background:#edf0e5; border-radius:14px; margin-top:10px; margin-bottom:50px; }
.how-it-works>div>span { display:grid; place-items:center; flex-shrink:0; width:40px; height:40px; border-radius:50%; border:1px solid #bac9aa; color:#465d39; background:#fafbf6; }
.simple-home .home-contact .contact-card { position:relative; overflow:hidden; background:#233c2c; color:#f4f7ed; border:0; padding:36px; border-radius:18px; }
.home-contact .contact-card::before { content:"↗"; display:grid; place-items:center; width:76px; height:76px; border-radius:50%; border:1px solid #789364; color:#c6f365; font-size:48px; margin-bottom:30px; }
.simple-home .home-contact .contact-card .micro,
.simple-home .home-contact .contact-card>span { color:#c4cebf; }
.simple-home a:focus-visible { outline:3px solid #5a793d; outline-offset:5px; }
@keyframes calendar-float { 0%,100% { translate:0 0; } 50% { translate:0 -8px; } }
@keyframes route-dash { to { stroke-dashoffset:-130; } }
@media(hover:hover) { .simple-home .slot-dashboard .location-card:hover { transform:translateY(-4px); box-shadow:0 12px 20px -15px #43573866; } }
@media(max-width:1000px) { .simple-home .home-hero { gap:30px; } .hero-actions .button { font-size:13px; padding:14px 17px; } }
@media(max-width:760px) {
  .simple-home .home-hero { grid-template-columns:1fr; gap:32px; padding-block:30px 40px; }
  .simple-home .home-hero h1 { font-size:50px; letter-spacing:-2.5px; }
  .hero-copy .eyebrow { font-size:9px; letter-spacing:1px; }
  .hero-description { max-width:100%; font-size:16px; }
  .hero-actions { flex-direction:row; gap:8px; }
  .hero-actions .button { width:auto; flex:1; font-size:12px; padding:13px 10px; gap:8px; }
  .hero-caption { margin-top:18px; }
  .journey-art { width:min(100%,450px); margin-inline:auto; transform:none; }
  .art-heading { margin-top:18px; }
  .journey-drawing { max-height:290px; }
  .dashboard-title { align-items:start; flex-direction:column; gap:12px; }
  .simple-home .slot-dashboard .location-grid { grid-template-columns:repeat(2,minmax(0,1fr)); border:0; border-radius:0; gap:10px; overflow:visible; }
  .simple-home .slot-dashboard .location-card { padding:0 12px 13px; }
  .slot-dashboard .location-card::before { height:85px; margin:0 -12px 12px; }
  .simple-home .slot-dashboard .location-card-top { flex-direction:column; align-items:start; }
  .slot-dashboard .location-card h3 { font-size:17px; }
  .slot-dashboard .location-card .location-status { font-size:10px; }
  .simple-home .home-pricing { padding-top:42px; }
  .home-pricing .section-head { display:block; }
  .home-pricing .section-head>p { margin-top:14px; }
  .home-pricing .service { padding:23px; }
  .simple-home .how-it-works { padding:22px; gap:23px; margin-bottom:32px; }
  .simple-home .home-contact .contact-card { padding:28px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .calendar-art,.flight-path { animation:none; }
  .simple-home .slot-dashboard .location-card { transition:none; }
  .simple-home .slot-dashboard .location-card:hover { transform:none; }
}

/* Keep the date board close to the top, with room to read every date. */
.simple-home .home-hero { padding-block:30px; gap:48px; grid-template-columns:1.4fr .8fr; }
.simple-home .home-hero h1 { font-size:clamp(38px,4.2vw,56px); margin:15px 0; }
.hero-description { margin-block:12px 18px; }
.hero-caption { margin-top:16px; }
.journey-art { max-width:350px; justify-self:end; }
.art-heading { margin:16px 18px 0; font-size:9px; }
.art-footer { padding:12px 18px; }
.simple-home .slot-dashboard .location-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.simple-home .slot-dashboard .location-grid { align-items:start; }
.board-intro { color:var(--muted); font-size:14px; max-width:700px; margin:0 0 20px; }
.simple-home .slot-dashboard .location-card { min-height:0; padding:0 20px 20px; }
.simple-home .slot-dashboard .location-card::before { height:48px; margin:0 -20px 14px; background-size:500% 100%; background-color:#f1f5e9; opacity:.75; }
.simple-home .slot-dashboard .location-card[data-state="openings"] { border-color:#a9c284; box-shadow:0 7px 22px #21391b12; }
.simple-home .slot-dashboard .location-card-top { flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.simple-home .slot-dashboard .location-card h3 { font-size:21px; }
.simple-home .slot-dashboard .location-card .location-detail { font-size:13px; line-height:1.55; margin:8px 0 12px; }
.simple-home .slot-dashboard .location-card .location-context { font-size:12px; margin:14px 0 10px; }
.simple-home .slot-dashboard .location-card .location-time { border-top:1px solid var(--line); padding-top:12px; font-size:11px; line-height:1.6; }
.simple-home .slot-dashboard .location-card[data-state="unavailable"] .location-detail { display:block; }
.simple-home .slot-dashboard .location-foot { justify-content:space-between; font-size:12px; }
@media(max-width:1000px) { .simple-home .slot-dashboard .location-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
  .simple-home .home-hero { grid-template-columns:1fr; padding-block:26px; gap:0; }
  .simple-home .home-hero h1 { font-size:42px; }
  .home-hero .journey-art { display:none; }
  .simple-home .slot-dashboard .location-grid { grid-template-columns:1fr; }
  .simple-home .slot-dashboard .location-card { padding:0 18px 18px; }
  .simple-home .slot-dashboard .location-card::before { margin-inline:-18px; }
}
@media(max-width:760px) {
 .simple-home>header { padding:12px 18px; gap:10px; }
 .simple-home>header .brand { width:145px; height:36px; }
 .simple-home>header nav { gap:18px; }
 .slot-dashboard { padding-block:20px 16px; }
 .dashboard-title { margin-bottom:12px; }
 .dashboard-title h1 { font-size:28px; }
 .slot-dashboard .location-grid { grid-template-columns:1fr; gap:0; border:1px solid var(--line); border-radius:9px; overflow:hidden; }
 .slot-dashboard .location-card { border:0; border-radius:0; border-bottom:1px solid var(--line); min-height:0; padding:13px 14px; }
 .simple-home .slot-dashboard .location-card:last-child { border-bottom:1px solid #d7ddd1; }
 .slot-dashboard .location-card-top { flex-direction:row; justify-content:space-between; align-items:center; gap:8px; margin:0 0 6px; }
 .slot-dashboard .location-card h3 { font-size:17px; }
 .slot-dashboard .location-card[data-state="unverified"],
 .slot-dashboard .location-card[data-state="unavailable"] { min-height:0; }
 .home-pricing { padding-top:32px; }
}

/* A continuous city list keeps all dates aligned without empty grid cells. */
.simple-home .slot-dashboard .location-grid { display:flex; flex-direction:column; gap:0; border:1px solid #d7ddd1; border-radius:14px; overflow:hidden; background:#fffefb; }
.simple-home .slot-dashboard .location-card { display:grid; grid-template-columns:210px minmax(0,1fr) 210px; grid-template-areas:"city detail checked" "context dates checked"; column-gap:28px; row-gap:8px; width:100%; min-height:0; padding:22px 24px; border:0; border-left:4px solid transparent; border-bottom:1px solid #d7ddd1; border-radius:0; box-shadow:none; transition:none; }
.simple-home .slot-dashboard .location-card:last-child { border-bottom:0; }
.simple-home .slot-dashboard .location-card::before { display:none; }
.simple-home .slot-dashboard .location-card:hover { transform:none; box-shadow:none; }
.simple-home .slot-dashboard .location-card[data-state="openings"] { border-left-color:#739a43; background:#f4f8ec; box-shadow:none; }
.simple-home .slot-dashboard .location-card-top { grid-area:city; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:6px; margin:0; }
.simple-home .slot-dashboard .location-open { padding:0; text-decoration:none; }
.simple-home .slot-dashboard .location-open:hover { text-decoration:underline; text-underline-offset:4px; }
.simple-home .slot-dashboard .location-card h3 { font-size:21px; }
.simple-home .slot-dashboard .location-card .location-detail { grid-area:detail; align-self:end; margin:0; font-size:13px; }
.simple-home .slot-dashboard .slot-dates { grid-area:dates; display:flex; flex-wrap:wrap; gap:8px; margin:0; align-self:start; }
.simple-home .slot-dashboard .slot-dates:empty { display:none; }
.simple-home .slot-dashboard .slot-dates time { width:68px; min-height:65px; padding:8px 4px; border-top-width:2px; }
.simple-home .slot-dashboard .slot-dates strong { font-size:23px; }
.simple-home .slot-dashboard .slot-dates span { font-size:11px; margin-top:3px; }
.simple-home .slot-dashboard .location-card .location-context { grid-area:context; margin:0; font-size:12px; line-height:1.6; align-self:start; }
.simple-home .slot-dashboard .location-card .location-time { grid-area:checked; align-self:center; margin:0; padding:0 0 0 20px; border:0; border-left:1px solid #d7ddd1; font-size:12px; line-height:1.7; }
@media(max-width:1000px) {
  .simple-home .slot-dashboard .location-card { grid-template-columns:180px minmax(0,1fr); grid-template-areas:"city detail" "context dates" "checked checked"; gap:12px 22px; }
  .simple-home .slot-dashboard .location-card .location-time { padding:10px 0 0; border-left:0; border-top:1px solid #d7ddd1; }
}
@media(max-width:600px) {
  .simple-home .slot-dashboard .location-card { grid-template-columns:1fr; grid-template-areas:"city" "context" "detail" "dates" "checked"; padding:20px 18px; gap:12px; }
  .simple-home .slot-dashboard .location-card-top { flex-direction:row; align-items:center; justify-content:space-between; gap:10px; }
  .simple-home .slot-dashboard .location-card .location-detail { font-size:13px; }
}
