.hero{background:var(--bg-sky);padding:48px 0 64px;position:relative;overflow:hidden}@media (min-width:768px){.hero{padding:80px 0 120px}}.hero-grid{grid-template-columns:1fr;align-items:center;gap:32px;display:grid}@media (min-width:1024px){.hero-grid{grid-template-columns:1.1fr 1fr;gap:56px}}.hero h1{margin-bottom:24px}.hero .sub{color:var(--ink-60);margin-bottom:36px;font-size:18px;font-weight:500;line-height:1.45}@media (min-width:768px){.hero .sub{font-size:22px}}.stack{aspect-ratio:9/14;max-width:340px;margin:0 auto;position:relative}.stack-card{box-shadow:var(--soft-shadow-lg);background:#fff;border-radius:32px;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.stack-card.bg2{opacity:.7;z-index:1;transform:translate(12px)translateY(14px)rotate(2.5deg)}.stack-card.bg1{opacity:.85;z-index:2;transform:translate(-8px)translateY(6px)rotate(-1.8deg)}.stack-card.top{z-index:3}.stack-photo{background:url(/assets/shoal-point-propa.jpg) 50%/cover,linear-gradient(135deg,#2c3e50 0%,#1b4ddb 60%,#38b6ff 100%);flex:1;position:relative}.stack-photo .pin{color:var(--ink);background:#fffffff5;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:700;position:absolute;top:16px;left:16px}.stack-photo .pin:before{content:"📍 "}.stack-meta{border-top:1px solid var(--line-soft);padding:18px 20px}.stack-meta .price{letter-spacing:-.02em;font-size:22px;font-weight:800}.stack-meta .addr{color:var(--ink-50);margin-top:4px;font-size:13px}.stack-meta .stats{color:var(--ink-60);gap:16px;margin-top:10px;font-size:12px;display:flex}.stack-meta .stats b{color:var(--ink);font-weight:700}.stack-gestures{pointer-events:none;position:absolute;inset:-10px}.stack-gestures .g{box-shadow:var(--soft-shadow);background:#fffffff2;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;display:inline-flex;position:absolute}.stack-gestures .g.up{color:var(--ink-60);top:-22px;left:50%;transform:translate(-50%)}.stack-gestures .g.left{color:var(--ink-50);top:45%;left:-22px}.stack-gestures .g.right{color:var(--propa-blue);top:45%;right:-22px}.stack-gestures .g.down{color:var(--ink-50);bottom:-22px;left:50%;transform:translate(-50%)}@media (max-width:1023px){.stack-gestures .g.left,.stack-gestures .g.right{display:none}}.steps-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:768px){.steps-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.steps-grid{grid-template-columns:repeat(4,1fr)}}.step-card{box-shadow:var(--soft-shadow);border:1px solid var(--line-soft);background:#fff;border-radius:24px;padding:28px}.step-num{background:var(--propa-blue-tint);width:36px;height:36px;color:var(--propa-blue);border-radius:12px;justify-content:center;align-items:center;margin-bottom:18px;font-size:15px;font-weight:800;display:flex}.step-card h3{letter-spacing:-.01em;margin-bottom:10px;font-size:18px;font-weight:700;line-height:1.25}.step-card p{color:var(--ink-60);font-size:14px;line-height:1.65}.gestures-section{background:radial-gradient(900px 400px at 90% -10%, #38b6ff1a, transparent 60%), radial-gradient(900px 400px at -10% 110%, #2563ff1a, transparent 60%), var(--surface)}.gestures-layout{grid-template-columns:1fr;align-items:center;gap:32px;display:grid}@media (min-width:1024px){.gestures-layout{grid-template-columns:.9fr 1.1fr;gap:56px}}.gesture-preview{background:linear-gradient(165deg,#1b4ddb 0%,#2563ff 55%,#38b6ff 100%);border-radius:32px;padding:32px 24px;position:relative;overflow:hidden;box-shadow:0 24px 48px #142d6e33}.gesture-preview:before{content:"";pointer-events:none;background:radial-gradient(600px 300px at 30% 20%,#ffffff2e,#0000 60%);position:absolute;inset:0}.gesture-preview .phone{aspect-ratio:9/19;z-index:1;background:#0a0a0a;border-radius:38px;width:240px;margin:0 auto;padding:8px;position:relative;box-shadow:0 24px 48px #0000004d}.gesture-preview .phone .screen{background:#fff;border-radius:30px;width:100%;height:100%;overflow:hidden}.gesture-preview .phone .screen img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.gesture-preview .caption{color:#ffffffeb;text-align:center;text-shadow:0 1px 2px #0000002e;z-index:1;margin-top:18px;font-size:13px;font-weight:600;position:relative}.gestures-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:560px){.gestures-grid{grid-template-columns:repeat(2,1fr)}}.gesture-card{background:#fff;border:1px solid #2563ff0f;border-radius:22px;padding:22px 22px 24px;transition:transform .25s cubic-bezier(.16,.84,.44,1),box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 10px 28px #142d6e0f,0 2px 6px #142d6e0a}.gesture-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px #142d6e1f,0 4px 10px #142d6e0f}.gesture-card .gesture-head{align-items:center;gap:14px;margin-bottom:12px;display:flex}.gesture-arrow{background:var(--propa-blue-tint);width:48px;height:48px;color:var(--propa-blue);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:800;transition:transform .35s cubic-bezier(.16,.84,.44,1);display:inline-flex}.gesture-card.right:hover .gesture-arrow{transform:translate(6px)}.gesture-card.left:hover .gesture-arrow{transform:translate(-6px)}.gesture-card.up:hover .gesture-arrow{transform:translateY(-6px)}.gesture-card.down:hover .gesture-arrow{transform:translateY(6px)}.gesture-card .gesture-head h4{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:800;line-height:1.2}.gesture-card .gesture-head .dir{color:var(--propa-blue);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:11px;font-weight:700}.gesture-card p{color:var(--ink-60);margin-bottom:14px;font-size:14px;line-height:1.55}.gesture-card .what-it-does{letter-spacing:.06em;text-transform:uppercase;color:var(--propa-blue);background:var(--propa-blue-soft);border-radius:999px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-block}.gesture-card.right .gesture-arrow{color:var(--good);background:#1f9d5524}.gesture-card.right .what-it-does{color:var(--good);background:#1f9d551a}.gesture-card.right .dir{color:var(--good)}.gesture-card.left .gesture-arrow{color:var(--hot);background:#ff4d3d1f}.gesture-card.left .what-it-does{color:var(--hot);background:#ff4d3d1a}.gesture-card.left .dir{color:var(--hot)}.gesture-card.up .gesture-arrow{color:var(--cool);background:#38b6ff2e}.gesture-card.up .what-it-does{color:var(--cool);background:#38b6ff24}.gesture-card.up .dir{color:var(--cool)}.gesture-card.down .gesture-arrow{color:var(--propa-blue);background:#2563ff24}.gesture-card.down .what-it-does{color:var(--propa-blue);background:#2563ff1a}.gesture-card.down .dir{color:var(--propa-blue)}.features-section{background:#fff}.features-grid{grid-template-columns:1fr;gap:20px;display:grid}@media (min-width:768px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.features-grid{grid-template-columns:repeat(3,1fr)}}.feature-card{background:var(--propa-blue-soft);border:1px solid #2563ff14;border-radius:24px;padding:28px}.feature-card h4{letter-spacing:-.015em;margin-bottom:8px;font-size:18px;font-weight:700}.feature-card p{color:var(--ink-60);font-size:14px;line-height:1.55}.feature-card .pill{color:var(--propa-blue);letter-spacing:.06em;text-transform:uppercase;background:#fff;border-radius:999px;margin-bottom:14px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.download-section{background:var(--ink);color:#fff}.download-inner{grid-template-columns:1fr;align-items:center;gap:32px;display:grid}@media (min-width:768px){.download-inner{grid-template-columns:1.2fr 1fr;gap:48px}}.download-section .eyebrow{color:var(--cool)}.download-section h1,.download-section h2,.download-section h3{color:#fff;margin-bottom:16px}.download-section p{color:#ffffffb3;margin-bottom:28px;font-size:17px;line-height:1.55}.store-buttons{flex-wrap:wrap;gap:12px;display:flex}.store-btn{color:var(--ink);background:#fff;border:1px solid #0000000d;border-radius:16px;align-items:center;gap:10px;padding:12px 20px;font-size:14px;font-weight:700;display:inline-flex}.store-btn .label{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.store-btn .label small{color:var(--ink-60);font-size:11px;font-weight:500}.device-preview{justify-content:center;align-items:flex-end;gap:18px;padding:8px 0 0;display:flex;position:relative}.device-preview .mini-phone{aspect-ratio:9/19;background:#0a0a0a;border-radius:30px;width:168px;padding:6px;transition:transform .3s;box-shadow:0 24px 48px #00000059}.device-preview .mini-phone .screen{background:#fff;border-radius:24px;width:100%;height:100%;overflow:hidden}.device-preview .mini-phone .screen img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.device-preview .mini-phone.back{opacity:.92;transform:translateY(18px)rotate(-5deg)}.device-preview .mini-phone.front{transform:rotate(3deg)}.device-preview .mini-phone.back:hover{transform:translateY(12px)rotate(-3deg)}.device-preview .mini-phone.front:hover{transform:translateY(-6px)rotate(2deg)}.device-caption{color:#ffffffa6;text-align:center;margin-top:22px;font-size:13px}