/* Prisma design system — extracted from the approved Newton page (Claude Design
   "Newton Landing"). Shared across the site so every page inherits one look.
   Default accent is brand gold; a page (or the live demo) can override --acc.
   Fonts self-hosted in prod; Google Fonts here for preview. */
@import url('css/fonts.css');

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#1a1714}
body{overflow-x:hidden;font-family:'Hanken Grotesk',sans-serif;color:#ece6dd;-webkit-font-smoothing:antialiased}
:root{--acc:oklch(0.8 0.11 85);
  /* tokens the floating Newton widget (newton-offer.js) reads, so it matches this palette */
  --gold:oklch(0.8 0.11 85);--gold-ink:#1a1714;
  --bg-1:#1e1a15;--bg-2:#211d18;--bg-glass:#26211b;
  --text:#ece6dd;--border:rgba(255,255,255,.1);
  --font-body:'Hanken Grotesk',sans-serif;--r-lg:16px;--r-md:12px;--r-sm:10px}
a{color:var(--acc);text-decoration:none}
a:hover{color:#ece6dd}
::selection{background:oklch(0.8 0.11 85 / 0.35)}
@keyframes typedot{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes msgin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.spectrum{height:3px;background:linear-gradient(90deg,#e5484d 0 14.28%,#ef8a3c 0 28.57%,#e6c34a 0 42.85%,#57b06a 0 57.14%,#4f8fd6 0 71.42%,#5f63d3 0 85.71%,#9a5fd6 0 100%);opacity:.85}

.hd{max-width:1180px;margin:0 auto;padding:20px 24px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;color:#ece6dd}
.brand .sq{width:14px;height:14px;background:var(--acc);transform:rotate(45deg);display:inline-block;transition:background .5s}
.brand b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:21px;letter-spacing:-.01em}
.nav{display:flex;gap:22px;flex-wrap:wrap;font-size:15px;font-weight:500;margin-left:auto}
.nav a{color:#a89f92;transition:color .3s}
.nav a:hover{color:#ece6dd}
.nav a.cur{color:#ece6dd}
.nav a.cur:hover{color:var(--acc)}
.hcta{border:1px solid color-mix(in oklab,var(--acc) 55%,transparent);color:var(--acc);padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600;transition:all .4s}
.hcta:hover{background:var(--acc);color:#1a1714}

.btn{display:inline-block;border-radius:999px;font-weight:700;font-size:16px;padding:14px 26px;cursor:pointer;transition:all .4s;border:none}
.btn-acc{background:var(--acc);color:#1a1714}
.btn-acc:hover{filter:brightness(1.1);color:#1a1714}
.btn-out{border:1px solid rgba(255,255,255,.18);color:#ece6dd;font-weight:600;background:none}
.btn-out:hover{border-color:var(--acc);color:var(--acc)}

.eye{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--acc);font-weight:600;transition:color .5s}
.h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(1.9rem,4vw,2.8rem);letter-spacing:-.02em;margin:14px 0 0;text-wrap:pretty}
.h2 em{font-style:normal;color:var(--acc);transition:color .5s}
.sec{max-width:1180px;margin:0 auto;padding:96px 24px 0}
.lede{font-size:16px;line-height:1.6;color:#c9c0b3;max-width:56ch}

/* hero */
.hero{max-width:1180px;margin:0 auto;padding:56px 24px 24px}
.h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(2.5rem,7.2vw,5.2rem);line-height:1.02;letter-spacing:-.025em;margin:18px 0 0;max-width:13ch;text-wrap:pretty}
.h1 .a{color:var(--acc);transition:color .5s}
.hgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;align-items:end;margin-top:28px}
.hlede{font-size:17.5px;line-height:1.65;color:#c9c0b3;margin:0;max-width:56ch;text-wrap:pretty}
.hbtns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.badges{display:flex;gap:8px 20px;flex-wrap:wrap;margin-top:26px;font-size:13.5px;color:#a89f92}
.badges span{display:flex;align-items:center;gap:7px}
.badges i{width:5px;height:5px;border-radius:50%;background:var(--acc);display:inline-block;transition:background .5s}
.prism{display:flex;align-items:center;min-width:0;padding-bottom:8px}
.prism .beam{flex:1;height:2px;background:linear-gradient(90deg,transparent,#f4efe6);min-width:40px}
.prism .glass{width:30px;height:30px;border:2px solid #f4efe6;transform:rotate(45deg);margin:0 -4px;background:#1a1714;position:relative;z-index:1}
.prism .fan{flex:2.2;height:76px;min-width:80px;background:linear-gradient(180deg,#e5484d 0 14.28%,#ef8a3c 0 28.57%,#e6c34a 0 42.85%,#57b06a 0 57.14%,#4f8fd6 0 71.42%,#5f63d3 0 85.71%,#9a5fd6 0 100%);clip-path:polygon(0 46%,100% 0,100% 100%,0 54%);opacity:.9}

/* live demo (phone) */
.demo{margin-top:56px;background:color-mix(in oklab,var(--acc) 6%,#171410);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);transition:background .6s}
.demo-in{max-width:1180px;margin:0 auto;padding:64px 24px 72px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:start}
.demo p.d{font-size:16px;line-height:1.6;color:#c9c0b3;margin:16px 0 26px;max-width:52ch;text-wrap:pretty}
.pickers{display:flex;flex-direction:column;gap:10px}
.pick{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#1e1a15;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:16px 18px;cursor:pointer;color:#ece6dd;font-family:'Hanken Grotesk',sans-serif;transition:all .3s}
.pick:hover{border-color:color-mix(in oklab,var(--acc) 45%,rgba(255,255,255,.09))}
.pick.on{background:color-mix(in oklab,var(--acc) 12%,#1e1a15);border:1.5px solid var(--acc);padding:15.5px 17.5px}
.pick .pd{width:11px;height:11px;transform:rotate(45deg);flex-shrink:0;opacity:.55;transition:opacity .3s}
.pick.on .pd{opacity:1}
.pick .pl{display:flex;flex-direction:column;gap:2px;text-align:left}
.pick .pl b{font-weight:700;font-size:16px}
.pick .pl span{font-size:13px;color:#a89f92}
.pick .chk{margin-left:auto;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--acc);white-space:nowrap;visibility:hidden}
.pick.on .chk{visibility:visible}
.demo .note{font-size:13px;color:#8b8274;margin:22px 0 0;max-width:46ch}
.phcol{display:flex;justify-content:center;min-width:0}
.phone{width:min(380px,100%);background:#12100d;border:1px solid rgba(255,255,255,.1);border-radius:30px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 0 6px rgba(255,255,255,.03)}
.ph-h{display:flex;align-items:center;gap:12px;padding:16px 18px;background:color-mix(in oklab,var(--acc) 14%,#17140f);border-bottom:1px solid rgba(255,255,255,.07);transition:background .6s}
.ph-h .av{width:38px;height:38px;border-radius:50%;background:var(--acc);display:grid;place-items:center;color:#1a1714;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:17px;transition:background .5s;flex-shrink:0}
.ph-h .nm{font-weight:700;font-size:15px}
.ph-h .st{font-size:12px;color:#a89f92;display:flex;align-items:center;gap:6px}
.ph-h .st i{width:6px;height:6px;border-radius:50%;background:#57b06a;display:inline-block}
.chat{height:340px;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px}
.bub{max-width:82%;padding:11px 15px;font-size:14px;line-height:1.5;animation:msgin .3s ease}
.bub.c{align-self:flex-end;background:color-mix(in oklab,var(--acc) 26%,#221d16);border-radius:16px 16px 4px 16px;color:#f2ede4}
.bub.n{align-self:flex-start;background:#26211b;border-radius:16px 16px 16px 4px;color:#d8d1c4}
.typing{align-self:flex-start;background:#26211b;border-radius:16px 16px 16px 4px;padding:12px 16px;display:flex;gap:5px}
.typing i{width:6px;height:6px;border-radius:50%;background:#a89f92;animation:typedot 1.1s infinite}
.typing i:nth-child(2){animation-delay:.18s}
.typing i:nth-child(3){animation-delay:.36s}
.chips{display:flex;gap:8px;flex-wrap:wrap;padding:4px 16px 12px}
.chip{background:none;border:1px solid color-mix(in oklab,var(--acc) 45%,transparent);color:var(--acc);border-radius:999px;padding:7px 13px;font-size:12.5px;font-family:'Hanken Grotesk',sans-serif;font-weight:600;cursor:pointer;transition:all .3s}
.chip:hover{background:color-mix(in oklab,var(--acc) 18%,transparent)}
.ph-in{display:flex;gap:10px;padding:12px 14px 16px;border-top:1px solid rgba(255,255,255,.07)}
.ph-in input{flex:1;min-width:0;background:#1e1a15;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:11px 16px;color:#ece6dd;font-family:'Hanken Grotesk',sans-serif;font-size:16px;outline:none}
.ph-in input:focus{border-color:var(--acc)}
.ph-in .send{width:42px;height:42px;border-radius:50%;border:none;background:var(--acc);color:#1a1714;font-size:18px;font-weight:800;cursor:pointer;transition:background .5s;flex-shrink:0}
.ph-in .send:hover{filter:brightness(1.1)}

/* cards */
.grid-min{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:#211d18;border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:24px}
.card.ghost{background:transparent;border:1px dashed rgba(255,255,255,.14)}
.card .ct{display:flex;justify-content:space-between;align-items:center;gap:10px}
.card .ct b{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:19px}
.card.ghost .ct b{color:#c9c0b3}
.tg{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border-radius:999px;padding:3px 9px}
.tg.on{color:#57b06a;border:1px solid rgba(87,176,106,.4)}
.tg.soon{color:#a89f92;border:1px solid rgba(255,255,255,.16)}
.card p{font-size:14.5px;line-height:1.6;color:#a89f92;margin:12px 0 0}
.card.ghost p{color:#8b8274}

/* numbered grid */
.does{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:0;border-top:1px solid rgba(255,255,255,.09)}
.do{padding:28px 28px 32px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.do .n{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:15px;color:var(--acc);transition:color .5s}
.do .t{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:20px;margin:10px 0 8px}
.do p{font-size:14.5px;line-height:1.65;color:#a89f92;margin:0}

/* step cards */
.step{background:#211d18;border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:26px}
.step .n{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--acc);color:var(--acc);display:grid;place-items:center;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:15px;transition:all .5s}
.step .t{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:19px;margin:16px 0 8px}
.step p{font-size:14.5px;line-height:1.65;color:#a89f92;margin:0}

/* pricing */
.combo{border:1px solid color-mix(in oklab,var(--acc) 40%,transparent);background:color-mix(in oklab,var(--acc) 8%,#1a1714);border-radius:18px;padding:22px 26px;display:flex;gap:12px 28px;align-items:center;flex-wrap:wrap;margin-bottom:18px;transition:all .6s}
.combo .k{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--acc)}
.combo .nm{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:21px;margin-top:4px}
.combo .sub{font-size:14px;color:#a89f92;margin-top:2px}
.combo .pr{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:26px;white-space:nowrap}
.combo .pr small{font-size:14px;font-weight:600;color:#a89f92;font-family:'Hanken Grotesk',sans-serif}
.combo-end{text-align:right}
@media(max-width:600px){
  .combo{padding:20px}
  .combo .pr{white-space:normal;font-size:22px}
  .combo-end{text-align:left;width:100%}
  .combo-end .btn{width:100%;margin-top:14px}
}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;align-items:stretch}
.tier{background:#211d18;border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:28px;display:flex;flex-direction:column;position:relative}
.tier.feat{background:#241f18;border:1.5px solid var(--acc);transition:border-color .5s}
.tier .tn{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:21px}
.tier .ts{font-size:14px;color:#a89f92;margin-top:4px}
.tier .tp{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:28px;margin:20px 0 2px}
.tier .tm{font-size:13.5px;color:#a89f92}
.was{color:#8b8274;text-decoration:line-through;font-size:16px;font-weight:600;font-family:'Hanken Grotesk',sans-serif;margin-right:10px}
.tier ul{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-direction:column;gap:9px;font-size:14px;color:#c9c0b3}
.tier li{display:flex;gap:9px}
.tier li span{color:var(--acc)}
.tier .badge{position:absolute;top:-11px;left:24px;background:var(--acc);color:#1a1714;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;border-radius:999px;padding:4px 12px;transition:background .5s}

/* faq */
.faq{max-width:780px;margin:0 auto;padding:96px 24px 0}
.faq .list{margin-top:20px;border-top:1px solid rgba(255,255,255,.09)}
.faq details{border-bottom:1px solid rgba(255,255,255,.09)}
.faq summary{cursor:pointer;padding:20px 0;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:1em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--acc);font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq p{font-size:15px;line-height:1.65;color:#a89f92;margin:0 0 20px;max-width:60ch}

/* cta */
.cta{max-width:1180px;margin:0 auto;padding:110px 24px 90px;text-align:center}
.cta .bar{width:120px;height:3px;margin:0 auto 34px;background:linear-gradient(90deg,#e5484d 0 14.28%,#ef8a3c 0 28.57%,#e6c34a 0 42.85%,#57b06a 0 57.14%,#4f8fd6 0 71.42%,#5f63d3 0 85.71%,#9a5fd6 0 100%)}
.cta h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.02em;margin:0 auto;max-width:20ch;line-height:1.08;text-wrap:pretty}
.cta p{font-size:16.5px;color:#c9c0b3;margin:18px auto 30px;max-width:44ch;line-height:1.6}
.cta .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

footer{border-top:1px solid rgba(255,255,255,.07)}
.ft{max-width:1180px;margin:0 auto;padding:28px 24px;display:flex;align-items:center;gap:14px 28px;flex-wrap:wrap;font-size:13.5px;color:#8b8274}
.ft .fb{display:flex;align-items:center;gap:9px;color:#c9c0b3}
.ft .fb .sq{width:10px;height:10px;background:var(--acc);transform:rotate(45deg);display:inline-block}
.ft .fb b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:16px}
.ft nav{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}
.ft nav a{color:#8b8274}
.ft nav a:hover{color:#ece6dd}

:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

/* blog article / reading layer */
#rp{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#e5484d,#ef8a3c,#e6c34a,#57b06a,#4f8fd6,#5f63d3,#9a5fd6);z-index:60;transition:width .12s linear}
.post-hero{max-width:860px;margin:0 auto;padding:clamp(40px,7vw,72px) 24px 0;text-align:center}
.post-hero h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:-.025em;max-width:18ch;margin:14px auto 0;line-height:1.05;text-wrap:pretty}
.byline{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;color:#a89f92;font-size:14px;margin:22px auto 0}
.byline .who{display:inline-flex;gap:9px;align-items:center;font-weight:600;color:#ece6dd}
.byline .av{width:30px;height:30px;border-radius:50%;background:var(--acc);display:grid;place-items:center;color:#1a1714;font-weight:800;font-family:'Bricolage Grotesque',sans-serif;font-size:13px}
.byline .sep{opacity:.4}
.hero-img{margin:clamp(28px,5vw,52px) auto 0;max-width:1000px;padding:0 24px}
.hero-img img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.08)}
.prose{max-width:70ch;margin:clamp(34px,6vw,56px) auto 0;padding:0 24px;font-size:1.14rem;line-height:1.85}
.prose p{margin:0 0 1.4em;color:#c9c0b3}
.prose>p:first-of-type{font-size:1.24rem;line-height:1.7;color:#ece6dd}
.prose h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(1.5rem,3vw,2.05rem);letter-spacing:-.02em;margin:1.7em 0 .55em;color:#ece6dd;line-height:1.15}
.prose h3{font-family:'Bricolage Grotesque',sans-serif;font-size:1.2rem;margin:1.5em 0 .5em;color:#ece6dd}
.prose strong{color:#ece6dd;font-weight:700}
.prose ul,.prose ol{margin:0 0 1.5em;padding-left:1.4em;color:#c9c0b3}
.prose li{margin-bottom:.6em}
.prose ol li::marker{color:var(--acc);font-weight:700;font-family:'Bricolage Grotesque',sans-serif}
.prose a{color:var(--acc);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* Buttons inside prose (blog CTAs) must keep their own colour: plain .prose a is
   gold, which would render the label gold-on-gold and invisible on .btn-acc. */
.prose a.btn{text-decoration:none;font-weight:700}
.prose a.btn-acc{color:#1a1714}
.prose a.btn-out{color:#ece6dd}
.prose hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:2em 0}
.callout{position:relative;overflow:hidden;margin:2em 0;padding:24px 26px 26px;border-radius:14px;background:#211d18;border:1px solid rgba(255,255,255,.08)}
.callout::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#e5484d,#ef8a3c,#e6c34a,#57b06a,#4f8fd6,#5f63d3,#9a5fd6)}
.callout h3{margin:0 0 .4em;font-family:'Bricolage Grotesque',sans-serif;font-size:1.2rem}
.callout p{color:#a89f92;margin:0 0 1.1em;font-size:1rem;line-height:1.55}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin:40px auto 0;max-width:70ch;padding:24px 24px 0;border-top:1px solid rgba(255,255,255,.09)}
.pill{font-size:12.5px;color:#a89f92;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.35em .8em}
.next-read{max-width:70ch;margin:26px auto 0;padding:0 24px}
.next-read a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#211d18}
.next-read a:hover{border-color:color-mix(in oklab,var(--acc) 45%,rgba(255,255,255,.08))}
.next-read .nx{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8b8274}
.next-read .tt{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.12rem;color:#ece6dd;margin-top:4px}
.next-read .arrow{font-size:1.4rem;color:var(--acc)}
.post-foot{max-width:70ch;margin:44px auto 0;padding:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid rgba(255,255,255,.09);color:#8b8274;font-size:13.5px}

/* sale mode — generated by tools/pricing/gen.mjs; markup only appears while a sale runs */
.sale-bar{background:var(--acc);color:#1a1714}
.sale-bar .in{max-width:1180px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;font-size:14.5px;font-weight:600}
.sale-bar .tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;border:1px solid rgba(26,23,20,.35);border-radius:999px;padding:3px 9px}
.sale-bar .txt{font-weight:600}
.sale-bar a{color:#1a1714;text-decoration:underline;text-underline-offset:3px;font-weight:700;margin-left:auto}
.sale-bar a:hover{color:#1a1714;opacity:.75}
.was{color:#8b8274;text-decoration:line-through;font-weight:600;font-size:.72em;margin-right:.5em;font-family:'Hanken Grotesk',sans-serif}
.tp .was,.pr .was{display:block;margin:0 0 2px}
