:root{--berry:#70283d;--berry-dark:#4b192c;--cream:#f4e9d6;--butter:#e8c991;--brown:#55331f;--pink:#e9b9bb;--ink:#37251e;--jp:'Zen Kaku Gothic New','Hiragino Sans',sans-serif;--en:'Jost',Arial,sans-serif;--display:'Archivo Black','Arial Black',sans-serif;--gutter:24px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--jp);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure,dl,dd{margin:0}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
::selection{background:var(--pink);color:var(--berry-dark)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;top:10px;left:10px;transform:translateY(-160%);z-index:100;background:var(--cream);padding:15px}
.skip:focus{transform:none}
.display{font-family:var(--display);font-weight:400;line-height:.82;letter-spacing:-.065em}
.micro{font-family:var(--en);font-size:10px;line-height:1.6;letter-spacing:.12em;font-weight:500}
.scene{position:relative;min-height:720px;height:100svh;overflow:hidden}
.section-top{position:absolute;top:32px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;z-index:4}
.mast{position:absolute;z-index:20;top:0;left:0;right:0;padding:23px var(--gutter);display:flex;align-items:center;justify-content:space-between;color:var(--cream)}
.brand{font-family:var(--en);font-size:27px;letter-spacing:-.06em;font-weight:600;line-height:.75;position:relative}
.brand span{display:block;font-size:12px;letter-spacing:.1em;margin-top:7px}
.brand i{position:absolute;right:-8px;top:0;font-style:normal;color:var(--pink)}
.mast-link{font-size:11px;letter-spacing:.07em;padding:8px 0;border-bottom:1px solid #f4e9d665}
.mast-link span{margin-left:12px;font-size:17px}
.hero{background:var(--berry);color:var(--cream);isolation:isolate}
.cut-whole{clip-path:polygon(54.4% 7.4%,58% 6.8%,62% 7.5%,64% 9%,67% 9%,69% 11.8%,73.5% 12.5%,76% 10.2%,80% 8.8%,82% 7.9%,85.5% 8.8%,89% 9.4%,91% 11.2%,90.8% 13.3%,93% 16%,92.5% 20%,90.5% 26%,89.4% 32%,85.7% 44%,82% 55%,77.5% 65%,74% 76%,68% 89%,64% 94%,62% 95%,12% 90%,10% 88%,9.5% 81%,7% 79%,7% 76%,4.3% 74%,3.5% 70%,3.9% 65%,4.6% 61%,5.2% 57%,7% 53%,8.2% 51%,12% 49%,15% 45%,17% 42%,18.5% 40%,18% 40%,17.8% 39.3%,18.5% 38.8%,20.5% 38.4%,21.4% 37.8%,22.8% 37.4%,23% 36%,24% 35.5%,23.2% 35%,24.1% 34.6%,23.8% 34%,25% 32%,27% 31%,29% 28.3%,31% 27%,33% 28%,35% 25%,36% 23%,36% 22%,38% 20.5%,40% 20%,40% 18%,42% 16%,44% 15%,45% 13%,47% 12%,48% 10%,51% 9%)}
.hero-bottom{position:absolute;z-index:4;left:var(--gutter);right:var(--gutter);bottom:65px;display:flex;align-items:end;justify-content:space-between}
.hero-jp{font-size:11px;letter-spacing:.08em}
.scroll-cue{display:flex;align-items:center;gap:12px}
.scroll-cue>span:last-child{font-size:26px}
.edition{position:absolute;bottom:23px;left:var(--gutter);font-size:8px;opacity:.7}
.inside{background:var(--cream);isolation:isolate}
.coco{background:#c99c63;color:var(--cream);isolation:isolate}
.coco-photo{position:absolute;inset:0;height:100%;object-fit:cover;object-position:50% 53%;z-index:0}
.share{background:var(--cream);isolation:isolate}
.share h2{position:absolute;z-index:4;top:14%;left:var(--gutter);font-size:39px;font-weight:500;line-height:1.45}
.share-photo{position:absolute;width:94%;height:64%;object-fit:cover;object-position:50% 58%;left:15%;top:27%;transform:rotate(-7deg);z-index:1}
.share-type{position:absolute;bottom:13%;left:-4%;font-size:23vw;color:var(--berry);z-index:3}
.share-note{position:absolute;bottom:5%;left:var(--gutter);font-size:13px;letter-spacing:.1em;z-index:4}
.text-link{display:inline-flex;justify-content:space-between;gap:45px;align-items:center;font-size:14px;border-bottom:1px solid currentColor;padding:15px 0 9px;margin-top:12px}
.text-link span{font-size:22px}
.lesson{padding:80px var(--gutter);background:var(--cream)}
.lesson>h2{font-size:32px;font-weight:500;line-height:1.6;margin-top:24px}
.lesson-dates{margin-top:60px}
.lesson-dates article{padding:25px 0;border-top:1px solid #55331f40}
.date{font-family:var(--en);font-size:72px;letter-spacing:-.06em;line-height:1}
.date span{font-size:11px;letter-spacing:.08em;margin-left:15px}
.lesson-dates h3{font-family:var(--en);font-weight:500;font-size:23px;margin-top:14px}
.lesson-dates article>p:last-child{font-size:12px;margin-top:6px}
.lesson-year{margin-top:12px;font-size:11px}
.support>div{padding:24px 0;border-top:1px solid #55331f30}
.support dt{font-size:19px;font-weight:500;margin-bottom:13px}
.support dd{font-size:14px;line-height:2;color:#624e41}
.teacher{padding:70px var(--gutter);background:var(--cream);display:grid;grid-template-columns:90px 1fr;gap:25px;align-items:start}
.teacher>img{aspect-ratio:3/4;object-fit:cover}
.teacher .micro{font-size:8px}
.teacher h2{font-size:18px;font-weight:500;line-height:1.8;margin-top:15px}
.teacher div>p:last-child{font-size:12px;line-height:2;margin-top:15px}
footer{padding:50px var(--gutter) calc(32px + env(safe-area-inset-bottom));background:var(--berry-dark);color:var(--pink);overflow:hidden}
.footer-word{display:block;font-size:22vw;line-height:.85;letter-spacing:-.055em}
.footer-word>span{font-family:var(--en);font-size:.65em;float:right}
.footer-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:45px;color:var(--cream)}
.footer-bottom>p{text-align:right;font-size:8px}
.lesson-dock{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));right:16px;z-index:30;padding:12px 18px;background:var(--cream);color:var(--berry);font-size:12px;box-shadow:0 2px 16px #2e14161a;transform:translateY(100px);transition:transform .3s ease;pointer-events:none}
.lesson-dock.is-visible{transform:none;pointer-events:auto}
.lesson-dock span{margin-left:14px}
.motion-in{animation:arrive .6s ease both}
@keyframes arrive{from{translate:0 10px}to{translate:0 0}}
@media(max-width:360px){
:root{--gutter:20px}
.micro{font-size:9px}
.teacher{grid-template-columns:65px 1fr;gap:20px}
}
@media(min-width:700px){
:root{--gutter:48px}
.scene{min-height:760px}
.mast{padding-top:30px}
.hero-bottom{bottom:72px}
.hero-bottom .micro{font-size:12px}
.coco-photo{object-position:50% 53%}
.share h2{font-size:56px;left:9%;top:18%}
.share-photo{width:63%;left:42%;height:82%;top:8%;object-position:50% 55%;transform:rotate(-5deg)}
.share-type{font-size:20vw;bottom:16%}
.share-note{left:9%}
.lesson{padding:100px max(var(--gutter),calc((100vw - 1040px)/2))}
.lesson>h2{font-size:44px}
.lesson-dates{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.date{font-size:110px}
.support>div{display:grid;grid-template-columns:1fr 2fr;gap:40px}
.teacher{padding:90px max(var(--gutter),calc((100vw - 1040px)/2));grid-template-columns:170px 1fr;gap:50px}
.teacher h2{font-size:28px}
.teacher div>p:last-child{font-size:15px}
.teacher .micro{font-size:10px}
.footer-word{font-size:20vw}
.lesson-dock{right:30px;bottom:30px}
}
@media(min-width:1100px){
.coco-photo{object-position:50% 47%}
.share-type{font-size:19vw}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.lesson-dock{transition:none}
}
.coco-photo{object-position:50% 50%}

/* C revision: same visual language, clearer appetite → curiosity → participation. */
.hero{min-height:680px}
.hero-type{position:absolute;left:50%;top:24%;transform:translateX(-50%);width:max-content;z-index:1;color:var(--pink);font-size:28.5vw;line-height:.85;letter-spacing:-.065em;text-align:center}
.hero-type span{display:block;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:center}
.hero-type span+span{margin-top:12px}
.hero-cake{position:absolute;z-index:2;left:50%;top:17%;width:min(84vw,43svh);transform:translateX(-50%) rotate(-10deg);filter:drop-shadow(9px 17px 11px #25041625);will-change:transform}
.hero-caption{position:absolute;z-index:4;right:var(--gutter);bottom:17%;font-size:13px;font-weight:500;line-height:1.9;letter-spacing:.06em;text-align:right}
.hero-jp{font-size:13px}
.inside-title{position:absolute;top:8%;left:var(--gutter);font-weight:500;font-size:38px;line-height:1.45;z-index:4;letter-spacing:-.04em}
.inside-title span{margin-left:.8em}
.inside-word{position:absolute;left:-5%;top:26%;font-size:55vw;z-index:0;color:var(--butter)}
.inside-cake{position:absolute;width:87%;height:57%;top:28%;left:9%;z-index:2;transform:rotate(5deg);filter:none}
.inside-cake img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.inside-note{position:absolute;left:var(--gutter);bottom:5%;font-size:14px;line-height:1.9;z-index:4}
.coco-word{position:absolute;top:5%;left:var(--gutter);color:var(--berry);font-size:21vw;letter-spacing:-.055em;z-index:1}
.coco-copy{position:absolute;bottom:5%;left:var(--gutter);right:var(--gutter);color:var(--berry-dark);z-index:2}
.coco-copy p{display:inline-block;background:var(--cream);padding:16px 21px;font-size:21px;line-height:1.75;font-weight:500;transform:rotate(-2deg)}
.berry{background:var(--berry-dark);color:var(--cream);isolation:isolate}
.berry h2{position:absolute;top:8%;left:var(--gutter);font-size:34px;line-height:1.5;font-weight:500;z-index:3}
.flavour-photo{position:absolute;top:28%;left:-5%;width:100%;height:48%;transform:rotate(-5deg);z-index:1}
.flavour-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.berry-note{position:absolute;bottom:7%;left:var(--gutter);right:var(--gutter);font-size:14px;line-height:2.1;z-index:3}
.crossing{position:relative;height:auto;min-height:0;padding:76px 0 0;background:var(--butter);overflow:hidden}
.cross-intro{padding:0 var(--gutter)}
.cross-intro h2{font-size:38px;font-weight:500;line-height:1.5;letter-spacing:-.04em}
.cross-question{font-size:17px;line-height:1.9;margin:30px 0 0 20%}
.cross-visual{position:relative;margin-top:45px;height:410px}
.cross-type{position:absolute;z-index:0;bottom:20px;left:-8%;font-size:26vw;white-space:nowrap;color:var(--berry)}
.cross-photo{position:absolute;z-index:1;top:0;right:-8%;width:91%;height:340px;transform:rotate(4deg)}
.cross-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 39%}
.cross-story{padding:24px var(--gutter) 0}
.cross-story p{font-size:15px;line-height:2.15;margin-bottom:25px}
.cross-story .cross-close{font-size:26px;font-weight:500;line-height:1.7;margin-top:40px;margin-left:8%;margin-bottom:0}
.bake-story{margin-top:72px;padding:55px var(--gutter) 70px;background:var(--cream)}
.bake-story figure{width:67%;margin-left:-10%;transform:rotate(-4deg)}
.bake-story figure img{height:290px;object-fit:cover;object-position:50% 52%}
.bake-story figcaption{font-size:10px;margin-top:10px;text-align:right;letter-spacing:.06em}
.bake-story>div{margin-top:36px;padding-left:9%}
.bake-story h3{font-size:32px;line-height:1.5;font-weight:500;margin-bottom:28px}
.bake-story p{font-size:14px;line-height:2.1;margin-top:20px}
.share{background:#eadfd0}
.share h2{top:8%}
.share-photo{top:25%;height:64%}
.table{position:relative;padding:68px 0 42px;background:var(--berry);color:var(--cream);overflow:hidden}
.table-copy{position:relative;z-index:2;padding:0 var(--gutter)}
.table h2{font-weight:500;font-size:32px;line-height:1.6;letter-spacing:-.035em}
.table-copy p{font-size:14px;line-height:2;margin-top:22px}
.table-photo{position:relative;display:block;margin:32px 0 0 5%;width:100%;height:470px;transform:rotate(3deg)}
.table-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 53%}
.table-link{margin:34px var(--gutter) 0;display:flex;font-size:14px;gap:15px}
.lesson-intro{font-size:15px;line-height:2;margin-top:25px}
.lesson-dates h3{font-family:var(--jp);font-size:23px;line-height:1.7}
.lesson-after{margin-top:65px}
.lesson-after>h3{font-size:27px;font-weight:500;line-height:1.7;margin-bottom:35px;letter-spacing:-.02em}
.support>div{padding:27px 0;border-top:1px solid #55331f25}
.support dt{font-size:19px;line-height:1.7}
.support dd{font-size:14px;line-height:2.1}
.teacher{background:#e8c6b8;padding-top:55px;padding-bottom:65px;grid-template-columns:100px 1fr;gap:24px}
.teacher h2{font-size:18px}
.booking{background:var(--berry);color:var(--cream);padding:70px var(--gutter) 80px;margin:0}
.booking h2{font-size:43px;line-height:1.4;font-weight:500;letter-spacing:-.04em}
.booking-invite{font-size:14px;line-height:2.1;margin:30px 0 42px}
.booking-status{font-size:15px;line-height:1.9;border-top:1px solid #f4e9d640;padding-top:26px}
.booking #pending-note{font-size:12px;line-height:2;opacity:.8;margin-top:15px;max-width:34em}
.booking-link{display:flex;justify-content:space-between;border-bottom:1px solid currentColor;padding:18px 0;font-size:15px;line-height:1.8;gap:15px;margin-top:15px}
.booking-link[hidden]{display:none}

@media(max-width:360px){
 .hero-type{top:25%;font-size:28.5vw}.hero-type span+span{margin-top:10px}
 .hero-cake{width:min(80vw,39svh);top:19%}.hero-caption{font-size:12px;bottom:19%}
 .hero-bottom{bottom:61px}.hero-bottom .micro{font-size:8px}.hero-jp{font-size:12px}.scroll-cue{gap:8px}.scroll-cue .micro{font-size:9px}
 .inside-title{font-size:34px}.inside-cake{height:55%;top:29%}.inside-note{font-size:13px}
 .berry h2{font-size:30px}.berry-note{font-size:12px}.flavour-photo{height:47%}
 .cross-intro h2{font-size:34px}.cross-question{font-size:16px;margin-left:13%}.cross-story p{font-size:13px}.cross-story .cross-close{font-size:23px}
 .bake-story>div{padding-left:0}.bake-story p{font-size:13px}
 .table h2{font-size:28px}.table-photo{height:395px}.table-link{font-size:12px}
 .lesson>h2{font-size:29px}.lesson-dates h3{font-size:21px}.lesson-after>h3{font-size:23px}.support dt{font-size:17px}
 .teacher{grid-template-columns:78px 1fr;gap:17px}.teacher h2{font-size:16px}.teacher div>p:last-child{font-size:12px}
 .booking h2{font-size:38px}.booking-invite{font-size:13px}.booking-status{font-size:14px}
}
@media(min-width:700px){
 .hero-type{top:18%;font-size:min(23vw,24svh);line-height:.85}.hero-type span+span{margin-top:12px}
 .hero-cake{width:min(57vw,57svh);top:7%}.hero-caption{bottom:15%;font-size:15px;right:6%}
 .inside-title{font-size:59px;top:12%;left:7%}.inside-cake{width:62%;height:77%;top:12%;left:40%;transform:rotate(5deg)}.inside-word{font-size:43vw;top:42%}.inside-note{font-size:17px;left:7%;bottom:10%;z-index:4;max-width:28%}
 .coco-word{font-size:19vw;top:6%;left:4%}.coco-copy{left:auto;right:6%;bottom:8%}.coco-copy p{font-size:28px;padding:20px 30px}
 .berry h2{left:8%;top:13%;font-size:49px}.flavour-photo{left:39%;width:66%;height:77%;top:10%;transform:rotate(-5deg)}.berry-note{left:8%;bottom:12%;font-size:16px;width:42%;text-shadow:0 1px 8px #4b192c}
 .crossing{padding-top:95px}.cross-intro{padding:0 8%;display:flex;justify-content:space-between;gap:40px;align-items:end}.cross-intro h2{font-size:56px}.cross-question{margin:0 8% 0 0;font-size:21px}
 .cross-visual{height:560px;margin-top:70px}.cross-photo{height:490px;width:68%;right:-3%;transform:rotate(3deg)}.cross-photo img{object-position:50% 32%}.cross-type{font-size:23vw;left:-2%;bottom:5%}
 .cross-story{padding:40px 8% 20px;max-width:900px}.cross-story p{font-size:19px;line-height:2.1}.cross-story .cross-close{margin-left:20%;font-size:34px;margin-top:40px}.mobile-break{display:none}
 .bake-story{display:grid;grid-template-columns:45% 1fr;gap:9%;align-items:center;margin-top:70px;padding:90px 8%}.bake-story figure{width:100%;margin:0 0 0 -10%}.bake-story figure img{height:490px}.bake-story>div{margin:0;padding:0}.bake-story h3{font-size:39px}.bake-story p{font-size:16px}
 .table{padding:90px 0 65px}.table-copy{padding:0 8%}.table h2{font-size:48px}.table-copy p{font-size:17px}.table-photo{width:91%;margin:40px -4% 0 13%;height:610px;transform:rotate(2deg)}.table-photo img{object-position:50% 50%}.table-link{margin:40px 8% 0;font-size:18px;max-width:520px}
 .lesson-intro{font-size:18px}.lesson-dates h3{font-size:27px}.lesson-after{margin-top:95px}.lesson-after>h3{font-size:36px;margin-bottom:45px}.support>div{grid-template-columns:minmax(230px,1fr) 1.5fr;gap:40px}.support dt{font-size:23px}.support dd{font-size:16px}
 .teacher{padding:75px max(var(--gutter),calc((100vw - 1040px)/2));grid-template-columns:180px 1fr;gap:60px}.teacher h2{font-size:30px}
 .booking{padding:95px max(var(--gutter),calc((100vw - 1040px)/2)) 100px}.booking h2{font-size:65px}.booking-invite{font-size:18px}.booking-status{font-size:18px;max-width:680px}.booking-link{font-size:19px;max-width:680px}
}
@media(min-width:1100px){
 .hero-type{font-size:min(21vw,24svh);top:17%}.hero-cake{width:min(44vw,58svh);top:5%}.hero-caption{bottom:14%}
 .inside-title{font-size:65px}.inside-cake{width:55%;left:47%;height:80%;top:8%}.inside-cake img{object-position:50% 50%}.inside-word{font-size:39vw}
 .berry-note{width:32%;font-size:17px;line-height:2.2}.flavour-photo{height:85%;top:7%;left:42%;width:62%}
 .cross-intro h2{font-size:68px}.cross-visual{height:660px}.cross-photo{width:60%;height:610px;right:3%}.cross-story{margin-top:0;position:relative;max-width:650px;z-index:2;padding-left:8%;padding-right:0}.cross-story p{font-size:18px}.cross-story .cross-close{margin-left:0}
 .table{padding-bottom:75px}.table-copy{position:absolute;top:11%;left:0;z-index:3}.table h2{font-size:49px}.table-photo{width:65%;margin:40px -3% 0 39%;height:640px}.table-link{margin-top:-50px;position:relative;width:30%;max-width:none}.table-copy p{margin-top:25px}
}
@media(prefers-reduced-motion:reduce){.hero-cake{will-change:auto}.crossing{height:auto;min-height:0}}

/* Teacher: an editorial biography, with full-width reading space on phones. */
.teacher .teacher-heading .teacher-name{font-size:27px;font-weight:500;line-height:1.5;margin-top:20px}
.teacher-bio{grid-column:1 / -1;max-width:680px}
.teacher .teacher-bio p{font-size:14px;line-height:2.15;margin:0 0 24px}
.teacher .teacher-bio p:last-child{margin-bottom:0}
.teacher .teacher-bio .teacher-belief{font-size:25px;line-height:1.8;font-weight:500;letter-spacing:-.035em;margin:36px 0 24px}
@media(min-width:700px){
 .teacher{row-gap:32px}
 .teacher>img{grid-row:1 / 3}
 .teacher-bio{grid-column:2}
 .teacher .teacher-heading .teacher-name{font-size:32px}
 .teacher .teacher-bio p{font-size:16px}
 .teacher .teacher-bio .teacher-belief{font-size:32px}
}

@media(max-width:699px){.coco-copy p{font-size:clamp(15px,4.6vw,18px);padding:16px 17px;letter-spacing:0}}

.teacher-socials{display:flex;gap:8px;margin-top:10px;--social-paper:#e8c6b8}
.social-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;color:inherit}
.social-icon svg{width:27px;height:27px}
.social-icon[href]:hover{color:var(--berry)}
.social-icon:focus-visible{outline:2px solid var(--berry);outline-offset:2px}
.social-pending{opacity:.5;cursor:default}

.table h2{font-size:38px}
.teacher{display:block}
.teacher-heading,.teacher-bio{max-width:680px;margin-left:auto;margin-right:auto}
.teacher #teacher-title{font-family:var(--en);font-size:32px;letter-spacing:.08em}
.teacher-bio{margin-top:36px}
.teacher>img{width:180px;height:auto;margin:38px auto 0;aspect-ratio:auto}
@media(max-width:360px){.table h2{font-size:33px;letter-spacing:-.055em}}
@media(min-width:700px){.table h2{font-size:58px}.teacher>img{width:240px;margin-top:48px}.teacher #teacher-title{font-size:40px}}
@media(min-width:1100px){.table h2{font-size:59px}.table-copy{padding-left:6%;padding-right:0}}

@media(min-width:700px){.invitation-break{display:none}}
@media(min-width:1100px){.table-photo{margin-left:46%;width:58%}}

.footer-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 30px;margin-top:48px;color:#c9b9bc;font-size:11px;line-height:1.8}
.footer-legal nav{display:flex;flex-wrap:wrap;gap:10px 24px}
.footer-legal a{text-decoration:underline;text-underline-offset:4px;padding:8px 0}
.footer-legal a:hover{color:var(--cream)}
.footer-legal small{font-size:inherit}
@media(max-width:699px){.footer-legal{display:block}.footer-legal nav{gap:8px 18px}.footer-legal small{display:block;margin-top:15px}}

/* Slice: MARIAGE and the photograph share the composition. */
.inside-title span{margin-left:.35em}
.inside-word{left:-2%;top:34%;font-size:21vw;line-height:1;white-space:nowrap;letter-spacing:-.055em}
.inside-cake{width:70%;height:46%;left:27%;top:40%}
@media(max-width:360px){.inside-cake{width:70%;height:44%;top:40%}.inside-title{font-size:32px}}
@media(min-width:700px){.inside-word{left:-3%;top:36%;font-size:22vw}.inside-cake{width:50%;height:58%;left:51%;top:44%}}
@media(min-width:1100px){.inside-word{left:-2%;top:32%;font-size:20vw}.inside-cake{width:44%;height:58%;left:56%;top:44%}}

/* Larger coconut caption, anchored to the right. */
.coco-copy{left:auto;right:var(--gutter);max-width:calc(100% - 2 * var(--gutter))}
.coco-copy p{font-size:clamp(18px,4.8vw,25.2px);padding:22px 24px;line-height:1.75;letter-spacing:0}
@media(max-width:360px){.coco-copy p{font-size:17px;padding:20px 17px}}
@media(min-width:700px){.coco-copy{right:6%}.coco-copy p{font-size:39px;padding:28px 42px}}

/* Keep the intended two-line heading and a single-line question. */
.cross-intro h2{white-space:nowrap;flex-shrink:0}
.cross-question{white-space:nowrap;margin-left:0;text-align:right;font-size:clamp(12px,4.15vw,17px)}
.cross-type{transform:translateY(36px)}
@media(min-width:700px){.cross-intro{gap:16px}.cross-question{margin-right:0;font-size:clamp(13px,1.85vw,21px)}.cross-type{transform:translateY(60px)}}
@media(min-width:1100px){.cross-intro{gap:40px}.cross-question{font-size:21px}.cross-type{transform:translateY(60px)}}

@media(max-width:699px){.cross-question{min-height:64.6px}}
@media(max-width:360px){.cross-question{min-height:60.8px}}

/* A slice for everyday teatime: preserve the portrait composition. */
.table-photo{height:auto;aspect-ratio:1080 / 1616}
.table-photo img{display:block;object-position:50% 50%}
@media(min-width:700px){.table-photo{width:65%;margin-left:32%}}
@media(min-width:1100px){.table-photo{width:43%;margin-left:54%}}

/* Clear Japanese weekdays and a single-line lesson closing. */
.lesson .date span{font-family:var(--jp);font-size:22px;font-weight:500;letter-spacing:0}
.lesson-after>h3{white-space:nowrap;font-size:clamp(21px,6.1vw,27px)}
@media(min-width:700px){.lesson .date span{font-size:28px}.lesson-after>h3{font-size:36px}}

/* Quieter profile statement, keeping its two-line form. */
.teacher .teacher-bio .teacher-belief{font-size:19px}
@media(min-width:700px){.teacher .teacher-bio .teacher-belief{font-size:24px}}

.teacher-signature{display:grid;grid-template-columns:42% 1fr;align-items:center;gap:20px;max-width:680px;margin:44px auto 0}
.teacher-signature img{display:block;width:100%;aspect-ratio:1.05;object-fit:cover;object-position:43% 50%}
.teacher .teacher-signature .teacher-handwriting{font-family:"Klee One",cursive;font-size:clamp(12px,3.45vw,18px);font-weight:400;line-height:2.25;letter-spacing:-.035em;white-space:nowrap;margin:0;transform:rotate(-2deg)}
@media(min-width:700px){.teacher-signature{grid-template-columns:280px 1fr;gap:42px;margin-top:52px}.teacher .teacher-signature .teacher-handwriting{font-size:22px}}
@media(max-width:360px){.teacher-signature{gap:13px;grid-template-columns:40% 1fr}}

/* Supplied transparent portrait and original handwriting, kept as one artwork. */
.teacher .teacher-bio .teacher-belief{font-size:15px}
.teacher-signature.teacher-signature-art{display:block;max-width:740px;margin:36px auto 0}
.teacher-signature-art img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(min-width:700px){.teacher .teacher-bio .teacher-belief{font-size:18px}.teacher-signature.teacher-signature-art{margin-top:40px}}

/* Let the portrait finish at the next section boundary. */
.teacher{padding-bottom:0}
.teacher-signature.teacher-signature-art{margin-bottom:0}

/* Final application action. */
.booking{text-align:center;padding-top:80px;padding-bottom:85px}
.booking h2{font-size:18px;line-height:1.7;letter-spacing:.05em}
.booking .booking-link{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:18px;width:100%;max-width:680px;min-height:90px;padding:24px 16px;margin:30px auto 26px;background:var(--cream);color:var(--berry);border:0;font-size:23px;font-weight:500;line-height:1.5;text-decoration:none}
.booking-link[aria-disabled="true"]{cursor:default}
.booking-link[href]:hover{background:var(--pink)}
.booking-link:focus-visible{outline:2px solid var(--cream);outline-offset:6px}
.booking .booking-status{border:0;padding:0;margin:0 auto;font-size:12px;line-height:1.9}
.booking .booking-price{font-size:13px;margin-top:12px}
.booking #pending-note{margin:10px auto 0;font-size:12px}
@media(min-width:700px){.booking{padding-top:110px;padding-bottom:115px}.booking h2{font-size:23px}.booking .booking-link{min-height:120px;font-size:32px;margin-top:36px;margin-bottom:30px}.booking .booking-status{font-size:14px}}

/* Quiet marginal pen sketches: no change to row or copy placement. */
.support dt{position:relative}
.support-sketch{display:none;pointer-events:none}
@media(min-width:700px){.support-sketch{display:block;position:absolute;right:4px;bottom:-12px;width:112px;height:48px;object-fit:contain;opacity:.7;transform:rotate(-3deg)}.support .sketch-2{right:15px;transform:rotate(2deg)}.support .sketch-3{width:85px;height:33px;bottom:-20px}.support .sketch-4{right:8px;transform:rotate(-1deg)}}
@media(max-width:699px){.support>div{position:relative}.support dt{position:static}.support-sketch{display:block;position:absolute;right:6px;bottom:2px;width:52px;height:22px;object-fit:contain;opacity:.65;transform:rotate(-3deg)}}

/* Fuller marginal sketches, with speech bubbles optically balanced. */
@media(min-width:700px){.support-sketch{width:146px;height:62px;bottom:-16px}.support .sketch-3{width:156px;height:60px;bottom:-23px}}
@media(max-width:699px){.support-sketch{width:68px;height:26px;bottom:0}.support .sketch-3{width:76px;height:28px}}

/* Keep the mobile closing caption clear of the tilted photograph. */
@media(max-width:699px){.share-photo{top:20%}}

/* Chestnuts softly visible through the burgundy CTA layer. */
.booking{background-image:linear-gradient(rgba(112,40,61,.82),rgba(112,40,61,.82)),url("../images/cta-chestnuts.png");background-size:cover;background-position:center}
.booking .booking-status{max-width:680px;text-wrap:balance}


/* Extra lesson: an independent second chapter, using Version C's palette and type. */
.extra-chapter{min-height:480px;min-height:65svh;padding:100px var(--gutter) 65px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:48px;background:var(--cream);color:var(--berry-dark);text-align:center}
.extra-chapter h2{font-size:clamp(28px,8.4vw,48px);line-height:1.75;font-weight:500;letter-spacing:-.045em}
.extra-chapter-cue{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-family:var(--en);font-size:30px}
.extra-marron{position:relative;isolation:isolate;overflow:hidden;background:var(--brown);color:var(--cream);padding:65px 0 60px}
.extra-marron-heading{position:relative;z-index:2;padding:0 var(--gutter)}
.extra-marron-heading .micro{letter-spacing:.2em;color:var(--butter)}
.extra-marron-heading h2{font-size:clamp(29px,8.3vw,42px);font-weight:500;line-height:1.6;letter-spacing:-.045em;margin-top:16px}
.extra-marron-word{position:relative;z-index:0;font-size:23vw;white-space:nowrap;color:var(--butter);margin:28px 0 -22px -2%;line-height:1}
.extra-marron-photo{position:relative;z-index:1;width:89%;margin:0 0 0 8%;transform:rotate(-3deg)}
.extra-marron-photo img{width:100%;height:auto}
.extra-marron-copy{position:relative;z-index:2;margin:36px var(--gutter) 0;display:flex;align-items:end;justify-content:space-between;gap:16px}
.extra-marron-copy h3{font-size:clamp(30px,8.5vw,44px);font-weight:500;line-height:1.55;letter-spacing:-.04em}
.extra-marron-copy p{font-size:12px;line-height:2;padding-bottom:5px}
.extra-texture{background:var(--butter);color:var(--ink);padding:65px 0 0;overflow:hidden}
.extra-texture-heading{padding:0 var(--gutter)}
.extra-texture-heading h2{font-size:38px;line-height:1.5;font-weight:500;letter-spacing:-.04em;margin-top:20px}
.extra-texture-photo{width:100%;margin-top:35px}
.extra-texture-photo img{width:100%;height:auto}
.extra-texture-copy{padding:30px var(--gutter) 0}
.extra-texture-copy p{font-size:14px;line-height:2.1}
.extra-texture-copy p+p{margin-top:20px}
.extra-lesson-bridge{padding:70px var(--gutter) 65px;text-align:center}
.extra-lesson-title{font-size:clamp(26px,7.3vw,38px);font-weight:500;line-height:1.7;letter-spacing:-.035em}
.extra-lesson-bridge>p+p{font-size:12px;line-height:2.2;margin-top:24px}
.extra-lesson-bridge .text-link{font-size:12px;gap:14px;margin-top:26px;text-align:left}
@media(min-width:700px){
 .extra-chapter{min-height:620px;min-height:70svh;padding:120px var(--gutter) 80px;gap:60px}
 .extra-chapter h2{font-size:clamp(48px,5.4vw,78px);line-height:1.7}
 .extra-marron{display:grid;grid-template-columns:40% 60%;align-content:start;padding:85px 6% 95px}
 .extra-marron-heading{grid-column:1;grid-row:1;align-self:start;padding:30px 0 0;z-index:3}
 .extra-marron-heading h2{font-size:clamp(28px,3.5vw,52px)}
 .extra-marron-word{position:absolute;top:32%;left:-2%;margin:0;font-size:23vw}
 .extra-marron-photo{grid-column:2;grid-row:1 / 3;width:90%;margin:0 0 0 8%;transform:rotate(-3deg)}
 .extra-marron-copy{grid-column:1;grid-row:2;align-self:end;display:block;margin:100px 0 12px}
 .extra-marron-copy h3{font-size:clamp(42px,5.2vw,74px)}
 .extra-marron-copy p{font-size:16px;margin-top:24px}
 .extra-texture{display:grid;grid-template-columns:56% 44%;padding-top:85px}
 .extra-texture-heading{grid-column:2;grid-row:1;padding:0 8% 35px}
 .extra-texture-heading h2{font-size:clamp(40px,4.5vw,65px);margin-top:22px}
 .extra-texture-photo{grid-column:1;grid-row:1 / 3;align-self:center;margin:0;width:100%}
 .extra-texture-copy{grid-column:2;grid-row:2;padding:0 8%}
 .extra-texture-copy p{font-size:clamp(12px,1.35vw,17px)}
 .extra-lesson-bridge{grid-column:1 / -1;padding:95px var(--gutter) 85px}
 .extra-lesson-title{font-size:42px}
 .extra-lesson-bridge>p+p{font-size:16px}
 .extra-lesson-bridge .text-link{font-size:16px;gap:40px;margin-top:32px}
}
@media(max-width:360px){
 .extra-marron-copy{gap:10px}.extra-marron-copy p{font-size:11px}
 .extra-texture-heading h2{font-size:34px}.extra-texture-copy p{font-size:12px}
 .extra-lesson-bridge>p+p{font-size:11px}.extra-lesson-bridge .text-link{font-size:11px;gap:10px}
}


/* Explicit two-line captions and a clearly actionable booking control. */
.extra-marron-copy h3>span,.extra-marron-copy p>span{display:block;white-space:nowrap}
.extra-marron-copy h3,.extra-marron-copy p{flex-shrink:0}
@media(max-width:699px){
 .extra-marron-copy{gap:8px}
 .extra-marron-copy h3{font-size:clamp(24px,7.4vw,44px)}
 .extra-marron-copy p{font-size:clamp(10px,2.8vw,12px)}
}
.booking .booking-link{border:2px solid var(--butter);border-radius:12px;box-shadow:0 6px 0 var(--berry-dark),0 12px 24px #25041635;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.booking .booking-link[href]{cursor:pointer}
.booking .booking-link>span{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.8em;height:1.8em;border-radius:50%;background:var(--berry);color:var(--cream);font-size:.85em}
@media(hover:hover){.booking .booking-link[href]:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--berry-dark),0 14px 28px #25041640}}
.booking .booking-link[href]:active{transform:translateY(4px);box-shadow:0 2px 0 var(--berry-dark),0 4px 12px #25041625}
@media(max-width:360px){.booking .booking-link{font-size:20px;gap:12px}}


/* Followers' words as a modern, typographic research notebook. */
.conversation{margin-top:56px;padding:60px var(--gutter) 48px;background:var(--cream);color:var(--ink)}
.conversation-heading{max-width:1100px;margin:0 auto}
.conversation-question{font-size:17px;line-height:1.8;color:var(--berry);margin-bottom:25px}
.conversation-heading h2{font-size:clamp(25px,6.9vw,40px);font-weight:500;line-height:1.65;letter-spacing:-.045em}
.conversation-lead{font-size:12px;line-height:2;margin-top:18px}
.scrapbook{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;position:relative;max-width:1000px;margin:44px auto 0;padding:8px 4px 16px}
.paper{position:relative;margin:0;padding:25px 17px;background:#fff9ee;transform:rotate(var(--tilt,-2deg));isolation:isolate;align-self:center;box-shadow:0 4px 7px #55331f0c}
.paper::before{content:"";position:absolute;width:55px;height:17px;top:-8px;left:calc(50% - 27px);background:#e9b9bb99;transform:rotate(-5deg)}
.paper::after{content:"";position:absolute;left:0;right:0;height:8px;bottom:-6px;background:inherit;clip-path:polygon(0 0,100% 0,100% 65%,96% 30%,91% 80%,84% 45%,78% 90%,72% 40%,65% 75%,59% 25%,53% 80%,47% 40%,40% 85%,33% 35%,27% 75%,20% 40%,14% 90%,8% 45%,0 85%)}
.paper p{font-size:13px;line-height:2;letter-spacing:.025em;overflow-wrap:anywhere}
.paper-overflow{grid-column:1 / -1;width:88%;justify-self:start;background:#ead7b8;--tilt:-2deg}
.paper-cut{grid-column:1 / -1;width:88%;justify-self:end;--tilt:3deg;background-color:#faf1e3;background-image:linear-gradient(#55331f09 1px,transparent 1px),linear-gradient(90deg,#55331f09 1px,transparent 1px);background-size:19px 19px;margin-top:-2px}
.paper-time{--tilt:-3deg}.paper-heavy{--tilt:3deg;background:#ead7b8;text-align:center}
.paper-heavy p{font-size:23px}.paper-rise{--tilt:-2deg}.paper-rise p{font-size:18px}
.paper-tin{--tilt:2deg;background:#edd7c7;padding-left:12px;padding-right:12px}.paper-tin p{font-size:12px}
.paper-happy{grid-column:1 / -1;justify-self:center;width:96%;background:var(--berry);color:var(--cream);--tilt:-3deg;padding:30px 22px;margin-top:12px}
.paper-happy p{font-size:17px;line-height:2}.paper-happy::before{background:#e8c99199}
.pencil-line{position:relative;text-decoration:underline;text-decoration-color:#bb686d;text-decoration-thickness:2px;text-underline-offset:6px}
.paper-happy .pencil-line{text-decoration-color:var(--pink)}
.pencil-circle{display:inline-block;border:1px solid #a96967;border-radius:49% 44% 48% 42%;padding:1px 14px;transform:rotate(-4deg)}
.notebook-note{position:absolute;right:0;top:-25px;color:var(--berry);font-size:12px;transform:rotate(4deg)}
.conversation-close{max-width:720px;margin:45px auto 0;text-align:center}
.conversation-reason{font-size:clamp(19px,5.2vw,28px);line-height:1.85;font-weight:500;letter-spacing:-.04em}
.conversation-close>p+p{font-size:12px;line-height:2.1;margin-top:24px}
.conversation-close>span{display:block;margin-top:24px;font-size:27px;color:var(--berry)}
.cross-inquiry{font-size:clamp(24px,6.5vw,36px);font-weight:500;line-height:1.75;letter-spacing:-.04em;padding:12px var(--gutter) 0;margin:0}
.encore-conversation{background:#eadfd0;padding:26px var(--gutter) 55px;color:var(--ink)}
.encore-margin{max-width:580px;margin:0 auto 16px;font-size:11px;letter-spacing:.08em;color:var(--berry)}
.encore-paper{position:relative;max-width:580px;margin:0 auto;padding:25px 18px;background:var(--cream);transform:rotate(-2deg);border-bottom:2px solid #bd767970}
.encore-paper::before{content:"";position:absolute;right:22px;top:-8px;width:50px;height:17px;background:#e9b9bb99;transform:rotate(5deg)}
.encore-paper p{font-size:13px;line-height:2;letter-spacing:-.02em}
.encore-after{max-width:580px;margin:25px auto 0;font-size:12px;line-height:1.9;text-align:right}
/* An editorial contents spread, with price following the complete index. */
.takeaways{padding:65px var(--gutter);background:var(--berry-dark);color:var(--cream)}
.takeaways-heading,.takeaways-index,.takeaways-price{max-width:1100px;margin-left:auto;margin-right:auto}
.takeaways-heading .micro{color:var(--pink)}
.takeaways-heading h2{font-size:32px;font-weight:500;line-height:1.6;letter-spacing:-.035em;margin-top:20px}
.takeaways-index{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:25px;margin-top:38px;margin-bottom:0}
.takeaways-index li{border-top:1px solid #e9b9bb60;padding-top:12px;min-width:0}
.takeaways-number{display:block;font-family:var(--en);font-size:48px;line-height:1;letter-spacing:-.06em;color:var(--pink);margin-bottom:13px}
.takeaways-index h3{font-size:13px;font-weight:500;line-height:1.8;letter-spacing:-.025em}
.takeaways-index .micro{font-size:8px;letter-spacing:.1em;margin-bottom:5px;color:var(--pink)}
.takeaways-price{margin-top:38px;padding-top:26px;border-top:1px solid #e9b9bb60;text-align:right}
.takeaways-amount{font-family:var(--en);font-size:46px;letter-spacing:-.035em;line-height:1.2;margin-top:8px}
@media(min-width:700px){
 .conversation{margin-top:65px;padding:80px 8% 65px}
 .conversation-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}
 .conversation-question{grid-column:2;grid-row:1 / 3;align-self:center;justify-self:end;font-size:21px;margin:0}
 .conversation-heading h2{grid-column:1;grid-row:1;font-size:36px}.conversation-lead{grid-column:1;grid-row:2;font-size:14px}
 .scrapbook{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 18px;margin-top:50px}
 .paper-overflow{grid-column:1 / 4;grid-row:1 / 3;width:100%}.paper-overflow p{font-size:19px}
 .paper-cut{grid-column:4 / 7;grid-row:1;width:100%}.paper-time{grid-column:4 / 6;grid-row:2}.paper-heavy{grid-column:6;grid-row:2;padding:24px 5px}
 .paper-rise{grid-column:1 / 3;grid-row:3}.paper-tin{grid-column:1 / 3;grid-row:4;padding:22px 18px}
 .paper-happy{grid-column:3 / 7;grid-row:3 / 5;width:100%;padding:34px 24px;margin-top:0}
 .paper-cut p{font-size:17px}.paper-tin p{font-size:15px}.paper-happy p{font-size:clamp(17px,2.15vw,25px)}
 .notebook-note{right:30%;top:-28px;font-size:15px}
 .conversation-close{margin-top:55px}.conversation-reason{font-size:30px}.conversation-close>p+p{font-size:15px}
 .cross-inquiry{padding:12px 8% 0;font-size:38px}
 .encore-conversation{padding:30px 8% 70px}.encore-margin{font-size:12px}.encore-paper{padding:28px 34px}.encore-paper p{font-size:18px}.encore-after{font-size:14px}
 .takeaways{padding:85px 8%}.takeaways-heading h2{font-size:46px}
 .takeaways-index{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 24px;margin-top:45px}.takeaways-number{font-size:64px}.takeaways-index h3{font-size:15px}.takeaways-index .micro{font-size:9px}
 .takeaways-price{margin-top:32px}.takeaways-amount{font-size:54px}
}
@media(max-width:360px){
 .paper p{font-size:12px}.paper-heavy p{font-size:21px}.paper-rise p{font-size:16px}.paper-tin p{font-size:11px}.paper-happy p{font-size:15px}
 .conversation-close>p+p{font-size:11px}.encore-paper p{font-size:11px}.encore-after{font-size:11px}
 .share-note{font-size:12px;letter-spacing:0}.takeaways-heading h2{font-size:28px}.takeaways-index h3{font-size:12px}.takeaways-index{column-gap:14px}
}


/* Story revision: from following a recipe to reading the batter. */
.story-panel{padding:72px var(--gutter);overflow:hidden}
.story-panel h2{font-size:clamp(28px,7.6vw,42px);font-weight:500;line-height:1.65;letter-spacing:-.045em}
.story-copy p{font-size:14px;line-height:2.1}
.story-copy p+p{margin-top:25px}
.simple-making{background:var(--cream);color:var(--ink);padding-bottom:0}
.simple-steps{margin:35px 0 0 16%;font-size:15px;line-height:2.2}
.simple-steps p+p{margin-top:25px}
.simple-pause{font-size:clamp(48px,15vw,80px);font-weight:500;letter-spacing:-.06em;line-height:1.5;text-align:right;padding:70px 0 65px}
main>.conversation{margin-top:0;padding-top:15px;overflow:hidden}
main>.conversation .conversation-heading{display:block}
main>.conversation .conversation-lead{margin-top:18px}
.understanding{background:#e8c6b8;color:var(--ink)}
.understanding-intro .story-copy{margin-top:32px}
.understanding-core{margin-top:60px;padding-top:30px;border-top:1px solid #55331f35}
.understanding-core p{font-size:clamp(18px,5vw,27px);font-weight:500;line-height:1.9;letter-spacing:-.03em}
.understanding-core .understanding-but{font-size:14px;margin:25px 0;color:var(--berry)}
.beyond-making{background:var(--berry-dark);color:var(--cream)}
.beyond-making h2{font-size:clamp(48px,14vw,78px);line-height:1.35;color:var(--pink);letter-spacing:-.065em}
.beyond-possibilities{margin:42px 0 0 10%}
.beyond-possibilities p+p{margin-top:30px}
.beyond-joy{padding-top:55px;margin-top:45px;border-top:1px solid #e9b9bb45}
.beyond-joy h3{font-size:clamp(33px,9vw,48px);font-weight:500;line-height:1.6;letter-spacing:-.04em}
.beyond-joy p{font-size:13px;line-height:2.1;margin-top:25px}
.cross-return-question{font-size:17px;line-height:1.9;margin:28px 0 0 12%}
.bake-judgements{margin-top:25px;padding-left:16px;border-left:1px solid #70283d60}
.bake-story .bake-judgements p{margin-top:15px;font-size:14px}
.next-bake{background:#eadfd0;color:var(--ink);padding-top:58px;padding-bottom:20px}
.next-bake p{font-size:18px;line-height:1.9;letter-spacing:-.025em}
.next-bake p+p{margin-top:26px}.next-bake p:nth-child(2){margin-left:13%}.next-bake p:nth-child(3){margin-left:22%}
.lesson-for-you{background:var(--cream);color:var(--ink)}
.lesson-for-you>.story-copy{margin-top:32px}
.for-you-welcome{margin-top:38px;border-top:1px solid #55331f30;padding-top:25px}
.for-you-welcome p{font-size:13px;line-height:2}.for-you-welcome p+p{margin-top:16px}
.takeaways-heading h2{font-size:clamp(27px,7.4vw,32px)}
.takeaways-amount{font-size:32px}.takeaways-amount span{font-size:11px;letter-spacing:.025em;white-space:nowrap}
.closing-thought{background:var(--cream);color:var(--ink)}
.closing-thought h2{font-size:clamp(48px,14vw,78px);line-height:1.35;color:var(--berry);letter-spacing:-.065em}
.closing-thought .story-copy{margin-top:35px}
.closing-thought .closing-change{margin-top:38px;font-size:17px;line-height:2}
.closing-change span{display:inline-block;font-size:29px;line-height:1.8;margin-top:8px;color:var(--berry)}
@media(min-width:700px){
 .story-panel{padding:90px 8%}
 .story-panel h2{font-size:clamp(40px,4.7vw,68px)}
 .story-copy p{font-size:17px}
 .simple-making{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;padding-bottom:0}
 .simple-steps{margin:0 0 0 15%;font-size:18px}
 .simple-pause{grid-column:1 / -1;font-size:90px;padding:35px 0 65px}
 .understanding-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:40px}
 .understanding-intro .story-copy{margin-top:8px}
 .understanding-core{margin-top:65px;padding-top:40px;margin-left:18%}
 .understanding-core p{font-size:32px}
 .beyond-making{display:grid;grid-template-columns:1fr 1fr;gap:30px 7%}
 .beyond-making h2{font-size:clamp(65px,8.3vw,120px);align-self:start;position:sticky;top:50px}
 .beyond-possibilities{margin:12px 0 0}
 .beyond-joy{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:30px;padding-top:50px}
 .beyond-joy h3{font-size:48px}.beyond-joy p{font-size:16px;margin-top:0;align-self:center}
 .cross-return-question{margin:0;font-size:clamp(16px,2vw,23px)}
 .bake-story .bake-judgements p{font-size:16px}
 .next-bake{display:flex;align-items:start;justify-content:space-between;gap:28px;padding-top:65px;padding-bottom:20px}
 .next-bake p{font-size:clamp(15px,1.65vw,22px)}.next-bake p:nth-child(2){margin:32px 0 0}.next-bake p:nth-child(3){margin:64px 0 0}
 .lesson-for-you{display:grid;grid-template-columns:1fr 1fr;gap:25px 7%}
 .lesson-for-you>.story-copy{margin-top:5px}.for-you-welcome{grid-column:2;margin-top:0}.for-you-welcome p{font-size:15px}
 .takeaways-heading h2{font-size:46px}.takeaways-amount{font-size:38px}.takeaways-amount span{font-size:12px}
 .closing-thought{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
 .closing-thought h2{font-size:clamp(65px,8vw,115px)}.closing-thought .story-copy{margin-top:0}.closing-change span{font-size:36px}
}
@media(max-width:360px){
 .story-copy p{font-size:13px}.beyond-joy p{font-size:12px}
 .understanding-core p{font-size:17px}.next-bake p{font-size:16px}.next-bake p:nth-child(3){margin-left:12%}
 .for-you-welcome p{font-size:12px}.bake-story .bake-judgements p{font-size:13px}
}
@media(max-width:699px){
 .takeaways{padding-top:44px;padding-bottom:44px}
 .takeaways-heading h2{line-height:1.5;margin-top:15px}
 .takeaways-index{margin-top:28px;row-gap:18px}
 .takeaways-index li{padding-top:10px}
 .takeaways-number{font-size:40px;margin-bottom:8px}
 .takeaways-price{margin-top:26px;padding-top:20px}
}


/* Second revision: fewer explanations, more room for the reader. */
.simple-pause{padding-bottom:100px}
.scrapbook{gap:30px 18px;padding-bottom:20px}
.scrapbook .paper-overflow{width:92%}
.scrapbook .paper-cut{width:92%;margin-top:5px}
.scrapbook .paper-heavy{grid-column:2;grid-row:3;padding:30px 12px}
.scrapbook .paper-rise{grid-column:1;grid-row:3;padding:30px 12px}
.scrapbook .paper-rise p{font-size:clamp(17px,5vw,23px)}
.understanding{padding-top:58px;padding-bottom:65px}
.understanding-intro{display:block;max-width:680px;margin:0 auto}
.understanding-intro .story-copy{margin-top:0}
.understanding-core{max-width:680px;margin:45px auto 0;padding-top:0;border:0}
.encore-voices{max-width:1000px;margin:0 auto;display:grid;gap:30px;padding:6px 0}
.encore-voices .encore-paper{width:100%;box-sizing:border-box}
.encore-paper-happy{background:var(--berry);color:var(--cream);transform:rotate(2deg);border-bottom-color:var(--pink)}
.encore-paper-happy::before{background:#e8c99199;right:auto;left:25px;transform:rotate(-4deg)}
.personal-message{background:var(--cream);color:var(--ink);padding-top:80px;padding-bottom:85px}
.personal-message h2{font-size:clamp(30px,8.3vw,46px);color:var(--berry);line-height:1.65}
.personal-message-body{margin-top:35px;max-width:620px}
.personal-message-ending{margin-top:55px;max-width:720px}
.personal-message-ending p{font-size:14px;line-height:2.2}
.personal-message-ending p+p{margin-top:35px;font-size:18px;letter-spacing:-.025em}
@media(min-width:700px){
 .simple-pause{padding-bottom:105px}
 .scrapbook{grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 28px}
 .scrapbook .paper-overflow{grid-column:1 / 4;grid-row:1 / 3;width:100%;align-self:center}
 .scrapbook .paper-cut{grid-column:4 / 7;grid-row:1;width:100%;margin-top:0}
 .scrapbook .paper-rise{grid-column:4 / 6;grid-row:2;padding:30px 16px}
 .scrapbook .paper-heavy{grid-column:6;grid-row:2;padding:30px 5px}
 .understanding{padding-top:70px;padding-bottom:80px}
 .understanding-intro{display:block;max-width:680px;margin:0 auto}
 .understanding-core{margin:48px auto 0;max-width:680px}
 .encore-voices{grid-template-columns:1fr 1fr;gap:32px;align-items:center}
 .encore-voices .encore-paper{padding:28px 24px}
 .encore-voices .encore-paper p{font-size:clamp(13px,1.45vw,18px)}
 .encore-margin,.encore-after{max-width:1000px}
 .personal-message{display:grid;grid-template-columns:1fr 1fr;gap:35px 7%;padding-top:100px;padding-bottom:100px}
 .personal-message h2{font-size:clamp(36px,4.3vw,62px)}
 .personal-message-body{margin-top:8px}
 .personal-message-ending{grid-column:1 / -1;margin:30px auto 0;width:100%;max-width:720px}
 .personal-message-ending p{font-size:17px}
 .personal-message-ending p+p{font-size:22px;margin-top:38px}
}
@media(max-width:360px){.personal-message-ending p{font-size:13px}.personal-message-ending p+p{font-size:17px}}


/* Compact paper seal: stationary at rest, gently pressed on interaction. */
.lesson-dock{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:112px;height:112px;min-height:0;box-sizing:border-box;padding:15px 7px;border:1px solid #55331f12;border-radius:50%;background:#f2e8d7;color:var(--berry-dark);box-shadow:0 1px 4px #37251e16;isolation:isolate;white-space:nowrap;opacity:0;visibility:hidden;transform:translateY(10px);transform-origin:center;transition:opacity .2s ease,transform .16s ease,box-shadow .16s ease,visibility .2s;cursor:pointer}
.lesson-dock::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;pointer-events:none;overflow:hidden;background-image:radial-gradient(ellipse at center,#f5edde55,transparent 70%),url("../images/seal-paper.svg");background-size:100% 100%;}
.lesson-dock::after{content:none}
.lesson-dock.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.lesson-dock span{margin-left:0}
.lesson-dock .dock-label{font-family:var(--jp);font-size:11px;font-weight:400;line-height:1.65;letter-spacing:.01em}
.lesson-dock .dock-action{display:flex;align-items:center;gap:4px;font-family:var(--jp);font-size:14px;font-weight:500;line-height:1.65;letter-spacing:.02em}
.lesson-dock .dock-arrow{display:inline-block;font-size:15px;line-height:1}
.lesson-dock:focus-visible{outline:2px solid var(--berry);outline-offset:5px}
@media(hover:hover) and (pointer:fine){.lesson-dock.is-visible:hover{transform:translateY(1px) scale(.99);box-shadow:0 1px 2px #37251e10}}
.lesson-dock.is-visible:active{transform:translateY(2px) scale(.98);box-shadow:0 0 1px #37251e0c}
@media(max-width:699px){
 .lesson-dock{width:94px;height:94px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:12px 5px;gap:3px}
 .lesson-dock .dock-label{font-size:9.5px;letter-spacing:0}
 .lesson-dock .dock-action{font-size:12px;gap:3px}
 .lesson-dock .dock-arrow{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.lesson-dock{transition:none}.lesson-dock.is-visible:hover,.lesson-dock.is-visible:active{transform:none}}


/* Optional portrait easter egg: preserve the composite's original handwriting. */
.teacher-signature-art.easter-ready{position:relative}
.teacher-signature-art.easter-ready>img{clip-path:polygon(58% 0,100% 0,100% 100%,76% 100%,76% 72%,58% 72%)}
.portrait-toggle{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:inherit;appearance:none;display:block;cursor:default;clip-path:polygon(0 0,58% 0,58% 72%,76% 72%,76% 100%,0 100%);-webkit-tap-highlight-color:transparent}
.portrait-stack{position:absolute;inset:0;display:block;transition:transform .18s ease;transform-origin:35% 65%}
.teacher-signature-art .portrait-now{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1;filter:blur(0);transition:opacity .9s ease,filter .9s ease}
.portrait-child-frame{position:absolute;left:7%;top:17%;width:49%;height:78%;display:block;opacity:0;filter:blur(6px);transition:opacity .9s ease,filter .9s ease}
.teacher-signature-art .portrait-child{width:100%;height:100%;object-fit:contain;filter:none;aspect-ratio:auto}
.portrait-toggle.is-child .portrait-now{opacity:0;filter:blur(6px)}
.portrait-toggle.is-child .portrait-child-frame{opacity:1;filter:blur(0)}
@media(hover:hover) and (pointer:fine){.portrait-toggle:hover .portrait-stack{transform:scale(.995)}}
.portrait-toggle:active .portrait-stack,.portrait-toggle.is-pressed .portrait-stack{transform:translateY(1px) scale(.99)}
.portrait-toggle:focus-visible{outline:none}
.portrait-toggle:focus-visible .portrait-stack::after{content:"";position:absolute;left:7%;top:17%;width:49%;height:78%;box-sizing:border-box;border:1px solid var(--berry)}
.teacher .teacher-signature-art .portrait-secret{position:absolute;left:8%;bottom:3%;z-index:2;margin:0;padding:4px 8px;background:#f4e9d6e6;color:var(--berry-dark);font-size:11px;line-height:1.6;pointer-events:none;opacity:0;transition:opacity .45s ease}
.teacher .teacher-signature-art .portrait-secret.is-visible{opacity:1}
@media(prefers-reduced-motion:reduce){
 .portrait-toggle .portrait-stack{transform:none!important;transition:none}
 .teacher-signature-art .portrait-now,.portrait-child-frame{filter:none!important;transition:opacity .15s linear!important}
 .teacher .teacher-signature-art .portrait-secret{transition:opacity .15s linear!important}
}

.teacher-signature-art .portrait-child.is-placeholder{filter:none}
