a,button{touch-action:manipulation}button,input,select{min-height:44px}button{border:0}a{text-underline-offset:4px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;background:var(--ink);color:white;text-decoration:none;font-weight:650;border:0;gap:12px}.button.light{background:var(--paper);color:var(--ink)}.button.blue{background:var(--cobalt);color:white}.button.outline{background:transparent;color:inherit;border:1.5px solid currentColor}.button:hover{filter:brightness(.9)}p{line-height:1.55}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.055em}button,input,a{transition:background-color .15s,color .15s}input,select{border:1.5px solid var(--ink);padding:12px;background:var(--paper);color:var(--ink);border-radius:0}button:disabled{opacity:.55}.demo-note{margin:24px 0 0}dialog{border:0;max-width:min(570px,calc(100% - 32px));padding:32px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(16,18,26,.65)}[hidden]{display:none!important}.status{min-height:1.5em;font-size:14px;line-height:1.5}.error{color:#A52016;font-size:14px;line-height:1.45}.error-summary{border:2px solid #A52016;padding:18px;background:#fff1eb;margin-bottom:20px}.error-summary a{display:block;padding:6px 0}.field{display:grid;gap:8px;margin-bottom:20px}.field label{font-weight:600;font-size:14px}[aria-invalid=true]{border:2px solid #A52016}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

body{background:var(--mint)}.app-stage{min-height:100vh;max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 440px;gap:12vw;align-items:start;padding:50px 35px}.app-caption{padding-top:30px;position:sticky;top:30px}.app-caption h1{font-size:clamp(60px,6vw,85px);line-height:.94;margin:55px 0 30px}.app-caption p{font-size:23px;line-height:1.4}.caption-fold{width:200px;height:210px;background:var(--cobalt);clip-path:polygon(0 0,100% 25%,40% 100%,40% 50%);transform:rotate(-12deg);margin-top:50px}.phone{border:7px solid var(--ink);border-radius:36px;background:var(--paper);overflow:clip;box-shadow:18px 24px 0 rgba(16,18,26,.1)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:26px 24px 20px}.app-header .wordmark{width:83px}.app-header>span{font-size:13px}.phone main{padding:0 21px 8px}.app-hero{background:var(--cobalt);color:white;position:relative;margin:0 -21px 20px;padding:27px 24px 20px;overflow:hidden}.app-hero>p:first-child{font-size:13px;margin-bottom:16px}.app-hero h2{font-size:56px;line-height:1;max-width:260px;margin-bottom:34px;position:relative;z-index:1}.hero-fold{position:absolute;right:-20px;top:58px;width:165px;height:210px;clip-path:polygon(0 0,100% 20%,50% 100%,32% 48%);background:var(--ember);transform:rotate(8deg)}.hero-detail{position:relative;font-size:12px;margin:0}.app-days{display:flex;gap:10px;align-items:center}.app-days button{display:flex;gap:12px;align-items:center;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);padding:12px 16px;font-size:13px}.app-days button strong{font-size:24px}.app-days button[aria-pressed=true]{background:var(--ink);color:white}.app-days p{margin:0 0 0 auto;font-size:12px;line-height:1.4}.search-wrap{position:relative;margin:22px 0}.search-wrap input{width:100%;padding-left:43px;border:1px solid #5c5e64;background:white}.search-wrap svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.8;position:absolute;left:13px;top:14px}.list-heading{display:flex;justify-content:space-between;align-items:center;margin:24px 0 10px}.list-heading h3{font-size:19px;margin:0}.list-heading>span{font-size:12px}.app-session{display:grid;grid-template-columns:54px 1fr 44px;gap:12px;padding:24px 0;border-bottom:1px solid #b9bab9;align-items:start}.app-session .session-time{font-size:13px;padding-top:3px;line-height:1.5}.app-session h3{font-size:20px;font-weight:650;letter-spacing:-.045em;line-height:1.2;margin-bottom:8px}.app-session p{font-size:12px;line-height:1.6;margin:0}.save-btn{border:1px solid var(--ink);background:var(--paper);border-radius:50%;height:44px;width:44px;font-size:26px;line-height:1}.save-btn[aria-pressed=true]{background:var(--cobalt);color:white;border-color:var(--cobalt)}.app-nav{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1.3fr 1fr;background:var(--paper);border-top:1px solid var(--ink);padding:10px 8px max(12px,env(safe-area-inset-bottom));z-index:4}.app-nav button{background:transparent;color:var(--ink);font-size:11px;display:flex;align-items:center;gap:5px;justify-content:center;flex-wrap:wrap;padding:4px}.app-nav button>span{font-size:23px;width:100%;height:24px;line-height:1}.app-nav button[aria-pressed=true]{color:var(--cobalt);font-weight:700}.app-nav b{font-size:10px;background:var(--cobalt);color:white;border-radius:20px;padding:2px 5px}.phone .demo-note{font-size:11px;margin:12px 0}.view-kicker{margin:25px 0 12px;font-size:14px}.view-title{font-size:48px;line-height:1.05;margin-bottom:22px}.phone section>p{font-size:14px}.empty{padding:28px 20px;background:var(--petal);line-height:1.5;margin-top:20px}.app-map{height:260px;background:var(--mint);overflow:hidden;position:relative;margin:25px 0}.map-river{position:absolute;background:var(--cobalt);width:70px;height:380px;transform:rotate(23deg);left:50px;top:-40px}.app-map>div{position:absolute;left:47%;top:40px;padding:22px 16px;background:var(--paper);font-size:22px;letter-spacing:-.04em;box-shadow:8px 8px 0 var(--ink)}.app-map strong{display:block;margin-top:15px}.visit-facts>div{border-top:1px solid var(--ink);padding:15px 0;font-size:14px}.visit-facts dt{font-weight:600}.visit-facts dd{margin:8px 0 0}.phone #app-status{margin:20px 0 0;color:var(--cobalt)}@media(max-width:700px){body{background:var(--paper)}.app-stage{display:block;padding:0;max-width:480px}.app-caption{display:none}.phone{border:0;border-radius:0;box-shadow:none;overflow:visible;min-height:100vh}.app-header{padding-top:max(23px,env(safe-area-inset-top))}.phone main{min-height:calc(100vh - 166px)}.app-nav{position:sticky;bottom:0}.app-hero h2{font-size:55px}}