/* Foss Theory — Apple-grade presentation system. Black, white, #f5f5f7. One blue. Nothing else. */
:root{
  --ink:#1d1d1f; --mut:#6e6e73; --faint:#86868b;
  --bg:#fff; --alt:#f5f5f7; --dark:#000; --dark2:#161617;
  --blue:#0066cc; --blue-btn:#0071e3; --blue-dark:#2997ff;
  --hair:#d2d2d7; --radius:18px;
  --ease:cubic-bezier(.28,.11,.32,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:#0071e3;color:#fff}

/* ——— Nav: thin, dark, translucent (Apple global nav) ——— */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:52px;background:rgba(22,22,23,.8);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}
.nav-in{max-width:1024px;margin:0 auto;height:52px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav .brand{color:#f5f5f7;font-size:15px;font-weight:700;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.nav .brand span{font-weight:400;color:#a1a1a6}
.nav .links{display:flex;gap:28px;align-items:center}
.nav .links a{color:#f5f5f7;opacity:.82;font-size:12px;font-weight:400;letter-spacing:.01em;text-decoration:none;transition:opacity .3s;white-space:nowrap}
.nav .links a:hover{opacity:1;text-decoration:none}
.nav .links a.cta{background:var(--blue-btn);opacity:1;padding:5px 12px;border-radius:980px;font-size:12px}
.nav .links a.cta:hover{background:#0077ed}
@media(max-width:760px){.nav .links a:not(.cta){display:none}.nav .links a.mob{display:block}}

/* ——— Layout ——— */
.section{padding:110px 22px}
.section.tight{padding:80px 22px}
.wrap{max-width:1024px;margin:0 auto}
.wrap-wide{max-width:1200px;margin:0 auto}
.center{text-align:center}
.alt{background:var(--alt)}
.dark{background:var(--dark);color:#f5f5f7}
.dark2{background:var(--dark2);color:#f5f5f7}
.dark .sub,.dark2 .sub{color:#a1a1a6}
.dark a,.dark2 a{color:var(--blue-dark)}

/* ——— Type (Apple scale) ——— */
.eyebrow{font-size:21px;font-weight:600;line-height:1.19;letter-spacing:.011em}
.eyebrow .new{color:#b64400;font-size:14px;font-weight:600;vertical-align:super;margin-left:6px}
.dark .eyebrow .new{color:#f56300}
h1,.h-hero{font-size:clamp(44px,7.4vw,88px);font-weight:700;line-height:1.05;letter-spacing:-.015em}
h2,.h-sec{font-size:clamp(36px,5.6vw,64px);font-weight:700;line-height:1.08;letter-spacing:-.012em}
h3,.h-sub{font-size:clamp(24px,3.4vw,32px);font-weight:600;line-height:1.2;letter-spacing:.004em}
.lead{font-size:clamp(19px,2.6vw,28px);font-weight:400;line-height:1.35;letter-spacing:.011em;color:var(--ink)}
.dark .lead{color:#f5f5f7}
.sub{font-size:17px;line-height:1.55;font-weight:400;color:var(--mut);letter-spacing:-.01em}
.small{font-size:14px;line-height:1.5;color:var(--mut)}
.grad{background:linear-gradient(90deg,#0090ff,#a259ff,#ff5e8a);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-blue{background:linear-gradient(90deg,#2997ff,#7d4aff);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ——— Links & buttons (Apple) ——— */
.more{font-size:17px;color:var(--blue)}
.more::after{content:" ›"}
.dark .more{color:var(--blue-dark)}
.more:hover{text-decoration:underline}
.linkrow{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.linkrow.left{justify-content:flex-start}
.btn{display:inline-block;background:var(--blue-btn);color:#fff;font-size:17px;font-weight:400;padding:12px 24px;border-radius:980px;text-decoration:none;transition:background .3s}
.btn:hover{background:#0077ed;text-decoration:none}
.btn.sm{font-size:15px;padding:9px 18px}
.btn.ghostb{background:transparent;color:var(--blue);border:1px solid var(--blue)}
.btn.ghostb:hover{background:rgba(0,113,227,.08)}
.dark .btn,.dark2 .btn{color:#fff}

/* ——— Real product snapshot frame ——— */
.shot{margin:56px auto 0;max-width:1100px;border-radius:var(--radius);background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.06);overflow:hidden;text-align:left}
.dark .shot{box-shadow:0 24px 70px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.14)}
.shot .bar{height:38px;background:#f0f0f2;border-bottom:1px solid #e0e0e3;display:flex;align-items:center;gap:12px;padding:0 14px}
.dark .shot .bar{background:#2c2c2e;border-bottom-color:#3a3a3c}
.shot .dots{display:flex;gap:7px;flex:none}
.shot .dots i{width:11px;height:11px;border-radius:50%;display:block}
.shot .dots i:nth-child(1){background:#ff5f57}.shot .dots i:nth-child(2){background:#febc2e}.shot .dots i:nth-child(3){background:#28c840}
.shot .url{flex:1;max-width:430px;margin:0 auto;background:#fff;color:#6e6e73;font-size:12px;text-align:center;padding:4px 12px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dark .shot .url{background:#1c1c1e;color:#a1a1a6}
.shot img{display:block;width:100%;height:auto}
.shot.plain{box-shadow:0 24px 70px rgba(0,0,0,.18);border-radius:var(--radius)}
.cap{margin-top:16px;font-size:12px;color:var(--faint);text-align:center;letter-spacing:.01em}

/* ——— Highlight tiles ——— */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:56px;text-align:left}
@media(max-width:820px){.tiles{grid-template-columns:1fr}}
.tile{background:var(--alt);border-radius:var(--radius);padding:44px 40px 0;overflow:hidden}
.tile.white{background:#fff;box-shadow:inset 0 0 0 1px #e8e8ed}
.dark .tile,.dark2 .tile{background:#1c1c1e}
.tile h3{font-size:24px;font-weight:700;letter-spacing:.009em}
.tile p{margin-top:8px;font-size:15px;line-height:1.5;color:var(--mut)}
.dark .tile p{color:#a1a1a6}
.tile .tshot{margin:30px -14px 0;border-radius:12px 12px 0 0;overflow:hidden;box-shadow:0 -6px 30px rgba(0,0,0,.12)}
.tile .tshot img{display:block;width:100%}
.tile .more{display:inline-block;margin-top:14px;font-size:15px}

/* ——— Feature highlights ——— */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:64px;text-align:left}
@media(max-width:820px){.feats{grid-template-columns:1fr;gap:28px}}
.feat h3{font-size:21px;font-weight:700;letter-spacing:.011em}
.feat p{margin-top:8px;font-size:15px;line-height:1.55;color:var(--mut)}
.dark .feat p{color:#a1a1a6}
.feat .fi{font-size:15px;font-weight:700;color:var(--blue);letter-spacing:.02em;margin-bottom:10px}
.dark .feat .fi{color:var(--blue-dark)}

/* ——— Spec strip ——— */
.specs{display:flex;justify-content:center;gap:0;flex-wrap:wrap;margin-top:56px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.dark .specs{border-color:#333336}
.spec{padding:22px 30px;text-align:center}
.spec b{display:block;font-size:26px;font-weight:700;letter-spacing:-.01em}
.spec span{font-size:12.5px;color:var(--mut)}
.dark .spec span{color:#a1a1a6}

/* ——— Statement ——— */
.statement{font-size:clamp(28px,4.4vw,48px);font-weight:700;line-height:1.18;letter-spacing:-.01em;max-width:880px;margin:0 auto}
.statement .dim{color:var(--faint)}

/* ——— Code ——— */
.code{background:#161617;color:#f5f5f7;border-radius:var(--radius);padding:30px 32px;font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:13.5px;line-height:1.9;overflow-x:auto;text-align:left}
.code .c{color:#86868b}.code .k{color:#ff7ab2}.code .s{color:#a8d88a}

/* ——— Next product ——— */
.nextp{display:block;text-align:center;padding:90px 22px;text-decoration:none}
.nextp:hover{text-decoration:none}
.nextp .nx{font-size:14px;color:var(--mut);letter-spacing:.02em}
.nextp .nn{font-size:clamp(34px,5vw,56px);font-weight:700;color:var(--ink);letter-spacing:-.012em;margin-top:8px}
.nextp:hover .nn{color:var(--blue)}

/* ——— Footer (Apple legal style) ——— */
footer{background:var(--alt);color:#6e6e73;font-size:12px;line-height:1.5;padding:34px 22px 30px}
.foot-in{max-width:1024px;margin:0 auto}
.foot-notes{border-bottom:1px solid var(--hair);padding-bottom:18px;color:#6e6e73}
.foot-notes p{margin-bottom:8px}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--hair)}
@media(max-width:760px){.foot-cols{grid-template-columns:1fr 1fr}}
.foot-cols h4{font-size:12px;font-weight:600;color:#1d1d1f;margin-bottom:9px}
.foot-cols a{display:block;color:#424245;font-size:12px;margin-bottom:7px;text-decoration:none}
.foot-cols a:hover{text-decoration:underline}
.foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;color:#6e6e73}
.foot-base a{color:#424245}

/* ——— Reveal on scroll ——— */
.rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
.hero-pad{padding-top:150px}
@media(max-width:760px){.section{padding:76px 20px}.hero-pad{padding-top:110px}}
