@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Kosugi+Maru&family=Noto+Sans+TC:wght@400;500;700&display=swap');

:root{--ink:#294238;--ink-soft:#506357;--paper:#fffdf5;--cream:#f4eedc;--sage:#b8c9aa;--sage-deep:#7f9c78;--peach:#eec7a2;--lilac:#d8cae7;--rose:#e8b9b0;--gold:#dfbd62;--line:#7d9985;--shadow:0 15px 28px rgba(61,72,49,.14),0 3px 7px rgba(61,72,49,.09);--font:'Noto Sans TC','Microsoft JhengHei',sans-serif;--hand:'Caveat','Kosugi Maru','Noto Sans TC',cursive;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font);line-height:1.9;background:radial-gradient(ellipse at 20% 2%,rgba(232,185,176,.2),transparent 30rem),radial-gradient(ellipse at 90% 18%,rgba(184,201,170,.22),transparent 28rem),linear-gradient(100deg,rgba(90,76,39,.025) 1px,transparent 1px),var(--cream);background-size:auto,auto,7px 7px;overflow-x:hidden}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--ink);color:#fff;padding:.5rem 1rem;z-index:99}.skip-link:focus{top:1rem}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.page-shell{max-width:1240px;margin:auto;padding:2rem clamp(1rem,4vw,4rem) 6rem;position:relative}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,253,245,.89);backdrop-filter:blur(10px);border-bottom:1px dashed rgba(41,66,56,.25)}.nav-wrap{max-width:1380px;margin:auto;display:flex;align-items:center;min-height:74px;padding:0 2rem;gap:1rem}.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--hand);font-size:1.75rem;font-weight:700;line-height:1.1;white-space:nowrap}.brand img{width:44px;height:44px;object-fit:contain}.nav-toggle{display:none;margin-left:auto;background:transparent;border:0;font-size:1.6rem}.primary-nav{margin-left:auto;display:flex;align-items:center;gap:.15rem}.primary-nav a,.subnav a{padding:.4rem .55rem;border-radius:999px;font-size:.83rem;white-space:nowrap}.primary-nav a:hover,.primary-nav a:focus-visible,.primary-nav a.active{background:rgba(184,201,170,.38);outline:none}.nav-about{position:relative}.nav-about summary{list-style:none;cursor:pointer;padding:.4rem .55rem;font-size:.83rem;white-space:nowrap}.nav-about summary::-webkit-details-marker{display:none}.nav-about[open] summary{background:rgba(184,201,170,.38);border-radius:999px}.subnav{position:absolute;left:0;top:2.4rem;width:180px;background:var(--paper);padding:.45rem;box-shadow:var(--shadow);clip-path:polygon(2% 1%,99% 0,100% 97%,3% 100%,0 5%);display:grid}.subnav a{border-radius:0}.leaf{position:absolute;pointer-events:none;opacity:.72;z-index:1}.leaf svg{width:100%;height:auto}.leaf-top{width:170px;right:-45px;top:1.8rem}.leaf-left{width:145px;left:-55px;top:38rem;transform:rotate(-15deg)}.hero-collage,.paper-section,.collage-section,.hero-note{position:relative;z-index:2}.hero-collage{min-height:530px;padding:3rem 2rem 1rem;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(1rem,4vw,4rem)}.paper{background:var(--paper);box-shadow:var(--shadow);position:relative}.torn{clip-path:polygon(1% 1%,7% 0,13% 1%,18% 0,24% 1%,30% 0,36% 1%,44% 0,50% 1%,57% 0,63% 1%,69% 0,76% 1%,83% 0,89% 1%,96% 0,100% 2%,99% 13%,100% 25%,99% 36%,100% 49%,99% 59%,100% 72%,99% 84%,100% 98%,89% 99%,78% 98%,68% 100%,57% 99%,46% 100%,35% 99%,24% 100%,14% 99%,2% 100%,0 89%,1% 77%,0 66%,1% 55%,0 44%,1% 32%,0 20%)}.paper:before{content:"";position:absolute;inset:8px;border:1px solid rgba(127,156,120,.22);pointer-events:none}.hero-photo{width:min(100%,690px);margin:auto;padding:13px 13px 42px;background:#fff;box-shadow:var(--shadow);transform:rotate(-2.2deg);position:relative;z-index:2}.hero-photo img{display:block;width:100%;object-fit:cover}.tape:before,.tape:after{content:"";position:absolute;width:96px;height:25px;background:repeating-linear-gradient(90deg,rgba(255,239,171,.85),rgba(255,239,171,.85) 6px,rgba(247,213,131,.7) 7px);opacity:.8;z-index:4}.tape:before{left:-25px;top:-12px;transform:rotate(-27deg)}.tape:after{right:-20px;bottom:16px;transform:rotate(22deg)}.hero-copy{padding:2rem 2.2rem 2.4rem;transform:rotate(1.3deg);min-height:360px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-family:var(--hand);font-size:1.4rem;color:var(--sage-deep);letter-spacing:.07em;margin:0}.display-title{font-family:var(--hand);font-weight:700;font-size:clamp(3.2rem,8vw,6.7rem);line-height:1;margin:.2rem 0 1.2rem;letter-spacing:-.03em}.section-title{font-family:var(--hand);font-size:clamp(2.7rem,5vw,3.7rem);line-height:1;margin:0 0 .9rem}.lead{font-size:1.06rem;max-width:38rem}.scribble-link,.paper-button{display:inline-flex;align-items:center;gap:.45rem;width:max-content;margin-top:1.1rem;padding:.35rem .6rem;border:0;border-bottom:3px solid var(--gold);background:transparent;cursor:pointer;font-family:var(--hand);font-size:1.45rem;font-weight:700;transform:rotate(-1deg)}.scribble-link:hover,.paper-button:hover{color:var(--sage-deep);transform:rotate(1deg) translateX(3px)}.route{position:absolute;pointer-events:none;z-index:3}.route svg{width:100%;height:100%;overflow:visible}.route-hero{width:220px;height:110px;right:29%;bottom:5px;transform:rotate(8deg)}.paper-section{margin:4rem 0;padding:clamp(1.5rem,4vw,4.4rem);background:rgba(255,253,245,.78);box-shadow:var(--shadow)}.intro-paper{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,5vw,5rem);align-items:center}.polaroid{background:#fff;padding:10px 10px 34px;margin: 15px;box-shadow:var(--shadow);position:relative;transform:rotate(var(--tilt,-2deg));display:block}.polaroid img{display:block;width:100%;height:auto;max-height:440px;object-fit:cover}.polaroid figcaption{bottom:2px;left:12px;font-family:var(--hand);font-size:1.2rem}.section-tag{display:inline-block;font-family:var(--hand);font-size:1.7rem;padding:.1rem 1rem;background:rgba(238,199,162,.55);transform:rotate(-2deg);margin-bottom:1rem}.story-banner{margin:5rem 0 2.5rem}.story-banner img,.wide-photo img{width:100%;display:block;max-height:390px;object-fit:cover}.story-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,6vw,6rem);align-items:center;margin:4rem 0;position:relative}.story-row.reverse .story-copy{order:2}.story-row.reverse .story-media{order:1}.story-copy{padding:2rem 2.25rem;transform:rotate(var(--copy-tilt,-.8deg));background:var(--paper);box-shadow:var(--shadow);position:relative}.story-media{margin:0}.story-row:nth-of-type(odd) .story-media{transform:rotate(2.5deg)}.story-row:nth-of-type(even) .story-media{transform:rotate(-2.6deg)}.beliefs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0 3rem}.belief-note{padding:1.3rem 1.2rem 1.4rem;background:var(--paper);box-shadow:0 7px 14px rgba(61,72,49,.11);transform:rotate(var(--tilt));min-height:176px}.belief-note:nth-child(1){--tilt:-2.2deg;background:#f8efd5}.belief-note:nth-child(2){--tilt:1.4deg;background:#e9f0e4}.belief-note:nth-child(3){--tilt:-1deg;background:#f4e7df}.belief-note:nth-child(4){--tilt:2.1deg;background:#ece7f3}.belief-note h3{font-family:var(--hand);font-size:1.7rem;margin:0 0 .3rem;line-height:1}.belief-note p{font-size:.9rem;margin:0;line-height:1.7}.gallery-scatter{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-flow:dense;gap:1rem;align-items:end}.gallery-scatter .polaroid:nth-child(3n){transform:rotate(3deg) translateY(12px)}.gallery-scatter .polaroid:nth-child(4n){transform:rotate(-3deg) translateY(-9px)}.gallery-scatter .polaroid:nth-child(1),.gallery-scatter .polaroid:nth-child(6){grid-column:span 2}.gallery-scatter img{height:190px}.page-banner{min-height:330px;margin:1rem 0 3rem;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;padding:2rem}.page-banner .banner-copy{padding:1.5rem;transform:rotate(-1deg);background:rgba(255,253,245,.9);box-shadow:var(--shadow)}.page-banner .polaroid{transform:rotate(3deg)}.page-banner .polaroid img{}.anchor-nav{display:flex;flex-wrap:wrap;gap:.7rem;margin:2rem 0 4rem}.anchor-nav a{padding:.35rem .95rem;background:var(--paper);box-shadow:0 5px 11px rgba(61,72,49,.11);font-family:var(--hand);font-size:1.28rem;transform:rotate(var(--tilt));border-bottom:2px solid var(--sage)}.anchor-nav a:nth-child(odd){--tilt:-1.7deg}.anchor-nav a:nth-child(even){--tilt:1.3deg}.course-summary{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.2rem,5vw,4rem);align-items:center;margin:5rem 0;position:relative}.course-summary:nth-of-type(even){grid-template-columns:1.2fr .8fr}.course-summary:nth-of-type(even) .course-photo{order:2;transform:rotate(2.4deg)}.course-summary:nth-of-type(even) .course-note{order:1;transform:rotate(-1deg)}.course-photo{transform:rotate(-2.4deg)}.course-note{padding:1.8rem 2rem;background:var(--paper);box-shadow:var(--shadow);transform:rotate(1.2deg)}.course-note h2{font-family:var(--hand);font-size:3rem;line-height:1;margin:.2rem 0 .7rem}.journey-route{position:relative;padding:2rem 0}.journey-route:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:3px dashed rgba(127,156,120,.6);transform:rotate(1deg)}.journey-card{width:48%;margin:2rem 0 4rem;padding:1.2rem;background:var(--paper);box-shadow:var(--shadow);position:relative;transform:rotate(-1.3deg)}.journey-card:nth-child(even){margin-left:52%;transform:rotate(1.5deg)}.journey-card:after{content:"✦";position:absolute;top:20%;font-size:2rem;color:var(--gold)}.journey-card:nth-child(odd):after{right:-18%}.journey-card:nth-child(even):after{left:-18%}.journey-card img{width:100%;height:230px;object-fit:cover;display:block}.journey-card h2{font-family:var(--hand);font-size:2.2rem;line-height:1.05;margin:1rem 0 .4rem}.detail-hero{display:grid;grid-template-columns:1fr .9fr;gap:3rem;align-items:center;margin:1rem 0 3rem;padding:2rem}.detail-hero .polaroid img{height:350px}.detail-copy{padding:2rem;background:var(--paper);box-shadow:var(--shadow);transform:rotate(-1deg)}.detail-copy .section-title{font-size:4rem}.photo-album{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;align-items:center;margin:3.5rem 0}.photo-album .polaroid{grid-column:span 4}.photo-album .polaroid:nth-child(1){grid-column:span 7;--tilt:-2deg}.photo-album .polaroid:nth-child(2){grid-column:span 5;--tilt:3deg}.photo-album .polaroid:nth-child(3n){transform:rotate(2.3deg) translateY(15px)}.photo-album img{height:230px;cursor:zoom-in}.photo-album .polaroid:nth-child(1) img{height:360px}.founder-layout{padding:3rem;position:relative;min-height:760px}.founder-copy{width:50%;padding:2.6rem;background:var(--paper);box-shadow:var(--shadow);transform:rotate(-1deg);position:relative;z-index:2}.founder-portrait{position:absolute;width:50%;right:2%;top:19%;z-index:3;--tilt:3deg}.founder-portrait img{}.founder-photos{margin-top:-1.5rem;padding-top:4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;position:relative}.founder-photos .polaroid:nth-child(1){--tilt:-5deg;transform:rotate(-5deg) translateY(-55px)}.founder-photos .polaroid:nth-child(2){--tilt:3deg;transform:rotate(3deg)}.founder-photos .polaroid:nth-child(3){--tilt:-2deg;transform:rotate(-2deg) translateY(25px)}.founder-photos .polaroid:nth-child(4){--tilt:4deg;transform:rotate(4deg) translateY(-10px)}.founder-photos img{height:185px}.empty-paper{min-height:380px;padding:4rem;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.empty-paper:after{content:"";width:75%;border-bottom:2px dashed rgba(127,156,120,.4);margin-top:2rem}.faq-banner{margin:1rem 0 3rem;padding:12px;background:#fff;box-shadow:var(--shadow);transform:rotate(-.8deg)}.faq-banner img{display:block;width:100%;object-fit:cover}.faq-list{max-width:980px;margin:auto}.faq-item{display:grid;grid-template-columns:110px 1fr;gap:1rem;align-items:center;margin:1.8rem 0;padding:1rem 1.4rem;background:var(--paper);box-shadow:var(--shadow);transform:rotate(var(--tilt));clip-path:polygon(1% 1%,98% 0,100% 97%,2% 100%,0 4%)}.faq-item:nth-child(odd){--tilt:-.7deg}.faq-item:nth-child(even){--tilt:.8deg}.faq-icon{width:82px;height:82px;object-fit:contain;margin:auto}.faq-question{display:flex;justify-content:space-between;gap:1rem;width:100%;background:none;border:0;text-align:left;cursor:pointer;font-size:1.05rem;font-weight:700;padding:.8rem 0}.faq-question span:last-child{font-family:var(--hand);font-size:2rem;line-height:.8}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}.faq-item.open .faq-answer{max-height:260px}.faq-answer p{margin:.2rem 0 1.1rem}.notice-board{max-width:900px;margin:auto;padding:3rem;position:relative;background:var(--paper);box-shadow:var(--shadow)}.notice-head{font-family:var(--hand);font-size:clamp(3.5rem,8vw,6rem);line-height:.83;margin:0;color:var(--ink)}.notice-points{display:flex;flex-wrap:wrap;gap:1rem;margin:1.7rem 0}.notice-points b{font-family:var(--hand);font-size:2.15rem;padding:.1rem .7rem;background:rgba(238,199,162,.55);transform:rotate(var(--tilt))}.notice-points b:nth-child(2){--tilt:1.5deg;background:rgba(232,185,176,.55)}.notice-points b:nth-child(3){--tilt:-1.5deg;background:rgba(184,201,170,.55)}.notice-images{display:grid;grid-template-columns:1.3fr .7fr;gap:1.3rem;margin:3rem 0}.notice-images img{width:100%;display:block;box-shadow:var(--shadow);transform:rotate(var(--tilt))}.notice-images img:first-child{--tilt:-2deg}.notice-images img:last-child{--tilt:3deg}.site-footer{background:rgba(41,66,56,.97);color:#fbf8ea;padding:3.5rem 1.5rem 2rem;position:relative}.footer-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:210px 1fr;gap:2.5rem}.footer-brand img{width:82px;height:82px;object-fit:contain;background:#fffdf5;border-radius:50%;padding:5px}.footer-brand h2{font-family:var(--hand);font-size:2.1rem;margin:.3rem 0;line-height:1}.footer-links{display:flex;flex-wrap:wrap;align-content:start;gap:.4rem .8rem}.footer-links a{font-size:.9rem;text-decoration:underline;text-decoration-style:wavy;text-underline-offset:5px}.footer-meta{grid-column:1/-1;border-top:1px dashed rgba(255,255,255,.35);padding-top:1.1rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem}.lightbox{position:fixed;inset:0;background:rgba(26,37,30,.89);z-index:100;display:none;place-items:center;padding:2rem}.lightbox.open{display:grid}.lightbox figure{margin:0;max-width:min(1050px,94vw);max-height:90vh;position:relative}.lightbox img{display:block;max-width:100%;max-height:82vh;margin:auto;box-shadow:0 18px 50px #000}.lightbox button{position:absolute;right:-.5rem;top:-2.6rem;border:0;background:var(--paper);width:2rem;height:2rem;border-radius:50%;cursor:pointer;font-size:1.3rem}.lightbox figcaption{color:#fff;text-align:center;margin-top:.5rem}.decor-wash{position:absolute;border-radius:46% 54% 57% 43% / 47% 38% 62% 53%;filter:blur(1px);opacity:.45;z-index:0}.wash-one{width:280px;height:170px;background:rgba(232,185,176,.4);top:34%;right:-130px;transform:rotate(-13deg)}.wash-two{width:260px;height:150px;background:rgba(184,201,170,.45);bottom:8%;left:-140px;transform:rotate(16deg)}
@media(max-width:980px){.nav-wrap{padding:0 1rem}.nav-toggle{display:block}.primary-nav{position:absolute;display:none;top:74px;left:0;right:0;background:var(--paper);padding:1rem;box-shadow:var(--shadow);border-bottom:1px dashed var(--sage);flex-direction:column;align-items:stretch}.primary-nav.open{display:flex}.primary-nav a,.nav-about summary{font-size:1rem;padding:.65rem}.nav-about{width:100%}.subnav{position:static;width:auto;box-shadow:none;background:rgba(184,201,170,.18);margin-top:.4rem}.page-shell{padding-top:1rem}.hero-collage,.intro-paper,.page-banner,.detail-hero{grid-template-columns:1fr;min-height:0}.hero-photo{max-width:620px}.hero-photo img{height:auto;max-height:420px}.hero-copy{min-height:0}.beliefs-grid{grid-template-columns:repeat(2,1fr)}.gallery-scatter{grid-template-columns:repeat(3,1fr)}.gallery-scatter .polaroid:nth-child(1),.gallery-scatter .polaroid:nth-child(6){grid-column:span 1}.course-summary,.course-summary:nth-of-type(even){grid-template-columns:1fr}.course-summary:nth-of-type(even) .course-photo{order:0}.course-summary:nth-of-type(even) .course-note{order:0}.journey-card,.journey-card:nth-child(even){width:88%;margin:2rem auto 4rem}.journey-route:before{left:7%}.journey-card:after{display:none}.founder-copy{width:68%}.founder-portrait{width:38%}.founder-photos{grid-template-columns:repeat(3,1fr)}.photo-album .polaroid{grid-column:span 6}.photo-album .polaroid:nth-child(1),.photo-album .polaroid:nth-child(2){grid-column:span 6}.leaf-top{right:-75px}.faq-item{grid-template-columns:82px 1fr}.faq-icon{width:66px;height:66px}}
@media(max-width:620px){body{font-size:15px}.page-shell{padding:1rem 1rem 4rem}.brand{font-size:1.45rem}.brand img{width:37px;height:37px}.hero-collage{padding:1.5rem .2rem 1rem;gap:1.2rem}.hero-photo{padding:8px 8px 28px;transform:rotate(-1deg)}.hero-copy{padding:1.6rem}.display-title{font-size:3.25rem}.section-title{font-size:2rem}.paper-section{margin:3rem 0;padding:1.3rem}.story-banner{margin:3rem 0 2rem}.story-row,.story-row.reverse{grid-template-columns:1fr;gap:1.3rem;margin:3rem 0}.story-row.reverse .story-copy,.story-row.reverse .story-media{order:initial}.story-copy{padding:1.5rem}.beliefs-grid{grid-template-columns:1fr;gap:1.15rem}.belief-note{min-height:auto}.gallery-scatter{grid-template-columns:repeat(2,1fr);gap:.7rem}.gallery-scatter img{height:145px}.page-banner{padding:.7rem;gap:1rem}.page-banner .banner-copy{padding:1.25rem}.page-banner .polaroid img{height:auto}.anchor-nav{gap:.5rem;margin:1.5rem 0 2.5rem}.anchor-nav a{font-size:1.1rem}.course-summary{margin:3.4rem 0;gap:1rem}.course-note{padding:1.4rem}.course-note h2{font-size:2.5rem}.journey-card,.journey-card:nth-child(even){width:92%;margin:1.4rem 0 3rem 8%;padding:.7rem}.journey-card img{height:180px}.journey-card h2{font-size:2rem}.detail-hero{padding:.8rem;gap:1rem}.detail-copy{padding:1.4rem}.detail-copy .section-title{font-size:3.2rem}.detail-hero .polaroid img{height:auto}.photo-album{grid-template-columns:repeat(2,1fr);gap:.7rem;margin:2rem 0}.photo-album .polaroid,.photo-album .polaroid:nth-child(1),.photo-album .polaroid:nth-child(2){grid-column:span 1}.photo-album .polaroid:nth-child(1){grid-column:span 2}.photo-album img,.photo-album .polaroid:nth-child(1) img{height:145px}.photo-album .polaroid:nth-child(1) img{height:240px}.founder-layout{padding:1.1rem;min-height:0;display:flex;flex-direction:column}.founder-copy{width:100%;padding:1.5rem}.founder-portrait{position:relative;inset:auto;width:78%;margin:1.8rem auto -1rem}.founder-portrait img{height:auto}.founder-photos{margin-top:0;padding-top:2rem;grid-template-columns:repeat(2,1fr);gap:.8rem}.founder-photos img{height:145px}.faq-banner{margin:1rem 0 2rem}.faq-banner img{height:auto}.faq-item{grid-template-columns:1fr;padding:1rem;margin:1.2rem 0}.faq-icon{margin:0;width:58px;height:58px}.notice-board{padding:1.5rem}.notice-head{font-size:4rem}.notice-points b{font-size:1.7rem}.notice-images{grid-template-columns:1fr 1fr;gap:.7rem;margin:2rem 0}.footer-inner{grid-template-columns:1fr;gap:1.5rem}.footer-meta{grid-column:auto;flex-direction:column}.leaf-left,.route-hero{display:none}.tape:before,.tape:after{width:70px;height:18px}.decor-wash{opacity:.25}.wash-one{right:-190px}.wash-two{left:-190px}}
.photo-stack{position:relative;padding:0 1rem 4rem}.photo-stack .polaroid:last-child{position:absolute;width:70%;right:-.5rem;bottom:0;z-index:2}@media(max-width:620px){.photo-stack{padding-bottom:2.5rem}.photo-stack .polaroid:last-child{right:0}}
.polaroid[role="button"]{cursor:zoom-in}.polaroid[role="button"]:focus-visible{outline:4px solid var(--gold);outline-offset:6px}

/* Round 2: shared navigation, footer and viewport-safe utilities */
.nav-about{display:flex;align-items:center;position:relative}.about-home{padding:.4rem .55rem;border-radius:999px;font-size:.83rem;white-space:nowrap}.nav-about.active>.about-home,.about-home:hover,.about-home:focus-visible{background:rgba(184,201,170,.38);outline:none}.subnav-toggle{display:none;border:0;background:transparent;padding:.4rem .25rem;cursor:pointer;color:var(--ink)}.nav-about .subnav{display:none;top:calc(100% + .45rem);left:-.35rem;z-index:70}.nav-about:hover .subnav,.nav-about:focus-within .subnav{display:grid}.footer-brand{text-align:center}.footer-links{align-content:center}.back-to-top{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));width:52px;height:52px;border:0;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);clip-path:polygon(8% 3%,93% 0,100% 90%,10% 100%,0 12%);font-family:var(--hand);font-size:2.15rem;line-height:1;cursor:pointer;z-index:60;opacity:0;pointer-events:none;transform:translateY(14px) rotate(-3deg);transition:opacity .25s ease,transform .25s ease,background .25s ease}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0) rotate(-3deg)}.back-to-top:hover,.back-to-top:focus-visible{background:#f8efd5;transform:translateY(-3px) rotate(2deg);outline:3px solid var(--sage-deep);outline-offset:3px}.back-to-top.is-suppressed{opacity:0!important;pointer-events:none!important}

/* Full-width about hero and two distinct opening paper compositions */
.about-hero-full{width:100%;position:relative;overflow:hidden;padding:1rem 0 2rem;background:radial-gradient(ellipse at 10% 55%,rgba(238,199,162,.28),transparent 34rem),radial-gradient(ellipse at 87% 15%,rgba(184,201,170,.26),transparent 28rem)}.about-hero-inner{max-width:1480px;margin:0 auto;padding:0 clamp(1rem,5vw,5rem);position:relative}.about-hero-full .hero-collage{width:100%;min-height:570px}.about-page-shell{max-width:none;padding:0 0 6rem}.about-content{max-width:1240px;margin:auto;padding:1rem clamp(1rem,4vw,4rem) 0}.about-intro-section,.origin-section{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:center;margin:4.5rem 0;padding:clamp(1.5rem,5vw,4.5rem);position:relative;overflow:visible}.about-intro-copy{padding:1.8rem 2rem;background:rgba(255,253,245,.92);box-shadow:var(--shadow);transform:rotate(-1.2deg);position:relative;z-index:2}.about-intro-section>.polaroid{transform:rotate(3deg);z-index:3}.about-intro-section>.polaroid img{height:360px;object-fit:cover}.about-scribble{display:block;font-family:var(--hand);font-size:1.55rem;color:var(--sage-deep);margin-top:1rem;transform:rotate(-2deg)}.about-leaf{position:absolute;width:175px;right:-50px;bottom:-65px;opacity:.68;transform:rotate(20deg);pointer-events:none}.origin-section{grid-template-columns:.85fr 1.15fr;background:rgba(255,253,245,.76)}.origin-section>.polaroid{transform:rotate(-3deg);z-index:3}.origin-section>.polaroid img{height:320px;object-fit:cover}.origin-copy{padding:1.8rem 2.2rem;position:relative;z-index:2}.origin-route{position:absolute;left:25%;bottom:-36px;width:205px;height:95px;transform:rotate(16deg);pointer-events:none}.about-content .story-banner{margin-top:5rem}

/* Course exploration: the photo_248 notebook collage direction rebuilt in HTML/CSS */
.courses-page-shell{max-width:1340px}.course-explore-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:400px;gap:1rem;margin:1rem 0 3.5rem;padding:clamp(1.5rem,4vw,3.8rem);position:relative;overflow:hidden}.course-explore-copy{position:relative;z-index:2;padding:1.2rem 1.8rem;background:rgba(255,253,245,.92);box-shadow:var(--shadow);transform:rotate(-1.2deg)}.course-explore-copy .display-title{font-size:clamp(3.6rem,7vw,6.1rem)}.course-doodle{font-family:var(--hand);font-size:1.45rem;color:var(--sage-deep);display:block;margin-top:1rem;transform:rotate(-2deg)}.course-explore-map{position:relative;min-height:245px;background:linear-gradient(130deg,rgba(184,201,170,.35),rgba(238,199,162,.23));clip-path:polygon(8% 6%,97% 0,100% 88%,7% 100%,0 13%)}.map-line{position:absolute;width:88%;height:70%;left:5%;top:13%;transform:rotate(-7deg)}.map-line svg{width:100%;height:100%}.map-dot{position:absolute;width:28px;height:28px;border-radius:50% 50% 50% 0;background:var(--rose);box-shadow:0 4px 0 rgba(41,66,56,.15);transform:rotate(-45deg)}.dot-one{left:23%;top:25%}.dot-two{right:29%;top:44%;background:var(--gold)}.dot-three{left:45%;bottom:20%;background:var(--sage-deep)}.course-cover-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,3vw,2.6rem);padding:1rem 1.2rem 3rem;align-items:start}.course-cover-card{min-width:0;position:relative;transform:rotate(var(--course-tilt));transition:transform .25s ease}.course-cover-card:nth-child(1){--course-tilt:-2.3deg}.course-cover-card:nth-child(2){--course-tilt:1.8deg;margin-top:2rem}.course-cover-card:nth-child(3){--course-tilt:-1deg;margin-top:.5rem}.course-cover-card:nth-child(4){--course-tilt:2.1deg;margin-top:-.8rem}.course-cover-card:nth-child(5){--course-tilt:-2deg;margin-top:1.6rem}.course-cover-card:nth-child(6){--course-tilt:1.2deg;margin-top:-1rem}.course-cover-card:nth-child(7){--course-tilt:-1.5deg;margin-top:.7rem}.course-cover-card:nth-child(8){--course-tilt:2.5deg;margin-top:1.8rem}.course-cover-card:nth-child(9){--course-tilt:-2.1deg;margin-top:-.5rem}.course-cover-card:nth-child(10){--course-tilt:1.4deg;margin-top:1rem}.course-cover-card:nth-child(11){--course-tilt:-1.1deg;margin-top:2rem}.course-cover-card:hover,.course-cover-card:focus-within{transform:rotate(0) translateY(-7px);z-index:4}.course-cover-photo{margin:0;padding:10px 10px 30px;background:#fff;box-shadow:var(--shadow);position:relative}.course-cover-photo:before{content:"";position:absolute;width:76px;height:19px;top:-9px;left:calc(50% - 38px);background:repeating-linear-gradient(90deg,rgba(247,213,131,.85),rgba(247,213,131,.85) 6px,rgba(255,239,171,.7) 7px);transform:rotate(-4deg);z-index:2}.course-cover-photo img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center}.course-cover-note{margin:-13px 13px 0;padding:1rem 1.1rem 1.15rem;background:var(--paper);box-shadow:0 8px 16px rgba(61,72,49,.12);position:relative;z-index:1}.course-cover-note span{font-family:var(--hand);color:var(--sage-deep);font-size:1.15rem}.course-cover-note h2{font-family:var(--hand);font-size:2rem;line-height:1;margin:.2rem 0 .7rem}.course-cover-note p{font-size:.85rem;line-height:1.7;margin:0 0 .6rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.course-cover-note b{font-family:var(--hand);font-size:1.25rem;border-bottom:2px solid var(--gold)}

/* Letters page: photo_368's hierarchy rebuilt, photo_369 retained as the banner */
.letters-page-shell{max-width:1180px}.letters-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.4rem,5vw,4rem);align-items:center;margin:1rem 0 3rem;padding:clamp(1rem,3vw,2.4rem);position:relative}.letters-banner{padding:10px 10px 26px;background:#fff;box-shadow:var(--shadow);transform:rotate(-2deg);position:relative}.letters-banner img{display:block;width:100%;object-fit:cover;object-position:center}.letters-title-note{padding:2rem;background:var(--paper);box-shadow:var(--shadow);transform:rotate(1.5deg);position:relative}.letters-title-note .display-title{font-size:clamp(3.1rem,5.6vw,5.2rem);color:var(--ink)}.letters-arrow{position:absolute;width:180px;height:80px;bottom:-64px;left:-82px;transform:rotate(24deg);pointer-events:none}.letters-board{display:grid;grid-template-columns:.72fr 1.05fr .6fr;gap:clamp(1rem,3vw,2.6rem);align-items:center;padding:clamp(1.4rem,4vw,3.5rem);position:relative}.letters-points{display:flex;flex-direction:column;gap:1rem}.letters-points span{font-family:var(--hand);font-weight:700;font-size:2.15rem;line-height:1;padding:.45rem .8rem;background:rgba(238,199,162,.58);box-shadow:0 4px 10px rgba(61,72,49,.1);transform:rotate(-3deg)}.letters-points span:nth-child(2){background:rgba(232,185,176,.54);transform:rotate(2deg)}.letters-points span:nth-child(3){background:rgba(184,201,170,.58);transform:rotate(-1deg)}.letters-copy{padding:1.4rem 1.6rem;background:rgba(255,253,245,.9);box-shadow:var(--shadow);transform:rotate(-.7deg);position:relative;z-index:2}.letters-copy ul{padding-left:1.2rem}.letters-copy li::marker{color:var(--rose)}.hotline{font-family:var(--hand);font-size:1.7rem;color:var(--sage-deep);margin-bottom:0}.letters-board>.polaroid{transform:rotate(3deg);z-index:3}.letters-board>.polaroid img{height:100%;object-fit:cover}.letters-leaf{position:absolute;width:155px;right:-40px;bottom:-42px;opacity:.65;transform:rotate(17deg);pointer-events:none}

@media(max-width:980px){.about-hero-full .hero-collage,.about-intro-section,.origin-section,.course-explore-hero,.letters-hero,.letters-board{grid-template-columns:1fr}.about-hero-full .hero-collage{min-height:0}.about-intro-section>.polaroid,.origin-section>.polaroid{max-width:650px;margin:auto}.origin-section>.polaroid{order:2}.origin-copy{order:1}.about-leaf{right:0}.course-cover-board{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px;margin:auto}.course-cover-card:nth-child(n){margin-top:0}.course-cover-card:nth-child(even){margin-top:1.5rem}.letters-banner img{height:auto;max-height:370px}.letters-board>.polaroid{max-width:420px;margin:auto}.letters-points{flex-direction:row;flex-wrap:wrap}.letters-points span{font-size:1.8rem}.letters-leaf{right:0}.nav-about{width:100%;display:grid;grid-template-columns:1fr auto}.about-home{font-size:1rem;padding:.65rem}.subnav-toggle{display:block;font-size:1.3rem}.nav-about .subnav{display:none;position:static;grid-column:1/-1;width:auto;box-shadow:none;background:rgba(184,201,170,.18);margin-top:.2rem;clip-path:none}.nav-about:hover .subnav{display:none}.nav-about.open .subnav{display:grid}.back-to-top{width:48px;height:48px;right:max(.8rem,env(safe-area-inset-right));bottom:max(.8rem,env(safe-area-inset-bottom))}}
@media(max-width:620px){.about-hero-inner{padding:0 1rem}.about-hero-full{padding-top:.4rem}.about-hero-full .hero-collage{padding:1.3rem 0 1rem}.about-content{padding:0 1rem}.about-intro-section,.origin-section{margin:3rem 0;padding:1.1rem;gap:1.3rem}.about-intro-copy,.origin-copy{padding:1.4rem}.about-intro-section>.polaroid img,.origin-section>.polaroid img{height:auto}.about-intro-section>.polaroid{transform:rotate(1.5deg)}.origin-section>.polaroid{transform:rotate(-1.5deg)}.origin-route,.about-leaf{display:none}.course-explore-hero{padding:1rem;gap:1rem;margin-bottom:2rem}.course-explore-copy{padding:1.4rem}.course-explore-map{min-height:155px}.course-cover-board{grid-template-columns:1fr;padding:1rem .8rem 2rem;gap:2rem}.course-cover-card,.course-cover-card:nth-child(n){max-width:390px;width:92%;margin:0 auto!important;transform:rotate(var(--course-tilt))}.course-cover-card:nth-child(even){--course-tilt:1.4deg}.course-cover-photo img{aspect-ratio:4/3}.letters-hero{padding:1rem;margin-bottom:2rem}.letters-banner{transform:rotate(-1deg)}.letters-banner img{height:auto;min-height:145px;object-fit:cover}.letters-title-note{padding:1.4rem;transform:rotate(.7deg)}.letters-title-note .display-title{font-size:3.5rem}.letters-arrow{display:none}.letters-board{padding:1.2rem;gap:1.4rem}.letters-points{gap:.6rem}.letters-points span{font-size:1.55rem}.letters-copy{padding:1.2rem}.letters-board>.polaroid{max-width:70%}.letters-board>.polaroid img{height:auto}.letters-leaf{display:none}.back-to-top{width:44px;height:44px;font-size:1.9rem}}

/* Shared lightbox: a single visual-viewport rule set for every page. */
body.lightbox-open{overflow:hidden;overscroll-behavior:none}
#lightbox{position:fixed;inset:0;z-index:100;width:100%;height:100vh;height:100dvh;box-sizing:border-box;display:none;place-items:center;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:rgba(25,35,29,.84);overflow:hidden;overscroll-behavior:contain}
#lightbox.open{display:grid}
#lightbox figure{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(92vw,1200px);max-width:92vw;max-height:90vh;max-height:90dvh;min-width:0;min-height:0;margin:0;padding:0;box-sizing:border-box;transform:none;grid-column:auto;grid-row:auto;aspect-ratio:auto;overflow:visible}
#lightbox figure>img{display:block;width:auto;height:auto;min-width:0;min-height:0;max-width:100%;max-height:calc(90vh - 60px);max-height:calc(90dvh - 60px);margin:0 auto;object-fit:contain;object-position:center}
#lightbox figcaption{max-width:100%;max-height:2.7em;margin-top:.35rem;overflow:hidden;color:#fff;font-size:.9rem;line-height:1.35;text-align:center}
#lightbox figure>button{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:101;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--paper);color:var(--ink);font-size:2rem;line-height:1;cursor:pointer}
#lightbox figure>button:hover,#lightbox figure>button:focus-visible{background:#f8efd5;outline:3px solid var(--sage-deep);outline-offset:3px}
body.lightbox-open .back-to-top{opacity:0;pointer-events:none}

/* Decorative washes are visual-only: they are clipped by their own page wrapper,
   not by the document body, so they cannot widen the mobile layout viewport. */
.page-decorations{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}
@media(max-width:620px){
  html,body{overflow-x:visible}
  main#main{position:relative;overflow:clip}
  .page-decorations{overflow:clip}
  .page-decorations .wash-one{width:min(52vw,220px);height:min(32vw,135px);right:-26vw;top:34%;transform:rotate(-13deg)}
  .page-decorations .wash-two{width:min(48vw,200px);height:min(29vw,122px);left:-25vw;bottom:8%;transform:rotate(16deg)}
}

/* Page-specific full-width compositions. Supporting content keeps a readable measure. */
.journeys-page-shell,.founder-page-shell,.faq-page-shell,.letters-page-shell{max-width:none;padding-left:0;padding-right:0}
.journeys-page-shell>.page-banner,.founder-page-shell>.founder-layout,.faq-page-shell>.faq-banner,.letters-page-shell>.letters-hero{width:100%;margin-left:0;margin-right:0}
.journeys-page-shell>.page-banner{padding-left:clamp(1.5rem,8vw,9rem);padding-right:clamp(1.5rem,8vw,9rem)}
.journeys-page-shell>.journey-route{max-width:1240px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,4vw,4rem);padding-right:clamp(1rem,4vw,4rem)}
.founder-page-shell>.founder-layout{padding-left:clamp(1.5rem,8vw,9rem);padding-right:clamp(1.5rem,8vw,9rem)}
.founder-page-shell>.founder-photos{max-width:1240px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,4vw,4rem);padding-right:clamp(1rem,4vw,4rem)}
.faq-page-shell>.faq-banner{padding-left:clamp(1rem,5vw,5rem);padding-right:clamp(1rem,5vw,5rem)}
.faq-page-shell>.paper-section{max-width:1240px;margin-left:auto;margin-right:auto}
.letters-page-shell>.letters-hero{padding-left:clamp(1rem,8vw,9rem);padding-right:clamp(1rem,8vw,9rem)}
.letters-page-shell>.letters-board{max-width:1180px;margin-left:auto;margin-right:auto}

/* Letters board: one stacked information column beside the illustration. */
.letters-board{grid-template-columns:minmax(0,1fr) minmax(260px,.58fr)}
.letters-left-column{min-width:0;display:flex;flex-direction:column;gap:clamp(1.2rem,3vw,2.4rem)}
.letters-left-column .letters-points{margin:0}
.letters-board>.polaroid{justify-self:center;width:min(100%,420px)}

/* Warm community: client-provided charitable activity records. */
.warm-hero{min-height:390px;margin:1rem 0 4rem;padding:clamp(1.5rem,5vw,4rem);display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(1.5rem,5vw,5rem);align-items:center}
.warm-hero-copy{padding:1.8rem 2rem;background:rgba(255,253,245,.91);box-shadow:var(--shadow);transform:rotate(-1.2deg);position:relative;z-index:1}
.warm-hero>.polaroid{max-width:520px;justify-self:center;z-index:2}
.warm-hero>.polaroid img{height:290px;object-fit:cover}
.warm-intro{max-width:880px;margin:0 auto 4rem;padding:clamp(1.5rem,4vw,3rem);text-align:center}
.warm-intro .section-title{margin-bottom:1rem}
.warm-activities{display:grid;gap:clamp(3rem,7vw,6rem);padding-bottom:2rem}
.warm-activity{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,6vw,5rem);align-items:center;position:relative}
.warm-activity:nth-child(even){grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}
.warm-activity:nth-child(even)>.polaroid{order:2}
.warm-activity:nth-child(even)>.warm-activity-copy{order:1;transform:rotate(-1deg)}
.warm-activity>.polaroid{max-width:510px;justify-self:center}
.warm-activity>.polaroid img{height:280px;object-fit:cover}
.warm-activity-copy{padding:clamp(1.4rem,3vw,2.4rem);background:var(--paper);box-shadow:var(--shadow);transform:rotate(1deg)}
.warm-activity-copy h2{font-family:var(--hand);font-size:clamp(2rem,4vw,3.4rem);line-height:1;margin:.25rem 0 .8rem}

@media(max-width:980px){
  .letters-board{grid-template-columns:1fr}
  .letters-left-column .letters-points{flex-direction:row;flex-wrap:wrap}
  .warm-hero,.warm-activity,.warm-activity:nth-child(even){grid-template-columns:1fr}
  .warm-activity:nth-child(even)>.polaroid,.warm-activity:nth-child(even)>.warm-activity-copy{order:initial}
}
@media(max-width:620px){
  .journeys-page-shell>.page-banner,.founder-page-shell>.founder-layout,.faq-page-shell>.faq-banner,.letters-page-shell>.letters-hero{padding-left:1rem;padding-right:1rem}
  .journeys-page-shell>.journey-route,.founder-page-shell>.founder-photos{padding-left:1rem;padding-right:1rem}
  .faq-page-shell>.paper-section{margin-left:1rem;margin-right:1rem}
  .letters-page-shell>.letters-board{margin-left:1rem;margin-right:1rem}
  .letters-left-column .letters-points{flex-direction:column}
  .warm-hero{padding:1rem;gap:1.2rem;margin-bottom:3rem}
  .warm-hero-copy,.warm-activity-copy{padding:1.3rem}
  .warm-hero>.polaroid img,.warm-activity>.polaroid img{height:auto}
  .warm-intro{margin-bottom:3rem;padding:1.3rem}
  .warm-activity{gap:1.2rem}
}
