:root{--green:#087344;--forest:#064b36;--lime:#d2f39e;--ink:#16372e;--muted:#60736b;--paper:#f6f8f2;--phase:0;--travel:0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:Inter,Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #e6a646;outline-offset:5px}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.site-header{height:88px;padding:10px 5%;display:flex;align-items:center;gap:24px;background:var(--forest);color:white;border-bottom:1px solid #ffffff21}.brand{display:flex;width:140px;height:66px;align-items:center}.brand img{width:130px;height:66px;object-fit:contain;filter:brightness(0) invert(1)}.demo-badge{font-size:10px;letter-spacing:.12em;border:1px solid #ffffff45;border-radius:30px;padding:8px 12px}.header-link{margin-left:auto;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding:14px 0}.header-link span{margin-left:14px}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding:65px 7% 70px;background:radial-gradient(ellipse at 37% 100%,#28884c 0,transparent 55%),linear-gradient(120deg,#064b36,#08603d);color:white;overflow:hidden;min-height:760px}.hero:before{content:"";position:absolute;width:800px;height:800px;border:1px solid #ffffff12;border-radius:50%;left:-330px;top:100px;pointer-events:none}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.18em;line-height:1.7}.hero h1{font-size:clamp(48px,4.8vw,76px);font-weight:650;line-height:1.04;letter-spacing:-.055em;margin:25px 0}.hero h1 span{color:var(--lime)}.hero-description{color:#daeadf;font-size:17px;line-height:1.65}.button{display:inline-flex;gap:36px;align-items:center;justify-content:center;text-decoration:none;padding:19px 24px;border-radius:9px;font-size:11px;letter-spacing:.075em;font-weight:800;min-height:52px}.button-light{background:var(--lime);color:var(--forest);margin-top:18px}.button span{font-size:20px}.quiet{font-size:11px;color:#bdd3c5;margin-top:20px}.hero-copy{position:relative;z-index:1}.hero-orbit{display:flex;align-items:center;gap:12px;margin:22px 0 -45px}.hero-orbit svg{width:160px;height:110px;transform:rotate(-7deg)}.hero-orbit span{font-size:15px;font-style:italic;color:#c7e7be;transform:rotate(-5deg)}.activity{background:#f8fbf5;color:var(--ink);border-radius:22px;padding:25px;box-shadow:0 30px 70px #002c264d;align-self:center;min-width:0}.activity-heading{display:flex;justify-content:space-between;align-items:center}.activity-heading .eyebrow{font-size:8px;color:var(--green)}.activity h2{font-size:25px;line-height:1.2;letter-spacing:-.035em;margin:7px 0 13px}.activity-mark{font-size:36px;color:var(--green);background:#e9f2dc;border-radius:50%;width:54px;height:54px;display:grid;place-items:center}.simulation-label{font-size:10px;color:#55715f;margin:0 0 18px;border-bottom:1px solid #dfe7d9;padding-bottom:15px}.activity-list{display:grid;gap:8px;min-height:426px;overflow:hidden}.activity-card{display:flex;align-items:center;gap:12px;border:1px solid #e2e9dc;border-radius:12px;background:white;padding:12px;min-width:0;animation:card-in .45s ease both}.activity-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:var(--tile,#e9efde);font-size:20px;flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#60736b}.activity-content h3{font-size:12px;line-height:1.35;margin:4px 0;font-weight:700}.activity-detail{display:flex;justify-content:space-between;font-size:10px;color:#61726a;gap:8px}.activity-detail b{color:#254c39;white-space:nowrap}.activity-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;font-size:8px;color:#657669}.activity-footer button{background:none;border:1px solid #b7c9b9;border-radius:6px;min-height:36px;padding:7px 10px;font-size:9px;color:var(--forest);cursor:pointer}.journey{padding:95px 7% 20px;background:var(--paper)}.journey-heading .eyebrow{color:var(--green)}.journey-heading h2{font-size:clamp(32px,4vw,53px);line-height:1.1;letter-spacing:-.045em;margin:15px 0}.journey-heading>p:last-child{color:var(--muted);font-size:14px}.journey-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:8%;align-items:start;margin-top:55px}.stage-wrap{position:sticky;top:40px}.stage{--phase:0;--travel:0;border:1px solid #dbe5d7;border-radius:25px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#edf6dd,#e1edda);box-shadow:0 20px 50px #233f2710;aspect-ratio:1.05}.stage-top{position:absolute;z-index:3;top:25px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;letter-spacing:.08em;font-weight:800}.stage-top small{display:block;font-size:7px;color:#6c7d6b;margin-top:4px;letter-spacing:.08em}.order-pill{padding:8px 10px;background:#ffffffb5;border-radius:30px;font-size:9px;letter-spacing:0;white-space:nowrap}.scene-label{position:absolute;left:25px;bottom:60px;display:flex;flex-direction:column;gap:6px;z-index:4}.scene-label>span{font-size:9px;letter-spacing:.15em;color:#5a725e}.scene-label strong{font-size:19px;letter-spacing:-.03em}.scene-art{position:absolute;inset:60px 15px 100px}.scene-art>div{transition:opacity .25s;position:absolute;opacity:0;pointer-events:none}.phone{width:190px;height:295px;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-6deg);background:#fff;border:7px solid #17432e;border-radius:28px;box-shadow:18px 25px 30px #1b53372b;padding:20px 10px 10px;display:flex;flex-direction:column;text-align:center}.phone-notch{position:absolute;width:65px;height:10px;background:#17432e;border-radius:0 0 9px 9px;top:0;left:55px}.phone-brand{font-size:9px;color:var(--green);font-weight:800}.phone>small{font-size:8px;margin-top:5px}.phone .food{width:100%;height:111px;flex-shrink:0}.phone b{font-size:15px}.phone-price{font-size:17px;font-weight:800;margin-top:5px}.phone-cart{padding:9px;font-size:9px}.phone-confirm{padding:10px 4px;border-radius:7px;background:var(--green);color:white;font-size:10px;font-weight:750}.transfer{top:15%;left:15%;right:15%;display:flex;justify-content:center;align-items:center;gap:20px;font-size:9px;color:var(--green)}.transfer b{font-size:30px;transform:translateX(calc(var(--phase) * 14px))}.pos{width:290px;left:50%;top:45%;transform:translate(-50%,-50%);background:#173d33;border:8px solid #204f41;border-radius:18px;padding:18px;color:white;box-shadow:15px 18px 30px #204a3230}.device-kicker{font-size:8px;color:#c0df9c}.pos h3{margin:10px 0 17px;font-size:23px}.pos-row{display:flex;justify-content:space-between;font-size:11px;padding-bottom:15px;border-bottom:1px solid #ffffff33}.pos-paid{font-size:9px;color:var(--lime);padding-top:12px}.printer{position:absolute;width:170px;top:155px;left:50%;transform:translateX(-50%);height:40px;background:#244c3e;border-radius:9px}.printer-slot{height:6px;background:#061e19;margin:9px}.ticket{background:#fffdf3;color:#214235;padding:14px 8px;display:flex;flex-direction:column;gap:8px;text-align:center;font-size:10px;transform:translateY(calc(-30px + var(--phase) * 45px));clip-path:polygon(0 0,100% 0,100% 96%,95% 100%,90% 96%,85% 100%,80% 96%,75% 100%,70% 96%,65% 100%,60% 96%,55% 100%,50% 96%,45% 100%,40% 96%,35% 100%,30% 96%,25% 100%,20% 96%,15% 100%,10% 96%,5% 100%,0 96%)}.ticket small{font-size:6px}.ticket strong{font-size:18px}.main-bag{width:155px;height:190px;left:50%;top:45%;transform:translate(-50%,-35%);z-index:3}.main-bag svg{width:100%;height:100%;filter:drop-shadow(6px 14px 7px #32553424)}.bag-seal{display:block;background:white;border-radius:20px;font-size:9px;padding:7px;text-align:center;transform:translateY(-8px);color:var(--green);font-weight:750}.packing-food{width:160px;height:120px;left:50%;top:5%;transform:translate(-50%,calc(var(--phase) * 90px)) scale(calc(1 - var(--phase) * .3));z-index:4}.packing-food svg{width:100%;height:100%}.route-map{inset:40px 20px 10px;background:repeating-linear-gradient(0deg,transparent 0 36px,#d4e2c7 37px 39px),repeating-linear-gradient(90deg,transparent 0 50px,#d4e2c7 51px 53px);border-radius:18px;transform:perspective(700px) rotateX(25deg)}.map-shop,.map-home{position:absolute;top:45%;font-size:48px;color:#195839;text-align:center}.map-shop{left:4%}.map-home{right:4%}.route-map small{display:block;font-size:10px}.route-line{position:absolute;left:20%;right:20%;top:65%;border-top:4px dashed #659c57}.driver{left:12%;top:37%;width:85px;height:105px;z-index:4;transform:translate(calc(var(--travel) * var(--route-distance,200px)),calc(var(--phase) * -6px))}.driver-head{position:absolute;left:32px;top:0;width:24px;height:24px;background:#dbad79;border-radius:50%;border-top:9px solid var(--green)}.driver-body{position:absolute;left:23px;top:24px;width:33px;height:36px;background:var(--green);border-radius:15px 15px 6px 6px;transform:rotate(-15deg)}.bike{position:absolute;left:0;top:37px;font-size:37px;color:#163e2e;white-space:nowrap}.driver small{position:absolute;top:91px;left:24px;font-size:9px}.recipient{right:15%;top:25%;display:flex;flex-direction:column;text-align:center}.recipient>span{font-size:60px;color:var(--green)}.recipient b{font-size:20px}.delivery-code{left:50%;top:70%;transform:translateX(-50%);background:white;border:1px solid #cadcba;padding:12px 28px;border-radius:13px;display:flex;flex-direction:column;text-align:center;gap:3px;z-index:5}.delivery-code small{font-size:7px;letter-spacing:.12em}.delivery-code b{font-size:24px;letter-spacing:.15em}.delivery-code span{font-size:8px;color:var(--green)}.delivered-check{width:70px;height:70px;border-radius:50%;background:var(--green);color:var(--lime);font-size:42px;display:grid;place-items:center;left:50%;top:8%;transform:translateX(-50%) scale(calc(.8 + var(--phase) * .2));z-index:5}.stage-bottom{position:absolute;bottom:24px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:8px;color:#607963;gap:10px}.progress-track{height:4px;background:#ccdcbc;position:absolute;bottom:0;left:0;right:0}.progress-track span{display:block;height:100%;background:var(--green);transform-origin:left;transform:scaleX(var(--progress,0))}.stage[data-scene="0"] .phone,.stage[data-scene="1"] .pos,.stage[data-scene="1"] .transfer,.stage[data-scene="2"] .main-bag,.stage[data-scene="3"] .main-bag,.stage[data-scene="3"] .route-map,.stage[data-scene="3"] .driver,.stage[data-scene="4"] .main-bag,.stage[data-scene="4"] .recipient,.stage[data-scene="4"] .delivery-code,.stage[data-scene="4"] .delivered-check{opacity:1}.stage[data-scene="2"] .packing-food{opacity:calc(1 - var(--phase))}.stage[data-scene="3"] .main-bag{width:70px;height:95px;left:12%;top:36%;transform:translate(calc(var(--travel) * var(--route-distance,200px) - 20%),-5%)}.stage[data-scene="3"] .bag-seal{display:none}.stage[data-scene="4"] .main-bag{left:35%;top:40%;width:115px;height:150px;transform:translate(-50%,-30%)}.scene-nav{display:flex;justify-content:center;gap:12px;padding:18px}.scene-nav a{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d3deca;border-radius:50%;font-size:11px;text-decoration:none;color:#486349}.scene-nav a[aria-current="step"]{background:var(--green);border-color:var(--green);color:white}.story-step{min-height:85vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:40px 0;scroll-margin-top:150px}.step-number{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.14em}.story-step h3{font-size:clamp(27px,3vw,44px);letter-spacing:-.05em;line-height:1.1;margin:20px 0}.story-step p{font-size:15px;line-height:1.8;color:var(--muted);max-width:360px}.detail-chip{display:flex;gap:35px;padding:14px 0;font-size:13px}.state-tag{display:inline-flex;background:#e1ecd7;color:#32693c;border-radius:30px;padding:10px 14px;margin-top:15px;font-size:11px;font-weight:700}.finale{text-align:center;background:#e7efdd;padding:90px 24px;scroll-margin-top:0}.final-check{width:67px;height:67px;border-radius:50%;background:var(--green);color:var(--lime);font-size:38px;display:grid;place-items:center;margin:0 auto 26px}.finale .eyebrow{color:var(--green)}.finale h2{font-size:clamp(30px,4vw,54px);letter-spacing:-.05em;line-height:1.12}.finale h2 span{color:var(--green)}.finale>p{color:#58705b;font-size:15px;line-height:1.8}.summary-flow{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;font-size:11px;margin:30px 0}.summary-flow b{color:#82a771}.button-green{background:var(--green);color:white;margin:15px 0}.finale .final-notice{font-size:10px;margin-top:28px}.site-footer{display:flex;justify-content:space-between;padding:35px 7%;background:var(--forest);color:white;font-size:11px;gap:20px}.site-footer span{font-style:italic;color:#b7d2ae}.site-footer a{text-decoration:none}.noscript{text-align:center;padding:20px}@keyframes card-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero,.journey{padding-left:max(7%,calc((100vw - 1280px)/2));padding-right:max(7%,calc((100vw - 1280px)/2))}}
@media(max-width:900px){.hero{gap:5%;padding:40px 5%}.hero h1{font-size:49px}.activity{padding:18px}.activity h2{font-size:21px}.activity-mark{display:none}.journey{padding-left:5%;padding-right:5%}.journey-grid{gap:5%}.stage{aspect-ratio:.85}.stage-top{left:15px;right:15px;flex-wrap:wrap;gap:8px}.scene-art{inset:90px 0 95px}.phone{transform:translate(-50%,-50%) scale(.9)}.scene-label{left:15px}.pos{width:250px}.stage-bottom{left:15px;right:15px}}
@media(max-width:650px){html{scroll-padding-top:20px}.site-header{height:72px;padding:8px 20px;gap:10px}.brand{width:100px;height:55px}.brand img{width:95px;height:55px}.demo-badge{font-size:7px;padding:6px 8px}.header-link{font-size:8px;letter-spacing:0}.header-link span{display:none}.hero{display:block;padding:35px 24px 35px;min-height:0}.hero .eyebrow{font-size:8px}.hero h1{font-size:clamp(40px,10.5vw,60px);margin:18px 0}.hero-description{font-size:14px}.button{padding:16px 19px;font-size:10px;gap:25px}.quiet{font-size:9px}.hero-orbit{display:none}.activity{margin-top:35px;padding:18px;border-radius:18px}.activity h2{font-size:20px}.activity-heading .eyebrow{font-size:7px}.simulation-label{font-size:9px;line-height:1.5;margin-bottom:12px;padding-bottom:12px}.activity-list{min-height:219px;gap:7px}.activity-card{padding:10px;min-height:68px}.activity-content h3{font-size:11px}.activity-meta{font-size:7px}.activity-detail{font-size:9px}.activity-footer{font-size:8px}.activity-footer button{font-size:8px;min-height:40px}.journey{padding:50px 18px 0}.journey-heading h2{font-size:35px}.journey-heading>p:last-child{font-size:12px}.journey-grid{display:block;margin-top:30px}.stage-wrap{top:8px;z-index:10;background:var(--paper);border-radius:20px}.stage{height:330px;aspect-ratio:auto;border-radius:20px}.stage-top{top:14px;font-size:9px;flex-wrap:nowrap}.stage-top small{font-size:6px}.order-pill{font-size:8px;padding:6px}.scene-art{inset:45px 10px 67px}.phone{transform:translate(-50%,-50%) scale(.62)}.scene-label{bottom:35px;gap:3px}.scene-label>span{font-size:7px}.scene-label strong{font-size:13px}.stage-bottom{bottom:13px;font-size:6px}.scene-nav{padding:8px;gap:12px}.scene-nav a{width:36px;height:36px;min-height:36px;font-size:9px}.story-step{min-height:75vh;justify-content:flex-start;padding:38px 12px 100px;scroll-margin-top:395px}.story-step h3{font-size:29px;margin:12px 0}.story-step p{font-size:13px;line-height:1.7;margin:8px 0}.step-number{font-size:8px}.state-tag{font-size:9px;margin-top:10px}.detail-chip{font-size:11px;padding:8px 0}.pos{transform:translate(-50%,-50%) scale(.72);top:40%}.transfer{top:0%;font-size:7px;gap:12px}.transfer b{font-size:20px}.main-bag{width:110px;height:135px;top:36%}.packing-food{width:110px;height:83px;top:-4%;transform:translate(-50%,calc(var(--phase) * 45px)) scale(calc(1 - var(--phase) * .3))}.bag-seal{font-size:7px;padding:5px}.route-map{inset:10px 0}.map-shop,.map-home{font-size:35px}.driver{top:20%;transform:translateX(calc(var(--travel) * var(--route-distance,200px))) scale(.75);transform-origin:center bottom}.stage[data-scene="3"] .main-bag{width:55px;height:75px;top:27%}.stage[data-scene="4"] .main-bag{width:80px;height:100px;top:28%;left:33%}.recipient{right:14%;top:12%}.recipient>span{font-size:42px}.recipient b{font-size:14px}.delivery-code{padding:7px 18px;top:65%}.delivery-code b{font-size:17px}.delivery-code small{font-size:6px}.delivery-code span{font-size:7px}.delivered-check{width:38px;height:38px;font-size:23px;top:0;left:51%}.finale{padding:55px 22px}.summary-flow{gap:8px;font-size:9px}.site-footer{padding:25px 20px;font-size:9px;flex-wrap:wrap}.site-footer span{display:none}}
@media(max-height:650px) and (max-width:650px){.stage{height:265px}.story-step{scroll-margin-top:325px}.phone{transform:translate(-50%,-50%) scale(.48)}.main-bag{height:105px}.scene-nav{padding:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.packing-food{display:none}.driver,.ticket,.delivered-check{transform:none!important}.driver{left:50%!important}.ticket{margin-top:0}.delivered-check{margin-left:-25px}.stage[data-scene="3"] .main-bag{left:45%;transform:translate(-20%,-5%)}.stage .transfer b{transform:none}}

/* Official homepage: retain the approved experience, brighten within the login palette. */
:root{--forest:#185f39;--green:#258347}.site-header{background:#185f39}.hero{background:linear-gradient(135deg,#185f39 0%,#328c49 58%,#48a454 100%)}.auth-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.auth-actions a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;border:1px solid #d2f39e70;border-radius:12px;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.04em}.auth-register{background:#e5f7ce;color:#154f30}.auth-login{color:white;gap:9px}.activity{box-shadow:0 20px 65px #123e2920}.activity-icon{position:relative;overflow:hidden;flex-shrink:0}.activity-icon img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.terminal-base{height:20px;transform:perspective(80px) rotateX(20deg);margin:12px -12px -7px;background:#263c34;border-radius:0 0 12px 12px}.terminal-base span{font-size:6px;letter-spacing:.1em;color:#d9eade}.pos{border:9px solid #243a31;border-bottom-width:18px;border-radius:17px;background:#f6fbf5;box-shadow:0 16px 24px #183c3020}.printer{transform:scale(.8);transform-origin:top center}.auth-actions a:hover{filter:brightness(1.08)}
@media(max-width:650px){.site-header{padding:8px 16px}.auth-actions{gap:7px}.auth-actions a{padding:10px 11px;font-size:10px;letter-spacing:0}.auth-login span{display:none}.hero{padding-top:28px}.hero h1{font-size:clamp(37px,10vw,60px)}.activity-detail{flex-wrap:wrap;gap:3px}.activity-content{min-width:0}.activity-content h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-detail>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}}
.pos{color:#16372e}.pos .device-kicker{color:#326b45}.pos .pos-paid{color:#226b3c;background:#e3f0d8}.pos .pos-row{border-color:#c9ddce}

/* HOME-003: compact first viewport; preserve desktop composition and motion control. */
.activity-heading{gap:12px;align-items:flex-start}
.activity-toggle{flex-shrink:0;background:transparent;color:var(--forest);border:1px solid #b7c9b9;border-radius:8px;min-height:44px;padding:7px 9px;font-size:9px;cursor:pointer}
@media(max-width:650px){
 .site-header{height:64px;padding:5px 16px}
 .brand,.brand img{height:50px}
 .hero{padding:18px 18px 24px}
 .hero-copy>.eyebrow{margin:0;line-height:1.5}
 .hero h1{margin:12px 0;line-height:1.04}
 .hero-description{font-size:13px;line-height:1.5;margin:10px 0}
 .hero .button-light{margin-top:4px;min-height:44px;padding:12px 18px}
 .hero-copy>.quiet{display:none}
 .activity{margin-top:18px;padding:13px;border-radius:18px}
 .activity-heading{gap:8px;align-items:center}
 .activity-heading .eyebrow{font-size:8px;letter-spacing:.12em}
 .activity h2{font-size:20px;line-height:1.15;margin:5px 0 11px}
 .activity-toggle{font-size:9px;max-width:70px;line-height:1.3;padding:6px}
 .activity-list{min-height:0;gap:6px}
 .activity-card{min-height:66px;padding:8px;gap:9px}
 .activity-icon{width:36px;height:36px;border-radius:9px}
 .activity-meta{font-size:8px;letter-spacing:.02em;gap:5px}
 .activity-content h3{font-size:12px;line-height:1.35;margin:3px 0}
 .activity-detail{font-size:10px;flex-wrap:nowrap;gap:5px}
 .activity-detail>span{min-width:0}
 .activity-detail>b{flex-shrink:0}
}

/* HOME-DESKTOP-002: desktop composition; mobile/tablet retain their existing layout. */
@media (min-width: 1100px) {
    .site-header,
    .hero {
        background: linear-gradient(90deg, #185f39 0%, #328c49 58%, #48a454 100%);
    }
    .site-header {
        height: 76px;
        padding-block: 5px;
        border-bottom-color: transparent;
    }
    .hero {
        min-height: calc(100svh - 76px);
        padding-block: clamp(24px, 4vh, 44px);
        align-items: start;
    }
    .hero-copy > .eyebrow { margin: 0; }
    .hero h1 { margin: 18px 0; }
    .hero-description { margin: 12px 0; }
    .hero .button-light { margin-top: 10px; padding-block: 14px; }
    .hero-copy > .quiet { margin: 14px 0 0; }
    .hero-orbit { margin: 12px 0 0; }
    .hero-orbit svg { width: 144px; height: 100px; }
    .activity { align-self: start; padding: 20px; }
    .activity h2 { margin-bottom: 12px; }
    .activity-list { min-height: 0; gap: 7px; }
    .activity-card { padding-block: 9px; }
}

/* HEADER-POLISH-003: header only; hero and activity retain HOME-DESKTOP-002. */
.site-header {
    height: 68px;
    padding-block: 6px;
    background: #328c49;
    border-bottom-color: transparent;
}
.site-header .brand { width: 190px; height: 54px; flex-shrink: 0; }
.site-header .brand img { width: 100%; height: auto; max-height: 54px; object-fit: contain; filter: none; }
.site-header .auth-actions a {
    position: relative;
    isolation: isolate;
    min-height: 44px;
    padding-block: 9px;
    background: transparent;
    border-color: transparent;
}
.site-header .auth-actions a::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 1px -1px;
    border: 1px solid #d2f39e70;
    border-radius: inherit;
}
.site-header .auth-register::before { background: #e5f7ce; }
@media (max-width: 650px) {
    .site-header { height: 58px; padding: 6px 16px; gap: 8px; }
    .site-header .brand { width: clamp(140px, 36vw, 154px); height: 44px; }
    .site-header .brand img { max-height: 44px; }
    .site-header .auth-actions a { padding-block: 8px; }
}

/* LOYPOS-PRINT-006: only the business scene; fixed device and clipped paper feed. */
.scene-art > .loypos {
    inset: 26px 0 0;
    width: 100%; height: calc(100% - 26px);
    padding: 0; border: 0; border-radius: 0;
    background: none; box-shadow: none; transform: none;
    display: flex; justify-content: center;
}
.loypos-device { display: block; width: auto; height: 100%; max-width: 100%; overflow: visible; }
.stage[data-scene="1"] .transfer { top: -8px; }
.loypos-paper { transform: translateY(0); }
.stage[data-scene="1"] .loypos-paper { animation: loypos-print 6s linear infinite; }
@keyframes loypos-print {
    0% { transform: translateY(128px); opacity: 1; }
    35%, 85% { transform: translateY(0); opacity: 1; }
    93% { transform: translateY(0); opacity: 0; }
    94% { transform: translateY(128px); opacity: 0; }
    100% { transform: translateY(128px); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .stage[data-scene="1"] .loypos-paper { animation: none; transform: translateY(0); opacity: 1; }
}

/* VISUAL-STORY-008: shared green progression and scoped story details. */
.site-header,.hero { background:linear-gradient(90deg,#185f39 0%,#328c49 58%,#48a454 100%); }
.scene-art>.product-options { inset:0; z-index:0; }
.product-options svg { position:absolute; width:70px; height:70px; opacity:.85; }
.option-shirt { left:7%; top:10%; transform:rotate(-12deg); }
.option-plant { right:7%; top:9%; transform:rotate(9deg); }
.option-book { left:5%; bottom:8%; transform:rotate(8deg); }
.option-bottle { right:5%; bottom:7%; transform:rotate(-8deg); }
.stage[data-scene="0"] .product-options { opacity:1; }
.stage[data-scene="0"] .phone { z-index:2; }
.scene-art>.handoff { inset:0; z-index:4; }
.handoff svg { width:100%; height:100%; }
.stage[data-scene="4"] .handoff { opacity:1; }
.stage[data-scene="4"] .main-bag { left:50%; top:40%; width:110px; height:140px; transform:translate(-50%,-50%); }
.stage[data-scene="4"] .recipient { top:4%; right:8%; }
.stage[data-scene="4"] .recipient span { display:none; }
.stage[data-scene="4"] .recipient b { font-size:18px; }
.stage[data-scene="4"] .delivery-code { white-space:nowrap; }
.stage[data-scene="4"] .bag-seal { display:none; }
@media (min-width:651px) {
 .stage[data-scene="3"] .main-bag { z-index:5; transform:translate(calc(var(--travel)*var(--route-distance,200px) - 65%),-5%); }
}
@media (max-width:650px) {
 .product-options svg { width:44px; height:44px; }
 .option-shirt { left:5%; top:12%; }
 .option-plant { right:5%; top:15%; }
 .option-book { left:4%; bottom:12%; }
 .option-bottle { display:none; }
 .stage[data-scene="4"] .main-bag { width:76px; height:96px; top:40%; }
 .stage[data-scene="4"] .recipient b { font-size:13px; }
}

/* Stage 01 purchase: decorative CTA, no transaction or automatic navigation. */
.phone-cart { position:relative; }
.phone-purchase-status { position:absolute; inset:0; display:grid; place-items:center; opacity:0; color:var(--green); font-weight:750; }
.phone-confirm { position:relative; transform-origin:center; }
.phone-confirm::after { content:""; position:absolute; inset:-3px; border:2px solid var(--green); border-radius:10px; opacity:0; }
.stage[data-scene="0"].purchase-visible .phone-confirm { animation:phone-buy-press 6s ease-in-out infinite; }
.stage[data-scene="0"].purchase-visible .phone-confirm::after { animation:phone-buy-response 6s ease-out infinite; }
.stage[data-scene="0"].purchase-visible .phone-purchase-status { animation:phone-buy-confirmed 6s linear infinite; }
.stage[data-scene="0"].purchase-visible .phone-cart-summary { animation:phone-buy-summary 6s linear infinite; }
@keyframes phone-buy-press {
 0%,18%,32%,100% { transform:translateY(0) scale(1); }
 23%,27% { transform:translateY(2px) scale(.92); box-shadow:inset 0 2px 5px #16372e60; }
}
@keyframes phone-buy-response { 0%,23%,45%,100% { opacity:0; transform:scale(1); } 28% { opacity:.7; transform:scale(1.02); } 44% { opacity:0; transform:scale(1.12); } }
@keyframes phone-buy-confirmed { 0%,28%,100% { opacity:0; } 34%,92% { opacity:1; } }
@keyframes phone-buy-summary { 0%,28%,100% { opacity:1; } 34%,92% { opacity:0; } }
@media (prefers-reduced-motion:reduce) {
 .phone-purchase-status { opacity:1; }
 .phone-cart-summary { opacity:0; }
 .phone-confirm { transform:none; }
 .phone-confirm::after { display:none; }
}

/* R1: one bag passes from sender to receiver; replay on entry to stage 05. */
.stage { --handoff-distance:clamp(20px,3.2vw,45px); }
.stage[data-scene="4"] .main-bag {
 transform:translate(calc(-50% + var(--handoff-distance)),-50%);
 animation:loy-bag-handoff 1.8s ease-in-out both;
}
.handoff-sender,.handoff-receiver { transform-box:view-box; }
.stage[data-scene="4"] .handoff-sender { animation:loy-sender-handoff 1.8s ease-in-out both; }
.stage[data-scene="4"] .handoff-receiver { transform:translateX(28px); animation:loy-receiver-handoff 1.8s ease-in-out both; }
.stage[data-scene="4"] .delivery-code,.stage[data-scene="4"] .recipient,
.stage[data-scene="4"] .delivered-check,.stage[data-scene="4"] [data-scene-status] {
 animation:loy-handoff-confirm 1.8s ease both;
}
@keyframes loy-bag-handoff {
 0%,12% { transform:translate(calc(-50% - var(--handoff-distance)),-50%); }
 68%,100% { transform:translate(calc(-50% + var(--handoff-distance)),-50%); }
}
@keyframes loy-sender-handoff {
 0%,12% { transform:translateX(-28px); }
 55%,65% { transform:translateX(28px); }
 100% { transform:translateX(-28px); }
}
@keyframes loy-receiver-handoff {
 0%,12% { transform:translateX(40px); }
 40% { transform:translateX(0); }
 68%,100% { transform:translateX(28px); }
}
@keyframes loy-handoff-confirm { 0%,70% { opacity:0; } 100% { opacity:1; } }
@media (prefers-reduced-motion:reduce) {
 .stage[data-scene="4"] .main-bag { transform:translate(calc(-50% + var(--handoff-distance)),-50%); }
 .stage[data-scene="4"] .handoff-sender { transform:translateX(-28px); }
 .stage[data-scene="4"] .handoff-receiver { transform:translateX(28px); }
 .stage[data-scene="4"] .delivery-code,.stage[data-scene="4"] .recipient,
 .stage[data-scene="4"] .delivered-check,.stage[data-scene="4"] [data-scene-status] { opacity:1; }
}
