@charset "UTF-8";
@font-face{font-family:WK Maru;src:url('fonts/zen-maru-black-full-v1.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
:root{--ink:#3e352f;--green:#126b56;--paper:#fffcf3;--soft:#fff0d7;--mint:#e5f5e9;--coral:#c54820;--yellow:#ffd044;--line:#decfbf;--muted:#655950;--display:'WK Maru','Yu Gothic',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:20px/1.95 'Yu Gothic',YuGothic,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;letter-spacing:.025em;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}p{margin-bottom:20px}h1,h2,h3{font-family:var(--display);font-weight:900;line-height:1.55;letter-spacing:.015em}h2{font-size:clamp(28px,3vw,42px)}h3{font-size:23px}ul,ol{padding-left:1.4em}li{margin-bottom:9px}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:3px solid var(--coral);outline-offset:5px}.shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:88px}.no-top{padding-top:0}.soft{background:var(--mint)}.eyebrow,.section-label{font-weight:700;font-size:20px;letter-spacing:.11em;margin-bottom:20px}.eyebrow{font-family:Arial,sans-serif;color:var(--muted);font-size:20px}.section-label:before{content:'';display:inline-block;background:var(--coral);width:9px;height:9px;border-radius:50%;margin-right:11px}.lead{color:var(--muted);max-width:800px;font-size:20px;line-height:2}.fine{font-size:20px;color:var(--muted);line-height:1.9}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:58px;padding:14px 26px;background:var(--coral);border:2px solid var(--coral);border-radius:7px;color:white;font-size:20px;line-height:1.7;font-weight:bold;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}.button>span{font-size:21px;font-weight:400}.button:hover{transform:translateY(-3px);box-shadow:0 5px 0 #664b381c;background:#c93619}.button.small{font-size:20px;padding:10px 18px;min-height:48px;gap:17px}.button.cream{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.outline{color:var(--ink);background:transparent;border-color:var(--ink)}.button.outline:hover{background:#fff8}.button:disabled{opacity:.6;cursor:wait}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:2px solid currentColor;padding:10px 0;font-weight:700;font-size:20px;text-decoration:none}.text-link span{font-size:23px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.pill{display:inline-block;border:1px solid currentColor;border-radius:40px;font-size:20px;font-weight:700;padding:5px 14px;line-height:1.8}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-70px;left:20px;background:var(--paper);padding:12px;z-index:1000}.skip:focus{top:10px}.mobile-only{display:none}
/* A familiar masthead above a photographic opening spread. */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid #664b3814}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:20px}.brand{display:flex;align-items:center;gap:12px;font:900 28px/1.3 var(--display);text-decoration:none;white-space:nowrap}.brand small{display:block;padding-top:6px;font:700 20px/1.4 'Yu Gothic',Meiryo,sans-serif;letter-spacing:.11em}.brand-mark{flex:0 0 49px;width:49px;height:49px;color:var(--coral);transform:rotate(-9deg)}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav>a:not(.button){font-size:20px;font-weight:bold;text-decoration:none}.site-header nav [aria-current=page]{text-decoration:underline;text-underline-offset:9px}.menu-toggle{display:none}
.dream-hero{position:relative;isolation:isolate;min-height:725px;max-width:1800px;margin:auto;overflow:hidden;background:#eaf5ed}.hero-photo{position:absolute;inset:0 0 0 35%;z-index:-1}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,#fffaf000 27%)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 52%}.photo-label{position:absolute;bottom:17px;right:22px;z-index:2;background:#fffdf2eb;color:var(--ink);padding:3px 10px;font-size:20px;letter-spacing:.06em}.hero-content{position:relative;min-height:725px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:45px 55px}.dream-hero:before{content:'';position:absolute;inset:0 65% 0 0;z-index:-1;background:var(--paper)}.hero-kicker{font-weight:700;font-size:20px;margin:0 0 20px 5px}.hero-heading h1{font-size:clamp(65px,6.7vw,101px);line-height:1.18;letter-spacing:-.045em;text-shadow:0 1px 0 var(--paper)}.hero-heading h1 span{position:relative;white-space:nowrap}.hero-heading h1 .hero-finish:after{content:'';position:absolute;left:2%;bottom:4%;width:94%;height:10px;background:var(--yellow);z-index:-1;transform:rotate(-2deg)}.hero-bottom{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:17px}.hero-bottom p{font-size:20px;line-height:1.9;margin:0}.hero-button{box-shadow:5px 5px 0 var(--ink)}.hero-button:hover{box-shadow:5px 8px 0 var(--ink)}.hero-sticker{position:absolute;right:0;top:48px;background:var(--yellow);color:var(--ink);font:900 20px/1.6 var(--display);border-radius:50%;width:150px;height:150px;display:flex;align-items:center;justify-content:center;transform:rotate(12deg);text-align:center;box-shadow:4px 5px 0 #664b3817}.opening-note{display:flex;gap:15px;align-items:center;padding-block:25px;border-bottom:1px solid var(--line)}.status-dot{width:8px;height:8px;background:var(--coral);border-radius:50%;flex-shrink:0}.opening-note p{font-size:20px;margin:0;display:flex;gap:24px;align-items:center}.opening-note a{margin-left:auto;text-decoration:none;font-size:20px;font-weight:bold;white-space:nowrap}.opening-note a span{margin-left:18px;font-size:20px}
/* A first story, arranged like an open photo album. */
.first-story{position:relative;display:grid;grid-template-columns:.78fr 1fr 1.05fr;gap:50px;align-items:center;padding-block:120px}.story-heading{align-self:start;padding-top:20px;position:relative}.story-count{font:900 100px/1 Arial,sans-serif;color:#ebdfc5;display:block;letter-spacing:-.1em;margin:15px 0 20px}.story-heading h2{font-size:clamp(30px,3vw,44px);line-height:1.65;white-space:nowrap}.story-deck{font-family:var(--display);font-size:20px;margin-top:23px;line-height:1.7}.story-photo{position:relative;transform:rotate(-3deg);background:#fff;padding:12px 12px 0;box-shadow:3px 8px 0 #664b3812}.story-photo img{width:100%;aspect-ratio:2/3;object-fit:cover}.story-photo figcaption{font-size:20px;line-height:1.8;padding:12px 0;text-align:center;color:var(--muted)}.photo-tape{position:absolute;top:-14px;left:32%;width:37%;height:31px;background:#f9ce4bbd;transform:rotate(5deg)}.story-copy{padding-top:50px}.story-copy h3{font-size:clamp(22px,2.2vw,31px);line-height:1.65;margin:20px 0 24px}.story-copy>p{font-size:20px;line-height:2.05}.story-copy .text-link{font-size:20px;margin:3px 0 25px}.story-copy .story-disclosure{font-size:20px;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin-bottom:0}
.support-meaning{background:var(--yellow);position:relative}.meaning-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:95px}.meaning-heading h2{font-size:clamp(28px,3.1vw,43px);margin:27px 0}.meaning-heading>p:last-child{font-size:20px;line-height:2.1;margin-bottom:0}.meaning-list article{display:flex;gap:22px;border-top:1px solid #664b384d;padding-block:25px}.meaning-list article:last-child{border-bottom:1px solid #664b384d}.meaning-list article>span{font:400 36px/1.3 Arial,sans-serif}.meaning-list h3{font-size:22px;margin-bottom:9px}.meaning-list p{font-size:20px;line-height:1.95;margin:0;max-width:360px}.join-section{padding-block:105px}.join-section>h2{font-size:clamp(29px,3.3vw,46px);margin-bottom:42px}.join-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.join-grid article{padding:40px;position:relative;overflow:hidden;isolation:isolate}.join-personal{background:#e5f5e9}.join-partner{background:var(--ink);color:var(--paper)}.join-caption{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:9px;font-size:20px;font-weight:bold;margin-bottom:28px}.join-grid h3{font-size:32px;line-height:1.65;margin-bottom:19px}.join-grid p{font-size:20px;line-height:2}.join-grid small{display:block;margin-top:14px;font-size:20px}.join-sign{position:absolute;top:43px;right:25px;font:900 20px/1.6 var(--display);border:2px solid currentColor;border-radius:50%;width:114px;height:114px;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(12deg);color:#126b56}.join-partner .join-sign{color:var(--yellow)}.letters-row{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:2px solid var(--ink);padding-block:35px 65px}.letters-row .section-label{font-size:20px;margin-bottom:13px}.letters-row h2{font-size:27px;margin-bottom:12px}.letters-row p:last-child{font-size:20px;color:var(--muted);margin:0}.letters-row .text-link{white-space:nowrap;font-size:20px}
/* Trust has a quiet, readable place in the story. */
.promise-section{background:#fff0d7}.promise-section h2{margin-bottom:35px}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-bottom:25px}.promise-grid strong{display:block;font-family:var(--display);font-size:20px;line-height:1.6;margin-bottom:13px}.promise-grid p{font-size:20px;line-height:2}.site-footer{padding:65px 0 25px;background:var(--ink);color:var(--paper)}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-bottom:50px}.footer-message{font:900 43px/1.5 var(--display);margin-bottom:30px}.site-footer .brand{font-size:25px}.site-footer .brand-mark{color:#f3865f}.footer-links{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:17px 35px}.footer-links a{font-size:20px;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-links a:last-child{grid-column:1/-1}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff45;padding-top:20px}.footer-bottom p,.footer-bottom small{font-size:20px;margin:0}.photo-credits{font-size:20px;opacity:.8;margin:15px 0 0;line-height:1.9}
/* Interior pages retain their actual project and contract information. */
.page-heading{padding-block:65px}.page-heading h1{font-size:clamp(31px,4vw,53px);line-height:1.6;margin-bottom:24px;max-width:1100px}.prose{max-width:800px}.prose h2{font-size:27px;margin:45px 0 20px}.prose h2:first-child{margin-top:0}.prose p,.prose li{font-size:20px;line-height:2.15}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.section-title>p{font-size:20px;color:var(--muted);margin:0}.three-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.three-cards>article{padding:30px;border-top:3px solid var(--ink);background:#fffef8}.three-cards h2,.three-cards h3{font-size:22px;margin-bottom:20px}.three-cards p{font-size:20px;color:var(--muted);margin:0;line-height:2}.step-number{display:block;color:var(--coral);font:900 33px/1.4 var(--display);margin-bottom:15px}.pricing>article{display:flex;flex-direction:column;border-top-color:var(--coral)}.pricing>article:nth-child(2){border-top-color:var(--ink)}.pricing>article:nth-child(3){border-top-color:#c19b23}.pricing .price{font:900 37px/1.5 var(--display);color:var(--ink)}.price small{display:block;font:400 20px/2 'Yu Gothic',Meiryo,sans-serif}.pricing ul{list-style:none;padding:20px 0;margin:18px 0 25px;border-top:1px solid var(--line);font-size:20px}.pricing li:before{content:'✓';margin-right:9px;color:var(--coral)}.pricing .button,.pricing .status-label{margin-top:auto}.pricing .button{font-size:20px;padding:12px 16px}.status-label{display:block;border:1px dashed #7a8394;padding:13px;text-align:center;font-size:20px;color:var(--muted)}.notice{background:var(--mint);padding:25px 30px;border-left:4px solid var(--ink);margin-bottom:35px}.notice strong{font-size:20px}.notice p{margin:10px 0 0;font-size:20px}.project-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:65px;padding-bottom:100px}.project-landscape{width:100%;object-fit:cover;max-height:490px}.project-figure{margin:0 0 40px}.project-figure figcaption{font-size:20px;color:var(--muted);padding-top:9px}.support-panel{position:sticky;top:124px;align-self:start;background:#fffef8;border-top:6px solid var(--coral);padding:28px;box-shadow:0 8px 24px #664b380a}.support-panel .pill{margin-bottom:22px}.support-panel h2{font-size:24px;margin-bottom:20px}.support-panel p{font-size:20px}.support-panel .button{width:100%;margin-top:20px;font-size:20px;padding:12px 16px}.support-panel .text-link{font-size:20px}.support-panel .fine{margin:17px 0 0}.funding-box strong{font:900 30px var(--display)}dl{margin:0}dl>div{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:15px 0}dt{font-size:20px;color:var(--muted);flex-basis:28%;flex-shrink:0}dd{font-size:20px;margin:0}.info-list dt{font-size:20px;flex-basis:25%}.info-list dd{font-size:20px;line-height:2}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;line-height:1.8;text-align:left;font-size:20px;margin-bottom:20px}caption{text-align:left;padding:12px 0;font-size:20px;color:var(--muted)}th,td{padding:15px 12px;border-bottom:1px solid var(--line)}th{font-weight:500}td{text-align:right;white-space:nowrap;font-weight:bold}.timeline{list-style:none;padding:0;counter-reset:steps}.timeline li{padding:0 0 25px 43px;position:relative;border-left:1px solid var(--line);margin-left:15px;counter-increment:steps}.timeline li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:-15px;top:0;background:var(--paper);font-family:var(--display);font-size:20px;color:var(--coral)}.timeline li strong{display:block}.faq-list{max-width:900px}.faq-list details{border-bottom:1px solid var(--line);padding:25px 0}.faq-list summary{list-style:none;font-size:20px;font-weight:bold;display:flex;gap:20px;align-items:baseline;padding-right:35px;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'＋';position:absolute;right:0}.faq-list details[open] summary:after{content:'−'}.faq-list summary>span{color:var(--coral);font:900 25px var(--display)}.faq-list details>p{padding:20px 35px 0;margin:0;font-size:20px}.empty-letter{display:flex;gap:30px;align-items:center;padding:35px;border-block:1px solid var(--line)}.empty-letter>span{font-size:40px;color:var(--coral)}.empty-letter h2,.empty-letter h3{font-size:24px;margin-bottom:15px}.empty-letter p{font-size:20px;color:var(--muted);margin:0}.contact-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:80px}.contact-layout .form-result{grid-column:1/-1}.contact-layout form>label{display:block;font-size:20px;font-weight:bold;margin-bottom:25px}.contact-layout label>span:not(.checkbox span){font-size:20px;color:#ae361a;margin-left:10px}.contact-layout label small{font-size:20px;font-weight:400;color:var(--muted);margin-left:10px}input,select,textarea{display:block;width:100%;padding:13px 15px;background:#fffefb;border:1px solid #9aabb7;border-radius:3px;color:var(--ink);margin-top:8px;font-size:20px;line-height:1.7}textarea{resize:vertical}.contact-layout .checkbox{display:flex;gap:14px;align-items:flex-start;font-weight:400;font-size:20px;line-height:1.9}.checkbox input{flex:0 0 18px;width:18px;height:18px;accent-color:var(--ink);margin-top:4px}.contact-layout .checkbox span{font-size:20px;color:var(--ink);margin:0}.contact-layout .button{margin-top:10px}.contact-layout form>.fine{margin-top:15px}.contact-note{background:var(--yellow);padding:38px;align-self:start;transform:rotate(1deg)}.contact-note h2{font-size:29px;margin-bottom:24px}.contact-note p{font-size:20px;line-height:2.1}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.report-card{border-bottom:1px solid var(--line);padding-bottom:20px}.report-card img{aspect-ratio:1.5;object-fit:cover}.report-card time{display:block;font-size:20px;margin-top:20px;color:var(--muted)}.report-card h2{font-size:22px;margin:10px 0}.report-card p{font-size:20px}.project-card{display:grid;grid-template-columns:1fr 1fr;gap:35px}.project-art{display:block;position:relative}.project-art img{width:100%;height:400px;object-fit:cover}.project-art .pill{position:absolute;top:20px;left:20px;background:var(--paper)}.project-copy{padding:25px}.project-copy h3{font-size:32px;margin:15px 0}.project-copy h3 a{text-decoration:none}.project-copy>p{font-size:20px}.project-meta{font-size:20px;border-block:1px solid var(--line);padding:12px 0;margin-bottom:15px;display:flex;justify-content:space-between;gap:15px}
@media(min-width:1600px){.hero-content,.dream-hero{min-height:790px}.hero-heading h1{font-size:107px}}
@media(max-width:1200px){.shell{width:calc(100% - 72px)}.site-header nav{gap:18px}.brand{font-size:25px}.first-story{gap:28px}.story-heading h2{font-size:33px}.story-copy h3{font-size:25px}.story-copy>p{font-size:20px}.meaning-inner{gap:55px}.join-grid article{padding:32px}.join-sign{width:95px;height:95px;font-size:20px;right:20px}.join-grid h3{font-size:28px}.project-detail{gap:35px;grid-template-columns:minmax(0,1fr) 310px}.contact-layout{gap:40px}}
@media(max-width:1200px){.header-inner{min-height:84px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:45px;height:45px;background:transparent;border:1px solid #664b3855;border-radius:50%;flex-shrink:0}.menu-toggle>span:not(.visually-hidden){display:block;width:19px;height:2px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:30px 36px;box-shadow:0 15px 15px #664b3810;border-bottom:1px solid var(--line)}.site-header nav.is-open{display:flex;flex-wrap:wrap;gap:25px}.hero-content,.dream-hero{min-height:680px}.hero-heading h1{font-size:76px}.hero-sticker{width:120px;height:120px;font-size:20px;top:35px}.hero-photo{left:32%}.first-story{grid-template-columns:1fr 1.15fr;gap:40px;padding-block:85px}.story-heading{grid-column:1;grid-row:1;padding-top:0}.story-count{font-size:64px;margin:0 0 15px}.story-heading h2{font-size:39px}.story-photo{grid-column:2;grid-row:1/3;align-self:center;max-width:390px}.story-copy{grid-column:1;grid-row:2;padding:0}.story-copy h3{font-size:24px}.story-copy>p{font-size:20px}.meaning-inner{gap:35px;padding-block:75px}.meaning-heading h2{font-size:31px}.meaning-list h3{font-size:20px}.join-sign{top:25px;width:85px;height:85px;font-size:20px;right:15px}.join-caption{font-size:20px}.join-grid h3{font-size:26px}.join-grid .button{font-size:20px;padding:12px 18px;gap:22px}.promise-grid{gap:30px}.promise-grid strong{font-size:20px}.three-cards{gap:16px}.three-cards>article{padding:23px}.three-cards h2,.three-cards h3{font-size:20px}.project-detail{grid-template-columns:minmax(0,1fr) 280px;gap:27px}.support-panel{padding:20px}.pricing .price{font-size:30px}.footer-message{font-size:37px}}
@media(max-width:700px){html{scroll-padding-top:85px}.shell{width:calc(100% - 40px)}body{font-size:20px}.header-inner{min-height:78px}.brand{gap:9px;font-size:24px}.brand-mark{width:40px;height:40px;flex-basis:40px}.brand small{font-size:20px;letter-spacing:.07em}.menu-toggle{width:42px;height:42px}.site-header nav{top:78px;padding:22px 20px;flex-direction:column;align-items:stretch;gap:20px}.site-header nav>a:not(.button){font-size:20px;min-height:35px;display:flex;align-items:center}.site-header nav .button{margin-top:2px;min-height:50px}.dream-hero{min-height:0;overflow:visible;background:var(--paper);padding-bottom:20px}.dream-hero:before{display:none}.hero-photo{inset:114px 0 auto 23%;height:330px;z-index:-1}.hero-photo:after{background:linear-gradient(90deg,var(--paper),#fffaf000 38%)}.hero-photo img{object-position:57% 50%}.photo-label{font-size:20px;bottom:10px;right:10px;padding:2px 7px}.hero-content{min-height:630px;padding-block:26px 0;justify-content:flex-start}.hero-kicker{font-size:20px;letter-spacing:.015em;margin:0 0 22px 2px}.hero-heading h1{font-size:clamp(47px,13vw,79px);line-height:1.3;letter-spacing:-.06em}.hero-heading h1 .hero-finish:after{height:7px;bottom:8%}.hero-bottom{margin-top:auto;padding-top:130px;gap:17px;width:100%}.hero-bottom p{font-size:20px;line-height:1.9;padding-right:0}.hero-bottom p br:nth-child(2){display:none}.hero-button{min-height:55px;padding:12px 20px;font-size:20px;gap:26px}.hero-sticker{top:334px;right:1px;width:100px;height:100px;font-size:20px;transform:rotate(9deg)}.opening-note{padding-block:20px;gap:11px}.opening-note p{display:block;line-height:1.9;font-size:20px}.opening-note p span{display:block;font-size:20px}.opening-note a{font-size:20px}.opening-note a span{font-size:25px;margin:0}.status-dot{width:7px;height:7px}.first-story{grid-template-columns:1fr;gap:0;padding-block:65px}.story-heading{grid-column:auto;grid-row:auto;position:relative;margin-bottom:35px}.story-heading .section-label{margin-bottom:22px}.story-heading h2{font-size:39px;line-height:1.55;position:relative;z-index:1}.story-count{position:absolute;right:15px;top:40px;font-size:110px;margin:0}.story-deck{font-size:20px;line-height:1.6;margin:15px 0 0}.story-photo{grid-column:auto;grid-row:auto;width:calc(100% - 38px);max-width:340px;justify-self:center;padding:10px 10px 0;margin:0 0 42px}.story-photo img{aspect-ratio:4/5;object-position:center 63%}.story-photo figcaption{font-size:20px;padding:10px 0}.photo-tape{height:27px;top:-11px}.story-copy{grid-column:auto;grid-row:auto;padding:0 4px}.story-copy h3{font-size:29px;line-height:1.6;margin:18px 0 22px}.story-copy>p{font-size:20px;line-height:2.05}.story-copy .story-disclosure{font-size:20px}.story-copy .text-link{font-size:20px;gap:25px}.section-label{font-size:20px;margin-bottom:18px}.meaning-inner{grid-template-columns:1fr;gap:33px;padding-block:55px}.meaning-heading h2{font-size:31px;line-height:1.6;margin:20px 0}.meaning-heading>p:last-child{font-size:20px}.meaning-list article{padding-block:23px;gap:15px}.meaning-list h3{font-size:21px}.meaning-list article>span{font-size:30px}.meaning-list p{font-size:20px}.join-section{padding-block:60px}.join-section>h2{font-size:31px;line-height:1.6;margin-bottom:30px}.join-grid{grid-template-columns:1fr;gap:20px}.join-grid article{padding:29px 26px}.join-grid h3{font-size:29px}.join-caption{margin-bottom:26px}.join-sign{top:25px;right:20px;width:89px;height:89px;font-size:20px}.join-grid p{font-size:20px}.join-grid .button{font-size:20px;min-height:54px;gap:22px}.join-grid small{font-size:20px}.letters-row{display:block;padding-block:27px 45px}.letters-row h2{font-size:23px}.letters-row p:last-child{font-size:20px}.letters-row .text-link{margin-top:15px}.section{padding-block:55px}.no-top{padding-top:0}.promise-section h2{font-size:28px;line-height:1.6;margin-bottom:30px}.promise-grid{grid-template-columns:1fr;gap:7px;margin-bottom:15px}.promise-grid p{font-size:20px}.promise-grid strong{font-size:20px;margin-bottom:9px}.site-footer{padding:45px 0 25px}.footer-top{grid-template-columns:1fr;gap:32px;margin-bottom:30px}.footer-message{font-size:37px;margin-bottom:28px}.site-footer .brand{font-size:23px}.footer-links{gap:15px 20px}.footer-links a{font-size:20px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:9px;padding-top:18px}.footer-bottom p,.footer-bottom small{font-size:20px}.photo-credits{font-size:20px;line-height:1.9}.page-heading{padding-block:35px 40px}.page-heading h1{font-size:31px;line-height:1.6;overflow-wrap:anywhere;margin-bottom:20px}.page-heading .lead{font-size:20px;line-height:2}.page-heading .eyebrow{font-size:20px}.prose h2{font-size:24px;margin-top:35px}.prose p,.prose li{font-size:20px}.section-title{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:28px}.section-title h2{font-size:29px}.section-title>p{font-size:20px}.three-cards{grid-template-columns:1fr;gap:20px}.three-cards>article{padding:26px}.three-cards h2,.three-cards h3{font-size:23px}.three-cards p{font-size:20px}.pricing .price{font-size:37px}.pricing .button{font-size:20px}.project-detail{display:flex;flex-direction:column;gap:35px;padding-bottom:55px}.project-landscape{aspect-ratio:4/3}.project-figure{margin-bottom:30px}.project-figure figcaption{font-size:20px}.support-panel{position:static;padding:26px}.support-panel h2{font-size:25px}.support-panel p{font-size:20px}.notice{padding:22px}.notice strong{font-size:20px}.notice p{font-size:20px}.info-list>div{flex-direction:column;gap:7px}.info-list dt{font-size:20px}.info-list dd{font-size:20px}th,td{padding:13px 9px}.faq-list summary{font-size:20px;gap:12px}.faq-list details>p{font-size:20px;padding-left:30px;padding-right:0}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-note{padding:27px;transform:none}.contact-layout .checkbox span{font-size:20px}.empty-letter{padding:25px 0;gap:18px}.empty-letter h2,.empty-letter h3{font-size:23px}.empty-letter p{font-size:20px}.report-grid{grid-template-columns:1fr}.project-card{grid-template-columns:1fr;gap:0}.project-art img{height:300px}.project-copy{padding:25px 0}.mobile-only{display:initial}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}.brand{font-size:21px}.brand-mark{width:35px;height:35px;flex-basis:35px}.hero-content{min-height:590px}.hero-heading h1{font-size:47px}.hero-photo{height:295px;top:110px}.hero-sticker{top:316px;width:87px;height:87px;font-size:20px}.hero-bottom{padding-top:115px}.story-heading h2{font-size:35px}.story-copy h3{font-size:26px}.meaning-heading h2{font-size:28px}.join-section>h2{font-size:28px}.join-grid article{padding:26px 22px}.join-sign{right:15px;width:75px;height:75px;font-size:20px}.join-grid h3{font-size:26px}.join-grid .button{font-size:20px;padding:12px 15px;gap:13px}.join-grid p{font-size:20px}.promise-section h2{font-size:25px}.page-heading h1{font-size:28px}.button{padding:13px 20px;gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Readability revision: requested by the user after viewing the design. */
.hero-bottom p{font-size:20px;line-height:1.95}.hero-kicker{font-size:20px}
.story-copy>p{font-size:20px}.story-copy .story-disclosure{font-size:20px;line-height:2}
.meaning-heading>p:last-child,.meaning-list p,.join-grid p,.letters-row p:last-child,.promise-grid p{font-size:20px;line-height:2}
.story-copy .text-link,.button,.text-link{font-size:20px}.button.small{font-size:20px}
.site-header nav>a:not(.button){font-size:20px}.brand small{letter-spacing:.04em}
.join-grid small,.photo-credits,.story-photo figcaption,.project-figure figcaption,.fine,.footer-bottom p,.footer-bottom small{font-size:20px;line-height:1.9}
.footer-links a{font-size:20px}.photo-label{font-size:20px}.hero-sticker{white-space:nowrap;font-size:20px}
.prose p,.prose li,.three-cards p,.support-panel p,.notice p,.empty-letter p,.faq-list details>p,.contact-note p,.report-card p,.info-list dd{font-size:20px;line-height:2.1}
.contact-layout .checkbox span,.pricing ul,.pricing li,dt,dd,table,.contact-layout form>label{font-size:20px}
@media(max-width:1200px){.hero-content,.dream-hero{min-height:730px}.hero-heading h1{font-size:76px}.hero-bottom p{font-size:20px}.site-header nav>a:not(.button){font-size:20px}.meaning-inner{gap:40px}.join-grid article{padding:32px 28px}.join-grid h3{font-size:28px}.join-caption{font-size:20px}.join-sign{top:25px;right:18px;width:82px;height:82px;font-size:20px}}
@media(max-width:700px){body{font-size:20px}.brand small{display:none}.brand{font-size:25px}.site-header nav>a:not(.button){font-size:20px;min-height:42px}.hero-content{min-height:665px}.dream-hero{min-height:0}.hero-kicker{font-size:20px}.hero-heading h1{font-size:clamp(47px,13vw,79px)}.hero-bottom{padding-top:130px;gap:18px}.hero-bottom p{font-size:20px;line-height:1.9}.hero-bottom p br:nth-child(2){display:initial}.hero-sticker{left:0;right:auto;top:346px;width:95px;height:95px;font-size:20px}.hero-button{font-size:20px;padding:13px 20px}.opening-note p{font-size:20px}.opening-note p span{font-size:20px}.opening-note a{font-size:20px}.opening-note a span{font-size:25px}.section-label,.eyebrow{font-size:20px}.story-copy>p{font-size:20px}.story-copy .story-disclosure{font-size:20px}.story-copy .text-link{font-size:20px}.story-photo figcaption,.photo-label{font-size:20px}.meaning-heading>p:last-child,.meaning-list p,.join-grid p,.letters-row p:last-child,.promise-grid p{font-size:20px;line-height:1.95}.join-caption{font-size:20px}.join-grid h3{font-size:29px}.join-grid .button{font-size:20px;gap:18px}.join-grid small{font-size:20px}.join-sign{width:80px;height:80px;right:17px;font-size:20px}.letters-row .text-link{font-size:20px}.footer-links a{font-size:20px}.footer-message{font-size:37px}.footer-bottom p,.footer-bottom small,.photo-credits{font-size:20px}.page-heading .lead{font-size:20px}.page-heading .eyebrow{font-size:20px}.pricing .button,.support-panel .button{font-size:20px}.contact-layout .checkbox span{font-size:20px}.faq-list summary{font-size:20px}.faq-list details>p{font-size:20px}.fine,.project-figure figcaption{font-size:20px}}
@media(max-width:360px){.brand{font-size:23px}.hero-content{min-height:655px}.hero-heading h1{font-size:47px}.hero-sticker{top:320px;left:0;width:87px;height:87px;font-size:20px}.hero-bottom{padding-top:120px}.hero-bottom p{font-size:20px}.hero-button{font-size:20px}.join-grid article{padding:26px 22px}.join-grid h3{font-size:26px}.join-sign{width:70px;height:70px;right:15px;font-size:20px}.join-grid .button{font-size:20px;padding:12px 15px;gap:14px}.join-grid p{font-size:20px}.opening-note p{font-size:20px}.opening-note p span{font-size:20px}}

/* Nene's supplied action photograph: preserve the skier and both skis. */
small,sub,sup{font-size:20px}
.nene-hero{background:var(--paper)}
.nene-hero .hero-photo{left:42%;background:#eaf5ed}
.nene-hero .hero-photo:after{display:none}
.nene-hero .hero-photo img{object-fit:contain;object-position:center}
.story-photo img{aspect-ratio:4/3;object-position:center}
.join-sign{min-width:120px;min-height:120px}
@media(max-width:900px){
 .nene-hero{display:grid;grid-template-columns:20px minmax(0,1fr) 20px;padding-bottom:25px;isolation:isolate;min-height:0}
 .nene-hero .hero-content{display:contents}
 .nene-hero .hero-heading{grid-column:2;grid-row:1;padding-top:26px;margin-bottom:25px}
 .nene-hero .hero-photo{position:relative;inset:auto;grid-column:1/-1;grid-row:2;aspect-ratio:auto;height:auto;width:100%;z-index:0;display:flex;flex-direction:column}
 .nene-hero .hero-photo img{height:auto;width:100%;aspect-ratio:1;max-height:540px;object-fit:contain;object-position:center}
 .nene-hero .hero-photo .photo-label{position:static;display:block;padding:10px 20px;font-size:20px;background:var(--paper)}
 .nene-hero .hero-sticker{display:none}
 .nene-hero .hero-bottom{grid-column:2;grid-row:3;padding:0;margin-top:15px;gap:18px}
}
@media(max-width:700px){
 .join-sign{display:none}
 .opening-note{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px 12px;align-items:start}
 .opening-note .status-dot{margin-top:12px}
 .opening-note a{grid-column:2;justify-self:start;margin-left:0;font-size:20px}
 .opening-note p,.opening-note p span{font-size:20px}
 .story-photo img{aspect-ratio:4/3}
 .story-photo figcaption{padding:12px 5px;overflow-wrap:anywhere}
 .story-heading h2{white-space:normal}
 .footer-links{gap:20px}
}
@media(max-width:360px){.nene-hero{grid-template-columns:16px minmax(0,1fr) 16px}}

/* A cheering-day palette: warm lettering, paper flags and sunny open space. */
.site-header:after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:4px;background:linear-gradient(90deg,#c54820 0 25%,#ffd044 25% 50%,#126b56 50% 75%,#bf365d 75%)}
.hero-heading h1 .hero-warm{color:#c54820}
.hero-heading h1 .hero-leaf{color:#126b56}
.hero-heading h1 .hero-pop{color:#bf365d}
.hero-heading h1 .hero-finish:after{height:12px;bottom:3%;border-radius:60% 35% 45% 50%;transform:rotate(-2deg)}
.hero-kicker{display:inline-block;padding:6px 12px;background:#fff0bd;border-radius:5px;transform:rotate(-2deg)}
.nene-hero .hero-photo{border-left:12px solid #ffda65;background:#eaf5ed}
.nene-hero .hero-photo:before{content:'';position:absolute;top:18px;left:18px;width:102px;height:25px;background:#ffd044d9;transform:rotate(-12deg);z-index:1}
.hero-sticker{border-radius:9px;clip-path:polygon(0 0,100% 0,100% 86%,57% 86%,40% 100%,40% 86%,0 86%);width:166px;height:146px;padding:0 6px 16px;background:#ffd044;color:var(--ink);transform:rotate(8deg);box-shadow:none}
.button{border-radius:16px 16px 16px 4px}
.hero-button{box-shadow:5px 5px 0 #853a22}
.hero-button:hover{box-shadow:5px 8px 0 #853a22}
.site-header nav>a:not(.button):hover{color:var(--green);text-decoration:underline;text-decoration-style:wavy;text-underline-offset:7px}
.section-label:before{width:13px;height:16px;border-radius:1px;vertical-align:-2px;clip-path:polygon(0 0,100% 0,75% 50%,100% 100%,0 100%)}
.story-count{color:#c54820;background:#ffe8a0;border-radius:48% 52% 43% 57%;width:112px;height:112px;font-size:78px;line-height:112px;text-align:center;letter-spacing:-.09em;transform:rotate(-7deg);margin-bottom:26px}
.story-photo{box-shadow:6px 8px 0 #f3dfb9}
.story-photo .photo-tape{background:#ffd044df}
.story-copy h3{color:var(--green)}
.story-copy .pill{color:var(--green);border-color:#91bea4;background:#eff9ed}
.support-meaning{background:#ffda63;border-top:7px solid #f4be2c;border-bottom:7px solid #f4be2c}
.meaning-list h3{color:#70451e}
.join-personal{background:#e5f5e9;border-radius:28px 8px 28px 8px}
.join-personal h3,.join-personal .join-sign{color:#126b56}
.join-partner{background:#ffe4e9;color:var(--ink);border-radius:8px 28px 8px 28px}
.join-partner h3,.join-partner .join-sign{color:#a92d50}
.join-partner .button.cream{background:#fffaf3;border-color:#a92d50;color:#a92d50}
.join-caption{border-bottom:2px solid currentColor}
.promise-section{background:#fff0d7}
.promise-section h2{color:#126b56}
.promise-grid strong{color:#8b431d}
.site-footer{background:#ffda63;color:var(--ink);border-top:7px solid #f4be2c}
.footer-message{color:#70451e}
.site-footer .brand-mark{color:var(--coral)}
.footer-bottom{border-top-color:#a8793255}
.photo-credits{opacity:1}
.pricing>article:nth-child(2){border-top-color:var(--green)}
@media(max-width:900px){.nene-hero .hero-photo{border-left:0;border-top:7px solid #ffda65}.nene-hero .hero-photo:before{left:18px;top:12px;width:85px;height:21px}.hero-kicker{transform:none}}
@media(max-width:700px){.story-count{width:72px;height:72px;font-size:50px;line-height:72px;top:0;right:2px;margin:0}.join-personal,.join-partner{border-radius:22px 7px 22px 7px}.nene-hero .hero-heading{padding-top:30px}.hero-kicker{padding:6px 8px;font-size:20px;letter-spacing:0}.hero-heading h1 .hero-finish:after{height:8px}}

/* Panorama generated by extending the snowy background of the supplied photo. */
.nene-hero:before{display:none}
.nene-hero .hero-photo{inset:0;border:0;background:#edf2f6}
.nene-hero .hero-photo:before{display:none}
.nene-hero .hero-photo picture{display:block;width:100%;height:100%}
.nene-hero .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.nene-hero .hero-photo:after{display:block;position:absolute;inset:0;content:'';background:linear-gradient(90deg,#fffcf3f5 0%,#fffcf3d9 22%,#fffcf399 32%,#fffcf300 47%);pointer-events:none}
.nene-hero .photo-label .ai-note{font-size:20px;margin-left:8px}
@media(min-width:1600px){.nene-hero .hero-heading h1{font-size:96px}}
@media(max-width:900px){
 .nene-hero .hero-photo{position:relative;inset:auto;border-top:7px solid #ffda65}
 .nene-hero .hero-photo picture{height:auto}
 .nene-hero .hero-photo img{height:auto;aspect-ratio:1;max-height:540px;object-fit:contain;object-position:center}
 .nene-hero .hero-photo:after{display:none}
 .nene-hero .photo-label .ai-note{display:none}
}

/* Keep clear space between the headline and the skier's near hand. */
@media(min-width:1351px){.nene-hero .hero-photo img{object-position:76% center}.nene-hero .hero-heading h1{font-size:88px}}
@media(min-width:901px) and (max-width:1350px){.nene-hero .hero-photo img{object-fit:contain;object-position:center top}}

/* An illustrative photo makes the shared challenge visible. */
.meaning-inner{grid-template-columns:.85fr 1.15fr;column-gap:60px;row-gap:38px;align-items:center}
.meaning-visual{min-width:0;margin:0;background:#fffcf3;padding:10px 10px 0;border-radius:22px 7px 22px 7px;box-shadow:6px 7px 0 #e8b431;overflow:hidden}
.meaning-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:14px 3px 0 0}
.meaning-visual figcaption{padding:13px 6px;font-size:20px;line-height:1.8;color:var(--muted)}
.meaning-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-self:start}
.meaning-list article{padding-block:23px 0;gap:15px}
.meaning-list article:last-child{border-bottom:0}
.meaning-list p{max-width:none}
@media(max-width:900px){.meaning-inner{grid-template-columns:1fr;row-gap:30px}.meaning-visual{width:100%;max-width:760px;justify-self:center}.meaning-list{gap:24px}}
@media(max-width:700px){.meaning-list{grid-template-columns:1fr;gap:0}.meaning-list article{padding-block:23px}.meaning-visual{padding:7px 7px 0;border-radius:18px 5px 18px 5px;box-shadow:4px 5px 0 #e8b431}.meaning-visual figcaption{font-size:20px;padding:12px 5px}.meaning-inner{row-gap:28px}}

/* Different sports appear as moments throughout the story. */
.sport-photo{min-width:0;margin:0;padding:8px 8px 0;background:var(--paper);border-radius:18px 5px 18px 5px;box-shadow:4px 6px 0 #eadabd}
.sport-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:12px 3px 0 0}
.sport-photo figcaption{display:grid;gap:3px;padding:14px 10px;font-size:20px;line-height:1.7}
.sport-photo .sport-name{font-size:20px;color:var(--green);font-weight:700}
.sport-photo figcaption strong{font-size:20px;color:var(--ink);line-height:1.6}
.sport-photo .sport-image-note{font-size:20px;color:var(--muted)}
.sport-photo.meaning-visual{box-shadow:6px 7px 0 #e8b431}
.dream-peeks{display:grid;grid-template-columns:1fr .9fr 1fr;gap:44px;align-items:center;padding-block:68px 30px}
.dream-peeks-intro{min-width:0;text-align:center}
.dream-peeks h2,.sport-outlook h2{font-size:36px;line-height:1.6;letter-spacing:.02em;margin:18px 0 22px}
.dream-peeks-intro p:not(.section-label),.sport-outlook-intro p:not(.section-label){font-size:20px;line-height:2}
.dream-peek-dance{transform:rotate(-3deg)}
.dream-peek-bike{transform:rotate(3deg)}
.sport-outlook{display:grid;grid-template-columns:.9fr 1fr 1fr;gap:32px;align-items:center;padding-block:26px 100px}
.sport-outlook-intro{min-width:0}
.sport-outlook>.sport-photo:last-child{margin-top:56px}
.sport-page-visual{width:calc(100% - 48px);max-width:820px;margin:0 auto 64px}
@media(max-width:1000px){.dream-peeks{gap:26px}.dream-peeks h2,.sport-outlook h2{font-size:30px}.sport-outlook{gap:24px}}
@media(max-width:900px){.dream-peeks,.sport-outlook{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.dream-peeks-intro,.sport-outlook-intro{grid-column:1/-1;order:-1;text-align:left}.dream-peeks{padding-top:46px}.sport-outlook>.sport-photo:last-child{margin-top:0}.dream-peeks h2,.sport-outlook h2{font-size:34px}.dream-peek-dance,.dream-peek-bike{transform:none}}
@media(max-width:600px){.dream-peeks,.sport-outlook{grid-template-columns:minmax(0,1fr);gap:30px}.dream-peeks{padding-block:38px 10px}.dream-peeks-intro,.sport-outlook-intro{grid-column:auto}.sport-outlook{padding-block:16px 64px}.dream-peeks h2,.sport-outlook h2{font-size:30px}.sport-page-visual{width:calc(100% - 40px);margin-bottom:40px}.sport-photo figcaption{padding:12px 9px}.sport-photo figcaption strong{font-size:20px}}

/* Larger reading sizes throughout, including every interior page. */
:root{--reading-text:20px;--reading-note:18px}
body{font-size:var(--reading-text);line-height:1.9}
h2{font-size:clamp(34px,3.5vw,48px)}
h3{font-size:28px}
.eyebrow,.section-label,.pill,.brand small,.site-header nav>a:not(.button),.join-caption,.join-grid small,.fine,.photo-label,.photo-credits,.story-photo figcaption,.project-figure figcaption,.footer-bottom p,.footer-bottom small,.sport-photo .sport-name,.sport-photo .sport-image-note,.price small{font-size:var(--reading-note)}
.nene-hero .photo-label .ai-note,.meaning-visual figcaption,.sport-photo figcaption{font-size:var(--reading-note)}
.site-header nav{gap:23px}
.brand small{letter-spacing:.025em}
.opening-note p{flex-wrap:wrap;gap:4px 24px}
.hero-bottom p,.story-copy>p,.meaning-heading>p:last-child,.meaning-list p,.join-grid p,.letters-row p:last-child,.promise-grid p,.dream-peeks-intro p:not(.section-label),.sport-outlook-intro p:not(.section-label){font-size:var(--reading-text);line-height:1.9}
.story-copy .story-disclosure{font-size:var(--reading-note);line-height:1.9}
.story-deck,.sport-photo figcaption strong,.promise-grid strong{font-size:24px}
.meaning-heading h2{font-size:clamp(36px,3.3vw,48px)}
.story-heading h2{font-size:clamp(36px,3.3vw,48px);white-space:normal}
.story-copy h3{font-size:clamp(28px,2.5vw,36px)}
.meaning-list h3{font-size:26px}
.join-section>h2{font-size:clamp(36px,3.6vw,50px)}
.join-grid h3{font-size:36px}
.join-sign{font-size:20px}
.letters-row h2{font-size:34px}
.dream-peeks h2,.sport-outlook h2{font-size:40px}
.button,.button.small,.text-link,.story-copy .text-link,.letters-row .text-link,.join-grid .button,.pricing .button,.support-panel .button,.support-panel .text-link{font-size:20px}
.button{min-height:62px;gap:20px}
.button>span,.text-link>span{flex-shrink:0}
.footer-links a{font-size:20px;line-height:1.8}
.page-heading h1{font-size:clamp(36px,4.2vw,58px)}
.page-heading .lead,.lead{font-size:22px;line-height:1.85;max-width:960px}
.prose{max-width:880px}
.prose h2{font-size:32px;line-height:1.6}
.prose p,.prose li,.three-cards p,.support-panel p,.notice p,.empty-letter p,.faq-list details>p,.contact-note p,.report-card p,.info-list dd{font-size:var(--reading-text);line-height:1.9}
.three-cards h2,.three-cards h3,.support-panel h2{font-size:28px}
.notice strong,.faq-list summary{font-size:22px;line-height:1.8}
.contact-layout .checkbox span,.contact-layout form>label,.contact-layout form>label>span,.contact-layout form>label>small,.pricing ul,.pricing li,dt,dd,.info-list dt,table,caption,.status-label{font-size:20px}
.contact-layout input,.contact-layout select,.contact-layout textarea{font-size:20px;min-width:0;max-width:100%}
.pricing .price{font-size:42px}
.three-cards>article,.support-panel{min-width:0}
.support-panel dl>div{gap:16px}
.support-panel dt{font-size:18px;flex-basis:34%}
.meaning-inner,.first-story,.dream-peeks,.sport-outlook,.join-grid,.promise-grid,.footer-links{overflow-wrap:break-word}
.meaning-heading h2 .keep-phrase,.join-section>h2 .keep-phrase{display:inline-block;white-space:nowrap}
main p{text-wrap:pretty}
@media(max-width:1200px){.join-grid h3{font-size:32px}.dream-peeks h2,.sport-outlook h2{font-size:36px}.first-story{gap:32px}}
@media(max-width:900px){.first-story{gap:36px}.nene-hero .hero-photo .photo-label{font-size:18px}.meaning-heading h2{font-size:38px}.story-heading h2{font-size:42px}}
@media(max-width:700px){
 .brand{font-size:28px}.site-header nav>a:not(.button){font-size:20px;min-height:48px}
 .hero-kicker{font-size:18px;line-height:1.7}.nene-hero .hero-heading h1{font-size:clamp(52px,13.8vw,84px)}
 .hero-bottom p,.opening-note p,.opening-note p span,.opening-note a,.join-grid p{font-size:20px}
 .hero-button,.join-grid .button{font-size:20px;max-width:100%;gap:14px}
 .opening-note .status-dot{margin-top:14px}.opening-note a{white-space:normal}
 .story-copy h3,.join-grid h3{font-size:32px}.meaning-heading h2{font-size:34px}.meaning-list h3{font-size:26px}
 .join-section>h2{font-size:34px}.join-grid article{padding:30px 25px}
 .letters-row h2{font-size:30px}.promise-section h2{font-size:32px}
 .dream-peeks h2,.sport-outlook h2{font-size:34px}
 .page-heading h1{font-size:36px}.page-heading .lead{font-size:20px}.prose h2{font-size:28px}
 .three-cards>article,.support-panel{padding:25px}.three-cards h2,.three-cards h3,.support-panel h2{font-size:27px}
 .three-cards .button,.support-panel .button{padding-inline:16px;gap:12px}
 .notice{padding:22px}.notice strong,.faq-list summary{font-size:22px}
 .sport-photo figcaption strong{font-size:24px}.footer-message{font-size:42px}
 .footer-links{gap:20px 24px}.footer-links a{font-size:20px}
}
@media(max-width:360px){
 .brand{font-size:25px}.nene-hero .hero-heading h1{font-size:47px}
 .hero-button{padding:13px 16px}.story-heading h2{font-size:38px}.story-copy h3{font-size:30px}.join-grid h3{font-size:28px}
 .meaning-heading h2,.join-section>h2,.page-heading h1{font-size:32px}
 .join-grid article{padding:27px 20px}.join-grid .button{padding:12px 14px;gap:12px}
 .three-cards>article,.support-panel{padding:22px}.footer-links{grid-template-columns:1fr}
}
@media(min-width:1201px) and (max-width:1320px){
 .header-inner{min-height:84px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:45px;height:45px;background:transparent;border:1px solid #664b3855;border-radius:50%;flex-shrink:0}
 .menu-toggle>span:not(.visually-hidden){display:block;width:19px;height:2px;background:var(--ink);transition:transform .2s}
 .menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4.5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}
 .site-header nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:30px 36px;box-shadow:0 15px 15px #664b3810;border-bottom:1px solid var(--line)}
 .site-header nav.is-open{display:flex;flex-wrap:wrap;gap:25px}
}
.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.campaign-card{background:#fffef8;border:1px solid var(--line);border-radius:20px;overflow:hidden;min-width:0}.campaign-card>a{display:block}.campaign-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.campaign-card-copy{padding:30px}.campaign-card h2{font-size:32px;margin:18px 0}.campaign-card h2 a{text-decoration:none}.campaign-card .section-label{margin:18px 0 10px}.campaign-card .fine{font-size:18px}.campaign-progress{padding-top:16px;border-top:1px solid var(--line)}.campaign-progress p{margin-bottom:12px}.campaign-progress strong{font:900 30px var(--display)}.campaign-progress progress{width:100%;height:18px;accent-color:var(--green);border-radius:20px}.campaign-progress .fine{font-size:18px;line-height:1.8}.campaign-main-photo{width:100%;height:auto;border-radius:18px;max-height:700px;object-fit:contain}.project-photo-pending{display:flex;align-items:center;justify-content:center;min-height:240px;background:var(--mint);color:var(--green);padding:25px;font-size:20px}.project-discovery{padding:25px 0 90px}.project-discovery h2{margin:20px 0}.project-discovery p{font-size:20px}.campaign-pagination{display:flex;justify-content:space-between;gap:20px;margin-top:30px}
@media(max-width:700px){.campaign-grid{grid-template-columns:1fr;gap:28px}.campaign-card-copy{padding:25px}.campaign-card h2{font-size:30px}.campaign-progress strong{font-size:28px}.project-discovery{padding-bottom:60px}.project-discovery h2{font-size:34px}}

.page-heading h1,.campaign-card h2{text-wrap:balance}

.title-phrase{display:inline-block;max-width:100%;overflow-wrap:anywhere}

/* Campaign milestones share the same received/refunded project balance. */
.project-preview-notice{margin-top:28px;padding:20px 24px;border:2px dashed var(--green);border-radius:12px;background:var(--mint)}
.project-preview-notice strong{font-size:22px}.project-preview-notice p{margin:5px 0 0;font-size:18px}
.funding-steps{margin-block:48px;padding-block:34px;border-top:2px solid var(--line);border-bottom:2px solid var(--line)}
.funding-steps h2{font-size:32px}.funding-steps>p{margin-top:18px}.funding-steps>ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0;list-style:none;margin:28px 0}
.funding-steps li{display:flex;gap:18px;min-width:0;margin:0;padding:24px 20px;border:1px solid var(--line);border-radius:14px;background:#fffef8}
.funding-steps li.is-current{border:2px solid var(--green);background:var(--mint)}.funding-steps li:nth-child(2){background:#fff0d7}.funding-steps li:nth-child(3){background:#ffebef}.funding-steps li:nth-child(4){background:#fff4b7}
.funding-steps li.is-reached{border:2px solid var(--green)}.funding-steps .step-number{font:900 24px/1.5 var(--display);color:var(--green)}.funding-steps h3{font-size:22px}.funding-steps strong{display:block;font:900 40px/1.7 var(--display);overflow-wrap:anywhere}.funding-steps strong>span{font-size:22px;margin-left:4px}.funding-steps li p{font-size:18px;margin:8px 0 0}.funding-steps .fine{font-size:18px}
.project-sponsor{background:var(--soft);padding:28px;border-radius:14px;margin-block:40px}.project-sponsor .text-link{overflow-wrap:anywhere;max-width:100%;gap:12px}.project-sponsor .fine{margin-top:24px}.project-sponsor .button{max-width:100%}
@media(max-width:1000px){.funding-steps>ol{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.funding-steps h2{font-size:28px}.funding-steps li{padding:22px}.project-sponsor{padding:24px}.project-sponsor h2{font-size:28px}.project-preview-notice{padding:18px}}
.campaign-plan{margin-block:44px}.campaign-plan h2{font-size:32px;margin:28px 0 20px}.plan-draft-label{border-left:4px solid var(--coral);background:var(--soft);padding:16px 20px;font-weight:bold}.plan-table-scroll{overflow-x:auto;max-width:100%;margin:24px 0}.campaign-plan table{width:100%;min-width:650px;border-collapse:collapse;font-size:18px}.campaign-plan th,.campaign-plan td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.campaign-plan th:first-child{text-align:left}.campaign-plan thead{background:var(--mint)}.campaign-plan caption{text-align:left;font-size:18px;padding-bottom:15px;font-weight:bold}.plan-subtotal{background:var(--soft);font-weight:bold}.plan-total{background:var(--green);color:white;font-weight:bold}.plan-sponsors{display:grid;gap:22px;margin-block:25px}.plan-sponsors>article{padding:26px;border:1px solid var(--line);background:#fffef8;border-top:5px solid var(--coral);border-radius:12px}.plan-sponsors>article:nth-child(2){border-top-color:var(--green)}.plan-sponsors>article:nth-child(3){border-top-color:#ca9c1a}.plan-sponsors h3{font-size:28px}.plan-price{font:900 36px/1.7 var(--display);margin:16px 0}.plan-price span{display:block;font:400 18px/1.8 'Yu Gothic',Meiryo,sans-serif}.plan-sponsors p{font-size:20px}.wk-checkout-conditions{padding:26px;margin-block:24px;background:var(--mint);border:1px solid var(--line);border-radius:10px;font-size:20px;text-align:left}.wk-checkout-conditions h2,.wk-checkout-conditions h3{font-size:28px;margin-bottom:18px}.wk-checkout-conditions p,.wk-checkout-conditions li{font-size:20px;line-height:1.9}
@media(max-width:700px){.project-detail>div{min-width:0}.campaign-plan h2{font-size:28px}.plan-sponsors>article,.wk-checkout-conditions{padding:22px}.plan-price{font-size:34px}}
.woocommerce-checkout main .woocommerce{font-size:20px}.woocommerce-checkout .form-row label,.woocommerce-checkout #payment .payment_box,.woocommerce-checkout .woocommerce-privacy-policy-text p{font-size:18px}.woocommerce-checkout input,.woocommerce-checkout select,.woocommerce-checkout textarea{font-size:20px;max-width:100%;min-width:0}.woocommerce-checkout .woocommerce table.shop_table th,.woocommerce-checkout .woocommerce table.shop_table td{font-size:18px;overflow-wrap:anywhere}.woocommerce-checkout .woocommerce .select2-container .select2-selection--single{min-height:45px;height:auto}.woocommerce-checkout #place_order{font-size:20px;line-height:1.7;width:100%;min-height:64px;padding:15px 20px;background:var(--coral);color:white;border-radius:7px}.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label{font-size:18px;line-height:1.8}
@media(max-width:700px){.woocommerce-checkout .woocommerce table.shop_table{table-layout:fixed;width:100%;max-width:100%}.woocommerce-checkout .woocommerce table.shop_table th,.woocommerce-checkout .woocommerce table.shop_table td{white-space:normal!important;overflow-wrap:anywhere}.woocommerce-checkout .woocommerce .col2-set,.woocommerce-checkout .woocommerce form.checkout{min-width:0;max-width:100%}.woocommerce-checkout .woocommerce ul.order_details li{float:none;border:0;margin:0 0 18px;overflow-wrap:anywhere}.woocommerce-checkout .woocommerce ul.order_details{padding:0}.woocommerce-checkout .woocommerce ul.order_details li strong{font-size:20px}}
.woocommerce-checkout .woocommerce ul.order_details li{font-size:18px;line-height:1.8}
/* Project story: one current goal, with future plans behind native disclosures. */
.project-story{padding-bottom:80px}.project-story-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center;padding-block:55px 80px}.project-story-heading{min-width:0}.project-story-hero h1{font-size:clamp(38px,4.7vw,66px);line-height:1.5;max-width:9.5em;margin:12px 0 28px;text-wrap:balance}.project-story-hero .section-label{font-size:20px;margin-bottom:6px}.project-season{font-size:18px;color:var(--muted);margin-bottom:35px}.project-voice-label{display:inline-block;font-size:18px;font-weight:bold;background:var(--yellow);padding:4px 14px;transform:rotate(-2deg);margin-bottom:0}.project-story-intro{font-size:20px;max-width:27em;margin-bottom:30px}.project-story-hero figure{min-width:0;position:relative;padding:0 0 18px 14px}.project-story-hero figure:before{content:'';position:absolute;inset:18px 14px 0 0;background:var(--yellow);border-radius:12px;transform:rotate(-2deg);z-index:-1}.project-story-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}.project-story-hero figcaption{font-size:18px;text-align:right;margin-top:10px}.project-story-reading{max-width:960px}.project-story-section{padding-block:30px 48px;max-width:780px}.project-story-section h2,.project-now h2{font-size:clamp(28px,3.2vw,40px);margin-bottom:26px;text-wrap:balance}.project-story-section p{line-height:2}.project-now{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:42px;padding:40px;background:var(--mint);border-radius:12px;scroll-margin-top:120px}.project-now .section-label{font-size:18px}.project-now h2{font-size:32px}.project-use-list{padding:0;margin:0;list-style:none}.project-use-list li{margin:0;padding:20px 0;border-top:1px solid #126b5633}.project-use-list strong,.project-use-list span{display:block}.project-use-list strong{font-size:22px}.project-use-list span{font-size:18px}.project-current-goal{background:var(--paper);padding:28px;border-radius:8px;align-self:start;min-width:0}.project-current-goal h3{font-size:26px;margin-bottom:24px}.project-goal-label{font-size:20px;font-weight:bold;margin-bottom:0}.project-goal-amount{font:900 76px/1.5 var(--display);color:var(--green);margin-bottom:0}.project-goal-amount>span{font-size:30px;margin-left:8px}.project-current-goal .campaign-progress strong{font-size:26px}.project-current-goal .campaign-progress>p:first-child{display:flex;flex-direction:column}.project-current-goal .campaign-progress>p:first-child>span{font-size:18px}.project-current-goal .campaign-progress progress{width:100%;height:12px}.project-current-goal .fine,.project-allocation{font-size:18px}.project-current-goal .button{width:100%;font-size:20px;padding:14px 18px;gap:14px}.project-preparing{margin:24px 0 0;border-top:1px solid var(--line);padding-top:20px}.project-preparing strong,.project-preparing span{display:block;font-size:18px}.project-preparing span{margin-top:10px}.project-allocation{padding:22px 8px 0;line-height:1.9}.project-details{margin-block:28px;border-block:1px solid var(--line)}.project-details>summary{font-size:20px;font-weight:bold;padding:24px 12px;line-height:1.8;list-style-position:inside}.project-details>summary::marker{color:var(--green)}.project-details[open]>summary{border-bottom:1px solid var(--line);background:#fff9ed}.project-details-body{padding:24px 12px;min-width:0}.project-details-body .funding-steps{margin-top:0}.project-details-body .funding-steps>ol{grid-template-columns:repeat(2,minmax(0,1fr))}.project-details-body .funding-steps h3{font-size:24px}.project-details-body .funding-steps .step-number{font-size:24px}.project-report{padding-top:60px}.project-story .project-sponsor{margin-top:0;background:var(--soft);padding:32px}.project-sponsor h2,.project-trust h2{font-size:28px;margin-bottom:24px}.project-sponsor .text-link{font-size:18px}.project-trust{padding:32px 0;margin-top:45px;border-top:1px solid var(--line)}.project-trust p{font-size:18px}.project-trust .text-link{font-size:18px}.project-story .project-details .plan-sponsors{margin:0}.project-story .project-details .plan-sponsors p{font-size:18px}.project-story .project-details .plan-price{font-size:32px}
@media(max-width:1000px){.project-story-hero{gap:32px}.project-story-hero h1{font-size:44px}.project-now{gap:28px;padding:30px}.project-current-goal{padding:24px}.project-goal-amount{font-size:64px}}
@media(max-width:700px){.project-story-hero{grid-template-columns:minmax(0,1fr);padding-block:30px 44px;gap:30px}.project-story-hero h1{font-size:38px;margin-block:14px 24px;max-width:9em}.project-story-hero .section-label{font-size:18px;letter-spacing:.04em}.project-season{margin-bottom:24px}.project-story-hero figure{padding-left:8px}.project-story-hero .button{width:100%;gap:16px;padding:14px 18px}.project-story-section{padding-block:26px 32px}.project-now{grid-template-columns:minmax(0,1fr);padding:24px 20px;gap:24px}.project-now h2{font-size:28px}.project-current-goal{padding:24px 20px}.project-use-list strong{font-size:22px}.project-current-goal .campaign-progress{margin-top:18px}.project-details>summary{font-size:18px;padding:20px 6px}.project-details-body{padding:22px 4px}.project-details-body .funding-steps>ol{grid-template-columns:minmax(0,1fr)}.project-story .project-sponsor{padding:26px 20px}.project-story .plan-sponsors>article{padding:22px 16px}.project-story-reading{width:calc(100% - 40px)}.project-trust{margin-top:30px}.project-allocation{padding-inline:0}.project-report{padding-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.project-aim-line{display:block}.project-story-hero h1{font-size:clamp(38px,4.2vw,60px)}
@media(max-width:700px){.project-story-hero h1{font-size:clamp(30px,8.8vw,38px)}}
.campaign-plan .plan-current-budget table{min-width:0;table-layout:fixed}.plan-current-budget th:first-child{width:65%;white-space:normal}.plan-current-budget td{white-space:nowrap}.project-next-notice{padding:18px 0 0;margin-bottom:0}.project-achievements{margin-block:28px}.project-achievements h3{font-size:24px;margin-bottom:16px}.project-achievements li{font-size:18px}.project-current-goal .project-next-notice{font-size:18px}
@media(max-width:700px){.plan-current-budget th,.plan-current-budget td{padding:14px 8px;font-size:18px}.plan-current-budget th:first-child{width:58%}}
/* Program pilot: a real first story, with the unproduced program clearly marked. */
.program-hero .hero-kicker{font-size:18px}.program-opening,.program-partner-lead{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.program-opening h2,.program-partner-lead h2{margin-bottom:26px}.program-opening figure,.program-partner-lead figure{min-width:0;transform:rotate(1deg)}.program-opening img,.program-partner-lead img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.program-opening figcaption,.program-partner-lead figcaption{font-size:18px;margin-top:12px;color:var(--muted)}.program-episode-state{font-size:18px;font-weight:bold;border-left:4px solid var(--coral);padding:12px 18px;background:var(--soft);margin-block:24px}.program-journey{padding-top:40px}.program-journey h2{margin-bottom:35px}.program-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;list-style:none;padding:0;margin:0}.program-flow li{border-top:4px solid var(--coral);padding-top:24px;min-width:0}.program-flow li:nth-child(2){border-color:var(--yellow)}.program-flow li:nth-child(3){border-color:var(--green)}.program-flow li:nth-child(4){border-color:#bf365d}.program-flow h3{font-size:25px;margin-bottom:18px}.program-flow p{font-size:20px;line-height:1.9}.program-journey>.fine{font-size:18px;margin-top:24px}.program-shopping{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start;background:var(--mint);border-radius:14px;padding:48px;margin-block:30px 80px}.program-shopping h2{margin-bottom:25px}.program-shopping p{font-size:20px;line-height:1.9}.program-shopping-note .pill{margin-bottom:24px}.program-shopping-note .text-link{font-size:20px}.program-methods{margin-top:30px}.program-methods article{padding:28px;border-top:4px solid var(--green)}.program-methods h3{margin-bottom:20px}.program-methods .fine{font-size:18px}.program-support-entry{padding:36px;background:var(--soft);border-radius:12px;max-width:850px}.program-support-entry h2{margin-bottom:24px}.program-support-entry .fine{font-size:18px;margin-top:24px}.program-sale-note{padding-bottom:25px;margin-bottom:35px;border-bottom:1px solid var(--line)}.program-sale-note h2{margin-bottom:24px}.program-partner-lead{padding-top:0}.program-hero .hero-bottom p{max-width:30em}
@media(max-width:1100px){.program-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.program-opening,.program-partner-lead{gap:32px}.program-shopping{gap:32px;padding:36px}}
@media(max-width:700px){.program-opening,.program-partner-lead,.program-shopping{grid-template-columns:minmax(0,1fr);gap:30px}.program-opening{padding-top:55px}.program-shopping{padding:28px 22px;margin-bottom:50px}.program-flow{grid-template-columns:minmax(0,1fr);gap:20px}.program-flow li{padding-top:20px}.program-flow h3{font-size:25px}.program-opening h2,.program-shopping h2,.program-partner-lead h2{font-size:32px}.program-support-entry{padding:26px 20px}.program-opening figure,.program-partner-lead figure{transform:none}.program-journey{padding-top:35px}.program-hero .hero-kicker{font-size:18px;letter-spacing:.03em}}
.campaign-grid>.project-card{grid-column:1/-1}
.program-support-entry h2{font-size:clamp(28px,3vw,40px)}
