.wrap{width:100%;max-width:1120px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.btn{min-height:48px;font:700 1rem/1.2 var(--font-body);cursor:pointer;text-align:center;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.7;cursor:progress}.btn-primary{background:var(--roof-ink);color:var(--on-roof)}.btn-primary:hover{filter:brightness(1.07)}.btn-line{color:var(--ink);border-color:var(--line);background:0 0}.btn-wa{background:var(--wa);color:var(--on-wa)}.hero{background:var(--sky);position:relative;overflow:hidden}.hero .rain{width:100%;height:100%;display:block;position:absolute;inset:0}.house{--apex:24px;--eave:76px;padding:clamp(76px,12vw,128px) clamp(4px,3vw,44px) clamp(22px,4vw,44px);position:relative}.house:before{content:"";background:var(--paper);clip-path:polygon(0 var(--eave), 50% var(--apex), 100% var(--eave), 100% 100%, 0 100%);position:absolute;inset:0}.house>*{position:relative}.hero-grid{gap:14px;display:grid}@media (width>=900px){.hero-grid{grid-template-columns:1fr 1fr;align-items:end;gap:56px}}.hero h1{letter-spacing:-.01em;max-width:15ch;font-size:clamp(2rem,7vw,3.3rem)}.hero .lead{color:var(--muted);max-width:32em;font-size:clamp(1rem,2.3vw,1.15rem)}.next{background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;margin-top:16px;padding:14px 14px 14px 18px;display:grid}.next .bar{grid-column:1/-1}.next-need{font-weight:700}.next-when{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.92rem}.next .btn{padding-inline:20px}.bar{grid-template-columns:repeat(5,1fr);gap:4px;height:6px;display:grid}.bar i{background:var(--bar-empty);border-radius:3px}.bar i.on{background:var(--boot)}.is-ok .bar i.on{background:var(--ok)}.price{background:var(--boot);color:#1d2a1f}.price .wrap{align-items:center;gap:6px 32px;padding-block:18px;display:grid}@media (width>=760px){.price .wrap{grid-template-columns:auto minmax(0,1fr) auto;padding-block:22px}}.price-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(1.8rem,6vw,2.5rem);font-weight:900;line-height:1}.price-num small{margin-top:6px;font-size:.95rem;display:block}.price-txt{max-width:42em;font-size:.95rem}.price-sum{font-variant-numeric:tabular-nums;background:#ffffff8c;border-radius:999px;justify-self:start;padding:8px 14px;font-weight:700}@media (width<=759px){.price-sum{display:none}}.book{padding-block:36px 56px}.book-grid{gap:32px;display:grid}@media (width>=960px){.book-grid{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:40px}}.sec-h{gap:6px;margin-bottom:16px;display:grid}.sec-h h2{font-size:clamp(1.6rem,4.6vw,2.1rem)}.sec-h p{color:var(--muted)}.week+.week{margin-top:20px}.week-h{color:var(--muted);margin-bottom:8px;font-size:.95rem;font-weight:700}.terms{gap:8px;display:grid}.term{background:var(--surface);border:2px solid var(--line);cursor:pointer;border-radius:16px;grid-template-columns:50px minmax(0,1fr) 30px;align-items:center;gap:12px;padding:12px 14px 12px 10px;display:grid;position:relative}.term:hover{border-color:var(--roof)}.term input{opacity:0;width:1px;height:1px;position:absolute}.term:has(input:focus-visible){outline:3px solid var(--boot);outline-offset:2px}.term:has(input:checked){border-color:var(--roof-ink);box-shadow:inset 0 0 0 1px var(--roof-ink)}.term.is-last{background:var(--boot-soft);border-color:var(--boot)}.term.is-ok{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.t-date{text-align:center}.t-date b{font-family:var(--font-display);font-size:1.35rem;font-weight:900;line-height:1;display:block}.t-date span{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:.8rem;display:block}.t-main{gap:5px;min-width:0;display:grid}.t-time{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:1.05rem;font-weight:700;display:flex}.t-time em{color:var(--roof-ink);font-size:.8rem;font-style:normal;font-weight:600}.tag{background:var(--wash);color:var(--roof-ink);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.t-need{font-size:.92rem;font-weight:600}.t-need small{color:var(--muted);font-weight:400}.is-ok .t-need{color:var(--ok)}.check{border:2px solid var(--line);background:var(--surface);border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.check svg{opacity:0;width:18px;height:18px;color:var(--on-roof)}.term:has(input:checked) .check{background:var(--roof-ink);border-color:var(--roof-ink)}.term:has(input:checked) .check svg{opacity:1}.more{width:100%;margin-top:12px}@media (width>=960px) and (height>=860px){.form-col{position:sticky;top:80px}}.form-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.form-head{background:var(--wash);gap:4px;padding:18px 20px;display:grid}.form-head h2{font-size:1.5rem}.form-head p{color:var(--muted);font-size:.95rem}#signupForm,.done{gap:16px;padding:20px;display:grid}.remembered{color:var(--muted);background:var(--wash);border-radius:12px;padding:10px 12px;font-size:.9rem}.remembered button{color:var(--roof-ink);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.field{gap:6px;min-width:0;display:grid}.lbl{font-weight:600}.hint{color:var(--muted);font-size:.85rem}.err{color:var(--err);font-size:.9rem;font-weight:600}.picked{flex-wrap:wrap;gap:8px;display:flex}.pill{background:var(--wash);border-radius:999px;align-items:center;gap:2px;padding:4px 4px 4px 12px;font-size:.9rem;font-weight:600;display:inline-flex}.pill button{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.15rem}.pill button:hover{background:var(--surface);color:var(--ink)}.pick-empty{color:var(--muted);font-size:.95rem}#signupForm input[type=text],#signupForm input[type=email],#signupForm select,#signupForm textarea{border:2px solid var(--line);background:var(--paper);width:100%;min-height:48px;color:var(--ink);border-radius:12px;padding:10px 14px;font-size:1rem}#signupForm input:focus,#signupForm select:focus,#signupForm textarea:focus{border-color:var(--roof-ink)}#signupForm [aria-invalid=true]{border-color:var(--err)!important}.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}@media (width<=350px){.row2{grid-template-columns:minmax(0,1fr)}}.stepper{border:2px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:46px minmax(0,1fr) 46px;display:grid;overflow:hidden}.stepper button{color:var(--roof-ink);font:700 1.35rem var(--font-body);cursor:pointer;background:0 0;border:0;min-height:46px}.stepper button:hover{background:var(--wash)}#signupForm .stepper input{border:0;border-inline:2px solid var(--line);text-align:center;background:0 0;border-radius:0;min-width:0;min-height:46px;padding:0;font-weight:700}.stepper input:focus-visible{outline-offset:-3px}.ages{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.ages label{color:var(--muted);gap:4px;font-size:.85rem;display:grid}details.opt summary{cursor:pointer;color:var(--roof-ink);min-height:32px;font-weight:600}details.opt[open] summary{margin-bottom:12px}.optin{cursor:pointer;align-items:flex-start;gap:12px;font-size:.95rem;display:flex}.optin input{width:22px;height:22px;accent-color:var(--roof-ink);flex:none;margin:2px 0 0}.after{color:var(--muted);border-top:1px solid var(--line);padding-top:14px;font-size:.85rem}.done h3{font-size:1.5rem}.done ul{gap:4px;margin:0;padding-left:1.2em;display:grid}.done .strong{font-weight:700}.done .again{font-weight:600}#rememberBox{gap:6px;display:grid}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.prep{background:var(--surface);border-top:1px solid var(--line);padding-block:48px}.prep-grid{gap:22px;display:grid}@media (width>=900px){.prep-grid{grid-template-columns:.9fr 1.1fr;gap:40px}}.place{background:var(--paper);border:1px solid var(--line);border-radius:20px;align-self:start;margin:0;overflow:hidden}.place img{aspect-ratio:720/473;object-fit:cover;width:100%;height:auto}.place figcaption{gap:6px;padding:16px 18px;display:grid}.place b{font-family:var(--font-display);font-size:1.2rem;font-weight:900}.credit{color:var(--muted);font-size:.75rem}.tiles{gap:14px;display:grid}@media (width>=560px){.tiles{grid-template-columns:1fr 1fr}}.tile{grid-template-columns:52px 1fr;align-items:start;gap:14px;display:grid}.ico{background:var(--wash);width:52px;height:52px;color:var(--roof-ink);border-radius:16px;place-items:center;display:grid}.ico svg{width:30px;height:30px}.tile h3{font-family:var(--font-body);font-size:1.05rem;font-weight:700;line-height:1.3}.tile p{color:var(--muted);margin-top:2px;font-size:.95rem}.faq{margin-top:26px;display:grid}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 0;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:900 1.3rem var(--font-display);color:var(--roof-ink)}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);padding-bottom:14px}.contact{background:var(--deep);color:var(--on-deep);padding-block:48px}.contact-grid{gap:24px;display:grid}@media (width>=900px){.contact-grid{grid-template-columns:1fr 1fr;align-items:center;gap:48px}}.contact h2{font-size:clamp(1.6rem,4.6vw,2.1rem)}.contact p{color:var(--on-deep-muted);margin-top:8px}.contact a{color:var(--on-deep)}.contact .btns{gap:10px;display:grid}.contact .btn-wa{color:var(--on-wa)}.contact .btn-line{color:var(--on-deep);border-color:color-mix(in srgb, var(--on-deep) 35%, transparent)}.contact-small{font-size:.92rem;line-height:1.9}.foot{background:var(--deep);color:var(--on-deep-muted);border-top:1px solid color-mix(in srgb, var(--on-deep) 14%, transparent);padding-block:22px 96px;font-size:.88rem}.foot a{color:var(--on-deep)}.dock{z-index:25;background:var(--ink);color:var(--paper);padding:10px max(16px, env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.dock p{min-width:0;font-weight:700}.dock .btn{background:var(--boot);color:#1d2a1f;flex:none}@media (width>=960px){.dock{display:none!important}}
