.page-main { max-width: 1210px; margin: auto; padding: 44px 22px 82px; }
.page-main.wide { max-width: 1360px; }
.page-hero { margin-bottom: 42px; display: grid; grid-template-columns: 1fr .92fr; gap: 38px; align-items: center; }
.page-hero.one { grid-template-columns: 1fr; max-width: 880px; margin-left: auto; margin-right: auto; text-align: center; }
.page-hero-copy h1 { margin: 10px 0 16px; color: var(--navy-deep); font-size: clamp(42px, 5.2vw, 66px); line-height: 1.01; letter-spacing: -2.5px; }
.page-hero-copy h1 span { color: var(--green); }
.page-hero-copy>p { max-width: 720px; margin: 0; color: #41566a; font-size: 20px; }
.vacation-header-photo, .travel-earn-header-photo { grid-template-columns: minmax(0,1.1fr) minmax(210px,.52fr) minmax(250px,.7fr); }
.vacation-header-photo>img, .travel-earn-header-photo>img { width:100%; height:100%; min-height:220px; object-fit:cover; border-radius:18px; }
.actions { margin-top: 23px; display: flex; gap: 11px; flex-wrap: wrap; }
.page-photo { min-height: 420px; margin: 0; position: relative; overflow: hidden; border-radius: 24px; box-shadow: var(--shadow); }
.page-photo img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.page-photo figcaption { position: absolute; left: 16px; right: 16px; bottom: 16px; padding: 12px 14px; color: #fff; background: rgba(6,40,69,.88); border-radius: 12px; font-size: 13px; backdrop-filter: blur(8px); }
.page-photo figcaption b { display: block; font-size: 16px; }
.hero-panel { padding: 30px; color: #fff; background: linear-gradient(145deg, var(--navy), #176781); border-radius: 20px; box-shadow: var(--shadow-small); }
.hero-panel h2 { margin: 0 0 12px; font-size: 28px; }
.hero-panel ul { margin: 0; padding-left: 21px; }
.hero-panel li { margin: 9px 0; }

.section { margin-top: 52px; }
.section-title { margin: 0 0 18px; color: var(--navy-deep); font-size: clamp(30px, 3.5vw, 42px); line-height: 1.08; letter-spacing: -1px; }
.section-intro { max-width: 780px; margin: -8px 0 22px; color: var(--muted); font-size: 18px; }
.faq-list { max-width: 900px; margin-left: auto; margin-right: auto; }
.faq-list details { margin: 12px 0; padding: 19px 21px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-small); }
.faq-list summary { color: var(--navy); font-size: 18px; font-weight: 850; cursor: pointer; }
.faq-list p { margin: 12px 0 0; color: var(--muted); }
.status-label { display: inline-block; margin-bottom: 10px; padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 900; letter-spacing: .06em; }
.status-label.live { color: #236d28; background: #e8f5e5; }
.status-label.preparing { color: #815c12; background: #fff4d9; }
.payment-ready { padding: 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: linear-gradient(135deg, #eef7fb, #f6fbf3); border: 1px solid #cfe0d3; border-radius: 20px; }
.payment-ready .section-title { margin-top: 7px; }
.payment-ready .section-intro { margin-bottom: 0; }
.policy-meta { margin: 14px 0 0; color: var(--muted); font-size: 14px; }
.policy-section { max-width: 900px; margin: 18px auto; padding: 25px; background: #fff; border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow-small); }
.policy-section h2 { margin-top: 0; color: var(--navy); }
.policy-section h3 { margin: 22px 0 7px; color: var(--navy); }
.policy-section p, .policy-section li { color: var(--muted); }
.policy-section li+li { margin-top: 8px; }
.launch-banner { margin-bottom: 24px; padding: 17px 20px; color: #674b11; background: #fff7df; border: 1px solid #ead69b; border-radius: 13px; }
.local-ideas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.grid.two { grid-template-columns: repeat(2, 1fr); }
.grid.four { grid-template-columns: repeat(4, 1fr); }
.card { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow-small); transition: transform .18s ease, box-shadow .18s ease; }
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.card h2, .card h3 { margin: 0 0 8px; color: var(--navy); }
.card p { margin: 0; color: var(--muted); }
.card p+p { margin-top: 10px; }
.card .icon { width: 49px; height: 49px; margin-bottom: 13px; display: grid; place-items: center; background: #eaf6ec; border-radius: 50%; font-size: 24px; }
.card-photo { padding: 0; overflow: hidden; }
.card-photo img { width: 100%; height: 190px; object-fit: cover; }
.card-photo>div { padding: 20px; }
.tag-row { margin-top: 12px; display: flex; gap: 6px; flex-wrap: wrap; }
.tag { padding: 5px 9px; color: #245d31; background: #eaf6ec; border-radius: 999px; font-size: 12px; font-weight: 750; }

.steps { counter-reset: step; display: grid; gap: 13px; }
.step { counter-increment: step; padding: 18px; display: grid; grid-template-columns: 48px 1fr; gap: 15px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.step:before { content: counter(step); width: 44px; height: 44px; display: grid; place-items: center; color: #fff; background: var(--green); border-radius: 50%; font-weight: 900; }
.step h3 { margin: 1px 0 4px; color: var(--navy); }
.step p { margin: 0; color: var(--muted); }
.split-flow { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.role-choice-intro { margin: 42px 0 20px; padding: 24px; text-align: center; border: 2px solid #c8d9e4; border-radius: 22px; background: #fff; box-shadow: var(--shadow-small); }
.role-choice-intro h2 { margin: 5px 0 7px; color: var(--navy); font-size: clamp(30px, 4vw, 44px); }
.role-choice-intro p { margin: 0 auto; max-width: 720px; color: var(--muted); font-size: 18px; }
.role-jump-links { margin-top: 18px; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.role-jump-links a, .role-action { min-height: 50px; padding: 13px 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; color: #fff; font-size: 17px; font-weight: 900; text-decoration: none; }
.role-jump-links a:first-child, .client-action { background: linear-gradient(135deg, #248329, #156329); }
.role-jump-links a:last-child, .worker-action { background: linear-gradient(135deg, #1769aa, #073f69); }
.flow-card { overflow: hidden; }
.flow-card.client-flow { border: 3px solid #65b873; background: linear-gradient(180deg, #edfaef 0, #fff 190px); box-shadow: 0 13px 28px rgba(36,131,41,.16); }
.flow-card.worker-flow { border: 3px solid #5aa9da; background: linear-gradient(180deg, #e9f6ff 0, #fff 190px); box-shadow: 0 13px 28px rgba(23,105,170,.16); }
.role-card-heading { margin: -2px -2px 20px; padding: 22px; display: flex; gap: 15px; align-items: flex-start; color: #fff; }
.client-flow .role-card-heading { background: linear-gradient(135deg, #248329, #155b2a); }
.worker-flow .role-card-heading { background: linear-gradient(135deg, #1769aa, #073f69); }
.role-card-heading h2 { margin: 3px 0; color: #fff; font-size: 30px; }
.role-card-heading p { margin: 0; color: rgba(255,255,255,.9); font-weight: 700; }
.role-icon { width: 54px; height: 54px; flex: 0 0 54px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.2); font-size: 28px; }
.role-name { font-size: 14px; font-weight: 950; letter-spacing: .13em; }
.client-flow .step::before { background: #248329; }
.worker-flow .step::before { background: #1769aa; }
.role-action { margin: 18px 0 4px; width: 100%; }
.choice.customer-choice { border: 3px solid #65b873; background: linear-gradient(180deg,#effbf1,#fff); }
.choice.worker-choice { border: 3px solid #5aa9da; background: linear-gradient(180deg,#eaf6ff,#fff); }
.customer-choice strong::before { content: '🙋 CUSTOMER — '; color: #23702a; font-size: 15px; }
.worker-choice strong::before { content: '💼 WORKER — '; color: #1769aa; font-size: 15px; }
.role-key { margin: 22px 0 34px; padding: 16px; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; border: 2px solid #d6e2e9; border-radius: 18px; background: #fff; box-shadow: var(--shadow-small); }
.role-key b { padding: 11px 17px; border-radius: 999px; font-size: 16px; }
.role-key .customer-key { color: #155b2a; background: #e8f7eb; border: 2px solid #83c88f; }
.role-key .worker-key { color: #073f69; background: #e7f5fd; border: 2px solid #77bce2; }
.flow-card { padding: 26px; background: #fff; border: 1px solid var(--line); border-radius: 19px; box-shadow: var(--shadow-small); }
.flow-card h2 { margin-top: 0; color: var(--navy); }

.example-band { margin-top: 48px; padding: 28px; display: grid; grid-template-columns: .65fr 1.35fr; gap: 24px; align-items: center; color: #fff; background: var(--navy); border-radius: 22px; }
.example-band img { width: 100%; height: 270px; object-fit: cover; border-radius: 15px; }
.example-band h2 { margin: 0 0 10px; font-size: 32px; line-height: 1.08; }
.example-band p { color: #dceaf1; }
.example-band ul { padding-left: 20px; columns: 2; }

.helper-possibilities { padding: clamp(24px, 4vw, 42px); background: linear-gradient(145deg, #edf8f0, #f7fbfd); border: 1px solid #dcebe1; border-radius: 24px; }
.possibility-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.possibility-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow-small); }
.possibility-card img { width: 100%; height: 220px; object-fit: cover; }
.possibility-card>div { padding: 20px; }
.possibility-card span { color: var(--green-dark); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.possibility-card h3 { margin: 7px 0; color: var(--navy); font-size: 21px; line-height: 1.15; }
.possibility-card p { margin: 0; color: var(--muted); }

.offer-matrix { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.offer-group { padding: 21px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.offer-group h3 { margin: 0 0 10px; color: var(--navy); }
.offer-group ul { margin: 0; padding-left: 20px; color: var(--muted); }
.offer-group li { margin: 6px 0; }
.truck-panel { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; color: #fff; background: var(--navy); border-radius: 22px; }
.truck-panel img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.truck-panel>div { padding: clamp(28px, 5vw, 54px); }
.truck-panel h2 { margin: 7px 0 13px; font-size: 39px; line-height: 1.05; }
.truck-panel p { color: #dceaf1; }
.check-list { margin: 18px 0; padding: 0; display: grid; gap: 9px; list-style: none; }
.check-list li:before { content: "✓"; margin-right: 8px; color: #a9d96b; font-weight: 900; }

.form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; align-items: start; }
.form-shell { padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: 19px; box-shadow: var(--shadow-small); }
.form-shell h1 { margin: 6px 0 7px; color: var(--navy-deep); font-size: 40px; line-height: 1.05; }
.form-shell>p { margin-top: 0; color: var(--muted); }
.form-photo { position: sticky; top: 102px; overflow: hidden; background: var(--navy); border-radius: 19px; box-shadow: var(--shadow-small); }
.form-photo img { width: 100%; height: 340px; object-fit: cover; }
.form-photo>div { padding: 20px; color: #fff; }
.form-photo h2 { margin: 0 0 7px; font-size: 23px; }
.form-photo p { margin: 0; color: #dceaf1; font-size: 14px; }
.progress { height: 9px; margin: 22px 0 28px; overflow: hidden; background: #e7edf1; border-radius: 99px; }
.progress span { display: block; height: 100%; background: var(--green); }
.form-section { margin: 29px 0 12px; padding-top: 24px; border-top: 1px solid var(--line); }
.form-section h2 { margin: 0 0 5px; color: var(--navy); font-size: 24px; }
.form-section>p { margin: 0 0 16px; color: var(--muted); font-size: 14px; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label, .group-label { color: var(--navy); font-size: 15px; font-weight: 820; }
.field input, .field select, .field textarea { width: 100%; padding: 13px; color: var(--ink); background: #fff; border: 1px solid #cbd7df; border-radius: 9px; }
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 3px solid rgba(23,105,170,.14); border-color: var(--blue); }
.check-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.check-grid.two { grid-template-columns: repeat(2, 1fr); }
.check { min-height: 47px; padding: 10px; display: flex; align-items: center; gap: 8px; background: #fbfdfe; border: 1px solid var(--line); border-radius: 9px; font-size: 14px; }
.check input { width: 19px; height: 19px; flex: 0 0 auto; }
.conditional { display: none; margin-top: 15px; padding: 18px; background: #eef7fb; border: 1px solid #d1e3ea; border-radius: 12px; }
.conditional.show { display: block; }
.form-actions { margin-top: 26px; display: flex; justify-content: space-between; gap: 12px; }
.note { margin: 18px 0; padding: 14px 16px; color: #5c4a1e; background: #fff8e7; border-left: 4px solid #e1a222; border-radius: 8px; }
.success-note { display: none; margin-top: 18px; padding: 15px; color: #195d27; background: #e9f7eb; border: 1px solid #b7ddb9; border-radius: 10px; }
.success-note.show { display: block; }
.selected-helper-banner, .open-request-link { margin: 18px 0; padding: 16px; background: #eef7fb; border: 1px solid #c9e0eb; border-radius: 12px; }
.selected-helper-banner strong { display: block; color: var(--navy); font-size: 18px; }
.selected-helper-banner p { margin: 5px 0; color: var(--muted); }
.selected-helper-banner a, .open-request-link a { color: var(--green-dark); font-weight: 850; }

/* Guided customer request */
.request-form-layout { grid-template-columns: minmax(0, 1fr) 350px; }
.request-wizard { border: 2px solid #cfe3d3; box-shadow: 0 16px 38px rgba(9, 46, 78, .12); }
.request-wizard .request-intro { max-width: 760px; color: #435b70; font-size: 18px; line-height: 1.55; }
.request-step-badges { margin: 25px 0 16px; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; list-style: none; }
.request-step-badge { min-height: 73px; padding: 9px 7px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: #65778a; background: linear-gradient(#fff, #f1f5f7); border: 1px solid #d5e0e7; border-radius: 14px; text-align: center; box-shadow: inset 0 1px 0 #fff; }
.request-step-badge span { width: 30px; height: 30px; display: grid; place-items: center; color: #5d7084; background: #e8eef2; border-radius: 50%; font-size: 14px; font-weight: 950; }
.request-step-badge b { font-size: 14px; line-height: 1.15; }
.request-step-badge.is-active { color: #5d3a00; background: linear-gradient(145deg, #fff8be, #f5c34f); border: 2px solid #dfa91f; box-shadow: 0 8px 18px rgba(178, 124, 10, .22), inset 0 2px 0 rgba(255, 255, 255, .85); }
.request-step-badge.is-active span { color: #fff; background: #0b5f35; box-shadow: 0 0 0 4px rgba(255, 255, 255, .65); }
.request-step-badge.is-complete { color: #1f6732; background: linear-gradient(145deg, #f2fbf3, #dff2e3); border-color: #92c69c; }
.request-step-badge.is-complete span { color: #fff; background: #2f7d43; }
.request-wizard .request-step-label { margin-top: 13px; font-size: 18px; }
.request-wizard .progress { height: 11px; margin: 8px 0 20px; }
.request-wizard .progress span { background: linear-gradient(90deg, #2f7d43, #4da85e); transition: width .25s ease; }
.request-context { display: grid; gap: 9px; margin-bottom: 22px; }
.request-wizard .selected-helper-banner { margin: 0; padding: 13px 15px; display: grid; grid-template-columns: 39px minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.request-wizard .selected-helper-banner[hidden] { display: none; }
.request-wizard .selected-helper-banner.is-signed-in { background: #eff9f0; border-color: #acd4b3; }
.request-wizard .idea-request-banner { color: #654500; background: linear-gradient(125deg, #fffbe0, #fff 55%, #effaf1); border: 2px solid #f0c95b; box-shadow: 0 8px 18px rgba(152, 104, 3, .11), inset 0 2px 0 #fff; }
.request-wizard .idea-request-banner .banner-icon { color: #654500; background: linear-gradient(145deg, #fff6ad, #f3bd38); }
.banner-icon { width: 38px; height: 38px; display: grid; place-items: center; color: #fff; background: #1769aa; border-radius: 50%; font-size: 20px; font-weight: 950; box-shadow: 0 5px 12px rgba(9, 46, 78, .16); }
.is-signed-in .banner-icon { background: #2f7d43; }
.banner-copy { min-width: 0; }
.request-wizard .banner-copy strong { font-size: 17px; line-height: 1.25; }
.request-wizard .banner-copy>span { display: block; margin-top: 2px; color: #52687b; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.request-wizard .selected-helper-banner>a { white-space: nowrap; }
.request-wizard .selected-helper-banner>button { padding: 7px 10px; color: var(--green-dark); background: #fff; border: 1px solid #a9cbb0; border-radius: 8px; font-weight: 850; cursor: pointer; }
.request-wizard .form-section>h2 { margin-top: 7px; font-size: clamp(27px, 3.4vw, 35px); line-height: 1.12; }
.request-wizard .form-section>p { max-width: 760px; font-size: 17px; line-height: 1.5; }
.request-wizard .field label { font-size: 18px; }
.request-wizard .field input, .request-wizard .field select, .request-wizard .field textarea { min-height: 58px; padding: 14px 15px; border-width: 2px; border-radius: 12px; font-size: 18px; }
.request-wizard .field textarea { min-height: 125px; }
.wizard-shine-badge { position: relative; overflow: hidden; width: fit-content; max-width: 100%; padding: 7px 12px; display: inline-flex; align-items: center; gap: 6px; color: #684300; background: linear-gradient(145deg, #fff8b6 0%, #f5c34f 75%, #e7a928 100%); border: 1px solid #e2b13e; border-radius: 999px; box-shadow: 0 6px 15px rgba(163, 111, 3, .2), inset 0 2px 0 rgba(255, 255, 255, .8); font-size: 13px; font-weight: 950; letter-spacing: .045em; }
.wizard-shine-badge.blue { color: #06446f; background: linear-gradient(145deg, #eefaff, #90d7f5); border-color: #77bedf; }
.wizard-shine-badge.green, .wizard-shine-badge.ready { color: #145625; background: linear-gradient(145deg, #efffed, #9be0a5); border-color: #75bf82; }
.wizard-shine-badge.purple { color: #573474; background: linear-gradient(145deg, #fbf1ff, #d6adeb); border-color: #bd91d5; }
.wizard-shine-badge.light { color: #573a00; background: linear-gradient(145deg, #fffde2, #f4c958); }
.wizard-assurance { margin: 18px 0 0 !important; padding: 14px 16px; color: #1e6630 !important; background: #edf8ef; border: 1px solid #a9d2b0; border-radius: 12px; font-weight: 850; }
.wizard-assurance.privacy { color: #0b557f !important; background: #edf7fc; border-color: #b9d8e8; }
.request-wizard .wizard-primary, .request-wizard .wizard-submit { min-height: 58px; padding: 14px 24px; font-size: 18px; box-shadow: 0 8px 18px rgba(47, 125, 67, .22); }
.request-wizard .wizard-actions>.button { min-height: 58px; font-size: 17px; }
.request-wizard .help-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.request-wizard .check { min-height: 60px; padding: 13px 14px; align-items: flex-start; border-width: 2px; border-radius: 12px; font-size: 17px; font-weight: 760; line-height: 1.35; cursor: pointer; }
.request-wizard .check input { width: 24px; height: 24px; margin-top: 0; }
.request-wizard .check:has(input:checked) { color: #1e6630; background: #e6f6e8; border-color: #3d9451; box-shadow: inset 0 0 0 1px #fff, 0 5px 12px rgba(47, 125, 67, .12); }
.helper-mode-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.request-for-someone { margin: 20px 0; padding: 18px; border: 2px solid #c9dce7; border-radius: 16px; background: #f7fbfd; }
.request-for-someone legend { padding: 0 8px; color: var(--navy); font-size: 18px; font-weight: 900; }
.request-for-someone .helper-mode-choices { margin-top: 4px; }
.recipient-details { margin-top: 15px; padding-top: 15px; border-top: 1px solid #c9dce7; }
.helper-mode-card { cursor: pointer; }
.helper-mode-card input { position: absolute; opacity: 0; pointer-events: none; }
.helper-mode-card>span { min-height: 135px; padding: 20px; display: flex; flex-direction: column; justify-content: center; color: #25465f; background: linear-gradient(145deg, #fff, #f2f7fa); border: 3px solid #cad8e1; border-radius: 18px; box-shadow: 0 7px 16px rgba(9,46,78,.08); }
.helper-mode-card b { color: var(--navy); font-size: 22px; }
.helper-mode-card small { margin-top: 8px; font-size: 16px; line-height: 1.45; }
.helper-mode-card input:checked+span { color: #1e6630; background: linear-gradient(145deg, #effbed, #dff2e3); border-color: #3d9451; box-shadow: 0 9px 20px rgba(47,125,67,.17), inset 0 0 0 2px #fff; }
.helper-mode-card input:focus-visible+span { outline: 4px solid rgba(23,105,170,.28); outline-offset: 3px; }
.request-helper-picker { margin-top: 18px; padding: 18px; background: #eef7fb; border: 2px solid #b9d8e8; border-radius: 16px; }
.request-helper-picker[hidden] { display: none; }
.request-helper-picker h3 { margin: 0; color: var(--navy); font-size: 22px; }
.request-helper-picker>p { margin: 5px 0 14px; color: var(--muted); }
.request-helper-list { display: grid; gap: 10px; }
.request-helper-card { width: 100%; min-height: 86px; padding: 10px; display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 13px; color: var(--navy); background: #fff; border: 2px solid #c4d5df; border-radius: 14px; text-align: left; cursor: pointer; }
.request-helper-card img { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; }
.request-helper-card strong, .request-helper-card small { display: block; }
.request-helper-card strong { font-size: 19px; }
.request-helper-card small { margin-top: 3px; color: var(--muted); font-size: 14px; }
.request-helper-card>span:last-child { color: #1769aa; font-weight: 900; }
.request-helper-card.is-selected { color: #1e6630; background: #e8f7ea; border-color: #3d9451; box-shadow: inset 0 0 0 1px #fff; }
.more-help-choices, .optional-details { margin-top: 15px; border: 2px solid #cbdbe4; border-radius: 13px; background: #f8fbfd; }
.more-help-choices summary, .optional-details summary { min-height: 58px; padding: 14px 17px; display: flex; align-items: center; color: #0b4e7b; font-size: 17px; font-weight: 900; cursor: pointer; list-style: none; }
.more-help-choices summary::-webkit-details-marker, .optional-details summary::-webkit-details-marker { display: none; }
.more-help-choices .check-grid { padding: 0 15px 15px; }
.more-help-choices.always-open h3 { margin: 0; padding: 15px 17px 10px; color: #0b4e7b; font-size: 18px; }
.more-help-choices.always-open .check-grid { padding-top: 4px; }
.optional-details .form-section { margin: 0; padding: 20px 17px; border: 0; }
.location-choice-button { width: 100%; min-height: 58px; font-size: 17px; }
.review-section { padding: 25px; background: linear-gradient(145deg, #f5fcf4, #edf7fb); border: 2px solid #9acba3; border-radius: 18px; }
.request-review p:first-child { color: #123f66; background: #eaf5fb; border: 2px solid #89bdd8; font-size: 19px; }
.contact-section { margin-top: 22px; }
.signed-in-contact { margin: 14px 0 18px; padding: 17px; display: grid; gap: 5px; background: #eff9f0; border: 2px solid #9acba3; border-radius: 14px; }
.signed-in-contact[hidden] { display: none; }
.signed-in-contact strong { margin-top: 5px; color: var(--navy); font-size: 22px; }
.signed-in-contact>span:last-child { color: #52687b; font-size: 16px; overflow-wrap: anywhere; }
.has-signed-in-account .account-contact-fields { display: none; }
.optional-contact-fields { margin-top: 17px; }
.text-consent { align-items: center !important; font-weight: 650 !important; }
.request-guide ol { margin: 15px 0; padding: 0; display: grid; gap: 9px; list-style: none; counter-reset: guide-step; }
.request-guide li { counter-increment: guide-step; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 9px; color: #fff; }
.request-guide li:before { content: counter(guide-step); width: 32px; height: 32px; display: grid; place-items: center; color: #143e62; background: #f5cb5b; border-radius: 50%; font-weight: 950; }
.request-guide p { font-size: 16px; }

.community-intro { margin-bottom: 26px; padding: 34px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 30px; color: #fff; background: linear-gradient(120deg, var(--navy-deep), #176781); border-radius: 22px; }
.community-intro-photo { grid-template-columns:minmax(0,1.1fr) minmax(210px,.5fr) minmax(250px,.65fr); }
.community-intro-photo>img { width:100%; height:100%; min-height:210px; object-fit:cover; border-radius:16px; }
.community-intro h1 { margin: 7px 0 10px; font-size: clamp(37px, 5vw, 58px); line-height: 1.02; }
.community-intro p { margin: 0; color: #dceaf1; font-size: 18px; }
.community-intro aside { padding: 21px; align-self: center; background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.2); border-radius: 15px; }
.community-intro aside b, .community-intro aside span { display: block; }
.community-intro aside span { margin-top: 7px; color: #dceaf1; }
.community-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 25px; align-items: start; }
.customer-request-layout { grid-template-columns: 1fr 1fr; }
.community-left { display: grid; gap: 22px; }
.request-inspiration { overflow: hidden; display: grid; grid-template-columns: minmax(220px,.72fr) 1.28fr; background: #fff; border: 1px solid var(--line); border-radius: 19px; box-shadow: var(--shadow-small); }
.request-inspiration>img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.request-inspiration-copy { padding: 25px; }
.request-inspiration h2 { margin: 5px 0 7px; color: var(--navy); font-size: 28px; }
.request-inspiration p { margin: 0; color: var(--muted); }
.request-idea-buttons { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.request-idea-buttons button { min-height: 48px; padding: 9px 11px; color: var(--navy); background: #f3f8fa; border: 1px solid #cbdbe4; border-radius: 11px; cursor: pointer; font: inherit; font-size: 14px; font-weight: 800; text-align: left; }
.request-idea-buttons button:hover,.request-idea-buttons button:focus-visible { color: #fff; background: var(--green-dark); border-color: var(--green-dark); }
.request-inspiration aside { margin-top: 18px; padding: 14px; color: #40566a; background: #fff8df; border: 1px solid #ead58e; border-radius: 12px; font-size: 13px; line-height: 1.55; }
.request-inspiration aside b,.request-inspiration aside span { display: block; }
.community-board, .community-form { padding: 26px; background: #fff; border: 1px solid var(--line); border-radius: 19px; box-shadow: var(--shadow-small); }
.community-board-head { margin-bottom: 18px; display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.community-board h2, .community-form h2 { margin: 5px 0 5px; color: var(--navy); font-size: 29px; }
.community-board-head p, .community-form>p { margin: 0; color: var(--muted); }
.community-grid { display: grid; gap: 12px; }
.community-card { padding: 17px; display: grid; grid-template-columns: 45px 1fr auto; gap: 13px; align-items: center; background: #fbfdfe; border: 1px solid var(--line); border-radius: 13px; }
.community-icon { width: 43px; height: 43px; display: grid; place-items: center; background: #eaf5ee; border-radius: 12px; font-size: 23px; }
.community-card small { color: var(--green-dark); font-weight: 850; }
.community-card h3 { margin: 3px 0; color: var(--navy); font-size: 20px; }
.community-card p { margin: 0; color: var(--muted); font-size: 14px; }
.community-loading, .community-empty { padding: 30px; color: var(--muted); text-align: center; background: var(--soft); border-radius: 12px; }
.community-form { position: sticky; top: 96px; display: grid; gap: 15px; }
.community-form .field { gap: 5px; }
.community-form textarea { min-height: 120px; }
.community-check { align-items: start; }
.community-submit { width: 100%; }
.community-boundary { padding-top: 13px; border-top: 1px solid var(--line); font-size: 12px; }
.community-process { margin-top: 25px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.community-process>div { padding: 20px; display: grid; grid-template-columns: 38px 1fr; gap: 11px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.community-process b { width: 35px; height: 35px; display: grid; place-items: center; color: #fff; background: var(--green-dark); border-radius: 50%; }
.community-process strong, .community-process small { display: block; }
.community-process strong { color: var(--navy); }
.community-process small { margin-top: 4px; color: var(--muted); }

.vacation-main { max-width: 1500px; }
.vacation-header { margin-bottom: 24px; padding: clamp(25px, 4vw, 45px); display: grid; grid-template-columns: 1.35fr .65fr; gap: 32px; color: #fff; background: radial-gradient(circle at 85% 10%, rgba(93,188,104,.26), transparent 28%), linear-gradient(120deg, var(--navy-deep), #176781); border-radius: 24px; overflow: hidden; }
.vacation-header h1 { max-width: 870px; margin: 7px 0 12px; font-size: clamp(38px, 5vw, 65px); line-height: 1; }
.vacation-header p { max-width: 780px; margin: 0; color: #dceaf1; font-size: 19px; }
.vacation-header aside { padding: 22px; align-self: center; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); border-radius: 16px; }
.vacation-header aside b, .vacation-header aside span { display: block; }
.vacation-header aside span { margin-top: 7px; color: #dceaf1; }
.vacation-workspace { display: grid; grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr); gap: 24px; align-items: start; }
.vacation-form, .vacation-results, .vacation-plan { padding: 25px; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-small); }
.vacation-form { position: sticky; top: 94px; display: grid; gap: 17px; }
.vacation-form-title { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: start; }
.vacation-form-title>span { width: 40px; height: 40px; display: grid; place-items: center; color: #fff; background: var(--green-dark); border-radius: 50%; font-weight: 900; }
.vacation-form h2, .vacation-results h2, .vacation-plan h2 { margin: 0; color: var(--navy); font-size: 29px; }
.vacation-form-title p, .vacation-result-head p { margin: 4px 0 0; color: var(--muted); }
.vacation-interests { padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border: 0; }
.vacation-interests legend { margin-bottom: 7px; color: var(--navy); font-size: 15px; font-weight: 820; }
.vacation-interests label { position: relative; }
.vacation-interests input { position: absolute; opacity: 0; }
.vacation-interests span { min-height: 48px; padding: 11px; display: flex; align-items: center; background: #fbfdfe; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.vacation-interests input:checked+span { background: #eaf6ee; border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.vacation-interests input:focus-visible+span { outline: 3px solid rgba(23,105,170,.2); }
.request-step-label { margin-top: 20px; color: var(--navy); font-size: 16px; font-weight: 850; }
.request-step[hidden] { display: none !important; }
.request-step-error { margin: 14px 0 0; padding: 12px 14px; border: 1px solid #e5a99f; border-radius: 10px; background: #fff1ee; color: #8f3024; font-weight: 750; }
.wizard-actions { margin-top: 22px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.request-review { margin-top: 18px; display: grid; gap: 10px; }
.request-review p { margin: 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 11px; background: #fbfdfe; line-height: 1.5; }
.vacation-search { width: 100%; }
.vacation-form-note { margin: 0; color: var(--muted); font-size: 12px; }
.vacation-result-head { margin-bottom: 18px; display: flex; justify-content: space-between; align-items: start; gap: 15px; }
.vacation-idea-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vacation-idea { min-height: 150px; padding: 17px; display: flex; flex-direction: column; background: linear-gradient(145deg, #fbfdfe, #eff7f4); border: 1px solid var(--line); border-radius: 14px; }
.vacation-idea>span { color: var(--green-dark); font-size: 13px; font-weight: 850; }
.vacation-idea h3 { margin: 6px 0 17px; color: var(--navy); font-size: 20px; line-height: 1.2; }
.vacation-idea>div { margin-top: auto; display: flex; flex-wrap: wrap; gap: 7px; }
.vacation-idea a, .vacation-idea button { padding: 7px 9px; color: var(--navy); background: #fff; border: 1px solid #bfd0da; border-radius: 8px; font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; cursor: pointer; }
.vacation-idea button:disabled { color: var(--green-dark); background: #e7f4eb; cursor: default; }
.vacation-plan { margin-top: 24px; }
.vacation-plan-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.vacation-saved { margin-top: 17px; display: grid; gap: 9px; }
.vacation-saved>p { padding: 25px; color: var(--muted); background: var(--soft); border-radius: 12px; text-align: center; }
.vacation-saved-row { padding: 12px; display: grid; grid-template-columns: 34px 1fr auto; gap: 11px; align-items: center; border: 1px solid var(--line); border-radius: 11px; }
.vacation-saved-row>b { width: 32px; height: 32px; display: grid; place-items: center; color: #fff; background: var(--navy); border-radius: 50%; }
.vacation-saved-row strong, .vacation-saved-row small { display: block; }
.vacation-saved-row strong { color: var(--navy); }
.vacation-saved-row small { margin-top: 2px; color: var(--muted); }
.vacation-saved-row button { color: #9b3f31; background: transparent; border: 0; font-weight: 800; cursor: pointer; }
.vacation-help { margin-top: 22px; padding: 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #fff; background: linear-gradient(110deg, var(--navy), #176781); border-radius: 15px; }
.vacation-help b, .vacation-help span { display: block; }
.vacation-help span { margin-top: 4px; color: #dceaf1; }
.vacation-confidence { margin-top: 24px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.vacation-confidence>div { padding: 17px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.vacation-confidence b, .vacation-confidence span { display: block; }
.vacation-confidence b { color: var(--navy); }
.vacation-confidence span { margin-top: 4px; color: var(--muted); font-size: 14px; }
.vacation-band { margin-top: 35px; }
.destination-helper-panel { margin-top: 24px; padding: 19px; display: grid; gap: 13px; background: #eef7fb; border: 1px solid #c8e0eb; border-radius: 15px; }
.destination-helper-panel h3 { margin: 4px 0; color: var(--navy); font-size: 23px; }
.destination-helper-panel p { margin: 0; color: var(--muted); }
.destination-helper-panel>.button { width: fit-content; }
.destination-helper-list { display: grid; gap: 9px; }
.destination-helper-card { padding: 11px; display: grid; grid-template-columns: 54px 1fr auto; gap: 12px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.destination-helper-card img { width: 54px; height: 54px; object-fit: cover; border-radius: 50%; }
.destination-helper-card strong, .destination-helper-card span { display: block; }
.destination-helper-card strong { color: var(--navy); }
.destination-helper-card span { margin-top: 3px; color: var(--muted); font-size: 14px; }
.destination-demand { margin-top: 22px; padding: 18px; background: #fff8e7; border: 1px solid #ecd8a6; border-radius: 14px; }
.destination-demand h3 { margin: 4px 0 12px; color: var(--navy); font-size: 22px; }
.destination-demand>div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.destination-demand a { padding: 11px; color: inherit; background: #fff; border: 1px solid #ead9b0; border-radius: 10px; text-decoration: none; }
.destination-demand b, .destination-demand span { display: block; }
.destination-demand b { color: var(--navy); }
.destination-demand span { margin-top: 3px; color: var(--muted); font-size: 13px; }

.helper-travel-main { max-width: 1450px; }
.travel-earn-header { margin-bottom: 24px; padding: clamp(28px, 5vw, 55px); display: grid; grid-template-columns: 1.25fr .75fr; gap: 36px; color: #fff; background: linear-gradient(120deg, var(--navy-deep), #155b79 65%, #237b5a); border-radius: 24px; }
.travel-earn-header h1 { margin: 6px 0 12px; font-size: clamp(42px, 6vw, 70px); line-height: .98; }
.travel-earn-header p { max-width: 760px; margin: 0; color: #dceaf1; font-size: 19px; }
.travel-statuses { align-self: center; display: grid; gap: 10px; }
.travel-statuses span { padding: 12px; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); border-radius: 12px; }
.travel-statuses i { width: 32px; height: 32px; display: grid; place-items: center; color: var(--navy); background: #a9d96b; border-radius: 50%; font-style: normal; font-weight: 900; }
.travel-earn-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.travel-earn-form, .travel-assignments { padding: 26px; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-small); }
.travel-earn-form { display: grid; gap: 16px; }
.travel-earn-form h2, .travel-assignments h2 { margin: 5px 0; color: var(--navy); font-size: 31px; }
.travel-earn-form>p, .travel-assignment-head>p { margin: 0; color: var(--muted); }
.travel-offers { padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border: 0; }
.travel-offers legend { margin-bottom: 7px; color: var(--navy); font-size: 15px; font-weight: 820; }
.travel-offers label { position: relative; }
.travel-offers input { position: absolute; opacity: 0; }
.travel-offers span { min-height: 49px; padding: 11px; display: flex; align-items: center; background: #fbfdfe; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.travel-offers input:checked+span { background: #eaf6ee; border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.travel-offers input:focus-visible+span { outline: 3px solid rgba(23,105,170,.2); }
.travel-privacy { padding: 14px; background: #eef7fb; border-radius: 10px; font-size: 13px; }
.travel-request-list { margin-top: 18px; display: grid; gap: 10px; }
.travel-request-card { padding: 16px; display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; background: #fbfdfe; border: 1px solid var(--line); border-radius: 12px; }
.travel-request-card span { color: var(--green-dark); font-size: 13px; font-weight: 850; }
.travel-request-card h3 { margin: 4px 0; color: var(--navy); font-size: 20px; }
.travel-request-card p { margin: 0; color: var(--muted); font-size: 14px; }
.travel-assignment-head .button { margin-top: 16px; }
.travel-earn-rule { margin-top: 22px; padding: 20px; color: #fff; background: var(--navy); border-radius: 14px; }
.travel-earn-rule p { margin: 6px 0 0; color: #dceaf1; }

.choice-grid { margin-top: 26px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.choice { overflow: hidden; color: inherit; background: #fff; border: 2px solid var(--line); border-radius: 19px; text-decoration: none; box-shadow: var(--shadow-small); transition: transform .18s ease, border .18s ease; }
.choice:hover { transform: translateY(-3px); border-color: var(--green); }
.choice img { width: 100%; height: 225px; object-fit: cover; }
.choice>div { padding: 24px; }
.choice strong { display: block; color: var(--navy); font-size: 26px; }
.choice span { display: block; margin-top: 7px; color: var(--muted); }
.choice small { display: inline-block; margin-top: 13px; color: var(--green-dark); font-weight: 850; }

.login-layout { min-height: 690px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); }
.login-image { position: relative; }
.login-image img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.login-image>div { position: absolute; left: 25px; right: 25px; bottom: 25px; padding: 20px; color: #fff; background: rgba(6,40,69,.9); border-radius: 15px; }
.login-image h2 { margin: 0 0 5px; font-size: 29px; }
.login-image p { margin: 0; color: #dceaf1; }
.login-shell { width: min(470px, 100%); margin: auto; padding: 35px; }
.login-shell h1 { margin: 0 0 8px; text-align: center; font-size: 39px; color: var(--navy); }
.login-shell>p { margin: 0 0 24px; text-align: center; color: var(--muted); }
.apple { width: 100%; min-height: 50px; display: flex !important; align-items: center; justify-content: center; color: #fff; background: #111; border: 0; border-radius: 10px; font-weight: 850; cursor: pointer; }
.divider { margin: 20px 0; display: flex; align-items: center; gap: 12px; color: var(--muted); }
.divider:before, .divider:after { content: ""; height: 1px; flex: 1; background: var(--line); }

.profile-head { padding: 25px; display: grid; grid-template-columns: 230px 1fr 235px; gap: 28px; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); }
.profile-head>img { width: 230px; height: 270px; object-fit: cover; border-radius: 15px; }
.profile-head h1 { margin: 0; color: var(--navy); font-size: 41px; }
.rating { color: #936604; font-weight: 800; }
.rate-box { padding: 20px; background: var(--soft); border-radius: 14px; }
.rate-box strong { display: block; color: var(--green-dark); font-size: 35px; }
.rate-box strong small { font-size: 13px; }
.profile-gallery { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.profile-gallery img { width: 100%; height: 270px; object-fit: cover; border-radius: 17px; }
.shareable-work-profile { padding: clamp(24px, 4vw, 40px); background: linear-gradient(135deg, #eef7fb, #edf8ef); border: 1px solid #d1e4e8; border-radius: 22px; }
.shareable-work-profile>.grid { margin-top: 24px; }
.facts { display: grid; gap: 9px; }
.fact { padding: 10px 0; border-bottom: 1px solid var(--line); }
.fact:last-child { border: 0; }
.fact b { color: var(--navy); }

.faq details { margin: 10px 0; padding: 17px 20px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.faq summary { color: var(--navy); cursor: pointer; font-weight: 850; }
.faq p { color: var(--muted); }
.callout { padding: 24px; color: #fff; background: var(--navy); border-radius: 17px; }
.callout h2 { margin-top: 0; }
.cta-band { margin-top: 52px; padding: 30px; display: flex; align-items: center; justify-content: space-between; gap: 25px; color: #fff; background: linear-gradient(120deg, var(--navy), #176781); border-radius: 20px; }
.cta-band h2 { margin: 0 0 5px; font-size: 30px; }
.cta-band p { margin: 0; color: #dceaf1; }

/* Help at Home */
.home-help-page { max-width: 1320px; }
.home-help-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); gap:28px; align-items:stretch; }
.home-help-hero-copy { padding:clamp(30px,5vw,68px); color:#fff; background:radial-gradient(circle at 85% 10%,rgba(255,214,91,.25),transparent 28%),linear-gradient(135deg,#073d36,#147447 70%,#19915e); border-radius:28px; box-shadow:0 22px 55px rgba(8,58,49,.2); }
.home-help-hero-copy .eyebrow { color:#c9f6d2; }
.home-help-hero-copy h1 { margin:12px 0 18px; max-width:720px; font-size:clamp(44px,5.3vw,76px); line-height:.98; letter-spacing:-.045em; }
.home-help-hero-copy h1 span { color:#ffd65b; }
.home-help-hero-copy>p { max-width:670px; color:#effff4; font-size:20px; line-height:1.55; }
.home-help-hero-copy .actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.home-help-hero-copy .secondary { color:#fff; border-color:rgba(255,255,255,.65); background:rgba(255,255,255,.08); }
.home-help-cta { color:#17320f; background:linear-gradient(135deg,#fff09a,#ffc83e); box-shadow:0 8px 25px rgba(255,198,47,.27); }
.home-help-hero-photo { position:relative; min-height:480px; margin:0; overflow:hidden; border-radius:28px; box-shadow:var(--shadow); }
.home-help-hero-photo img { width:100%; height:100%; object-fit:cover; }
.home-help-hero-photo figcaption { position:absolute; right:20px; bottom:20px; left:20px; padding:17px 20px; color:#fff; background:rgba(5,48,75,.94); border:1px solid rgba(255,255,255,.2); border-radius:16px; }
.home-help-hero-photo figcaption b,.home-help-hero-photo figcaption span { display:block; }
.home-help-hero-photo figcaption b { margin-bottom:4px; font-size:20px; }
.home-help-promise { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:24px 0 42px; overflow:hidden; color:#fff; background:#285e78; border-radius:19px; box-shadow:var(--shadow); }
.home-help-promise>div { display:grid; grid-template-columns:48px 1fr; padding:23px; background:#073e60; }
.home-help-promise>div>span { grid-row:1/3; font-size:30px; }
.home-help-promise b,.home-help-promise small { display:block; }
.home-help-promise small { margin-top:4px; color:#d5e8ef; line-height:1.4; }
.home-help-planner { padding:clamp(20px,3vw,40px); background:linear-gradient(180deg,#fff,#f6fbf8); border:1px solid #bfdbc8; border-radius:28px; box-shadow:0 20px 55px rgba(14,72,50,.1); }
.home-help-planner-head { display:flex; justify-content:space-between; align-items:end; gap:28px; }
.home-help-planner-head h2 { margin:7px 0; color:var(--navy); font-size:clamp(34px,4vw,53px); line-height:1.04; letter-spacing:-.03em; }
.home-help-planner-head p { margin:0; color:var(--muted); font-size:18px; }
.home-help-for { flex:0 0 360px; padding:13px; background:#edf7f0; border:1px solid #c4dfcb; border-radius:16px; }
.home-help-for>span { display:block; margin:0 0 8px 5px; color:#416253; font-size:13px; font-weight:800; text-transform:uppercase; }
.home-help-for button { min-height:46px; padding:10px 13px; color:var(--navy); background:#fff; border:1px solid #cbd9d1; border-radius:11px; font-weight:800; cursor:pointer; }
.home-help-for button.active { color:#fff; background:var(--green); border-color:var(--green); box-shadow:0 5px 15px rgba(26,120,64,.2); }
.home-help-location { display:grid; grid-template-columns:1fr minmax(260px,380px); align-items:center; gap:24px; margin:28px 0; padding:19px 22px; background:#f0f7fb; border:1px solid #c8dce6; border-radius:16px; }
.home-help-location label span,.home-help-location label small { display:block; }
.home-help-location label span { color:var(--navy); font-size:18px; font-weight:850; }
.home-help-location label small { margin-top:3px; color:var(--muted); }
.home-help-location input { width:100%; min-height:52px; padding:0 15px; font:inherit; border:2px solid #9cbccc; border-radius:11px; }
.help-bundles { display:grid; grid-template-columns:1fr repeat(3,1.05fr); gap:12px; align-items:stretch; margin:0 0 28px; padding:20px; color:#fff; background:linear-gradient(110deg,#063b5c,#0c5674); border-radius:20px; }
.help-bundles .eyebrow { color:#93d6b0; }
.help-bundles h3 { margin:5px 0 0; font-size:24px; }
.help-bundles button { display:grid; grid-template-columns:42px 1fr; gap:2px 9px; padding:15px; text-align:left; color:var(--navy); background:linear-gradient(135deg,#fff,#ecf8f1); border:2px solid transparent; border-radius:14px; cursor:pointer; transition:.18s ease; }
.help-bundles button:hover { transform:translateY(-3px); border-color:#ffe071; box-shadow:0 8px 20px rgba(0,0,0,.18); }
.help-bundles button>span { grid-row:1/3; font-size:29px; }
.help-bundles button b,.help-bundles button small { display:block; }
.help-bundles button small { color:var(--muted); line-height:1.3; }
.help-category { margin:20px 0; padding:24px; background:#f0f8f2; border:1px solid #b9dbc3; border-radius:20px; }
.help-category-blue { background:#eef7fb; border-color:#b8d5e3; }
.help-category-gold { background:#fff9e9; border-color:#ebd397; }
.help-category-head { display:flex; gap:14px; align-items:center; margin-bottom:18px; }
.help-category-number { display:grid; place-items:center; flex:0 0 48px; height:48px; color:#fff; background:var(--green); border-radius:50%; font-size:22px; font-weight:900; box-shadow:0 5px 14px rgba(21,115,58,.22); }
.help-category-blue .help-category-number { background:#1676aa; }
.help-category-gold .help-category-number { color:#593f00; background:#ffd65b; }
.help-category-head h3 { margin:0; color:var(--navy); font-size:27px; }
.help-category-head p { margin:3px 0 0; color:var(--muted); }
.home-help-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.home-help-card { position:relative; display:flex; flex-direction:column; min-height:205px; padding:18px; text-align:left; color:var(--navy); background:#fff; border:2px solid #d2ded7; border-radius:16px; box-shadow:0 5px 14px rgba(14,50,37,.07); cursor:pointer; transition:.18s ease; }
.home-help-card:hover { transform:translateY(-4px); border-color:#79b98e; box-shadow:0 12px 24px rgba(14,70,44,.13); }
.home-help-card.selected { color:#fff; background:linear-gradient(145deg,#177441,#219b58); border-color:#ffdc67; box-shadow:0 0 0 3px rgba(255,216,91,.35),0 12px 24px rgba(20,99,55,.25); }
.home-help-card>span:nth-child(2) { display:flex; flex:1; flex-direction:column; }
.home-help-card b,.home-help-card small { display:block; }
.home-help-card b { margin:11px 0 7px; font-size:17px; line-height:1.2; }
.home-help-card small { color:var(--muted); line-height:1.42; }
.home-help-card.selected small { color:#e8fff0; }
.home-help-card>i { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:29px; height:29px; color:#527164; background:#edf4f0; border-radius:50%; font-style:normal; font-weight:900; }
.home-help-card.selected>i { color:#265013; background:#ffe071; }
.home-help-icon { font-size:32px; }
.home-help-picture-story { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:28px 0; }
.home-help-picture-story figure { position:relative; min-height:310px; margin:0; overflow:hidden; border-radius:20px; }
.home-help-picture-story img { width:100%; height:100%; object-fit:cover; }
.home-help-picture-story figcaption { position:absolute; right:14px; bottom:14px; left:14px; padding:15px 18px; color:#fff; background:rgba(5,48,75,.94); border-radius:13px; }
.home-help-picture-story figcaption b,.home-help-picture-story figcaption span { display:block; }
.home-help-picture-story figcaption b { font-size:20px; }
.home-help-picture-story figcaption span { margin-top:3px; color:#dcecf3; }
.home-help-custom { display:grid; grid-template-columns:48px 1fr auto; gap:14px; align-items:center; padding:22px; background:#fff; border:2px dashed #a9c9b3; border-radius:17px; }
.home-help-custom>span { font-size:32px; }
.home-help-custom h3,.home-help-custom p { margin:0; }
.home-help-custom h3 { color:var(--navy); }
.home-help-custom p { margin-top:4px; color:var(--muted); }
.home-help-custom button { min-height:48px; padding:10px 18px; color:#fff; background:var(--green); border:0; border-radius:12px; font-weight:850; cursor:pointer; }
.home-help-custom button.selected { color:#254b14; background:#ffe071; }
.home-help-summary { position:sticky; z-index:5; bottom:14px; display:grid; grid-template-columns:72px minmax(0,1fr) auto auto; gap:16px; align-items:center; margin-top:24px; padding:16px 18px; color:#18344a; background:linear-gradient(120deg,#fff4bd,#ffd65b); border:2px solid #e8b92e; border-radius:18px; box-shadow:0 12px 35px rgba(77,59,6,.24); }
.home-help-summary-count { text-align:center; }
.home-help-summary-count span { display:block; font-size:32px; font-weight:950; line-height:1; }
.home-help-summary-count small { font-size:11px; font-weight:800; text-transform:uppercase; }
.home-help-summary-main>b { display:block; font-size:18px; }
.home-help-summary-main>div { display:flex; gap:5px; flex-wrap:wrap; margin-top:5px; }
.home-help-summary-main>div span { padding:4px 7px; background:rgba(255,255,255,.66); border-radius:999px; font-size:12px; font-weight:700; }
.home-help-summary>button { color:#654c00; background:transparent; border:0; font-weight:800; cursor:pointer; }
.home-help-request { padding:14px 20px; color:#fff; background:#09663a; border-radius:12px; font-weight:900; text-decoration:none; white-space:nowrap; }
.home-help-request.disabled { color:#6c6c62; background:#e7e3cb; pointer-events:none; }
.home-help-boundary { display:grid; grid-template-columns:55px 1fr auto; gap:18px; align-items:center; margin-top:30px; padding:26px; background:#eef6fa; border:1px solid #bfd8e5; border-radius:20px; }
.home-help-boundary>span { font-size:38px; }
.home-help-boundary h2,.home-help-boundary p { margin:0; }
.home-help-boundary h2 { color:var(--navy); font-size:24px; }
.home-help-boundary p { margin-top:5px; color:var(--muted); line-height:1.5; }
.home-help-boundary a { color:#0b6640; font-weight:850; white-space:nowrap; }

@media (max-width: 1000px) {
  .home-help-hero { grid-template-columns:1fr; }
  .home-help-hero-photo { min-height:390px; }
  .home-help-grid { grid-template-columns:repeat(3,1fr); }
  .help-bundles { grid-template-columns:1fr 1fr 1fr; }
  .help-bundles>div { grid-column:1/-1; }
  .grid.four, .offer-matrix { grid-template-columns: 1fr 1fr; }
  .form-layout { grid-template-columns: 1fr; }
  .form-photo { position: static; display: grid; grid-template-columns: 280px 1fr; }
  .form-photo img { height: 100%; min-height: 220px; }
  .profile-head { grid-template-columns: 190px 1fr; }
  .profile-head>img { width: 190px; height: 220px; }
  .rate-box { grid-column: 1 / -1; }
  .community-layout { grid-template-columns: 1fr; }
  .request-inspiration { grid-template-columns: 1fr; }
  .request-inspiration>img { min-height: 260px; max-height: 360px; }
  .community-form { position: static; }
  .vacation-workspace { grid-template-columns: 1fr; }
  .vacation-form { position: static; }
  .vacation-confidence { grid-template-columns: 1fr 1fr; }
  .travel-earn-layout { grid-template-columns: 1fr; }
  .request-form-layout { grid-template-columns: 1fr; }
  .request-guide { position: static; }
}
@media (max-width: 800px) {
  .home-help-planner-head { align-items:stretch; flex-direction:column; }
  .home-help-for { flex:auto; }
  .home-help-location { grid-template-columns:1fr; gap:12px; }
  .home-help-promise { grid-template-columns:1fr; }
  .home-help-picture-story { grid-template-columns:1fr; }
  .home-help-summary { grid-template-columns:58px 1fr auto; }
  .home-help-summary>button { grid-column:1; }
  .home-help-request { grid-column:2/4; text-align:center; }
  .home-help-boundary { grid-template-columns:48px 1fr; }
  .home-help-boundary a { grid-column:2; }
  .page-hero, .split-flow, .truck-panel, .example-band, .login-layout { grid-template-columns: 1fr; }
  .page-photo { min-height: 360px; grid-row: 1; }
  .page-hero-copy { grid-row: 2; }
  .grid, .possibility-grid { grid-template-columns: 1fr 1fr; }
  .truck-panel img { min-height: 320px; }
  .login-image { min-height: 360px; }
  .login-layout { min-height: 0; }
  .profile-head { grid-template-columns: 1fr; }
  .profile-head>img { width: 180px; height: 205px; }
  .cta-band { align-items: start; flex-direction: column; }
  .community-intro, .community-intro-photo { grid-template-columns: 1fr; }
  .community-process { grid-template-columns: 1fr; }
  .vacation-header, .vacation-header-photo { grid-template-columns: 1fr; }
  .travel-earn-header, .travel-earn-header-photo { grid-template-columns: 1fr; }
  .vacation-header-photo>img, .travel-earn-header-photo>img { min-height:250px; max-height:360px; }
  .vacation-idea-grid { grid-template-columns: 1fr; }
  .payment-ready { align-items: stretch; flex-direction: column; }
  .local-ideas { grid-template-columns: 1fr 1fr; }
  .request-guide { display: none; }
}
@media (max-width: 600px) {
  .home-help-hero-copy { padding:30px 20px; }
  .home-help-hero-copy h1 { font-size:43px; }
  .home-help-hero-photo { min-height:320px; }
  .home-help-planner { padding:18px 12px; }
  .home-help-for button { width:100%; margin-top:6px; }
  .help-bundles { grid-template-columns:1fr; padding:15px; }
  .help-bundles>div { grid-column:auto; }
  .home-help-grid { grid-template-columns:1fr; }
  .home-help-card { min-height:0; display:grid; grid-template-columns:45px 1fr; }
  .home-help-card b { margin-top:0; }
  .home-help-custom { grid-template-columns:42px 1fr; }
  .home-help-custom button { grid-column:1/-1; }
  .home-help-summary { bottom:8px; grid-template-columns:52px 1fr; gap:9px; padding:12px; }
  .home-help-summary>button { display:none; }
  .home-help-request { grid-column:1/-1; }
  .home-help-picture-story figure { min-height:270px; }
  .home-help-boundary { padding:20px 15px; }
  .role-jump-links { display: grid; }
  .role-jump-links a { width: 100%; }
  .role-card-heading { padding: 18px; }
  .page-main { padding: 27px 12px 60px; }
  .page-hero { gap: 24px; }
  .page-hero-copy h1 { font-size: 42px; }
  .page-hero-copy>p { font-size: 18px; }
  .page-photo { min-height: 300px; }
  .grid, .grid.two, .grid.four, .offer-matrix, .choice-grid, .form-grid, .check-grid, .check-grid.two, .profile-gallery, .possibility-grid { grid-template-columns: 1fr; }
  .helper-possibilities { padding: 20px 14px; }
  .possibility-card img { height: 205px; }
  .example-band { padding: 15px; }
  .example-band ul { columns: 1; }
  .form-shell { padding: 22px 15px; }
  .form-shell h1 { font-size: 35px; }
  .request-step-badges { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .request-step-badge { min-height: 65px; padding: 7px 4px; }
  .request-step-badge b { font-size: 12px; }
  .request-step-badge span { width: 26px; height: 26px; }
  .request-wizard .selected-helper-banner { grid-template-columns: 38px 1fr; }
  .request-wizard .selected-helper-banner>a { grid-column: 1 / -1; width: 100%; padding-top: 8px; border-top: 1px solid #bfd5df; text-align: center; }
  .request-wizard .help-choice-grid { grid-template-columns: 1fr; }
  .helper-mode-choices { grid-template-columns: 1fr; }
  .request-helper-card { grid-template-columns: 56px minmax(0,1fr); }
  .request-helper-card img { width: 56px; height: 56px; }
  .request-helper-card>span:last-child { grid-column: 1 / -1; padding: 7px; background: #eef6fa; border-radius: 8px; text-align: center; }
  .request-wizard .wizard-actions { align-items: stretch; flex-direction: column; }
  .request-wizard .wizard-actions>.button, .request-wizard .wizard-actions>.cta { width: 100%; }
  .review-section { padding: 20px 14px; }
  .field.full { grid-column: auto; }
  .form-photo { display: block; }
  .form-photo img { height: 245px; }
  .form-actions { flex-direction: column-reverse; }
  .form-actions .button, .form-actions .cta { width: 100%; }
  .choice img { height: 190px; }
  .login-image { min-height: 290px; }
  .login-shell { padding: 28px 16px; }
  .profile-gallery img { height: 210px; }
  .community-intro, .community-board, .community-form { padding: 20px 15px; }
  .request-inspiration-copy { padding: 20px 15px; }
  .request-idea-buttons { grid-template-columns: 1fr; }
  .community-board-head { flex-direction: column; }
  .community-card { grid-template-columns: 42px 1fr; }
  .community-card .button { grid-column: 1 / -1; text-align: center; }
  .vacation-header, .vacation-form, .vacation-results, .vacation-plan { padding: 20px 15px; }
  .vacation-interests, .vacation-confidence { grid-template-columns: 1fr; }
  .destination-demand>div { grid-template-columns: 1fr; }
  .vacation-result-head, .vacation-plan-head, .vacation-help { align-items: stretch; flex-direction: column; }
  .vacation-help .button { text-align: center; }
  .travel-earn-header, .travel-earn-form, .travel-assignments { padding: 20px 15px; }
  .travel-offers { grid-template-columns: 1fr; }
  .travel-request-card, .destination-helper-card { grid-template-columns: 1fr; }
  .destination-helper-card img { width: 65px; height: 65px; }
  .policy-section { padding: 20px 15px; }
  .local-ideas { grid-template-columns: 1fr; }
}
