/* The general welcome page only. Calgary and private trial layouts stay unchanged. */
.welcome-site { background: #f8f7f3; color: #414b44; }
.welcome-site::before { display: none; }
.welcome-site .site-header { background: rgba(248,247,243,.97); border-bottom: 1px solid #e6e5dc; }
.welcome-site .brand-mark { background: #b54136; box-shadow: none; }
.welcome-site .primary-nav .nav-cta { background: #193e30; }
.welcome-site .primary-nav .nav-cta:hover { background: #28503e; transform: none; }
.welcome-page { --welcome-green: #193e30; --welcome-muted: #677269; --welcome-line: #dddfd6; }
.welcome-page p, .welcome-page h1, .welcome-page h2, .welcome-page h3 { margin: 0; }
.welcome-page a { text-underline-offset: 4px; }
.welcome-page .welcome-hero { display: grid; grid-template-columns: 1.14fr 1fr; gap: 62px; align-items: center; padding-block: 86px 80px; }
.welcome-page .welcome-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #53645a; line-height: 1.6; }
.welcome-copy .welcome-eyebrow { display: flex; align-items: center; gap: 9px; }
.welcome-copy .welcome-eyebrow>span { width: 7px; height: 7px; background: #b54136; flex: none; }
.welcome-page h1 { font: 500 clamp(42px,4.8vw,66px)/1.08 var(--serif); color: #18251e; letter-spacing: -.045em; margin: 25px 0 25px; }
.welcome-page h1 em { color: #37674e; }
.welcome-page .welcome-lede { font-size: 19px; line-height: 1.5; color: #263c2e; font-weight: 500; max-width: 27ch; }
.welcome-page .welcome-intro { font-size: 16px; line-height: 1.75; max-width: 47ch; margin-top: 14px; color: var(--welcome-muted); }
.welcome-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 29px; }
.welcome-page .welcome-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; padding: 14px 19px; border: 1px solid var(--welcome-green); border-radius: 8px; background: var(--welcome-green); color: #fff; font-size: 14px; line-height: 1.5; font-weight: 600; text-decoration: none; min-height: 48px; transition: background .15s; }
.welcome-page .welcome-button:hover { background: #2b5340; }
.welcome-page .welcome-link { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; font-size: 13px; font-weight: 600; color: var(--welcome-green); text-decoration: none; }
.welcome-page .welcome-link:hover { text-decoration: underline; }
.welcome-page .welcome-availability { margin-top: 17px; font-size: 12px; line-height: 1.65; color: var(--welcome-muted); }
.welcome-availability a { color: var(--welcome-green); }
.welcome-brief { background: #fff; border: 1px solid var(--welcome-line); padding: 27px; border-radius: 16px; box-shadow: 0 15px 40px -24px #40514155; position: relative; }
.welcome-brief::before { content: ''; position: absolute; top: -12px; left: 18px; right: 18px; height: 12px; border: 1px solid var(--welcome-line); border-bottom: 0; border-radius: 12px 12px 0 0; background: #e9ede5; z-index: -1; }
.welcome-brief-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 22px; border-bottom: 1px solid var(--welcome-line); font-size: 9px; font-weight: 600; letter-spacing: .1em; color: var(--welcome-muted); }
.welcome-brief-top>span:last-child { font-size: 10px; letter-spacing: 0; background: #f0f2ec; padding: 4px 8px; border-radius: 4px; font-weight: 400; flex: none; }
.welcome-page .welcome-brief h2 { font: 500 36px/1.14 var(--serif); color: #263c2e; margin-top: 24px; letter-spacing: -.025em; }
.welcome-page .welcome-brief-caption { font-size: 12px; color: var(--welcome-muted); margin: 10px 0 12px; }
.welcome-brief-fields { list-style: none; margin: 0; padding: 0; }
.welcome-brief-fields li { display: flex; align-items: flex-start; gap: 13px; padding: 18px 0; border-bottom: 1px solid #eceee7; }
.welcome-page .detail-icon { width: 24px; height: 24px; flex: 0 0 24px; color: #43604d; }
.welcome-page .welcome-brief-fields h3 { font: 600 14px/1.4 var(--sans); color: #263c2e; }
.welcome-page .welcome-brief-fields p { font-size: 12px; color: var(--welcome-muted); margin-top: 4px; line-height: 1.6; }
.welcome-field-index { font-size: 10px; color: #929d94; margin-left: auto; }
.welcome-evidence { display: flex; gap: 9px; align-items: center; margin-top: 18px; color: #43604d; font-size: 11px; }
.welcome-page .welcome-evidence .detail-icon { width: 16px; height: 16px; flex-basis: 16px; }
.welcome-process { border-top: 1px solid var(--welcome-line); padding-block: 64px; }
.welcome-section-heading { max-width: 610px; }
.welcome-page .welcome-section-heading h2 { font: 500 clamp(32px,3.4vw,44px)/1.12 var(--serif); letter-spacing: -.035em; color: #18251e; margin: 15px 0 17px; }
.welcome-page .welcome-section-heading>p:last-child { font-size: 15px; line-height: 1.75; max-width: 58ch; color: var(--welcome-muted); }
.welcome-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; margin-top: 38px; }
.welcome-steps article { border-top: 1px solid var(--welcome-line); padding-top: 18px; }
.welcome-step-number { display: block; font-size: 10px; letter-spacing: .09em; color: var(--welcome-muted); margin-bottom: 25px; }
.welcome-page .welcome-steps h3 { font: 600 17px/1.4 var(--sans); color: #263c2e; margin: 16px 0 10px; }
.welcome-page .welcome-steps p { font-size: 14px; line-height: 1.75; color: var(--welcome-muted); max-width: 38ch; }
.welcome-coverage { padding-block: 36px 64px; scroll-margin-top: 100px; }
#how-it-works { scroll-margin-top: 76px; }
.welcome-markets { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 32px; }
.welcome-market { display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid var(--welcome-line); border-radius: 12px; background: #fff; }
.welcome-status { display: flex; align-items: center; gap: 7px; font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #496653; }
.welcome-status>span { width: 6px; height: 6px; border-radius: 50%; background: #3e7b56; }
.welcome-page .welcome-market h3 { font: 500 29px/1.15 var(--serif); margin-top: 28px; color: #18251e; letter-spacing: -.02em; }
.welcome-page .welcome-market-trade { font-size: 13px; font-weight: 500; margin-top: 9px; color: #53645a; }
.welcome-page .welcome-market>p:not(.welcome-market-trade):not(.welcome-email-note) { font-size: 14px; line-height: 1.75; margin: 18px 0 25px; max-width: 46ch; }
.welcome-market .welcome-button { margin-top: auto; }
.welcome-market-request { background: #193e30; color: #dce7de; border-color: #193e30; }
.welcome-page .welcome-market-request h3 { color: #fff; }
.welcome-page .welcome-market-request .welcome-status, .welcome-page .welcome-market-request .welcome-market-trade { color: #b9d0bf; }
.welcome-page .welcome-button-light { background: #f8faf5; color: #193e30; border-color: #f8faf5; }
.welcome-page .welcome-button-light:hover { background: #e6eee4; }
.welcome-page .welcome-email-note { font-size: 11px; line-height: 1.6; margin-top: 12px; color: #b9d0bf; }
.welcome-close { display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid var(--welcome-line); padding-block: 44px 64px; }
.welcome-page .welcome-close p { font: 400 29px/1.3 var(--serif); color: #263c2e; letter-spacing: -.015em; }
.welcome-page .welcome-close em { color: #536b59; }
.welcome-site .site-footer { margin-top: 0; }
@media(max-width:1050px) { .welcome-page .welcome-hero { gap: 34px; padding-top: 60px; } .welcome-page h1 { font-size: 52px; } }
@media(max-width:800px) { .welcome-page .welcome-hero { grid-template-columns: 1fr; gap: 42px; padding-block: 40px 48px; } .welcome-copy { max-width: 620px; } .welcome-page h1 { font-size: clamp(37px,7vw,60px); } .welcome-brief { max-width: 620px; width: 100%; } .welcome-steps { gap: 22px; } .welcome-page .welcome-market h3 { font-size: 26px; } .welcome-market { padding: 24px; } }
@media(max-width:600px) { .welcome-page .welcome-eyebrow { font-size: 9px; } .welcome-page .welcome-lede { font-size: 18px; } .welcome-page .welcome-intro { font-size: 15px; } .welcome-actions { gap: 10px; } .welcome-page .welcome-availability { font-size: 11px; } .welcome-brief { padding: 21px; } .welcome-page .welcome-brief h2 { font-size: 32px; } .welcome-steps, .welcome-markets { grid-template-columns: 1fr; gap: 24px; } .welcome-steps article { padding-top: 18px; display: grid; grid-template-columns: 28px 1fr; gap: 0 12px; } .welcome-step-number { grid-column: 1/-1; margin-bottom: 19px; } .welcome-page .welcome-steps h3 { margin: 0 0 9px; } .welcome-page .welcome-steps p { grid-column: 2; max-width: none; } .welcome-process { padding-block: 42px; } .welcome-coverage { padding-block: 12px 42px; } .welcome-close { flex-direction: column; align-items: flex-start; gap: 12px; padding-block: 32px; } .welcome-page .welcome-close p { font-size: 27px; } }
