/* A shared, readable experience: clear actions, generous space, familiar photographs. */
:root { --go-ink:#102f47; --go-green:#196b35; --go-blue:#145b91; --go-gold:#ffcf55; --go-muted:#465d6d; }
html { scroll-padding-top:100px; }
body.easy-experience { font-size:1.125rem; color:var(--go-ink); background:#f7fafc; line-height:1.6; }
.easy-experience [hidden] { display:none!important; }
.easy-experience :is(button,input,select,textarea) { font-family:inherit; }
.easy-experience :is(p,.section-lead,.hero-intro,.page-lead) { line-height:1.65; }
.easy-experience :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:1.125rem; border:2px solid #93a8b8; border-radius:12px; min-height:54px; color:var(--go-ink); }
.easy-experience textarea { min-height:110px; }
.easy-experience input:is([type=checkbox],[type=radio]) { width:24px; height:24px; accent-color:var(--go-green); flex-shrink:0; }
.easy-experience :is(.field>label,.finder-label,fieldset legend,.check) { font-size:1.125rem; color:var(--go-ink); }
.easy-experience :is(.prototype,.finder-date label,.finder-date p,.location-status,.form-section>p,.account-banner .banner-copy span,.task-price-note) { font-size:1rem; color:var(--go-muted); }
.easy-experience :is(a,button,input,select,textarea,summary):focus-visible { outline:4px solid #1266ac; outline-offset:4px; }
.easy-experience :is(.button,.cta,.find-button,.location-button,.wizard-primary,.wizard-submit) { display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:13px 23px; font-size:1.125rem; font-weight:800; line-height:1.3; border-radius:14px; text-decoration:none; color:white; background:var(--go-green); border:1px solid #135b2c; border-bottom:4px solid #104d24; box-shadow:0 4px 0 #d5e4d9; cursor:pointer; transition:transform .12s,box-shadow .12s; }
.easy-experience :is(.button.secondary,.location-button) { color:var(--go-ink); background:#fff; border-color:#9bafbd; border-bottom-color:#8299aa; box-shadow:0 4px 0 #e4ebf0; }
.easy-experience :is(.button,.cta,.find-button,.location-button):active { transform:translateY(3px); box-shadow:none; }
.easy-experience :is(button,.button):disabled { opacity:.55; cursor:default; }
.easy-experience .site-header { background:#fff; padding-block:12px; border-bottom:1px solid #d7e2ea; }
.easy-experience .site-brand img { width:46px; height:46px; object-fit:contain; }
.easy-experience .site-nav a,.easy-experience .nav-more summary { font-size:1.0625rem; min-height:48px; }
.easy-experience .site-nav .signup { background:var(--go-green); border-radius:12px; border-bottom:3px solid #104d24; }
.easy-experience .mobile-dock a { min-height:50px; font-size:1rem; }
.easy-experience .eyebrow,.easy-experience .section-kicker { font-size:0.875rem; letter-spacing:.08em; }
.easy-experience .text-action { color:var(--go-green); font-weight:800; text-underline-offset:4px; }
.easy-experience .home-main { padding:0; }
.welcome-panel { max-width:1320px; margin:auto; padding:44px 32px 36px; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.welcome-panel h1 { font-size:clamp(42px,4.7vw,64px); line-height:1.08; letter-spacing:-.04em; margin:14px 0 18px; font-weight:850; }
.welcome-panel h1 span { color:var(--go-green); }
.welcome-copy>p { max-width:530px; font-size:1.3125rem; margin:0; }
.welcome-copy .welcome-note { margin-top:12px; font-size:1rem; color:var(--go-muted); }
.welcome-actions { display:grid; gap:17px; }
.welcome-path { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 26px; border-radius:20px; text-decoration:none; border:2px solid #104d24; border-bottom-width:6px; box-shadow:0 6px 0 #dae5dd; transition:transform .12s,box-shadow .12s; }
.welcome-path>span { display:grid; gap:4px; }
.welcome-path small { font-size:0.8125rem; font-weight:800; letter-spacing:.06em; }
.welcome-path b { font-size:1.625rem; line-height:1.25; }
.welcome-path span span { font-size:1rem; }
.welcome-path>strong { font-size:1.75rem; }
.customer-path { background:linear-gradient(#237d41,#196b35); color:#fff; }
.worker-path { background:linear-gradient(#fff0aa,#ffcf55); color:#3c2d06; border-color:#b68416; box-shadow:0 6px 0 #f0e5c8; }
.welcome-path:active { transform:translateY(4px); box-shadow:none; }
.map-shortcut { justify-self:center; font-weight:800; color:var(--go-blue); text-underline-offset:4px; min-height:42px; }
.photo-tasks { max-width:1320px; margin:auto; padding:26px 32px 34px; }
.section-intro { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.section-intro h2 { font-size:clamp(28px,3vw,38px); line-height:1.2; margin:7px 0 0; letter-spacing:-.025em; }
.section-intro p { font-size:1.0625rem; color:var(--go-muted); margin:0; }
.task-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.task-photo-card { overflow:hidden; border-radius:20px; border:1px solid #c9d8e1; border-bottom:4px solid #b5c9d6; background:white; color:var(--go-ink); text-decoration:none; box-shadow:0 5px 15px #173a4d0a; transition:transform .15s,border-color .15s; }
.task-photo-card>img { width:100%; height:172px; object-fit:cover; display:block; }
.task-photo-copy { display:grid; gap:5px; padding:17px 20px; }
.task-photo-copy>b { font-size:1.375rem; line-height:1.3; }
.task-photo-copy>span { font-size:1rem; line-height:1.55; color:var(--go-muted); }
.task-photo-copy>strong { color:var(--go-green); font-size:1.0625rem; display:flex; justify-content:space-between; margin-top:9px; }
@media(hover:hover) { .task-photo-card:hover { transform:translateY(-3px); border-color:var(--go-green); }.welcome-path:hover { filter:brightness(1.04); } }
.more-task-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:20px 28px; margin-top:26px; }
.booking-explainer { max-width:1256px; margin:0 auto 42px; padding:24px; border-radius:20px; background:#eaf2f7; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.booking-explainer>div { display:flex; align-items:center; gap:15px; }
.booking-explainer b { display:grid; place-items:center; width:45px; height:45px; flex-shrink:0; border-radius:50%; background:var(--go-ink); color:#fff; }
.booking-explainer strong,.booking-explainer small { display:block; }
.booking-explainer strong { font-size:1.125rem; }.booking-explainer small { font-size:0.9375rem; color:var(--go-muted); }
.local-discovery { max-width:1256px; margin:0 auto 36px; padding:28px; border:1px solid #cad9e3; border-radius:24px; background:white; }
.finder-disclosure { margin:0 0 24px; border:2px solid #b4c9d6; border-radius:16px; overflow:hidden; }
.finder-disclosure>summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; font-weight:800; padding:19px 22px; background:#f1f7fa; }
.finder-disclosure[open]>summary { border-bottom:1px solid #c9d8e1; }
.finder-disclosure .finder { border:0; box-shadow:none; max-width:none; margin:0; }
.easy-experience .home-map-panel { display:grid; grid-template-columns:1fr 1fr; gap:22px; scroll-margin-top:95px; }
.home-map-panel .map-section-heading,.home-map-panel .map-card { grid-column:1/-1; }
.easy-experience .home-map-panel .map-card:not(.expanded) { height:520px; }
.easy-experience .map-mode,.easy-experience .map-expand { font-size:1.0625rem; min-height:50px; }
.easy-experience #map-status { font-size:1rem; }.easy-experience .map-legend small { font-size:0.875rem; }
.easy-experience .home-map-panel .idea-launchpad { align-self:start; }
.easy-experience .home-map-panel .idea-launchpad p { font-size:1.0625rem; }
.easy-experience .home-map-panel .place-list { max-height:360px; }.easy-experience .place-chip { font-size:1.0625rem; }.easy-experience .place-chip small { font-size:0.9375rem; }
.easy-experience .idea-action b { font-size:1.0625rem; }.easy-experience .idea-action small { font-size:0.9375rem; }
.easy-experience .activity-card .idea-label { height:auto; min-height:0; background:none; display:block; padding:17px 20px 0; }
.easy-experience .idea-label .activity-badge { position:static; box-shadow:none; font-size:0.8125rem; padding:0; background:none; color:var(--go-green); }
.easy-experience .activity-card .activity-copy { padding-top:8px; }.easy-experience .activity-card .activity-copy strong { font-size:1.25rem; }.easy-experience .activity-card .activity-copy>span { font-size:1rem; }
.easy-experience .reveal { opacity:1!important; transform:none!important; }
.easy-experience .home-about { font-size:1.125rem; }
.easy-experience .request-form-layout { grid-template-columns:minmax(0,1fr) 270px; gap:26px; max-width:1280px; }
.easy-experience .request-wizard { padding:28px; scroll-margin-top:90px; }
.easy-experience .request-wizard>h1 { font-size:2.125rem; margin:0 0 10px; }
.easy-experience .request-wizard>.eyebrow { display:none; }
.easy-experience .request-intro { font-size:1.125rem; margin:0 0 18px; }
.easy-experience .request-step-badges { margin:20px 0 12px; }
.easy-experience .request-step-badge { min-height:64px; border-radius:12px; box-shadow:none; }
.easy-experience .request-step-badge b { font-size:1rem; }.easy-experience .request-step-label { font-size:1.0625rem; }
.easy-experience .request-step h2 { font-size:1.8125rem; line-height:1.3; margin:8px 0 10px; }
.easy-experience .photo-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:18px 0; }
.easy-experience .photo-check { display:flex; flex-direction:column; align-items:stretch; padding:0; gap:0; overflow:hidden; position:relative; border:2px solid #afc3d0; border-bottom-width:4px; border-radius:16px; background:#fff; }
.photo-check img { width:100%; height:105px; object-fit:cover; }
.photo-check>input { position:absolute; right:10px; top:10px; z-index:1; margin:0; box-shadow:0 0 0 4px white; }
.photo-check>span { display:block; padding:13px 12px; font-weight:800; font-size:1.0625rem; line-height:1.35; }
.photo-check:has(input:checked) { border-color:var(--go-green); background:#e9f6eb; }
.photo-check:has(input:focus-visible) { outline:4px solid #1266ac; outline-offset:4px; }
.easy-experience .more-help-choices { border:1px solid #aec2d0; border-radius:12px; padding:0; margin-top:20px; }
.more-help-choices>summary { font-weight:800; padding:15px 18px; cursor:pointer; }
.more-help-choices .check-grid { padding:0 16px 16px; }
.easy-experience .wizard-actions { padding-top:20px; position:sticky; bottom:0; background:#fffffff2; z-index:3; padding-bottom:12px; margin-top:14px; border-top:1px solid #dfE7ec; }
.easy-experience .wizard-primary { margin-left:auto; }
.easy-experience .request-guide { align-self:start; position:sticky; top:100px; }
.easy-experience .request-guide>img { height:180px; }
.easy-experience .request-guide h2 { font-size:1.5625rem; }.easy-experience .request-guide p { font-size:1.0625rem; }
.guide-support { display:inline-block; margin-top:14px; color:#fff; font-weight:800; text-underline-offset:4px; }
.easy-experience .request-guide li { font-size:1.0625rem; }
.easy-experience .request-context { margin:12px 0; }.easy-experience .account-banner { box-shadow:none; padding:14px; }
.easy-experience .helper-mode-card { min-height:100px; }.easy-experience .helper-mode-card b { font-size:1.25rem; }.easy-experience .helper-mode-card small { font-size:1.0625rem; }
.easy-experience .request-helper-card { min-height:100px; border:2px solid #a3bac9; border-bottom-width:4px; }.easy-experience .request-helper-card strong { font-size:1.375rem; }.easy-experience .request-helper-card small { font-size:1.0625rem; }
.helper-search-recovery { display:flex; flex-wrap:wrap; gap:15px; margin:18px 0; }
.helper-choice-about { margin-top:-9px; border:1px solid #afc3d0; border-radius:0 0 14px 14px; padding:0 18px 14px; background:#f3f8fb; }
.helper-choice-about>summary { min-height:48px; padding-block:12px; cursor:pointer; color:#145b91; font-weight:800; }
.helper-choice-about p,.helper-choice-about a { font-size:1rem; line-height:1.6; }.helper-choice-about p { margin:6px 0 14px; }.helper-choice-about a { color:#145b91; font-weight:800; text-underline-offset:4px; }
.easy-experience .request-helper-card .helper-choice-skills { color:#196b35; font-weight:700; }
.easy-experience .request-note { margin:18px 0; }.request-note label span { font-weight:400; }
.easy-experience .request-review p { font-size:1.125rem; padding:15px; }
.easy-experience .request-review p { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 14px; }
.request-review p>strong,.request-review p>span { grid-column:1; }
.review-change { grid-column:2; grid-row:1 / span 2; align-self:center; min-height:48px; padding:8px 13px; color:#145b91; background:#fff; border:1px solid #93adbf; border-bottom-width:3px; border-radius:10px; font-size:1rem; font-weight:800; cursor:pointer; }
.request-complete { align-self:start; scroll-margin-top:100px; }.request-complete h1 { font-size:clamp(1.875rem,4vw,2.5rem); line-height:1.2; margin:20px 0 12px; }.request-complete-mark { display:grid; place-items:center; width:66px; height:66px; background:#196b35; color:#fff; font-size:2.25rem; border-radius:50%; }.request-complete-next { font-size:1.25rem; font-weight:700; }
.request-complete-summary { border:1px solid #aec4d2; border-radius:16px; padding:6px 20px; margin:24px 0; background:#f0f7fb; }.request-complete-summary>div { padding:13px 0; border-bottom:1px solid #cadbe5; }.request-complete-summary>div:last-child { border-bottom:0; }.request-complete-summary dt { font-size:1rem; color:#465d6d; }.request-complete-summary dd { margin:3px 0 0; font-size:1.125rem; font-weight:800; overflow-wrap:anywhere; }.request-complete-followup h2 { font-size:1.5rem; }.request-complete-followup p { font-size:1.125rem; overflow-wrap:anywhere; }.request-complete-login { font-size:1rem; color:#465d6d; }.request-complete-links { display:flex; flex-wrap:wrap; gap:18px 25px; margin-top:24px; }
.request-complete { grid-column:1 / -1; width:100%; max-width:850px; margin-inline:auto; }
.request-form-layout:has(.request-complete:not([hidden])) .request-guide { display:none; }
.easy-experience #member-request-success { background:#fff1ee; color:#8e2e1f; border:2px solid #c47563; font-size:1.125rem; }
.easy-experience .booking-price-note { background:#fff4cf; color:#4e3c0a; padding:16px; border-radius:12px; font-size:1.0625rem; }
.easy-experience .form-section .check { min-height:54px; }
.easy-experience .request-wizard .form-actions { display:flex; gap:16px; flex-wrap:wrap; }
.easy-experience .wizard-shine-badge { font-size:0.875rem; }
@media(max-width:1050px) { .welcome-panel { gap:28px; }.welcome-path b { font-size:1.4375rem; }.easy-experience .request-form-layout { grid-template-columns:1fr; max-width:940px; }.easy-experience .request-guide { display:none; }.local-discovery { margin-inline:24px; }.booking-explainer { margin-inline:24px; } }
@media(max-width:720px) {
 .welcome-panel { padding:28px 20px 22px; grid-template-columns:1fr; gap:24px; }.welcome-panel h1 { font-size:2.6875rem; }.welcome-copy>p { font-size:1.25rem; }.welcome-actions { gap:15px; }.welcome-path { padding:19px; }.welcome-path b { font-size:1.4375rem; }
 .photo-tasks { padding:18px 20px 30px; }.section-intro { display:block; }.section-intro p { margin-top:10px; }.task-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.task-photo-card>img { height:135px; }.task-photo-copy { padding:14px; }.task-photo-copy>b { font-size:1.25rem; }.task-photo-copy>span { display:none; }.task-photo-copy>strong { font-size:1rem; }
 .booking-explainer { margin-inline:20px; grid-template-columns:1fr; gap:18px; padding:22px; }.local-discovery { margin-inline:16px; padding:17px; }.easy-experience .home-map-panel { grid-template-columns:1fr; }.home-map-panel>* { grid-column:1!important; }.easy-experience .home-map-panel .map-card:not(.expanded) { height:510px; }.easy-experience .map-controls-row { flex-wrap:wrap; }.easy-experience .map-mode-switch { flex:1; }.easy-experience .map-mode { font-size:1rem; }
 .easy-experience .page-main { padding-inline:14px; }.easy-experience .request-wizard { padding:19px; }.easy-experience .request-wizard>h1 { font-size:1.8125rem; }.easy-experience .request-step h2 { font-size:1.5625rem; }.easy-experience .photo-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.photo-check img { height:112px; }.photo-check>span { min-height:65px; }.easy-experience .request-step-badge { min-height:56px; padding:8px 3px; }.easy-experience .request-step-badge b { font-size:0.875rem; }.easy-experience .wizard-actions { bottom:0; }.easy-experience .site-header { gap:10px; padding-inline:16px; }.easy-experience .site-brand span { font-size:1rem; }.easy-experience .site-brand img { width:36px; height:36px; }.easy-experience .site-header>.button { font-size:1rem; padding:10px 12px; }
}
@media(max-width:380px) { .welcome-panel h1 { font-size:2.375rem; }.task-photo-copy { padding:12px; }.task-photo-copy>b { font-size:1.125rem; }.task-photo-copy>strong { font-size:0.9375rem; }.photo-check>span { font-size:1rem; }.easy-experience .request-wizard { padding:14px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

.worker-start-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; background:#102f47; color:white; padding:28px; border-radius:20px; margin:30px 0; }
.worker-start-strip b { font-size:1.25rem; }.worker-start-strip p { font-size:1.0625rem; color:#e3eef4; margin:8px 0 0; }
.simple-how-hero { max-width:780px; padding:28px 0 38px; }.simple-how-hero h1 { font-size:clamp(2.5rem,5vw,4rem); line-height:1.1; margin:14px 0 20px; }.simple-how-hero>p { font-size:1.25rem; }.simple-how-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }.simple-how-grid article { border:1px solid #c6d8e4; border-radius:20px; overflow:hidden; background:white; }.simple-how-grid img { width:100%; height:210px; object-fit:cover; }.simple-how-grid article>div { padding:23px; }.simple-how-grid h2 { font-size:1.5rem; line-height:1.3; margin:15px 0 12px; }.simple-how-grid article>div>span { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#196b35; color:white; font-weight:800; }.simple-how-grid p { font-size:1.125rem; }
.how-confirmation { margin:35px 0; padding:30px; border:2px solid #94b8cd; background:#eef6fa; border-radius:20px; }.how-confirmation h2,.how-questions h2,.how-final h2 { font-size:1.875rem; line-height:1.3; }.how-questions { max-width:900px; margin:40px 0; }.how-questions details { border-bottom:1px solid #b9cfdd; padding:18px 0; }.how-questions summary { font-size:1.25rem; font-weight:800; cursor:pointer; }.how-questions p { margin-top:14px; }.how-final { display:flex; gap:22px; flex-wrap:wrap; align-items:center; padding:30px; border-radius:20px; background:#fff0b4; }.how-final h2 { flex-basis:100%; margin:0; }
@media(max-width:760px) { .simple-how-grid,.worker-start-strip { grid-template-columns:1fr; }.simple-how-grid img { height:220px; }.simple-how-hero { padding:20px 0; } }

/* A brighter, human welcome with the booking action in the first screen. */
.bright-welcome { max-width:1320px; padding-top:32px; gap:32px 44px; }
.bright-welcome h1 { font-size:clamp(44px,5.4vw,76px); letter-spacing:-.045em; }
.bright-welcome h1 span { color:#1168a0; }
.bright-welcome .welcome-copy>p { font-size:1.25rem; }
.welcome-start { margin-top:24px; display:inline-flex; align-items:center; gap:30px; padding:18px 24px; min-height:64px; background:#ffcf55; color:#172e3b; font-size:1.25rem; font-weight:850; border-radius:16px; border-bottom:4px solid #c99120; text-decoration:none; box-shadow:0 8px 24px #b17f1820; }
.hero-quick-tasks { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.hero-quick-tasks a { padding:9px 13px; min-height:44px; border:1px solid #a9c7d8; border-radius:30px; font-size:1rem; color:#154963; background:white; text-decoration:none; font-weight:700; }
.bright-welcome .welcome-note { font-size:1rem; margin-top:18px; }
.welcome-photo { position:relative; border-radius:28px; overflow:hidden; align-self:stretch; min-height:420px; background:#0d344b; }
.welcome-photo>img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:50% 35%; }
.photo-caption { position:absolute; inset:auto 0 0; padding:90px 28px 26px; background:linear-gradient(transparent,#072c44e8 55%); color:white; }
.photo-caption>span { display:block; font-size:.875rem; letter-spacing:.08em; font-weight:700; color:#ffe090; }.photo-caption>b { display:block; font-size:1.75rem; line-height:1.25; margin-top:8px; }.photo-caption>a { display:inline-block; padding:12px 0 0; color:white; font-size:1.0625rem; font-weight:750; text-underline-offset:5px; }
.welcome-bottom { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:22px; padding:18px 22px; background:#e3f0f8; border-radius:16px; }
.earn-shortcut { display:flex; gap:28px; align-items:center; text-decoration:none; color:#103e59; }.earn-shortcut>span>span { display:block; font-size:1rem; }.earn-shortcut strong { color:#155a32; font-size:1.0625rem; }.welcome-bottom .map-shortcut { font-size:1rem; margin:0; align-content:center; }
.bright-welcome~.photo-tasks .task-photo-card { border-radius:18px; border-bottom-width:1px; box-shadow:0 6px 18px #123c4b0b; }.bright-welcome~.photo-tasks .task-photo-card>img { height:190px; }
.booking-price { margin:20px 0; border:2px solid #84b6ce; border-radius:18px; overflow:hidden; background:#f3f9fd; color:#102f47; }
.booking-price-head { padding:22px; background:#103e59; color:white; }.booking-price-head>span { display:block; font-size:1.0625rem; }.booking-price-head>strong { display:block; font-size:2.5rem; font-weight:850; line-height:1.2; margin-top:6px; overflow-wrap:anywhere; }.booking-price-head>small { display:block; font-size:1rem; margin-top:7px; color:#d5e7f1; }
.booking-price-body { padding:18px 22px; }.booking-price-body p { font-size:1rem; line-height:1.6; margin:0 0 14px; }.booking-price-body summary { cursor:pointer; font-size:1.0625rem; font-weight:800; min-height:44px; }.booking-price-breakdown-panel { margin:16px 0; padding:16px 18px; border:1px solid #aac4d2; border-radius:14px; background:#fff; }.booking-price-breakdown-panel>strong { display:block; color:#103e59; font-size:1.125rem; }.booking-price-breakdown { display:grid; gap:0; margin:10px 0 12px; }.booking-price-breakdown>div { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:10px 0; border-bottom:1px solid #dbe6ec; font-size:1rem; }.booking-price-breakdown dt { line-height:1.45; }.booking-price-breakdown dd { margin:0; font-weight:800; text-align:right; line-height:1.45; }.booking-price-breakdown .price-breakdown-total { margin-top:4px; padding-top:14px; border-top:2px solid #769daf; border-bottom:0; color:#164f30; font-size:1.125rem; }.booking-price-breakdown-panel>p:last-child { margin-bottom:0; color:#40596a; font-size:.9375rem; }.booking-price-body .price-accept { display:flex; align-items:flex-start; gap:12px; font-size:1.0625rem; line-height:1.5; border-top:1px solid #b5ccda; padding-top:16px; margin-top:14px; cursor:pointer; }.price-accept input { margin-top:3px; }.helper-total-preview { display:block; font-size:1.125rem!important; color:#145a32!important; font-weight:850; margin:7px 0; }.price-base-note { display:block; font-size:.9375rem; color:#526477; font-weight:500; }.booking-price-retry { min-height:48px; background:white; color:#145b91; border:1px solid #809bab; border-radius:10px; padding:10px 16px; font-size:1rem; cursor:pointer; }
@media(hover:hover) { .welcome-start:hover { background:#ffdb7d; transform:translateY(-2px); }.hero-quick-tasks a:hover { background:#e3f0f8; }.earn-shortcut:hover strong { text-decoration:underline; } }
@media(max-width:900px) { .welcome-bottom { flex-wrap:wrap; }.welcome-photo { min-height:400px; }.bright-welcome { gap:25px; } }
@media(max-width:720px) { .bright-welcome { padding-top:24px; grid-template-columns:minmax(0,1fr); }.bright-welcome h1 { font-size:3rem; }.welcome-start { width:100%; justify-content:space-between; }.welcome-photo { min-height:280px; }.photo-caption { padding:60px 22px 20px; }.photo-caption>b { font-size:1.5rem; }.welcome-bottom { padding:18px; }.earn-shortcut { flex-wrap:wrap; gap:10px; }.hero-quick-tasks { gap:8px; }.hero-quick-tasks a { font-size:.9375rem; }.bright-welcome~.photo-tasks .task-photo-card>img { height:140px; }.booking-price-head { padding:18px; }.booking-price-body { padding:17px; }.booking-price-head>strong { font-size:2.125rem; }.booking-price-breakdown-panel { padding:14px; }.booking-price-breakdown>div { gap:12px; }.booking-price-breakdown dt { max-width:58%; }.booking-price-breakdown dd { max-width:42%; } }
@media(prefers-reduced-motion:reduce) { .welcome-start,.hero-quick-tasks a { transition:none; transform:none!important; } }

/* Keep real place choices immediately below the map at every screen size. */
.easy-experience .home-map-panel>.live-places { grid-column:1 / -1; width:100%; min-width:0; }
.easy-experience .home-map-panel .live-places .place-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1000px) { .easy-experience .home-map-panel .live-places .place-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .easy-experience .home-map-panel .live-places .place-list { grid-template-columns:minmax(0,1fr); } }
/* Choose-your-day story: concrete ideas and real availability in one working surface. */
.help-story { max-width:1320px; margin:auto; padding:25px 32px 28px; }
.story-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:20px; }
.story-heading h1 { margin:7px 0 0; font-size:clamp(30px,3.5vw,47px); line-height:1.13; letter-spacing:-.035em; }.story-heading h1 span { color:#11669a; }
.story-ready { flex-shrink:0; display:flex; align-items:center; gap:12px; max-width:360px; padding:13px 17px; border:1px solid #99bdc9; background:#e7f2f8; border-radius:17px; text-decoration:none; color:#123e59; }.story-ready b,.story-ready small { display:block; }.story-ready b { font-size:1.0625rem; }.story-ready small { font-size:.875rem; line-height:1.4; margin-top:3px; }.ready-symbol { font-size:1.625rem; }.story-ready.has-ready-helpers { background:#d7f5c3; color:#195623; border-color:#7bbb6d; box-shadow:0 0 0 4px #d7f5c34a; }
.story-stage { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); border:1px solid #b9ccd7; border-radius:26px; overflow:hidden; background:white; box-shadow:0 18px 45px #0e3a5412; }
.story-visual { position:relative; min-height:510px; background:#163f54; overflow:hidden; }.story-visual>img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 35%; }.story-scene-copy { position:absolute; inset:auto 0 0; padding:95px 27px 27px; background:linear-gradient(transparent,#062e47f5 48%); color:white; }.story-scene-copy>span { color:#ffe39a; font-size:.875rem; font-weight:800; letter-spacing:.08em; }.story-scene-copy h2 { font-size:clamp(28px,3vw,40px); line-height:1.08; letter-spacing:-.025em; margin:10px 0; }.story-scene-copy p { margin:0; font-size:1.0625rem; color:#e3eff4; }.story-photo-note { position:absolute; top:16px; left:16px; background:#fffdf2ed; color:#23495b; padding:6px 11px; border-radius:22px; font-size:.875rem; font-weight:700; }
.story-choices { padding:22px; min-width:0; }.story-choose-heading { margin-bottom:14px; }.story-choose-heading b { font-size:1.25rem; }.story-choose-heading>span { display:block; font-size:1rem; color:#496272; }
.task-group-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.task-group-buttons button { min-height:50px; display:flex; justify-content:center; align-items:center; gap:7px; padding:9px 7px; border:1px solid #abc1ce; border-radius:12px; color:#24475c; background:#f1f6fa; font-size:1rem; line-height:1.3; font-weight:800; cursor:pointer; }.task-group-buttons button[aria-pressed=true] { background:#103e59; color:white; border-color:#103e59; box-shadow:0 3px 0 #091f30; }.task-group-buttons button>span { font-size:1.125rem; }
.story-task-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:17px; min-height:228px; align-content:start; }.story-task { display:grid; align-content:start; gap:5px; padding:14px; border:1px solid #d4e0e7; border-radius:13px; background:#f8fbfd; text-decoration:none; color:#123950; }.story-task>b { font-size:1.0625rem; line-height:1.25; }.story-task>span { font-size:.9375rem; line-height:1.4; color:#4b6170; }.story-task>strong { font-size:.9375rem; color:#176132; margin-top:3px; }.story-task:hover { background:#fff6d5; border-color:#d6af46; }
.story-options-footer { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:10px; }.story-options-footer p { margin:0; font-size:.875rem; color:#536777; }.story-options-footer button { min-height:44px; background:white; border:1px solid #a5bfce; border-radius:10px; padding:7px 13px; font-weight:800; font-size:1rem; color:#145e8f; cursor:pointer; }.story-scope { font-size:.875rem; line-height:1.5!important; margin:12px 0 0; color:#566976; }.story-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:15px 25px; margin-top:17px; }.story-bottom>a { font-size:1rem; color:#155d89; font-weight:800; min-height:44px; align-content:center; text-underline-offset:4px; }.story-bottom .story-earn { margin-left:auto; background:#ffda72; color:#4a3910; text-decoration:none; border-radius:12px; padding:11px 16px; }.story-earn b { margin-right:8px; }
.story-stage[data-story-group=holiday] .story-scene-copy { background:linear-gradient(transparent,#163d29f7 48%); }.story-stage[data-story-group=holiday] .story-task { background:#fff9e9; }
/* A compact set of choices replaces the long, hidden list on the first booking step. */
.easy-experience .request-wizard { padding:22px; }.easy-experience .request-wizard>h1 { font-size:1.875rem; }.easy-experience .request-intro { font-size:1rem; margin-bottom:12px; }.easy-experience .request-step-badges { margin:13px 0 9px; }.easy-experience .request-step-badge { min-height:48px; }.easy-experience .request-step-badge>span { width:26px; height:26px; font-size:.875rem; }.easy-experience .request-step-label { font-size:1rem; }.easy-experience .request-step h2 { font-size:1.625rem; }.easy-experience .request-wizard .progress { margin-bottom:14px; }.easy-experience .task-intro { font-size:1rem; margin:0 0 12px; }.booking-groups { margin:12px 0; }.task-search { display:flex; gap:12px; align-items:center; margin:12px 0; }.task-search>label { font-size:1rem; font-weight:800; white-space:nowrap; }.easy-experience .task-search input { width:100%; min-height:44px; padding:9px 12px; font-size:1rem; }.task-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.task-option { position:relative; display:flex; align-items:flex-start; gap:10px; min-height:87px; padding:14px; border:2px solid #c1d2dd; border-radius:13px; background:#f8fbfd; cursor:pointer; }.task-option input { position:absolute; inset:0; width:100%!important; height:100%!important; opacity:0; cursor:pointer; margin:0; }.task-option>span { flex:1; }.task-option b { display:block; font-size:1.0625rem; line-height:1.25; }.task-option small { display:block; margin-top:5px; color:#526979; font-size:.9375rem; line-height:1.35; }.task-option>i { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; border:1px solid #8ba5b7; color:#35556b; font-style:normal; font-size:1.125rem; flex-shrink:0; }.task-option:has(input:checked) { background:#fff4ca; border-color:#c59720; box-shadow:0 2px 0 #c59720; }.task-option:has(input:checked)>i { background:#1c6c32; color:white; border-color:#1c6c32; }.task-option:has(input:focus-visible) { outline:4px solid #1266ac; outline-offset:3px; }.task-scope { font-size:.875rem; color:#526979; margin:12px 0; }.task-selection-tray { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; padding-top:10px; border-top:1px solid #d3e0e8; }.task-selection-tray>b { font-size:1rem; color:#196535; }.task-selection-tray>div { display:flex; flex-wrap:wrap; gap:6px; flex-basis:100%; }.task-selection-tray button { min-height:38px; padding:7px 10px; border:1px solid #a6bccc; border-radius:10px; color:#244e67; background:white; font-size:.875rem; font-weight:700; cursor:pointer; }.task-selection-tray #task-something-else { margin-left:auto; order:-1; }.task-search-pages { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }.task-search-pages button { min-height:44px; padding:8px 12px; font-size:1rem; border:1px solid #acc2cf; background:white; color:#145e8f; border-radius:10px; cursor:pointer; }.task-search-pages span { font-size:.9375rem; }.task-empty { padding:15px; font-size:1rem; background:#fff3cf; border-radius:12px; }.request-wizard:not([data-current-step="5"]) .request-context { display:none; }.easy-experience .request-step .wizard-actions { margin-top:12px; padding-top:12px; }.easy-experience .request-step>.form-actions { position:sticky; bottom:0; z-index:4; background:#fffffff5; padding:13px 0; border-top:1px solid #bdced9; }
@media(max-width:1050px) { .story-heading { flex-wrap:wrap; gap:14px; }.story-ready { max-width:none; }.story-stage { grid-template-columns:minmax(0,.75fr) minmax(0,1fr); }.story-choices { padding:17px; }.story-scene-copy { padding:70px 20px 24px; }.story-scene-copy h2 { font-size:1.875rem; }.story-bottom .story-earn { margin-left:0; }.easy-experience .request-form-layout { max-width:1050px; } }
@media(max-width:720px) { .help-story { padding:20px 16px 23px; }.story-heading h1 { font-size:2rem; }.story-ready { width:100%; padding:10px 13px; }.story-ready b { font-size:1rem; }.story-ready small { font-size:.875rem; }.story-stage { display:flex; flex-direction:column; }.story-visual { min-height:180px; max-height:180px; order:2; }.story-visual>img { object-position:center 40%; }.story-scene-copy { padding:38px 18px 15px; background:linear-gradient(transparent,#062e47e8 40%); }.story-scene-copy h2 { font-size:1.5rem; margin:7px 0 0; }.story-scene-copy p,.story-photo-note { display:none; }.story-choices { padding:16px; }.story-choose-heading>span { font-size:.9375rem; }.story-task-grid { min-height:0; }.story-task { padding:12px; }.story-task>b { font-size:1rem; }.story-task>span { font-size:.875rem; }.task-group-buttons button { font-size:.9375rem; flex-wrap:wrap; gap:4px; }.story-bottom { gap:10px 18px; }.story-bottom .story-earn { width:100%; }.easy-experience .request-wizard { padding:16px; }.easy-experience .request-wizard>h1 { font-size:1.625rem; }.task-search { display:block; }.task-search label { display:none; }.task-option { padding:11px; min-height:95px; }.task-option>b { font-size:1rem; }.task-option small { font-size:.875rem; }.task-option>i { width:21px; height:21px; }.task-selection-tray>div { max-height:125px; overflow-y:auto; }.easy-experience .request-step-badge b { font-size:.875rem; }.easy-experience .request-step>.form-actions { gap:10px; }.easy-experience .request-step>.form-actions button { flex:1; padding-inline:10px; font-size:1rem; } }
.easy-experience .request-wizard>.request-intro { display:none; }
.easy-experience .request-step-badge { flex-direction:row; justify-content:center; align-items:center; gap:7px; padding:8px; min-height:44px; }
.task-selection-tray>div { max-height:85px; overflow-y:auto; }
@media(max-width:520px) { .easy-experience .request-step-badge { gap:4px; padding:7px 3px; }.easy-experience .request-step-badge>span { display:none; }.easy-experience .request-step-badge b { font-size:.875rem; } }

/* Relevant photos travel with each booking step, keeping the form in view. */
.booking-photo-heading { display:grid; grid-template-columns:minmax(0,1fr) 180px; align-items:center; gap:20px; margin:0 0 18px; }
.booking-photo-heading>div { min-width:0; }
.booking-photo-heading h1 { margin:0!important; }
.booking-photo-heading>img { display:block; width:100%; height:112px; object-fit:cover; border-radius:18px; box-shadow:0 6px 20px #10243b12; }
@media(max-width:600px) { .booking-photo-heading { grid-template-columns:minmax(0,1fr) 92px; gap:12px; } .booking-photo-heading>img { height:92px; border-radius:14px; } }
@media(max-width:360px) { .booking-photo-heading { grid-template-columns:minmax(0,1fr) 72px; } .booking-photo-heading>img { height:80px; } }

/* Build a plan with the satisfying clarity of a basket, never a purchase. */
.plan-basket { position:sticky; top:8px; z-index:8; margin:0 0 18px; padding:14px; border:2px solid #e2b543; border-radius:20px; background:linear-gradient(120deg,#fff9db,#ffedaa); color:#173b40; box-shadow:0 8px 22px #543d0014; text-align:left; }
.plan-basket-top { display:flex; align-items:center; gap:12px; }
.plan-basket-icon { position:relative; display:grid; place-items:center; flex:0 0 48px; height:48px; font-size:2rem; }
.plan-basket-icon b { position:absolute; right:-2px; top:-3px; min-width:23px; padding:3px; border-radius:50%; background:#176431; color:white; font:800 14px/1.2 sans-serif; text-align:center; }
.plan-basket-copy { flex:1; min-width:0; }.plan-basket-copy strong { display:block; font-size:1.25rem; }.plan-basket-status { display:block; font-size:.9375rem; line-height:1.35; margin-top:3px; }
.plan-basket-continue { min-height:46px; padding:10px 15px; border:0; border-radius:12px; background:#155d30; color:white; font-size:1rem; font-weight:800; cursor:pointer; }.plan-basket-continue:disabled { background:#d4d7c8; color:#50594e; cursor:default; }
.plan-basket-details { margin-top:9px; }.plan-basket-details summary { cursor:pointer; font-size:.9375rem; font-weight:700; min-height:32px; padding-block:5px; }.plan-basket-items { display:flex; flex-wrap:wrap; gap:6px; max-height:140px; overflow:auto; padding-block:6px; }.plan-basket-items button { min-height:44px; border:1px solid #9cc8a4; border-radius:10px; padding:8px 10px; background:white; color:#16492e; text-align:left; font:inherit; font-size:.9375rem; cursor:pointer; }.plan-basket>small { display:block; font-size:.875rem; margin-top:5px; }
.plan-flying-photo { position:fixed; display:grid; place-items:center; box-sizing:border-box; width:60px; height:60px; object-fit:cover; font-size:32px; background:linear-gradient(135deg,#fff9cf,#d7f4c7); border:3px solid white; border-radius:16px; z-index:10000; pointer-events:none; box-shadow:0 0 0 3px #ffcf5280,0 9px 28px #0b355855,0 0 24px #ffcf5266; will-change:transform,opacity; }
.plan-basket-receipt { position:fixed; z-index:9999; display:grid; justify-items:center; gap:3px; width:88px; box-sizing:border-box; padding:9px 5px 7px; border:2px solid #e2b543; border-radius:20px; background:linear-gradient(145deg,#fffef5,#ffedaa); box-shadow:0 7px 22px #173b4033; color:#173b40; pointer-events:none; }
.plan-basket-receipt .plan-basket-icon { display:grid; width:44px; height:44px; font-size:2rem; }
.plan-basket-receipt strong { font:800 14px/1.2 sans-serif; }
.plan-basket-spark { position:fixed; z-index:10001; width:8px; height:8px; border-radius:2px; pointer-events:none; }
.story-task-grid .story-task { grid-template-columns:56px minmax(0,1fr) 22px; align-items:center; align-content:center; gap:10px; cursor:pointer; text-align:left; font-family:inherit; min-height:92px; transition:background .18s,border-color .18s; }
.story-task>img { width:56px; height:64px; object-fit:cover; border-radius:10px; }.story-task-grid .story-task>strong { position:static; grid-column:auto; grid-row:auto; font-size:1.3rem; }
.story-task-grid .story-task.is-chosen { border:2px solid #258248; background:#e7f7e9; box-shadow:0 3px 12px #216e2920; }
.task-option .task-choice-photo { width:54px; height:64px; object-fit:cover; border-radius:10px; flex:0 0 54px; }.task-option { gap:10px; }
.task-selection-tray.has-plan-basket> b,.task-selection-tray.has-plan-basket>#task-selected-list { display:none; }.task-selection-tray.has-plan-basket { border:0; background:transparent; padding:0; }
.plan-basket button:focus-visible,.story-task:focus-visible { outline:3px solid #1769aa; outline-offset:3px; }
@media(max-width:600px) { .plan-basket { padding:11px; top:4px; }.plan-basket-top { gap:9px; flex-wrap:wrap; }.plan-basket-copy { flex-basis:calc(100% - 62px); }.plan-basket-continue { width:100%; min-height:44px; }.story-task-grid .story-task { grid-template-columns:42px minmax(0,1fr) 18px; gap:7px; padding:10px; }.story-task>img { width:42px; height:58px; }.task-option .task-choice-photo { width:40px; flex-basis:40px; height:54px; } }
@media(prefers-reduced-motion:reduce) { .story-task-grid .story-task { transition:none; } }
@media(max-width:520px) { .story-task-grid,.task-option-grid { grid-template-columns:minmax(0,1fr); }.story-task-grid .story-task { grid-template-columns:48px minmax(0,1fr) 24px; min-height:78px; }.story-task>img { width:48px; height:54px; }.task-option>span { min-width:0; } }

/* Twelve ideas per category, six per swipeable set. Selection stays in My plan. */
.story-task-grid.story-slider { position:relative; display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; min-height:0; padding:4px 3px 12px; scrollbar-width:thin; scrollbar-color:#258248 #dfebe7; }
.story-slider .story-slide { flex:0 0 100%; min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-content:start; scroll-snap-align:start; scroll-snap-stop:always; }
.story-slider .story-task { width:100%; min-width:0; height:100%; }.story-slider .story-task>b { overflow-wrap:anywhere; }
.story-slider:focus-visible { outline:3px solid #1769aa; outline-offset:3px; border-radius:8px; }
.story-options-footer #story-prev,.story-options-footer #story-more { min-height:44px; padding:8px 12px; border:1px solid #aac7c6; border-radius:10px; background:#edf8f2; color:#155b38; cursor:pointer; font-size:1rem; font-weight:800; }
.story-options-footer #story-prev:disabled,.story-options-footer #story-more:disabled { opacity:.45; cursor:default; }
.story-slider-control { display:flex; align-items:center; justify-content:flex-end; gap:14px; font-size:.9375rem; color:#45636b; margin:12px 0; }
.story-slider-control input { width:180px; max-width:50%; min-height:44px; accent-color:#1e7440; cursor:pointer; }
@media(max-width:520px) { .story-slider .story-slide { grid-template-columns:minmax(0,1fr); }.story-options-footer { flex-wrap:wrap; gap:8px; }.story-options-footer #story-options-status { order:3; width:100%; text-align:center; }.story-slider-control { justify-content:center; flex-wrap:wrap; gap:8px; } }

/* Places first: people choose an outing without needing to operate the map. */
.live-places { scroll-margin-top:20px; margin-bottom:22px; border:2px solid #badcc9; background:linear-gradient(135deg,#fff,#f1faf5); }
.nearby-discovery-actions { display:flex; flex-wrap:wrap; gap:12px; margin:14px 0; }.nearby-discovery-actions button { min-height:52px; border:0; border-radius:14px; padding:12px 20px; background:#176738; color:white; font-size:1.0625rem; font-weight:800; cursor:pointer; box-shadow:0 5px 15px #17673818; }.nearby-discovery-actions button:last-child { color:#614300; background:#ffe69a; }
.live-places .place-filters { display:flex; flex-wrap:wrap; gap:9px; }.live-places .place-filter { min-height:46px; padding:10px 15px; font-size:1rem; border-radius:12px; }.live-places .place-filter.active { background:#155e36; color:white; }
.live-places #place-list { display:grid; grid-auto-flow:column; grid-template-rows:repeat(2,minmax(145px,auto)); grid-auto-columns:minmax(220px,calc((100% - 32px)/3)); grid-template-columns:none; overflow-x:auto; gap:12px; scroll-snap-type:x proximity; padding:4px 3px 14px; scrollbar-width:thin; scrollbar-color:#23864a #e5eee9; }
.live-places #place-list .place-chip { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-width:0; min-height:145px; padding:16px; border:1px solid #bbd8cd; border-radius:16px; background:white; text-align:left; scroll-snap-align:start; box-shadow:0 3px 10px #0e57370a; }.live-places #place-list button.place-chip { cursor:pointer; }.live-places #place-list .place-chip.selected { border:2px solid #248329; background:#eaf7ea; }.place-card-icon { font-size:1.5rem; }.live-places .place-chip strong { font-size:1.0625rem; line-height:1.3; }.live-places .place-chip small { font-size:.9375rem; line-height:1.35; }.place-card-action { margin-top:auto; padding-top:5px; color:#176438; font-size:.9375rem; font-weight:800; }
.nearby-discovery-actions button:focus-visible,.live-places .place-chip:focus-visible { outline:3px solid #1769aa; outline-offset:3px; }
.live-places #place-list:has(.place-message) { display:block; }.live-places #place-list .place-message { min-height:90px; }
@media(max-width:600px) { .live-places #place-list { grid-auto-columns:82%; }.nearby-discovery-actions button { flex:1 1 100%; }.live-places .live-place-actions { flex-wrap:wrap; }.live-places .place-filters { display:grid; grid-template-columns:1fr 1fr; }.live-places .place-filter { text-align:left; } }

/* Short interaction feedback; content remains still and readable. */
.plan-basket { transition: border-color .25s, box-shadow .25s; }
.plan-basket.has-selections { border-color:#b18a1b; box-shadow:0 7px 22px #9d721e26; }
.story-task.is-chosen>strong,.task-option.is-chosen>i { animation:selection-check .32s ease-out; }
@keyframes selection-check { 0% { transform:scale(.6); } 65% { transform:scale(1.2); } 100% { transform:scale(1); } }
@keyframes available-ring { 0%,100% { box-shadow:0 0 0 3px #4ba34445; } 65% { box-shadow:0 0 0 9px #4ba34400; } }
.person-card.person-ready-now>img { outline:3px solid #478641; outline-offset:3px; animation:available-ring 2.5s ease-out 3; }
.story-ready.has-ready-helpers .ready-symbol { border-radius:50%; animation:available-ring 2.5s ease-out 3; }
#request-progress { transition:width .35s cubic-bezier(.2,.8,.2,1); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .photo-categories button img { transition:transform .3s ease-out; }
  .photo-categories button:hover img { transform:scale(1.035); }
  .plan-basket-continue:not(:disabled):hover { transform:translateY(-2px); }
}
@media(prefers-reduced-motion:reduce) {
  .story-task.is-chosen>strong,.task-option.is-chosen>i,.person-card.person-ready-now>img,.story-ready.has-ready-helpers .ready-symbol { animation:none!important; }
  .plan-basket,#request-progress { transition:none!important; }
}

/* Task-specific 3D artwork; square crops preserve the atlas cells at every size. */
.task-art { display:block; background-repeat:no-repeat; background-color:#fff; background-size:cover; background-position:center; border-radius:10px; flex-shrink:0; }
.story-task>.task-art { width:56px; height:56px; }
.task-option .task-choice-photo { width:54px; height:54px; flex-basis:54px; }
.task-art.plan-flying-photo { width:60px; height:60px; border-radius:16px; }
@media(max-width:600px) { .story-task>.task-art { width:42px; height:42px; }.task-option .task-choice-photo { width:40px; height:40px; flex-basis:40px; } }
@media(max-width:520px) { .story-task>.task-art { width:48px; height:48px; } }

/* Keep the local idea controls together beneath the Things to do section. */
.idea-launchpad-section .idea-launchpad { padding:20px; border-radius:20px; }
.idea-launchpad-section .idea-launchpad h3 { font-size:26px; letter-spacing:-.5px; }
.easy-experience .idea-launchpad-section .idea-launchpad p { font-size:1.0625rem; }
.idea-launchpad-section .idea-sparkle { width:40px; height:40px; font-size:30px; }
.idea-launchpad-section .idea-launch-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }

/* A selected place stays beside its cards, before the map. */
.home-map-panel > .idea-plan { grid-column:1/-1; margin:0; min-width:0; scroll-margin-block:100px; }
.home-map-panel > .idea-plan:focus-visible { outline:3px solid #1769aa; outline-offset:4px; }
.home-map-panel > .idea-plan .idea-plan-copy { min-width:0; overflow-wrap:anywhere; }
.home-map-panel > .idea-plan .idea-plan-copy > span { font-size:.875rem; }
.home-map-panel > .idea-plan .idea-plan-copy > strong { font-size:1.5rem; }
.home-map-panel > .idea-plan .idea-plan-copy > p { margin:6px 0 0; font-size:1rem; line-height:1.5; }
.home-map-panel > .idea-plan .idea-plan-primary,
.home-map-panel > .idea-plan .idea-plan-share { min-height:48px; font-size:1rem; white-space:normal; text-align:center; }
@media(max-width:600px) {
  .home-map-panel > .idea-plan { grid-template-columns:1fr; }
  .home-map-panel > .idea-plan .idea-plan-actions { display:flex; flex-wrap:wrap; }
  .home-map-panel > .idea-plan .idea-plan-primary { flex:1 1 100%; }
}

/* Original idea-card and pill layout, with color and whole-button selection. */
#ideas [data-tone="sky"] { --idea-wash:#def4ff; --idea-edge:#8ac8e5; --idea-accent:#145d7c; }
#ideas [data-tone="gold"] { --idea-wash:#fff0bc; --idea-edge:#dfc16b; --idea-accent:#77550d; }
#ideas [data-tone="rose"] { --idea-wash:#ffe3e9; --idea-edge:#e2a6b9; --idea-accent:#883958; }
#ideas [data-tone="violet"] { --idea-wash:#ece2ff; --idea-edge:#b8a1e1; --idea-accent:#603f97; }
#ideas [data-tone="teal"] { --idea-wash:#d2f5e8; --idea-edge:#83cdb3; --idea-accent:#16614e; }
#ideas [data-tone="blue"] { --idea-wash:#dfebff; --idea-edge:#9ebbe7; --idea-accent:#345b98; }
.easy-experience #ideas .activity-card { background:linear-gradient(145deg,var(--idea-wash),#fff 95%); border-color:var(--idea-edge); }
.easy-experience #ideas .activity-badge { color:var(--idea-accent); }
.easy-experience #ideas .activity-card>button { height:100%; }
.easy-experience #ideas .idea-cloud button { background:linear-gradient(135deg,var(--idea-wash),#fff); border-color:var(--idea-edge); transition:background .18s,border-color .18s; }
.easy-experience #ideas .activity-card.is-chosen,.easy-experience #ideas .idea-cloud button[aria-pressed="true"] { background:#17633b; border-color:#0e4e2b; color:#fff; box-shadow:0 0 0 2px #94d4a7,0 6px 14px #17633b26; }
.easy-experience #ideas .activity-card.is-chosen :is(.activity-badge,.activity-copy>strong,.activity-copy>span) { color:#fff; }
.easy-experience #ideas .activity-card>button:focus-visible { outline-offset:-5px; border-radius:14px; }
#discovery-plan { margin:24px 0 0; }
@media(prefers-reduced-motion:reduce) { .easy-experience #ideas .idea-cloud button { transition:none; } }
