/* Shared by every Pixie page. A page sets --p (her colour) and --p-deep on <html>. */
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;--ink:#1C1140;--soft:#5F5880;--line:rgba(28,17,64,.14);--paper:#F3EFFA;--stage-a:#ECEEF4;--stage-b:#C9CEDB;--pad:clamp(22px,5.5vw,96px)}
body{font-family:'Sora',system-ui,sans-serif;font-weight:300;font-size:16.5px;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block}
img{height:auto}   /* width/height attributes then only reserve the space; any rule that sets a height still wins */
a{color:inherit}
h1,h2,h3{font-weight:200;letter-spacing:-.045em;line-height:1.04}
h2{font-size:clamp(2.1rem,4.6vw,4.2rem);max-width:17ch}
.lede{max-width:50ch;color:var(--soft);font-size:1.08rem;margin-top:24px}
.mark{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.mark em{font-style:normal;color:var(--p)}
section{padding:clamp(84px,11vw,170px) var(--pad)}
.btn{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;font-weight:400;font-size:.98rem;padding:15px 26px;border-radius:999px;background:var(--ink);color:#fff;border:1px solid var(--ink);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px var(--p)}
.btn.line{background:transparent;color:var(--ink)}
.btn.sm{padding:10px 18px;font-size:.88rem}
:focus-visible{outline:2px solid var(--p);outline-offset:3px}

/* the realm bar: identical on every Pixie page, so you always know whose house this is */
.realm{position:absolute;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;gap:26px;padding:20px var(--pad);font-size:.9rem}
.realm .home{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1.02rem}
.realm .home img{width:34px;height:34px;border-radius:9px}
.realm .home .mark em{color:#7A45E6}
.sisters{display:flex;gap:6px;list-style:none;padding:0 0 0 22px;border-left:1px solid var(--line)}
.sisters a{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;text-decoration:none;font-size:.82rem;color:var(--soft);transition:background .2s,color .2s}
.sisters i{width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.sisters a:hover{background:rgba(255,255,255,.6);color:var(--ink)}
.sisters a[aria-current]{background:#fff;color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.sisters a:not([aria-current]) span{display:none}
.sisters a:not([aria-current]):hover span{display:inline}
.realm .right{margin-left:auto;display:flex;align-items:center;gap:22px}
.realm .right a:not(.btn){text-decoration:none}
@media(max-width:1000px){.sisters a:not([aria-current]):hover span{display:none}.realm .right a:not(.btn){display:none}}
@media(max-width:640px){.sisters{display:none}}

/* hero: a pale studio, the Pixie in an arched window, glass panels of real work around her */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:4vw;padding:120px var(--pad) 70px;overflow:hidden;
  background:radial-gradient(60% 70% at 74% 46%,color-mix(in oklab,var(--p) 34%,transparent),transparent 70%),linear-gradient(180deg,var(--stage-a),var(--stage-b))}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.hero-copy{position:relative;z-index:4}
.hero-copy .mark{font-size:1.5rem;display:block;margin-bottom:26px}
h1{font-size:clamp(2.7rem,5.6vw,5.9rem)}
.hero-copy p{max-width:38ch;font-size:1.1rem;color:#3F3763;margin:30px 0 34px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.on{margin-top:34px;font-size:.86rem;color:var(--soft);max-width:44ch}
.stagebox{position:relative;justify-self:center;width:min(100%,470px);z-index:2}
.arch{position:relative;aspect-ratio:720/920;max-height:82svh;margin:0 auto;border-radius:999px 999px 34px 34px;overflow:hidden;background:#B9BECB;
  box-shadow:0 0 0 1px rgba(255,255,255,.7),0 0 0 10px rgba(255,255,255,.28),0 60px 120px -50px color-mix(in oklab,var(--p) 80%,#1C1140)}
.arch video,.arch img{width:100%;height:100%;object-fit:cover}
.glass{position:absolute;z-index:5;padding:14px 16px;border-radius:16px;font-size:.8rem;line-height:1.35;color:var(--ink);
  background:rgba(255,255,255,.58);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:0 0 0 1px rgba(255,255,255,.85),0 24px 50px -26px rgba(28,17,64,.5);animation:float 7s ease-in-out infinite}
.glass b{display:block;font-weight:500;font-size:.86rem}
.glass small{color:var(--soft)}
.glass.g1{left:-11%;top:7%;width:190px}
.glass.g2{right:-11%;top:46%;width:190px;animation-delay:-2.5s}
.glass.g3{left:-19%;bottom:6%;width:220px;padding:6px;animation-delay:-4.5s}
.glass.g3 img{border-radius:11px}
.glass .row{display:flex;align-items:center;gap:8px;margin-top:8px}
.glass .row i{width:8px;height:8px;border-radius:50%;background:var(--p);box-shadow:0 0 8px var(--p)}
@keyframes float{50%{transform:translateY(-10px)}}
@media(max-width:1100px){.glass.g1{left:-8%}.glass.g2{right:-6%}.glass.g3{left:-6%}}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:110px}.stagebox{width:min(78vw,360px);margin-top:20px}.glass.g1{left:-9%;top:-5%;width:160px}.glass.g2{right:-9%;top:62%;width:160px}.glass.g3{display:none}}
@media(prefers-reduced-motion:reduce){.glass{animation:none}html{scroll-behavior:auto}}

/* what she does: stills from her film beside plain statements */
.does{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,40px);margin-top:70px}
.does figure{margin:0}
.does img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:22px}
.does h3{font-size:1.75rem;margin:24px 0 10px}
.does p{color:var(--soft);font-size:.98rem;max-width:36ch}
@media(max-width:860px){.does{grid-template-columns:1fr}.does img{aspect-ratio:16/11}}

/* her film */
.film{color:#fff;--soft:#D6CBF5;display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(30px,6vw,110px);align-items:center;
  background:radial-gradient(50% 80% at 18% 50%,color-mix(in oklab,var(--p) 70%,transparent),transparent 72%),linear-gradient(160deg,#1A0E3D,#2F1470 60%,#3D1880)}
.film video{width:100%;aspect-ratio:720/1256;border-radius:28px;background:#000;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 50px 110px -40px #000}
.film .lede{color:var(--soft)}
@media(max-width:820px){.film{grid-template-columns:1fr}.film video{max-width:320px}}

/* three steps: a real sequence, so it is numbered */
.steps{list-style:none;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:64px;border-top:1px solid var(--line)}
.steps li{counter-increment:s;padding:28px 28px 0 0}
.steps li+li{padding-left:28px;border-left:1px solid var(--line)}
.steps li::before{content:counter(s);display:block;font-weight:200;font-size:3.4rem;line-height:1;letter-spacing:-.05em;color:var(--p-deep)}
.steps h3{font-size:1.5rem;margin:18px 0 10px}
.steps p{color:var(--soft);font-size:.96rem}
@media(max-width:860px){.steps{grid-template-columns:1fr}.steps li+li{padding-left:0;border-left:0;border-top:1px solid var(--line);margin-top:28px}}

/* the real screen */
.real{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(30px,5vw,90px);align-items:center;padding-top:0}
.shot{border-radius:14px;overflow:hidden;margin-right:calc(var(--pad)*-1);box-shadow:0 0 0 1px var(--line),0 50px 100px -50px rgba(28,17,64,.6)}
.shot img{width:100%;max-height:640px;object-fit:cover;object-position:top left}
.note{margin-top:20px;font-size:.84rem;color:var(--soft)}
@media(max-width:860px){.real{grid-template-columns:1fr}.shot{margin-right:0}}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:60px;max-width:900px}
.plan{padding:34px 32px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px var(--line)}
.plan.best{background:var(--ink);color:#fff}
.plan .who{font-size:.9rem;opacity:.7}
.plan .price{font-size:3.6rem;font-weight:200;letter-spacing:-.05em;line-height:1;margin:20px 0 6px}
.plan .price small{font-size:1rem;letter-spacing:0;opacity:.7}
.plan .yr{font-size:.84rem;opacity:.7}
.plan ul{list-style:none;padding:0;margin:24px 0 28px;display:grid;gap:9px;font-size:.94rem}
.plan li{padding-left:20px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--p);box-shadow:0 0 8px var(--p)}
.plan.best .btn{background:#fff;color:var(--ink);border-color:#fff}
.fine{margin-top:22px;font-size:.88rem;color:var(--soft);max-width:70ch}
@media(max-width:700px){.plans{grid-template-columns:1fr}}

/* the way home */
.family{background:linear-gradient(180deg,var(--stage-a),var(--stage-b));text-align:left}
.lights{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:60px;border-left:1px solid var(--line)}
.lights a{display:block;text-decoration:none;padding:0 16px 26px;border-right:1px solid var(--line)}
.lights i{display:block;width:40px;height:40px;border-radius:50%;margin:0 0 22px;background:radial-gradient(circle at 36% 32%,#fff 0,var(--c) 48%,color-mix(in oklab,var(--c) 60%,#1C1140));box-shadow:0 0 30px color-mix(in oklab,var(--c) 70%,transparent);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.lights a:hover i{transform:translateY(-8px) scale(1.1)}
.lights .mark{font-size:1.02rem;display:block}
.lights .mark em{color:color-mix(in oklab,var(--c) 70%,#1C1140)}
.lights small{color:var(--soft);font-size:.82rem}
.lights a[aria-current] i{box-shadow:0 0 0 6px #fff,0 0 34px var(--c)}
@media(max-width:1000px){.lights{grid-template-columns:repeat(2,1fr);gap:22px 0}}
footer{padding:40px var(--pad);display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:space-between;font-size:.86rem;color:var(--soft);border-top:1px solid var(--line)}
.back{position:fixed;left:14px;bottom:14px;z-index:50;font-size:.76rem;padding:8px 14px;border-radius:999px;background:#fff;color:#1C1140;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.18)}

/* ---- added for the sister pages and the home page ---- */
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:64px;border-top:1px solid var(--line)}
.three div{padding:28px 28px 0 0}
.three div+div{padding-left:28px;border-left:1px solid var(--line)}
.three h3{font-size:1.7rem;margin-bottom:12px}
.three p{color:var(--soft);font-size:.98rem;max-width:36ch}
.steps.n4{grid-template-columns:repeat(4,minmax(0,1fr))}
.shot video{width:100%;display:block}
@media(max-width:860px){.three{grid-template-columns:1fr}.three div+div{padding-left:0;border-left:0;border-top:1px solid var(--line);margin-top:28px}.steps.n4{grid-template-columns:1fr}}

/* the cast: seven portraits that run off the right edge */
.cast{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;margin-top:60px;padding:10px var(--pad) 26px 0;scrollbar-width:thin}
.member{flex:0 0 clamp(210px,19vw,280px);scroll-snap-align:start;text-decoration:none;display:block}
.member img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 12%;border-radius:140px 140px 22px 22px;background:#B9BECB;box-shadow:0 0 0 1px rgba(255,255,255,.8),0 30px 60px -34px var(--c);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.member:hover img{transform:translateY(-8px)}
.member .mark{display:block;font-size:1.2rem;margin-top:20px}
.member .mark em{color:color-mix(in oklab,var(--c) 72%,#1C1140)}
.member b{display:block;font-weight:400;margin-top:2px}
.member small{display:block;color:var(--soft);font-size:.88rem;margin-top:4px;max-width:26ch}

/* the product reel */
.film-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2.9fr);gap:clamp(28px,4vw,64px);align-items:end;margin-top:56px}
.reel{list-style:none;padding:0;border-top:1px solid var(--line)}
.reel button{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;padding:18px 0 18px 22px;border-bottom:1px solid var(--line);position:relative;opacity:.55;transition:opacity .3s}
.reel button::before{content:"";position:absolute;left:0;top:27px;width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.reel button:hover,.reel button[aria-pressed=true]{opacity:1}
.reel button:focus-visible{outline:2px solid var(--p);outline-offset:2px}
.reel .mark{font-size:1.02rem;display:block}
.reel .mark em{color:color-mix(in oklab,var(--c) 72%,#1C1140)}
.reel small{display:block;font-size:.88rem;color:var(--soft);margin-top:2px}
.screen{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#0B0A14;box-shadow:0 0 0 1px var(--line),0 0 110px -30px var(--pc,#8E5BF0),0 50px 100px -50px rgba(28,17,64,.7);transition:box-shadow .6s}
.screen video,.screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left}
@media(max-width:900px){.film-grid{grid-template-columns:1fr}.film-grid>div{order:-1}}

/* live customer sites */
.sites{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x proximity;margin:60px calc(var(--pad)*-1) 0 0;padding:0 var(--pad) 28px 0;scrollbar-width:thin}
.site{flex:0 0 min(64vw,780px);scroll-snap-align:start;text-decoration:none;display:block}
.site figure{margin:0}
.shotb{border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line),0 40px 80px -50px rgba(28,17,64,.55)}
.shotb .bar{display:flex;gap:6px;align-items:center;padding:10px 14px;background:#fff;font-size:.76rem;color:var(--soft)}
.shotb .bar i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.shotb .bar span{margin-left:10px}
.shotb img{width:100%;height:auto}
.site figcaption{margin-top:16px;font-size:.92rem;color:var(--soft)}
.site figcaption b{display:block;color:var(--ink);font-weight:400;font-size:1.25rem;letter-spacing:-.02em}
.quote blockquote{font-weight:200;letter-spacing:-.045em;font-size:clamp(2rem,5vw,4.8rem);line-height:1.06;max-width:18ch}
.quote cite{display:block;margin-top:30px;font-style:normal;font-size:.95rem;color:var(--soft)}

/* the founder */
.founder{padding:0;display:grid;grid-template-columns:1fr 1fr;color:#fff;background:linear-gradient(160deg,#1A0E3D,#2F1470 60%,#3D1880)}
.founder img{width:100%;height:100%;min-height:540px;object-fit:cover;object-position:50% 20%}
.founder>div{padding:clamp(60px,8vw,120px) var(--pad) clamp(60px,8vw,120px) clamp(30px,5vw,80px);align-self:center}
.founder blockquote{font-weight:200;letter-spacing:-.04em;font-size:clamp(1.7rem,3.1vw,3rem);line-height:1.1}
.founder p{color:#D6CBF5;max-width:46ch;margin-top:24px}
@media(max-width:900px){.founder{grid-template-columns:1fr}.founder img{min-height:0;aspect-ratio:4/3}.founder>div{padding-left:var(--pad)}.site{flex-basis:84vw}}

/* suite pricing */
.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:64px;border-top:1px solid var(--line)}
.tier{padding:30px 24px 34px 0;border-bottom:1px solid var(--line)}
.tier+.tier{padding-left:24px;border-left:1px solid var(--line)}
.tier h3{font-weight:500;font-size:.95rem;letter-spacing:0;color:var(--soft)}
.tier .amt{font-weight:200;font-size:clamp(2.6rem,4vw,3.6rem);letter-spacing:-.05em;line-height:1.25}
.tier .amt small{font-size:.88rem;letter-spacing:0;color:var(--soft)}
.tier p{font-size:.92rem;color:var(--soft)}
.dots{display:flex;gap:6px;margin-bottom:28px}
.dots i{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.dots i.off{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
@media(max-width:860px){.tiers{grid-template-columns:1fr 1fr}.tier+.tier{padding-left:0;border-left:0}}

/* ---- home: how they work together, the Pixie finder, and the staircase ---- */
.together{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,5vw,90px);align-items:center}
.handoffs{list-style:none;padding:0;margin-top:40px;counter-reset:h;border-top:1px solid var(--line)}
.handoffs li{counter-increment:h;display:grid;grid-template-columns:34px 1fr;gap:6px 10px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.98rem;color:var(--soft)}
.handoffs li::before{content:counter(h);font-weight:200;font-size:1.5rem;line-height:1.1;letter-spacing:-.04em;color:var(--c)}
.handoffs li b{font-weight:400;color:var(--ink)}
.handoffs li.brain::before{content:"";width:14px;height:14px;border-radius:50%;margin-top:7px;background:var(--c);box-shadow:0 0 14px var(--c)}
.loop{position:relative;aspect-ratio:1;width:100%;max-width:620px;justify-self:center}
.loop svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.loop .ring{fill:none;stroke:var(--line);stroke-width:.35}
.loop .spoke{stroke:var(--line);stroke-width:.25;stroke-dasharray:.8 1.4}
.loop .flow{fill:none;stroke:url(#loopgrad);stroke-width:.7;stroke-linecap:round;stroke-dasharray:9 52;animation:loopflow 9s linear infinite}
@keyframes loopflow{to{stroke-dashoffset:-244}}
.node{position:absolute;left:var(--x);top:var(--y);width:17%;transform:translate(-50%,-50%);text-align:center;text-decoration:none}
.node img{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:50% 16%;background:#B9BECB;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--c),0 18px 34px -16px var(--c);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.node:hover img{transform:scale(1.08)}
.node b{display:block;font-weight:400;font-size:.95rem;margin-top:8px;line-height:1.1}
.node small{display:block;font-size:.76rem;color:var(--soft)}
.node.brain{width:27%}
.node.brain img{box-shadow:0 0 0 4px #fff,0 0 0 6px var(--c),0 0 60px -6px var(--c)}
.node.brain b{font-size:1.1rem}
@media(max-width:900px){.together{grid-template-columns:1fr}.node b{font-size:.8rem}.node small{display:none}}
@media(prefers-reduced-motion:reduce){.loop .flow{animation:none}}

/* the finder: Athena invites you to scan your site */
.finder{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;
  background:radial-gradient(50% 80% at 12% 50%,color-mix(in oklab,#E8563A 26%,transparent),transparent 70%),linear-gradient(180deg,var(--stage-a),var(--stage-b))}
.finder .arch{width:clamp(200px,24vw,330px);margin:0;aspect-ratio:3/3.9;max-height:none;box-shadow:0 0 0 1px rgba(255,255,255,.7),0 0 0 10px rgba(255,255,255,.28),0 50px 100px -50px #E8563A}
.finder .says{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(255,255,255,.6);box-shadow:0 0 0 1px rgba(255,255,255,.9);font-size:.86rem;color:#3F3763}
.finder .says i{width:9px;height:9px;border-radius:50%;background:#E8563A;box-shadow:0 0 10px #E8563A}
.finder form{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;max-width:620px}
.finder input{flex:1 1 260px;font:inherit;padding:15px 20px;border-radius:999px;border:1px solid rgba(28,17,64,.25);background:#fff;color:var(--ink)}
.finder input:focus-visible{outline:2px solid #B8331A;outline-offset:2px}
.finder .fine{margin-top:16px}
.finder output{display:block;margin-top:14px;font-size:.92rem;color:#3F3763;min-height:1.4em}
@media(max-width:760px){.finder{grid-template-columns:1fr}.finder .arch{width:min(60vw,240px)}}

/* the staircase: start with one Pixie, climb when you are ready */
.stairs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;margin-top:64px}
.step{background:#fff;border-radius:22px;box-shadow:0 0 0 1px var(--line);padding:22px 20px 24px;min-height:calc(190px + var(--n)*34px);display:flex;flex-direction:column}
.step .dots{margin-bottom:auto;padding-bottom:22px;flex-wrap:wrap}
.step h3{font-weight:500;font-size:.92rem;letter-spacing:0;color:var(--soft)}
.step .amt{font-weight:200;font-size:clamp(2rem,3vw,2.9rem);letter-spacing:-.05em;line-height:1.2}
.step .amt small{font-size:.82rem;letter-spacing:0;color:var(--soft)}
.step p{font-size:.88rem;color:var(--soft);margin-top:4px}
.step.top{background:var(--ink);color:#fff;box-shadow:none}
.step.top h3,.step.top p,.step.top .amt small{color:#CFC6EC}
.step.top .dots i.off{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.stairs-note{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:26px;font-size:.92rem;color:var(--soft)}
.stairs-note b{font-weight:400;color:var(--ink)}
@media(max-width:1100px){.stairs{grid-template-columns:repeat(3,minmax(0,1fr))}.step{min-height:200px}}
@media(max-width:620px){.stairs{grid-template-columns:1fr 1fr}}
.step .amt{font-size:clamp(1.8rem,2.6vw,2.6rem)}
.step .amt small{display:block;margin-top:2px}
.step:last-child .amt{font-size:1.6rem;letter-spacing:-.03em;line-height:1.5}

/* the founder page */
.about-hero{min-height:78svh}
.about-hero .arch{aspect-ratio:3/3.6}
.story{max-width:calc(68ch + var(--pad)*2)}
.story blockquote{font-weight:200;letter-spacing:-.045em;font-size:clamp(1.9rem,4vw,3.6rem);line-height:1.08}
.story .by{margin:26px 0 70px;font-size:.98rem}
.story .by span{color:var(--soft)}
.story h2{margin-bottom:26px}
.story>p:not(.by){font-size:1.1rem;line-height:1.75;color:#3F3763;margin-top:22px}

/* footer, contact */
.site-foot{padding:70px var(--pad) 34px;border-top:1px solid var(--line);font-size:.9rem;color:var(--soft);display:block}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(4,minmax(0,1fr));gap:36px 28px}
.site-foot .home{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1.05rem;color:var(--ink)}
.site-foot .home img{border-radius:9px}
.site-foot .home .mark em{color:#7A45E6}
.site-foot p{max-width:34ch;margin-top:16px}
.site-foot .dim{opacity:.8;font-size:.84rem}
.site-foot h3{letter-spacing:0;line-height:1.5;font-weight:500;font-size:.84rem;color:var(--ink);margin-bottom:12px}
.site-foot nav a{display:block;padding:4px 0;text-decoration:none;color:var(--soft)}
.site-foot nav a:hover{color:var(--ink);text-decoration:underline}
.foot-bottom{display:flex;flex-wrap:wrap;gap:10px 30px;justify-content:space-between;margin-top:50px;padding-top:22px;border-top:1px solid var(--line);font-size:.84rem}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div{grid-column:1/-1}}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(30px,6vw,110px);align-items:start;padding-top:0}
.contact form{display:grid;gap:16px}
.contact label span{display:block;font-size:.88rem;color:var(--soft);margin-bottom:6px}
.contact input,.contact textarea{width:100%;font:inherit;color:var(--ink);padding:14px 18px;border-radius:16px;border:1px solid rgba(28,17,64,.25);background:#fff}
.contact textarea{resize:vertical}
.contact input:focus-visible,.contact textarea:focus-visible{outline:2px solid var(--p-deep);outline-offset:2px}
.contact .btn{justify-self:start}
.contact output{font-size:.92rem;color:var(--soft);min-height:1.4em}
@media(max-width:820px){.contact{grid-template-columns:1fr}}

/* ---- soft transitions between sections: some edges melt into the next, some stay crisp on purpose ---- */
section,.hero{--sec:clamp(84px,11vw,170px);--fade:calc(var(--sec)*.72)}
/* the hero lets go into the page instead of ending on a line */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(243,239,250,0),var(--paper))}
/* a slow wash of the seven colours drifts across the join between "Meet the seven" and the loop */
#seven{position:relative}
#seven::after{content:"";position:absolute;right:-12%;bottom:calc(var(--sec)*-1.1);width:70%;aspect-ratio:2/1;pointer-events:none;z-index:0;filter:blur(70px);opacity:.5;
  background:radial-gradient(closest-side at 30% 50%,#C9B8FF,transparent),radial-gradient(closest-side at 70% 40%,#FFC9E0,transparent),radial-gradient(closest-side at 52% 72%,#BFEAF7,transparent)}
#seven>*,#together>*{position:relative;z-index:1}
/* the finder rises out of the page and sinks into the film band */
.finder{background:radial-gradient(50% 70% at 12% 55%,color-mix(in oklab,#E8563A 26%,transparent),transparent 70%),
  linear-gradient(180deg,var(--paper) 0,var(--stage-a) var(--fade),var(--stage-b) 100%)}
.film{--from:var(--paper);background:linear-gradient(180deg,var(--from) 0,rgba(52,22,122,0) var(--fade)),
  linear-gradient(0deg,var(--paper) 0,rgba(61,24,128,0) var(--fade)),
  radial-gradient(50% 80% at 18% 50%,color-mix(in oklab,var(--p) 70%,transparent),transparent 72%),linear-gradient(160deg,#1A0E3D,#2F1470 60%,#3D1880)}
.finder+.film{--from:var(--stage-b)}
/* the last band on a Pixie page comes up out of the page */
.family{background:linear-gradient(180deg,var(--paper) 0,var(--stage-a) var(--fade),var(--stage-b) 100%)}
/* the founder block keeps a hard photographic edge, but its lower edge is softened by a curve */
.founder{border-radius:0 0 clamp(28px,5vw,72px) clamp(28px,5vw,72px);overflow:hidden}
/* the staircase sits on a faint glow so the page does not end flat */
#pricing{position:relative}
#pricing::before{content:"";position:absolute;left:10%;right:10%;bottom:8%;height:46%;pointer-events:none;filter:blur(90px);opacity:.42;
  background:linear-gradient(90deg,#BFEAF7,#C9B8FF 35%,#FFC9E0 62%,#FFE2A8)}
#pricing>*{position:relative}

/* mailing-list signup in the footer; form status messages */
.subscribe{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end;margin-top:22px;max-width:380px}
.subscribe label{flex:1 1 200px}
.subscribe label span{display:block;font-size:.84rem;color:var(--ink);margin-bottom:6px}
.subscribe input[type=email]{width:100%;font:inherit;color:var(--ink);padding:10px 16px;border-radius:999px;border:1px solid rgba(28,17,64,.3);background:#fff;min-height:44px}
.subscribe input:focus-visible{outline:2px solid var(--p-deep);outline-offset:2px}
.subscribe .btn{min-height:44px}
.subscribe output{flex-basis:100%;font-size:.86rem;min-height:1.3em;color:#3F3763}
output[data-state=error]{color:#A3261C!important}      /* 6.5:1 on the page */
output[data-state=ok]{color:#17603F!important}         /* 6.9:1 */

/* success cards (cng-celebrate.js) in the realm's voice */
.cgc { --cgc-bg:#fff; --cgc-ink:#1C1140; --cgc-dim:rgba(28,17,64,.72); --cgc-line:rgba(28,17,64,.14); --cgc-accent:#8E5BF0; --cgc-title-weight:300; --cgc-radius:24px; }
.subscribe + .cgc { max-width:380px; margin-top:22px; }

/* finder results: Athena's answer, in cards */
.finder-results{margin-top:26px;max-width:720px}
.finder-results[hidden]{display:none}
.fr-head{font-weight:300;font-size:1.7rem;letter-spacing:-.02em;outline:0}
.fr-for{margin-top:4px;color:#3F3763;font-size:.95rem}
.fr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:16px}
.fr-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:20px;background:#fff;border:1px solid rgba(28,17,64,.12);box-shadow:inset 3px 0 0 var(--light)}
.fr-card img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--light)}
.fr-top{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.fr-top strong{font-family:'Plus Jakarta Sans',Sora,sans-serif;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.fr-pri{font-size:.76rem;padding:3px 10px;border-radius:999px;background:rgba(28,17,64,.08);color:var(--ink)}
.fr-why{margin-top:6px;font-size:.92rem;line-height:1.5;color:#3F3763}
.fr-more{display:inline-block;margin-top:6px;padding:6px 0;font-size:.86rem;color:#4A26A8}
.fr-rest{margin-top:16px}
.fr-rest summary{cursor:pointer;padding:10px 0;font-size:.92rem;color:var(--ink)}
.fr-cta{margin-top:22px}
.fr-gate{margin-top:26px;padding:20px;border-radius:20px;background:rgba(255,255,255,.7);border:1px solid rgba(28,17,64,.12);display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.fr-gate h4{flex-basis:100%;font-weight:500;font-size:1.05rem}
.fr-gate .fr-why{flex-basis:100%;margin-top:0}
.fr-gate label{flex:1 1 220px}
.fr-gate label span{display:block;font-size:.84rem;margin-bottom:6px;color:var(--ink)}
.fr-gate input{width:100%;font:inherit;padding:10px 16px;min-height:44px;border-radius:999px;border:1px solid rgba(28,17,64,.3);background:#fff;color:var(--ink)}
.fr-gate input:focus-visible{outline:2px solid #B8331A;outline-offset:2px}
.fr-gate .btn{min-height:44px}
.fr-gate output{flex-basis:100%;font-size:.9rem;min-height:1.3em;color:#3F3763}

/* content carried over from the old sites (parity_render.py) */
.px-plans h2,.px-more h2,.px-built h2,.px-cust h2,.px-faq h2{font-size:clamp(1.8rem,3.4vw,3rem);max-width:22ch}
.px-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:44px}
.px-plan{display:flex;flex-direction:column;padding:28px;border-radius:24px;background:#fff;border:1px solid var(--line)}
.px-plan h3{font-weight:500;font-size:1.1rem}
.px-amt{margin-top:8px;font-weight:200;font-size:2.6rem;letter-spacing:-.04em;line-height:1.1}
.px-amt small{font-size:.9rem;letter-spacing:0;color:var(--soft)}
.px-year,.px-blurb{margin-top:6px;font-size:.92rem;color:var(--soft)}
.px-plan ul{margin:18px 0 22px;padding:0;list-style:none;display:grid;gap:9px;font-size:.95rem}
.px-plan li{padding-left:22px;position:relative}
.px-plan li::before{content:"";position:absolute;left:2px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--p)}
.px-plan .btn{margin-top:auto;align-self:flex-start}
.px-sub{margin-top:56px;font-weight:400;font-size:1.3rem}
.px-tablewrap{overflow-x:auto;margin-top:18px}
.px-table{width:100%;max-width:820px;border-collapse:collapse;font-size:.98rem}
.px-table th,.px-table td{text-align:left;padding:14px 16px 14px 0;border-bottom:1px solid var(--line);font-weight:300}
.px-table thead th{font-size:.86rem;color:var(--soft);font-weight:400}
.px-table tbody th{font-weight:500}
.px-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 40px;margin-top:44px}
.px-grid article{padding:22px 0;border-top:1px solid var(--line)}
.px-grid h3{font-weight:500;font-size:1.05rem}
.px-grid p{margin-top:8px;font-size:.96rem;color:var(--soft)}
.px-notes .px-grid article,.px-offers .px-grid article{padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.6)}
.px-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;padding:0;list-style:none}
.px-chips li{padding:10px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.95rem}
.px-chips a{color:inherit}
.px-rating{margin-top:22px;font-size:.98rem}
.px-faq details{max-width:860px;border-top:1px solid var(--line)}
.px-faq details:last-of-type{border-bottom:1px solid var(--line)}
.px-faq h2{margin-bottom:40px}
.px-faq summary{cursor:pointer;padding:20px 34px 20px 0;font-weight:400;font-size:1.08rem;list-style:none;position:relative}
.px-faq summary::-webkit-details-marker{display:none}
.px-faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-size:1.5rem;font-weight:200}
.px-faq details[open] summary::after{content:"\2212"}
.px-faq summary:focus-visible{outline:2px solid var(--p-deep);outline-offset:2px;border-radius:6px}
.px-faq details p{padding:0 0 22px;max-width:70ch;color:var(--soft)}

/* finder: the no-website path */
.finder form[data-off]{display:none}
.finder-ind{display:grid!important;gap:14px;margin-top:30px;max-width:620px}
.finder-ind[hidden]{display:none!important}
.finder-ind label span{display:block;font-size:.88rem;margin-bottom:6px;color:var(--ink)}
.finder-ind select,.finder-ind textarea{width:100%;font:inherit;color:var(--ink);padding:14px 18px;border-radius:16px;border:1px solid rgba(28,17,64,.25);background:#fff;min-height:48px}
.finder-ind select:focus-visible,.finder-ind textarea:focus-visible,.finder-switch:focus-visible{outline:2px solid #B8331A;outline-offset:2px}
.finder-ind .btn{justify-self:start}
.finder-switch{margin-top:14px;padding:10px 0;min-height:44px;background:none;border:0;font:inherit;font-size:.95rem;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
