:root{
  --paper:#fff8f7;--pearl:#fff8f7;--mineral:#fff8f7;--ink:#493b3f;--muted:#746067;
  --accent:#8f5366;--denim:#8f5366;--forest:#8f5366;--gold:#8f5366;--coral:#9b5e70;--sun:#f1dfe4;
  --accent-soft:#f6e9ec;--surface-soft:#f9efed;--linen:#f4ece4;--line:#e6d6d8;--focus-color:#88495e;
  --rose-ground:#fff8f7;--rose-surface:#fffdfb;--rose-tint:#f9ecee;--rose-selected:#f1dce3;--rose-hover:#f4e4e8;
  color:var(--ink);background:var(--paper);color-scheme:light;
}
body{background:var(--paper);color:var(--ink)}::selection{background:#edcbd6;color:#493b3f}*{scrollbar-color:#c9a4af var(--paper)}input,textarea{caret-color:var(--accent)}input::placeholder,textarea::placeholder{color:#78636a;opacity:1}
a,button,input,select,textarea,summary{outline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}
.sidebar{border-color:var(--line)}.brand,.footer-brand,.profile-text strong{color:var(--ink)}.nav button{color:#745661}.nav button:hover{background:var(--rose-tint)}.nav button.active{color:var(--accent);border-color:var(--accent);background:transparent}.profile-text small,.muted,.footer,.family-description,.detail-note,.schedule-note{color:var(--muted)}
.btn{border-color:#d9c2c9;background:var(--rose-surface);color:#704b59;border-radius:10px;min-height:46px}.btn:hover{background:var(--rose-tint);border-color:#c296a5}.btn.primary,.hero-actions .btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover,.hero-actions .btn.primary:hover{background:#774253;border-color:#774253}.btn.soft{background:#f3e4e8;color:#734454;border-color:transparent}.btn.soft:hover{background:#ecd5de}.btn.text-btn,.hero-actions .btn.text-btn{color:#8a4d61;background:transparent}.btn.text-btn:hover{background:#f6e7ec}.icon-btn{color:#805365}.icon-btn:hover{background:var(--rose-tint)}.avatar{background:#f0d9e1;color:#814b5e}.guest-login{background:#fffdfb;border-color:#d8bdc6;color:#734957}.install-app{color:#734957}.btn.danger{color:#9f333a;background:#fff0f1}
.city-switch{background:#f4e8e9;border:1px solid #e2cbd2;border-radius:10px;padding:4px}.city-option{color:#755965;min-height:44px;border-radius:7px}.city-option:hover{background:#fceff2}.city-option.active{background:#fffdfb;color:#794254}.city-option strong{font-weight:500}.city-option span{color:#775b65}
.family-intro.illustrated{grid-template-columns:.9fr 1.1fr;gap:44px;min-height:0;margin:30px 0 46px;padding:16px 0 0}.family-intro .hero-copy h1{font-size:clamp(40px,4.3vw,59px);line-height:1.18;color:var(--ink);margin:22px 0}.family-intro .hero-copy h1 span{display:block;color:#9b5e70;font-size:.82em;line-height:1.35;margin-top:7px}.family-intro .hero-copy>p{font-size:15px;line-height:1.8;color:var(--muted);margin:20px 0;max-width:480px}.hero-copy .filters{width:100%;grid-template-columns:minmax(0,1fr) 181px;gap:10px;margin:24px 0 18px}.hero-copy .filters input,.hero-copy .filters select{font-size:16px;height:54px;background:#fffdfb;border-color:#d9c4ca;color:var(--ink)}.hero-copy .age-filter select{max-width:none}.hero-actions .btn{font-size:13px;min-height:48px}.hero-picture{margin:0}.family-intro .hero-picture img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px;object-position:center}.hero-picture figcaption{color:#795c65;font-size:11px;line-height:1.7;padding-top:11px;border-color:var(--line)}.hero-picture figcaption:after{background:#c59caa}.hero-picture.arrive{animation:rose-enter .48s cubic-bezier(.16,1,.3,1) both}@keyframes rose-enter{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.search input,.filters select,.age-filter select,.form input,.form textarea,.form select{background:#fffdfb;border-color:#d9c4ca;color:var(--ink);border-radius:9px}.search .icon,.family-address .icon{color:#8c6976}.hero-copy .filters input:focus,.hero-copy .filters select:focus,.form input:focus{border-color:#a86f83}.family-directory .directory-heading h2,.saved-heading h1{color:var(--ink)}.family-directory .directory-heading p,.family-results,.family-results strong{color:#795d67}.family-categories .category-chip{background:#fffdfb;border-color:#dfcbd0;color:#70545d}.family-categories .category-chip:hover{background:#f7e7eb}.family-categories .category-chip.active{background:#8f5366;border-color:#8f5366;color:#fff}.category-chip small{background:#f1e3e6;color:#755765}.category-chip.active small{background:#a97183;color:#fff}.family-categories{scrollbar-color:#c5a0ad transparent}
.family-card{background:#fffdfb;border-color:#e3cfd5;border-radius:14px}.family-card:hover{border-color:#bf93a2}.family-card-cover{background:#f5e8e9}.family-card h3,.place-name{color:#503d45}.family-description{color:#746067}.family-address{color:#72535f}.family-address:hover{color:#8f5366}.family-card-cover:has(.place-photo-cover)>.family-type{background:#fffaf3f2;color:#70515e}.place-save{background:#fffdfbf2;color:#8a5d6c}.place-save:hover{background:#fff}.place-save.saved{background:#f2dce4;color:#a0526b}.place-save.saved svg{fill:#e2b3c3}.family-card-bottom,.family-schedule{border-color:#eadbdf}.place-session span,.place-calendar-link,.place-website,.family-details,.place-reviews-link{color:#8b4e63}.family-schedule>p,.schedule-note,.family-schedule .schedule-note,.detail-description,.place-location p{color:#765f68}.tag{color:#785865;background:#f2e7ea}.tag.green{background:#e8eee6;color:#52664b}.tag.red{background:#f9e1e2;color:#9a353f}.family-tags .tag{background:#f2e8e8;color:#765763}.family-bottom-note{border-color:var(--line);color:#755865}.family-bottom-note p,.family-bottom-note span{color:#765f68}.family-bottom-note>.icon{color:#a16b7e}.family-card .place-session{min-height:50px}.more-places>span{color:#775d68}.place-photo-cover figcaption,.place-photo-cover .photo-illustrated figcaption{background:#654953eb;color:#fff}.place-photo-cover figcaption a{color:#fff}.place-gallery figcaption,.place-gallery .photo-illustrated figcaption{color:#74515f}.photo-loading,.place-photo-cover .photo-unavailable{background:#f7e9ed}.photo-loading>.photo-loading-label{color:#7d5665}.event-thumbnail{background:#f7e9ed}.event-thumbnail .photo-kind{background:#654953eb}
.page-head h1,.month-title h2,.agenda h3,.list-day{color:var(--ink)}.page-head p{color:#795e68}.calendar-heading{display:grid;grid-template-columns:minmax(0,1fr) 250px auto;align-items:center;gap:28px;padding:30px 0}.calendar-heading h1{font-size:42px;line-height:1.25;letter-spacing:-.025em}.calendar-heading p{max-width:520px;line-height:1.7}.calendar-heading .actions:empty{display:none}.calendar-intro-art{margin:0}.calendar-intro-art img{display:block;width:250px;height:145px;object-fit:cover;object-position:center 45%;border-radius:14px}.calendar-heading .actions{align-self:end;flex-direction:column}.panel.calendar-panel{background:var(--rose-surface);border:1px solid #e6cfd6;border-radius:16px;overflow:hidden}.calendar-panel>.city-switch{margin:20px 22px 0}.calendar-discovery{display:grid;grid-template-columns:minmax(0,1fr) 215px 120px;gap:14px;align-items:end;padding:20px 22px 18px}.calendar-discovery .search{min-width:0;width:100%}.calendar-discovery .search input{font-size:16px;height:52px;min-width:0;width:100%}.calendar-topic{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#7c5867}.calendar-topic select{height:52px;width:100%;font-size:16px;padding:10px 32px 10px 12px;border:1px solid #d9c4ca;border-radius:9px;background:#fffdfb;color:var(--ink)}.calendar-options{min-width:0}.calendar-options>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 15px;border:1px solid #d9c4ca;border-radius:9px;color:#815568;cursor:pointer;font-size:14px;list-style:none}.calendar-options>summary::-webkit-details-marker{display:none}.calendar-options>summary:hover{background:#f8ebef}.calendar-options>summary .icon{width:16px;height:16px;transform:rotate(90deg);transition:transform .18s}.calendar-options[open]{grid-column:1/-1}.calendar-options[open]>summary{background:#f7e8ed;border-color:#d3b3bf}.calendar-options[open]>summary .icon{transform:rotate(-90deg)}.calendar-options .filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:18px 0 0;align-items:end}.calendar-options .filters>label:not(.toggle){display:flex;flex-direction:column;gap:7px;min-width:0;font-size:13px;color:#755761}.calendar-options select{width:100%;max-width:none;font-size:16px;height:50px}.calendar-options .toggle{min-height:44px;gap:10px;color:#73515f;font-size:14px}.calendar-reset{grid-column:1/-1;justify-self:end}.calendar-schedule-note{padding:0 22px;margin:0 0 20px;line-height:1.7;color:#795f68;font-size:13px}.calendar-toolbar{background:#fcf1f3;border-color:#ead4dc;padding:22px;gap:18px}.month-title h2{font-size:28px}.month-nav .icon-btn{background:#fff9fa;border:1px solid #e5ccd5;border-radius:9px}.month-nav .icon-btn:hover{background:#f3e0e6}.calendar-jump{color:#795865}.calendar-jump input{background:#fffdfb;border-color:#d8b9c5;color:#653e4d;font-size:16px}.segment{background:#f2e1e7;border:1px solid #dfc5cf;border-radius:10px;padding:4px}.segment button{min-height:42px;color:#7f5969;border-radius:7px}.segment button.active{background:#fffdfb;color:#864c61}.upcoming-event{background:#f9eaee;color:#785063;border-radius:10px;margin:0;border-bottom:1px solid #e8cfd8;padding:18px 22px}.upcoming-event:hover{background:#f3dfe6}.upcoming-event small{color:#80546a}.weekdays{background:#f8e8ed;border-color:#e7cfd8;color:#80566a}.weekdays span{padding:13px 0;font-size:12px;color:#80566a}.days{border-color:#ead7dd}.day{background:#fff9fa;border-color:#ecd7df}.day.outside{background:#f8eef0;color:#927b84}.day.selected{background:#f2dce5;outline:2px solid #c794a7;outline-offset:-2px}.day.today .day-number{background:#925269;color:#fff}.day .day-number{color:#704759;font-size:14px}.day.today.selected{background:#eed3df}.event-chip,.event-chip.tone0{background:#efdae2;color:#69434f}.event-chip.tone1{background:#f8e8eb;color:#744858}.event-chip.tone2{background:#f1e2e8;color:#6c4355}.event-chip:hover{background:#e6c4d2;color:#643848}.event-chip.cancelled{text-decoration:line-through;color:#92535b}.more-events{color:#894f65}.agenda{background:#fbecf1;border-color:#ead2db;padding:22px}.agenda-date{color:#805e70;line-height:1.6}.agenda-card{border-color:#e8cdd9;color:#63424f}.agenda-card:hover{background:#f7e1e9}.agenda-card strong{color:#593e49}.agenda-card .time,.event-time{color:#925269}.agenda-card small{color:#7b5c69}.list-view{background:#fffafb;padding:0 22px}.list-day{color:#785062;border-color:#ead4dc;padding-top:24px}.list-event{border-color:#ead6de;color:#60444f}.list-event:hover{background:#fcf0f4}.list-event-copy small{color:#7e626d}.activity{color:#7d5b6a;background:transparent;border-color:#e6d1d8}.activity h3,.activity p{color:#7d5b6a}
.auth-story{background:#f6e6e9}.auth-story .intro h1,.auth-story .brand{color:#62434e}.auth-story .intro>p,.auth-story .auth-bottom,.auth-photo figcaption{color:#7b5766}.auth-photo img{aspect-ratio:3/2;object-fit:cover}.auth-content{background:#fffaf9}.auth-tabs{border-color:#e5cbd5}.auth-tabs button{color:#795766}.auth-tabs button.active{color:#8f5366;border-color:#8f5366;background:#f5e3ea}.auth-or{color:#8c6c79}.auth-or:before,.auth-or:after{background:#e6d1d9}.registration-consents{border-color:#dfc7d0;background:#fffafb}.registration-consents legend,.registration-consents .consent-check,.password-help,.auth-small,.auth-document-links{color:#785b68}.form .consent-check input{accent-color:#8f5366}.consent-check a,.footer-documents a,.legal-page a{color:#8c4b64}.form .password-control .icon-btn{color:#86566a}.form-error{color:#a13542}.footer,.footer-documents{border-color:#e5d1d9;color:#7d5f6d}.footer-brand{color:#7d4c62}.mobile-nav{background:#fffbfa;border-color:#e8ced8}.mobile-nav button{color:#876676}.mobile-nav button.active{background:#f4dfe8;color:#86485f}.mobile-nav button:active{background:#eed2de}.legal-page{color:#56424c}.legal-page nav{border-color:#e5cbd7}.place-location,.app-reviews{border-color:#e6d1da}.review-summary,.review-list,.user-review{border-color:#e9d5de}.review-summary strong,.user-review header strong{color:#83516a}.review-summary span,.user-review time{color:#7c606f}.external-actions .btn{color:#825166}.detail-meta{color:#7c5e6c}.modal-head,.detail-actions{border-color:#e8d2dc}dialog{background:#fffaf9;color:var(--ink);border-color:#e1c6d2;scrollbar-color:#cfa5b7 #fffaf9}.dialog-close{color:#87546b}dialog::backdrop{background:#4a303b66}.toast,#toast{background:#674453;color:#fff}
.website-header,.website-how,.website-trust{border-color:#e6d0d8}.project-website{color:#59434d}.website-hero h1,.website-cities h2,.website-how h2,.website-trust h2,.website-footer h2{color:#674753}.website-hero p,.website-how p,.website-trust p,.website-footer p{color:#785a69}.website-cities>a{background:#f8e9ef;border-color:#dfc0ce}.website-cities>a:hover{background:#f2dce6}.website-hero figcaption{color:#805e6d}
@media(min-width:701px) and (max-width:1100px){.family-intro.illustrated{gap:28px;grid-template-columns:1fr 1fr}.hero-copy .filters{grid-template-columns:1fr}.family-intro .hero-copy h1{font-size:44px}.calendar-heading{grid-template-columns:minmax(0,1fr) 200px;gap:20px}.calendar-intro-art img{width:200px;height:135px}.calendar-heading .actions{grid-column:1/-1;flex-direction:row}.calendar-discovery{grid-template-columns:minmax(0,1fr) 190px}.calendar-options{grid-column:1/-1}.calendar-heading h1{font-size:38px}}
@media(max-width:700px){
 .sidebar{border-color:#ead2dc;background:#fff9f8;padding:12px 16px;gap:8px}.sidebar .brand{font-size:21px}.sidebar .brand-second{font-size:10px}.sidebar .brand img{width:36px;height:36px}.sidebar .install-app{width:40px;min-width:40px}.sidebar .guest-login{padding:9px 11px}.content{padding:18px 18px calc(104px + env(safe-area-inset-bottom))}.family-intro.illustrated{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:0 0 34px;padding:0}.family-intro .hero-copy{display:contents}.family-intro .city-switch{order:0;justify-self:start;margin:0}.family-intro .hero-copy h1{order:1;margin:0;font-size:34px;line-height:1.2}.family-intro .hero-copy h1 span{font-size:31px;line-height:1.25;margin-top:3px}.family-intro .hero-picture{order:2;margin:0}.family-intro .hero-picture img{width:100%;height:166px;aspect-ratio:3/2;object-position:center 48%;border-radius:14px}.hero-picture figcaption{font-size:10px;line-height:1.6;padding-top:6px}.family-intro .hero-copy>p{order:3;font-size:13px;line-height:1.7;margin:0;max-width:none}.hero-copy .filters{order:4;width:100%;display:grid;grid-template-columns:1fr;gap:8px;margin:0}.hero-copy .filters input,.hero-copy .filters select{height:48px;font-size:16px}.hero-copy .hero-actions{order:5;display:flex;gap:12px;margin:0}.hero-actions .btn{min-height:46px;font-size:12px;padding:10px 14px}.hero-copy .hero-actions .btn{font-size:12px}.family-directory .directory-heading h2{font-size:28px}.family-card h3{font-size:24px}.family-card-body{padding:22px}.family-categories .category-chip{min-height:44px}.calendar-heading{display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:14px;padding:10px 0 22px;align-items:center}.calendar-heading h1{font-size:29px;line-height:1.35;margin:0}.calendar-heading p{font-size:12px;line-height:1.7;margin-top:12px}.calendar-intro-art img{width:122px;height:112px;border-radius:12px;object-position:center}.calendar-heading .actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.panel.calendar-panel{border-radius:14px}.calendar-panel>.city-switch{margin:16px 16px 0}.calendar-discovery{padding:16px;grid-template-columns:minmax(0,1fr) 108px;gap:12px;align-items:end}.calendar-discovery .search{grid-column:1/-1}.calendar-topic{grid-column:1;font-size:11px}.calendar-topic select{font-size:16px;height:50px;padding-left:10px;padding-right:24px}.calendar-options{grid-column:2}.calendar-options>summary{font-size:13px;padding:10px;min-height:50px;gap:5px}.calendar-options[open]{grid-column:1/-1}.calendar-options .filters{grid-template-columns:1fr;gap:14px}.calendar-options select{font-size:16px}.calendar-options .toggle{font-size:13px}.calendar-schedule-note{padding:0 16px;font-size:12px;margin-bottom:16px}.calendar-toolbar{padding:16px;gap:16px}.month-title{width:100%;gap:10px;justify-content:space-between}.month-title h2{font-size:25px;flex:1;min-width:0}.month-nav{gap:4px}.month-title>.btn{font-size:12px;padding:9px 10px}.month-nav .icon-btn{min-width:38px;width:38px;min-height:44px}.calendar-jump{font-size:12px;gap:8px;align-items:center;flex-direction:row}.calendar-jump input{width:160px;min-height:46px;font-size:16px}.segment button{padding:8px 10px;min-height:42px;font-size:12px}.upcoming-event{padding:15px 16px;gap:10px}.upcoming-event small{font-size:11px}.upcoming-event strong{font-size:13px}.list-view{padding:0 16px}.list-event:has(.event-thumbnail){gap:6px 12px;padding:18px 0}.list-day{font-size:14px}.list-event-copy strong{font-size:14px;line-height:1.55}.list-event-copy small{font-size:12px;line-height:1.65}.event-time{font-size:13px}.list-event>.tag{font-size:11px}.agenda{padding:18px}.auth-story{background:#f9edef;border-color:#ead1dc}.auth-content{padding:28px 22px 40px}.auth-card>h2{font-size:31px}.auth-card>p{font-size:14px}.auth-story .brand{font-size:23px}.mobile-nav{padding-top:6px}.mobile-nav button{min-height:54px}.footer{gap:18px}.project-website{padding:20px}.website-hero{gap:22px}.website-hero h1{font-size:38px}.website-cities>a{padding:22px}.website-hero figure img{aspect-ratio:3/2;object-fit:cover}.place-gallery .thematic-photo{height:auto}
}
@media(max-width:359px){.content{padding-left:16px;padding-right:16px}.sidebar{flex-wrap:wrap;padding:12px 16px}.sidebar .brand{font-size:21px}.sidebar .profile{margin-left:auto}.family-intro.illustrated{gap:12px}.family-intro .hero-copy h1{font-size:31px}.family-intro .hero-copy h1 span{font-size:28px}.family-intro .hero-picture img{height:142px}.hero-copy .hero-actions{gap:8px}.hero-copy .hero-actions .btn{font-size:11px;padding-left:11px;padding-right:11px}.calendar-heading{grid-template-columns:minmax(0,1fr) 100px;gap:10px}.calendar-heading h1{font-size:25px}.calendar-intro-art img{width:100px;height:110px}.calendar-discovery{grid-template-columns:minmax(0,1fr) 95px;padding:14px}.calendar-topic select{font-size:16px}.calendar-options>summary{font-size:12px;padding:10px 8px}.calendar-panel>.city-switch{margin:14px 14px 0}.calendar-panel>.city-switch .city-option{padding:8px 11px;font-size:12px}.calendar-toolbar{padding:14px}.calendar-jump input{width:154px}.month-title h2{font-size:24px}.month-title>.btn{font-size:11px}.list-view{padding:0 14px}.calendar-schedule-note{padding:0 14px}}
@media(prefers-reduced-motion:reduce){.hero-picture.arrive{animation:none}.calendar-options>summary .icon{transition:none}}

@media(max-width:359px){.calendar-discovery{grid-template-columns:minmax(0,1fr)}.calendar-topic,.calendar-options{grid-column:1/-1}.calendar-topic select{font-size:16px}}

.family-intro .city-switch{background:#f4e8e9;border-color:#e2cbd2}.family-intro .city-option{color:#755965}.family-intro .city-option.active{background:#fffdfb;color:#794254}.hero-copy .hero-actions .btn.text-btn{border-bottom-color:#c397a8}.family-categories .category-chip .count{background:#f1e3e6;color:#755765}.family-categories .category-chip.active .count{background:#a97183;color:#fff}
.city-switch{max-width:100%;flex-wrap:wrap}.city-option{min-width:0}.city-option strong{white-space:normal}
@media(max-width:850px){.city-switch{display:grid;grid-template-columns:.8fr 1.2fr 1.5fr;width:100%}.city-switch .city-option{min-height:48px;padding:6px}.family-intro .city-switch{justify-self:stretch;width:100%}.calendar-panel>.city-switch{width:calc(100% - 32px);margin:16px}.city-option strong{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.city-option span{font-size:11px}}
.review-safety{display:flex;flex-wrap:wrap;align-items:start;gap:8px;margin-top:12px}.review-safety details{flex:1 1 150px}.review-safety summary{min-height:44px;padding:12px 0;cursor:pointer;color:var(--accent)}.moderation-report{padding:20px 0;border-bottom:1px solid #e2cbd2;line-height:1.65}.moderation-report h3{font:600 18px/1.5 var(--font-body)}.moderation-report p{margin:8px 0}.blocked-author{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0}
.city-option strong{overflow-wrap:normal;word-break:normal}
@media(max-width:359px){.calendar-panel>.city-switch{grid-template-columns:1fr 1fr}.calendar-panel>.city-switch .city-option:last-child{grid-column:1 / -1}}

[data-calendar-day]:focus{outline:2px solid #bd8da1;outline-offset:4px}

.family-intro .hero-picture img{aspect-ratio:4/3}@media(max-width:700px){.family-intro .hero-picture img{height:170px;object-position:center 62%}}@media(max-width:359px){.family-intro .hero-picture img{height:146px}}
.weekdays span{text-align:center;padding:13px 4px;min-width:0}
