@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{font-family:'Noto Sans JP',system-ui,sans-serif;color:#102b29;background:#f8f8f3;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,h4,p{margin-top:0}h1,h2{letter-spacing:-.055em;line-height:1.38;font-weight:600}h2{font-size:clamp(2.2rem,5vw,5.3rem)}.site-header{height:86px;padding:0 clamp(22px,5vw,86px);display:flex;align-items:center;justify-content:space-between;background:#f8f8f3}.wordmark{font-family:Arial,sans-serif;font-size:16px;line-height:1.03;font-weight:800;letter-spacing:.06em}.header-cta{border-bottom:1px solid currentColor;padding:10px 0;font-size:14px;font-weight:600}.header-cta span{margin-left:18px}.hero{min-height:calc(100svh - 86px);display:flex;align-items:center;background:linear-gradient(145deg,rgba(16,43,41,.91),rgba(16,43,41,.6) 58%,rgba(17,93,94,.4)),radial-gradient(circle at 81% 24%,#8cbeb3 0,#21717b 25%,#0c3638 55%,#102b29 100%);color:#f8f8f3}.hero-inner{width:100%;padding:12vh clamp(24px,8vw,140px) 42px}.eyebrow,.overline,.section-number,.goal-pair>div>span,.milestones span,.return-category{font:600 12px/1.5 Arial,sans-serif;letter-spacing:.16em}.eyebrow{margin-bottom:48px}.hero h1{font-size:clamp(3.6rem,8.5vw,9.4rem);margin-bottom:26px}.hero-lead{font-size:clamp(1.1rem,2.1vw,1.7rem);font-weight:500}.hero-bottom{margin-top:clamp(90px,20vh,220px);display:flex;align-items:center;justify-content:space-between;font:600 13px Arial,sans-serif;letter-spacing:.1em}.hero-bottom p{margin:0}.round-arrow{height:52px;width:52px;border:1px solid #d5e5df;border-radius:50%;display:grid;place-items:center;font-size:24px}.section{padding:clamp(88px,12vw,180px) clamp(24px,7vw,120px);display:grid;grid-template-columns:minmax(130px,22%) 1fr;gap:28px}.section-number{padding-top:15px;color:#62736d}.overline{color:#38706b;margin-bottom:34px}.section-copy{max-width:720px;font-size:clamp(1rem,1.5vw,1.25rem);line-height:2.1;color:#4c605a}.intro h2,.vision h2{max-width:1030px}.vision{background:#eaf0eb}.quiet{font-size:1.35rem;margin-top:52px}.goal{background:#102b29;color:#f5f6ee}.goal .section-number,.goal .overline{color:#a4cdc1}.goal h2{margin-bottom:76px}.goal-pair{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #608078}.goal-pair>div{padding:42px 15px 52px 0}.goal-pair>div+div{border-left:1px solid #608078;padding-left:42px}.goal-pair strong{display:block;font:500 clamp(3.2rem,6vw,7rem)/1.15 Arial,sans-serif;letter-spacing:-.06em;margin-top:20px}.goal-pair strong span{font:500 clamp(1.2rem,2vw,2rem) 'Noto Sans JP',sans-serif;margin-left:8px}.goal-note{max-width:800px;line-height:1.9;color:#c7d9d1;margin:30px 0 70px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric{border:1px solid #628078;padding:28px;min-height:138px;display:flex;flex-direction:column;justify-content:space-between}.metric span{font-size:14px;color:#c8dfd5}.metric strong{font-size:clamp(1.5rem,2.4vw,2.5rem);font-weight:500}.milestones{margin-top:80px;border-top:1px solid #b3c3ba}.milestones>div{border-bottom:1px solid #b3c3ba;padding:24px 8px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.milestones span{color:#558078}.milestones strong{font-size:clamp(1.6rem,3.5vw,3.5rem);font-weight:500}.muted{margin-top:24px;color:#647a70;font-size:14px}.returns-section{background:#ebf0ed}.returns-list{margin-top:60px}.return-heading{font-size:1.5rem;margin:50px 0 22px}.return-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.return-card{background:#fff;padding:clamp(24px,3vw,42px);display:flex;flex-direction:column;min-height:320px}.return-category{color:#3d8c86}.return-card h4{font-size:1.45rem;margin:20px 0 6px}.return-price{font:500 2rem Arial,sans-serif}.return-description{line-height:1.8;color:#4f615d;white-space:pre-wrap}.return-meta{font-size:14px;color:#4f615d;margin-top:auto;padding-top:18px}.choose{border:1px solid #102b29;background:transparent;color:#102b29;padding:16px;text-align:left;font-size:15px;font-weight:600}.choose:not(:disabled):hover,.final-button:hover{background:#102b29;color:white}.empty{padding:40px;background:white;line-height:1.8}.flow-list{list-style:none;padding:0;margin:75px 0 0}.flow-list li{border-top:1px solid #b7c5bd;display:grid;grid-template-columns:90px 1fr;padding:28px 0}.flow-list li:last-child{border-bottom:1px solid #b7c5bd}.flow-list li>span{font:600 14px Arial,sans-serif;color:#4a8782}.flow-list h3{font-size:1.5rem;margin-bottom:9px}.flow-list p{line-height:1.8;color:#50645d;margin-bottom:0}.registration{background:#f1f2ea}.registration form{margin-top:55px;max-width:800px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.full{grid-column:1/-1}fieldset{border:0;padding:0;margin:0}legend,.form-grid>label:not(.check){font-size:15px;font-weight:600}.form-grid label>span:not(.check span){font-size:12px;color:#667c74;font-weight:400}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea{display:block;width:100%;border:1px solid #becdc3;background:#fff;border-radius:0;padding:15px 16px;margin-top:10px;min-height:54px;color:#102b29}.form-grid :is(input,select,textarea):focus{outline:2px solid #3b8e8c;outline-offset:2px}.radio-row{display:flex;gap:32px;margin-top:14px}.radio-row label{display:flex;gap:9px;align-items:center}.amount-preview{border-block:1px solid #bac9c0;padding:28px 4px;display:flex;justify-content:space-between;gap:18px;align-items:center}.amount-preview strong{font-size:2rem}.check{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.8}.check input{margin-top:5px;min-width:18px;min-height:18px;accent-color:#102b29}.hidden-trap{position:absolute;left:-9999px}.form-actions{margin-top:42px}.form-actions button,.final-button{border:1px solid #102b29;background:#102b29;color:white;padding:20px 30px;min-width:290px;text-align:left;display:inline-flex;justify-content:space-between;gap:30px;font-weight:600}.form-actions button:disabled{opacity:.55}.form-actions p{color:#9b3b2b;line-height:1.7}.success{background:#fff;padding:clamp(24px,5vw,60px);margin-top:48px;max-width:800px}.success p:not(.overline){line-height:1.9}.success dl{display:grid;grid-template-columns:145px 1fr;border-top:1px solid #bdccc3;margin-top:35px}.success dt,.success dd{margin:0;border-bottom:1px solid #bdccc3;padding:18px 0}.notice{background:#e7ebe5}.notice p{max-width:800px;line-height:2;color:#4d6059}.final-cta{text-align:center;background:#133d3c;color:#f4f6ef;padding:clamp(100px,12vw,170px) 24px}.final-cta .overline{color:#acd5ca}.final-cta h2{margin:30px auto 55px}.final-button{background:#f4f6ef;color:#102b29}.final-cta>p:last-child{font:600 13px Arial,sans-serif;letter-spacing:.16em;margin:110px 0 0}footer{padding:34px clamp(24px,7vw,120px);display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#57716a}footer span:first-child{font-family:Arial,sans-serif;font-weight:700;letter-spacing:.08em}@media(max-width:760px){.site-header{height:72px;padding:0 20px}.wordmark{font-size:12px}.header-cta{font-size:12px}.header-cta span{margin-left:5px}.hero{min-height:calc(90svh - 72px)}.hero-inner{padding:95px 23px 32px}.eyebrow{margin-bottom:35px}.hero h1{font-size:clamp(3.05rem,12vw,5rem)}.hero-lead{font-size:1rem;line-height:1.8}.hero-bottom{margin-top:22vh;font-size:11px}.section{display:block;padding:90px 24px}.section-number{margin-bottom:35px;padding:0}.overline{margin-bottom:22px}.section h2{font-size:clamp(2.25rem,9vw,3.6rem)}.section-copy{font-size:1rem;line-height:1.9}.goal h2{margin-bottom:45px}.goal-pair>div{padding:25px 0}.goal-pair>div+div{padding-left:18px}.goal-pair strong{font-size:clamp(2.65rem,10vw,4.5rem)}.goal-pair strong span{font-size:1rem}.goal-note{margin-bottom:45px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:18px;min-height:125px}.metric strong{font-size:1.45rem;overflow-wrap:anywhere}.metric:last-child{grid-column:1/-1}.milestones{margin-top:45px}.milestones>div{padding:20px 0}.milestones strong{font-size:1.5rem}.return-grid{grid-template-columns:1fr}.return-card{min-height:300px}.flow-list{margin-top:42px}.flow-list li{grid-template-columns:48px 1fr}.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:1/-1}.amount-preview strong{font-size:1.6rem}.success dl{grid-template-columns:110px 1fr;font-size:14px}.success dd{overflow-wrap:anywhere}.final-cta>p:last-child{margin-top:90px}footer{flex-direction:column;padding:28px 24px}}

.hero-challenge{font-size:clamp(14px,1.5vw,19px);line-height:1.8;color:#dcebe4;margin:12px 0 34px}.hero-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 25px;background:#f8f8f3;color:#102b29;font-size:15px;font-weight:600;min-width:270px}.hero-cta:hover{background:#dcebe4}@media(max-width:760px){.hero-challenge{max-width:20em;margin-bottom:25px}.hero-cta{min-width:0;width:100%;max-width:330px}.hero-bottom{margin-top:14vh}}

.product{background:#f8f8f3}.product h2{max-width:920px}.product-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:70px;border-top:1px solid #b6c6bd;border-bottom:1px solid #b6c6bd}.product-facts>div{padding:35px 28px 30px 0}.product-facts>div+div{border-left:1px solid #b6c6bd;padding-left:28px}.product-facts span{display:block;font:600 12px Arial,sans-serif;letter-spacing:.14em;color:#4c8077;margin-bottom:22px}.product-facts strong{display:block;font-size:clamp(1.25rem,2.3vw,2.1rem);font-weight:600;line-height:1.5}.product-facts p{margin:14px 0 0;color:#526a60;line-height:1.8}.product-note{font-size:13px;color:#62776e;line-height:1.8;margin:22px 0 0}@media(max-width:760px){.product-facts{display:block;margin-top:42px}.product-facts>div,.product-facts>div+div{padding:27px 0;border-left:0}.product-facts>div+div{border-top:1px solid #b6c6bd}.product-facts span{margin-bottom:12px}}

/* Supplied CAMPFIRE preview imagery: composition and packaging are provisional. */
.site-header{position:relative;z-index:3;background:#f6f3eb}.wordmark{letter-spacing:.12em;line-height:1.18;font-weight:700}.hero{min-height:min(820px,calc(100svh - 86px));position:relative;isolation:isolate;background:#122d32 url('/images/okinawa-salt-preview.png') center 72%/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,38,.88),rgba(7,31,38,.58) 49%,rgba(7,31,38,.10)),linear-gradient(0deg,rgba(7,31,38,.42),transparent 45%);z-index:-1}.hero-inner{padding-top:clamp(90px,11vh,145px);padding-bottom:42px}.hero h1{max-width:1250px;font-size:clamp(3.6rem,7vw,8.5rem);line-height:1.18}.hero-lead{font-size:clamp(1.2rem,2.4vw,2rem)}.hero-challenge{max-width:40rem}.hero-bottom{margin-top:clamp(70px,12vh,150px)}.intro{background:#f6f3eb}.intro h2{font-size:clamp(2.25rem,4.4vw,4.5rem)}.vision{background:#163735;color:#f6f3eb}.vision .section-number,.vision .overline{color:#b7d5c9}.vision .section-copy{color:#d6e0d8}.vision .quiet{color:#f5f4e8}.goal{background:#112f34}.challenge{background:#f6f3eb}.product{background:#f8f7f2}.product-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:46px}.product-shot{margin:0;overflow:hidden}.product-shot img{display:block;width:100%;height:clamp(280px,27vw,425px);object-fit:cover;object-position:center 63%;background:#e4e5db}.product-shot figcaption{padding:12px 0;font-size:12px;color:#577067;line-height:1.7}.product-facts{margin-top:42px}.returns-section{background:#eaf0e9}.return-card{border-top:2px solid #195149}.final-cta{background:#112f34}@media(max-width:760px){.hero{min-height:750px;background-position:56% center}.hero:before{background:linear-gradient(90deg,rgba(7,31,38,.87),rgba(7,31,38,.42)),linear-gradient(0deg,rgba(7,31,38,.75),transparent 65%)}.hero-inner{padding-top:110px}.hero h1{font-size:clamp(3.1rem,10vw,4.8rem);line-height:1.23}.hero-bottom{margin-top:92px}.product-gallery{grid-template-columns:1fr;gap:24px;margin-top:34px}.product-shot img{height:300px}}

/* Warm coastal palette and live pre-registration display. */
:root{color:#192b3e;background:#f8f3e9}
.site-header{background:#faf6ee;color:#192b3e}
.header-cta{border-color:#b58b57}
.hero{background-color:#172e42;color:#fff8eb}
.hero:before{background:linear-gradient(90deg,rgba(18,36,55,.89),rgba(21,46,63,.56) 51%,rgba(24,68,76,.09)),linear-gradient(0deg,rgba(17,42,62,.50),transparent 50%)}
.hero-cta{background:#d6aa68;color:#162b42;border-color:#d6aa68}
.hero-cta:hover{background:#f5d59f;border-color:#f5d59f;color:#162b42}
.intro{background:#faf6ee}
.section-number,.overline{color:#aa7950}
.section-copy{color:#556477}
.goal{background:linear-gradient(145deg,#f3e8d6 0%,#faf6ed 57%,#eaf4f2 100%);color:#192b3e;display:block;padding-top:clamp(90px,10vw,145px);padding-bottom:clamp(90px,10vw,145px)}
.goal .section-number,.goal .overline{color:#a87943}
.goal-content{max-width:1320px;margin:0 auto}
.goal h2{max-width:900px;margin-bottom:52px}
.goal-pair{max-width:760px;border-color:#c8b9a4;grid-template-columns:1fr 1fr}
.goal-pair>div{padding:25px 12px 28px 0}
.goal-pair>div+div{border-color:#c8b9a4;padding-left:32px}
.goal-pair strong{font-size:clamp(2.6rem,4.8vw,5.1rem);margin-top:8px;color:#243d50}
.goal-pair>div>span{color:#9a734d}
.goal-note{max-width:850px;margin:28px 0 56px;color:#536376}
.metrics{display:block}
.metric-headline{display:grid;grid-template-columns:1fr 1.15fr;gap:18px}
.metric-feature{background:#fffdfa;border:1px solid #eee6d8;padding:clamp(28px,3.7vw,56px);min-height:220px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 20px 60px rgba(26,48,68,.045)}
.metric-people{border-top:5px solid #dbab70}
.metric-amount{border-top:5px solid #56b6b3}
.metric-label{font-size:clamp(1rem,1.35vw,1.25rem);font-weight:700;letter-spacing:.02em;color:#38536a}
.metric-value{font-family:Arial,'Noto Sans JP',sans-serif;font-weight:600;letter-spacing:-.055em;line-height:1.03;font-size:clamp(3.3rem,7.2vw,8rem);white-space:nowrap;color:#132d46}
.metric-amount .metric-value{font-size:clamp(2.5rem,5.9vw,6.8rem)}
.metric-progress{margin-top:18px;background:#19334b;color:#f9f6ed;padding:clamp(28px,3.5vw,52px)}
.metric-progress-heading,.metric-progress-foot{display:flex;align-items:end;justify-content:space-between;gap:20px}
.metric-progress-heading span{font-size:clamp(1rem,1.5vw,1.35rem);font-weight:600}
.metric-progress-heading strong{font:600 clamp(2.8rem,5vw,5rem)/1 Arial,sans-serif;letter-spacing:-.055em;color:#f4ce91}
.progress-track{height:12px;background:#557184;margin:31px 0 32px;border-radius:100px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,#e7aa73,#62c1bd);border-radius:100px;transition:width .7s ease}
.metric-progress-foot{align-items:stretch;border-top:1px solid #657c8a;padding-top:26px}
.metric-small{flex:1;display:flex;flex-direction:column;gap:9px}
.metric-small+ .metric-small{border-left:1px solid #657c8a;padding-left:32px}
.metric-small span{font-size:13px;color:#d6e4e5}
.metric-small strong{font-size:clamp(1.5rem,2.5vw,2.55rem);font-weight:500}
.vision{background:#dfeeee;color:#192b3e}
.vision .section-number,.vision .overline{color:#247b88}
.vision .section-copy{color:#4e6271}
.vision .quiet{color:#17364f}
.challenge{background:#faf6ee}
.milestones,.milestones>div{border-color:#cbbdab}
.milestones span{color:#967146}
.muted{color:#687486}
.product{background:#f5eee3}
.product-shot figcaption,.product-facts span{color:#897155}
.returns-section{background:#edf1ed}
.return-card{background:#fffdfa;border-top:3px solid #51a9a8}
.return-category{color:#257d88}
.return-description,.return-meta,.flow-list p,.notice p{color:#556477}
.choose{border-color:#19334b;color:#19334b}
.choose:not(:disabled):hover{background:#19334b}
.flow{background:#faf6ee}
.registration{background:#f2ebdf}
.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea{border-color:#c9c2b6;color:#19334b}
.form-grid :is(input,select,textarea):focus{outline-color:#319a9c}
.form-actions button,.final-button{background:#19334b;border-color:#19334b}
.notice{background:#faf6ee}
.final-cta{background:linear-gradient(125deg,#19334b,#23666f);color:#fff8ea}
.final-cta .overline{color:#f1c68f}
.final-button{background:#dfb879;color:#182f43;border-color:#dfb879}
.final-button:hover{background:#f5d59f;color:#182f43}
footer{background:#faf6ee;color:#596b7c}
@media(max-width:760px){
 .hero:before{background:linear-gradient(90deg,rgba(19,42,59,.84),rgba(19,42,59,.44)),linear-gradient(0deg,rgba(19,42,59,.72),transparent 70%)}
 .goal-pair strong{font-size:clamp(2.5rem,9vw,4.4rem)}
 .goal-pair>div+div{padding-left:18px}
 .goal-note{margin-bottom:38px}
 .metric-headline{grid-template-columns:1fr;gap:12px}
 .metric-feature{min-height:158px;padding:24px}
 .metric-value,.metric-amount .metric-value{font-size:clamp(3rem,12vw,5.5rem);overflow-wrap:anywhere;white-space:normal}
 .metric-progress{margin-top:12px;padding:26px 22px}
 .metric-progress-heading{align-items:start}
 .metric-progress-heading span{max-width:170px;line-height:1.6}
 .metric-progress-heading strong{font-size:clamp(2.5rem,10vw,4rem)}
 .metric-progress-foot{display:grid;gap:18px}
 .metric-small+ .metric-small{border-left:0;border-top:1px solid #657c8a;padding:18px 0 0}
}
.story-visual,.challenge-visual{margin:clamp(38px,5vw,75px) 0 0}
.story-visual img,.challenge-visual img{display:block;width:100%;height:clamp(270px,35vw,530px);object-fit:cover}
.story-visual img{object-position:center 60%}
.challenge-visual img{height:clamp(260px,29vw,440px);object-position:center 55%}
.story-visual figcaption,.challenge-visual figcaption{font-size:12px;line-height:1.7;padding-top:12px;color:#55727c}
.challenge-visual figcaption{color:#80715e}
.challenge .milestones{margin-top:clamp(45px,6vw,85px)}
@media(max-width:760px){.story-visual img,.challenge-visual img{height:260px}.story-visual,.challenge-visual{margin-top:36px}}

/* Story-driven photo panels. Headline contrast is controlled by gradients. */
.intro{position:relative;isolation:isolate;min-height:clamp(640px,70vw,830px);align-items:center;color:#fff8ec;background:#1a3145 url('/images/okinawa-gratitude-illustration.png') center center/cover no-repeat}
.intro:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,31,47,.89) 0%,rgba(13,35,53,.84) 45%,rgba(20,48,65,.40) 76%,rgba(20,48,65,.18) 100%)}
.intro .section-number,.intro .overline{color:#f0c58f}
.intro h2{max-width:850px;text-wrap:balance;text-shadow:0 2px 16px rgba(0,0,0,.12)}
.intro .section-copy{max-width:720px;color:#f7f5ed;line-height:1.85}
.intro .visual-credit{font-size:12px;color:#e7ded1;margin:34px 0 0}
.goal .goal-story{position:relative;isolation:isolate;min-height:clamp(470px,53vw,650px);display:flex;flex-direction:column;justify-content:center;margin-bottom:32px;padding:clamp(36px,7vw,94px);overflow:hidden;color:#fff8eb;background:#39291e url('/images/jerky-preview.png') center 67%/cover no-repeat}
.goal .goal-story:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(28,30,36,.85) 0%,rgba(28,30,36,.65) 48%,rgba(28,30,36,.16) 100%)}
.goal .goal-story h2{max-width:850px;margin:0;font-size:clamp(2.7rem,5.6vw,6.5rem);line-height:1.24;text-shadow:0 2px 20px rgba(0,0,0,.25)}
.goal-story-credit{position:absolute;bottom:23px;left:clamp(36px,7vw,94px);font-size:12px;color:#f6e8d7}
.goal .goal-pair{max-width:none;margin-top:28px}
.final-cta{isolation:isolate;position:relative;min-height:650px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#19334b url('/images/okinawa-dawn-illustration.png') center 52%/cover no-repeat}
.final-cta:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,34,55,.60),rgba(12,34,55,.68) 50%,rgba(12,34,55,.40))}
.final-cta h2{text-shadow:0 2px 18px rgba(0,0,0,.23)}
.final-cta .visual-credit{font-size:12px;color:#f6e9db;margin-top:18px}
@media(max-width:760px){
 .intro{min-height:680px;background-position:59% center}
 .intro:before{background:linear-gradient(90deg,rgba(12,31,47,.88),rgba(12,31,47,.66)),linear-gradient(0deg,rgba(12,31,47,.55),transparent 75%)}
 .intro h2{font-size:clamp(2.25rem,8.5vw,3.6rem)}
 .goal .goal-story{margin:0 -24px 28px;min-height:500px;padding:44px 26px 74px;background-size:auto 158%;background-position:center 71%}
 .goal .goal-story:before{background:linear-gradient(90deg,rgba(29,27,26,.80),rgba(29,27,26,.49))}
 .goal .goal-story h2{font-size:clamp(2.8rem,11vw,4.4rem)}
 .goal-story-credit{left:26px;bottom:20px;right:20px}
 .final-cta{min-height:610px;background-position:65% center}
 .final-cta:before{background:rgba(12,34,55,.68)}
}

/* Hero-like vision and challenge panels; image masks protect headline contrast. */
.vision{position:relative;isolation:isolate;min-height:clamp(680px,67vw,830px);align-items:center;background:#224858 url('/images/okinawa-vision-illustration.png') center 54%/cover no-repeat;color:#fffaf1}
.vision:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,37,55,.91) 0%,rgba(13,37,55,.83) 45%,rgba(13,37,55,.40) 76%,rgba(13,37,55,.12) 100%)}
.vision .section-number,.vision .overline{color:#f1cb95}
.vision h2{max-width:900px;text-wrap:balance;text-shadow:0 2px 18px rgba(0,0,0,.14)}
.vision .section-copy{max-width:740px;color:#fff9ef;line-height:1.85}
.vision .quiet{color:#fff9ef;margin-top:28px}
.vision .visual-credit{font-size:12px;color:#e9e3d9;margin:44px 0 0}
.challenge-story{position:relative;isolation:isolate;min-height:clamp(470px,52vw,650px);display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,7vw,90px);background:#c6e6e9 url('/images/okinawa-wide-sea-illustration.png') center 51%/cover no-repeat;overflow:hidden}
.challenge-story:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(250,247,240,.92) 0%,rgba(250,247,240,.84) 43%,rgba(250,247,240,.30) 78%,rgba(250,247,240,.06) 100%)}
.challenge-story h2{max-width:760px;margin:0;color:#19334b;font-size:clamp(2.7rem,5.6vw,6.3rem);line-height:1.25;text-wrap:balance}
.challenge-story .overline{color:#8f6440;margin-bottom:28px}
.challenge-story-credit{position:absolute;bottom:20px;left:clamp(36px,7vw,90px);color:#2f4d5e;font-size:12px}
@media(max-width:760px){
 .vision{min-height:730px;background-position:66% center}
 .vision:before{background:linear-gradient(90deg,rgba(13,37,55,.90),rgba(13,37,55,.64)),linear-gradient(0deg,rgba(13,37,55,.65),transparent 70%)}
 .vision .quiet{font-size:1.1rem;line-height:1.7}
 .challenge-story{min-height:500px;margin:0 -24px;padding:42px 25px 70px;background-position:54% center}
 .challenge-story:before{background:linear-gradient(90deg,rgba(250,247,240,.93),rgba(250,247,240,.70)),linear-gradient(0deg,rgba(250,247,240,.42),transparent 70%)}
 .challenge-story h2{font-size:clamp(2.8rem,10.5vw,4.3rem)}
 .challenge-story-credit{left:25px;right:20px;bottom:20px}
}

/* Full-width challenge horizon and truly centered product story. */
.challenge{--challenge-gutter:clamp(24px,7vw,120px);display:block;padding-inline:var(--challenge-gutter)}
.challenge-story{margin-inline:calc(-1 * var(--challenge-gutter));min-height:clamp(520px,53vw,700px);padding-inline:var(--challenge-gutter);background-image:url('/images/okinawa-wide-sea-illustration.png');background-position:center center;background-size:cover}
.challenge-story:before{background:linear-gradient(90deg,rgba(250,247,240,.80) 0%,rgba(250,247,240,.59) 35%,rgba(250,247,240,.05) 75%,transparent 100%)}
.challenge-story h2{max-width:900px;color:#142e49;text-shadow:0 1px 12px rgba(255,255,255,.32)}
.challenge .milestones,.challenge .muted{max-width:1180px;margin-left:auto;margin-right:auto}
.product{display:block}
.product .section-number{padding:0;margin:0 auto 28px;max-width:1180px;text-align:center}
.product>div:last-child{max-width:1180px;margin-inline:auto}
.product .overline,.product h2,.product .section-copy{text-align:center;margin-left:auto;margin-right:auto}
.product h2{max-width:1050px}
.product .section-copy{max-width:860px}
@media(max-width:760px){
 .challenge{--challenge-gutter:24px}
 .challenge-story{min-height:520px;margin-inline:calc(-1 * var(--challenge-gutter));padding:38px var(--challenge-gutter);background-position:50% center}
 .challenge-story:before{background:linear-gradient(90deg,rgba(250,247,240,.83),rgba(250,247,240,.48))}
 .product .section-number{text-align:center;margin-bottom:26px}
 .product h2{font-size:clamp(2.25rem,9vw,3.6rem)}
}

/* Live pre-registration strip, fixed in view with the navigation. */
:root{--sticky-offset:210px}
html{scroll-padding-top:var(--sticky-offset)}
[id]{scroll-margin-top:var(--sticky-offset)}
.sticky-shell{position:sticky;top:0;z-index:100;background:#faf6ee;box-shadow:0 3px 16px rgba(17,42,58,.10)}
.prelaunch-strip{display:grid;grid-template-columns:minmax(90px,.75fr) minmax(110px,1.1fr) minmax(125px,1.3fr) minmax(150px,1.4fr) minmax(120px,1.1fr) minmax(135px,1.1fr) auto;gap:clamp(8px,1.3vw,20px);align-items:center;padding:12px clamp(20px,4vw,60px) 13px;border-top:1px solid #ded5c7;border-bottom:2px solid #d6b781;background:rgba(250,246,238,.98);color:#17334b}
.prelaunch-strip>div:not(.strip-mobile-detail){min-width:0}
.strip-goal,.strip-primary,.strip-secondary{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:58px}
.strip-goal>span,.strip-primary>span,.strip-secondary>span,.strip-progress-label span{font-size:clamp(10px,.78vw,12px);font-weight:600;line-height:1.32;color:#5b6872;letter-spacing:.01em}
.strip-goal>span{letter-spacing:.1em;color:#926e43}
.strip-goal>strong{font-size:clamp(16px,1.25vw,21px);line-height:1.1;white-space:nowrap}
.strip-primary>strong{font:600 clamp(22px,2.2vw,34px)/1.12 Arial,'Noto Sans JP',sans-serif;letter-spacing:-.04em;white-space:nowrap}
.strip-amount>strong{color:#167e87}
.strip-secondary>strong{font:600 clamp(15px,1.3vw,21px)/1.15 Arial,'Noto Sans JP',sans-serif;letter-spacing:-.03em;white-space:nowrap}
.strip-progress-label{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.strip-progress-label span{max-width:135px}
.strip-progress-label strong{font:600 clamp(17px,1.6vw,25px)/1 Arial,sans-serif;white-space:nowrap;color:#a87740}
.strip-track{height:5px;background:#d1d9d8;border-radius:10px;overflow:hidden;margin-top:11px}
.strip-fill{height:100%;width:0;background:linear-gradient(90deg,#c99859,#37a8ae);border-radius:10px;transition:width .45s ease}
.strip-cta{min-width:125px;display:flex;align-items:center;gap:9px;justify-content:space-between;padding:12px 14px;background:#19334b;color:#fff9ef;font-size:12px;font-weight:700;line-height:1.45;white-space:nowrap}
.strip-cta:hover{background:#216676}
.strip-mobile-detail{display:none}
.strip-status{grid-column:1/-1;margin:0;padding:7px 0 0;color:#9b3b2b;font-size:12px}
@media(max-width:1200px){
 .prelaunch-strip{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'people amount' 'progress progress' 'detail detail' 'status status';gap:5px 12px;padding:9px 20px 8px}
 .strip-goal,.strip-secondary,.strip-cta{display:none}
 .strip-primary{min-height:0;gap:2px}
 .strip-primary:nth-of-type(2){grid-area:people}
 .strip-amount{grid-area:amount}
 .strip-primary>span{font-size:11px}
 .strip-primary>strong{font-size:clamp(19px,3vw,26px)}
 .strip-progress{grid-area:progress}
 .strip-progress-label{align-items:center}
 .strip-progress-label span{max-width:none;font-size:11px}
 .strip-progress-label strong{font-size:17px}
 .strip-track{height:4px;margin-top:4px}
 .strip-mobile-detail{display:block;grid-area:detail;min-width:0}
 .strip-mobile-detail summary{list-style:none;cursor:pointer;padding:3px 0 1px;color:#456c7b;font-size:11px;font-weight:700}
 .strip-mobile-detail summary::-webkit-details-marker{display:none}
 .strip-mobile-detail summary:after{content:' ＋';color:#a87740}
 .strip-mobile-detail[open] summary:after{content:' −'}
 .strip-mobile-detail>div{display:flex;gap:24px;padding:9px 0 3px;border-top:1px solid #dfd6ca;margin-top:4px}
 .strip-mobile-detail p{margin:0;display:flex;flex-direction:column;gap:4px}
 .strip-mobile-detail p span{color:#60717a;font-size:11px}
 .strip-mobile-detail p strong{color:#17334b;font-size:15px;white-space:nowrap}
 .strip-mobile-detail .strip-disclaimer{font-size:11px;line-height:1.5;color:#60717a;max-width:220px}
 .strip-status{grid-area:status}
}
@media(max-width:760px){
 .sticky-shell .site-header{height:60px}
 .prelaunch-strip{padding:8px 16px 7px;gap:4px 10px}
 .strip-primary>strong{font-size:clamp(18px,5vw,23px)}
 .strip-mobile-detail>div{display:grid;gap:11px}
 .strip-mobile-detail p{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}
 .strip-mobile-detail .strip-disclaimer{max-width:none}
}
@media(prefers-reduced-motion:reduce){.strip-fill{transition:none}}

/* Editorial type scale and deliberate Japanese line breaks. */
.mobile-break{display:none}

/* Fix uploaded store photo paths */
.intro{background-image:url('/store-maker-smile.jpg')!important}
.goal .goal-story{background-image:url('/store-tray.jpg')!important}
.vision{background-image:url('/store-maker-slice.jpg')!important}



.product-shot:nth-child(1) img{content:url('/store-tray.jpg')} .product-shot:nth-child(2) img{content:url('/store-maker-tray.jpg')}
.challenge-story{background-image:url('/store-tray.jpg')!important}
.final-cta{background-image:url('/store-maker-tray.jpg')!important}
.hero .eyebrow,.section-number,.overline,.milestones span,.return-category{font-size:14px;letter-spacing:.10em}
.hero-challenge{font-size:clamp(16px,1.6vw,21px);line-height:1.75;color:#fff7eb}
.hero-lead{line-height:1.7}
.intro .section-copy,.vision .section-copy{font-size:clamp(17px,1.45vw,21px);line-height:1.9}
.goal .goal-story h2{max-width:950px;letter-spacing:-.048em}
.goal-note{max-width:980px;margin:30px 0 54px;font-size:clamp(17px,1.4vw,20px);line-height:1.85;color:#263d4e}
.goal-note span{display:block;margin-top:12px;font-size:15px;color:#596978;line-height:1.7}
.goal-pair>div>span{font-size:14px;letter-spacing:.1em}
.metric-label{font-size:clamp(16px,1.3vw,20px)}
.metric-small span{font-size:15px;line-height:1.5}
.product .overline{text-align:center}
.product .product-lead{max-width:900px;font-size:clamp(19px,1.65vw,25px);font-weight:500;line-height:1.9;letter-spacing:.015em;color:#3a4c5d}
.product-shot figcaption{font-size:14px;color:#536a77}
.product-facts span{font-family:'Noto Sans JP',sans-serif;font-size:14px;letter-spacing:.08em}
.product-facts p{font-size:16px;line-height:1.8}
.product-note,.return-notice{font-size:15px;line-height:1.8;color:#5b6876}
.product-note{margin-top:30px}
.return-notice{margin:18px 0 0}
.return-description,.return-meta{font-size:16px;line-height:1.8}
.return-meta{font-size:15px}
.empty{font-size:16px}

/* Replace product photos with supplied store photos */
.product-shot:nth-child(1) img{content:url('/store-tray.jpg')}
.product-shot:nth-child(2) img{content:url('/store-maker-tray.jpg')}
.flow-list p{font-size:16px}
.form-grid label>span:not(.check span){font-size:14px}
.notice-points{list-style:none;margin:48px 0 22px;padding:0;max-width:860px;border-top:1px solid #d0c6b7}
.notice-points li{padding:18px 0;border-bottom:1px solid #d0c6b7;font-size:clamp(16px,1.25vw,19px);line-height:1.8}
.notice-followup{font-size:15px;line-height:1.8}
footer{font-size:14px;line-height:1.65}
.strip-goal>span,.strip-primary>span,.strip-secondary>span,.strip-progress-label span{font-size:12px}
.strip-cta{font-size:14px}
.strip-mobile-detail summary,.strip-mobile-detail p span,.strip-mobile-detail .strip-disclaimer{font-size:13px;line-height:1.5}
@media(max-width:760px){
 .desktop-break{display:none}
 .mobile-break{display:initial}
 .hero .eyebrow,.section-number,.overline{font-size:13px}
 .hero-challenge{font-size:16px}
 .intro .section-copy,.vision .section-copy{font-size:17px;line-height:1.9}
 .goal .goal-story{min-height:540px}
 .goal .goal-story h2{font-size:clamp(2.45rem,10vw,3.35rem);line-height:1.3}
 .goal-note{font-size:17px;margin:27px 0 39px}
 .goal-note span{font-size:14px}
 .goal-pair>div>span{font-size:12px}
 .product .product-lead{font-size:18px;line-height:1.85}
 .product-note,.return-notice{font-size:14px}
 .notice-points{margin-top:34px}
 .notice-points li{font-size:16px}
 .strip-primary>span,.strip-progress-label span{font-size:12px}
 .strip-mobile-detail summary,.strip-mobile-detail p span,.strip-mobile-detail .strip-disclaimer{font-size:13px}
 .sticky-shell .site-header .header-cta{font-size:13px}
}
/* Make return selection and consent copy comfortable at reading distance. */
.return-card h4{font-size:clamp(1.5rem,2vw,1.85rem);line-height:1.45}
.return-price{font-size:clamp(2rem,2.6vw,2.6rem)}
.choose{font-size:16px;min-height:56px}
.registration .form-grid>label:not(.check),.registration legend{font-size:16px}
.registration .check{font-size:16px;line-height:1.75}
.registration .form-grid input:not([type=checkbox]):not([type=radio]),.registration .form-grid select,.registration .form-grid textarea{font-size:16px}
.form-actions button{font-size:16px}
@media(max-width:760px){.return-card{min-height:0}.registration .check{font-size:15px}}

/* Mobile composition: never let names, quantities, or particles become orphans. */
.keep-together{white-space:nowrap}
.hero{background-position:center 80%}
.product-shot{position:relative;overflow:hidden}
.product-shot img{transform:scale(1.57);transform-origin:center 62%}
@media(max-width:760px){
 .hero{background-size:auto 150%;background-position:56% 78%}
 .hero h1{font-size:clamp(2.6rem,10.7vw,3.2rem);line-height:1.26;letter-spacing:-.055em}
 .hero-inner{padding-top:clamp(95px,12vh,135px)}
 .intro h2{font-size:clamp(2.05rem,8.3vw,2.7rem);line-height:1.31;letter-spacing:-.045em}
 .intro .section-copy{max-width:21em;line-height:1.85}
 .goal .goal-story h2{font-size:clamp(2.4rem,9.7vw,3.15rem);line-height:1.28}
 .vision h2{font-size:clamp(2.35rem,9vw,3.25rem);line-height:1.32}
 .challenge-story h2{font-size:clamp(2.3rem,9vw,3.2rem);line-height:1.32}
 .product-shot img{transform:scale(1.63);transform-origin:center 64%}
 .final-cta h2{font-size:clamp(2.25rem,9vw,3.2rem);line-height:1.35}
}
@media(max-width:360px){
 .intro h2{font-size:1.98rem}
 .hero h1{font-size:2.55rem}
 .goal .goal-story h2{font-size:2.25rem}
 .vision h2,.challenge-story h2{font-size:2.2rem}
}
.section-copy,.product-note,.return-notice,.notice-points li,.flow-list p,.hero-lead{ text-wrap:pretty }
.return-price{white-space:nowrap}

/* Approved mobile copy is composed as complete lines, not browser guesses. */
.why-head-mobile,.why-copy-mobile{display:none}
@media(max-width:760px){
 .intro{padding-left:18px;padding-right:18px}
 .why-head-desktop,.why-copy-desktop{display:none}
 .why-head-mobile,.why-copy-mobile{display:block}
 .intro h2{font-size:clamp(1.84rem,8vw,2.1rem);line-height:1.38;letter-spacing:-.05em;white-space:nowrap}
 .intro .why-copy{font-size:clamp(16px,4.55vw,18px);line-height:1.9;letter-spacing:-.015em;white-space:nowrap;max-width:none;margin-top:34px}
 .final-cta h2{font-size:clamp(2rem,8.7vw,2.7rem);line-height:1.4;letter-spacing:-.05em;white-space:nowrap}
}
@media(max-width:360px){
 .intro h2{font-size:1.67rem}
 .intro .why-copy{font-size:16px}
 .final-cta h2{font-size:1.93rem}
}

/* Short mobile leads: one thought per line without excessive stacking. */
.lead-mobile{display:none}
.overline{word-break:keep-all;text-wrap:balance}
@media(max-width:760px){
 .lead-desktop{display:none}
 .lead-mobile{display:block}
 .intro .why-copy{font-size:clamp(16px,4.45vw,18px);line-height:1.9;white-space:nowrap}
 .vision .vision-lead{font-size:clamp(16px,4.4vw,18px);line-height:1.9;white-space:nowrap}
 .product .product-lead{font-size:clamp(16px,4.4vw,18px);line-height:1.9;white-space:nowrap}
 .overline{font-size:13px;line-height:1.55}
}
@media(max-width:360px){
 .intro .why-copy,.vision .vision-lead,.product .product-lead{font-size:15px}
}

/* Desktop headlines follow the intentional line breaks without leaving particles alone. */
@media(min-width:761px){
 .intro{grid-template-columns:minmax(95px,15%) minmax(0,1fr)}
 .intro h2{font-size:clamp(1.85rem,3.55vw,4rem)}
 .goal .goal-story h2{font-size:clamp(2rem,4.5vw,4.8rem)}
 .vision h2{font-size:clamp(2rem,4.1vw,4.5rem)}
 .challenge-story h2{font-size:clamp(2rem,4.55vw,4.8rem)}
 .product h2{font-size:clamp(2rem,4.25vw,4.5rem)}
 .intro h2,.goal .goal-story h2,.vision h2,.challenge-story h2,.product h2,.final-cta h2{white-space:nowrap}
}


/* Compact return examples remain visible while live registration loads. */
.return-preview{margin-top:56px}
.return-preview h3,.return-available-heading{font-size:clamp(1.4rem,2vw,1.85rem);line-height:1.4;margin:0 0 22px}
.return-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.return-preview-item{background:#fffdfa;border-top:3px solid #51a9a8;padding:clamp(22px,2.5vw,32px);display:flex;flex-direction:column;min-height:205px}
.return-preview-item span{font:600 12px/1.5 Arial,sans-serif;letter-spacing:.11em;color:#257878}
.return-preview-item h4{font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.4;margin:15px 0 8px}
.return-preview-item p{color:#4f615d;line-height:1.75;margin:0 0 22px}
.return-preview-item strong{font-size:clamp(1.6rem,2.3vw,2rem);font-weight:600;margin-top:auto;white-space:nowrap}
.return-preview-note{font-size:14px;line-height:1.8;color:#5b6876;margin:18px 0 0}
.return-available-heading{margin-top:72px}
.return-available-heading+.returns-list{margin-top:0}
@media(max-width:760px){.return-preview{margin-top:40px}.return-preview-grid{grid-template-columns:1fr}.return-preview-item{min-height:0}.return-available-heading{margin-top:55px}}


/* Completed artwork is displayed in document flow at its original proportions. */
main > .design-panel {
 position: relative;
 display: block;
 width: 100%;
 height: auto;
 min-height: 0;
 margin: 0;
 padding: 0;
 background: none !important;
 isolation: auto;
}
main > .design-panel::before, main > .design-panel::after { display: none; }
main > .design-panel > .design-image {
 display: block;
 width: 100%;
 height: auto;
 max-width: none;
 margin: 0;
 object-fit: contain;
 transform: none;
}
.design-hero-cta {
 position: absolute;
 left: 5.9%;
 top: 68.5%;
 width: 38.3%;
 height: 11.6%;
 background: transparent;
}
.design-hero-cta:focus-visible { outline: 3px solid white; outline-offset: 3px; }
.design-next {
 position: absolute;
 right: 2%;
 bottom: 2%;
 width: 44px;
 height: 44px;
 display: grid;
 place-items: center;
 border-radius: 50%;
 color: white;
 background: rgba(15, 35, 50, .7);
}
.design-panel > [hidden] { display: none !important; }

/* Package presentation for the return section. */
.returns-section {
 display: block;
 background: #f3eee5;
 padding: clamp(52px, 7vw, 104px) clamp(20px, 5vw, 80px);
}
.returns-section > .section-number {
 max-width: 1180px;
 margin: 0 auto 20px;
 padding: 0;
 color: #946b35;
}
.returns-section > div:last-child { max-width: 1180px; margin-inline: auto; }
.returns-section .overline { color: #8d6636; margin-bottom: 20px; }
.returns-section h2 { font-size: clamp(30px, 4vw, 54px); margin-bottom: 24px; }
.return-package-showcase {
 display: grid;
 grid-template-columns: .8fr 1.2fr;
 align-items: center;
 margin-top: 38px;
 background: #112431;
 color: #fbf3e5;
 overflow: hidden;
 border: 1px solid #b9955e;
}
.return-package-copy { padding: clamp(24px, 4vw, 52px); }
.package-kicker { color: #d7b77d; font: 600 12px/1.5 Arial, sans-serif; letter-spacing: .14em; margin-bottom: 22px; }
.return-package-copy h3 { font-size: clamp(26px, 3vw, 40px); line-height: 1.5; font-weight: 500; letter-spacing: -.02em; margin-bottom: 22px; }
.return-package-copy > p:not(.package-kicker) { color: #e0d4c0; font-size: 16px; line-height: 1.9; margin-bottom: 26px; }
.package-concept { color: #c7b89d; font-size: 12px; line-height: 1.6; }
.return-package-showcase figure { margin: 0; }
.return-package-showcase img { display: block; width: 100%; height: auto; }
.returns-section .return-preview { margin-top: 42px; }
.returns-section .return-preview-grid { gap: 20px; }
.returns-section .return-preview-item {
 border: 1px solid #ded0b9;
 border-top: 3px solid #b38c52;
 background: linear-gradient(135deg, #fffdf8, #eee5d7);
 padding: clamp(22px, 3vw, 34px);
 min-height: 214px;
}
.returns-section .return-preview-item > span { color: #8a6330; }
.returns-section .return-preview-item h4 { font-size: clamp(21px, 2vw, 27px); color: #173044; }
.returns-section .return-preview-item strong { color: #173044; font-size: clamp(27px, 2.6vw, 36px); }
@media (max-width: 760px) {
 .return-package-showcase { grid-template-columns: 1fr; }
 .return-package-copy { padding: 28px 24px; }
 .return-package-copy h3 { font-size: 30px; margin-bottom: 16px; }
 .return-package-copy > p:not(.package-kicker) { margin-bottom: 18px; }
 .package-kicker { margin-bottom: 16px; }
 .returns-section .return-preview-item { min-height: 0; }
}

/* Individual package cards keep the reward details unchanged. */
.returns-section .return-preview-grid { gap: 28px; }
.returns-section .return-visual-card {
 padding: 0; min-height: 0; overflow: hidden; border: 1px solid #cdbb9e;
 border-radius: 4px; background: #fffaf1; box-shadow: 0 12px 30px rgba(43,31,13,.08);
}
.return-card-photo { position: relative; background: #14232d; }
.return-card-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; }
.return-card-count {
 position: absolute; bottom: 18px; right: 18px; display: flex; align-items: baseline; gap: 5px;
 padding: 10px 16px; color: #fff3d5; background: #142a36; border: 1px solid #c6a468;
 box-shadow: 0 4px 14px #0005;
}
.return-card-count b { font: 500 36px/1 Arial,sans-serif; }
.return-card-count > span { font-size: 12px; letter-spacing: .08em; }
.return-card-body { padding: 26px 28px 22px; border-top: 3px solid #b69359; }
.return-card-category { display: block; color: #8a6330; font-size: 11px; letter-spacing: .12em; }
.returns-section .return-visual-card h4 { margin: 12px 0 10px; font-size: clamp(23px,2.3vw,30px); line-height: 1.35; }
.returns-section .return-visual-card p { margin: 0; min-height: 32px; color: #695d4e; font-size: 14px; line-height: 1.8; }
.return-card-price { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #d7c8ad; }
.return-card-price > span { color: #7e6d52; font-size: 12px; }
.returns-section .return-visual-card strong { display: block; margin: 0; color: #173044; font: 500 clamp(30px,3vw,40px)/1.2 Arial,sans-serif; letter-spacing: -.035em; white-space: nowrap; }
.return-card-price small { margin-left: 6px; font: 500 16px/1.2 sans-serif; }
.return-card-note { display: block; margin-top: 15px; color: #8b7e6a; font-size: 10px; line-height: 1.5; }
@media(max-width:760px) {
 .returns-section .return-preview-grid { gap: 24px; }
 .return-card-body { padding: 22px 20px 18px; }
 .return-card-count { right: 12px; bottom: 12px; padding: 9px 13px; }
 .return-card-count b { font-size: 32px; }
 .return-card-price { margin-top: 18px; }
}

.returns-section .return-visual-card .return-card-count,
.returns-section .return-visual-card .return-card-count > span { color: #fff3d5; }
.returns-section .return-visual-card .return-card-category { color: #8a6330; font-size: 11px; }
.returns-section .return-visual-card .return-card-price > span { color: #7e6d52; font-size: 12px; }
.returns-section .return-visual-card .return-card-note { color: #8b7e6a; font-size: 10px; font-weight: 400; letter-spacing: 0; }

/* Mobile stories have independent text and reading order; desktop artwork remains intact. */
.design-panel > .mobile-story { display: none; }
@media (max-width: 760px) {
 html { scroll-padding-top: 76px !important; }
 [id] { scroll-margin-top: 0; }
 .sticky-shell { position: relative; padding-top: 64px; box-shadow: none; }
 .sticky-shell .site-header { position: fixed; top: 0; left: 0; width: 100%; height: 64px; z-index: 101; padding: 0 18px; border-bottom: 1px solid #ded5c7; box-shadow: 0 2px 10px #112a3a0d; }
 .sticky-shell .wordmark { font-size: 12px; }
 .sticky-shell .site-header .header-cta { font-size: 13px; min-height: 44px; display: flex; align-items: center; }
 .prelaunch-strip { padding: 12px 18px; gap: 9px 14px; }
 .prelaunch-strip .strip-primary { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 6px; }
 .prelaunch-strip .strip-primary > span { font-size: 12px; line-height: 1.5; }
 .prelaunch-strip .strip-primary > strong { font-size: 19px; }
 .prelaunch-strip .strip-progress-label span { font-size: 12px; line-height: 1.5; }
 .prelaunch-strip .strip-progress-label strong { font-size: 15px; }
 .prelaunch-strip .strip-mobile-detail summary { font-size: 13px; line-height: 1.6; padding: 4px 0; }
 .prelaunch-strip .strip-status { font-size: 12px; line-height: 1.6; padding: 0; }
 main > .design-panel > .design-image,
 .design-panel > .design-hero-cta,
 .design-panel > .design-next { display: none; }
 main > .design-panel > .mobile-story { display: block; background: #0e2330; color: #faf4e8; overflow: hidden; }
 .design-panel .mobile-story-copy { padding: 54px 24px 28px; }
 .design-panel .mobile-story-label { margin: 0 0 22px; color: #d8b579; font: 600 12px/1.65 system-ui,sans-serif; letter-spacing: .12em; }
 .design-panel .mobile-story h1,
 .design-panel .mobile-story h2 { font-family: 'Noto Serif JP','Yu Mincho',serif; font-size: clamp(28px,8vw,36px); font-weight: 500; line-height: 1.5; letter-spacing: -.035em; white-space: normal; max-width: none; margin: 0; color: #faf4e8; text-wrap: pretty; }
 .design-panel .mobile-story h1 { font-size: clamp(30px,8.8vw,39px); line-height: 1.4; }
 .design-panel .mobile-story h1 > span,
 .design-panel .mobile-story h2 > span { color: #e4bf7b; }
 .design-panel .mobile-story-photo { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; margin: 0; transform: none; }
 .design-panel .mobile-story-body { padding-top: 30px; padding-bottom: 54px; }
 .design-panel .mobile-story-body > p,
 .design-panel .mobile-craft li p { font-size: 16px; line-height: 1.95; color: #e4e6e3; letter-spacing: .01em; margin: 0 0 22px; white-space: normal; }
 .design-panel .mobile-story-body > p:last-child { margin-bottom: 0; }
 .design-panel .mobile-story h3 { font-size: 21px; line-height: 1.65; letter-spacing: -.025em; font-weight: 500; color: #faf4e8; margin: 0 0 24px; }
 .design-panel .mobile-craft { margin-top: 38px; padding-top: 32px; border-top: 1px solid #b997594d; }
 .design-panel .mobile-craft .mobile-story-label { margin-bottom: 12px; }
 .design-panel .mobile-craft ol { list-style: none; counter-reset: craft; padding: 0; margin: 0; }
 .design-panel .mobile-craft li { counter-increment: craft; position: relative; padding: 22px 0 22px 44px; border-top: 1px solid #e3c18a33; }
 .design-panel .mobile-craft li::before { content: counter(craft,decimal-leading-zero); position: absolute; left: 0; top: 25px; font: 500 17px/1.4 Arial,sans-serif; color: #d8b579; }
 .design-panel .mobile-craft h4 { font-size: 19px; line-height: 1.5; color: #faf4e8; margin: 0 0 9px; font-weight: 500; }
 .design-panel .mobile-craft li p { margin: 0; }
 .design-panel .mobile-goals-heading { margin-top: 38px; }
 .design-panel .mobile-goals { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr; gap: 14px; }
 .design-panel .mobile-goals li { padding: 22px 24px; border: 1px solid #c8a46666; border-left: 3px solid #c8a466; background: linear-gradient(110deg,#213545,#132938); }
 .design-panel .mobile-goals li > span { display: block; font: 600 11px/1.5 Arial,sans-serif; letter-spacing: .13em; color: #d8b579; }
 .design-panel .mobile-goals strong { display: block; margin: 10px 0 8px; font: 500 40px/1.2 Georgia,serif; color: #e4bf7b; }
 .design-panel .mobile-goals small { font-size: 22px; margin-left: 5px; }
 .design-panel .mobile-goals li p { font-size: 16px; line-height: 1.7; color: #faf4e8; margin: 0; }
 .design-panel .mobile-story-body > .mobile-story-note { font-size: 13px; line-height: 1.8; color: #c2c9ca; margin: 20px 0 0; }
 .design-panel .mobile-story-cta { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 58px; padding: 17px 21px; border: 1px solid #d8b579; background: #102d41; color: #fff5df; font-size: 16px; line-height: 1.5; font-weight: 600; border-radius: 3px; }
 .design-panel .mobile-story-cta:focus-visible { outline: 3px solid #e4bf7b; outline-offset: 4px; }
 .design-panel .mobile-story-body > .mobile-story-cta { margin-top: 32px; }
 main > .hero > .mobile-hero { background: #0a334b; }
 .design-panel .mobile-hero .mobile-story-copy { padding: 36px 24px 28px; background: linear-gradient(135deg,#073852,#102c40); }
 .design-panel .mobile-hero .mobile-story-label { margin-bottom: 14px; color: #e6d3ab; font-size: 13px; letter-spacing: .06em; }
 .design-panel .mobile-hero-lead { font-size: 16px; line-height: 1.7; color: #f3ecdb; margin: 18px 0 0; }
 .mobile-hero-action { padding: 24px; }
 .design-panel .mobile-story-read { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 44px; margin-top: 14px; color: #d2dee3; font-size: 14px; }
 .design-panel + .design-panel .mobile-story { border-top: 1px solid #c8a46640; }
 .product .product-lead { white-space: normal; font-size: 16px; }
 .returns-section .return-visual-card p { font-size: 16px; }
 .returns-section .return-visual-card .return-card-note { font-size: 12px; line-height: 1.7; }
}

/* A finished product anchors the story instead of enlarged preview fragments. */
.product.product-editorial { display: block; padding: 80px clamp(24px,5vw,80px); background: #f6f0e5; color: #173044; }
.product-editorial .product-content { max-width: 1100px; margin: 0 auto; }
.product-editorial .product-heading { margin: 0 0 34px; }
.product-editorial .section-number { margin: 0 0 16px; padding: 0; color: #8b6939; font-size: 12px; }
.product-editorial .overline { margin: 0 0 20px; font-size: 14px; color: #796344; }
.product-editorial h2 { max-width: none; font: 500 clamp(34px,4vw,52px)/1.45 'Noto Serif JP','Yu Mincho',serif; letter-spacing: -.03em; white-space: normal; margin: 0; text-align: left; }
.product-editorial .overline { text-align: left; }
.product-finished { margin: 0; }
.product-finished img { display: block; width: 100%; height: auto; object-fit: contain; transform: none; }
.product-finished figcaption { font-size: 12px; line-height: 1.6; text-align: right; color: #7f705b; margin-top: 10px; }
.product-introduction { padding: 30px 0 34px; }
.product-introduction p { font-size: 18px; line-height: 1.9; color: #354654; margin: 0 0 10px; }
.product-introduction p:last-child { margin-bottom: 0; }
.product-detail-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #cdbb9f; border-bottom: 1px solid #cdbb9f; }
.product-detail { padding: 30px 24px; }
.product-detail:first-child { padding-left: 0; }
.product-detail + .product-detail { border-left: 1px solid #cdbb9f; }
.product-detail .product-detail-label { margin: 0 0 16px; font: 600 12px/1.6 system-ui,sans-serif; letter-spacing: .07em; color: #8b6939; }
.product-detail h3 { margin: 0 0 16px; color: #173044; font-size: 22px; font-weight: 500; line-height: 1.65; letter-spacing: -.035em; }
.product-detail > p:not(.product-detail-label) { color: #53606a; font-size: 16px; line-height: 1.9; margin: 0; }
.product-flavors { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.product-flavors > span { padding: 9px 12px; border: 1px solid #c9b38f; color: #6d4f2c; font-size: 14px; line-height: 1.5; background: #fffcf5; }
.product-return-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; min-height: 44px; border-bottom: 1px solid #9b7e51; font-size: 15px; color: #173044; }
.product-editorial .product-note { font-size: 13px; line-height: 1.8; color: #7f705b; margin-top: 22px; }
@media(max-width:760px) {
 .product.product-editorial { padding: 52px 24px 56px; }
 .product-editorial h2 { font-size: clamp(29px,8vw,35px); line-height: 1.5; }
 .product-editorial .product-heading { margin-bottom: 26px; }
 .product-editorial .overline { margin-bottom: 16px; }
 .product-finished { margin-inline: -24px; }
 .product-finished figcaption { padding-inline: 24px; }
 .product-introduction { padding-top: 25px; padding-bottom: 28px; }
 .product-introduction p { font-size: 16px; line-height: 1.9; }
 .product-detail-list { grid-template-columns: 1fr; }
 .product-detail,.product-detail:first-child { padding: 28px 0; }
 .product-detail + .product-detail { border-left: 0; border-top: 1px solid #cdbb9f; }
 .product-detail h3 { font-size: 22px; }
 .product-detail-gift { padding-bottom: 26px; }
}

/* Loading recovery controls must respect the hidden attribute. */
.form-actions [hidden] { display: none !important; }
#retry-load { background: transparent; color: #19334b; border: 1px solid #19334b; margin-top: 12px; }

#form-status[data-state="ok"] { color: #235b46; }
#form-status[data-state="error"] { color: #a83b2d; }
