:root{color-scheme:light;--ink:#28242a;--purple:#392052;--accent:#6f4c9b;--lavender:#e9ddf6;--paper:#fffaf3;--muted:#6d6274;--line:#dcd2e1;--gold:#ba8a35;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #a66ff0;outline-offset:3px}[hidden]{display:none!important}.site-header{max-width:1240px;margin:auto;min-height:78px;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line)}.brand{font-size:21px;font-weight:800;text-decoration:none;white-space:nowrap}.brand span{color:var(--accent)}nav{display:flex;gap:23px;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px;font-weight:700;color:#5e4b6d}nav a:hover,nav a[aria-current]{color:var(--purple);text-decoration:underline;text-underline-offset:6px}main{max-width:1240px;margin:auto;padding:0 28px 70px}.hero{padding:54px 0 36px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--accent)}h1{line-height:1.06;letter-spacing:-2px;margin:20px 0;font-size:clamp(38px,5vw,64px)}h1 em{font-style:normal;color:var(--accent)}.hero-copy{font-size:18px;line-height:1.6;color:var(--muted);margin:0}.hero.centered{text-align:center;max-width:920px;margin:auto;padding:70px 0 45px}.hero.centered h1{font-size:clamp(44px,6vw,78px);letter-spacing:-3px}.hero.centered .eyebrow{display:inline-block;background:var(--lavender);border-radius:40px;padding:11px 17px;letter-spacing:1px}.hero.centered h1 em{position:relative;white-space:normal}.hero.centered h1 em:after{content:'';display:block;width:100px;height:6px;background:#e0bc5a;border-radius:50%;margin:16px auto 0;transform:rotate(-3deg)}.hero.centered .hero-copy{max-width:620px;margin:auto}.hero.split{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:end;padding-top:76px}.hero.split h1{font-family:Georgia,'Times New Roman',serif;font-weight:500}.hero.split .hero-copy{max-width:430px;padding-bottom:14px}.hero.calendar-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:35px}.hero.calendar-intro h1{max-width:700px}.hero.calendar-intro .hero-copy{padding-bottom:9px}.choice-heading{text-align:center;font-size:17px;margin:12px 0 23px}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.choice{text-align:left;min-height:167px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px;display:flex;flex-direction:column;gap:15px;transition:transform .15s,border-color .15s}.choice:hover{transform:translateY(-2px);border-color:var(--accent)}.choice[aria-pressed=true]{background:#f7efff;border:2px solid var(--accent);padding:21px}.icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#f0e6fc;font-size:22px}.choice:nth-child(4n+2) .icon{background:#dff4ef}.choice:nth-child(4n+3) .icon{background:#fff1be}.choice:nth-child(4n) .icon{background:#e4d5f4}.choice strong{font-size:17px;line-height:1.3}.choice small{display:block;margin-top:7px;font-size:14px;line-height:1.45;color:var(--muted)}.subcategories{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.subcategories button,.filter-pill,.filters button{border:1px solid var(--line);background:white;border-radius:99px;padding:10px 17px;color:var(--ink)}.subcategories button[aria-pressed=true],.filters button[aria-pressed=true]{background:var(--purple);color:white}.hub-results{padding-top:24px}.reset{padding:8px 0;border:0;background:none;color:var(--accent);font-weight:800}.recommendations,.listings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:20px}.empty{grid-column:1/-1;border:1px dashed #d3c4de;border-radius:16px;padding:48px 20px;text-align:center;color:var(--muted);background:#fffdfb}.controls{border-top:1px solid var(--line);padding:28px 0 4px;display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center}.directory-search{grid-column:1/-1;width:100%;border:1px solid var(--line);border-radius:10px;background:white;padding:13px 16px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{font-size:14px}.controls select{padding:10px;border:1px solid var(--line);border-radius:9px;background:white}.count{font-size:14px;color:var(--muted)}.resource-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:17px}.card-art{height:125px;background:linear-gradient(125deg,#f2e9f9,#faf1de);border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;padding:18px;gap:12px}.art-platform{background:#fff9;padding:6px 10px;border-radius:20px;font-size:12px;font-weight:800}.art-note{color:#83718f;font-size:13px;align-self:end}.card-body{padding:22px}.status{display:inline-block;background:#e8dcf3;color:#52316e;border-radius:5px;padding:6px 9px;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:800}.resource-card h2{font-family:Georgia,'Times New Roman',serif;font-size:28px;line-height:1.12;margin:14px 0 10px;font-weight:500}.description{color:var(--muted);line-height:1.6;font-size:15px;min-height:48px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:19px 0}.fact{border-radius:8px;background:#f7f1f8;padding:12px}.fact strong{display:block;font-size:14px}.fact small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.perks{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 20px}.perks span{border-radius:30px;padding:7px 10px;font-size:12px;background:#f1e7f8;color:#5d3a79}.cta{display:block;text-align:center;background:var(--purple);color:white;border-radius:9px;padding:13px 18px;text-decoration:none;font-weight:800}.cta:hover{background:#61378b}.link-muted{color:var(--muted);font-size:13px}.promotion-options{border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:10px}.promotion-options summary{cursor:pointer;padding:14px 18px;color:var(--purple);font-weight:800}.options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 14px 14px}.opportunity-detail{border:1px solid var(--line);border-radius:11px;padding:18px;background:#fffdfb}.opportunity-detail h3{font-size:18px;margin:13px 0}.opportunity-detail p{line-height:1.55;color:var(--muted);font-size:14px}.opportunity-detail dl{margin:0}.opportunity-detail dl div{border-top:1px solid #eee5ef;padding:10px 0}.opportunity-detail dt{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:800}.opportunity-detail dd{margin:5px 0 0;font-size:14px;line-height:1.5}.text-cta{display:inline-block;color:var(--purple);font-weight:800;margin-top:13px}.jump-today{display:block;margin:-4px 0 20px auto;border:0;background:var(--purple);color:white;border-radius:30px;padding:13px 19px;font-weight:800}.calendar-wrap{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:white;box-shadow:0 10px 25px #2e17380b}.month-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:linear-gradient(110deg,#efddf8,#fcf0db);padding:20px 24px}.month-toolbar h2{text-align:center;margin:0;font-size:26px}.month-arrow{width:42px;height:42px;border:1px solid #e1d6e2;border-radius:50%;background:white;color:var(--purple);font-size:27px;line-height:1}.month-arrow:last-child{justify-self:end}.calendar-scroll{overflow-x:auto}.calendar-grid{min-width:790px}.weekdays,.dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{background:#f3edf5}.weekdays span{text-align:center;text-transform:uppercase;font-size:11px;letter-spacing:1px;font-weight:800;padding:16px 4px}.date-cell{min-height:122px;border-top:1px solid #ebe3ec;border-right:1px solid #ebe3ec;padding:10px 6px;position:relative;min-width:0}.date-cell:nth-child(7n){border-right:0}.date-cell.outside{background:#fcf9fb}.date-cell.today{background:#fff4cb;box-shadow:inset 0 0 0 2px #d9b45e}.date-number{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;font-size:13px;font-weight:800}.today .date-number{background:#e2bf52}.today-label{position:absolute;right:6px;top:16px;font-size:10px;letter-spacing:1px;color:#8a5d2a;font-weight:800}.event-chip{display:block;width:100%;margin-top:5px;padding:7px 6px;text-align:left;background:#eee3f8;color:#4b2673;border:0;border-left:3px solid #8a58b5;border-radius:6px;font-size:12px;line-height:1.25;font-weight:800;overflow-wrap:anywhere}.event-chip.shared{background:#fff0bc;color:#6d501b;border-left-color:#c69a34}.event-chip:hover,.event-chip[aria-pressed=true]{filter:brightness(.92);text-decoration:underline}.legend{display:flex;flex-wrap:wrap;gap:18px;padding:17px 0 28px;font-size:12px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:11px;height:11px;border-radius:3px}.legend i.purple{background:#8a58b5}.legend i.gold{background:#c69a34}.legend i.today{background:#e2bf52}.mobile-hint{display:none}.details-lead{color:var(--muted);line-height:1.6}.spot-card{border:1px solid var(--line);border-radius:17px;background:white;padding:24px;margin-top:18px}.spot-card h3{font-family:Georgia,serif;font-size:31px;font-weight:500;margin:12px 0}.spot-date{color:var(--muted)}.spot-opportunities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.participant-name{display:block;margin-bottom:12px}.fine-print{font-size:13px;color:var(--muted)}footer{max-width:1240px;margin:auto;border-top:1px solid var(--line);padding:25px 28px 35px;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:13px}footer a{font-weight:800;color:var(--purple)}.error{padding:25px;background:#f1e8fa;border:1px solid #77569d;border-radius:12px}@media(max-width:900px){.choices{grid-template-columns:repeat(2,minmax(0,1fr))}.hero.split,.hero.calendar-intro{grid-template-columns:1fr;gap:8px}.hero.split .hero-copy,.hero.calendar-intro .hero-copy{max-width:700px}.site-header{align-items:flex-start;flex-direction:column}nav{gap:15px}}@media(max-width:600px){main{padding:0 17px 45px}.site-header{padding:17px;gap:14px}nav a{font-size:13px}.hero{padding:33px 0 24px!important}.hero.centered h1{font-size:42px;letter-spacing:-1.5px}.hero-copy{font-size:16px}.choices,.recommendations,.listings,.options-grid,.spot-opportunities{grid-template-columns:1fr}.choice{min-height:0;flex-direction:row;align-items:center;padding:16px}.choice[aria-pressed=true]{padding:15px}.icon{flex:none}.controls{grid-template-columns:1fr}.controls select{justify-self:start}.calendar-grid{min-width:840px}.mobile-hint{display:block;font-size:13px;color:var(--muted)}.month-toolbar h2{font-size:21px}.date-cell{min-height:112px}.spot-card{padding:18px}footer{padding:23px 17px;display:block}footer span{display:block;margin-top:12px}}
.subcategories .subheading{flex-basis:100%;font-size:16px;margin:0 0 3px}.subcategories .topic-choice{font-size:15px}.subcategories .topic-choice:hover{border-color:var(--accent)}.result-heading{font-size:23px;margin:18px 0 8px}.hub-result-card{border:1px solid var(--line);border-radius:16px;background:white;padding:22px}.hub-result-card h3{font-size:22px;margin:12px 0}.hub-result-card p{line-height:1.5;color:var(--muted);margin:0 0 18px}.hub-result-card .cta{display:inline-block}.mapping-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto minmax(180px,2fr) 75px;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.mapping-row label{white-space:nowrap}.mapping-row input[type=text],.mapping-row input[type=number],.mapping-row .mapping-copy{min-width:0;width:100%;padding:9px;border:1px solid var(--line);border-radius:8px}.mapping-row strong{font-size:14px}#mapping-resource{padding:9px;margin:8px;border:1px solid var(--line);border-radius:8px}@media(max-width:750px){.mapping-row{grid-template-columns:1fr 1fr}.mapping-row strong,.mapping-row .mapping-copy{grid-column:1/-1}}
#income-profile{max-width:700px}#income-profile>label{display:block;margin:16px 0;font-weight:700}#income-profile select{display:block;min-width:230px;padding:10px;margin-top:7px;border:1px solid var(--line);border-radius:8px;background:#fff}#income-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}#income-categories p{grid-column:1/-1;margin:0;font-weight:700}#income-categories label{font-size:14px}@media(max-width:600px){#income-categories{grid-template-columns:1fr}}

/* Promo Lounge color direction: deep purple anchors, lavender selections, restrained gold. */
.choice:nth-child(4n+2) .icon{background:#e9ddf6}
.choice:nth-child(4n+3) .icon{background:#fff0bf}
.choice:nth-child(4n) .icon{background:#e4d5f4}
.choice[aria-pressed=true]{background:#f0e7fa;border-color:var(--purple)}
.subcategories button[aria-pressed=true],.filters button[aria-pressed=true]{background:var(--lavender);border-color:var(--accent);color:var(--purple);font-weight:800}
.hub-result-card{background:var(--purple);border-color:var(--purple);color:var(--paper);box-shadow:0 9px 22px #39205221}
.hub-result-card h3{color:var(--paper)}
.hub-result-card p{color:#eee4f4}
.hub-result-card .status{background:var(--lavender);color:var(--purple)}
.hub-result-card .cta{background:var(--lavender);color:var(--purple)}
.hub-result-card .cta:hover{background:#f7efff}
.hub-result-card .link-muted{color:#eee4f4}
footer{max-width:none;margin:0;background:var(--purple);border-top:0;color:#f7f0fc;padding:30px max(28px,calc((100vw - 1184px)/2))}
footer a{color:#f5d77a}
@media(max-width:600px){footer{padding:23px 17px}}

/* Guided Hub: a distinct, editorial step after each choice. */
.hero.hub-chooser,.hero.hub-selected{padding:48px 0 30px}
.hero.hub-chooser h1,.hero.hub-selected h1{font-size:clamp(40px,5vw,65px)}
.topic-stage,.hub-results{max-width:1080px;margin:0 auto;padding:0 0 42px}
.topic-stage .reset,.hub-results .reset{color:var(--purple);text-align:left}
.topic-heading{font-family:Georgia,'Times New Roman',serif;font-size:clamp(27px,3vw,36px);font-weight:500;margin:26px 0 18px}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.topic-grid .topic-choice{min-height:100px;width:100%;display:flex;align-items:center;gap:14px;text-align:left;border:1px solid #d9cbe4;border-radius:17px;background:#fff;padding:21px;color:var(--purple);box-shadow:0 4px 14px #3920520b;transition:transform .18s,border-color .18s,box-shadow .18s}
.topic-grid .topic-choice:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 12px 24px #3920521a}
.topic-grid .topic-choice strong{font-size:18px;line-height:1.25}
.topic-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--lavender);color:var(--purple);font-size:19px}
.topic-grid .topic-choice:nth-child(3n+2) .topic-icon{background:#f8e8b1}
.result-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px}
.other-topic{border:1px solid #cbb5e3;background:var(--lavender);border-radius:99px;padding:10px 16px;color:var(--purple);font-size:14px;font-weight:800}
.other-topic:hover{background:#ddcaf2}
.result-intro{max-width:680px;padding:30px 0 8px}
.result-intro .eyebrow{color:var(--purple)}
.result-heading{font-family:Georgia,'Times New Roman',serif;font-size:clamp(31px,4vw,45px);font-weight:500;letter-spacing:-.6px;line-height:1.1;margin:10px 0}
.result-lead{font-size:16px;line-height:1.55;color:var(--muted);margin:0}
.hub-results .recommendations{gap:16px;margin-top:21px}
.hub-result-card{min-height:245px;display:flex;flex-direction:column;justify-content:space-between;padding:25px 28px;border-radius:20px;background:linear-gradient(145deg,#392052,#4a2b6a);box-shadow:0 12px 26px #39205224;transition:transform .18s,box-shadow .18s}
.hub-result-card:hover{transform:translateY(-3px);box-shadow:0 17px 34px #39205233}
.hub-result-card.featured-match{grid-column:1/-1;min-height:245px;background:linear-gradient(120deg,#392052 20%,#62398a)}
.recommendation-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.recommendation-number{font-size:15px;color:#e2c477;font-weight:800;letter-spacing:1px;margin-right:4px}
.best-match,.recommendation-type{display:inline-block;border-radius:99px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.best-match{background:#f4d677;color:#3c2a11}
.recommendation-type{background:#e9ddf6;color:#392052}
.recommendation-content{padding:18px 0 22px}
.hub-result-card h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,2.8vw,35px);font-weight:500;line-height:1.12;margin:0 0 12px;color:#fffaf3}
.hub-result-card p{font-size:15px;line-height:1.55;max-width:650px;color:#f1eaf5;margin:0}
.recommendation-action .cta,.hub-route-card .cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:10px;background:#e9ddf6;color:#392052;font-size:14px;font-weight:800}
.recommendation-action .cta:hover,.hub-route-card .cta:hover{background:#f3eafd}
.hub-route-card{min-height:220px;display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #d9cbe4;border-radius:19px;padding:26px;box-shadow:0 8px 22px #39205210}
.hub-route-card .route-kicker{font-size:11px;letter-spacing:1.3px;font-weight:800;color:var(--accent)}
.hub-route-card h3{font-family:Georgia,'Times New Roman',serif;font-size:28px;font-weight:500;line-height:1.14;color:var(--purple);margin:14px 0 8px}
.hub-route-card p{color:var(--muted);line-height:1.5;margin:0 0 20px}
.hub-route-card .cta{margin-top:auto;background:var(--purple);color:#fff}
.hub-route-card .cta:hover{background:#61378b}
.hub-results .empty{padding:42px 24px;background:#fff;border-color:#cdb8dc;color:var(--purple)}
@media(max-width:900px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hero.hub-chooser,.hero.hub-selected{padding:30px 0 22px!important}.topic-grid{grid-template-columns:1fr;gap:10px}.topic-grid .topic-choice{min-height:67px;padding:15px 17px}.topic-stage,.hub-results{padding-bottom:28px}.hub-results .recommendations{grid-template-columns:1fr;gap:12px}.hub-result-card,.hub-result-card.featured-match{grid-column:auto;min-height:0;padding:22px;border-radius:17px}.hub-result-card h3{font-size:27px}.recommendation-content{padding:18px 0}.recommendation-action .cta{width:100%}.result-intro{padding:23px 0 6px}.result-heading{font-size:34px}.hub-route-card{min-height:190px;padding:22px}}
.filters select{border:1px solid var(--line);background:#fff;border-radius:99px;padding:10px 17px;color:var(--ink);max-width:100%}
.resource-card .perks{margin:16px 0}
.earning-label{display:block;color:var(--purple);font-size:14px;margin:17px 0 5px}
.earning-summary,.promotion-note{font-size:14px;line-height:1.45;color:var(--muted);margin:3px 0 15px}
.secondary-link{display:inline-block;margin-left:15px;color:#f3dfae;text-decoration:underline;text-underline-offset:3px;font-size:14px;font-weight:800}
.secondary-link:hover{color:#fff}
@media(max-width:600px){.filters select{width:100%}.secondary-link{display:block;margin:14px 0 0;text-align:center}}
.event-chip{padding:6px;margin-top:4px;font-size:11px;line-height:1.18;text-decoration:none}.event-chip .chip-title{display:block}.event-chip .chip-badge{display:block;margin-top:3px;font-size:10px;font-weight:700;color:#63477f}.event-chip:hover{text-decoration:none;background:#e4d2f4}.event-chip:focus-visible{outline-offset:1px}.event-chip.unavailable{opacity:.6;cursor:default}
.weekend-party-trigger .chip-badge{color:#6d501b}.weekend-party-popover{position:fixed;inset:auto;margin:0;width:min(340px,calc(100vw - 24px));max-height:min(440px,calc(100vh - 24px));overflow:auto;padding:16px;background:var(--paper);color:var(--ink);border:1px solid #c4acd9;border-radius:15px;box-shadow:0 18px 50px #26143838;z-index:1000}.party-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.party-top h3{font-family:Georgia,serif;font-size:22px;line-height:1.1;margin:0}.party-date{color:var(--muted);font-size:12px;margin:7px 0 13px}.party-close{border:0;background:var(--lavender);color:var(--purple);border-radius:99px;padding:6px 10px;font-size:11px;font-weight:800}.party-list{display:grid;gap:8px}.party-entry{display:grid;gap:5px;padding:11px;background:#fff;border:1px solid var(--line);border-radius:10px}.party-entry strong{font-size:13px}.party-restriction{font-size:11px;color:#604777;font-weight:700}.party-action{justify-self:start;color:var(--purple);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:2px}.party-action:hover{color:var(--accent)}
