/* Responsive approved journey and invitation: native text, controls and separate art. */
.journey-section{position:relative;background:#fffdf4;isolation:isolate;overflow:hidden;padding-block:clamp(32px,4vw,58px) 20px}
.journey-heading{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:28px}
.journey-heading h2{font-size:clamp(34px,5.1vw,74px);line-height:1.08;letter-spacing:-.025em}
.journey-heading>p{font-size:clamp(15px,1.5vw,20px);line-height:1.5;max-width:240px}
.journey-track{position:relative;isolation:isolate}
.journey-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,22px);margin:0;padding:0}
.journey-step{position:relative;min-width:0;border-radius:22px;padding:clamp(48px,5vw,68px) clamp(18px,2.1vw,30px) 40px;text-align:center;background:#fff6d9}
.journey-step:nth-child(2){background:#edf7e6}.journey-step:nth-child(3){background:#eaf7fc}
.journey-number{position:absolute;top:18px;left:18px;display:grid;place-items:center;width:clamp(34px,4.1vw,60px);aspect-ratio:1;border-radius:50%;background:#ffe489;font-size:clamp(18px,1.9vw,28px);font-weight:800}
.journey-step:nth-child(2) .journey-number{background:#c5e9ba}.journey-step:nth-child(3) .journey-number{background:#bfe8fa}
.journey-step svg{display:block;width:clamp(48px,5.2vw,78px);height:auto;margin:0 auto 18px;color:#164537;stroke-width:3}
.journey-step:nth-child(2) svg{color:#3c9b48}.journey-step:nth-child(3) svg{color:#36a8d5}
.journey-step h3{font-size:clamp(24px,2.3vw,32px);line-height:1.2;letter-spacing:-.02em;margin:0 0 12px}
.journey-step p{font-size:clamp(14px,1.25vw,18px);line-height:1.6;max-width:290px;margin:auto}
.journey-landscape{position:relative;height:clamp(180px,21vw,290px);margin:16px -4% 0;overflow:hidden;isolation:isolate;pointer-events:none}
/* Fade the cropped illustration itself; keep the mascot crisp and unclipped. */
.journey-garden{position:absolute;width:100%;height:auto;max-width:none;bottom:-7%;left:0}
.journey-landscape::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,#fffdf4 0%,#fffdf4cc 12%,#fffdf400 44%,#fffdf400 76%,#fffdf4 100%),linear-gradient(to right,#fffdf4 0%,#fffdf400 9%,#fffdf400 91%,#fffdf4 100%)}
.journey-route,.journey-goma{z-index:2}
.journey-route{position:absolute;left:6%;bottom:20%;width:88%;height:85px}
.journey-goma{position:absolute;width:clamp(100px,11vw,160px);height:auto;right:7%;bottom:8%}
.closing-world.invite-world{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:0 22px;padding:35px max(4%,calc((100% - 1320px)/2)) 0;background:#fffdf4}
.invite-eyebrow{grid-column:1/-1;font-size:12px;line-height:1.6;letter-spacing:.12em;margin:0 0 18px}
.invite-world .invitation-card{display:flex;flex-direction:column;align-items:stretch!important;align-self:stretch;min-width:0;gap:0;background:#edf6e4;border-radius:24px;padding:clamp(20px,2.1vw,30px)!important;text-align:left;overflow:hidden}
.invitation-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:16px;align-items:start;width:100%;flex:1}
.invitation-copy{min-width:0;text-align:left}
.invite-world .invitation-copy h2{font-size:clamp(30px,3vw,44px);line-height:1.12;letter-spacing:-.025em;max-width:none;margin:0}
.invitation-copy>p{font-size:clamp(15px,1.2vw,17px);line-height:1.6;margin:18px 0;max-width:350px}
.invite-store{display:inline-block;margin-bottom:15px}.invite-store img{width:clamp(145px,13vw,180px);max-width:100%;height:auto}
.android-invite-link{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.6;color:#27603d;max-width:100%}
.invitation-art{position:relative;isolation:isolate;min-width:0;padding:10px 0 12px}
.invitation-art::before{content:"";position:absolute;inset:0 -25% -10px -35%;background:var(--phone-garden,none) center bottom/100% auto no-repeat;z-index:-1;mask-image:linear-gradient(to right,transparent,#000 18%,#000 85%,transparent)}
.invite-phone{width:100%;max-width:190px;margin:0 auto;padding:4px;border-radius:25px;transform:rotate(5deg);box-shadow:0 9px 20px #27483a22}
.invite-phone .device-screen{border-radius:19px}.invite-phone img{display:block;width:100%;height:auto}
.invitation-widget{display:grid;grid-template-columns:clamp(70px,7vw,100px) minmax(0,1fr) 150px;gap:16px;align-items:center;background:#fffdf5;border:1px solid #efe9cf;border-radius:20px;padding:20px 16px;margin-top:25px}
.widget-goma{width:100%;height:auto}.widget-description{min-width:0}.widget-description h3{font-size:clamp(20px,1.6vw,23px);line-height:1.2;letter-spacing:-.02em;margin:0}
.widget-description p{font-size:12px;line-height:1.6;margin:9px 0}.widget-description a{font-size:12px;font-weight:650;color:#27603d;text-underline-offset:4px}
.word-widget{position:relative;display:flex;align-items:center;gap:14px;min-width:0;min-height:100px;padding:20px 15px;background:#fff;border-radius:20px;box-shadow:0 5px 20px #26422612}
.word-widget>span:first-child{font-size:43px;line-height:1}.word-widget div{font-size:16px}.word-widget small{display:block;font-size:14px;margin-top:3px}.widget-bookmark{position:absolute;right:10px;top:8px;font-size:20px;color:#40ae41}
.invite-world .android-beta-section{display:block!important;align-self:stretch;min-width:0;max-width:none;background:#fffef8!important;border:1px solid #e9dec3;border-radius:24px;margin:0;padding:clamp(22px,2.1vw,30px)!important}
.invite-world .android-beta-copy h2{font-size:clamp(24px,1.9vw,28px)!important;line-height:1.2!important;margin-bottom:16px;letter-spacing:-.02em}
.invite-world .android-beta-copy .eyebrow{font-size:10px}.invite-world .android-beta-copy p{font-size:13px;line-height:1.65}
.invite-world .android-beta-note{font-size:11px!important;margin:14px 0 18px}
.invite-world .beta-form{gap:12px}.invite-world .beta-form>label{font-size:12px}
.invite-world .beta-fields{flex-direction:column;gap:12px}.invite-world .beta-fields input{width:100%;min-width:0;flex:auto;padding:14px}.invite-world .beta-fields button{width:100%;padding:14px;font-size:12px;white-space:normal}
.invite-world .beta-consent{font-size:11px!important;line-height:1.6}
.invite-world .closing-river{position:relative;left:50%;transform:translateX(-50%);width:100vw;max-width:none;grid-column:1/-1;height:clamp(130px,12vw,175px);margin-inline:0;background-size:100% auto;background-position:left bottom;mask-image:none;opacity:1}
.invite-world .closing-river::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#fffdf4 0%,#fffdf4b3 15%,#fffdf400 45%,#fffdf400 68%,#fffdf4 100%)}
.invite-world footer{grid-column:1/-1;padding-block:24px;width:100%;max-width:none}
@media(max-width:1100px){
 .closing-world.invite-world{grid-template-columns:minmax(0,1fr);gap:20px;max-width:900px;margin:auto;padding-inline:5%}
 .invite-eyebrow{margin-bottom:0}.invite-world .invitation-card{padding:28px!important}
 .invitation-main{grid-template-columns:minmax(0,1.6fr) minmax(160px,1fr);align-items:center}
 .invite-world .invitation-copy h2{font-size:clamp(32px,4.5vw,44px)}
 .invite-world .android-beta-section{padding:28px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px!important;align-items:start}
 .invite-world .android-beta-note{margin-bottom:0}.invite-world .closing-river{margin-top:-10px}
}
@media(max-width:700px){
 .journey-heading{display:block;margin-bottom:22px}.journey-heading h2{font-size:clamp(31px,7.5vw,49px)}.journey-heading>p{font-size:15px;max-width:none;margin-top:16px}.journey-heading>p br{display:none}
 .journey-steps{grid-template-columns:1fr;gap:14px}
 .journey-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:5px 16px;text-align:left;padding:24px 20px 24px 62px;border-radius:18px}
 .journey-number{width:27px;height:27px;top:16px;left:14px;font-size:13px}.journey-step svg{width:48px;grid-row:1/3;margin:auto}.journey-step h3{font-size:24px;margin:0}.journey-step p{font-size:14px;max-width:none;margin:0}
 .journey-landscape{height:180px;margin-top:14px}.journey-route{height:40px;bottom:3%}.journey-goma{width:105px}
 .closing-world.invite-world{display:block;padding:25px 5% 0}.invite-eyebrow{font-size:10px;margin-bottom:16px}
 .invite-world .invitation-card{padding:22px 18px!important}.invitation-main{grid-template-columns:1fr;gap:12px}
 .invite-world .invitation-copy h2{font-size:clamp(30px,7vw,40px)}.invitation-copy>p{max-width:none;font-size:15px;margin-block:16px}.android-invite-link{font-size:12px}
 .invitation-art{padding:10px 0 0;width:100%;max-width:360px;margin:auto}.invite-phone{width:145px;border-radius:20px}.invite-phone .device-screen{border-radius:14px}
 .invitation-art::before{inset:0 -15px -8px;background-size:100% auto}
 .invitation-widget{grid-template-columns:70px minmax(0,1fr);gap:12px;padding:18px 12px;margin-top:20px}.word-widget{grid-column:2;min-height:85px;max-width:175px;padding:16px}.word-widget>span:first-child{font-size:36px}
 .invite-world .android-beta-section{display:block!important;padding:24px 20px!important;margin-top:18px}.invite-world .android-beta-copy h2{font-size:26px!important}.invite-world .android-beta-note{margin-bottom:18px}
 .invite-world .closing-river{height:130px;margin-top:0;background-size:auto 420px}.invite-world footer{padding-block:20px}
}
@media(max-width:360px){.journey-step{grid-template-columns:36px minmax(0,1fr);padding:22px 14px 22px 48px;gap:5px 10px}.journey-step svg{width:36px}.journey-step h3{font-size:22px}.journey-number{left:10px;width:24px;height:24px}.invitation-widget{grid-template-columns:55px minmax(0,1fr)}.widget-description h3{font-size:20px}}
/* Decorative full-bleed washes must not create horizontal page scrolling. */
main{overflow-x:clip}
@media(max-width:360px){.journey-heading h2{font-size:28px}}

/* Store choices stay together; widget details live in the native FAQ. */
.invite-badges{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:12px}
.invite-badges .invite-store{margin:0;display:flex;align-items:center;min-height:60px}
.invite-badges .invite-store img{height:48px;width:auto;max-width:100%}
.invite-badges .invite-google-play img{height:62px}
