@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root{
  --page:#f3edff;
  --paper:#fbf9ff;
  --ink:#17131f;
  --muted:#6f6878;
  --purple:#7b57f6;
  --purple-dark:#5d38dc;
  --black:#18151b;
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:linear-gradient(180deg,var(--page) 0%,#f7f3ff 46%,#fff 100%);color:var(--ink);font:16px/1.55 'DM Sans',sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}.wrap{width:min(var(--wrap),calc(100% - 40px));margin-inline:auto}
.eyebrow{font:800 .72rem/1 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--purple-dark)}

.site-nav{position:sticky;top:0;z-index:100;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,rgba(247,242,255,.68) 0%,rgba(226,213,255,.46) 100%);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.62);box-shadow:0 12px 38px rgba(74,43,156,.11),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -1px 0 rgba(123,87,246,.09)}.site-nav:before{content:'';position:absolute;inset:-2px;z-index:-1;pointer-events:none;background:radial-gradient(55% 170% at 10% -90%,rgba(255,255,255,.95) 0%,rgba(255,255,255,.28) 44%,transparent 66%),radial-gradient(48% 150% at 82% -75%,rgba(172,142,255,.42) 0%,rgba(123,87,246,.12) 48%,transparent 72%),linear-gradient(105deg,rgba(255,255,255,.22) 0%,rgba(139,105,244,.10) 48%,rgba(255,255,255,.18) 100%)}.site-nav:after{content:'';position:absolute;left:8%;right:8%;top:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9) 18%,rgba(220,205,255,.95) 50%,rgba(255,255,255,.88) 82%,transparent);opacity:.86}.nav-inner{position:relative;z-index:1;height:68px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:9px;font:800 1.1rem Manrope,sans-serif;letter-spacing:-.04em}.brand-mark{width:27px;height:27px;border-radius:9px;background:radial-gradient(circle at 32% 27%,#fff 0 8%,transparent 10%),linear-gradient(145deg,#b9a2ff 0%,#7e5bf5 52%,#5836dc 100%);box-shadow:0 7px 18px #6d49ef30}.nav-links{margin-left:auto;display:flex;gap:25px;font-size:.88rem;font-weight:600;color:#5f5868}.nav-links a,.text-link{transition:color .17s ease,text-shadow .17s ease}.nav-links a:hover,.text-link:hover{color:var(--purple-dark);text-shadow:0 0 18px rgba(123,87,246,.18)}.nav-actions{display:flex;align-items:center;gap:14px}.text-link{font-size:.88rem;font-weight:700;color:#534d5b}

.button{appearance:none;border:0;border-radius:11px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer;transition:transform .17s ease,box-shadow .17s ease,background .17s ease}.button:hover{transform:translateY(-2px)}.button.dark{background:var(--black);color:#fff;box-shadow:0 8px 20px #17131f22}.button.dark:hover{box-shadow:0 12px 25px #17131f2f}.button.soft{background:#ffffff8f;color:var(--ink);box-shadow:inset 0 0 0 1px #261d3814,0 5px 16px #6d49ef0d}.button.outline{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #261d3820}.button.big{padding:13px 19px;border-radius:12px}.button.compact{padding:9px 13px;font-size:.84rem}.button.wide{width:100%}

.hero{padding:88px 0 105px;text-align:center}.hero-copy{max-width:900px;margin:0 auto}.hero h1{font:800 clamp(3.6rem,8vw,7.9rem)/.9 Manrope,sans-serif;letter-spacing:-.075em;margin:14px 0 24px}.hero-highlight{position:relative;display:inline-block;z-index:0}.hero-highlight:after{content:'';position:absolute;z-index:-1;left:-4%;right:-4%;bottom:.03em;height:.26em;background:linear-gradient(90deg,#bba6ff,#7b57f6);border-radius:3px;transform:rotate(-1.2deg);opacity:.82}.hero p{max-width:720px;margin:0 auto;color:#665f70;font-size:clamp(1.05rem,2vw,1.22rem)}.hero-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}.app-store-badge-link{display:inline-flex;align-items:center;justify-content:center;line-height:0;margin:0 2px}.app-store-badge{display:block;width:auto;height:44px;max-width:100%}.hero-note{margin-top:13px;color:#80778b;font-size:.82rem}

/* Real MacBook Pro 14 frame. The frame asset is 1216×728 and the visible panel in the supplied PNG is x=124..1092, y=18..646. */
.demo-wrap{margin:58px auto 0;width:min(1040px,100%)}
.demo-stage{position:relative;width:100%;aspect-ratio:1216/728;isolation:isolate;filter:drop-shadow(0 34px 52px #492d8730)}
.demo-stage:before{content:'';position:absolute;z-index:-1;left:12%;right:12%;bottom:2%;height:24%;border-radius:50%;background:radial-gradient(ellipse at center,#896bf12e 0%,#896bf10f 44%,transparent 72%);filter:blur(25px)}
.demo-screen{position:absolute;z-index:1;left:10.1974%;top:2.4725%;width:79.6053%;height:86.2637%;overflow:hidden;background:#101014;border-radius:1.7% 1.7% .45% .45%}
.demo-screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:opacity .2s ease,transform .26s ease;transform:scale(1.001);opacity:0}.demo-screen video.active{opacity:1}.demo-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#00000009 0%,transparent 16%,transparent 82%,#00000012 100%);pointer-events:none}
.demo-frame{position:absolute;z-index:4;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;user-select:none}
.demo-notch-hotspot{position:absolute;z-index:7;top:1.1%;left:45.1%;width:9.8%;height:5.7%;border:0;background:transparent;border-radius:0 0 18px 18px;cursor:pointer;padding:0}
.demo-notch-hotspot:focus-visible{outline:3px solid #8b6cff;outline-offset:4px}
.demo-stage.is-switching .demo-screen video{transform:scale(1.008);filter:saturate(.92) brightness(.98)}
.demo-stage.no-frame{aspect-ratio:3024/1964;filter:drop-shadow(0 30px 52px #492d8730)}
.demo-stage.no-frame .demo-screen{left:0;top:0;width:100%;height:100%;border-radius:22px;box-shadow:inset 0 0 0 1px #ffffff20}
.demo-stage.no-frame .demo-frame,.demo-stage.no-frame .demo-notch-hotspot{display:none}
.demo-progress{position:relative;display:block;width:min(260px,48%);height:18px;margin:7px auto 1px;padding:6px 0;border:0;background:transparent;cursor:pointer;appearance:none}
.demo-progress-track{position:relative;display:block;width:100%;height:6px;overflow:hidden;border-radius:999px;background:#ddd7e7;box-shadow:inset 0 1px 2px #5b4a7420,0 3px 10px #6a4fa00d}
.demo-progress-fill{position:absolute;inset:0;transform:scaleX(0);transform-origin:left center;border-radius:inherit;background:linear-gradient(90deg,#7857f0 0%,#9a70f3 58%,#f28b68 100%);box-shadow:0 0 8px #8b6cff30;will-change:transform}
.demo-progress:hover .demo-progress-track{height:7px;background:#d4ccdf}.demo-progress:focus-visible{outline:2px solid #8b6cff;outline-offset:3px;border-radius:999px}
.demo-caption{margin-top:4px;color:#6e657a;font-size:.74rem}.demo-caption span{margin-right:5px}.demo-caption strong{color:var(--ink)}.demo-tabs{margin:17px auto 0;display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.demo-tab{border:1px solid #2f234b1a;background:#ffffff8e;color:#514a5a;border-radius:999px;padding:8px 13px;font-weight:700;font-size:.8rem;cursor:pointer;transition:.18s ease}.demo-tab:hover{transform:translateY(-1px);background:#fff}.demo-tab.active,.demo-tab[aria-selected="true"]{background:var(--black);color:#fff;border-color:var(--black);box-shadow:0 6px 16px #17131f1f}.demo-copy{max-width:660px;margin:12px auto 0;color:#6d6675;font-size:.9rem}

.features{padding:110px 0 120px}.section-intro{text-align:center;max-width:860px;margin:0 auto 50px}.section-intro h2{font:800 clamp(2.9rem,6vw,5.8rem)/.94 Manrope,sans-serif;letter-spacing:-.065em;margin:12px 0 0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.feature-card{min-height:245px;border-radius:24px;padding:24px;border:1px solid #241b3510;box-shadow:0 12px 28px #4d2e8509;display:flex;flex-direction:column}.feature-card h3{font:800 1.22rem/1.15 Manrope,sans-serif;letter-spacing:-.035em;margin:14px 0 9px}.feature-card p{margin:0;color:#5d5764;font-size:.91rem}.feature-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#ffffff9c;font:800 1.1rem Manrope,sans-serif;box-shadow:inset 0 0 0 1px #ffffff85}.feature-card.purple{background:#ddd0ff}.feature-card.peach{background:#ffe0cb}.feature-card.mint{background:#d7f4e8}.feature-card.blue{background:#d9ecff}.feature-card.pink{background:#f6d8f0}.feature-card.yellow{background:#f8efbf}.feature-card.lilac{background:#e9dcff}.feature-card.green{background:#dff1cf}.more-features{margin:30px auto 0;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;max-width:930px}.more-features span{border:1px solid #2b203d17;background:#ffffff7d;border-radius:999px;padding:7px 11px;color:#61586d;font-size:.77rem;font-weight:700}

.visual-break{background:#17131f;color:#fff;padding:105px 0;overflow:hidden}.visual-break-inner{display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:60px}.visual-break .eyebrow{color:#ad96ff}.visual-break h2{font:800 clamp(2.8rem,5.2vw,5.6rem)/.94 Manrope,sans-serif;letter-spacing:-.065em;margin:12px 0 0}.shot-stack{position:relative;min-height:480px}.shot-stack img{position:absolute;width:78%;border-radius:18px;box-shadow:0 35px 60px #0007;border:1px solid #ffffff1f}.shot-stack img:first-child{right:0;top:0;transform:rotate(2deg)}.shot-stack img:last-child{left:0;bottom:0;transform:rotate(-3deg)}

.ecosystem{padding:128px 0 116px;text-align:center}.ecosystem-copy{max-width:860px;margin:0 auto}.ecosystem-copy h2{font:800 clamp(3rem,5.9vw,5.9rem)/.94 Manrope,sans-serif;letter-spacing:-.068em;margin:12px 0 18px}.ecosystem-copy p{max-width:650px;margin:0 auto;color:#6d6577;font-size:1.04rem}.ecosystem-carousel{--eco-gap:44px;position:relative;margin:54px auto 0;width:min(100%,1040px);height:250px;overflow:hidden;padding:28px 0 34px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}.ecosystem-carousel:before{content:'';position:absolute;left:50%;top:50%;width:78%;height:150px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse at center,#bca9ff24 0%,#cdbfff10 46%,transparent 74%);filter:blur(18px);pointer-events:none}.ecosystem-track{position:relative;z-index:1;display:flex;gap:var(--eco-gap);width:max-content;animation:ecosystemCarousel 36s linear infinite;will-change:transform}.ecosystem-set{display:grid;grid-auto-flow:column;grid-auto-columns:164px;gap:var(--eco-gap);align-items:start;flex:none}.ecosystem-app{width:164px;display:flex;flex-direction:column;align-items:center;gap:12px;color:#352c40;text-decoration:none;transition:transform .22s ease}.ecosystem-app img,.ecosystem-more-icon{width:104px;height:104px;border-radius:29px;display:block;object-fit:contain;box-shadow:0 22px 42px #4d348a24,0 2px 0 #fff inset;transition:transform .22s ease,box-shadow .22s ease}.ecosystem-app strong{font:800 .92rem/1.1 Manrope,sans-serif;letter-spacing:-.025em}.ecosystem-app-1,.ecosystem-app-5{transform:translateY(34px)}.ecosystem-app-2,.ecosystem-app-4{transform:translateY(2px)}.ecosystem-app-3{transform:translateY(52px)}.ecosystem-app:hover img{transform:translateY(-6px) scale(1.035);box-shadow:0 26px 50px #4d348a30,0 2px 0 #fff inset}.ecosystem-more{cursor:default;color:#8a8193}.ecosystem-more-icon{display:grid;place-items:center;border:2px dashed #8a72d65c;background:linear-gradient(145deg,#ffffffa8,#eee5ffbf);color:#8063df;font:500 2.35rem/1 Manrope,sans-serif;box-shadow:0 18px 34px #4d348a14}.ecosystem-carousel.is-static .ecosystem-track{width:100%;animation:none;justify-content:center}.ecosystem-carousel.is-static .ecosystem-set{justify-content:center}.ecosystem-developer-cta{position:relative;z-index:2;margin-top:18px;display:flex;align-items:center;justify-content:center;gap:10px 14px;flex-wrap:wrap}.ecosystem-footnote{margin:0;color:#8a8193;font-size:.78rem;font-weight:700}.ecosystem-developer-link{color:#7b7284;font-size:.78rem;font-weight:600;transition:color .18s ease}.ecosystem-developer-link:before{content:'•';margin-right:12px;color:#b1a7bb}.ecosystem-developer-link strong{color:#4c4058;font-weight:800}.ecosystem-developer-link:hover,.ecosystem-developer-link:hover strong{color:var(--purple-dark)}@keyframes ecosystemCarousel{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - (var(--eco-gap) / 2)),0,0)}}

.pricing{padding:115px 0}.pricing-head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:38px}.pricing-head h2{font:800 clamp(3rem,5.4vw,5.5rem)/.94 Manrope,sans-serif;letter-spacing:-.065em;margin:10px 0 12px}.pricing-head p{color:#6d6577;margin:0;font-size:1.02rem}.currency{height:42px;border:1px solid #241b351c;background:#ffffffa8;color:var(--ink);border-radius:11px;padding:0 34px 0 12px;font-weight:700}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.plan{border:1px solid #261e3520;border-radius:22px;padding:25px;background:#ffffffa6;box-shadow:0 12px 26px #5836dc08}.plan.featured{background:linear-gradient(180deg,#dccfff,#cbb8ff);border-color:#7652e83d}.plan>span{color:#756c7f;font-size:.74rem;font-weight:700}.plan h3{font:800 1.2rem Manrope,sans-serif;margin:13px 0 7px}.price{font:800 2.85rem/1 Manrope,sans-serif;letter-spacing:-.06em}.plan small{color:#7b7284}.plan p{color:#6f6678;min-height:52px;font-size:.88rem}.trial-strip{margin-top:15px;border:1px solid #241b3515;border-radius:18px;background:#ffffff92;padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px}.trial-strip strong,.trial-strip span{display:block}.trial-strip span{color:#756d7d;font-size:.82rem;margin-top:2px}.trial-strip-actions{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:end;gap:12px}.trial-strip-actions .button,.trial-strip>.button{min-height:44px;padding-inline:18px;white-space:nowrap}.pricing-app-store-badge{display:inline-flex;align-items:center;justify-content:center;line-height:0}.pricing-app-store-badge .app-store-badge{height:44px;width:auto;max-width:none}

.faq{padding:70px 0 110px}.compact-intro{text-align:left;margin:0 0 25px}.compact-intro h2{font-size:clamp(2.6rem,5vw,4.5rem)}.faq details{border-top:1px solid #2b213c19;padding:19px 0}.faq details:last-child{border-bottom:1px solid #2b213c19}.faq summary{cursor:pointer;font-weight:800;font-family:Manrope,sans-serif}.faq p{color:#6c6474;max-width:760px;margin:10px 0 0}

footer{padding:28px 0 36px;border-top:1px solid #261c3718;background:#efe7fb}.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;color:#675e72;font-size:.8rem}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand .brand-mark{width:23px;height:23px;border-radius:8px}.footer-brand strong{color:var(--ink)}.footer-links{display:flex;gap:18px;font-weight:700}.footer-links a:hover{color:var(--purple-dark)}.footer-copy{text-align:right}.apple-credit{margin-top:18px;margin-bottom:0;color:#887f91;font-size:.68rem;line-height:1.5;text-align:center;max-width:900px}

dialog{width:min(460px,calc(100% - 30px));border:1px solid #291e3d20;border-radius:22px;background:#fbf9ff;color:var(--ink);padding:27px;box-shadow:0 35px 90px #26144345}dialog::backdrop{background:#21172f55;backdrop-filter:blur(8px)}dialog h2{font:800 1.7rem Manrope,sans-serif;margin:0 0 6px}dialog p{color:#6b6373}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#766e7e;font-size:24px;cursor:pointer}.dialog-actions{display:flex;gap:8px;margin-top:14px}.dialog-status{min-height:22px;margin-top:12px;color:var(--purple-dark);font-size:.8rem}dialog form label{display:grid;gap:6px;margin-top:13px;color:#6b6274;font-size:.78rem}dialog input{width:100%;border:1px solid #291f3d20;background:#fff;color:var(--ink);border-radius:10px;padding:11px}

@media(max-width:980px){.nav-links{display:none}.feature-grid{grid-template-columns:repeat(2,1fr)}.visual-break-inner{grid-template-columns:1fr;gap:42px}.visual-break-inner>div:first-child{text-align:center}.shot-stack{min-height:430px;max-width:760px;width:100%;margin:auto}.plans{grid-template-columns:1fr}.plan p{min-height:0}.pricing-head{grid-template-columns:1fr}.pricing-head .currency{justify-self:start}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-brand,.footer-links{justify-content:center}.footer-copy{text-align:center}}
@media(max-width:640px){.ecosystem{padding:90px 0 82px}.ecosystem-copy h2{font-size:clamp(2.8rem,13vw,4.7rem)}.ecosystem-copy p{font-size:.95rem}.ecosystem-carousel{--eco-gap:22px;margin-top:38px;height:205px;padding:22px 0 26px}.ecosystem-set{grid-auto-columns:122px}.ecosystem-app{width:122px;gap:9px}.ecosystem-app img,.ecosystem-more-icon{width:78px;height:78px;border-radius:22px}.ecosystem-more-icon{font-size:1.9rem}.ecosystem-app-1,.ecosystem-app-5{transform:translateY(26px)}.ecosystem-app-2,.ecosystem-app-4{transform:translateY(0)}.ecosystem-app-3{transform:translateY(40px)}.ecosystem-track{animation-duration:28s}.ecosystem-developer-cta{margin-top:14px}.wrap{width:min(var(--wrap),calc(100% - 24px))}.nav-inner{height:62px}.nav-actions .text-link{display:none}.hero{padding:70px 0 78px}.hero h1{font-size:clamp(3.15rem,15vw,5.2rem)}.hero p{font-size:1rem}.demo-wrap{margin-top:40px;width:calc(100% + 8px);margin-left:-4px}.demo-progress{width:min(220px,62%);margin-top:5px}.demo-caption{margin-top:2px}.demo-tabs{margin-top:14px}.features{padding:84px 0}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:0}.section-intro h2{font-size:clamp(2.8rem,13vw,4.6rem)}.visual-break{padding:80px 0}.visual-break h2{font-size:clamp(2.7rem,12vw,4.3rem)}.shot-stack{min-height:300px}.shot-stack img{width:88%}.pricing{padding:88px 0}.pricing-head h2{font-size:clamp(2.9rem,13vw,4.6rem)}.trial-strip{grid-template-columns:1fr;align-items:start}.trial-strip-actions{width:100%;grid-template-columns:minmax(0,1fr) auto;justify-content:stretch}.trial-strip-actions .button{width:100%}.pricing-app-store-badge{justify-content:flex-end}.pricing-app-store-badge .app-store-badge{height:40px}.app-store-badge{height:40px}.faq{padding:55px 0 85px}.footer-links{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.demo-screen video,.demo-tab,.ecosystem-app img{transition:none}.ecosystem-track{animation:none}}

/* Halo reference polish: device stage */
.demo-device-stage{
  position:relative;
  width:100%;
  margin:0 auto;
  padding:clamp(28px,5vw,58px) clamp(18px,7vw,78px) clamp(20px,3.5vw,38px);
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(27,24,31,.08);
  border-radius:34px;
  background:
    radial-gradient(70% 54% at 50% 100%,rgba(123,87,246,.08),transparent 70%),
    linear-gradient(180deg,#fafafb 0%,#f1f1f3 100%);
  box-shadow:0 30px 78px rgba(49,37,72,.12),inset 0 1px 0 rgba(255,255,255,.96);
}
.demo-device-stage:before{
  content:'';
  position:absolute;
  z-index:-1;
  left:16%;
  right:16%;
  bottom:10%;
  height:22%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(80,61,117,.16) 0%,rgba(80,61,117,.05) 46%,transparent 73%);
  filter:blur(25px);
}
.demo-device-stage:after{
  content:'';
  position:absolute;
  z-index:-1;
  left:7%;
  right:7%;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(35,31,42,.11),transparent);
}
.demo-device-stage .demo-stage{
  width:min(850px,100%);
  margin:0 auto;
  filter:drop-shadow(0 28px 34px rgba(28,24,34,.22));
}
.demo-device-stage .demo-stage:before{opacity:.45}
.demo-screen img,.demo-screen video{object-position:center top}
.demo-caption{margin-top:13px}

@media(max-width:640px){
  .demo-device-stage{
    border-radius:24px;
    padding:22px 10px 14px;
  }
  .demo-device-stage .demo-stage{width:100%;filter:drop-shadow(0 18px 24px rgba(28,24,34,.20))}
  .demo-caption{margin-top:9px}
}
