/* User-supplied broccoli-cat family; one logo, contextual page palettes. */
:root,[data-theme="mint"]{--paper:#f2f7ee;--ink:#203c32;--muted:#5b6c60;--line:#d4e0cf;--lilac:#e1edda;--pink:#f4cfcb;--peach:#f6d8ae;--yellow:#f3d582;--theme-grid:#d4e0cf70;--wash:#e9f1e2;--theme-tint:#dcead4}
[data-theme="blush"]{--paper:#fff4f1;--ink:#4b3439;--muted:#7c646b;--line:#ead6d6;--lilac:#f7e4e1;--pink:#f3c6cd;--peach:#f4d3b7;--yellow:#efce8b;--theme-grid:#ead6d670;--wash:#fce9e2;--theme-tint:#f2dedc}
[data-theme="butter"]{--paper:#fff8e9;--ink:#423d2f;--muted:#746d58;--line:#e5dcc1;--lilac:#f1ead4;--pink:#f1d1c3;--peach:#f3d9a8;--yellow:#eec775;--theme-grid:#e5dcc170;--wash:#f3ecd9;--theme-tint:#eae2c9}
[data-theme="ice"]{--paper:#f1f6fa;--ink:#1f3e4b;--muted:#5d7480;--line:#cfdee7;--lilac:#dfedf1;--pink:#edced8;--peach:#ead6c0;--yellow:#efd792;--theme-grid:#cfdee770;--wash:#e4eef3;--theme-tint:#d9e8ef}
[data-theme="sea"]{--paper:#eef8f5;--ink:#204644;--muted:#587673;--line:#c9e1db;--lilac:#dcefeb;--pink:#f3d2ca;--peach:#f2d9b9;--yellow:#eedb91;--theme-grid:#c9e1db70;--wash:#e0f0e9;--theme-tint:#d7eae4}
[data-theme="peach"]{--paper:#fff4e9;--ink:#4a3a2f;--muted:#806b5a;--line:#ead7c4;--lilac:#f2e6d5;--pink:#edc4bd;--peach:#f4d3af;--yellow:#efd18b;--theme-grid:#ead7c470;--wash:#fae7d5;--theme-tint:#f0deca}
[data-theme="lilac"]{--paper:#f5f2fa;--ink:#39334f;--muted:#716981;--line:#ddd5e8;--lilac:#e9e1f3;--pink:#f0cdda;--peach:#f0d8c1;--yellow:#eed591;--theme-grid:#ddd5e870;--wash:#ece5f5;--theme-tint:#e3daee}
.header{background:var(--paper)}.hero,.category-intro,.service-hero,.planning-section{background-image:linear-gradient(var(--theme-grid) 1px,transparent 1px),linear-gradient(90deg,var(--theme-grid) 1px,transparent 1px)}.service-page{--service-border:var(--line);--service-muted:var(--muted)}.brand .cat-logo{width:48px;height:48px;object-fit:contain;filter:none;flex:none}.brand{gap:10px}.menu-top .cat-logo{width:48px;height:48px}.journal-button{border-color:var(--ink)}.journal-button:hover{background:var(--lilac)}.journal-button.filled:hover{background:var(--muted)}.category-intro,.category-feature,.guide-summary,.directory-hero,.about-contact{border-color:var(--line)}.cat-advice p,.guide-cat-note{border-color:var(--line);color:var(--ink)}.guide-summary{background:var(--wash)}.about-cat{background:var(--theme-tint)}.journal-follow,.partner-snow{background:var(--lilac)}.partner-sections{background:var(--paper)}.partner-lesson-list,.plan-partner-callout{background:var(--wash);border-color:var(--line)}.plan-partner-callout:hover{background:var(--theme-tint)}.plan-faq details{background:var(--paper);border-color:var(--line)}.plan-live dl,.plan-ski-fields{background:var(--paper)}.plan-field :is(input,select,textarea),.plan-summary-text{background:#fffefa;border-color:var(--line)}.plan-field input:disabled{background:var(--wash);color:var(--muted)}.plan-choice:has(input:checked){background:var(--lilac);border-color:var(--muted)}.plan-stepper li>span{border-color:var(--line)}.service-process li>div span{background:var(--theme-tint)}.map-banner{background:var(--lilac)}.japan-silhouette>g:first-child{fill:var(--theme-tint);stroke:var(--muted)}.japan-silhouette>g:nth-child(2){fill:var(--ink)}.japan-silhouette>g:last-child{fill:var(--ink)}
.cat-mascot{width:164px;top:-98px;right:16%}.cat-mascot>img{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 4px 3px #203c3212)}.cat-mascot.greeting>img{animation:broccoliHello .65s ease-in-out 2}.cat-bubble{background:#fffef5;border-color:var(--ink)}.category-sleeper{width:126px;top:-70px;right:15px}.cat-advice img{width:77px;height:88px;object-fit:contain;flex:none}.journal-empty img{width:130px;height:130px;object-fit:contain}.directory-hero>div>img{width:220px;height:220px;object-fit:contain}.guide-companion img[data-mascot-role]{width:113px;height:125px;object-fit:contain;margin-inline:auto}.guide-summary img[data-mascot-role]{width:68px;height:68px;object-fit:contain}.about-cat img[data-mascot-role]{width:245px;height:245px;margin-bottom:6px}.about-contact>img[data-mascot-role]{width:155px;height:155px;object-fit:contain}.journal-follow>img[data-mascot-role]{width:150px;height:150px;object-fit:contain}.service-postcard>.service-sleeper{width:126px;height:126px;top:-70px;right:11px;object-fit:contain}.plan-live-heading img[data-mascot-role]{width:83px;height:94px;object-fit:contain}.plan-live-bottom img[data-mascot-role]{width:112px;height:112px;object-fit:contain;margin-bottom:-8px}.plan-live-bottom{padding-top:10px}.trip-grid .service-icon svg{width:44px;height:44px}.map-art{position:relative}.map-helper-cat{position:absolute;width:125px;height:125px;object-fit:contain;left:3%;bottom:3%;transform:rotate(-5deg)}.search-page,.map-page,.events-page{position:relative}.context-mascot{position:absolute;right:var(--gutter);top:27px;width:120px;height:120px;object-fit:contain}.search-page>h1,.events-page>h1,.map-page .section-heading{padding-right:135px}.map-page .section-heading>div{max-width:750px}.service-hero-photo,.category-feature-photo{isolation:isolate}.guide-body :is(a,blockquote){text-decoration-color:var(--muted)}
.guide-cat-intro{grid-template-columns:68px minmax(0,1fr);gap:10px}.guide-companion .guide-cat-intro>img[data-mascot-role]{width:68px;height:78px;object-fit:contain}.journal-follow>img[data-mascot-role]{margin-bottom:-20px}.menu[open]{overflow-y:auto}.menu-links{margin-top:35px;margin-bottom:30px}.menu-links a{padding-block:17px}.paw-print{color:var(--muted)}
@keyframes broccoliHello{0%,100%{transform:rotate(0) translateY(0)}30%{transform:rotate(-5deg) translateY(-8px)}65%{transform:rotate(5deg) translateY(-4px)}}
@media(max-width:1100px){.brand .cat-logo{width:43px;height:43px}.directory-hero>div>img{width:180px;height:180px}.context-mascot{width:105px;height:105px}.search-page>h1,.events-page>h1,.map-page .section-heading{padding-right:118px}.service-postcard>.service-sleeper{width:112px;height:112px;top:-61px}.plan-live-heading img[data-mascot-role]{width:65px;height:76px}.plan-live-bottom img[data-mascot-role]{width:90px;height:100px}.cat-mascot{width:144px;top:-86px}.category-sleeper{width:112px;top:-61px}}
@media(max-width:760px){.brand .cat-logo{width:40px;height:40px}.menu-top .cat-logo{width:39px;height:39px}.brand{gap:7px}.cat-mascot{width:118px;top:-67px;right:13%}.cat-bubble{font-size:10px;padding:9px 11px}.category-sleeper{width:105px;top:-58px;right:12px}.cat-advice img{width:67px;height:77px}.directory-hero>div>img{width:135px;height:145px}.about-cat img[data-mascot-role]{width:210px;height:210px}.about-contact>img[data-mascot-role]{width:115px;height:115px}.journal-follow>img[data-mascot-role]{width:110px;height:110px}.service-postcard>.service-sleeper{width:105px;height:105px;top:-58px;right:10px}.plan-live-heading img[data-mascot-role]{width:79px;height:88px}.plan-live-bottom img[data-mascot-role]{width:100px;height:100px}.trip-grid .service-icon svg{width:35px;height:35px}.context-mascot{width:88px;height:88px;top:29px}.search-page>h1,.events-page>h1,.map-page .section-heading{padding-right:95px}.search-page>h1,.events-page>h1{font-size:30px;line-height:1.5}.map-page .section-heading h1{font-size:30px;line-height:1.5}.map-helper-cat{width:90px;height:90px;left:0;bottom:0}.guide-companion img[data-mascot-role]{width:75px;height:80px}.guide-summary img[data-mascot-role]{width:55px;height:55px}}
@media(max-width:390px){.brand .cat-logo{width:37px;height:37px}.cat-mascot{width:107px;top:-60px}.directory-hero>div>img{width:110px;height:125px}.context-mascot{width:74px;height:74px}.search-page>h1,.events-page>h1,.map-page .section-heading{padding-right:78px}.search-page>h1,.events-page>h1,.map-page .section-heading h1{font-size:27px}.plan-live-heading img[data-mascot-role]{width:69px;height:79px}}
[data-mascot-role],.service-sleeper,.category-sleeper{pointer-events:none}
@media(max-width:760px){.service-hero-grid,.partner-hero .service-hero-grid,.category-hero-grid{row-gap:68px}.hero-title{padding-bottom:72px}}
@media(prefers-reduced-motion:reduce){.cat-mascot.greeting>img{animation:none}}
/* Japanese wordmark, with its reading below rather than beside the name. */
.brand{font-family:'Noto Sans TC',sans-serif;font-size:28px;letter-spacing:.01em;flex-shrink:0}
.brand>.brand-name{display:flex;flex-direction:column;align-items:flex-start;gap:5px;line-height:1.2}
.brand-name small{font-size:10px;line-height:1.4;letter-spacing:.12em;font-weight:500}
.footer-wordmark{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:start;column-gap:24px;row-gap:16px;font-family:'Noto Sans TC',sans-serif;font-size:clamp(54px,8vw,126px);letter-spacing:-.035em}
.footer-wordmark>.spark{position:static;width:.55em;height:.55em}
.footer-wordmark>small{grid-column:1/-1;margin-left:0;font-size:13px;line-height:1.5;letter-spacing:.2em}
@media(max-width:1100px){.brand{font-size:24px}.brand-name small{font-size:9px}.header{gap:16px}}
@media(max-width:760px){.brand{font-size:23px;gap:7px}.brand>.brand-name{gap:4px}.brand-name small{font-size:8px;letter-spacing:.1em}.footer-wordmark{font-size:clamp(39px,9vw,60px);column-gap:15px;row-gap:12px}.footer-wordmark>small{font-size:11px;margin-left:0}.footer-wordmark>.spark{width:.5em;height:.5em}}
@media(max-width:390px){.header{gap:8px;padding-inline:20px}.brand{font-size:20px}.brand-name small{font-size:8px}.header-tools{gap:8px}.footer-wordmark{column-gap:11px}.menu-top .brand{font-size:21px}}
