:root {
  color-scheme: light;
  --canvas: #eef0f2;
  --card: #ffffff;
  --ink: #101216;
  --muted: #5f646a;
  --line: rgba(16, 18, 22, .1);
  --cyan: #72e8f2;
  --green: #05a75b;
  --blue: #3078f0;
  --ease: cubic-bezier(.2, .8, .2, 1);
}

@property --flap { syntax: "<number>"; inherits: false; initial-value: -30; }
@property --flap-hover { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --flap-nudge { syntax: "<number>"; inherits: false; initial-value: 0; }

* { box-sizing: border-box; }
/* Held hidden until GSAP takes them over - see the inline script in <head>. */
.gsap-pending .announcement,
.gsap-pending .hero-stage,
.gsap-pending .product-statement h2,
.gsap-pending .speed-heading,
.gsap-pending .feature,
.gsap-pending .review-card,
.gsap-pending .faq-list details,
.gsap-pending .folder-back,
.gsap-pending .folder-file,
.gsap-pending .folder-front { opacity: 0; }


html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 96px; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--canvas);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, a { color: inherit; font: inherit; }
a { text-decoration: none; }
button { border: 0; }
.shell { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
.shell-wide { width: min(1340px, calc(100% - 64px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 200; top: 8px; left: 8px; padding: 10px 14px; background: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: none; }

.nav {
  position: sticky;
  z-index: 50;
  top: 14px;
  width: min(1340px, calc(100% - 64px));
  height: 94px;
  margin-top: 14px;
  margin-inline: auto;
  padding-inline: 4px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 28px;
  transition: width .45s var(--ease), height .45s var(--ease), padding .45s var(--ease), background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.nav.is-scrolled {
  width: min(960px, calc(100% - 32px));
  height: 68px;
  padding-inline: 13px;
  border-color: rgba(255,255,255,.8);
  background: rgba(242,245,247,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 30px rgba(28,39,52,.12), 0 2px 5px rgba(28,39,52,.06);
  backdrop-filter: blur(28px) saturate(170%);
  -webkit-backdrop-filter: blur(28px) saturate(170%);
}
.brand { display: inline-flex; align-items: center; gap: 14px; justify-self: start; font-size: 27px; font-weight: 500; letter-spacing: -.04em; }
.brand img { border-radius: 13px; box-shadow: 0 9px 26px rgba(25, 72, 150, .2); }
.nav .brand img { width: 60px; height: 60px; border-radius: 15px; }
.brand i { color: #62676c; font-style: normal; font-weight: 400; }
.nav-links { display: flex; gap: 28px; color: #666a70; font-size: 14px; }
.nav-links a { transition: color .2s ease; }
.nav-links a:hover { color: var(--ink); }
.nav.is-scrolled .brand { font-size: 21px; }
.nav.is-scrolled .brand img { width: 48px; height: 48px; border-radius: 12px; }
.nav.is-scrolled .buy-pill { min-height: 48px; padding-inline: 20px; font-size: 15px; }
.buy-pill {
  justify-self: end;
  min-height: 64px;
  padding: 0 29px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  background: linear-gradient(180deg, #26292d 0%, #090c0f 55%, #030506 100%);
  color: white;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), inset 0 -1px 0 rgba(255,255,255,.08), 0 8px 10px rgba(13,19,25,.18), 0 20px 28px rgba(13,19,25,.13);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -.02em;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.buy-pill:hover { transform: translateY(-2px) scale(1.015); box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 12px 16px rgba(13,19,25,.2), 0 24px 34px rgba(13,19,25,.16); }
.buy-pill:active { transform: translateY(1px) scale(.985); }
.apple { color: #fff; font-size: 21px; line-height: 1; }

.hero { padding: 82px 0 34px; overflow-x: clip; text-align: center; }
.announcement {
  min-height: 49px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(78, 164, 177, .25);
  border-radius: 999px;
  background: rgba(226, 253, 255, .82);
  box-shadow: inset 0 1px 0 #fff, 0 10px 24px rgba(47, 117, 129, .1);
  font-size: 16px;
  letter-spacing: -.02em;
}
.announcement span { width: 11px; height: 11px; border-radius: 50%; background: #32dce8; box-shadow: 0 0 0 4px rgba(50,220,232,.15), inset 0 1px 2px rgba(0,0,0,.2); }
.announcement b { color: #70777b; font-size: 27px; font-weight: 400; line-height: .7; }
.hero h1 { margin: 43px auto 0; font-size: clamp(74px, 8vw, 132px); line-height: .88; letter-spacing: -.075em; font-weight: 650; text-wrap: balance; }
.hero h1 span { color: #4d5156; }
.hero-subtitle { max-width: 860px; margin: 30px auto 62px; color: var(--muted); font-size: clamp(18px, 2vw, 24px); line-height: 1.4; letter-spacing: -.025em; text-wrap: balance; }
.hero-stage { position: relative; visibility: visible; aspect-ratio: 2000 / 1383; perspective: 2400px; perspective-origin: 50% 82%; }
.laptop { position: absolute; inset: 0; transform-style: preserve-3d; }
/* Lid geometry is lifted straight from the product render, so the hinge line is the real one. */
.laptop-lid { --lid-angle: 0deg; position: absolute; top: 9.255%; left: 10.75%; width: 78.5%; height: 77.58%; transform-origin: 50% 100%; transform: rotateX(var(--lid-angle)); transform-style: preserve-3d; will-change: transform; }
.lid-frame { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; user-select: none; }
.screen-slot { position: absolute; z-index: 1; top: 1.678%; left: 1.401%; width: 97.325%; height: 93.663%; overflow: hidden; background: #000; }
.screen-off { position: absolute; z-index: 2; top: 1.678%; left: 1.401%; width: 97.325%; height: 93.663%; background: #0b0c0e; opacity: var(--lid-dim, 0); pointer-events: none; }
.laptop-base { position: absolute; z-index: 5; top: 86.62%; left: 2.4%; width: 95.25%; height: 5.93%; display: block; pointer-events: none; user-select: none; }
.laptop-shadow { position: absolute; top: 92%; left: 50%; width: 82%; height: 4.4%; border-radius: 50%; background: radial-gradient(ellipse at 50% 50%, rgba(48,38,30,.3), rgba(48,38,30,.12) 48%, transparent 74%); filter: blur(10px); transform: translateX(-50%); }

.desktop {
  position: absolute;
  top: 0;
  left: 0;
  width: 1517px;
  height: 994px;
  overflow: hidden;
  background: #1d2430;
  text-align: left;
  transform: scale(var(--device-scale, .67));
  transform-origin: top left;
}
.desktop-wallpaper { position: absolute; inset: 0; background: radial-gradient(ellipse at 62% 42%, rgba(86,141,211,.95), transparent 22%), radial-gradient(ellipse at 55% 80%, #223d70, #172131 55%, #0d1118 92%); }
.desktop-wallpaper::after { position: absolute; inset: 0; opacity: .13; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; content: ""; }
.mac-bar { position: relative; z-index: 7; height: 30px; padding: 0 16px; display: grid; grid-template-columns: repeat(7,max-content) 1fr max-content; align-items: center; gap: 18px; background: rgba(19,25,34,.3); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(24px) saturate(150%); color: rgba(255,255,255,.88); font-size: 11px; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.apple-mark { font-size: 13px; }
.mac-status { font-variant-numeric: tabular-nums; }
.desktop-files { position: absolute; z-index: 3; top: 52px; right: 20px; display: grid; gap: 9px; }
.desktop-file { width: 120px; min-height: 112px; padding: 8px 4px; display: flex; flex-direction: column; align-items: center; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #fff; cursor: pointer; text-align: center; transition: background .2s, border-color .2s, transform .3s var(--ease); }
.desktop-file:hover { transform: translateY(-3px); }
.desktop-file:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.desktop-file.active { border-color: rgba(255,255,255,.25); background: rgba(71,130,229,.34); }
.desktop-file b { width: 110px; margin-top: 7px; overflow: hidden; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.desktop-file small { margin-top: 2px; color: rgba(255,255,255,.5); font-size: 9px; }
.file-glyph { width: 48px; height: 58px; display: grid; place-items: center; border-radius: 5px 12px 5px 5px; color: #fff; font-size: 10px; font-weight: 800; box-shadow: 0 10px 18px rgba(0,0,0,.25); }
.file-pdf { background: linear-gradient(145deg,#ff685e,#b92037); }.file-csv { background: linear-gradient(145deg,#55d794,#147443); }.file-image { background: linear-gradient(145deg,#53c9ff,#4853d6); }.file-zip { background: linear-gradient(145deg,#e5ba5b,#9f6424); }.file-video { background: linear-gradient(145deg,#b37aff,#5c36aa); font-size: 17px; }
.scope-window { position: absolute; z-index: 4; top: 72px; left: 34px; width: calc(100% - 205px); height: 674px; overflow: hidden; border: 1px solid rgba(255,255,255,.27); border-radius: 18px; background: rgba(18,22,29,.84); box-shadow: 0 38px 90px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.2); backdrop-filter: blur(32px) saturate(130%); }
.scope-bar { height: 49px; padding: 0 15px; display: grid; grid-template-columns: 36px 1fr auto; align-items: center; border-bottom: 1px solid rgba(255,255,255,.08); color: white; }
.scope-close { position: relative; width: 27px; height: 27px; border-radius: 50%; background: rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.scope-close::before,.scope-close::after { position: absolute; top: 13px; left: 8px; width: 11px; height: 1px; background: rgba(255,255,255,.78); transform: rotate(45deg); content: ""; }.scope-close::after { transform: rotate(-45deg); }
.scope-bar strong { overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.scope-tools { display: flex; gap: 17px; color: rgba(255,255,255,.67); }
.scope-content { height: calc(100% - 78px); position: relative; overflow: hidden; background: rgba(5,7,10,.5); color: white; }
.preview-pane { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: scale(.97); }
.preview-pane.active { opacity: 1; visibility: visible; transform: scale(1); }
.scope-status { height: 29px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.42); font-size: 10px; }.scope-status strong { color: #62e8f8; font-weight: 600; }
.pdf-preview { padding: 30px 88px 30px 45px; }.pdf-sheet { position: relative; height: 100%; padding: 55px 60px; overflow: hidden; background: #e9e5dc; color: #151515; box-shadow: 0 18px 40px rgba(0,0,0,.4); }.pdf-sheet small { font-size: 9px; letter-spacing: .19em; }.pdf-sheet h3 { margin: 70px 0 0; font-size: 56px; line-height: .91; letter-spacing: -.055em; }.pdf-sheet b { position: absolute; right: 50px; bottom: 38px; color: #e04a42; font-size: 62px; letter-spacing: -.06em; }.pdf-lines { position: absolute; right: 58px; bottom: 56px; left: 58px; height: 86px; border-top: 1px solid rgba(0,0,0,.15); background: repeating-linear-gradient(0deg,transparent 0 12px,rgba(0,0,0,.1) 12px 13px); }.page-rail { position: absolute; top: 30px; right: 18px; width: 48px; display: grid; gap: 10px; }.page-rail i { height: 63px; background: rgba(255,255,255,.38); border: 1px solid rgba(255,255,255,.17); }.page-rail i:first-child { outline: 2px solid #38d8ed; outline-offset: 2px; background: #e9e5dc; }
.csv-preview { padding: 28px; }.csv-search { height: 46px; padding: 0 15px; display: flex; align-items: center; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.055); color: rgba(255,255,255,.55); font-size: 12px; }.csv-search b { margin-left: auto; color: #55dfa0; font-size: 10px; }.csv-table { margin-top: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); }.csv-head,.csv-rows div { height: 38px; display: grid; grid-template-columns: 70px 1.2fr 1fr .8fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.07); }.csv-head { background: rgba(255,255,255,.09); }.csv-head b,.csv-rows span { padding: 0 13px; border-right: 1px solid rgba(255,255,255,.06); font-size: 11px; }.csv-rows div:nth-child(odd) { background: rgba(255,255,255,.025); }.csv-rows span { color: rgba(255,255,255,.66); }
.image-preview { padding: 30px; }.image-canvas { position: relative; height: 100%; overflow: hidden; background: radial-gradient(circle at 50% 50%,#eff6fb,#dfe8ed 65%,#cbd7df); }.image-canvas::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(27,74,102,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(27,74,102,.08) 1px,transparent 1px); background-size: 30px 30px; content: ""; }.diagram-node { position: absolute; z-index: 2; width: 130px; height: 58px; display: grid; place-items: center; border: 1px solid #458fbb; border-radius: 14px; background: rgba(255,255,255,.84); color: #155070; font-size: 13px; font-weight: 700; box-shadow: 0 12px 25px rgba(35,91,123,.12); }.node-a { top: 16%; left: 10%; }.node-b { top: 48%; left: 42%; }.node-c { right: 9%; bottom: 12%; }.diagram-lines { position: absolute; top: 27%; left: 23%; width: 56%; height: 46%; border: 2px solid #4daed3; border-left: 0; border-bottom: 0; transform: skewY(23deg); }.image-preview>span { position: absolute; right: 43px; bottom: 40px; padding: 7px 9px; background: rgba(0,0,0,.58); font: 10px ui-monospace,monospace; }
.zip-preview { padding: 42px; }.zip-summary { padding-bottom: 31px; display: flex; align-items: center; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.11); }.zip-cube { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid #dcad57; color: #f1c66f; font-size: 35px; }.zip-summary b,.zip-summary small { display: block; }.zip-summary b { font-size: 18px; }.zip-summary small { margin-top: 4px; color: #5ae5b0; font-size: 11px; }.zip-list { margin-top: 20px; display: grid; }.zip-list span { padding: 14px 8px; border-bottom: 1px solid rgba(255,255,255,.07); color: rgba(255,255,255,.68); font: 12px ui-monospace,monospace; }
.video-preview { padding: 28px; }.video-frame { position: relative; height: calc(100% - 54px); overflow: hidden; background: linear-gradient(#84b4cf 0 48%,#debd79 48% 55%,#315c77 55%); }.video-frame::after { position: absolute; inset: 0; background: linear-gradient(110deg,transparent,rgba(255,255,255,.2),transparent); content: ""; }.video-sun { position: absolute; top: 22%; left: 48%; width: 150px; height: 150px; border-radius: 50%; background: #ffdc92; box-shadow: 0 0 90px #ffc566; }.play { position: absolute; z-index: 2; top: 50%; left: 50%; width: 72px; height: 72px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(0,0,0,.24); backdrop-filter: blur(12px); transform: translate(-50%,-50%); }.video-controls { height: 54px; display: flex; align-items: center; gap: 16px; }.video-controls i { flex: 1; height: 3px; background: linear-gradient(90deg,#42d8eb 28%,rgba(255,255,255,.18) 28%); }.video-controls b { color: rgba(255,255,255,.45); font: 10px ui-monospace,monospace; }
.desktop-caption { position: absolute; z-index: 8; top: 40px; left: 17px; min-width: 280px; padding: 11px 13px; display: grid; grid-template-columns: auto 1fr; gap: 3px 9px; border: 1px solid rgba(255,255,255,.2); border-radius: 11px; background: rgba(11,14,19,.48); color: white; backdrop-filter: blur(18px); }.live-dot { grid-row: span 2; align-self: center; width: 7px; height: 7px; border-radius: 50%; background: #52efad; box-shadow: 0 0 16px #52efad; }.desktop-caption b { font-size: 11px; }.desktop-caption>span:last-child { color: rgba(255,255,255,.48); font-size: 10px; }
.mac-dock { position: absolute; z-index: 8; bottom: 10px; left: 50%; height: 58px; padding: 7px 9px; display: flex; align-items: center; gap: 7px; border: 1px solid rgba(255,255,255,.24); border-radius: 17px; background: rgba(230,236,244,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 10px 30px rgba(0,0,0,.22); backdrop-filter: blur(24px) saturate(180%); transform: translateX(-50%); }
.mac-dock i,.mac-dock img { width: 43px; height: 43px; display: block; border-radius: 10px; box-shadow: 0 4px 9px rgba(0,0,0,.22); }.mac-dock img { object-fit: cover; }.mac-dock span { width: 1px; margin-inline: 4px; }
.dock-finder { background: linear-gradient(160deg,#8fd0ff,#3f9bef); }.dock-finder::after,.dock-mail::after,.dock-maps::after,.dock-music::after,.dock-settings::after,.dock-trash::after { position: absolute; inset: 0; content: ""; }
.dock-safari { background: radial-gradient(circle at 50% 50%,#fff 0 30%,#4fb2f0 31% 62%,#1f74d6 63%); }
.dock-mail { background: linear-gradient(160deg,#7fd0ff,#2b8ef0); }
.dock-message { background: radial-gradient(ellipse at 50% 44%,#fff 0 30%,transparent 31%),linear-gradient(160deg,#6ceb78,#12a52c); }
.dock-maps { background: linear-gradient(160deg,#a8e6a0 0 42%,#f2e9d0 43% 58%,#8fd0f5 59%); }
.dock-photo { background: conic-gradient(#ff5454,#ffbd3e,#76d55a,#45cfe4,#6686f1,#cb68ed,#ff5454); }
.dock-music { background: linear-gradient(160deg,#fc5c7d,#f5325b); }
.dock-settings { background: linear-gradient(160deg,#c2c8d0,#7d8794); }
.dock-folder { background: linear-gradient(#83c9ff 0 26%,#3d9be9 27%); }
.dock-trash { background: linear-gradient(160deg,rgba(255,255,255,.5),rgba(255,255,255,.24)); border: 1px solid rgba(255,255,255,.45); }
.mac-dock i { position: relative; }
.mb-wifi,.mb-battery { display: inline-block; background: currentColor; opacity: .92; }
.mb-wifi { width: 15px; height: 11px; clip-path: polygon(50% 100%,0 26%,10% 16%,50% 52%,90% 16%,100% 26%); }
.mb-battery { width: 22px; height: 11px; border-radius: 3px; background: none; box-shadow: inset 0 0 0 1.2px currentColor; position: relative; }
.mb-battery::after { position: absolute; inset: 2.5px; width: 11px; border-radius: 1px; background: currentColor; content: ""; }

.product-statement { padding: 92px 0 150px; text-align: center; }
.product-statement h2 { max-width: 1080px; margin: 0 auto; font-size: clamp(52px, 5.8vw, 84px); line-height: 1.02; letter-spacing: -.06em; font-weight: 650; text-wrap: balance; }
.product-statement p { max-width: 720px; margin: 38px auto 0; color: var(--muted); font-size: 24px; line-height: 1.45; letter-spacing: -.025em; }

.speed-section { padding-bottom: 160px; }
.speed-stage { position: relative; min-height: 890px; overflow: hidden; border-radius: 42px; background: #a9f4f4; box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
.speed-heading { position: relative; z-index: 3; padding-top: 58px; text-align: center; }
.speed-heading h2 { margin: 0; font-size: 60px; line-height: .95; letter-spacing: -.055em; }
.speed-heading p { margin: 18px 0 0; font-size: 19px; }
.speed-number { position: absolute; z-index: 3; top: 245px; left: 50%; width: 640px; height: 390px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(0,62,67,.12); border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.78), rgba(216,255,255,.5) 52%, rgba(121,231,232,.12) 72%); box-shadow: inset 0 1px 4px rgba(255,255,255,.9), 0 35px 70px rgba(17,116,121,.12); transform: translateX(-50%); }
.speed-number strong { font-size: 154px; line-height: .78; letter-spacing: -.09em; font-variant-numeric: tabular-nums; }
.speed-number span { margin-top: 18px; font-size: 28px; font-weight: 600; letter-spacing: -.04em; }
.speed-number small { margin-top: 10px; color: #42696c; font-size: 15px; }
.speed-rings i { position: absolute; z-index: 1; top: 49%; left: 50%; border: 1px solid rgba(5,92,97,.12); border-radius: 50%; }.speed-rings i:nth-child(1) { width: 730px; height: 480px; margin: -240px 0 0 -365px; }.speed-rings i:nth-child(2) { width: 900px; height: 610px; margin: -305px 0 0 -450px; }.speed-rings i:nth-child(3) { width: 1080px; height: 760px; margin: -380px 0 0 -540px; }.speed-rings i:nth-child(4) { width: 1280px; height: 910px; margin: -455px 0 0 -640px; }
/* Auto-advance progress on the selected metric */
.speed-selector button,.format-selector button { position: relative; }

.speed-selector,.format-selector { position: absolute; z-index: 4; bottom: 40px; left: 50%; padding: 8px; display: flex; gap: 6px; border: 1px solid rgba(21,31,32,.08); border-radius: 26px; background: rgba(248,255,255,.68); box-shadow: inset 0 1px 0 white, 0 14px 35px rgba(34,90,93,.12); backdrop-filter: blur(22px); transform: translateX(-50%); }
.speed-selector button,.format-selector button { min-width: 130px; min-height: 70px; padding: 9px 16px; border-radius: 19px; background: transparent; cursor: pointer; transition: background .25s ease, box-shadow .25s ease, transform .25s ease; }
.speed-selector button:hover,.format-selector button:hover { transform: translateY(-1px); }
/* One highlight that slides between chips instead of four that blink on and off. */
.selector-thumb { position: absolute; top: 0; left: 0; width: 0; height: 0; overflow: hidden; border-radius: 19px; background: #fff; box-shadow: 0 5px 16px rgba(20,54,57,.14), inset 0 0 0 2px rgba(13,17,18,.8); }
.is-ready .selector-thumb { transition: transform .5s var(--ease), width .5s var(--ease), height .5s var(--ease); }
/* The highlight fills softly over the auto-advance interval. The gradient fades toward
   its own right edge, so the leading edge stays feathered as it scales across. */
.selector-thumb::after { position: absolute; inset: 2px; border-radius: 17px; background: linear-gradient(90deg, rgba(38,200,216,.34) 0 45%, rgba(38,200,216,.10) 78%, rgba(38,200,216,0)); transform: scaleX(0); transform-origin: left; pointer-events: none; content: ""; }
.is-cycling .selector-thumb.is-filling::after { animation: metricFill 3.2s linear forwards; }
@keyframes metricFill { from { transform: scaleX(0); } to { transform: scaleX(1.06); } }
.speed-selector button b,.speed-selector button span,.format-selector button b,.format-selector button span { display: block; }.speed-selector button b,.format-selector button b { font-size: 15px; }.speed-selector button span,.format-selector button span { margin-top: 4px; color: #62686b; font-size: 11px; }
.comparison-card { margin-top: 48px; padding: 72px 72px 46px; border-radius: 42px; background: #fff; }
.comparison-title { display: grid; grid-template-columns: 1.35fr .65fr; gap: 70px; align-items: end; margin-bottom: 68px; }
.comparison-title h3 { margin: 0; font-size: clamp(38px, 4.2vw, 56px); line-height: 1; letter-spacing: -.05em; }
.comparison-title p { margin: 0 0 6px; color: var(--muted); font-size: 17px; line-height: 1.5; }
.comparison { border-top: 1px solid #14161a; }
.comparison-head,.comparison-row { min-height: 88px; display: grid; grid-template-columns: 1fr .9fr 1.15fr; gap: 30px; align-items: center; border-bottom: 1px solid var(--line); }
.comparison-head { min-height: 60px; color: #686d72; font-size: 11px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
.comparison-row strong { font-size: 17px; letter-spacing: -.02em; }.comparison-row span { color: #6c7075; font-size: 14px; }.comparison-row span:last-child { color: #25282c; }.comparison-row b { color: #1574dc; }
.benchmark-note { margin: 24px 0 0; color: #696d72; font-size: 11px; line-height: 1.5; text-align: right; }

.feature-grid { position: relative; padding-bottom: 160px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 28px; }
.feature {
  position: relative; overflow: hidden; border-radius: 42px;
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 26px 56px rgba(38,72,96,.12);
  backdrop-filter: blur(30px) saturate(170%);
  -webkit-backdrop-filter: blur(30px) saturate(170%);
}
.feature > * { position: relative; z-index: 1; }
/* Colour lives inside the glass, so nothing bleeds onto the page behind. */
.feature::before { position: absolute; z-index: 0; inset: -18%; filter: blur(46px); pointer-events: none; content: ""; }
.feature::after { position: absolute; z-index: 2; inset: 0; border-radius: inherit; background: linear-gradient(135deg, rgba(255,255,255,.28), transparent 20%); pointer-events: none; content: ""; }
.feature-local::before { background: radial-gradient(34% 32% at 22% 24%, rgba(64,214,206,.5), transparent 70%), radial-gradient(32% 30% at 78% 68%, rgba(120,174,255,.42), transparent 70%), radial-gradient(30% 28% at 60% 20%, rgba(255,214,150,.26), transparent 70%); }
.feature-cancel::before { background: radial-gradient(38% 36% at 82% 18%, rgba(120,174,255,.34), transparent 70%), radial-gradient(36% 34% at 14% 84%, rgba(64,214,180,.28), transparent 70%); }
.feature-memory::before { background: radial-gradient(40% 38% at 22% 18%, rgba(150,255,200,.34), transparent 70%), radial-gradient(38% 36% at 84% 82%, rgba(0,90,55,.4), transparent 70%); }
.feature h2,.feature h3 { margin: 0; letter-spacing: -.055em; text-wrap: balance; }.feature p { color: rgba(18,22,25,.68); line-height: 1.5; }
.feature-local { grid-row: span 2; min-height: 950px; padding: 56px; display: flex; flex-direction: column; justify-content: space-between; background: linear-gradient(152deg, rgba(228,253,252,.5), rgba(163,238,238,.36) 55%, rgba(192,246,241,.44)); }
.feature-local h2 { max-width: 680px; font-size: clamp(58px, 6vw, 86px); line-height: .94; }
.feature-local>div>p { max-width: 500px; margin: 28px 0 0; font-size: 19px; }
.feature-local ul { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; border-top: 1px solid rgba(17,48,50,.18); }
.feature-local li { padding: 18px 0; display: flex; align-items: center; gap: 13px; border-bottom: 1px solid rgba(17,48,50,.18); font-size: 17px; font-weight: 600; }.feature-local li svg { width: 25px; height: 25px; flex: none; color: rgba(13,74,78,.62); transition: color .25s ease, transform .35s var(--ease); }.feature-local li:hover svg { color: #0b4f53; transform: scale(1.12) rotate(-4deg); }.feature-local li:nth-child(even) { padding-left: 30px; border-left: 1px solid rgba(17,48,50,.18); }
/* Privacy proof: a readout the visitor can reproduce in Activity Monitor. */
.privacy-monitor { margin: 22px auto 6px; width: 100%; max-width: 600px; }
.pm-window { overflow: hidden; border: .5px solid rgba(255,255,255,.75); border-radius: 13px; background: rgba(252,253,253,.82); box-shadow: 0 26px 50px rgba(12,65,70,.18), 0 2px 6px rgba(12,65,70,.1), inset 0 .5px 0 #fff; backdrop-filter: blur(24px) saturate(140%); }
.pm-bar { position: relative; height: 40px; padding: 0 13px; display: flex; align-items: center; gap: 10px; border-bottom: .5px solid rgba(17,48,50,.1); background: linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,.32)); }
.pm-lights { display: flex; gap: 7px; }
.pm-lights i { width: 11px; height: 11px; border-radius: 50%; background: #febc2e; box-shadow: inset 0 0 0 .5px rgba(0,0,0,.08); }
.pm-lights i:first-child { background: #ff5f57; } .pm-lights i:last-child { background: #28c840; }
.pm-bar strong { position: absolute; left: 0; right: 0; text-align: center; color: #1d2b2c; font-size: 12.5px; font-weight: 600; letter-spacing: -.01em; }
.pm-tab { margin-left: auto; padding: 3px 10px; border-radius: 6px; background: rgba(17,72,76,.09); color: #14494d; font-size: 11px; font-weight: 600; letter-spacing: -.01em; }
.pm-graph { position: relative; padding: 14px 14px 10px; display: grid; grid-template-columns: 46px 1fr; gap: 0 10px; }
.pm-scale { display: flex; flex-direction: column; justify-content: space-between; padding: 1px 0 3px; text-align: right; }
.pm-scale b { color: rgba(20,60,64,.45); font: 500 9.5px ui-monospace,"SF Mono",monospace; }
.pm-plot { position: relative; height: 104px; overflow: hidden; border: 1px solid rgba(17,72,76,.12); border-radius: 7px; background: linear-gradient(rgba(255,255,255,.85),rgba(236,250,250,.7)); background-image: linear-gradient(rgba(17,72,76,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(17,72,76,.07) 1px, transparent 1px); background-size: 100% 26px, 34px 100%; }
.pm-line { position: absolute; right: 6px; bottom: 7px; left: 6px; height: 2px; border-radius: 2px; background: #16a8a0; box-shadow: 0 0 10px rgba(22,168,160,.5); }
.pm-line::after { position: absolute; inset: 0; background: #3f8dfb; opacity: .55; transform: translateY(2.5px); content: ""; }
.pm-sweep { position: absolute; top: 0; bottom: 0; width: 46px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.72)); animation: pmSweep 4.2s linear infinite; }
@keyframes pmSweep { from { transform: translateX(-46px); } to { transform: translateX(560px); } }
.pm-legend { grid-column: 2; margin-top: 8px; display: flex; align-items: center; gap: 6px; color: rgba(20,60,64,.5); font-size: 10.5px; letter-spacing: -.01em; }
.pm-legend i { width: 8px; height: 8px; margin-left: 4px; border-radius: 2px; background: #16a8a0; }
.pm-legend i:first-child { margin-left: 0; }
.pm-legend i.in { background: #3f8dfb; }
.pm-table { border-top: .5px solid rgba(17,48,50,.1); }
.pm-head,.pm-row { display: grid; grid-template-columns: 1.5fr 1fr 1fr .6fr; align-items: center; padding: 0 14px; }
.pm-head { height: 28px; background: rgba(17,72,76,.05); }
.pm-head span { color: rgba(20,60,64,.55); font-size: 10.5px; font-weight: 600; }
.pm-row { height: 34px; border-top: .5px solid rgba(17,48,50,.07); }
.pm-row span { color: #24393b; font-size: 12px; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.pm-row span:not(:first-child) { color: rgba(20,60,64,.62); }
.pm-row.is-scope { background: rgba(63,141,251,.08); }
.pm-row.is-scope span { font-weight: 600; color: #14494d; }
.pm-row span:first-child { display: flex; align-items: center; gap: 8px; }
.pm-row img { width: 18px; height: 18px; border-radius: 4.5px; }
.privacy-monitor figcaption { margin: 14px 2px 0; display: flex; align-items: center; gap: 9px; color: rgba(16,62,66,.62); font-size: 13px; letter-spacing: -.015em; }
.pm-live { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #16a8a0; box-shadow: 0 0 0 0 rgba(22,168,160,.45); animation: pmLive 2.6s ease-out infinite; }
@keyframes pmLive { 0% { box-shadow: 0 0 0 0 rgba(22,168,160,.45); } 70%,100% { box-shadow: 0 0 0 9px rgba(22,168,160,0); } }
.feature-cancel,.feature-memory { min-height: 461px; padding: 44px; display: flex; flex-direction: column; }
.feature-cancel { background: linear-gradient(152deg, rgba(255,255,255,.62), rgba(255,255,255,.42)); }
.feature-cancel h3,.feature-memory h3 { margin-top: 55px; font-size: 47px; line-height: 1; }
.feature-cancel>p,.feature-memory>p { max-width: 480px; margin: 18px 0 28px; font-size: 16px; }
.traffic-lights { flex: none; display: flex; gap: 9px; }.traffic-lights i { width: 14px; height: 14px; border-radius: 50%; background: #ff5f57; }.traffic-lights i:nth-child(2) { background: #febc2e; }.traffic-lights i:nth-child(3) { background: #28c840; }
.task-stack { margin-top: auto; display: grid; gap: 7px; }.task-stack span { padding: 12px 14px; display: flex; justify-content: space-between; border-radius: 10px; background: rgba(20,32,44,.055); color: #62666b; font-size: 12px; }.task-stack b { color: #a0a3a7; }.task-stack span:last-child { background: rgba(29,190,113,.16); color: #146e3b; }.task-stack span:last-child b { color: #0c9c4d; }
.feature-memory { background: linear-gradient(152deg, rgba(20,150,88,.7), rgba(4,118,65,.64)); color: white; }.feature-memory p { color: rgba(255,255,255,.72); }
.memory-chart { position: relative; margin-top: auto; height: 142px; padding-top: 30px; display: flex; align-items: end; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.3); }.memory-chart i { flex: 1; height: 88%; border-radius: 8px 8px 0 0; background: rgba(255,255,255,.22); transform-origin: bottom; }.memory-chart i:nth-of-type(2) { height: 72%; }.memory-chart i:nth-of-type(3) { height: 43%; }.memory-chart i:nth-of-type(4) { height: 21%; background: rgba(255,255,255,.75); }.memory-chart span,.memory-chart b { position: absolute; top: 0; font-size: 12px; }.memory-chart span { left: 0; }.memory-chart b { right: 0; }

.formats-section { padding-bottom: 160px; }
.formats-stage { position: relative; min-height: 900px; overflow: hidden; border-radius: 42px; perspective: 1600px; perspective-origin: 50% 42%; transition: background .55s var(--ease); }
.formats-copy { position: relative; z-index: 3; padding-top: 60px; text-align: center; }.formats-copy h2 { margin: 0; font-size: clamp(50px, 5.3vw, 76px); line-height: .96; letter-spacing: -.06em; }.formats-copy p { margin: 18px 0 0; font-size: 18px; }
.format-visual { position: absolute; top: 255px; left: 50%; width: 410px; height: 440px; transform: translateX(-50%); }
.format-selector { bottom: 38px; }
.format-inventory { min-height: 310px; margin-top: 28px; padding: 52px 56px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 75px; border-radius: 42px; background: #fff; }
.inventory-copy>span,.faq-heading>span,.reviews-heading>span { color: #686d73; font-size: 12px; font-weight: 600; letter-spacing: .04em; }
.inventory-copy h3 { margin: 25px 0 15px; font-size: 48px; line-height: 1; letter-spacing: -.055em; }.inventory-copy p { max-width: 370px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.5; }
.format-tokens { align-content: start; display: flex; flex-wrap: wrap; gap: 9px; }
.format-tokens span { min-width: 62px; min-height: 43px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(20,24,29,.09); border-radius: 12px; background: #f1f3f5; color: #3d4146; font: 600 12px ui-monospace, SFMono-Regular, Menlo, monospace; box-shadow: inset 0 1px 0 rgba(255,255,255,.8); animation: tokenIn .35s var(--ease) both; }

.reviews-section { padding: 20px 0 170px; overflow: hidden; }
.reviews-heading { padding-bottom: 62px; text-align: center; }.reviews-heading h2 { margin: 20px 0 0; font-size: clamp(58px,6vw,88px); line-height: .95; letter-spacing: -.065em; }.reviews-heading p { max-width: 620px; margin: 24px auto 0; color: var(--muted); font-size: 18px; line-height: 1.5; }
.review-viewport { width: 100%; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); -webkit-mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }.review-viewport::-webkit-scrollbar { display: none; }
.review-track { width: max-content; margin-inline: auto; padding: 0 max(5vw,50px) 18px; display: grid; grid-auto-flow: column; grid-template-rows: repeat(2,220px); grid-auto-columns: 370px; gap: 22px; }
.review-card { width: 100%; padding: 30px; display: flex; flex-direction: column; border-radius: 28px; background: #fff; scroll-snap-align: center; box-shadow: inset 0 0 0 1px rgba(20,24,29,.035); }
.review-card p { margin: 0; color: #25282c; font-size: 17px; line-height: 1.45; letter-spacing: -.02em; }.review-card footer { margin-top: auto; display: flex; flex-direction: column; gap: 4px; color: #686d72; font-size: 12px; }.review-card footer strong { color: #202328; font-size: 14px; }.review-proof>span { color: #656a70; font-size: 11px; font-weight: 700; letter-spacing: .1em; }.review-proof>strong { margin: 17px 0 9px; font-size: 42px; line-height: 1; letter-spacing: -.055em; font-variant-numeric: tabular-nums; }.review-quote p { font-size: 22px; line-height: 1.35; }.review-quote p::first-line { background: #dff8f8; }

.faq-section { padding: 25px 70px 170px; display: grid; grid-template-columns: 1fr; gap: 54px; justify-items: center; }
.faq-heading { align-self: start; width: 100%; max-width: 820px; text-align: center; }.faq-heading h2 { margin: 24px 0 0; font-size: clamp(44px,4.4vw,62px); line-height: .94; letter-spacing: -.062em; }.faq-heading p { max-width: 560px; margin: 22px auto 0; color: var(--muted); font-size: 17px; line-height: 1.5; }
.faq-list { width: 100%; max-width: 820px; border-top: 1px solid rgba(20,24,29,.45); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { min-height: 92px; display: grid; grid-template-columns: 1fr 32px; gap: 20px; align-items: center; cursor: pointer; list-style: none; font-size: 20px; font-weight: 600; letter-spacing: -.025em; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary i { position: relative; width: 30px; height: 30px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px rgba(20,24,29,.08); }.faq-list summary i::before,.faq-list summary i::after { position: absolute; top: 14px; left: 9px; width: 12px; height: 1px; background: #24272b; transition: transform .3s var(--ease); content: ""; }.faq-list summary i::after { transform: rotate(90deg); }.faq-list details[open] summary i::after { transform: rotate(0); }.faq-list details p { max-width: 680px; margin: -5px 50px 0 0; padding: 0 0 32px; color: var(--muted); font-size: 16px; line-height: 1.58; }

.buy-section { min-height: 820px; padding: 100px 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 42px; background: #fff; text-align: center; }
.buy-section>img { width: 150px; height: 150px; border-radius: 34px; filter: drop-shadow(0 24px 28px rgba(29,71,147,.25)); }
.buy-section h2 { margin: 42px 0 0; font-size: clamp(62px, 7vw, 100px); line-height: .9; letter-spacing: -.07em; }
.buy-section>p { margin: 30px 0; color: var(--muted); font-size: 21px; line-height: 1.45; }
.buy-pill-large { min-height: 70px; padding-inline: 34px; font-size: 20px; }
.buy-section small { margin-top: 24px; color: #666b70; font-size: 12px; }
.is-pending { cursor: default; }

.footer { min-height: 160px; display: flex; align-items: center; justify-content: space-between; }
.footer .brand { font-size: 21px; }.footer p { color: var(--muted); font-size: 13px; }.footer>div { display: flex; gap: 24px; color: var(--muted); font-size: 12px; }

.legal-page { min-height: calc(100vh - 160px); padding: 100px 0 130px; }.legal-page>h1 { max-width: 950px; margin: 0; font-size: clamp(65px,8vw,112px); line-height: .9; letter-spacing: -.07em; }.legal-intro { max-width: 760px; margin: 45px 0 90px; color: var(--muted); font-size: 22px; line-height: 1.5; }.legal-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; overflow: hidden; border-radius: 32px; background: var(--line); }.legal-grid section { min-height: 245px; padding: 38px; background: white; }.legal-grid span { color: var(--blue); font-size: 11px; font-weight: 700; }.legal-grid h2 { margin: 32px 0 14px; font-size: 30px; letter-spacing: -.04em; }.legal-grid p { max-width: 430px; margin: 0; color: var(--muted); line-height: 1.55; }.legal-updated { margin-top: 30px; color: var(--muted); font-size: 11px; }

/* Native macOS product scene */
.desktop { background: #6d6257; }
.desktop-wallpaper { background: url("assets/desktop-wallpaper-1600.webp") center/cover no-repeat; }
.desktop-wallpaper::after { display: none; }

/* Menu bar */
.mac-bar { grid-template-columns: repeat(8,max-content) 1fr max-content; height: 38px; padding-inline: 15px; gap: 21px; background: rgba(58,48,40,.22); border-bottom: 0; color: #fff; font-size: 13.5px; font-weight: 400; letter-spacing: -.005em; text-shadow: 0 1px 2px rgba(40,30,22,.24); backdrop-filter: blur(30px) saturate(160%); }
.mac-bar b { font-weight: 700; }
.apple-mark { width: 16px; height: 16px; display: block; }
.apple-mark svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 1px 2px rgba(40,30,22,.3)); }
.mac-status { display: flex; align-items: center; gap: 16px; font-size: 13px; }
.mb-glyph { height: 15px; width: auto; display: block; color: #fff; filter: drop-shadow(0 1px 2px rgba(40,30,22,.3)); }
.mb-battery { height: 13px; }
.mb-glyph.mb-wifi,.mb-glyph.mb-battery { width: auto; background: none; clip-path: none; box-shadow: none; opacity: 1; }
.mb-glyph.mb-battery::after { display: none; }
.mb-cc { height: 16px; }
.mb-wifi { height: 14px; }
.mb-clock { font-variant-numeric: tabular-nums; letter-spacing: -.01em; }

/* Finder window */
.finder-window { position: absolute; z-index: 3; top: 132px; right: 26px; width: 330px; height: 556px; display: flex; flex-direction: column; overflow: hidden; border: .5px solid rgba(255,255,255,.5); border-radius: 11px; background: rgba(246,245,244,.86); box-shadow: 0 32px 64px rgba(56,38,26,.34), 0 2px 8px rgba(56,38,26,.2), inset 0 .5px 0 rgba(255,255,255,.7); backdrop-filter: blur(34px) saturate(160%); }
.finder-bar { position: relative; height: 42px; display: flex; align-items: center; padding: 0 13px; background: linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,.24)); border-bottom: .5px solid rgba(30,24,18,.1); }
.finder-lights { display: flex; gap: 8px; }
.finder-lights i { width: 12px; height: 12px; border-radius: 50%; background: #febc2e; box-shadow: inset 0 0 0 .5px rgba(0,0,0,.09); }
.finder-lights i:first-child { background: #ff5f57; }
.finder-lights i:last-child { background: #28c840; }
.finder-bar strong { position: absolute; left: 0; right: 0; text-align: center; color: #26241f; font-size: 13px; font-weight: 600; letter-spacing: -.01em; pointer-events: none; }
.finder-toolbar { height: 34px; padding: 0 12px; display: flex; align-items: center; gap: 10px; border-bottom: .5px solid rgba(30,24,18,.08); }
.fw-seg { display: flex; padding: 2px; gap: 2px; border-radius: 7px; background: rgba(30,24,18,.07); }
.fw-seg i { width: 24px; height: 19px; border-radius: 5px; display: block; position: relative; }
.fw-icon-grid { background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.14); }
.fw-icon-grid::before { position: absolute; inset: 5px 6px; background-image: radial-gradient(circle,#6c6862 1.4px,transparent 1.5px); background-size: 5px 5px; content: ""; }
.fw-icon-list::before { position: absolute; inset: 5px 6px; background: repeating-linear-gradient(#8d8880 0 1.6px,transparent 1.6px 4.4px); content: ""; }
.fw-path { color: rgba(38,34,29,.52); font-size: 11px; letter-spacing: -.01em; }
.desktop-files { position: static; flex: 1; align-content: start; padding: 12px 10px; display: grid; grid-template-columns: repeat(2,1fr); gap: 4px; overflow: hidden; border: 0; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; }
.desktop-files::before { display: none; }
.desktop-file { width: auto; min-height: 128px; padding: 9px 4px 7px; gap: 0; border-radius: 8px; color: #232120; }
.desktop-file img { width: 78px; height: 78px; object-fit: contain; display: block; }
.desktop-file.active { border-color: transparent; background: none; }
.desktop-file b { width: auto; max-width: 132px; margin-top: 6px; padding: 2px 6px; border-radius: 5px; color: #232120; font-size: 11.5px; font-weight: 500; letter-spacing: -.01em; }
.desktop-file.active b { background: #1874d1; color: #fff; }
.desktop-file small { margin-top: 3px; color: rgba(35,33,32,.45); font-size: 10px; }
.finder-status { height: 26px; display: flex; align-items: center; justify-content: center; border-top: .5px solid rgba(30,24,18,.09); color: rgba(38,34,29,.5); font-size: 10.5px; }

/* Scope window — matches the shipping app: hidden titlebar, 36pt custom header, inset well */
.scope-window { top: 112px; right: auto; bottom: auto; left: 60px; width: 1010px; height: 716px; border: .5px solid rgba(255,255,255,.5); border-radius: 12px; background: rgba(245,244,243,.72); box-shadow: 0 36px 78px rgba(56,38,26,.4), 0 3px 10px rgba(56,38,26,.22), inset 0 .5px 0 rgba(255,255,255,.7); backdrop-filter: blur(42px) saturate(180%); }
.scope-bar { height: 38px; padding: 0 12px; display: flex; align-items: center; gap: 10px; border-bottom: 0; background: none; color: #1d1c1a; }
.scope-close { position: relative; width: 28px; height: 28px; flex: none; display: grid; place-items: center; border-radius: 14px; background: rgba(60,58,54,.16); box-shadow: none; color: rgba(28,27,25,.9); }
.scope-close svg { width: 13px; height: 13px; display: block; }
.scope-close::before,.scope-close::after { display: none; }
.scope-bar strong { flex: 1; min-width: 0; font-size: 13px; font-weight: 600; letter-spacing: -.01em; color: #1d1c1a; }
.scope-tools { display: flex; align-items: center; gap: 10px; color: rgba(29,28,26,.85); }
.scope-tools span { width: 24px; height: 22px; display: grid; place-items: center; }
.scope-tools svg { width: 16px; height: 16px; display: block; }
.scope-window[data-file="image"] .tool-search,
.scope-window[data-file="zip"] .tool-search,
.scope-window[data-file="video"] .tool-search { display: none; }
.scope-window:not([data-file="image"]) .tool-rotate { display: none; }

.scope-content { position: absolute; top: 38px; right: 8px; bottom: 8px; left: 8px; height: auto; overflow: hidden; border-radius: 12px 12px 0 0; background: rgba(250,250,249,.55); color: #1d1d1f; }
.preview-pane { border-radius: inherit; }
.scope-status { position: absolute; right: 8px; bottom: 8px; left: 8px; z-index: 5; height: 28px; padding: 0 12px; display: flex; align-items: center; border-top: 1px solid rgba(30,28,24,.16); background: rgba(30,28,24,.05); backdrop-filter: blur(20px); color: rgba(25,24,22,.55); font-size: 11px; letter-spacing: -.005em; }
.scope-window[data-file="pdf"] .scope-status,
.scope-window[data-file="image"] .scope-status,
.scope-window[data-file="video"] .scope-status { display: none; }
.scope-status strong { display: none; }
.scope-window[data-file="csv"] .scope-content,
.scope-window[data-file="zip"] .scope-content { padding-bottom: 28px; }

/* PDF: document view + right thumbnail rail (112pt) */
.pdf-preview { padding: 0; background: #8b8a87; }
.pdf-stage { position: absolute; inset: 0 112px 0 0; padding: 14px 26px 0; overflow: hidden; }
.pdf-sheet { position: relative; width: 100%; height: auto; aspect-ratio: 1950 / 1372; padding: 0; border-radius: 2px; background: #fbfaf7 url("assets/preview-pdf-1200.webp") center/cover no-repeat; box-shadow: 0 1px 4px rgba(0,0,0,.35); }
.pdf-sheet>* { display: none; }
.pdf-next { height: 16px; margin-top: 16px; border-radius: 2px 2px 0 0; background: #fbfaf7; box-shadow: 0 1px 4px rgba(0,0,0,.3); }
.page-rail { position: absolute; top: 0; right: 0; bottom: 0; width: 112px; padding: 8px 0; display: block; overflow: hidden; background: rgba(96,94,90,.4); border-left: 1px solid rgba(255,255,255,.18); }
.page-rail i { position: relative; display: block; width: 88px; height: 62px; margin: 0 auto 22px; background: #fff; border: .5px solid rgba(255,255,255,.5); border-radius: 2px; box-shadow: 0 1px 3px rgba(0,0,0,.28); }
.page-rail i:first-child { background: #fbfaf7 url("assets/preview-pdf-1200.webp") center/cover no-repeat; border: 2px solid #f5a623; }
.page-rail i:not(:first-child)::before { position: absolute; inset: 5px 6px auto 6px; height: 16px; background: #dedcd8; content: ""; }
.page-rail i:not(:first-child)::after { position: absolute; inset: 25px 6px 5px 6px; background: repeating-linear-gradient(#e4e2de 0 2px, transparent 2px 5px); content: ""; }
.page-rail i:nth-child(3)::before { height: 8px; }
.page-rail i:nth-child(3)::after { inset: 17px 6px 5px 6px; }
.page-rail i:nth-child(4)::before { display: none; }
.page-rail i:nth-child(4)::after { inset: 5px 6px; }
.page-rail b { position: absolute; top: calc(100% + 3px); left: 0; right: 0; text-align: center; color: rgba(255,255,255,.72); font: 500 9px ui-monospace, "SF Mono", monospace; }
.page-rail i.is-current b { color: #f5a623; font-weight: 600; }

/* Preview panes — real content */
.csv-preview { padding: 14px 14px 42px; background: rgba(252,252,252,.94); color: #1d1d1f; }
.csv-search { height: 30px; padding: 0 10px; border: 1px solid rgba(0,0,0,.12); border-radius: 6px; background: #fff; color: #86868b; font-size: 11.5px; }
.csv-search b { margin-left: auto; color: #0a8f57; font-size: 10.5px; }
.csv-table { margin-top: 10px; border: 1px solid rgba(0,0,0,.1); border-radius: 6px; background: #fff; }
.csv-head,.csv-rows div { height: 26px; grid-template-columns: 62px 1.3fr 1.1fr .7fr; border-bottom: 1px solid rgba(0,0,0,.06); }
.csv-head { height: 30px; background: #f3f3f4; }
.csv-head b,.csv-rows span { padding: 0 12px; border-right: 1px solid rgba(0,0,0,.05); font-size: 11px; }
.csv-head b { color: #46464a; font-weight: 600; }
.csv-rows div:nth-child(odd) { background: rgba(0,0,0,.025); }
.csv-rows span { color: #3a3a3c; }
.csv-rows span:first-child { color: rgba(25,24,22,.45); font-variant-numeric: tabular-nums; }

.image-preview { padding: 0; background: #29282a; }
.image-canvas { position: absolute; inset: 0; height: auto; background: #1d1d1f url("assets/preview-image-1200.webp") center/cover no-repeat; }
.image-canvas::before { display: none; }
.image-preview>span { right: 16px; bottom: 16px; padding: 5px 9px; border-radius: 6px; background: rgba(0,0,0,.5); color: #fff; font: 10px ui-monospace,monospace; backdrop-filter: blur(10px); }

.zip-preview { padding: 20px 20px 42px; background: rgba(252,252,252,.94); color: #1d1d1f; }
.zip-summary { padding-bottom: 16px; gap: 14px; border-bottom: 1px solid rgba(0,0,0,.09); }
.zip-cube { width: 50px; height: 50px; border: 0; background: url("assets/files/zip.webp") center/contain no-repeat; }
.zip-summary b { font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
.zip-summary small { margin-top: 4px; color: rgba(25,24,22,.55); font-size: 11.5px; }
.zip-list { margin-top: 14px; display: block; overflow: hidden; border: 1px solid rgba(0,0,0,.1); border-radius: 6px; background: #fff; }
.zip-list div { height: 30px; display: grid; grid-template-columns: 1.7fr .6fr 1fr 1.2fr; align-items: center; border-bottom: 1px solid rgba(0,0,0,.055); }
.zip-list div:nth-child(even) { background: rgba(0,0,0,.022); }
.zip-list span { padding: 0 12px; overflow: hidden; border: 0; color: #3a3a3c; font: 11.5px -apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.zip-list span:not(:first-child) { color: rgba(25,24,22,.5); }
.zip-head { height: 26px !important; background: #f3f3f4 !important; }
.zip-head span { color: rgba(25,24,22,.55) !important; font-weight: 600; font-size: 10.5px; }
.zip-folder,.zip-doc { display: flex; align-items: center; gap: 8px; }
.zip-folder::before,.zip-doc::before { flex: none; width: 15px; height: 12px; border-radius: 2px 3px 3px 3px; background: linear-gradient(#8fcbf5,#4ea4e8); box-shadow: inset 0 .5px 0 rgba(255,255,255,.6); content: ""; }
.zip-doc::before { width: 11px; height: 14px; border-radius: 2px; background: #fff; border: 1px solid rgba(0,0,0,.2); box-shadow: none; }

.video-preview { padding: 0; background: #0b0b0d; }
.video-frame { position: absolute; inset: 0; height: auto; background: #0b0b0d url("assets/preview-video-1200.webp") center/cover no-repeat; }
.video-frame::after { display: none; }
.video-controls { position: absolute; right: 26px; bottom: 22px; left: 26px; height: 44px; padding: 0 16px; gap: 14px; border-radius: 22px; border: .5px solid rgba(255,255,255,.28); background: rgba(30,30,32,.42); backdrop-filter: blur(24px) saturate(180%); }
.video-controls i { height: 4px; border-radius: 2px; background: linear-gradient(90deg,#fff 12%,rgba(255,255,255,.32) 12%); }
.video-controls b { color: rgba(255,255,255,.85); font: 11px ui-monospace,monospace; }
.play { width: 66px; height: 66px; border-color: rgba(255,255,255,.5); background: rgba(0,0,0,.28); color: #fff; font-size: 22px; }

/* Notification-style caption */
.desktop-caption { top: 50px; right: 26px; left: auto; width: 330px; min-width: 0; padding: 12px 14px; grid-template-columns: auto auto 1fr; align-items: center; border: .5px solid rgba(255,255,255,.55); border-radius: 16px; background: rgba(250,249,248,.82); color: #26231f; box-shadow: 0 16px 40px rgba(56,38,26,.3),inset 0 .5px 0 rgba(255,255,255,.8); backdrop-filter: blur(30px) saturate(160%); }
.desktop-caption img { grid-row: span 2; width: 38px; height: 38px; border-radius: 9px; }
.desktop-caption .live-dot { grid-row: span 2; width: 6px; height: 6px; background: #2fc36b; box-shadow: 0 0 10px rgba(47,195,107,.6); }
.desktop-caption b { font-size: 12.5px; font-weight: 600; letter-spacing: -.01em; }
.desktop-caption>span:last-child { color: rgba(38,34,29,.55); font-size: 11px; }
.desktop-file:focus-visible { outline-color: #1874d1; }

/* Dock */
.mac-dock { height: 78px; bottom: 7px; padding: 6px 9px; gap: 5px; border-radius: 22px; background: rgba(255,255,255,.2); border: .5px solid rgba(255,255,255,.42); box-shadow: inset 0 .5px 0 rgba(255,255,255,.55), 0 14px 34px rgba(46,32,22,.34); backdrop-filter: blur(38px) saturate(190%); }
.dock-app { position: relative; width: 64px; height: 64px; display: block; background: var(--icon) center/contain no-repeat; border-radius: 0; box-shadow: none; filter: drop-shadow(0 5px 7px rgba(40,28,18,.28)); }
.dock-loose { background-size: 90% auto; }
.dock-app.running::after { position: absolute; bottom: -5px; left: 50%; width: 4px; height: 4px; border-radius: 50%; background: rgba(38,30,24,.65); transform: translateX(-50%); content: ""; }
.mac-dock span { width: 1px; height: 52px; margin-inline: 6px; background: rgba(255,255,255,.45); }

/* Liquid-glass folder */
.formats-stage { background: radial-gradient(circle at 24% 18%,rgba(255,255,255,.85),transparent 24%),radial-gradient(circle at 78% 62%,rgba(135,208,236,.28),transparent 32%),linear-gradient(145deg,#e8f4fa,#cfe7f3 56%,#deedf7); }
.formats-stage[data-category="images"] { background: radial-gradient(circle at 25% 18%,rgba(255,255,255,.88),transparent 25%),linear-gradient(145deg,#e9f8f5,#caece7); }.formats-stage[data-category="media"] { background: radial-gradient(circle at 25% 18%,rgba(255,255,255,.88),transparent 25%),linear-gradient(145deg,#fbf2ea,#eedccf); }.formats-stage[data-category="code"] { background: radial-gradient(circle at 25% 18%,rgba(255,255,255,.88),transparent 25%),linear-gradient(145deg,#f0eff8,#dad8ed); }
/* Glass tint follows the selected category */
.formats-stage { --folder: 126 196 231; --folder-ink: 33 70 91; }
.formats-stage[data-category="images"] { --folder: 96 205 188; --folder-ink: 21 76 70; }
.formats-stage[data-category="media"] { --folder: 232 162 118; --folder-ink: 96 51 34; }
.formats-stage[data-category="code"] { --folder: 158 148 224; --folder-ink: 55 46 96; }
.format-visual { top: 278px; width: 466px; height: 412px; transform: translateX(-50%) rotateY(-9deg) rotateX(3deg); transition: transform .8s var(--ease); }
.glass-folder { position: absolute; inset: 0; perspective: 620px; perspective-origin: 50% 22%; }
.folder-back,.folder-front,.folder-file { position: absolute; border: 1px solid rgba(255,255,255,.7); transition: background .55s var(--ease), color .55s var(--ease); }

/* Back panel — the tab reads above the papers, so the silhouette is a folder */
.folder-back {
  right: 12px; bottom: 20px; left: 12px; height: 312px;
  border-radius: 10px 26px 24px 24px;
  background: linear-gradient(160deg, rgba(255,255,255,.44), rgb(var(--folder) / .3) 60%, rgb(var(--folder) / .38));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 30px 60px rgba(48,98,132,.14);
  backdrop-filter: blur(26px) saturate(160%);
  -webkit-backdrop-filter: blur(26px) saturate(160%);
}
.folder-back::before {
  position: absolute; top: -49px; left: 18px; width: 196px; height: 50px;
  border: inherit; border-bottom: 0;
  border-radius: 18px 26px 0 0;
  background: linear-gradient(160deg, rgba(255,255,255,.46), rgb(var(--folder) / .32));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  backdrop-filter: inherit;
  -webkit-backdrop-filter: inherit;
  content: "";
}

/* Papers tucked into the folder */
/* Centring lives in the margin, never in the transform: GSAP owns the transform here. */
.folder-file { top: 74px; left: 50%; width: 272px; height: 214px; margin-left: -136px; border-radius: 18px; box-shadow: 0 18px 38px rgba(48,98,132,.16); transition: transform .65s var(--ease); }
.folder-file-secondary { margin-left: -171px; margin-top: 5px; background: linear-gradient(160deg, rgba(255,255,255,.62), rgb(var(--folder) / .4)); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); transform: rotate(-6deg); }
.folder-file-main { z-index: 2; padding: 26px 28px; transform: rotate(1.5deg); display: flex; flex-direction: column; background: linear-gradient(160deg, rgba(255,255,255,.78), rgb(var(--folder) / .18)); color: rgb(var(--folder-ink)); box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 20px 40px rgba(48,98,132,.18); backdrop-filter: blur(22px) saturate(170%); -webkit-backdrop-filter: blur(22px) saturate(170%); }
.folder-file-main::after { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(118deg, rgba(255,255,255,.72), transparent 34%, transparent 70%, rgba(255,255,255,.34)); pointer-events: none; content: ""; }
.folder-file strong { font-size: 54px; line-height: 1; letter-spacing: -.07em; }
.folder-file span { margin-top: 7px; margin-bottom: 14px; color: rgb(var(--folder-ink) / .62); font-size: 14px; font-weight: 600; }
.folder-file i { width: 72%; height: 7px; margin-top: auto; border-radius: 8px; background: rgb(var(--folder-ink) / .14); transition: width .5s var(--ease), height .5s var(--ease), margin .5s var(--ease), border-radius .5s var(--ease), background .5s var(--ease); }.folder-file i+i { width: 88%; margin-top: 12px; }.folder-file i+i+i { width: 58%; margin-top: 12px; }

/* Front pocket — shorter and far more transparent, so it reads as glass over the papers */
/* The sheet inside the folder previews content typical of the selected category. */
.formats-stage[data-category="images"] .folder-file-main i:nth-of-type(1) {
  width: 100%; height: 66px; border-radius: 10px;
  background:
    radial-gradient(circle at 74% 30%, rgba(255,255,255,.95) 0 9%, rgba(255,255,255,.4) 10% 13%, transparent 14%),
    radial-gradient(ellipse 32% 58% at 30% 104%, rgb(var(--folder-ink) / .34) 0 70%, transparent 71%),
    radial-gradient(ellipse 26% 42% at 62% 104%, rgb(var(--folder-ink) / .26) 0 70%, transparent 71%),
    linear-gradient(180deg, rgb(var(--folder) / .6) 0 64%, rgb(var(--folder-ink) / .18) 64%);
}
/* the thumbnail carries it - the fake caption lines just added noise */
.formats-stage[data-category="images"] .folder-file-main i:nth-of-type(2),
.formats-stage[data-category="images"] .folder-file-main i:nth-of-type(3) { display: none; }

.formats-stage[data-category="media"] .folder-file-main i:nth-of-type(1) {
  width: 100%; height: 32px; border-radius: 3px;
  background: repeating-linear-gradient(90deg, rgb(var(--folder-ink) / .3) 0 3px, transparent 3px 9px);
}
.formats-stage[data-category="media"] .folder-file-main i:nth-of-type(2) {
  width: 100%; height: 6px;
  background: linear-gradient(90deg, rgb(var(--folder-ink) / .5) 0 42%, rgb(var(--folder-ink) / .14) 42%);
}
.formats-stage[data-category="media"] .folder-file-main i:nth-of-type(3) { width: 34%; height: 6px; }

.formats-stage[data-category="code"] .folder-file-main i { height: 6px; border-radius: 3px; }
.formats-stage[data-category="code"] .folder-file-main i:nth-of-type(1) {
  width: 88%;
  background: linear-gradient(90deg, rgb(var(--folder-ink) / .42) 0 19%, transparent 19% 24%, rgb(var(--folder-ink) / .2) 24% 61%, transparent 61% 66%, rgb(var(--folder-ink) / .32) 66%);
}
.formats-stage[data-category="code"] .folder-file-main i:nth-of-type(2) {
  width: 66%; margin-left: 20px;
  background: linear-gradient(90deg, rgb(var(--folder-ink) / .24) 0 33%, transparent 33% 40%, rgb(var(--folder-ink) / .4) 40%);
}
.formats-stage[data-category="code"] .folder-file-main i:nth-of-type(3) {
  width: 44%; margin-left: 20px;
  background: linear-gradient(90deg, rgb(var(--folder-ink) / .36) 0 42%, transparent 42% 52%, rgb(var(--folder-ink) / .2) 52%);
}

.folder-front {
  z-index: 3; right: 4px; bottom: 4px; left: 4px; height: 214px;
  padding: 0 38px 22px; display: flex; align-items: flex-end; justify-content: space-between;
  border-radius: 20px 20px 30px 30px;
  background: linear-gradient(168deg, rgba(255,255,255,.58), rgb(var(--folder) / .36) 52%, rgb(var(--folder) / .5));
  color: rgb(var(--folder-ink));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(255,255,255,.5), 0 -6px 24px rgba(43,94,128,.07), 0 34px 60px rgba(43,94,128,.18);
  backdrop-filter: blur(30px) saturate(190%);
  -webkit-backdrop-filter: blur(30px) saturate(190%);
  transform: rotateX(calc((var(--flap) + var(--flap-hover) + var(--flap-nudge)) * 1deg));
  transform-origin: bottom;
  transition: --flap-hover .5s var(--ease);
}
.folder-front::before { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(112deg, rgba(255,255,255,.55) 0 14%, transparent 34%, transparent 72%, rgba(255,255,255,.3)); pointer-events: none; content: ""; }
.folder-front span { position: relative; font-size: 15px; font-weight: 650; }.folder-front b { position: relative; color: rgb(var(--folder-ink) / .58); font-size: 12px; }
.format-visual:hover { transform: translateX(-50%) rotateY(-4deg) rotateX(1.5deg); }
.glass-folder:hover .folder-file-main { transform: translateY(-30px) rotate(2.5deg); }
.glass-folder:hover .folder-file-secondary { transform: translateX(-11px) translateY(-14px) rotate(-10deg); }
.glass-folder:hover .folder-front { --flap-hover: -12; }

/* Micro-interactions on the pieces inside each card. */
.feature-local li { transition: transform .25s var(--ease), color .25s ease; }
.feature-local li:hover { transform: translateX(5px); color: #0b4f53; }
.task-stack span { transition: transform .25s var(--ease), box-shadow .25s ease; }
.task-stack span:hover { transform: translateX(-4px); box-shadow: 0 6px 16px rgba(24,40,54,.1); }
.memory-chart i { transition: background .3s ease; }
.memory-chart:hover i { background: rgba(255,255,255,.34); }
.memory-chart:hover i:nth-of-type(4) { background: rgba(255,255,255,.9); }
.traffic-lights i { transition: transform .25s var(--ease); }
.traffic-lights:hover i { transform: scale(1.18); }
.traffic-lights:hover i:nth-child(2) { transition-delay: .04s; }
.traffic-lights:hover i:nth-child(3) { transition-delay: .08s; }
.format-tokens span { transition: transform .22s var(--ease), background .22s ease, box-shadow .22s ease; }
.format-tokens span:hover { transform: translateY(-3px); background: #fff; box-shadow: inset 0 1px 0 #fff, 0 8px 18px rgba(30,50,70,.12); }

/* After the reveal lands, a couple of details keep breathing so the cards are not frozen. */
.task-stack.is-idle span:last-child { animation: readyGlow 4.4s ease-in-out infinite; }
.task-stack.is-idle span:last-child b { animation: readyMark 4.4s ease-in-out infinite; }
@keyframes readyGlow { 0%,100% { background: rgba(29,190,113,.16); } 50% { background: rgba(29,190,113,.28); } }
@keyframes readyMark { 0%,100% { opacity: .78; } 50% { opacity: 1; } }
.memory-chart.is-idle i:nth-of-type(4) { animation: settledBar 5.2s ease-in-out infinite; }
@keyframes settledBar { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.16); } }

@keyframes tokenIn { from { opacity: 0; transform: translateY(5px) scale(.97); } }

@media (max-width: 980px) {
  .nav { grid-template-columns: 1fr auto; }.nav-links { display: none; }
  .comparison-title { grid-template-columns: 1fr; gap: 24px; }
  .comparison-head,.comparison-row { grid-template-columns: 1fr 1fr; }.comparison-head span:nth-child(2),.comparison-row span:nth-child(2) { display: none; }
  .feature-grid { grid-template-columns: 1fr; }.feature-local { grid-row: auto; min-height: 880px; }.feature-cancel,.feature-memory { min-height: 480px; }
  .format-inventory { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .shell,.shell-wide { width: calc(100% - 24px); }
  .nav { top: 8px; width: calc(100% - 24px); height: 76px; margin-top: 8px; }.nav.is-scrolled { width: calc(100% - 20px); height: 60px; padding-inline: 9px; }.brand { gap: 9px; font-size: 18px; }.brand i { display: none; }.nav .brand img { width: 44px; height: 44px; border-radius: 11px; }.nav.is-scrolled .brand img { width: 40px; height: 40px; }.nav>.buy-pill,.nav.is-scrolled>.buy-pill { min-height: 43px; padding: 0 15px; font-size: 13px; }.nav>.buy-pill .apple { display: none; }
  .hero { padding-top: 48px; padding-bottom: 80px; }.announcement { min-height: 42px; max-width: calc(100% - 30px); padding-inline: 13px; font-size: 12px; }.hero h1 { margin-top: 35px; font-size: clamp(57px,17vw,76px); line-height: .9; }.hero-subtitle { max-width: none; margin: 24px auto 40px; font-size: 16px; }
  .product-statement { padding: 58px 0 92px; }.product-statement h2 { font-size: 47px; }.product-statement p { margin-top: 25px; font-size: 18px; }
    .speed-section,.feature-grid,.formats-section { padding-bottom: 90px; }.speed-stage,.formats-stage,.feature,.comparison-card,.buy-section { border-radius: 24px; }.speed-stage { min-height: 720px; }.speed-heading { padding: 42px 22px 0; }.speed-heading h2 { font-size: 48px; }.speed-heading p { font-size: 15px; }.speed-number { top: 225px; width: 410px; height: 285px; }.speed-number strong { font-size: 105px; }.speed-number span { font-size: 23px; }.speed-rings i:nth-child(1) { width: 470px; height: 330px; margin: -165px 0 0 -235px; }.speed-rings i:nth-child(2) { width: 580px; height: 430px; margin: -215px 0 0 -290px; }.speed-rings i:nth-child(3),.speed-rings i:nth-child(4) { display: none; }
  .speed-selector,.format-selector { right: 12px; bottom: 12px; left: 12px; padding: 5px; overflow-x: auto; transform: none; }.speed-selector button,.format-selector button { min-width: 91px; min-height: 60px; padding-inline: 8px; }.speed-selector button b,.format-selector button b { font-size: 12px; }
  .comparison-card { margin-top: 18px; padding: 38px 24px 28px; }.comparison-title { margin-bottom: 38px; }.comparison-title h3 { font-size: 41px; }.comparison-head { display: none; }.comparison-row { min-height: 0; padding: 22px 0; grid-template-columns: 1fr; gap: 8px; }.comparison-row span:nth-child(2) { display: none; }.benchmark-note { text-align: left; }
  .feature-grid { gap: 16px; }.feature-local { min-height: 760px; padding: 32px 24px; }.feature-local h2 { font-size: 52px; }.privacy-orbit { width: 300px; height: 300px; }.privacy-orbit i:nth-of-type(2) { --orbit-r: 150px; }.privacy-orbit i:nth-of-type(3) { --orbit-r: 95px; }.privacy-orbit img { width: 95px; border-radius: 21px; }.feature-local li { font-size: 14px; }.feature-cancel,.feature-memory { min-height: 460px; padding: 30px 24px; }.feature-cancel h3,.feature-memory h3 { margin-top: 45px; font-size: 42px; }
  .formats-stage { min-height: 720px; }.formats-copy { position: relative; z-index: 5; padding: 43px 22px 0; }.format-visual { top: 340px; transform: translateX(-50%) scale(.57) rotateY(-8deg) rotateX(2deg); transform-origin: top center; }.format-selector button { min-width: 80px; }.format-selector button b { font-size: 11px; }.formats-copy h2 { font-size: 47px; }.formats-copy p { font-size: 15px; }.format-inventory { min-height: 0; margin-top: 16px; padding: 32px 25px; gap: 35px; border-radius: 24px; }.inventory-copy h3 { font-size: 42px; }.format-tokens { gap: 7px; }.format-tokens span { min-width: 54px; min-height: 38px; padding-inline: 11px; font-size: 10px; }
  .reviews-section { padding: 0 0 100px; }.reviews-heading { padding-bottom: 42px; }.reviews-heading h2 { font-size: 54px; }.reviews-heading p { padding-inline: 22px; font-size: 16px; }.review-track { padding-inline: 22px; grid-template-rows: repeat(2,205px); grid-auto-columns: 300px; gap: 14px; }.review-card { padding: 25px; border-radius: 22px; }.review-quote p { font-size: 19px; }
  .faq-section { padding: 10px 12px 110px; gap: 45px; }.faq-heading h2 { font-size: 48px; }.faq-list summary { min-height: 80px; font-size: 17px; }.faq-list details p { margin-right: 15px; font-size: 15px; }
  .buy-section { min-height: 680px; padding-inline: 22px; }.buy-section>img { width: 125px; height: 125px; border-radius: 28px; }.buy-section h2 { font-size: 59px; }.buy-section>p { font-size: 18px; }.buy-pill-large { min-height: 60px; padding-inline: 22px; font-size: 15px; }
  .footer { min-height: 190px; padding-block: 30px; flex-wrap: wrap; gap: 20px; }.footer p { display: none; }.footer>div { width: 100%; justify-content: space-between; }
  .legal-page { padding: 70px 0 100px; }.legal-page>h1 { font-size: 58px; }.legal-intro { margin: 36px 0 55px; font-size: 18px; }.legal-grid { grid-template-columns: 1fr; }.legal-grid section { min-height: 0; padding: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
