:root{color-scheme:dark;--bg:#08090c;--panel:#111318;--panel-2:#191c23;--line:#2a2e38;--text:#f4f6fb;--muted:#a9b0bf;--soft:#788293;--blue:#9bb8ed;--focus:#c4d7ff;font-family:'DM Sans','Noto Sans Thai',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-size:16px;line-height:1.65}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section{padding:118px 0}.skip-link{position:fixed;z-index:100;top:-80px;left:18px;padding:9px 15px;border-radius:8px;background:#fff;color:#111}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.site-header{position:sticky;top:0;z-index:30;background:rgba(8,9,12,.78);backdrop-filter:blur(18px);border-bottom:1px solid #ffffff13}.nav-shell{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{width:198px;flex:none}.brand img{width:100%;height:auto}.site-nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.site-nav>a:not(.nav-contact){color:#b5bac5;transition:color .2s}.site-nav>a:hover{color:#fff}.nav-contact{display:inline-flex;align-items:center;gap:18px;min-height:42px;padding:0 18px;border:1px solid #52627e;border-radius:8px;background:#26344a;color:#e8f0ff}.nav-contact:hover{background:#344969}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;padding-top:104px;padding-bottom:100px;text-align:center;background:radial-gradient(ellipse 60% 30% at 50% 12%,#182348a8 0%,transparent 75%)}.hero-glow{position:absolute;left:50%;top:100px;transform:translateX(-50%);width:min(900px,90vw);height:520px;border-radius:50%;background:radial-gradient(ellipse,#24276f40,transparent 65%);filter:blur(55px);pointer-events:none}.hero-inner{position:relative}.eyebrow,.section-kicker,.feature-number,.template-body>span{font-size:11px;letter-spacing:.18em;font-weight:700;color:#a9c5fa}.eyebrow{display:inline-flex;align-items:center;gap:10px;border:1px solid #3a4761;border-radius:100px;background:#182033;padding:9px 15px}.status-dot{width:7px;height:7px;border-radius:50%;background:#9ac6a5;box-shadow:0 0 0 4px #9ac6a522}.hero h1{max-width:960px;margin:28px auto 20px;font-size:clamp(42px,6vw,78px);line-height:1.18;letter-spacing:-.055em;font-weight:700}.gradient-text{background:linear-gradient(110deg,#fff 8%,#a8c5fa 52%,#8d8efb 96%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{max-width:690px;margin:0 auto;color:#bbc2cf;font-size:clamp(16px,1.8vw,19px);line-height:1.85}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;padding:0 22px;border-radius:9px;font-size:14px;font-weight:700;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-primary{color:#0c1420;background:#b9d0ff}.button-primary:hover{background:#d0dfff}.button-secondary{color:#e9edf5;border:1px solid #464d5a;background:#1a1d24}.button-secondary:hover{border-color:#7585a3;background:#252b36}.hero-note{margin:18px 0 0;color:#828c9c;font-size:12px}.hero-visual{position:relative;margin:76px auto 0;max-width:1120px;aspect-ratio:1.89;border:1px solid #424957;border-radius:18px;background:#101217;box-shadow:0 22px 100px #000b,0 0 90px #465fb52b;overflow:hidden;text-align:left}.hero-visual>img,.showcase-visual>img{width:100%;height:100%;object-fit:cover;object-position:center}.visual-topline{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #2f333d;color:#838c9e;font-size:9px;font-weight:700;letter-spacing:.16em}.window-dots{display:flex;gap:5px}.window-dots i{width:7px;height:7px;border-radius:50%;background:#535c70}.visual-live{color:#a9c5fa}.visual-body{display:grid;grid-template-columns:13% 56% 31%;height:calc(100% - 44px)}.visual-sidebar{padding:18px 22px;border-right:1px solid #2b303b;background:#0d0f13}.visual-logo{display:block;width:24px;height:24px;border:6px solid #7585ff;border-radius:7px;transform:rotate(-22deg);margin-bottom:40px}.visual-sidebar i{display:block;height:7px;margin:20px 0;background:#343a47;border-radius:8px}.visual-chat{position:relative;padding:34px 6%;}.visual-heading{font-size:clamp(14px,2.1vw,24px);font-weight:700;margin-bottom:15px}.visual-line{height:8px;border-radius:9px;background:#343a46;margin:9px 0}.visual-line.long{width:78%}.visual-line.medium{width:57%}.visual-line.short{width:43%}.visual-bubble{width:fit-content;margin:42px 0 30px auto;padding:13px 19px;border-radius:14px 14px 3px 14px;background:#27344d;color:#d9e5fd;font-size:13px}.visual-response{width:80%;padding:20px;border:1px solid #343944;border-radius:14px;background:#1a1e25}.visual-response b{font-size:9px;letter-spacing:.15em;color:#a9c5fa}.visual-input{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border:1px solid #404858;border-radius:10px;color:#737f92;font-size:11px}.visual-input strong{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#b9d0ff;color:#111}.visual-preview{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;border-left:1px solid #2b303b;background:#16191f}.phone-preview{width:45%;aspect-ratio:9/16;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;border:4px solid #383e4c;border-radius:17px;background:radial-gradient(circle at 75% 25%,#545bc4aa,transparent 36%),linear-gradient(155deg,#253854,#1e253a 53%,#15171e)}.phone-preview>span{position:absolute;top:8px;right:9px;color:#d1dbef;font-size:9px}.play-glyph{font-size:25px;color:#e3ecff}.phone-preview strong{text-align:center;font-size:clamp(10px,1.3vw,17px);line-height:1.3}.phone-preview em{font-style:normal;color:#f0df4c}.phone-progress{position:absolute;bottom:12px;left:14%;width:72%;height:3px;background:linear-gradient(90deg,#f0df4c 55%,#ffffff5c 55%)}.preview-caption{font-size:9px;color:#9ba6b8;letter-spacing:.12em}.placeholder-label{position:absolute;right:13px;bottom:13px;padding:6px 9px;border:1px solid #65728c;background:#0b0e14e8;border-radius:5px;color:#bcc9df;font-size:9px;letter-spacing:.08em}.section-heading{margin:18px 0 34px}.section-heading h2,.showcase h2,.pricing h2,.final-cta h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:1.25;letter-spacing:-.045em}.section-heading h2 span,.showcase h2 span,.pricing h2 span{color:#a9c5fa}.section-heading p,.showcase-copy>p,.pricing-copy>p{max-width:500px;color:var(--muted);font-size:15px;line-height:1.9}.split-heading{display:flex;align-items:end;justify-content:space-between;gap:36px}.split-heading p{max-width:360px;margin:0 0 4px}.intro{background:#0c0e12;border-top:1px solid #ffffff0b;border-bottom:1px solid #ffffff0b}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.feature-card{min-height:286px;display:flex;flex-direction:column;padding:25px 23px;border:1px solid #2c323d;border-radius:12px;background:linear-gradient(145deg,#1a1d24,#12151a)}.feature-number{color:#7f91ae}.feature-icon{display:grid;place-items:center;width:43px;height:43px;margin:32px 0 18px;border:1px solid #566f9b;border-radius:10px;background:#24344f;color:#b9d0ff;font-size:27px;line-height:1}.feature-card h3{margin:0 0 9px;font-size:19px;letter-spacing:-.025em}.feature-card p{margin:0;color:#a7afbe;font-size:13px;line-height:1.85}.showcase-grid{display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:74px}.showcase h2{margin:22px 0}.showcase-copy>p{margin:0}.step-list{list-style:none;padding:0;margin:32px 0 0}.step-list li{display:flex;align-items:flex-start;gap:16px;padding:17px 0;border-top:1px solid #2b3039}.step-list li>span{color:#9bb8ed;font-size:12px;font-weight:700}.step-list strong{display:block;font-size:14px}.step-list small{display:block;margin-top:2px;color:#8892a2;font-size:12px}.showcase-visual{position:relative;aspect-ratio:1.45;overflow:hidden;border:1px solid #404754;border-radius:15px;background:#15191f;box-shadow:0 20px 70px #0007}.placeholder-head{height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid #2b303a;color:#a9b5cb;font-size:10px;letter-spacing:.12em}.placeholder-content{width:75%;margin:8% auto;padding:24px;border:1px solid #394355;border-radius:13px;background:#1d222b}.placeholder-tag{color:#9bb8ed;font-size:10px;letter-spacing:.15em}.placeholder-title{margin:11px 0 20px;font-weight:700;font-size:19px}.placeholder-row{display:flex;align-items:center;gap:12px;margin:10px 0;padding:12px;border:1px solid #363f4e;border-radius:8px}.placeholder-row i{width:17px;height:17px;border-radius:50%;background:#6177a4}.placeholder-row span{flex:1;height:7px;background:#495367;border-radius:8px}.placeholder-row b{width:32px;height:7px;background:#364052;border-radius:8px}.placeholder-button{width:125px;height:25px;margin:19px 0 0 auto;border-radius:5px;background:#9bb8ed}.templates{background:#0e1117}.templates .section-heading p{margin:14px 0 0}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.template-card{overflow:hidden;border:1px solid #2f3642;border-radius:14px;background:#171a21}.template-art{position:relative;height:264px;display:grid;place-items:center;overflow:hidden;text-align:center;background:radial-gradient(circle at 55% 42%,#41598177,transparent 37%),linear-gradient(135deg,#202936,#13171f)}.template-art:before{content:'';position:absolute;width:145px;height:226px;border:5px solid #647088;border-radius:18px;background:linear-gradient(155deg,#2c4157,#11151d);box-shadow:0 15px 35px #0008;transform:rotate(-8deg)}.template-art span{position:relative;z-index:1;font-size:14px;font-weight:700;line-height:1.4}.template-art small{position:absolute;z-index:2;bottom:10px;right:12px;font-size:9px;letter-spacing:.13em;color:#c5cbd5}.template-funny{background:radial-gradient(circle at 53% 40%,#6a4a80aa,transparent 40%),#1e1828}.template-funny:before{background:linear-gradient(155deg,#55346a,#171323)}.template-selling{background:radial-gradient(circle at 53% 40%,#696b46aa,transparent 40%),#222117}.template-selling:before{background:linear-gradient(155deg,#5f6440,#1a1a13)}.template-body{padding:25px 24px 27px}.template-body h3{margin:8px 0;font-size:21px}.template-body p{margin:0;color:#a5adbb;font-size:13px;line-height:1.8}.pricing{background:radial-gradient(ellipse 60% 70% at 75% 50%,#1a285083,transparent 80%),#0a0d13}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.pricing h2{margin:22px 0}.pricing-copy>p{max-width:410px}.pricing-copy .pricing-aside{margin-top:28px;padding-left:16px;border-left:2px solid #7f9cd4;color:#8f9bad;font-size:13px}.price-card{padding:34px;border:1px solid #56637c;border-radius:17px;background:linear-gradient(155deg,#202b3d,#151a24 65%);box-shadow:0 20px 80px #0008}.price-top{display:flex;justify-content:space-between;gap:15px;color:#a9c5fa;font-size:10px;letter-spacing:.12em;font-weight:700}.price-amount{display:flex;align-items:baseline;gap:16px;margin:30px 0 6px}.price-amount strong{font-size:clamp(54px,6vw,78px);line-height:1;letter-spacing:-.07em}.price-amount span{font-size:13px;color:#abb7c9}.lifetime{margin:14px 0 23px;font-size:15px;font-weight:700;color:#e7efff}.lifetime span{display:block;margin-top:3px;color:#aab5c8;font-size:12px;font-weight:400}.price-rule{height:1px;background:#53607866}.price-card ul{list-style:none;padding:0;margin:23px 0 27px}.price-card li{position:relative;padding:6px 0 6px 26px;color:#d1d9e7;font-size:13px}.price-card li:before{content:'✓';position:absolute;left:0;color:#a9c5fa;font-weight:700}.price-button{width:100%;justify-content:space-between}.line-id{text-align:center;color:#8e9aae;font-size:12px;margin:15px 0 0}.line-id strong{color:#d8e5ff}.final-cta{padding:95px 0;text-align:center;background:radial-gradient(ellipse at 50% 100%,#434dc44d,transparent 65%),linear-gradient(135deg,#1a2442,#111726 60%,#19163a)}.final-cta h2{margin:18px auto 14px}.final-cta h2 span{color:#c6d9ff}.final-cta p{margin:0 auto 25px;color:#b1bdd3;font-size:14px}.button-light{background:#e8efff;color:#101726}.button-light:hover{background:#fff}.site-footer{border-top:1px solid #252b36;background:#090b0f}.footer-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8390a2;font-size:12px}.footer-brand{display:flex;align-items:center;gap:9px;color:#e7ebf2;font-size:15px;font-weight:700}.footer-brand img{width:27px;height:27px}.site-footer a:hover{color:#c9dcff}
@media(max-width:980px){.site-nav{gap:16px}.brand{width:172px}.feature-grid{grid-template-columns:repeat(2,1fr)}.showcase-grid{gap:36px}.pricing-grid{gap:45px}}@media(max-width:700px){.container{width:min(100% - 36px,1180px)}.section{padding:78px 0}.nav-shell{height:66px}.brand{width:160px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid #353c49;border-radius:9px;background:#171b23}.menu-toggle span{width:18px;height:2px;border-radius:3px;background:#e9edf5}.site-nav{display:none;position:absolute;left:0;right:0;top:66px;align-items:stretch;flex-direction:column;gap:0;padding:12px 18px 18px;border-bottom:1px solid #394150;background:#11151e;box-shadow:0 16px 30px #0009}.site-nav.is-open{display:flex}.site-nav>a{padding:12px}.site-nav .nav-contact{margin-top:8px}.hero{padding-top:70px}.hero h1{font-size:clamp(37px,8vw,56px);letter-spacing:-.055em}.hero-visual{margin-top:50px;aspect-ratio:1.25}.hero-visual>img{object-fit:cover}.visual-body{grid-template-columns:8% 63% 29%}.visual-sidebar{padding:14px 9px}.visual-sidebar i{display:none}.visual-logo{width:17px;height:17px;border-width:4px}.visual-chat{padding-top:25px}.visual-bubble{font-size:9px;margin:20px 0 16px auto}.visual-response{padding:10px}.visual-input{bottom:12px}.split-heading,.showcase-grid,.pricing-grid{display:block}.split-heading p{margin-top:18px}.feature-grid{gap:10px}.showcase-visual{margin-top:34px}.pricing .price-card{margin-top:34px}.template-grid{grid-template-columns:1fr}.template-card{display:grid;grid-template-columns:42% 58%}.template-art{height:200px}.template-art:before{width:95px;height:145px;border-width:4px}.template-art span{font-size:11px}.template-body{padding:21px 15px}.footer-inner{flex-wrap:wrap;padding:24px 0;gap:12px}.footer-inner>span{order:3;width:100%}}@media(max-width:480px){.hero h1 br{display:none}.hero-copy{font-size:15px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-visual{aspect-ratio:1.15}.hero-visual>img{object-fit:cover;object-position:center}.visual-preview{display:none}.visual-body{grid-template-columns:11% 89%}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:0}.feature-icon{margin:22px 0 14px}.template-card{display:block}.template-art{height:210px}.price-card{padding:24px}.price-top{font-size:9px}.price-amount{display:block}.price-amount span{display:block;margin-top:6px}.final-cta h2 br{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* Captured app screens retain their full frame at narrow widths. */
figure{margin:0}
@media(max-width:700px){.hero-visual{aspect-ratio:1200/698}.hero-visual>img{object-fit:contain}}

/* Bitazza-inspired UI layer: Prompt typography, pill buttons, large soft cards, flat line icons.
   Colour tokens above are intentionally untouched. */
:root{--font:'Prompt','Noto Sans Thai',system-ui,sans-serif;--r-card:32px;--r-card-lg:40px;--line-soft:rgba(255,255,255,.1);font-family:var(--font)}
body{font-weight:400;line-height:1.6;letter-spacing:0}
h1,h2,h3{font-weight:700;letter-spacing:0}
.hero h1{line-height:1.12;letter-spacing:-.01em;font-size:clamp(40px,6vw,72px)}
.section-heading h2,.showcase h2,.pricing h2,.final-cta h2{line-height:1.2;letter-spacing:0;font-size:clamp(32px,4vw,50px)}
.feature-card h3{font-size:20px;letter-spacing:0}
.template-body h3{letter-spacing:0}
.price-amount strong{letter-spacing:-.02em}
.hero-copy,.section-heading p,.showcase-copy>p,.pricing-copy>p,.feature-card p,.template-body p{font-weight:300}
.hero-copy{line-height:1.7}
.section-heading p,.showcase-copy>p,.pricing-copy>p{line-height:1.75}
.feature-card p,.template-body p{line-height:1.7}

/* Kickers/labels: accent-coloured, bold, no wide tracking */
.eyebrow,.section-kicker,.feature-number,.template-body>span{font-size:13px;letter-spacing:.04em;font-weight:600}
.price-top,.visual-topline,.placeholder-head,.preview-caption,.placeholder-label,.template-art small{letter-spacing:.06em}

/* Pill buttons */
.button,.nav-contact{border-radius:999px}
.button{min-height:48px;padding:0 26px;gap:12px;font-weight:600;font-size:15px}
.nav-contact{min-height:44px;padding:0 20px;gap:8px;font-weight:600}
.button-secondary{background:transparent;border:1px solid var(--blue);color:var(--blue)}
.button-secondary:hover{background:#9bb8ed1c;border-color:#c4d7ff;color:#c4d7ff}
.price-button{justify-content:center}
.eyebrow{font-weight:600}

/* Large soft cards with hairline border and diagonal gradient */
.feature-card,.template-card,.price-card,.showcase-visual,.hero-visual{border:1px solid var(--line-soft)}
.feature-card{border-radius:var(--r-card);padding:32px 28px;min-height:300px}
.template-card{border-radius:var(--r-card)}
.price-card{border-radius:var(--r-card-lg);padding:40px}
.showcase-visual{border-radius:var(--r-card)}
.hero-visual{border-radius:var(--r-card-lg)}
.price-card,.feature-card{background:linear-gradient(160deg,var(--panel-2) 5%,#0c0e13 105%)}
.price-card{background:linear-gradient(160deg,#202b3d 5%,#111621 105%)}

/* Flat line icons */
.icon{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.button .icon,.nav-contact .icon,.site-footer .icon{width:18px;height:18px}
.feature-icon{width:52px;height:52px;border-radius:50%;border:1px solid #9bb8ed40;background:#9bb8ed1f;margin:28px 0 20px}
.feature-icon .icon{width:24px;height:24px}
.site-footer a{display:inline-flex;align-items:center;gap:6px}
.price-card li:before{content:'';width:18px;height:18px;top:9px;background:var(--blue);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.price-card li{padding-left:30px}
@media(max-width:700px){.feature-card,.template-card,.showcase-visual{border-radius:24px}.price-card{border-radius:28px;padding:28px}.hero-visual{border-radius:24px}}

/* LINE-green contact buttons */
.button-line,.nav-contact.button-line{background:#06c755;border:0;color:#fff;box-shadow:0 8px 24px #06c75533}
.button-line:hover,.nav-contact.button-line:hover{background:#05b34c;box-shadow:0 12px 32px #06c75555}
.button-line:active{transform:translateY(0) scale(.98)}
.price-button{text-align:center}

/* Motion: smooth, modern, GPU-friendly */
:root{--ease:cubic-bezier(.22,1,.36,1)}
.button,.nav-contact{transition:transform .35s var(--ease),background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),box-shadow .35s var(--ease)}
.site-nav>a:not(.nav-contact){transition:color .25s var(--ease)}
.feature-card,.template-card,.price-card,.showcase-visual,.hero-visual{transition:transform .5s var(--ease),border-color .4s var(--ease),box-shadow .5s var(--ease)}
.feature-card:hover,.template-card:hover{transform:translateY(-6px);border-color:#9bb8ed40;box-shadow:0 24px 60px #0006}
.feature-icon{transition:transform .5s var(--ease),background-color .3s var(--ease)}
.feature-card:hover .feature-icon{transform:scale(1.08) rotate(-4deg);background:#9bb8ed33}
.site-header{transition:background-color .3s var(--ease),border-color .3s var(--ease)}
.site-header.is-scrolled{background:rgba(8,9,12,.92)}
.site-nav{transition:opacity .3s var(--ease),transform .3s var(--ease)}
@keyframes fade-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.js .hero-inner>*{animation:fade-up .9s var(--ease) both}
.js .hero-inner>:nth-child(2){animation-delay:.08s}.js .hero-inner>:nth-child(3){animation-delay:.16s}.js .hero-inner>:nth-child(4){animation-delay:.24s}.js .hero-inner>:nth-child(5){animation-delay:.32s}.js .hero-inner>:nth-child(6){animation-delay:.4s}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.is-visible{opacity:1;transform:none}
.js .feature-card.reveal.is-visible:hover,.js .template-card.reveal.is-visible:hover{transform:translateY(-6px)}
@media(prefers-reduced-motion:reduce){.js .reveal,.js .hero-inner>*{opacity:1;transform:none;animation:none}}

/* Looping app demos: no controls, behaves like an animated image */
.demo-video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;background:#0c0e12}
.hero-visual.app-capture,.showcase-visual.app-capture{aspect-ratio:16/10}
@media(max-width:700px){.hero-visual.app-capture{aspect-ratio:16/10}}

/* Creative-mode samples: real captioned 9:16 renders instead of placeholders */
.template-art{height:auto;aspect-ratio:9/13;background:#0c0e12;display:block}
.template-art:before{content:none}
.template-art .demo-video{object-position:center}
@media(max-width:700px){.template-art{height:auto;aspect-ratio:9/13}}
@media(max-width:480px){.template-art{height:auto;aspect-ratio:4/5}}

/* Desktop + mobile captures orbit in 3D: one in front, one deeper, swapping every few seconds */
.showcase-grid{grid-template-columns:.78fr 1.22fr}
.showcase-media{position:relative;aspect-ratio:1.5;perspective:1500px;perspective-origin:50% 45%;cursor:pointer}
.showcase-media>figure{position:absolute;margin:0;transform-origin:50% 50%;backface-visibility:hidden;
  transition:transform 1.1s var(--ease),opacity 1.1s var(--ease),left 1.1s var(--ease),filter 1.1s var(--ease),z-index 0s linear .5s}
.showcase-media .showcase-visual{left:0;top:50%;width:100%}
.phone-frame{top:50%;height:88%;aspect-ratio:390/844;overflow:hidden;border:5px solid #2a2f3a;border-radius:28px;background:#0c0e12;box-shadow:0 24px 60px #000a,0 0 0 1px #ffffff1a}
.phone-frame .demo-video{object-fit:cover}
/* desktop in front, phone deeper on the right */
.showcase-media[data-front="desktop"] .showcase-visual{transform:translateY(-50%) translate3d(-13%,0,0) rotateY(0) scale(.78);opacity:1;z-index:2}
.showcase-media[data-front="desktop"] .phone-frame{left:89%;transform:translate(-50%,-50%) translate3d(0,0,-220px) rotateY(-34deg) scale(.82);opacity:.7;filter:brightness(.8);z-index:1}
/* phone in front, desktop deeper on the left */
.showcase-media[data-front="phone"] .phone-frame{left:56%;transform:translate(-50%,-50%) translate3d(0,0,0) rotateY(0) scale(1.08);opacity:1;filter:none;z-index:2}
.showcase-media[data-front="phone"] .showcase-visual{transform:translateY(-50%) translate3d(-30%,0,-320px) rotateY(32deg) scale(.74);opacity:.6;filter:brightness(.8);z-index:1}
.showcase-media[data-front="desktop"] .showcase-visual{filter:none}
@media(max-width:700px){.showcase-media{margin-top:34px;aspect-ratio:1.25}.phone-frame{border-width:4px;border-radius:20px}}
@media(prefers-reduced-motion:reduce){.showcase-media>figure{transition-duration:.01ms}}

/* Hero: app preview sits behind the headline as a tilted, receding layer */
.hero{padding-bottom:140px}
.hero-inner{isolation:isolate}
.hero-inner>:not(.hero-visual){position:relative;z-index:2}
.hero-inner>.hero-visual{position:absolute;z-index:0;left:50%;top:-30px;width:min(1120px,108%);margin:0;
  transform-origin:50% 0;
  transform:translateX(-50%) perspective(1600px) rotateX(var(--tilt,26deg)) translateZ(var(--depth,-140px)) scale(1.02);
  opacity:var(--fade,.42);border-color:#ffffff14;box-shadow:0 40px 120px #000c,0 0 120px #465fb533;
  -webkit-mask-image:linear-gradient(to bottom,#000 35%,transparent 92%);mask-image:linear-gradient(to bottom,#000 35%,transparent 92%);
  pointer-events:none;transition:none}
/* scrim between the preview and the text keeps copy readable and adds a layer of depth */
.hero-inner:before{content:'';position:absolute;z-index:1;inset:-40px -10% -60px;pointer-events:none;
  background:radial-gradient(ellipse 52% 46% at 50% 38%,rgba(8,9,12,.82),rgba(8,9,12,.35) 62%,transparent 80%)}
.hero h1,.hero-copy{text-shadow:0 2px 24px rgba(0,0,0,.6)}
.js .hero-inner>.hero-visual{animation:hero-layer-in 1.4s var(--ease) .3s both}
@keyframes hero-layer-in{from{opacity:0;filter:blur(6px)}to{opacity:var(--fade,.42);filter:none}}
@media(max-width:700px){.hero{padding-bottom:110px}.hero-inner>.hero-visual{width:150%;top:-10px}}

/* Tablet & mobile: hero preview returns below the copy, and the orbit stays centred */
@media(max-width:980px){
  .hero{padding-bottom:80px}
  .hero-inner>.hero-visual{position:relative;left:auto;top:auto;width:100%;margin:50px auto 0;transform:none;opacity:1!important;animation:none!important;
    -webkit-mask-image:none;mask-image:none;box-shadow:0 22px 80px #000b,0 0 90px #465fb52b;border-color:#424957}
  .hero-inner:before{content:none}
  .showcase-media{aspect-ratio:1.3}
  .showcase-media[data-front="desktop"] .showcase-visual{transform:translateY(-50%) translate3d(0,0,0) scale(.94)}
  .showcase-media[data-front="desktop"] .phone-frame{left:50%;transform:translate(-50%,-50%) translate3d(0,0,-260px) scale(.86);opacity:.35}
  .showcase-media[data-front="phone"] .phone-frame{left:50%;transform:translate(-50%,-50%) scale(1)}
  .showcase-media[data-front="phone"] .showcase-visual{transform:translateY(-50%) translate3d(0,0,-300px) scale(.82);opacity:.35}
}

/* Tablet & mobile: no hamburger, the header keeps just the LINE contact button */
@media(max-width:980px){
  .menu-toggle{display:none!important}
  .site-nav,.site-nav.is-open{display:flex!important;position:static;flex-direction:row;padding:0;border:0;background:none;box-shadow:none}
  .site-nav>a:not(.nav-contact){display:none}
  .site-nav .nav-contact{margin-top:0;padding:0 16px;min-height:40px}
}

/* Usage videos: desktop and mobile/tablet walkthroughs side by side */
.usage{background:#0b0d11;border-top:1px solid #ffffff0b}
.usage-grid{display:flex;justify-content:center;gap:48px;flex-wrap:wrap}
.usage-card{margin:0;display:flex;flex-direction:column;align-items:center;gap:18px}
.usage-frame{width:325px;max-width:100%;aspect-ratio:325/578;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--r-card);background:#0c0e12;box-shadow:0 24px 70px #0008;transition:transform .5s var(--ease),border-color .4s var(--ease)}
.usage-card:hover .usage-frame{transform:translateY(-6px);border-color:#9bb8ed40}
.usage-frame iframe{display:block;width:100%;height:100%;border:0}
.usage-card figcaption{text-align:center}
.usage-card figcaption strong{display:block;font-size:18px}
.usage-card figcaption span{color:var(--muted);font-size:13px;font-weight:300}
@media(max-width:700px){.usage-grid{gap:36px}}

/* Hero headline: neon tube glow (blue/lavender, same palette) */
.hero h1{
  color:#f4f8ff;
  text-shadow:0 0 4px #fff,0 0 12px #9fc2ff,0 0 28px #5f8cff99,0 0 60px #5f8cff66,0 0 110px #7a6cff55;
  animation:neon-breathe 5s ease-in-out infinite
}
.hero h1 .gradient-text{
  background:linear-gradient(110deg,#fff 6%,#b9d4ff 40%,#a79bff 78%,#c4a8ff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;
  filter:drop-shadow(0 0 3px #ffffffcc) drop-shadow(0 0 14px #7fa6ffcc) drop-shadow(0 0 34px #7a6cffaa) drop-shadow(0 0 70px #6b5cff77)
}
.hero-copy{text-shadow:0 2px 24px rgba(0,0,0,.6)}
@keyframes neon-breathe{
  0%,100%{text-shadow:0 0 4px #fff,0 0 12px #9fc2ff,0 0 28px #5f8cff99,0 0 60px #5f8cff66,0 0 110px #7a6cff55}
  50%{text-shadow:0 0 3px #fff,0 0 9px #9fc2ffcc,0 0 22px #5f8cff77,0 0 48px #5f8cff4d,0 0 90px #7a6cff44}
}
@media(prefers-reduced-motion:reduce){.hero h1{animation:none}}
@media(max-width:700px){
  .hero h1{text-shadow:0 0 3px #fff,0 0 10px #9fc2ff,0 0 24px #5f8cff88,0 0 48px #5f8cff55}
  .hero h1 .gradient-text{filter:drop-shadow(0 0 2px #fffc) drop-shadow(0 0 10px #7fa6ffbb) drop-shadow(0 0 26px #7a6cff88)}
}

/* Hero headline: soften the neon into a misty haze */
.hero h1{
  color:#f4f8ff;
  text-shadow:0 0 18px #9fc2ff40,0 0 48px #5f8cff33,0 0 100px #7a6cff2e;
  animation:neon-mist 6s ease-in-out infinite
}
.hero h1 .gradient-text{
  filter:drop-shadow(0 0 16px #7fa6ff4d) drop-shadow(0 0 44px #7a6cff40) drop-shadow(0 0 90px #6b5cff33)
}
@keyframes neon-mist{
  0%,100%{text-shadow:0 0 18px #9fc2ff40,0 0 48px #5f8cff33,0 0 100px #7a6cff2e}
  50%{text-shadow:0 0 14px #9fc2ff2e,0 0 38px #5f8cff26,0 0 80px #7a6cff22}
}
@media(max-width:700px){
  .hero h1{text-shadow:0 0 14px #9fc2ff38,0 0 36px #5f8cff2b}
  .hero h1 .gradient-text{filter:drop-shadow(0 0 12px #7fa6ff40) drop-shadow(0 0 30px #7a6cff33)}
}

/* Hero headline: glow fades in on load, then a soft light sweeps through the gradient line */
.hero h1{animation:glow-in 1.8s var(--ease) both,neon-mist 6s ease-in-out 1.8s infinite}
.hero h1 .gradient-text{
  background-image:linear-gradient(110deg,#fff 6%,#b9d4ff 30%,#a79bff 52%,#d9ccff 64%,#b9d4ff 80%,#fff 100%);
  background-size:220% 100%;background-position:0 0;
  animation:glow-in-filter 1.8s var(--ease) both,glow-sweep 7s ease-in-out 1.8s infinite
}
@keyframes glow-in{
  0%{text-shadow:0 0 0 #9fc2ff00,0 0 0 #5f8cff00,0 0 0 #7a6cff00;opacity:.3}
  100%{text-shadow:0 0 18px #9fc2ff40,0 0 48px #5f8cff33,0 0 100px #7a6cff2e;opacity:1}
}
@keyframes glow-in-filter{
  0%{filter:drop-shadow(0 0 0 #7fa6ff00) drop-shadow(0 0 0 #7a6cff00) drop-shadow(0 0 0 #6b5cff00)}
  100%{filter:drop-shadow(0 0 16px #7fa6ff4d) drop-shadow(0 0 44px #7a6cff40) drop-shadow(0 0 90px #6b5cff33)}
}
@keyframes glow-sweep{
  0%,100%{background-position:0 0}
  50%{background-position:100% 0}
}
@media(prefers-reduced-motion:reduce){.hero h1,.hero h1 .gradient-text{animation:none}}

/* Stop the looping headline glow while the hero is off screen */
.hero.is-off h1,.hero.is-off h1 .gradient-text{animation-play-state:paused}

/* Perf: keep the glow-in, drop the endless loops (repainting big blurs every frame cost ~20fps without a GPU) */
.hero h1{animation:glow-in 1.8s var(--ease) both}
.hero h1 .gradient-text{animation:glow-in-filter 1.8s var(--ease) both}
