@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_81a33cc5-module___RQdfW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_81a33cc5-module___RQdfW__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/da4b870ab52b3094-s.0v_p~5_c0b~1d.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.17_wf1k7ou9-q.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/11cc37d7380d16b4-s.0ptcwqi9jx~4d.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a85fe84266768609-s.p.05b418i5bs~lg.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/da4b870ab52b3094-s.0v_p~5_c0b~1d.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.17_wf1k7ou9-q.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/11cc37d7380d16b4-s.0ptcwqi9jx~4d.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a85fe84266768609-s.p.05b418i5bs~lg.woff2?dpl=dpl_155vJYZNZ8Gm8LmiLHt6yDLieYpF)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Fallback;src:local(Arial);ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.0%;size-adjust:76.94%}.caveat_233c50f7-module__CdMTbq__className{font-family:Caveat,Caveat Fallback;font-style:normal}.caveat_233c50f7-module__CdMTbq__variable{--font-caveat:"Caveat", "Caveat Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}}:root{--cream:#fbf5e6;--paper:#fffbf0;--paper-deep:#f5ebd0;--ink:#1a1f2e;--ink-soft:#4a5160;--ink-mute:#6b7280;--indigo:#1e3a5f;--vermillion:#c8462c;--sakura:#e89a8e;--matcha:#7b9a56;--gold:#d9a53d;--sky:#86a8c9;--hair:#e8dec6;--hair-soft:#f0e8d2;--serif:var(--font-shippori), "Times New Roman", serif;--sans:var(--font-dm-sans), system-ui, -apple-system, sans-serif;--hand:var(--font-caveat), cursive}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 12% 8%,#c8462c0a 0,#0000 40%),radial-gradient(circle at 88% 18%,#1e3a5f0a 0,#0000 45%),radial-gradient(circle at 50% 100%,#7b9a560a 0,#0000 50%);font-size:16px;line-height:1.5}button{cursor:pointer;font-family:inherit}.page{min-height:100vh}.topnav{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--hair);background:#fbf5e6eb;position:sticky;top:0}.topnav-inner{align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:12px 28px;display:flex}.topnav-brand{flex:none;align-items:center;gap:10px;display:flex}.brand-mark{background:var(--vermillion);width:30px;height:30px;color:var(--cream);font-family:var(--serif);border-radius:6px;place-items:center;font-size:18px;font-weight:800;display:inline-grid;transform:rotate(-4deg)}.brand-text{font-family:var(--serif);letter-spacing:-.01em;font-size:18px;font-weight:700}.topnav-links{flex-wrap:wrap;flex:1;justify-content:center;gap:4px;display:flex}.navlink{color:var(--ink-soft);white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.kid-toggle{white-space:nowrap;flex:none}.navlink:hover{background:var(--paper-deep);color:var(--ink)}.kid-toggle{border:1px solid var(--hair);color:var(--ink-soft);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.kid-toggle:hover{border-color:var(--gold);color:var(--ink)}.kid-toggle.on{color:#7a4a0a;background:#ffe6b0;border-color:#e8b850}.kid-toggle-dot{background:#c9bc9a;border-radius:50%;width:8px;height:8px;transition:background .15s}.kid-toggle.on .kid-toggle-dot{background:var(--gold);box-shadow:0 0 0 3px #d9a53d40}.hero{max-width:1200px;margin:0 auto;padding:56px 28px 24px}.hero-top{text-align:center;max-width:720px;margin:0 auto 40px}.hero-eyebrow{color:var(--vermillion);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:24px;font-size:13px;font-weight:600;display:inline-flex}.hero-eyebrow .dot{background:var(--vermillion);border-radius:50%;width:6px;height:6px}.hero-title{font-family:var(--serif);letter-spacing:-.03em;color:var(--ink);flex-direction:column;align-items:center;gap:4px;margin:0;font-size:clamp(48px,8vw,96px);font-weight:800;line-height:.95;display:flex}.hero-jp{color:var(--vermillion);opacity:.85;font-size:.55em}.hero-sub{max-width:540px;font-family:var(--hand);color:var(--ink-soft);margin:18px auto 0;font-size:26px;line-height:1.2;transform:rotate(-.5deg)}.hero-stats{grid-template-columns:repeat(4,1fr);gap:12px;max-width:520px;margin-top:32px;margin-left:auto;margin-right:auto;display:grid}.stat{text-align:center;border-right:1px dashed var(--hair);padding:10px 8px}.stat:last-child{border-right:none}.stat-num{font-family:var(--serif);color:var(--ink);font-size:36px;font-weight:800;line-height:1}.stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin-top:6px;font-size:12px;font-weight:500}.hero-map{background:var(--paper);border:1px solid var(--hair);border-radius:12px;padding:12px;overflow:hidden;box-shadow:inset 0 1px #ffffff80,0 14px 30px -18px #1a1f2e33}.main{max-width:1200px;margin:0 auto;padding:24px 28px 80px}.city-section{margin-top:56px}.city-header{margin-bottom:24px}.city-rule{border-radius:2px;width:56px;height:4px;margin-bottom:16px}.city-header-inner{align-items:center;gap:18px;display:flex}.city-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:12px;font-weight:600}.city-title{font-family:var(--serif);letter-spacing:-.02em;margin:4px 0 0;font-size:44px;font-weight:800;line-height:1}.city-sub{font-family:var(--hand);color:var(--ink-soft);margin-top:4px;font-size:22px}.city-days{flex-direction:column;gap:16px;display:flex}.day-card{background:var(--paper);border:1px solid var(--hair);border-radius:14px;padding:24px;transition:box-shadow .2s,transform .2s;position:relative;box-shadow:inset 0 1px #fff9}.day-card:hover{box-shadow:0 8px 24px -16px #1a1f2e40,inset 0 1px #fff9}.day-card:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;top:24px;bottom:24px;left:0}.day-card-grid{grid-template-columns:200px 1fr;gap:28px;display:grid}.day-card-left{border-right:1px dashed var(--hair);padding-left:12px;padding-right:20px}.day-num-row{align-items:center;gap:14px;margin-bottom:12px;display:flex}.day-num{font-family:var(--serif);color:var(--ink);letter-spacing:-.04em;font-size:64px;font-weight:800;line-height:.9}.day-date{font-family:var(--sans);color:var(--ink);letter-spacing:0;font-size:15px;font-weight:600}.day-weather{color:var(--ink-mute);letter-spacing:.02em;margin-top:6px;font-size:12px;font-weight:500}.day-card-right{min-width:0}.day-theme{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.day-headline{font-family:var(--serif);letter-spacing:-.015em;margin:4px 0 8px;font-size:28px;font-weight:700;line-height:1.15}.day-blurb{color:var(--ink-soft);text-wrap:pretty;margin:0 0 16px;font-size:15px;line-height:1.55}.day-items{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.day-item{border-radius:8px;grid-template-columns:32px 1fr;gap:4px;padding:8px 10px;transition:background .15s;display:grid}.day-item:hover{background:var(--paper-deep)}.day-item.toddler-hl{background:linear-gradient(#fff4d6 0%,#ffebc2 100%);border:1px dashed #e8b850}.day-item-ico{padding-top:1px;display:flex}.day-item-text{color:var(--ink);text-wrap:pretty;font-size:14.5px;line-height:1.5}.day-item-note{color:var(--ink-soft);border-left:2px solid var(--accent);background:#00000006;border-radius:6px;margin-top:6px;padding:8px 10px;font-size:13px}.kidstar{color:var(--gold);vertical-align:1px;margin-left:6px;font-size:14px;display:inline-block}.day-tip{border:1px solid var(--hair);background:linear-gradient(#fffbf0 0%,#faf1d8 100%);border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin-top:8px;padding:12px 14px;display:grid}.day-tip-label{font-family:var(--hand);color:var(--vermillion);transform-origin:0;font-size:22px;line-height:1;transform:rotate(-3deg)}.day-tip-body{color:var(--ink);font-size:14px;line-height:1.5}.day-more{color:var(--ink-soft);border:none;border-bottom:1px dashed var(--hair);background:0 0;margin-top:10px;padding:4px 0;font-size:13px;font-weight:600}.day-more:hover{color:var(--vermillion);border-bottom-color:var(--vermillion)}.block{background:var(--paper);border:1px solid var(--hair);border-radius:16px;margin-top:72px;padding:32px}.block-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.block-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:12px;font-weight:600}.block-title{font-family:var(--serif);letter-spacing:-.02em;margin:4px 0 0;font-size:38px;font-weight:800;line-height:1.05}.reservations-progress{flex-direction:column;align-items:flex-end;gap:6px;min-width:220px;display:flex}.progress-bar{background:var(--paper-deep);border-radius:999px;width:220px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--vermillion), var(--gold));height:100%;transition:width .35s}.progress-label{color:var(--ink-mute);font-size:12px;font-weight:600}.reservation-list{margin:0;padding:0;list-style:none}.reservation-when{color:var(--ink-soft);font-size:13px;font-weight:600}.reservation-what{color:var(--ink);text-wrap:pretty;font-size:15px}.budget-total{text-align:right}.budget-total-num{font-family:var(--serif);letter-spacing:-.02em;font-size:42px;font-weight:800;line-height:1}.budget-total-sub{color:var(--ink-mute);margin-top:4px;font-size:12px;font-weight:500}.budget-bar{border:1px solid var(--hair);border-radius:10px;height:36px;margin:8px 0 20px;display:flex;overflow:hidden}.budget-bar-seg{color:#fffffff2;letter-spacing:.02em;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:flex .2s;display:flex}.budget-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.budget-cell{background:var(--cream);border:1px solid var(--hair-soft);border-radius:10px;padding:14px}.budget-cell-top{align-items:center;gap:10px;display:flex}.budget-dot{border-radius:3px;width:10px;height:10px}.budget-cat{flex:1;font-size:15px;font-weight:700}.budget-usd{font-family:var(--serif);font-size:18px;font-weight:700}.budget-sub{color:var(--ink-soft);margin-top:4px;font-size:13px;line-height:1.45}.toddler-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.toddler-card{background:linear-gradient(#fff8e0 0%,#ffefc6 100%);border:1px dashed #e8b850;border-radius:12px;padding:18px;position:relative}.toddler-card-num{font-family:var(--serif);color:#7a4a0a40;font-size:28px;font-weight:800;line-height:1;position:absolute;top:14px;right:16px}.toddler-card-title{font-family:var(--serif);color:#5a3805;margin:0 60px 6px 0;font-size:18px;font-weight:700}.toddler-card-body{color:#5a3805;margin:0;font-size:13.5px;line-height:1.5}.footer{text-align:center;max-width:1200px;margin:0 auto;padding:0 28px 60px}.footer-line{background:var(--hair);height:1px;margin-bottom:18px}.footer-text{color:var(--ink-soft);font-size:14px}.block-total{text-align:right}.block-total-num{font-family:var(--serif);letter-spacing:-.02em;font-size:32px;font-weight:800;line-height:1}.block-total-sub{color:var(--ink-mute);margin-top:4px;font-size:12px;font-weight:500}.block-tip{margin-top:18px}.block-footnote{color:var(--ink-soft);text-wrap:pretty;margin:16px 0 0;font-size:13.5px;line-height:1.55}.detail-table{border-collapse:collapse;width:100%;color:var(--ink);font-size:14px}.detail-table thead th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);border-bottom:1px solid var(--hair);padding:10px 12px;font-size:11px;font-weight:700}.detail-table thead th.num{text-align:right}.detail-table tbody td{border-bottom:1px dashed var(--hair);vertical-align:top;padding:12px;line-height:1.45}.detail-table tbody td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.detail-table tbody tr:nth-child(odd) td{background:#f5ebd04d}.detail-table tbody tr:hover td{background:var(--paper-deep)}.detail-table .detail-leg{min-width:180px;font-weight:600}.detail-table .detail-mode{color:var(--ink-soft)}.detail-table .detail-total{font-family:var(--serif);font-size:15px;font-weight:700}.detail-table-total td{border-top:2px solid var(--ink);font-size:14px;font-weight:700;background:var(--cream)!important;border-bottom:none!important}.detail-table-total td.num.detail-total{font-size:18px}.detail-cards{flex-direction:column;gap:10px;display:none}.detail-card{background:var(--cream);border:1px solid var(--hair-soft);border-radius:10px;padding:12px 14px}.detail-card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.detail-card-leg{font-size:14.5px;font-weight:700}.detail-card-total{font-family:var(--serif);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.detail-card-mode{color:var(--ink-soft);margin-bottom:6px;font-size:13px}.detail-card-meta{color:var(--ink-mute);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.detail-card-total-row{background:var(--paper-deep);border:1px solid var(--hair);justify-content:space-between;align-items:center;display:flex}.detail-card-total-row .detail-card-leg{font-size:14px}.detail-card-total-row .detail-card-total{font-size:18px}.food-grid{flex-direction:column;gap:10px;display:flex}.food-row{border-bottom:1px dashed var(--hair);grid-template-columns:220px 1fr 160px;align-items:start;gap:18px;padding:14px 4px;display:grid}.food-row:last-of-type{border-bottom:none}.food-segment{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;font-size:16px;font-weight:700}.food-approach{color:var(--ink-soft);text-wrap:pretty;font-size:14.5px;line-height:1.55}.food-daily{font-family:var(--serif);text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.conn-grid{grid-template-columns:1.4fr 1fr;gap:14px;display:grid}.conn-card{background:var(--cream);border:1px solid var(--hair-soft);border-radius:12px;padding:18px 18px 16px}.conn-card-primary{border-color:var(--hair);background:linear-gradient(#fffbf0 0%,#f4ecd4 100%)}.conn-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--vermillion);background:#c8462c1a;border-radius:999px;margin-bottom:10px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-block}.conn-badge-alt{color:var(--ink-mute);background:#6b72801a}.conn-title{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:700}.conn-price-row{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;margin:4px 0 10px;display:flex}.conn-price{font-family:var(--serif);color:var(--ink);font-size:22px;font-weight:700}.conn-price-sep{color:var(--ink-mute)}.conn-price-total{color:var(--ink-soft);font-size:13px;font-weight:600}.conn-detail{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:14px;line-height:1.55}.caveat-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.caveat-card{border:1px solid var(--hair);background:var(--cream);border-radius:12px;padding:16px 18px;position:relative}.caveat-high{background:linear-gradient(#fff1ec 0%,#ffe2d7 100%);border-color:#c8462c4d}.caveat-med{background:linear-gradient(#fff8e0 0%,#ffefc6 100%);border-color:#d9a53d59}.caveat-low{background:var(--cream);border-color:var(--hair-soft)}.caveat-tag{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:700;display:inline-flex}.caveat-dot{border-radius:50%;width:8px;height:8px}.caveat-title{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;text-wrap:pretty;margin:0 0 6px;font-size:17px;font-weight:700;line-height:1.2}.caveat-body{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:14px;line-height:1.55}.reservation-row-wrap{border-top:1px dashed var(--hair);transition:opacity .15s}.reservation-row-wrap.checked .reservation-row{opacity:.55}.reservation-row-wrap.checked .reservation-what{text-decoration:line-through}.reservation-row-wrap .reservation-row{cursor:default;border-top:none;grid-template-columns:28px 200px 1fr auto auto;align-items:center;gap:16px;padding:14px 0;display:grid}.reservation-row-wrap .reservation-row:hover{transform:none}.check-box-btn{cursor:pointer;background:0 0;border:2px solid #c9bc9a;border-radius:6px;place-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:grid}.check-box-btn:hover{border-color:var(--vermillion)}.booking-toggle{border:1px solid var(--hair);color:var(--ink-soft);white-space:nowrap;background:0 0;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;transition:all .15s}.booking-toggle:hover{border-color:var(--vermillion);color:var(--vermillion);background:#c8462c0f}.booking-toggle[aria-expanded=true]{background:var(--paper-deep);color:var(--ink);border-color:var(--ink)}.booking-saved-badge{letter-spacing:.04em;text-transform:uppercase;color:#4a6a2f;vertical-align:2px;background:#7b9a562e;border:1px solid #7b9a5659;border-radius:999px;align-items:center;gap:4px;margin-left:10px;padding:2px 7px;font-size:10.5px;font-weight:700;text-decoration:none;display:inline-flex}.reservation-row-wrap.checked .booking-saved-badge{opacity:.85;text-decoration:none}.booking-form{background:var(--paper-deep);border:1px solid var(--hair);border-radius:10px;margin:0 0 18px;padding:16px 16px 12px;animation:.18s bookingOpen}@keyframes bookingOpen{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.booking-fields{grid-template-columns:repeat(2,1fr);gap:10px 14px;display:grid}.booking-field{flex-direction:column;gap:4px;display:flex}.booking-field-full{grid-column:1/-1}.booking-field label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);font-size:11px;font-weight:700}.booking-field input,.booking-field textarea{width:100%;font-family:var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--hair);resize:vertical;border-radius:8px;outline:none;padding:9px 11px;font-size:14px;transition:border-color .15s,box-shadow .15s}.booking-field input:focus,.booking-field textarea:focus{border-color:var(--vermillion);box-shadow:0 0 0 3px #c8462c26}.booking-form-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.booking-saved-inline{color:#4a6a2f;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.booking-saved-empty{color:var(--ink-mute)}.booking-clear{color:var(--ink-mute);text-underline-offset:3px;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;text-decoration:underline}.booking-clear:hover{color:var(--vermillion)}.reservation-list .reservation-row-wrap:first-child{border-top:none}.login-page{place-items:center;min-height:100vh;padding:32px 20px;display:grid}.login-card{background:var(--paper);border:1px solid var(--hair);border-radius:18px;width:100%;max-width:420px;padding:36px 32px 28px;position:relative;box-shadow:inset 0 1px #fff9,0 20px 40px -28px #1a1f2e47}.login-brand{align-items:center;gap:10px;margin-bottom:24px;display:flex}.login-title{font-family:var(--serif);letter-spacing:-.02em;flex-direction:column;gap:4px;margin:4px 0 10px;font-size:42px;font-weight:800;line-height:1;display:flex}.login-title .hero-jp{color:var(--vermillion);opacity:.85;font-size:.45em}.login-sub{font-family:var(--hand);color:var(--ink-soft);margin:0 0 24px;font-size:22px;transform:rotate(-.5deg)}.login-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.login-input{width:100%;font-family:var(--sans);color:var(--ink);background:var(--cream);border:1.5px solid var(--hair);border-radius:10px;outline:none;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}.login-input:focus{border-color:var(--vermillion);background:var(--paper);box-shadow:0 0 0 4px #c8462c26}.login-input-error{border-color:var(--vermillion);background:#fff3ef}.login-error{color:var(--vermillion);margin:10px 0 0;font-size:13px;font-weight:600}.login-button{width:100%;font-family:var(--sans);letter-spacing:.01em;background:var(--vermillion);color:var(--cream);border:none;border-radius:999px;margin-top:18px;padding:12px 16px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 6px 18px -10px #c8462c8c}.login-button:hover{background:#b53d26;transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.login-foot{font-family:var(--hand);color:var(--ink-soft);text-align:center;margin:24px 0 0;font-size:18px;transform:rotate(-.5deg)}@media (max-width:860px){.topnav-inner{gap:12px;padding:10px 16px}.topnav-links{display:none}.hero{padding:32px 16px 12px}.main{padding:12px 16px 60px}.day-card{padding:18px}.day-card-grid{grid-template-columns:1fr;gap:12px}.day-card-left{border-right:none;border-bottom:1px dashed var(--hair);align-items:center;gap:16px;padding:0 0 12px;display:flex}.day-num-row{margin:0}.day-num{font-size:48px}.day-card:before{top:0;bottom:0;left:0}.block{padding:20px}.reservation-row-wrap .reservation-row{grid-template-columns:22px 1fr auto;grid-template-areas:"chk when pri""chk what what"".toggle toggle";gap:8px 10px}.reservation-row-wrap .check-box-btn{grid-area:chk;align-self:start;margin-top:2px}.reservation-row-wrap .reservation-when{grid-area:when;font-size:11px}.reservation-row-wrap .reservation-what{grid-area:what;font-size:14.5px}.reservation-row-wrap>.reservation-row>.chip{grid-area:pri;justify-self:end}.reservation-row-wrap .booking-toggle{grid-area:toggle;justify-self:start}.booking-saved-badge{margin-left:8px}.booking-fields,.toddler-grid,.budget-grid{grid-template-columns:1fr}.block-head{flex-direction:column;align-items:flex-start}.reservations-progress{align-items:flex-start}.detail-table{display:none}.detail-cards{display:flex}.food-row{grid-template-columns:1fr;gap:6px}.food-daily{text-align:left}.conn-grid,.caveat-grid{grid-template-columns:1fr}.block-total{text-align:left}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
