/* Home page only: give the planning entry point a wider, calmer editorial layout. */
body.home-page .site-main { grid-template-columns: minmax(0, 1fr); }
body.home-page .site-rail { display: none; }
body.home-page .site-content { display: grid; gap: 22px; }
body.home-page .home-hero { min-height: 330px; margin: 0; padding: clamp(28px, 4vw, 58px); display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(245px, .65fr); align-items: end; gap: clamp(24px, 5vw, 72px); border: 0; border-bottom: 5px solid #83d9ca; background: linear-gradient(125deg, #061725 0%, #0c3048 54%, #185777 100%); box-shadow: 0 18px 38px rgba(6, 23, 37, .2); }
body.home-page .home-hero h1 { max-width: 730px; margin: 8px 0 16px; font-size: clamp(2.5rem, 5vw, 5rem); }
body.home-page .home-hero h1 em { color: #83d9ca; font-family: Merriweather, Georgia, serif; font-weight: 400; }
body.home-page .home-hero .eyebrow { color: #83d9ca !important; }
body.home-page .home-hero p:not(.eyebrow) { max-width: 645px; color: #d9edf5 !important; font-size: 1.04rem; line-height: 1.7; }
body.home-page .home-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 26px; }
body.home-page .home-hero .button { min-height: 46px; padding-inline: 20px; border-color: #83d9ca; background: #83d9ca; color: #061725; }
body.home-page .home-hero .button:hover { border-color: #fff; background: #fff; color: #061725; }
body.home-page .home-hero .quiet-link { color: #fff; font-size: .9rem; }
body.home-page .home-hero-brief { padding: 22px; border: 1px solid rgba(131, 217, 202, .55); background: rgba(3, 20, 33, .42); backdrop-filter: blur(8px); }
body.home-page .home-hero-brief p { margin: 0 0 10px; color: #83d9ca !important; font: 800 .7rem/1.3 "DM Mono", Consolas, monospace; letter-spacing: .13em; text-transform: uppercase; }
body.home-page .home-hero-brief strong { display: block; color: #fff !important; font-size: 1.25rem; line-height: 1.25; }
body.home-page .home-hero-brief ul { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
body.home-page .home-hero-brief li { color: #d9edf5 !important; font-size: .84rem; }
body.home-page .home-hero-brief li::before { content: ""; width: 7px; height: 7px; margin: 0 9px 1px 0; display: inline-block; background: #83d9ca; }
body.home-page .home-pathways { display: grid; gap: 13px; }
body.home-page .home-pathways-heading { display: grid; gap: 4px; }
body.home-page .home-pathways-heading h2 { margin: 0; font-size: clamp(1.45rem, 2.2vw, 2rem); }
body.home-page .home-desk-stats { gap: 14px; border: 0; background: transparent; }
body.home-page .home-desk-stats.expat-start-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.home-page .home-desk-stats a { min-height: 190px; padding: 22px; display: flex; flex-direction: column; border: 1px solid #a9c0cc; border-radius: 0; background: #f7fafc; box-shadow: 0 7px 18px rgba(6, 23, 37, .09); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
body.home-page .home-desk-stats a:hover { transform: translateY(-4px); border-color: #155b78; box-shadow: 0 14px 26px rgba(6, 23, 37, .15); }
body.home-page .home-desk-stats span { margin-bottom: 12px; color: #155b78; }
body.home-page .home-desk-stats strong { color: #102f46; font-size: 1.25rem; letter-spacing: -.025em; }
body.home-page .home-desk-stats small { margin-top: 8px; color: #405d73; font-size: .88rem; line-height: 1.5; }
body.home-page .home-desk-stats b { margin-top: auto; padding-top: 16px; color: #a73c3c; font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; }
body.home-page .home-match { padding: clamp(24px, 3vw, 38px); border: 0 !important; border-top: 4px solid #a73c3c !important; background: #fffdf9; box-shadow: 0 12px 28px rgba(6, 23, 37, .1); }
body.home-page .home-match > summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
body.home-page .home-match > summary::-webkit-details-marker { display: none; }
body.home-page .home-match > summary::after { content: "+"; display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border: 1px solid #9db8c7; color: #173047; font-size: 1.35rem; }
body.home-page .home-match[open] > summary::after { content: "−"; }
body.home-page .home-match > summary strong { max-width: 700px; color: #102f46; font-size: clamp(1.15rem, 2vw, 1.55rem); }
body.home-page .home-match > summary .eyebrow { margin: 0; }
body.home-page .home-match-body { margin-top: 24px; padding-top: 24px; border-top: 1px solid #c8d6d9; }
body.home-page .home-match-intro { max-width: 660px; }
body.home-page .home-match-intro h2 { margin-bottom: 8px; }
body.home-page .home-match-form { margin-top: 22px; gap: 13px; }
body.home-page .home-match-form label { color: #173047; font-size: .78rem; }
body.home-page .home-match-form select { border-color: #9db8c7; background: #fff; }
body.home-page .home-match-form .button { min-height: 42px; background: #a73c3c; border-color: #a73c3c; }
body.home-page .home-match-form .button:hover { background: #7f2727; border-color: #7f2727; }
body.home-page .home-match-share { margin-top: 18px; background: #173047; border-color: #173047; }
body.home-page .home-match-share-status { min-height: 1.4em; margin: 8px 0 0; font-size: .82rem; }
body.home-page .community-home-intro { padding: clamp(24px, 3vw, 38px); align-items: stretch; border: 0; background: #e7f0f4; box-shadow: none; }
body.home-page .community-home-intro > div { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
body.home-page .community-home-intro h2 { max-width: 650px; }
body.home-page .community-home-intro p { max-width: 650px; }
body.home-page .community-home-intro aside { display: grid; align-content: center; border-left: 5px solid #83d9ca; background: #103a55; }
body.home-page .community-home-intro > div > p:not(.eyebrow) { color: #405d73 !important; }
body.home-page .community-home-intro aside p { color: #83d9ca !important; }
body.home-page .community-home-intro aside :is(strong, span) { color: #fff !important; }
body.home-page .home-grid { gap: 18px; }
body.home-page .home-grid .feature, body.home-page .home-grid .trip-card { min-height: 235px; padding: 28px; border: 0; }
body.home-page .home-grid .trip-card :is(p, span, b) { color: #d9edf5 !important; }
body.home-page .home-grid .trip-card strong { color: #fff !important; }
body.home-page .latest { padding: clamp(24px, 3vw, 38px); border: 0; box-shadow: none; }
body.home-page .article-grid { gap: 14px; border: 0; background: transparent; }
body.home-page .article-grid article { min-height: 175px; padding: 20px; border: 1px solid #a9c0cc; background: #fff; }
body.home-page .article-grid article:last-child { border-right: 1px solid #a9c0cc; }
/* Keep the home page readable even when the shared dark-mode class is present. */
body.home-page :is(.home-desk-stats a, .home-match, .community-home-intro > div, .home-grid .feature, .latest, .article-grid article) :is(h1, h2, h3, h4, strong, b) { color: #102f46 !important; }
body.home-page :is(.home-desk-stats a, .home-match, .community-home-intro > div, .home-grid .feature, .latest, .article-grid article) :is(p, small, label, span) { color: #405d73 !important; }
body.home-page :is(.home-desk-stats a, .home-match, .community-home-intro > div, .home-grid .feature, .latest, .article-grid article) a:not(.button) { color: #a73c3c !important; }
body.home-page .home-match select { color: #102f46 !important; }
body.home-page :is(.home-hero, .home-hero-brief, .community-home-intro aside, .home-grid .trip-card) :is(h1, h2, h3, h4, strong, b) { color: #fff !important; }
body.home-page :is(.home-hero, .home-hero-brief, .community-home-intro aside, .home-grid .trip-card) :is(p, small, label, span, li) { color: #d9edf5 !important; }
body.home-page :is(.home-hero, .home-hero-brief, .community-home-intro aside) .eyebrow, body.home-page .home-hero-brief p { color: #83d9ca !important; }
body.site-v2.home-page.theme-dark .site-main :is(.home-desk-stats a, .home-match, .community-home-intro > div, .home-grid .feature, .latest, .article-grid article) :is(p, small, label, span) { color: #405d73 !important; }
body.site-v2.home-page.theme-dark .site-main :is(.home-hero, .home-hero-brief, .community-home-intro aside, .home-grid .trip-card) :is(p, small, label, span, li) { color: #d9edf5 !important; }
@media (max-width: 1150px) { body.home-page .home-desk-stats.expat-start-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1050px) { body.home-page .home-hero { grid-template-columns: 1fr; } body.home-page .home-hero-brief { max-width: 480px; } body.home-page .home-desk-stats:not(.expat-start-grid) { grid-template-columns: 1fr; } body.home-page .home-desk-stats a { min-height: 0; } }
@media (max-width: 700px) { body.home-page .site-main { width: min(100% - 20px, var(--nm-content)); } body.home-page .home-desk-stats.expat-start-grid { grid-template-columns: 1fr; } body.home-page .home-hero { min-height: 0; padding: 28px 22px; } body.home-page .home-hero h1 { font-size: clamp(2.25rem, 13vw, 3.5rem); } body.home-page .home-hero-brief { padding: 18px; } body.home-page .home-pathways-heading { align-items: start; flex-direction: column; } body.home-page .home-match, body.home-page .community-home-intro, body.home-page .latest { padding: 22px; } body.home-page .home-match > summary { align-items: flex-start; flex-direction: column; } body.home-page .home-match > summary::after { position: absolute; align-self: flex-end; } body.home-page .home-match > summary strong { padding-right: 48px; } body.home-page .community-home-intro { grid-template-columns: 1fr; } body.home-page .article-grid { grid-template-columns: 1fr; } body.home-page .article-grid article { border-right: 1px solid #a9c0cc; } }
body.home-page .home-official-channels { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 28px; padding: 14px 20px; border: 1px solid #b6c9ce; background: #f8fbfa; }
body.home-page .home-official-channels strong { margin-right: 6px; color: #15364a; font-size: .9rem; }
body.home-page .home-official-channels a { color: #145b68; font-size: .9rem; font-weight: 700; text-underline-offset: 3px; }
body.home-page .home-official-channels a:focus-visible { outline: 3px solid #145b68; outline-offset: 3px; }
@media (max-width: 700px) { body.home-page .home-official-channels { gap: 10px 15px; padding: 16px; } body.home-page .home-official-channels strong { flex-basis: 100%; } }
