@import url("./brand/tokens.css");

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--rja-bg);color:var(--rja-text);
  font-family:var(--rja-font-sans);line-height:1.55;-webkit-font-smoothing:antialiased
}
img,video{max-width:100%;display:block}
a{color:var(--rja-focus);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--rja-accent);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.grain{position:relative}
.grain::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;mix-blend-mode:multiply;z-index:2;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.glow{position:absolute;border-radius:50%;filter:blur(52px);pointer-events:none;z-index:0}

@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes walkfill{from{width:0}to{width:100%}}
.anim{animation:rise .65s ease both}.anim-d1{animation-delay:.08s}.anim-d2{animation-delay:.16s}.anim-d3{animation-delay:.28s}.anim-d4{animation-delay:.4s}
.floaty{animation:floaty 7s ease-in-out infinite}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .anim,.anim-d1,.anim-d2,.anim-d3,.anim-d4,.floaty,.marquee-track{animation:none!important}
}

.site-header{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px clamp(16px,4vw,40px);background:rgba(250,247,240,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--rja-border);
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--rja-ink);font-weight:850}
.brand img{width:30px;height:30px;border-radius:8px}
.site-header nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:14px}
.site-header nav a{color:var(--rja-muted);text-decoration:none}
.site-header nav a:hover{color:var(--rja-ink)}
.nav-cta{background:var(--rja-accent);color:var(--rja-on-accent)!important;padding:8px 14px;border-radius:999px;font-weight:800;font-size:13px}

.stickers{display:flex;flex-wrap:wrap;gap:8px}
.sticker{
  display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;
  font-size:11px;font-weight:850;border:2px solid currentColor;
  box-shadow:3px 3px 0 rgba(31,31,35,.12);transform:rotate(-1.5deg)
}
.sticker:nth-child(2){transform:rotate(1.8deg)}
.sticker:nth-child(3){transform:rotate(-.8deg)}
.sticker-volt{background:var(--rja-accent);color:var(--rja-ink);border-color:var(--rja-accent)}
.sticker-outline{background:var(--rja-surface);color:var(--rja-ink);border-color:var(--rja-ink)}
.sticker-paper{background:var(--rja-surface-2);color:var(--rja-ink);border-color:var(--rja-border)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 18px;border-radius:12px;border:0;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;
  transition:transform .15s ease, background .15s, box-shadow .15s;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--rja-accent);color:var(--rja-on-accent);box-shadow:0 10px 28px rgba(245,185,66,.35)}
.btn-primary:hover{background:var(--rja-accent-hover)}
.btn-ghost{background:transparent;color:var(--rja-ink);border:1.5px solid var(--rja-border)}
.btn-ghost:hover{border-color:var(--rja-ink);background:var(--rja-surface)}
.btn-ink{background:var(--rja-ink);color:var(--rja-on-ink)}
.waitlist-form{display:flex;flex-wrap:wrap;gap:10px;max-width:520px}
.waitlist-form input[type=email]{
  flex:1 1 210px;min-width:180px;padding:14px 16px;border-radius:12px;
  border:1px solid var(--rja-border);background:var(--rja-surface);color:var(--rja-text);font:inherit;
}
.waitlist-form input::placeholder{color:#9CA3AF}
.form-note{font-size:13px;color:var(--rja-muted);margin:10px 0 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}
.text-link{color:var(--rja-focus);font-weight:700;font-size:14px;text-decoration:none;border-bottom:1px solid rgba(201,138,18,.35)}

/* HERO — light */
.hero{
  position:relative;overflow:hidden;padding:clamp(36px,6vw,68px) clamp(16px,4vw,40px) 18px;
  background:
    radial-gradient(900px 480px at 90% 0%, rgba(245,185,66,.28), transparent 55%),
    radial-gradient(700px 400px at 0% 100%, rgba(255,214,102,.18), transparent 50%),
    linear-gradient(180deg, #FFFCF6 0%, var(--rja-bg) 100%);
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,48px);align-items:center;max-width:1180px;margin:0 auto;position:relative;z-index:3}
.hero h1{
  font-family:var(--rja-font-display);font-size:clamp(2.25rem,5.2vw,4rem);
  line-height:1.05;letter-spacing:-.03em;margin:16px 0;font-weight:700;color:var(--rja-ink)
}
.hero h1 .accent{color:var(--rja-accent-hover)}
.lede{font-size:clamp(1.02rem,1.5vw,1.15rem);color:var(--rja-muted);max-width:36rem;margin:0 0 14px}
.wound{
  margin:0 0 20px;padding:12px 14px;border-left:3px solid var(--rja-accent);
  background:rgba(245,185,66,.1);color:var(--rja-ink);font-size:.95rem;max-width:36rem
}
.hero-visual{position:relative}
.browser{
  background:var(--rja-ink);border-radius:16px;padding:12px;border:1px solid var(--rja-ink-soft);
  box-shadow:var(--rja-shadow);overflow:hidden
}
.browser-bar{display:flex;align-items:center;gap:8px;padding:2px 4px 10px}
.dots{display:flex;gap:6px}
.dots span{width:10px;height:10px;border-radius:50%}
.dots .r{background:#ff5f56}.dots .y{background:#ffbd2e}.dots .g{background:#27c93f}
.url{flex:1;margin-left:6px;padding:6px 12px;border-radius:8px;background:rgba(255,255,255,.08);color:#D4D4D4;font-size:12px;font-family:ui-monospace,Menlo,monospace}
.browser img{width:100%;border-radius:10px;background:var(--rja-bg)}
.visual-caption{
  position:absolute;left:14px;bottom:-12px;z-index:4;
  background:var(--rja-accent);color:var(--rja-ink);font-size:12px;font-weight:850;
  padding:8px 12px;border-radius:999px;box-shadow:0 10px 24px rgba(31,31,35,.15)
}
.hero-shapes{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.sphere{
  position:absolute;border-radius:50%;
  background:radial-gradient(circle at 30% 28%,#fff,#FFD666 35%,#F5B942 65%,#b45309);
  box-shadow:0 16px 36px rgba(245,185,66,.3)
}
.cube{
  position:absolute;border-radius:14px;
  background:linear-gradient(145deg,#FFD666,#F5B942 55%,#b45309);
  box-shadow:0 14px 30px rgba(245,185,66,.28);transform:rotate(18deg)
}

.marquee-wrap{
  margin-top:40px;border-top:1px solid var(--rja-border);border-bottom:1px solid var(--rja-border);
  background:var(--rja-ink);overflow:hidden;padding:13px 0;position:relative;z-index:3
}
.marquee-track{
  display:flex;width:max-content;animation:marquee 30s linear infinite;
  color:var(--rja-accent);font-weight:750;font-size:12px;letter-spacing:.1em;text-transform:uppercase
}
.marquee-track span{padding:0 26px;white-space:nowrap}
.marquee-track span::before{content:"◆ ";opacity:.5}

.section{padding:clamp(40px,6vw,72px) clamp(16px,4vw,40px);max-width:1100px;margin:0 auto;position:relative}
.section.wide{max-width:1180px}
.eyebrow{font-size:12px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--rja-focus);margin:0 0 10px}
.section h2{font-family:var(--rja-font-display);font-size:clamp(1.7rem,3.2vw,2.4rem);letter-spacing:-.02em;line-height:1.15;margin:0 0 12px}
.section .sub{color:var(--rja-muted);max-width:40rem;margin:0 0 26px}

.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.benefit{
  background:var(--rja-surface);border:1px solid var(--rja-border);border-radius:var(--rja-radius-lg);
  padding:22px 18px;box-shadow:var(--rja-shadow);transition:transform .15s, border-color .15s
}
.benefit:hover{transform:translateY(-3px);border-color:var(--rja-accent)}
.benefit .ico-wrap{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:12px;
  background:linear-gradient(145deg,rgba(245,185,66,.35),rgba(245,185,66,.08));border:1px solid rgba(245,185,66,.4);font-size:20px
}
.benefit .num{font-size:11px;font-weight:850;color:var(--rja-focus);letter-spacing:.08em;margin-bottom:6px}
.benefit h3{margin:0 0 8px;font-size:1.1rem}
.benefit p{margin:0;color:var(--rja-muted);font-size:.94rem}

.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.compare-card{border-radius:var(--rja-radius-lg);padding:22px 20px;position:relative;overflow:hidden;background:var(--rja-surface);box-shadow:var(--rja-shadow)}
.compare-card.before{border:1px solid #FECACA;background:#FFF8F8}
.compare-card.after{border:1px solid rgba(245,185,66,.55);background:#FFFCF3}
.compare-card h3{margin:0 0 12px;font-size:1.15rem;display:flex;align-items:center;gap:10px;font-family:var(--rja-font-display)}
.compare-card ul{margin:0;padding-left:18px}
.compare-card li{margin-bottom:10px;color:var(--rja-ink)}
.compare-card.before h3{color:var(--rja-error)}
.compare-card.after h3{color:var(--rja-focus)}
.compare-badge{font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:999px}
.compare-card.before .compare-badge{background:var(--rja-error-bg);color:var(--rja-error)}
.compare-card.after .compare-badge{background:rgba(245,185,66,.25);color:var(--rja-ink)}

.walkthrough{
  display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;
  background:var(--rja-surface);border:1px solid var(--rja-border);border-radius:24px;
  padding:clamp(18px,3vw,32px);box-shadow:var(--rja-shadow);position:relative;overflow:hidden
}
.walk-stage{position:relative;border-radius:16px;overflow:hidden;background:var(--rja-surface-2);border:1px solid var(--rja-border);aspect-ratio:16/10}
.walk-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;opacity:0;transition:opacity .45s ease}
.walk-stage img.is-active{opacity:1}
.walk-progress{display:flex;gap:6px;margin:12px 0 0}
.walk-progress button{flex:1;height:4px;border:0;border-radius:99px;background:var(--rja-border);cursor:pointer;padding:0;overflow:hidden}
.walk-progress button[aria-selected="true"]{background:rgba(245,185,66,.35)}
.walk-progress button[aria-selected="true"] span{display:block;height:100%;background:var(--rja-accent);width:0;animation:walkfill 4.5s linear forwards}
.walk-copy h3{margin:8px 0 10px;font-size:1.35rem;font-family:var(--rja-font-display)}
.walk-copy p{color:var(--rja-muted);margin:0 0 14px}
.walk-steps{display:grid;gap:8px}
.walk-steps button{
  text-align:left;background:var(--rja-bg);border:1px solid var(--rja-border);color:var(--rja-ink);
  border-radius:12px;padding:10px 12px;cursor:pointer;font:inherit
}
.walk-steps button[aria-selected="true"]{border-color:var(--rja-accent);background:#FFF8E7}
.walk-steps strong{display:block;font-size:.92rem}
.walk-steps span{font-size:.8rem;color:var(--rja-muted)}

.photo-band{
  display:grid;grid-template-columns:1fr 1.1fr;gap:0;border-radius:24px;overflow:hidden;
  border:1px solid var(--rja-border);min-height:280px;background:var(--rja-surface);box-shadow:var(--rja-shadow)
}
.photo-band img{width:100%;height:100%;object-fit:cover;min-height:260px;max-height:380px}
.photo-band .panel{padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;justify-content:center;position:relative;background:var(--rja-surface)}
.photo-credit{font-size:11px;color:var(--rja-muted);margin-top:16px}

.honesty-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.honesty-card{background:var(--rja-surface);border:1px solid var(--rja-border);border-radius:var(--rja-radius-lg);padding:22px;box-shadow:var(--rja-shadow)}
.honesty-card h3{margin:0 0 10px;display:flex;align-items:center;gap:8px}
.honesty-card ul{margin:0;padding-left:18px;color:var(--rja-muted)}
.honesty-card li{margin-bottom:8px}

.founding{
  background:var(--rja-surface);border:1px solid rgba(245,185,66,.45);border-radius:24px;
  padding:clamp(24px,4vw,40px);position:relative;overflow:hidden;box-shadow:var(--rja-shadow)
}
.price-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin:8px 0 16px}
.price{font-size:clamp(2.4rem,5vw,3.5rem);font-weight:900;letter-spacing:-.04em;color:var(--rja-ink);font-family:var(--rja-font-display)}
.price small{font-size:1rem;font-weight:700;color:var(--rja-muted);font-family:var(--rja-font-sans)}
.founding-list{margin:0 0 18px;padding-left:20px}
.founding-list li{margin-bottom:10px}
.pending-tag{
  display:inline-flex;align-items:center;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;
  background:var(--rja-warn-bg);color:var(--rja-warn);border:1px solid #F5D0A9;border-radius:999px;padding:3px 8px;vertical-align:middle;margin-left:6px
}
.honest-box{background:var(--rja-warn-bg);border:1px solid #F5D0A9;border-radius:14px;padding:16px 18px;margin:16px 0 22px}
.honest-box p{margin:0 0 8px}
.honest-box ul{margin:0;padding-left:18px;color:var(--rja-muted)}

.faq details{border-top:1px solid var(--rja-border);padding:14px 0}
.faq details:last-of-type{border-bottom:1px solid var(--rja-border)}
.faq summary{cursor:pointer;font-weight:750;list-style:none;color:var(--rja-ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--rja-focus);font-weight:800}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:10px 0 4px;color:var(--rja-muted)}

.ink-band{
  background:var(--rja-ink);color:var(--rja-on-ink);border-radius:24px;padding:clamp(28px,5vw,48px);
  position:relative;overflow:hidden
}
.ink-band .eyebrow{color:var(--rja-accent)}
.ink-band h2{color:#fff;font-family:var(--rja-font-display)}
.ink-band > p{color:#C4C4C8}
.ink-band .waitlist-form input[type=email]{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.ink-band .form-note{color:#A3A3A3}
.ink-band .text-link{color:var(--rja-accent-soft);border-bottom-color:rgba(255,214,102,.4)}

.site-footer{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:28px clamp(16px,4vw,40px) 40px;border-top:1px solid var(--rja-border);
  color:var(--rja-muted);font-size:13px;max-width:1180px;margin:0 auto
}
.site-footer a{color:var(--rja-focus)}

@media(max-width:900px){
  .hero-grid,.compare,.honesty-grid,.benefits,.walkthrough,.photo-band{grid-template-columns:1fr}
  .site-header nav a:not(.nav-cta){display:none}
  .hero-visual{max-width:560px;margin:0 auto}
  .photo-band img{min-height:220px;max-height:280px}
}
@media(max-width:520px){
  .hero h1{font-size:2.05rem}
  .waitlist-form{flex-direction:column;align-items:stretch}
  .btn{width:100%}
  .hero-actions{flex-direction:column;align-items:stretch}
}

/* buoy v6 tweaks */
.brand img.wordmark{width:auto;height:28px;border-radius:0}
.brand .word{font-weight:850;letter-spacing:-.04em;text-transform:lowercase}
.hero h1{text-transform:none}
.hero h1 .tagline{display:block;margin-top:.35em;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:600;letter-spacing:-.02em;color:var(--rja-muted);font-family:var(--rja-font-sans)}
.hero h1 .tagline em{font-style:normal;color:var(--rja-accent-hover);font-weight:800}
.charge-note{font-size:13px;color:var(--rja-muted);margin:8px 0 0;max-width:34rem}
.founding .price-note{font-size:.95rem;color:var(--rja-muted);margin:0 0 14px}
.brand img.wordmark{height:28px;width:auto;max-width:180px}

/* v8 pricing tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 8px}
.tier{
  background:var(--rja-surface);border:1px solid var(--rja-border);border-radius:var(--rja-radius-lg);
  padding:20px 18px;box-shadow:var(--rja-shadow);position:relative
}
.tier.featured{border-color:rgba(245,185,66,.65);background:#FFFCF3}
.tier h3{margin:0 0 6px;font-family:var(--rja-font-display);font-size:1.25rem}
.tier .amt{font-size:1.85rem;font-weight:900;letter-spacing:-.03em;margin:8px 0 4px}
.tier .amt small{font-size:.9rem;font-weight:650;color:var(--rja-muted)}
.tier .who{font-size:.88rem;color:var(--rja-muted);margin:0 0 10px}
.tier ul{margin:0;padding-left:18px;font-size:.92rem}
.tier li{margin-bottom:6px}
@media(max-width:900px){.tiers{grid-template-columns:1fr}}
.legal-line{font-size:12px;color:var(--rja-muted);margin-top:8px}
