/* sharpsoft.css — the "sharp meets soft" brand skin */
:root{
  --ground:#f4f6fc; --surface:#ffffff; --ink:#191b2e; --muted:#63687f;
  --line:#e6e8f2;
  --blue:#3a5bff; --coral:#ff5d73; --sunny:#ffc23d; --mint:#12c9a0; --grape:#9b5cff;
  --r:22px; --r-sm:14px;
  --disp:ui-rounded,"SF Pro Rounded","Nunito",system-ui,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --maxw:1080px;
}
body{font-family:var(--body);color:var(--ink);background:var(--ground);
  -webkit-font-smoothing:antialiased;line-height:1.55;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
h1,h2,h3{font-family:var(--disp);font-weight:800;letter-spacing:-.02em;text-wrap:balance;margin:0;}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px;}

/* logo: soft tile with one sharp-cut corner */
.logo{display:inline-flex;align-items:center;gap:11px;font-family:var(--disp);
  font-weight:800;font-size:19px;letter-spacing:-.02em;text-decoration:none;color:var(--ink);}
.logo .mark{width:30px;height:30px;background:linear-gradient(135deg,var(--blue),var(--grape));
  border-radius:11px 11px 11px 2px;position:relative;box-shadow:0 4px 12px rgba(58,91,255,.32);}
.logo .mark::after{content:"";position:absolute;inset:0;border-radius:11px 11px 11px 2px;
  background:linear-gradient(135deg,transparent 55%,rgba(255,255,255,.35));}
.logo b{font-weight:800;}.logo span{color:var(--muted);font-weight:800;}

/* nav */
header.nav{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:saturate(1.4) blur(10px);
  backdrop-filter:saturate(1.4) blur(10px);
  background:rgba(244,246,252,.82);border-bottom:1px solid var(--line);}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;}
.nav nav{display:flex;align-items:center;gap:26px;}
.nav nav a{text-decoration:none;color:var(--muted);font-weight:600;font-size:15px;}
.nav nav a:hover{color:var(--ink);}
.btn{font-family:var(--disp);font-weight:800;font-size:15px;text-decoration:none;
  padding:11px 20px;border-radius:100px;border:0;cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease;display:inline-block;}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 6px 18px rgba(58,91,255,.34);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(58,91,255,.42);}
.nav .btn{padding:9px 17px;font-size:14px;}
@media(max-width:640px){.nav nav a.link{display:none;}}

/* hero */
.hero{position:relative;overflow:hidden;padding:78px 0 64px;}
.hero .wrap{position:relative;z-index:2;max-width:820px;}
.eyebrow{font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue);margin-bottom:18px;}
.hero h1{font-size:clamp(38px,7vw,68px);line-height:1.02;}
.hero h1 .soft{color:var(--grape);}.hero h1 .sharp{color:var(--blue);}
.hero p.lede{font-size:clamp(17px,2.4vw,21px);color:var(--muted);max-width:37ch;margin:22px 0 30px;line-height:1.5;}
.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.btn-ghost{background:var(--surface);color:var(--ink);border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--blue);transform:translateY(-2px);}
.confetti{position:absolute;inset:0;z-index:1;pointer-events:none;}
.confetti i{position:absolute;display:block;opacity:.9;animation:float 7s ease-in-out infinite;}
.dot{border-radius:50%;}
.tri{width:0;height:0;border-left:var(--s) solid transparent;border-right:var(--s) solid transparent;
  border-bottom:calc(var(--s)*1.7) solid currentColor;filter:drop-shadow(0 6px 10px rgba(0,0,0,.08));}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(8deg)}}

/* section framing */
section{padding:64px 0;}
.kicker{font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.sec-head h2{font-size:clamp(28px,4.5vw,40px);}
.sec-head p{color:var(--muted);font-size:17px;margin:12px 0 0;max-width:52ch;}

/* apps grid */
.apps{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px;}
@media(max-width:720px){.apps{grid-template-columns:1fr;}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:24px;transition:transform .18s ease,box-shadow .18s ease;position:relative;
  overflow:hidden;text-decoration:none;color:inherit;display:block;}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(25,27,46,.12);}
.card.feature{grid-column:1/-1;display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:center;
  background:linear-gradient(135deg,#1b1712,#241d16);border-color:#33291f;color:#f3ece1;}
@media(max-width:560px){.card.feature{grid-template-columns:1fr;}}
.card .tag{display:inline-block;font-family:var(--disp);font-weight:800;font-size:12px;letter-spacing:.06em;
  padding:5px 11px;border-radius:100px;text-transform:uppercase;}
.card h3{font-size:24px;margin:12px 0 8px;}
.card p{margin:0;color:var(--muted);font-size:15.5px;}
.card.feature p{color:#c9bdad;}
.cog-emblem{aspect-ratio:1;border-radius:18px;background:
  radial-gradient(120% 120% at 30% 20%,#3a2f22,#17120d);display:grid;place-items:center;
  border:1px solid #4a3b2b;box-shadow:inset 0 0 30px rgba(0,0,0,.6);}
.cog-emblem .em{font-size:64px;filter:drop-shadow(0 0 14px rgba(255,122,41,.5));}
.tag.amber{background:rgba(255,122,41,.16);color:#ff9a4d;}
.tag.blue{background:rgba(58,91,255,.12);color:var(--blue);}
.tag.mint{background:rgba(18,201,160,.14);color:#0f9e7e;}
.card .arrow{position:absolute;top:22px;right:22px;font-family:var(--disp);font-weight:800;
  color:var(--muted);transition:transform .18s ease;}
.card:hover .arrow{transform:translate(3px,-3px);color:var(--blue);}
.card.feature .arrow{color:#c9bdad;}
.soon{background:repeating-linear-gradient(135deg,#fbfcff,#fbfcff 12px,#f4f6fc 12px,#f4f6fc 24px);
  border-style:dashed;}
.soon h3{color:var(--muted);}

/* studio strip */
.studio{background:linear-gradient(135deg,var(--blue),var(--grape));color:#fff;border-radius:28px;
  padding:46px;text-align:center;}
.studio h2{font-size:clamp(26px,4vw,38px);color:#fff;}
.studio p{color:rgba(255,255,255,.9);max-width:48ch;margin:16px auto 0;font-size:17px;}
.studio .btn{margin-top:26px;background:#fff;color:var(--blue);}
.studio .btn:hover{transform:translateY(-2px);}

/* footer */
footer{padding:44px 0 60px;border-top:1px solid var(--line);margin-top:20px;}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;}
footer .fnote{color:var(--muted);font-size:14px;}
footer nav{display:flex;gap:20px;flex-wrap:wrap;}
footer nav a{color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;padding:6px 0;display:inline-block;}
footer nav a:hover{color:var(--ink);}
