/* Wakuwaku Stroll site styles
   Palette is taken from the logo: torii red, lantern sand, cat cream, cheek blush, black ink outlines. */


:root{
  --ink:#000;
  --paper:#FFF7EC;      /* the cat's fur */
  --white:#FFFCF8;
  --sand:#ECCFB7;       /* lantern paper */
  --blush:#F6CFC9;      /* cheeks */
  --blush-soft:#FBE6E0;
  --red:#C4474D;        /* torii */
  --red-deep:#8B3437;
  --salmon:#E6896A;     /* tie beam */
  --salmon-soft:#F3BCA5;
  --taupe:#C19285;
  --brown:#745A55;
  --text:#3A2924;
  --line:3px solid var(--ink);
  --display:Verdana,Geneva,"DejaVu Sans","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --body:Verdana,Geneva,"DejaVu Sans","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --blob:28px 18px 30px 20px / 20px 30px 18px 28px;
  --petals:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' viewBox='0 0 280 280'%3E%3Cg fill='%23F6CFC9' opacity='.75'%3E%3Cpath transform='translate(44 56) rotate(20)' d='M0-9C6-9 8-2 4 5L0 2-4 5C-8-2-6-9 0-9Z'/%3E%3Cpath transform='translate(200 38) rotate(-35) scale(1.25)' d='M0-9C6-9 8-2 4 5L0 2-4 5C-8-2-6-9 0-9Z'/%3E%3Cpath transform='translate(120 150) rotate(70) scale(.9)' d='M0-9C6-9 8-2 4 5L0 2-4 5C-8-2-6-9 0-9Z'/%3E%3Cpath transform='translate(236 196) rotate(150) scale(1.1)' d='M0-9C6-9 8-2 4 5L0 2-4 5C-8-2-6-9 0-9Z'/%3E%3Cpath transform='translate(40 232) rotate(-80)' d='M0-9C6-9 8-2 4 5L0 2-4 5C-8-2-6-9 0-9Z'/%3E%3C/g%3E%3C/svg%3E");
  --sakura:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23fff' stroke='%23745A55' stroke-width='1.3' stroke-linejoin='round'%3E%3Cpath d='M12 12C8.6 9.4 8.8 4.4 12 2.2c3.2 2.2 3.4 7.2 0 9.8z'/%3E%3Cpath transform='rotate(72 12 12)' d='M12 12C8.6 9.4 8.8 4.4 12 2.2c3.2 2.2 3.4 7.2 0 9.8z'/%3E%3Cpath transform='rotate(144 12 12)' d='M12 12C8.6 9.4 8.8 4.4 12 2.2c3.2 2.2 3.4 7.2 0 9.8z'/%3E%3Cpath transform='rotate(216 12 12)' d='M12 12C8.6 9.4 8.8 4.4 12 2.2c3.2 2.2 3.4 7.2 0 9.8z'/%3E%3Cpath transform='rotate(288 12 12)' d='M12 12C8.6 9.4 8.8 4.4 12 2.2c3.2 2.2 3.4 7.2 0 9.8z'/%3E%3C/g%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:400 1rem/1.7 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--red-deep);text-underline-offset:.2em}
a:hover{color:var(--red)}
h1,h2,h3,p,ul,ol{margin-top:0}
h1,h2{font-family:var(--display);font-weight:700;color:var(--ink);letter-spacing:.005em}
h1{font-size:clamp(2.05rem,5vw,3.7rem);line-height:1.14;margin-bottom:1.2rem;text-wrap:balance}
h2{font-size:clamp(1.6rem,3.6vw,2.5rem);line-height:1.2;margin-bottom:.8rem;text-wrap:balance}
h3{font:700 1.2rem/1.3 var(--body);color:var(--ink);margin-bottom:.4rem}
p{margin-bottom:1rem}
:focus-visible{outline:3px dashed var(--red-deep);outline-offset:3px;border-radius:6px}

.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.sec{padding:clamp(3.5rem,8vw,6rem) 0}
.sub{max-width:56ch;color:var(--brown);font-size:1.15rem}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}
.ic{width:1.7rem;height:1.7rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- navigation ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.4rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}
.brand img{width:44px;height:44px}
.brand span{font:700 1.1rem/1 var(--body);color:var(--ink)}
.menu{display:flex;align-items:center;gap:1.6rem}
.menu a{font-weight:700;text-decoration:none;color:var(--ink)}
.menu a.btn,.menu a.btn:hover{color:#fff}
.menu a:not(.btn):hover{text-decoration:underline wavy var(--red);text-underline-offset:.35em}
.menu a[aria-current="page"]:not(.btn){text-decoration:underline wavy var(--red);text-underline-offset:.35em}
.nav-toggle{display:none;font:700 1rem var(--body);background:#fff;color:var(--ink);border:var(--line);border-radius:999px;padding:.4rem 1rem;cursor:pointer}

/* ---------- buttons and small parts ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:700 .95rem/1.2 var(--body);color:#fff;background:var(--red);border:var(--line);border-radius:999px;padding:.8rem 1.6rem;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease}
.btn:hover{color:#fff;background:var(--red-deep);transform:translateY(-2px) rotate(-1deg)}
.btn.small{padding:.5rem 1.1rem;font-size:.98rem}
.btn.ghost{background:#fff;color:var(--ink)}
.btn.ghost:hover{background:var(--blush);color:var(--ink)}
.btn.light{background:#fff;color:var(--ink)}
.btn.light:hover{background:var(--blush);color:var(--ink)}
.stamp{display:inline-block;margin:0 0 1.2rem;padding:.3rem 1rem;background:var(--blush);color:var(--ink);font-weight:700;font-size:.9rem;border:var(--line);border-radius:999px;transform:rotate(-2.5deg)}
.actions{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.6rem 0 1rem}
.fine{font-size:.98rem;color:var(--brown);max-width:48ch}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--paper) var(--petals);padding:clamp(2rem,5vw,4.5rem) 0 clamp(3rem,7vw,5.5rem)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:2rem;align-items:center}
.lede{font-size:1.1rem;line-height:1.7;max-width:34em}
.hero-art{position:relative;width:100%;max-width:560px;margin-inline:auto;aspect-ratio:1000/824}
.hero-art img{position:absolute;inset:0;width:100%;height:100%}
.hero-art .torii{animation:gate-in .7s ease-out backwards}
.hero-art .cat{transform-origin:50% 96%;transition:transform .25s ease;animation:cat-hop 1.25s .55s cubic-bezier(.3,.7,.4,1) backwards}
.hero-art:hover .cat{transform:translateY(-2.5%) rotate(-1.5deg)}
@keyframes gate-in{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
@keyframes cat-hop{
  0%{opacity:0;transform:translate(-20%,12%) rotate(-9deg)}
  45%{opacity:1;transform:translate(-7%,-9%) rotate(4deg)}
  70%{transform:translate(0,0) rotate(-1deg)}
  85%{transform:translate(0,-3%) rotate(0)}
  100%{opacity:1;transform:none}
}

/* ---------- band ---------- */
.band{background:var(--red);border-block:var(--line);color:#fff}
.band ul{list-style:none;margin:0 auto;padding:.9rem 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.4rem;font-weight:700}
.band li{display:flex;align-items:center;gap:1.4rem}
.band li+li::before{content:"";width:1.3rem;height:1.3rem;background:var(--sakura) center/contain no-repeat;margin-left:-.1rem}

/* ---------- why ---------- */
.why{background:var(--white)}
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.why-head{position:sticky;top:6.5rem}
.why-head .peek{width:min(210px,52%);margin-top:1.4rem;transform:rotate(-4deg)}
.why-list{list-style:none;margin:0;padding:0}
.why-list li{display:grid;grid-template-columns:3.6rem 1fr;gap:1.1rem;padding:1.6rem 0;border-bottom:2px dashed var(--taupe)}
.why-list li:first-child{padding-top:0}
.why-list li:last-child{border-bottom:0}
.why-ic{width:3.6rem;height:3.6rem;display:grid;place-items:center;background:var(--blush);border:var(--line);border-radius:50%}
.why-ic .ic{width:1.8rem;height:1.8rem;color:var(--ink)}
.why-list p{margin:0}

/* ---------- flavors (ema plaques) ---------- */
.flavors{background:var(--blush-soft);overflow:hidden}
.flavors .sub{margin-bottom:2.2rem}
.ema-row{--drop:2.3rem;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.1rem;position:relative}
.ema-row::before{content:"";position:absolute;left:-2rem;right:-2rem;top:0;border-top:var(--line)}
.ema-wrap{position:relative;padding-top:var(--drop)}
.ema-wrap:nth-child(even){--drop:3.8rem}
.ema-wrap::before{content:"";position:absolute;left:50%;top:0;width:3px;height:calc(var(--drop) + 12px);background:var(--ink);transform:translateX(-50%)}
.ema{--fill:var(--sand);--tilt:-1.5deg;position:relative;display:block;height:100%;padding:3.1rem 1.1rem 1.4rem;background:var(--ink);transform-origin:50% 0;transform:rotate(var(--tilt));transition:transform .3s ease;clip-path:polygon(0 30px,50% 0,100% 30px,100% 100%,0 100%)}
.ema::before{content:"";position:absolute;inset:3px;background:var(--fill);clip-path:polygon(0 28px,50% 0,100% 28px,100% 100%,0 100%)}
.ema>*{position:relative}
.ema:hover{transform:rotate(calc(var(--tilt) * -1.4))}
.ema-wrap:nth-child(2) .ema{--fill:var(--paper);--tilt:1.6deg}
.ema-wrap:nth-child(3) .ema{--fill:var(--salmon-soft);--tilt:-1deg}
.ema-wrap:nth-child(4) .ema{--fill:var(--sand);--tilt:2deg}
.ema-wrap:nth-child(5) .ema{--fill:var(--paper);--tilt:-1.8deg}
.ema .ic{width:2.3rem;height:2.3rem;color:var(--ink);margin-bottom:.5rem}
.ema h3{font-size:1.2rem}
.ema p{font-size:.98rem;line-height:1.55;margin:0}
.more{margin:2.2rem 0 0;font-weight:700}

/* ---------- prices ---------- */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin:2rem 0 1.4rem}
.price{padding:1.8rem 1.8rem 1.6rem;border:var(--line);border-radius:var(--blob);background:var(--blush)}
.price:nth-child(2){background:var(--sand);border-radius:20px 30px 18px 28px / 30px 18px 28px 20px}
.price h3{font-size:1.15rem;margin-bottom:0}
.amt{font:700 clamp(2.1rem,5vw,3rem)/1.1 var(--display);color:var(--ink);margin:.2rem 0 .1rem}
.per{font-weight:700;color:var(--red-deep);margin-bottom:1.1rem}
.price ul{list-style:none;margin:0;padding:1rem 0 0;border-top:2px dashed var(--ink)}
.price li{position:relative;padding-left:1.9rem;margin-bottom:.4rem}
.price li::before{content:"";position:absolute;left:0;top:.3em;width:1.25rem;height:1.25rem;background:var(--sakura) center/contain no-repeat}
.note{max-width:62ch;color:var(--brown);font-size:1rem}

/* ---------- food ---------- */
.food{background:var(--sand);border-block:var(--line)}
.food .sub{color:var(--text)}
.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,2.6rem);margin-top:2rem}
.food-grid>div{padding-top:1.4rem;border-top:3px dotted var(--ink)}
.food-ic{width:3.6rem;height:3.6rem;display:grid;place-items:center;background:var(--white);border:var(--line);border-radius:50%;margin-bottom:.9rem}
.food-ic .ic{width:1.9rem;height:1.9rem;color:var(--ink)}
.food-grid p{margin:0}

/* ---------- how it works ---------- */
.steps{list-style:none;margin:2.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;counter-reset:s;position:relative}
.steps li{position:relative;counter-increment:s}
.steps li::before{content:counter(s);position:relative;display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:1rem;background:var(--red);color:#fff;font:700 1.25rem var(--body);border:var(--line);border-radius:50%}
.steps li:not(:last-child)::after{content:"";position:absolute;top:1.5rem;left:3.4rem;right:-1.3rem;border-top:3px dotted var(--ink)}
.steps p{margin:0}

/* ---------- reassurance ---------- */
.safe{background:var(--blush)}
.safe-in{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center}
.safe img{width:clamp(110px,16vw,170px);transform:rotate(3deg)}
.jp{font:700 clamp(1.35rem,2.6vw,1.9rem)/1.5 var(--body);color:var(--ink);max-width:28em;margin-bottom:.6rem}
.safe p:last-child{margin:0;color:var(--text);max-width:52ch}

/* ---------- guides teaser ---------- */
.teaser{background:var(--white)}
.teaser-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 3rem}
.teaser h2{max-width:14em}
.teaser p{max-width:46ch;margin-bottom:0}

/* ---------- faq ---------- */
.faq{background:var(--paper)}
.faq-wrap{display:grid;grid-template-columns:minmax(0,820px) 1fr;gap:3rem;align-items:end;margin-top:2rem}
.faq-list{max-width:820px}
.faq-cat{width:min(230px,100%);justify-self:center;transform:rotate(4deg)}
.faq details{border:var(--line);border-radius:18px;background:#fff;margin:0 0 .9rem;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:1.05rem 3.4rem 1.05rem 1.3rem;font-weight:700;color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);font:700 1.7rem/1 var(--body);color:var(--red);transition:transform .2s ease}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details[open]{background:var(--white)}
.faq details p{padding:0 1.3rem 1.2rem;margin:0}

/* ---------- call to action ---------- */
.cta{position:relative;background:var(--red);color:#fff;border-top:var(--line);text-align:center;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:var(--petals);opacity:.28;pointer-events:none}
.cta>*{position:relative}
.cta h2{color:#fff;margin-inline:auto;max-width:18em}
.cta p{max-width:46ch;margin:0 auto 1.6rem}
.cta .ig{margin:1.4rem auto 0;font-size:1rem}
.cta a:not(.btn){color:#fff}

/* ---------- footer ---------- */
.foot{background:var(--sand);border-top:var(--line);padding:3rem 0 1.6rem;font-size:1rem}
.foot-grid{display:grid;grid-template-columns:auto 1.3fr 1fr;gap:2rem 3rem;align-items:start}
.foot-logo{width:150px}
.foot p{margin-bottom:.7rem;max-width:44ch}
.foot nav{display:flex;flex-direction:column;gap:.35rem}
.foot nav a{font-weight:700;color:var(--ink)}
.foot .copy{margin:2.4rem auto 0;max-width:none;font-size:.92rem;color:var(--text)}

/* ---------- inner pages ---------- */
.page-hero{background:var(--paper) var(--petals);padding:clamp(2.6rem,6vw,4.4rem) 0 clamp(2rem,4vw,3rem);border-bottom:var(--line)}
.page-hero .lede{margin:0}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.checks{list-style:none;margin:1.2rem 0 0;padding:0}
.checks li{position:relative;padding:.35rem 0 .35rem 2.2rem}
.checks li::before{content:"";position:absolute;left:0;top:.55rem;width:1.5rem;height:1.5rem;background:var(--sakura) center/contain no-repeat}
.panel{border:var(--line);border-radius:var(--blob);background:var(--blush);padding:1.6rem}
.panel p:last-child{margin:0}
.empty{display:grid;grid-template-columns:auto 1fr;gap:1.6rem;align-items:center;max-width:720px;border:3px dashed var(--ink);border-radius:var(--blob);background:var(--white);padding:1.6rem}
.empty img{width:110px}
.empty p{margin:0}
.guide{border:var(--line);border-radius:var(--blob);background:var(--sand);padding:1.4rem}
.avatar{width:96px;height:96px;border:var(--line);border-radius:50%;overflow:hidden;background:var(--blush);margin-bottom:.8rem}
.avatar img{width:100%;height:100%;object-fit:cover}

.timeline{list-style:none;margin:2rem 0 0 .8rem;padding:0;border-left:3px dotted var(--ink)}
.timeline li{position:relative;display:grid;grid-template-columns:9.5rem 1fr;gap:.2rem 1.4rem;padding:0 0 1.7rem 2rem}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-.98rem;top:.3rem;width:1.35rem;height:1.35rem;border:var(--line);border-radius:50%;background:var(--blush)}
.timeline .t{font-weight:700;color:var(--red-deep)}
.timeline h3{margin:0}
.timeline p{margin:0}
.pill{display:inline-block;margin-left:.5rem;padding:0 .7rem;font-size:.85rem;font-weight:700;border:2px solid var(--ink);border-radius:999px;background:var(--sand);color:var(--ink);vertical-align:.1em}
.walk-block+.walk-block{margin-top:clamp(3rem,7vw,5rem)}
.walk-meta{display:inline-block;margin-bottom:.6rem;padding:.2rem .9rem;background:var(--sand);border:var(--line);border-radius:999px;font-weight:700;color:var(--ink)}
.flavor-list{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.flavor-list li{display:grid;grid-template-columns:3.4rem 1fr;gap:1rem;padding:1.2rem;border:var(--line);border-radius:var(--blob);background:var(--white)}
.flavor-list li:nth-child(even){background:var(--blush-soft)}
.flavor-list li:last-child:nth-child(odd){grid-column:1 / -1}
.flavor-list p{margin:0}

.side .panel h2{font:700 1.2rem/1.3 var(--body);color:var(--ink);margin-bottom:.4rem}

/* ---------- legal pages ---------- */
.tax{font:400 1rem var(--body);color:var(--text);margin-left:.4rem}
.legal{max-width:820px}
.legal h2{font-size:clamp(1.5rem,3vw,2rem);margin:2.2rem 0 .5rem}
.legal h3{margin:1.6rem 0 .3rem}
.legal ul{padding-left:1.3rem}
.legal li{margin-bottom:.4rem}
.legal hr{border:0;border-top:3px dotted var(--ink);margin:3rem 0 1rem}
.updated{color:var(--brown);font-size:.95rem}
table.policy{width:100%;border-collapse:collapse;margin:1rem 0 2rem;background:#fff;border:var(--line)}
table.policy th,table.policy td{border:2px solid var(--ink);padding:.7rem .9rem;text-align:left;vertical-align:top}
table.policy thead th{background:var(--blush);font-weight:700;color:var(--ink)}
table.policy caption{text-align:left;font-weight:700;color:var(--ink);padding-bottom:.4rem}
.legal-table th[scope=row]{width:30%;background:var(--blush-soft);color:var(--ink)}
.legal-links{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:2rem auto 0;font-size:.95rem}
.legal-links a{font-weight:700;color:var(--ink)}

/* ---------- booking page ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1rem}
.tab{font:700 .95rem/1.2 var(--body);color:var(--ink);background:#fff;border:var(--line);border-radius:999px;padding:.7rem 1.4rem;cursor:pointer;transition:background .15s ease}
.tab:hover{background:var(--blush)}
.tab[aria-selected="true"]{background:var(--red);color:#fff}
.cal-embed{width:100%;min-height:640px;margin-top:1rem;border:var(--line);border-radius:var(--blob);background:#fff;overflow:hidden}
.cal-fallback{margin:1rem 0 0;font-size:1rem;color:var(--brown)}
.notice{max-width:640px}
.notice h2{font-size:clamp(1.8rem,3.6vw,2.4rem)}
#preview-note,#book-error{margin-bottom:1.4rem}

/* ---------- waitlist form ---------- */
.form-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.form{border:var(--line);border-radius:var(--blob);background:var(--white);padding:clamp(1.3rem,3vw,2.2rem)}
.field{margin-bottom:1.3rem}
.field>label,.field>legend{display:block;font-weight:700;color:var(--ink);margin-bottom:.4rem;padding:0}
fieldset.field{border:0;padding:0;margin-inline:0;min-width:0}
.hint{display:block;font-weight:400;color:var(--brown);font-size:.95rem}
.form input[type=text],.form input[type=email],.form select,.form textarea{width:100%;font:400 1.05rem var(--body);color:var(--text);background:#fff;border:var(--line);border-radius:14px;padding:.7rem .9rem}
.form textarea{min-height:7rem;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px dashed var(--red-deep);outline-offset:2px}
.choices{display:flex;flex-wrap:wrap;gap:.6rem}
.choices label{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .95rem;border:var(--line);border-radius:999px;background:#fff;font-weight:700;color:var(--ink);cursor:pointer}
.choices label:has(input:checked){background:var(--blush)}
.choices input{accent-color:var(--red);width:1.1rem;height:1.1rem}
.field>label.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;font-weight:400;color:var(--text);margin:0;cursor:pointer}
.consent input{accent-color:var(--red);width:1.2rem;height:1.2rem;margin-top:.3rem;flex:none}
.hp{position:absolute;left:-9999px}
.side img{width:min(260px,70%);margin:0 auto 1.4rem}
.thanks{text-align:center;padding:clamp(3rem,8vw,6rem) 0}
.thanks img{width:min(280px,64%);margin:0 auto 1.6rem}
.thanks p{max-width:40ch;margin-inline:auto}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .ema-row{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2rem}
  .ema-row::before,.ema-wrap::before{display:none}
  .ema-wrap,.ema-wrap:nth-child(even){--drop:0rem;padding-top:0}
  .steps{grid-template-columns:1fr 1fr}
  .steps li::after{display:none}
}
@media (max-width:800px){
  body{font-size:1.06rem}
  .nav-toggle{display:inline-flex}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:var(--line);padding:.6rem 1.25rem 1.2rem}
  .menu.open{display:flex}
  .menu a{padding:.7rem 0}
  .menu .btn{margin-top:.5rem}
  .hero-grid,.why-grid,.two-col,.form-grid{grid-template-columns:1fr}
  .faq-wrap{grid-template-columns:1fr}
  .faq-cat{display:none}
  .hero-art{order:-1;max-width:420px}
  .why-head{position:static}
  .price-grid,.food-grid,.flavor-list{grid-template-columns:1fr}
  .safe-in{grid-template-columns:1fr;justify-items:start}
  .foot-grid{grid-template-columns:1fr}
  .timeline li{grid-template-columns:1fr}
  .empty{grid-template-columns:1fr}
}
@media (max-width:620px){
  .ema-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
  .steps{grid-template-columns:1fr}
}
@media (max-width:420px){
  .ema-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ---------- home band + planner ---------- */
.plan-band{background:var(--white);border-block:var(--line)}
.plan-band-in{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;justify-content:space-between}
.plan-band .sub{margin-bottom:0}
.plan-band .actions{margin:0}
.tab[aria-checked="true"]{background:var(--red);color:#fff}
.planner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2.4rem 3rem;align-items:start}
.pl-settings,.pl-templates,.pl-wheel,.pl-browse,.pl-send{grid-column:1}
.pl-mine{grid-column:2;grid-row:1 / span 5;position:sticky;top:5.5rem;border:var(--line);border-radius:var(--blob);background:var(--white);padding:1.4rem}
.pl-settings h2,.pl-templates h2,.pl-wheel h2,.pl-browse h2,.pl-mine h2{font-size:1.3rem;margin-bottom:.6rem}
.pl-time{font:400 1rem var(--body);color:var(--text);border:var(--line);border-radius:12px;padding:.4rem .6rem;background:#fff;margin-left:.5rem}
.meter{height:.9rem;border:var(--line);border-radius:999px;background:#fff;overflow:hidden;margin:.4rem 0}
.meter-bar{height:100%;width:0;background:var(--red);transition:width .3s ease}
.meter-bar.over{background:var(--red-deep)}
.pl-total{font-weight:700;color:var(--ink);margin:.4rem 0 .8rem;font-size:.95rem}
.pl-list{padding-left:1.4rem;margin:0 0 1rem}
.pl-list li{padding:.6rem 0;border-bottom:2px dashed var(--taupe)}
.pl-list li>div:first-child{display:inline-block;width:calc(100% - 11.5rem);vertical-align:top}
.pl-when{display:block;font-size:.82rem;color:var(--brown)}
.pl-btns{display:inline-flex;gap:.3rem;float:right}
.pl-btns button{font:700 .72rem var(--body);color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:999px;padding:.25rem .55rem;cursor:pointer}
.pl-btns button:hover:not(:disabled){background:var(--blush)}
.pl-btns button:disabled{opacity:.4;cursor:default}
.pl-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0}
.pl-form{margin-top:1rem;max-width:560px}
.pl-send h2{font-size:1.3rem;margin-bottom:.6rem}
.pl-form h3{font-size:1.05rem;margin-bottom:.8rem}
.tpl-row{display:flex;flex-wrap:wrap;gap:.7rem}
.tpl-row .btn{font-size:.82rem;padding:.6rem 1rem}
.wheel-box{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:1.6rem;align-items:center}
.wheel-wrap{position:relative;width:100%;max-width:320px;margin-top:1.2rem}
.wheel{width:100%;height:auto;display:block}
#wheel-rot{transform-origin:160px 160px}
.wheel-pointer{position:absolute;left:50%;top:-14px;transform:translateX(-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:28px solid var(--ink);z-index:2}
.wheel-result{border:var(--line);border-radius:var(--blob);background:var(--white);padding:1rem 1.2rem;margin-top:1rem;min-height:7rem}
.wheel-result h3{font-size:1.05rem;margin-bottom:.3rem}
.wheel-result p{margin-bottom:.5rem}
.pl-cat{margin:0 0 .7rem;border:var(--line);border-radius:18px;background:#fff;overflow:hidden}
.pl-cat summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem;padding:.85rem 3.2rem .85rem 1.1rem;position:relative}.pl-cat summary::-webkit-details-marker{display:none}.pl-cat summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font:700 1.6rem/1 var(--body);color:var(--red);transition:transform .2s ease}.pl-cat[open] summary::after{transform:translateY(-50%) rotate(45deg)}.pl-cat summary:hover{background:var(--blush-soft)}.pl-cat[open] summary{border-bottom:2px dashed var(--taupe)}.pl-cat-name{font-weight:700;color:var(--ink)}.pl-cat-meta{font-size:.82rem;color:var(--brown)}.pl-cat-badge{font:700 .75rem/1 var(--body);color:#fff;background:var(--red);border-radius:999px;padding:.3rem .6rem}
.pl-cat ul{list-style:none;margin:0;padding:0 1.1rem}
.pl-cat li{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:2px dashed var(--taupe)}.pl-cat li:last-child{border-bottom:0}
.pl-cat li strong{display:block}
.pl-cat li span{display:block;font-size:.85rem;color:var(--brown)}
.pl-cat .btn:disabled{opacity:.55;cursor:default}
@media (max-width:900px){
  .planner{grid-template-columns:1fr}
  .pl-mine{grid-column:1;grid-row:auto;position:static}
  .wheel-box{grid-template-columns:1fr}
  .pl-list li>div:first-child{width:100%;display:block}
  .pl-btns{float:none;margin-top:.4rem;display:flex}
}
table.policy td,table.policy th{overflow-wrap:anywhere}

/* hour slider (v7) */
.hours-picker{max-width:560px;border:var(--line);border-radius:var(--blob);background:var(--blush);padding:1.6rem 1.8rem;margin:1.2rem 0 1.4rem}
.hp-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.6rem}
.hp-top label{font-weight:700;color:var(--ink)}
.hp-hours{font:700 1.3rem/1 var(--display);color:var(--ink)}
.hp-range{--fill:20%;-webkit-appearance:none;appearance:none;width:100%;height:14px;border:var(--line);border-radius:999px;background:linear-gradient(90deg,var(--red) var(--fill),#fff var(--fill));cursor:pointer;margin:.4rem 0}
.hp-range::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:var(--line);cursor:grab}
.hp-range::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:var(--line);cursor:grab}
.hp-ticks{display:flex;justify-content:space-between;font-size:.8rem;font-weight:700;color:var(--brown);margin-bottom:1rem;padding:0 4px}
.hours-picker .amt{font:700 clamp(2.1rem,5vw,3rem)/1.1 var(--display);color:var(--ink);margin:.2rem 0 .1rem}
.hours-picker .per{font-weight:700;color:var(--red-deep);margin-bottom:1rem}
.hours-picker ul{list-style:none;margin:0 0 1.2rem;padding:1rem 0 0;border-top:2px dashed var(--ink)}
.hours-picker li{padding:.2rem 0}
#cal-wrap .cal-embed{min-height:420px}
