/* Phone presentation only. Desktop keeps its existing visual identity. */
.phone-menu-toggle,.phone-dock,.phone-plan-picker{display:none}
@media(max-width:760px){
  :root{--phone-header:64px;--phone-dock:74px}
  html{scroll-padding-top:80px;background:#f4f6fa}
  body{background:#f4f6fa;font-size:15px;-webkit-text-size-adjust:100%}
  .page{min-height:calc(100dvh - var(--phone-header));overflow-wrap:break-word}
  .page.active{animation:none}
  .topbar{height:calc(var(--phone-header) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));background:#fafbfdee;border-bottom:1px solid #192b4510;gap:12px;z-index:40}
  .brand{gap:9px;flex-shrink:0}.brand-name{display:block;font-size:22px;letter-spacing:-1px}.brand-mark{width:32px;height:32px}
  .phone-menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 13px;border:1px solid #dce3ec;background:white;color:#192b45;border-radius:14px;font-size:13px;font-weight:600;cursor:pointer}
  .phone-menu-toggle svg,.phone-dock svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .topbar .nav-actions{display:none;position:absolute;top:100%;left:12px;right:12px;padding:12px;background:white;border:1px solid #dce3ec;border-radius:20px;box-shadow:0 20px 40px #192b4526;max-height:calc(100dvh - 90px);overflow-y:auto;gap:8px}
  .topbar.phone-menu-open .nav-actions{display:grid;grid-template-columns:1fr}
  .topbar .nav-actions .btn{width:100%;font-size:14px;min-height:48px;padding:12px;white-space:normal}
  .topbar .nav-pill{display:none}
  .btn{min-height:48px;padding:12px 16px;border-radius:14px;font-size:14px;white-space:normal;line-height:1.35;touch-action:manipulation}
  .btn-sm{min-height:44px;font-size:13px}.btn:hover{transform:none}.btn:active{transform:scale(.98)}
  .input,.select,.textarea,.pricing-guide select{font-size:16px;min-width:0;border-radius:12px;background:#fff;max-width:100%;border-color:#cbd5e1}
  .input,.select{height:50px}.textarea{padding:14px;min-height:110px}.field{min-width:0;margin-bottom:8px;gap:8px}.field label{font-size:13px;line-height:1.5}
  .shell{padding:0 20px}.hero{background:#fafbfddd}.hero-inner{grid-template-columns:minmax(0,1fr);padding:36px 22px 28px;gap:26px}
  .hero .eyebrow{font-size:9px;line-height:1.6;letter-spacing:.1em;margin-bottom:16px;max-width:100%}
  .hero h1{font-size:clamp(46px,13.4vw,72px);line-height:1.02;letter-spacing:-.065em}
  .hero .lead{font-size:16px;line-height:1.6;margin:20px 0;max-width:34ch;color:#526278}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:15px;width:100%}.hero-actions .btn{width:100%;font-size:15px;min-height:50px}.hero-actions .btn-ghost{min-height:44px;background:transparent;border:1px solid #d7dfeb;color:#29476b;text-decoration:none}
  .hero-note{justify-content:center;flex-wrap:wrap;gap:8px 18px;font-size:11px}
  .hero-art{width:100%;max-width:420px;min-height:0;padding:54px 24px 62px;border-radius:28px;background:radial-gradient(ellipse at 85% 0,#ffe4cf,transparent 65%),#e5edf7}
  .art-caption{top:22px;left:22px;font-size:8px;max-width:60%;line-height:1.5}.card-motion-toggle{top:14px;right:12px;min-height:36px;font-size:10px;max-width:105px}
  .hero-card-tilt .showcase-card,.showcase-card{max-width:none;margin:8px auto;padding:20px;border-radius:21px}.showcase-top{gap:8px;font-size:9px}.showcase-top small{font-size:9px}.coffee-icon{font-size:19px;padding:6px}.card-star{font-size:25px}.showcase-reward{font-size:27px;margin:20px 0}.showcase-card .stamp-row{gap:8px;margin-bottom:18px}.showcase-card .stamp{font-size:17px}.showcase-bottom{font-size:10px;gap:8px;padding-top:13px}
  .hero-art .floating-note{bottom:16px;right:16px;top:auto;padding:10px 13px;border-radius:14px;font-size:11px}.floating-note span:not(.note-check){font-size:10px}.art-footer{display:none}
  .section{padding:36px 0}.section-head{margin-bottom:22px;display:block}.section-head h2{font-size:29px;line-height:1.15;letter-spacing:-.045em}.section-head p{font-size:14px}
  .feature-grid{grid-template-columns:1fr;gap:10px}.feature{padding:20px 20px 20px 60px;border-radius:18px;position:relative}.feature-icon{position:absolute;left:20px;top:23px;margin:0;font-size:12px}.feature h3{font-size:17px;margin-bottom:6px}.feature p{font-size:14px}.feature:hover{transform:none}
  .panel{padding:20px;border-radius:20px;border:1px solid #e2e7ef;background:#fff;min-width:0;box-shadow:0 3px 14px #192b4503}.panel-title{font-size:19px;line-height:1.3;letter-spacing:-.035em}.panel-sub{font-size:14px;line-height:1.55;margin-bottom:16px}.panel+.panel{margin-top:14px}
  .two-col,.three-col,.form-grid,.choice-grid,.trust-grid,.trust-band,.journey-grid,.role-grid,.card-custom-grid,.audience-layout,.automation-builder,.automation-list,.analytics-split{grid-template-columns:minmax(0,1fr);gap:14px}
  .two-col>*,.client-wrap>*,.dash-header>*,.wallet-top>*,.wallet-top>div>div,.wallet-bottom>*{min-width:0}
  .auth-layout{display:grid;grid-template-columns:minmax(0,1fr);padding:22px 16px;gap:18px}.auth-layout .side{position:static;display:flex;gap:6px;padding:8px;border:0;background:transparent}.auth-layout .side-item{flex:1;justify-content:center;padding:10px 6px;font-size:11px;border-radius:12px;color:#29476b;background:#e6edf5}
  .auth-shell{margin:24px 16px;padding:24px 20px;border-radius:24px;box-shadow:none}.auth-shell h2{font-size:29px}.auth-tabs{gap:6px;margin:22px 0}.auth-tabs .btn{padding:10px;font-size:13px}.auth-shell .eyebrow{font-size:10px;line-height:1.5}
  .choice,.role-card,.trust-card,.automation-card{border-radius:16px;padding:18px}.notice{border-radius:14px;font-size:13px;gap:8px;overflow-wrap:anywhere}.notice b{flex-shrink:0}
  #dashboard-page{padding-bottom:calc(var(--phone-dock) + env(safe-area-inset-bottom) + 16px)}
  #dashboard-page .dash-layout{display:block;min-height:0}#dashboard-page .sidebar{display:none}.dash-main{padding:24px 16px;background:transparent}.dash-header{display:flex;align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:22px}.dash-header>.btn{width:100%}.dash-title{font-size:28px;line-height:1.15}.dash-sub{font-size:13px;line-height:1.5;margin-top:7px}
  #dashboard-page .mobile-dash-nav{display:block;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:35;margin:0;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
  .mobile-dash-head{display:none}.phone-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;height:calc(var(--phone-dock) + env(safe-area-inset-bottom));padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid #dde4ed;background:#fffffff5;backdrop-filter:blur(16px);box-shadow:0 -4px 24px #192b4508}
  .phone-dock button{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;background:transparent;border-radius:14px;min-height:52px;color:#66778c;font:600 10px var(--font);cursor:pointer}.phone-dock button[aria-current=page]{background:#eaf0f8;color:#29476b}.phone-dock button[data-section=scanner]{color:#29476b}.phone-dock button[data-section=scanner] svg{background:#29476b;color:#fff;border-radius:10px;width:34px;height:28px;padding:4px}
  #dashboard-page .mobile-dash-menu{display:none;transform:none;transition:none;opacity:1;max-height:none;overflow:visible}
  #dashboard-page .mobile-dash-nav.open .mobile-dash-menu{display:block;max-height:min(65dvh,520px);overflow:auto;overscroll-behavior:contain;background:#fff;margin:0 10px 8px;padding:12px;border:1px solid #dce3ec;border-radius:24px;box-shadow:0 -16px 80px #192b4533}
  .mobile-dash-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0}.mobile-dash-item{min-height:52px;padding:12px;font-size:12px;border-radius:14px;font-weight:600}.mobile-dash-item::after{display:none}
  .journey-step{padding:14px;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;border-radius:14px}.journey-step strong{font-size:14px}.journey-step>span{font-size:12px}.journey-step .btn{min-height:44px;font-size:12px;padding:10px;max-width:125px}
  .stats,.analytics-kpis,.employee-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.stat,.employee-card{padding:17px 14px;border-radius:18px;min-width:0}.stat strong{font-size:28px;overflow-wrap:anywhere}.stat span,.employee-card span{font-size:12px}.stat em{font-size:11px;line-height:1.5}.bars{height:140px;padding:10px 0;gap:6px}
  .toolbar{gap:8px}.toolbar .input{max-width:none;flex-basis:100%}.table-wrap{max-width:100%;overflow:auto;overscroll-behavior-x:contain;border-radius:16px}.table-wrap table{min-width:580px}.table-wrap .btn{min-height:44px}.table-wrap th,.table-wrap td{padding:14px 12px}
  .analytics-controls{display:flex;flex-wrap:wrap;gap:12px}.analytics-controls>.field{flex:1 1 120px}.preset-row{display:flex;flex-wrap:wrap;gap:6px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-chip{font-size:12px;min-height:48px;border-radius:12px}.group-row{flex-wrap:wrap}.group-row .input{flex-basis:100%}
  .scanner-box{padding:14px;border-radius:24px}.scanner-stage{min-height:0;height:clamp(240px,42dvh,380px);border-radius:17px}.scanner-status{font-size:13px;line-height:1.5;min-height:2em}.scanner-actions{flex-wrap:wrap}.scanner-actions .btn{flex:1 1 120px}.manual-scan>div{flex-wrap:wrap}.manual-scan .input{flex:1 1 160px}.manual-scan .btn{flex:1 1 90px}.scan-overlay{width:min(70%,240px)}
  .qr-card{grid-template-columns:minmax(0,1fr);gap:20px}.qr-box{width:min(100%,240px);height:auto;aspect-ratio:1;justify-self:center;border-radius:18px;padding:8px}.qr-controls{grid-template-columns:1fr}.link-box{flex-direction:column}.link-box .btn{width:100%}
  .client-wrap{grid-template-columns:minmax(0,1fr);padding:26px 16px 36px;gap:20px}.client-hero{padding:0 4px}.client-hero h2,#wallet-greeting{font-size:31px;line-height:1.15;margin:8px 0 12px}.client-hero .panel-sub{font-size:15px}.join-perk{margin:18px 0 12px}.client-conditions{margin-top:12px}
  #client-wallet-page .client-wrap>div{display:contents}#client-wallet-page #wallet-greeting{order:0;margin:0 4px -12px}#client-wallet-page #wallet-greeting+.panel-sub{order:1;margin:0 4px}#client-wallet-page .client-wrap>div:nth-child(2)>.panel:first-child{order:2}#client-wallet-card{order:3}#client-wallet-page .client-wrap>div:nth-child(2)>.panel:last-child{order:4;margin:0}#client-install-panel{order:5}#client-wallet-page .client-wrap>div:first-child>.btn{order:6}
  #client-install-panel{background:#e9eff7;border:0;padding:20px}#client-install-panel .panel-title{font-size:18px}#client-install-panel .btn{width:100%}#client-install-panel .small{line-height:1.6;margin-bottom:0}
  .wallet-card{border-radius:24px;padding:22px;box-shadow:0 12px 28px #192b4514;width:100%;min-width:0}.wallet-top{gap:8px;flex-wrap:wrap}.wallet-name{font-size:19px;line-height:1.25;overflow-wrap:anywhere}.wallet-type{font-size:11px;line-height:1.45}.wallet-top .mini-qr{flex-shrink:0}.wallet-card .stamp{width:32px;height:32px}.wallet-card .stamp-row{gap:8px}.wallet-bottom{gap:12px;align-items:center}.wallet-bottom b{font-size:13px;overflow-wrap:anywhere}.wallet-card .mini-qr.qr-image{width:100px;height:100px;flex:0 0 100px;padding:7px;border-radius:14px}.wallet-card .member-qr{object-fit:contain}
  .wallet-card-list{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:85%;gap:10px;margin:0;padding:2px 2px 10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b7c8dd transparent}.wallet-small-card{padding:16px;border-radius:14px;min-height:88px;scroll-snap-align:start}.wallet-small-card.active{border:1.5px solid #29476b;background:#edf3fa}.wallet-small-card strong{font-size:15px}.wallet-small-card span{font-size:12px;line-height:1.5}.event{border-radius:14px;padding:14px}.event span{line-height:1.5}
  .wallet-card .secure-client-qr{display:block;width:100%;height:100%}.wallet-card .secure-client-qr img,.wallet-card .secure-client-qr canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
  .billing-switch{display:flex;width:100%;border-radius:16px;padding:4px;gap:2px}.billing-option{flex:1;min-height:46px;padding:10px 8px;font-size:13px;border-radius:12px}.billing-option span{font-size:10px;display:block;margin:2px 0 0}.billing-option.selected{background:white;color:#29476b}
  .pricing-guide{padding:20px;border-radius:20px;gap:14px}.pricing-guide>div,.pricing-guide label{min-width:0;flex-basis:100%}.pricing-guide h3{font-size:18px}.pricing-guide select{min-height:48px}.pricing-advice{font-size:14px;margin:16px 2px;line-height:1.6}.phone-plan-picker{display:flex;gap:6px;margin-bottom:12px;padding:5px;background:#e7edf5;border-radius:16px}.phone-plan-picker button{flex:1;min-width:0;min-height:46px;padding:8px 4px;font:600 13px var(--font);border-radius:12px;background:transparent;color:#526278;cursor:pointer}.phone-plan-picker button[aria-pressed=true]{background:#29476b;color:#fff;box-shadow:0 3px 9px #192b451a}
  .pricing-scroll{overflow:visible;border-radius:20px}.pricing-table{min-width:0;table-layout:fixed}.pricing-table [data-column]{display:none}.pricing-table [data-column].phone-selected-plan{display:table-cell}.pricing-table th:first-child{width:53%}.pricing-table th,.pricing-table td{padding:13px 12px;font-size:12px;overflow-wrap:break-word}.pricing-table thead th{padding:20px 12px}.pricing-table thead th:first-child{font-size:20px;letter-spacing:-.04em}.pricing-table thead th:first-child small{font-size:12px}.pricing-table h3{font-size:19px}.pricing-amount{font-size:29px}.pricing-table .btn{font-size:12px;min-height:46px;padding:10px 6px;margin-top:12px}.pricing-recommended{font-size:10px;min-height:28px}.pricing-table tbody th{font-size:12px;line-height:1.5}.pricing-table thead th:first-child{border-top-left-radius:20px}.pricing-footnotes{display:grid;gap:8px;line-height:1.5}.cumulio-comparison summary{min-height:44px;display:flex;align-items:center}
  .modal{padding:12px;align-items:flex-end}.modal-box{border-radius:24px;max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;padding:24px 20px calc(24px + env(safe-area-inset-bottom));margin:0 auto}.toast{left:16px;right:16px;bottom:calc(90px + env(safe-area-inset-bottom));max-width:440px;margin:auto;font-size:13px;line-height:1.5;border-radius:16px;pointer-events:none}
  @media(max-width:360px){.shell{padding:0 16px}.hero-inner{padding-left:18px;padding-right:18px}.hero-art{padding-left:20px;padding-right:20px}.panel{padding:16px}.journey-step{display:flex;flex-wrap:wrap}.journey-step .btn{max-width:none;width:100%}.showcase-reward{font-size:24px}.showcase-top{gap:6px}.card-star{font-size:20px}.wallet-card{padding:18px}}
}
@media(prefers-reduced-motion:reduce){.phone-menu-toggle,.phone-dock button{transition:none}}
