@font-face{font-family:"Pen Serif";src:url(/assets/fonts/display.woff2) format("woff2");font-weight:200 900;font-display:swap}
@font-face{font-family:"Pen Sans";src:url(/assets/fonts/text.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  color-scheme:light dark;
  --paper:#F6F3EC;--raised:#FFFDF8;--sunk:#EEE9DE;--ink:#1F1B16;--ink2:#574E43;--ink3:#6E6559;--line:rgba(31,27,22,.12);
  --blue:#1B3FA6;--link:#1B3FA6;--gold:#FFC857;
  --hero-blue:radial-gradient(1200px 900px at 26% 0,#4570EE 0,#1F46B8 46%,#0D1F5E 100%);
  --hero-warm:radial-gradient(1200px 800px at 22% 0,#FFF6E2 0,#F9DDAE 52%,#E9B36E 100%);
  --warm-ink:#1F1B16;--warm-ink2:#4B4034;
  --serif:"Pen Serif",ui-serif,"New York",Georgia,serif;--sans:"Pen Sans",-apple-system,system-ui,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
@media (prefers-color-scheme:dark){:root{
  --paper:#15130F;--raised:#201D18;--sunk:#1B1814;--ink:#F3EEE4;--ink2:#C9C0B2;--ink3:#A79E90;--line:rgba(243,238,228,.14);
  --link:#9DB6FF;
  --hero-warm:radial-gradient(1200px 800px at 22% 0,#4A3820 0,#2C2216 52%,#17120C 100%);
  --warm-ink:#F7EFE0;--warm-ink2:#D9CDB9;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.62 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}
a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;color:inherit;text-wrap:balance}
h1{font-size:64px;line-height:1.05;letter-spacing:-.015em}
h2{font-size:40px;line-height:1.12;letter-spacing:-.01em}
h3{font-size:23px;line-height:1.25}
p{margin:0}
.wrap{max-width:1168px;margin-inline:auto;padding-inline:24px}
.narrow{max-width:760px;margin-inline:auto;padding-inline:24px}
.section{padding-block:88px}
.lead{font-size:20px;line-height:1.5}
.muted{color:var(--ink2)}
.fine{font-size:14px;line-height:1.5;color:var(--ink3)}

/* header */
.head{position:absolute;inset:0 0 auto;z-index:30;color:var(--ink)}
.head.on-blue{color:#fff}
.head.on-warm{color:var(--warm-ink)}
.head-in{display:flex;align-items:center;gap:32px;height:72px}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font:600 21px/1 var(--serif);margin-right:auto}
.brand img{width:32px;height:32px}
.head nav{display:flex;gap:28px}
.head nav a{color:inherit;text-decoration:none;font-size:15px;font-weight:500;opacity:.88;transition:opacity .15s}
.head nav a:hover{opacity:1;text-decoration:underline}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;font-size:15px;font-weight:500;padding:8px 0}
.menu summary::-webkit-details-marker{display:none}
.menu-list{position:absolute;right:0;top:42px;width:228px;background:var(--raised);color:var(--ink);border-radius:14px;padding:8px;box-shadow:0 12px 40px rgba(20,16,10,.22);border:1px solid var(--line)}
.menu-list a{display:block;padding:10px 12px;color:inherit;text-decoration:none;border-radius:8px;font-size:15px}
.menu-list a:hover{background:var(--sunk)}

/* hero */
.hero{position:relative;overflow:hidden;padding-top:72px}
.hero.blue{background:var(--hero-blue);color:#fff}
.hero.warm{background:var(--hero-warm);color:var(--warm-ink)}
.hero.warm .sub{color:var(--warm-ink2)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:40px;align-items:center;min-height:700px}
.hero-copy{padding-block:40px 72px}
.pill{display:inline-block;background:var(--gold);color:#1F1B16;border-radius:999px;padding:4px 16px 5px;font-size:15px;font-weight:600}
.hero.warm .pill{background:var(--blue);color:#fff}
.hero h1{margin-top:20px}
.sub{font-size:20px;line-height:1.5;margin-top:20px;max-width:34em;color:rgba(255,255,255,.88)}
.badge{display:inline-block;margin-top:28px;border-radius:10px;transition:transform .15s var(--ease)}
.badge img{height:54px;width:auto}
.under{margin-top:16px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.76);max-width:32em}
.hero.warm .under{color:var(--warm-ink2)}
.crumbs{font-size:14px;margin:24px 0 0;color:var(--warm-ink2)}
.crumbs a{color:inherit}
.crumbs span{margin-inline:6px;opacity:.6}

/* the signature film */
.film{position:relative;width:min(100%,348px);margin:32px auto -96px;aspect-ratio:767/1562}
.film-screen{position:absolute;left:5.085%;top:2.24%;width:89.83%;height:95.58%;background:#fff}
.film-screen img,.film-screen svg{position:absolute;inset:0;width:100%;height:100%}
.film-frame{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 28px 44px rgba(8,14,44,.45))}
.film-hand{position:absolute;left:0;top:0;width:72%;opacity:0;pointer-events:none;-webkit-mask-image:linear-gradient(to right,#000 62%,transparent 98%);mask-image:linear-gradient(to right,#000 62%,transparent 98%);will-change:transform}
.chip{position:absolute;display:flex;align-items:center;gap:10px;background:#fff;color:#1F1B16;border-radius:999px;padding:8px 18px 8px 8px;font-size:16px;font-weight:600;white-space:nowrap;box-shadow:0 12px 30px rgba(10,15,50,.3)}
.chip i{width:28px;height:28px;border-radius:50%;background:#1B3FA6;display:grid;place-items:center;flex:none}
.chip svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.film .chip{left:-52px;top:60%;transform:rotate(-2deg)}

/* guide hero visual */
.stage{position:relative;width:min(100%,340px);margin:32px auto -120px}
.stage>img:first-child{filter:drop-shadow(0 28px 44px rgba(50,30,8,.34))}
.stage .chip{left:-44px;top:56%;transform:rotate(-2deg)}
.stage.photo{width:min(100%,460px);margin:32px auto 56px}
.stage.photo>img:first-child{border-radius:20px;filter:none;box-shadow:0 24px 50px rgba(50,30,8,.3)}
.stage.photo .chip{left:auto;right:-16px;top:18%;transform:rotate(2deg)}

/* story */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:64px;align-items:center}
.story h2{max-width:13em}
.story p{margin-top:16px;color:var(--ink2);max-width:33em}
.ways{margin-top:28px;display:grid;gap:12px;max-width:520px}
.way{background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:12px 18px 14px}
.way b{display:block;font-size:14px;font-weight:600;color:var(--ink3)}
.way span{font-size:18px;position:relative;display:inline-block}
.way.old span{color:var(--ink3)}
.way.old span .strike,.way.old span::after{content:"";position:absolute;left:-4px;right:-4px;top:54%;height:2px;background:var(--link);border-radius:2px;transform-origin:left}
.m-ready .way.old span::after{display:none}
.way.old span .strike{display:block;transform:scaleX(0)}
.way.new{border:2px solid var(--blue);padding:11px 17px 13px}
.way.new b{color:var(--link)}
.way.new span{font-weight:600}
.story-art{justify-self:center;width:min(100%,460px)}

/* feature rows */
.feats{display:grid;gap:88px}
.feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.feat:nth-child(even) .panel{order:2}
.feat-copy p{margin-top:14px;color:var(--ink2)}
.feat-copy .more{display:inline-block;margin-top:14px;font-weight:500}
.panel{position:relative;height:560px;border-radius:24px;overflow:hidden}
.panel.p-blue{background:var(--hero-blue);color:#fff}
.panel.p-warm{background:radial-gradient(900px 700px at 22% 0,#FFF6E2 0,#F9DDAE 52%,#E9B36E 100%)}
.panel .device{position:absolute;left:50%;top:44px;width:300px;margin-left:-150px;filter:drop-shadow(0 22px 34px rgba(10,15,50,.4))}
.panel .chip{left:24px;bottom:96px;transform:rotate(-2deg)}
.panel .obj{position:absolute;filter:drop-shadow(0 18px 22px rgba(15,15,45,.38))}
.panel.two .device{width:244px;margin-left:0}
.panel.two .device.a{left:10px;top:36px;transform:rotate(-2deg)}
.panel.two .device.b{left:auto;right:10px;top:84px;transform:rotate(2deg)}
.panel.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card{position:absolute;left:24px;right:24px;bottom:72px;background:#fff;color:#1F1B16;border-radius:16px;padding:14px 16px;box-shadow:0 16px 40px rgba(10,15,50,.3);display:grid;gap:4px}
.card b{justify-self:start;background:#1B3FA6;color:#fff;border-radius:999px;padding:3px 12px 4px;font-size:14px;font-weight:600;margin-bottom:4px}
.card img{width:100%}
.card img.old{opacity:.45}

.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:88px;padding-top:32px;border-top:1px solid var(--line)}
.trio:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.trio svg,.fact svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block;margin-bottom:12px;color:var(--ink2)}
.trio h3{font-size:21px}
.trio p{margin-top:8px;color:var(--ink2);font-size:16px}

/* how it works */
.band{background:var(--sunk)}
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:40px 0 0;padding:0;list-style:none}
.flow li{border-top:1px solid var(--ink);padding-top:16px}
.flow small{display:block;font:600 40px/1 var(--serif);color:var(--link);margin-bottom:12px}
.flow h3{font-size:23px}
.flow p{margin-top:8px;color:var(--ink2);font-size:16px}

/* privacy */
.private{position:relative;overflow:hidden;background:var(--hero-blue);color:#fff}
.private-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:center}
.private .sub{max-width:32em}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;margin-top:32px;max-width:620px}
.fact b{display:block;font-weight:600}
.fact span{font-size:15px;color:rgba(255,255,255,.8);display:block;line-height:1.45;margin-top:2px}
.fact svg{color:var(--gold)}
.private img{width:min(100%,300px);justify-self:center;filter:drop-shadow(0 24px 30px rgba(5,10,40,.5))}

/* iPad */
.tablet{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}
.tablet p{margin-top:14px;color:var(--ink2)}
.tablet img{filter:drop-shadow(0 26px 40px rgba(30,24,14,.28))}

/* pricing */

/* faq */
.faq{margin-top:28px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;position:relative;font-weight:600;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4px;top:24px;width:9px;height:9px;border-right:2px solid var(--ink3);border-bottom:2px solid var(--ink3);transform:rotate(45deg);transition:transform .2s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg);top:28px}
.faq details>div{padding:0 0 18px;color:var(--ink2)}

/* guide article */
.article{padding-block:72px 40px}
.article>.narrow>*+*{margin-top:18px}
.article h2{font-size:34px;margin-top:64px!important}
.article h2:first-child{margin-top:0!important}
.article h3{margin-top:32px!important}
.article p,.article li{color:var(--ink2)}
.article strong{color:var(--ink);font-weight:600}
.steps{margin:18px 0 0;padding:0;list-style:none;counter-reset:s;display:grid;gap:12px}
.steps li{counter-increment:s;position:relative;padding-left:44px}
.steps li::before{content:counter(s);position:absolute;left:0;top:-1px;width:30px;height:30px;border-radius:50%;background:var(--raised);border:1px solid var(--line);display:grid;place-items:center;font:600 15px/1 var(--sans);color:var(--link)}
.steps.ours li::before{background:var(--blue);border-color:var(--blue);color:#fff}
.plain{margin:14px 0 0;padding-left:20px;display:grid;gap:6px}
.fig{margin:32px auto 0!important;width:min(100%,560px);background:var(--sunk);border-radius:20px;overflow:hidden;position:relative}
.fig.phone{height:430px}
.fig.phone img{position:absolute;left:50%;top:28px;width:250px;margin-left:-125px;filter:drop-shadow(0 16px 26px rgba(30,24,14,.32))}
.fig.phone img.end{top:auto;bottom:-24px}
.fig.warm{background:radial-gradient(700px 500px at 22% 0,#FFF6E2 0,#F9DDAE 52%,#E9B36E 100%)}
.fig.bluey{background:var(--hero-blue)}
.fig.free{background:none;border-radius:0;overflow:visible}
figcaption.cap,.fig+p.cap{font-size:14px;color:var(--ink3)}
.cap{text-align:center;margin-top:10px!important;font-size:14px;color:var(--ink3)}
.sources{margin-top:56px!important;padding-top:20px;border-top:1px solid var(--line);font-size:15px}
.sources h2{font:600 15px/1.4 var(--sans)!important;margin:0 0 6px!important;letter-spacing:0}
.sources ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.related{padding-block:56px 72px;background:var(--sunk)}
.related h2{font-size:28px}
.related ul{margin:20px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.related a{display:block;height:100%;background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-decoration:none;color:var(--ink);transition:border-color .15s}
.related a:hover{border-color:var(--link)}
.related b{display:block;font:600 19px/1.25 var(--serif)}
.related span{display:block;font-size:15px;color:var(--ink2);margin-top:4px;line-height:1.45}

/* legal */
.legal{padding:112px 0 72px}
.legal h1{font-size:44px;margin-bottom:8px}
.legal h2{font-size:24px;margin:32px 0 8px}
.legal p,.legal li{color:var(--ink2)}
.legal .date{font-size:14px;color:var(--ink3)}

/* footer */
.foot{border-top:1px solid var(--line);padding-block:40px}
.foot-in{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.foot .brand{font-size:19px;margin-right:0}
.foot-note{margin-right:auto;font-size:14px;color:var(--ink3)}
.foot nav{display:flex;gap:20px;font-size:15px}
.foot nav a{color:var(--ink2)}
.foot .badge{margin:0}
.foot .badge img{height:40px}

/* entrance hooks; everything is visible without them */
.m [data-rise],.m [data-reveal]{opacity:0}
.badge:active{transform:scale(.97)}

@media (max-width:1040px){
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:0}
  .hero-copy{padding-block:32px 0}
  .film{margin:24px auto -120px;width:300px}
  .stage{margin:24px auto -96px;width:280px}
  .stage.photo{width:min(100%,420px);margin:24px auto 48px}
  .story,.feat,.tablet,.private-in{grid-template-columns:minmax(0,1fr);gap:32px}
  .feat:nth-child(even) .panel{order:0}
  .story-art{width:min(100%,380px)}
  .private img{width:200px}
}
@media (max-width:860px){
  .head nav.links{display:none}
  .menu{display:block}
  .head-in{gap:16px;height:64px}
  .hero{padding-top:64px}
  .trio,.flow,.related ul{grid-template-columns:minmax(0,1fr);gap:24px}
  .foot-note{width:100%;order:3}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap,.narrow{padding-inline:16px}
  .section{padding-block:64px}
  h1{font-size:40px;line-height:1.08}
  h2{font-size:30px}
  .article h2{font-size:27px;margin-top:48px!important}
  .sub,.lead{font-size:18px}
  .way span{font-size:3.8vw;white-space:nowrap}
  .badge img{height:50px}
  .film{width:262px;margin-bottom:-110px}
  .film .chip{left:-20px;font-size:15px}
  .stage{width:250px}
  .stage .chip{left:-24px;font-size:15px}
  .stage.photo .chip{right:-8px}
  .feats{gap:64px}
  .panel{height:460px}
  .panel .device{width:240px;margin-left:-120px;top:32px}
  .panel.two .device{width:168px}
  .panel.two .device.a{left:6px;top:28px}
  .panel.two .device.b{right:6px;top:60px}
  .panel .chip{left:12px;bottom:72px;font-size:15px}
  .card{left:12px;right:12px;bottom:40px}
  .facts{grid-template-columns:minmax(0,1fr)}
  .fig.phone{height:380px}
  .fig.phone img{width:224px;margin-left:-112px}
  .legal{padding:96px 0 56px}
  .legal h1{font-size:36px}
}
.hero.warm .hero-grid{min-height:640px}
.hero.warm .crumbs+h1{margin-top:12px}
