:root{color-scheme:dark;--bg:#07090b;--paper:#ecebe5;--muted:#a1a3a6;--red:#db363d;--line:#ffffff20;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--paper);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #f56b71;outline-offset:6px}.shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;padding:10px 18px;background:var(--paper);color:var(--bg);z-index:9}.skip:focus{top:12px}.site-header{min-height:112px;display:flex;align-items:center;gap:48px;position:relative;z-index:2;border-bottom:1px solid var(--line)}.brand{width:195px;display:block;flex-shrink:0}.brand img{display:block;width:100%;height:auto}.site-header nav{display:flex;gap:30px;margin-left:auto;font-size:12px;color:#c0c2c4}.site-header nav a,.site-footer nav a{transition:color .2s}.site-header nav a:hover,.site-footer nav a:hover{color:#fff}.launch-status{font-size:10px;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:9px;white-space:nowrap;color:#d3d4d5}.launch-status i{width:5px;height:5px;background:var(--red);border-radius:50%;box-shadow:0 0 12px #d9363d60}.hero{position:relative;min-height:790px;padding-block:76px 96px;display:grid;grid-template-columns:1.07fr 1fr;align-items:start}.hero-copy{position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.19em;font-size:10px;line-height:1.6;color:#b4b5b5;font-weight:500;margin:0 0 24px}.red-line{display:block;width:27px;height:1px;background:var(--red)}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;margin:0;line-height:1.02}h1{font-size:clamp(58px,6.7vw,94px);max-width:700px}h1 em{font-weight:400;font-size:.79em;line-height:1.28;white-space:nowrap;color:#cbc8c2}.ellipsis{letter-spacing:-.05em;color:#dd6064}.hero-description{max-width:360px;font-size:14px;line-height:1.85;color:#a6aaad;margin:27px 0 35px}.hero-description em{font-style:normal;color:#e2dfda}.hero-art{position:absolute;right:-12px;top:20px;width:62%;height:700px;margin:0;pointer-events:none}.hero-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;opacity:.88;mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 90%,transparent 100%)}.hero-art figcaption{position:absolute;bottom:-9px;right:8%;display:flex;align-items:center;gap:16px;font-family:var(--serif);font-style:italic;color:#a1a5aa;font-size:15px;letter-spacing:.03em}.figure-rule{width:45px;height:1px;background:#ffffff35}.demo-lockup{position:relative;display:inline-flex;flex-direction:column;padding-top:12px}.coming-soon{position:absolute;z-index:1;top:0;left:20px;background:#bc3039;border:1px solid #ef777d50;color:#fff2ef;text-transform:uppercase;letter-spacing:.15em;font-size:8px;font-weight:600;padding:4px 9px;border-radius:2px;line-height:1.25}.demo-note{margin:14px 0 0;font-size:10px;color:#868c92;letter-spacing:.03em}.scroll-cue{position:absolute;bottom:27px;left:0;display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.07em;color:#93999e}.scroll-cue span{color:#d45960;font-size:20px}.approach{padding-block:108px 75px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.section-intro .eyebrow{color:#c75b62;margin-bottom:28px}h2{font-size:clamp(36px,3.4vw,51px);line-height:1.13}.approach-copy{padding-top:41px;max-width:400px;font-size:14px;color:#a3a8ac}.approach-copy p:first-child{color:#d5d7d7;font-size:15px;line-height:1.9;margin-top:0}.approach-copy p:last-child{margin:24px 0 0;line-height:1.9}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-bottom:95px}.principles article{border-top:1px solid var(--line);padding:27px 40px 0 0}.principles article+article{padding-left:40px;border-left:1px solid var(--line)}.principle-number{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#b46064}h3{font-size:34px;line-height:1.1;margin:32px 0 19px;letter-spacing:-.03em}.principles p{font-size:12px;line-height:1.9;color:#979ea2;max-width:280px;margin-bottom:0}.introduction{border-top:1px solid var(--line);padding-block:90px 96px;text-align:center;background:radial-gradient(ellipse 40% 58% at 50% 58%,#75222a12,transparent)}.introduction .eyebrow{justify-content:center;margin-bottom:20px;font-size:9px;color:#b4767b}.introduction h2{font-size:clamp(40px,4.2vw,60px)}.introduction>p:not(.eyebrow){font-size:13px;color:#9ea3a6;line-height:1.9;margin:25px 0 28px}.beacon{height:24px;width:24px;border:1px solid #c9394040;border-radius:50%;display:grid;place-items:center;margin:0 auto 30px;box-shadow:0 0 35px #d62d3618}.beacon span{background:#dd3f48;width:5px;height:5px;border-radius:50%;box-shadow:0 0 16px #ec525b8c}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:36px 40px;color:#8d9398;font-size:10px}.footer-brand{font:25px var(--serif);letter-spacing:-.04em;color:#c8c6c1}.site-footer p{margin:3px 0 0}.site-footer nav{display:flex;gap:22px}.footer-credit{letter-spacing:.03em}
@media(min-width:1500px){.hero-art{right:3%}.hero{min-height:850px}.hero-art{height:770px}}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}.site-header{min-height:90px;gap:28px}.brand{width:160px}.hero{padding-top:64px;min-height:710px}.hero-art{width:66%;right:-30px;top:38px;height:610px}.hero-art figcaption{right:12%;font-size:12px}.approach{gap:55px;padding-top:75px}.principles article{padding-right:25px}.principles article+article{padding-left:25px}h3{font-size:29px}}
@media(max-width:700px){.shell{width:calc(100% - 40px)}.site-header{min-height:82px;gap:16px}.brand{width:142px}.site-header nav{display:none}.launch-status{margin-left:auto;font-size:8px;letter-spacing:.08em}.hero{display:block;padding-top:32px;min-height:1000px;padding-bottom:90px}.hero-copy{z-index:2}.eyebrow{font-size:9px;margin-bottom:19px}h1{font-size:clamp(52px,11vw,72px);line-height:1.04}h1 em{font-size:.81em}.hero-description{font-size:13px;max-width:300px;margin-top:25px;line-height:1.85}.hero-art{width:calc(100% + 40px);height:480px;right:-20px;top:475px}.hero-art img{opacity:.95}.hero-art figcaption{bottom:14px;right:calc(50% - 102px);font-size:13px}.hero-art .figure-rule{width:25px}.scroll-cue{bottom:20px;font-size:9px}.demo-note{font-size:9px}.approach{display:block;padding:61px 0 45px}.approach-copy{padding-top:24px;max-width:460px;font-size:13px}.approach-copy p:first-child{font-size:14px;line-height:1.9}.approach-copy p:last-child{margin-top:18px}.section-intro .eyebrow{font-size:8px;margin-bottom:20px}h2{font-size:36px}.principles{display:block;padding-bottom:58px}.principles article,.principles article+article{padding:24px 0 26px;border-left:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.principle-number{grid-column:1/-1;font-size:8px}h3{font-size:26px;margin:12px 0 0}.principles p{font-size:12px;line-height:1.8;margin:10px 0 0}.introduction{padding:62px 0 65px}.introduction .eyebrow{font-size:8px}.introduction h2{font-size:40px}.site-footer{flex-wrap:wrap;align-items:start;gap:28px;padding-top:30px}.footer-credit{order:3;width:100%;font-size:9px}.site-footer nav{padding-top:7px}.site-footer p{font-size:9px}}
@media(max-width:360px){h1{font-size:49px}.hero{min-height:950px}.hero-art{top:470px;height:420px}.principles article{gap:8px 12px}h3{font-size:24px}.principles p{font-size:11px}.introduction h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Founder’s original glass beacon CTA, preserved from the pre-V2 homepage. */
.rr-cta{
  -webkit-tap-highlight-color: transparent;
  display:block;
  width: min(78vw, 480px);
  height:54px;
  position:relative;
  text-decoration:none;
  border-radius:999px;
  overflow:visible;
  user-select:none;
  --dur: 5.2s;
  --ease: cubic-bezier(.45,0,.15,1);
background:
  /* ultra-faint internal lens sparkle (keep this) */
  radial-gradient(720px 220px at 50% 55%,
    rgba(255,255,255,.012),
    rgba(255,255,255,0) 70%
  ),

  /* OFF state smoked red glass (subtle) */
  linear-gradient(180deg,
  rgba(205, 24, 24, 0.30),
  rgba(8, 0, 0, 0.78)
);
  box-shadow:
    /* crisp top lip + soft depth only (no molded plastic) */
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -1px 0 rgba(0,0,0,.55),
    0 18px 40px rgba(0,0,0,.35);
}

.rr-cta__label{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  z-index:3;
  pointer-events:none;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  color:rgba(255,255,255,.97);
  text-shadow:
  0 2px 18px rgba(0,0,0,.92),
  0 0 28px rgba(0,0,0,.55);
}

.rr-cta__svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events: none;
  z-index:1;
  transform: translateZ(0);
}
.rr-cta::after{
  content:"";
  position:absolute;
  inset: 1px;
  border-radius: 999px;
  pointer-events:none;
  z-index: 2;

  background:
    /* edge darkening (glass thickness) */
    radial-gradient(120% 140% at 50% 50%,
      rgba(0,0,0,0) 52%,
      rgba(0,0,0,.22) 100%),

    /* lens tint (thin red glass, not fill) */
    radial-gradient(980px 340px at 50% 62%,
      var(--cta-lens-tint) 0%,
      rgba(255,43,43,0) 70%),

    /* main spec streak */
    linear-gradient(110deg,
      rgba(255,255,255,0) 34%,
      rgba(255,255,255,.18) 45%,
      rgba(255,255,255,0) 56%),

    /* secondary streak (adds “shiny” complexity without rings) */
    linear-gradient(72deg,
      rgba(255,255,255,0) 46%,
      rgba(255,255,255,.08) 52%,
      rgba(255,255,255,0) 58%),

    /* top hotspot */
    radial-gradient(900px 240px at 50% -18%,
      rgba(255,255,255,.14),
      rgba(255,255,255,0) 62%),

    /* curved glass depth */
    linear-gradient(180deg,
      rgba(255,255,255,.10) 0%,
      rgba(255,255,255,.03) 18%,
      rgba(255,255,255,0) 52%,
      rgba(0,0,0,var(--cta-black)) 100%);

  /* subtle inner rim (curvature) */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(0,0,0,.40);

  /* tiny clarity lift */
  filter: saturate(100%) contrast(103%);

  /* tiny refraction; if unsupported, it just gets ignored */
  -webkit-backdrop-filter: blur(1.4px) saturate(120%);
  backdrop-filter: blur(1.4px) saturate(120%);

  opacity: var(--cta-glass);
  transition: opacity .25s ease;
}


/* HARD-PIN origin (prevents L/R drift)
   Do NOT set a shared transform here — each layer has its own base scale. */
.rr-cta .glow,
.rr-cta .fill,
.rr-cta .fil{
  transform-origin: 50% 50%;
  opacity: 0;
  will-change: transform, opacity;
}

/* Base transforms (SAFE): each layer has its own baseline scale.
   Keyframes will override these during the ON window. */
.rr-cta .glow{ transform: translateZ(0) scale(calc(.84 * var(--cta-bloom))); }
.rr-cta .fill{ transform: translateZ(0) scale(calc(.14 * var(--cta-bloom))); }
.rr-cta .fil { transform: translateZ(0) scale(.74) scaleX(.92) scaleY(1.22); }

.rr-cta .glow{ animation: rrGlow var(--dur) var(--ease) infinite; animation-delay: .0s; }
.rr-cta .fill{ animation: rrFill var(--dur) var(--ease) infinite; animation-delay: .0s; }
.rr-cta .fil { animation: rrFil  var(--dur) var(--ease) infinite; animation-delay: .0s; }

/* Let keyframes control visibility (do NOT hard-force opacity off) */
.rr-cta .glow,
.rr-cta .fill,
.rr-cta .fil{
  animation-fill-mode: both;
  backface-visibility: hidden;
  transform: translateZ(0);
}

@keyframes rrGlow{
  0%, 9%   { opacity:0; transform:translateZ(0) scale(calc(.84 * var(--cta-bloom))); }
  18%      { opacity:.72; transform:translateZ(0) scale(calc(1.06 * var(--cta-bloom))); }
  76%      { opacity:.72; transform:translateZ(0) scale(calc(1.06 * var(--cta-bloom))); }
  100%     { opacity:0; transform:translateZ(0) scale(calc(.92 * var(--cta-bloom))); }
}
@keyframes rrFill{
  0%, 9%   { opacity:0; transform:translateZ(0) scale(calc(.14 * var(--cta-bloom))); }
  18%      { opacity:1; transform:translateZ(0) scale(calc(1.22 * var(--cta-bloom))); }
  76%      { opacity:1; transform:translateZ(0) scale(calc(1.22 * var(--cta-bloom))); }
  100%     { opacity:0; transform:translateZ(0) scale(calc(.28 * var(--cta-bloom))); }
}
@keyframes rrFil{
  0%, 11%  { opacity:0; transform:translateZ(0) scale(.74) scaleX(.92) scaleY(1.22); }
  18%      { opacity:1; transform:translateZ(0) scale(1.00) scaleX(.92) scaleY(1.22); }
  76%      { opacity:1; transform:translateZ(0) scale(1.00) scaleX(.92) scaleY(1.22); }
  100%     { opacity:0; transform:translateZ(0) scale(.86) scaleX(.92) scaleY(1.22); }
}
/* If the user prefers reduced motion, force the CTA fully OFF (no red glow). */
@media (prefers-reduced-motion: reduce){
  .rr-cta .glow,
  .rr-cta .fill,
  .rr-cta .fil{
    animation: none !important;
    opacity: 0 !important;
    transform: translateZ(0) !important;
  }
}
@media (max-width: 420px){
  .rr-cta{ height:52px; }
  .rr-cta__label{ letter-spacing:.12em; font-size:14px; }
}

/* Fit the original beacon into V2; keep its 5.2-second glow and glass layers. */
.demo-lockup{width:min(100%,480px);padding-top:18px}
.rr-cta{width:100%;border:0;padding:0;appearance:none;opacity:1;cursor:not-allowed;--cta-lens-tint:rgba(255,43,43,.030);--cta-glass:.56;--cta-bloom:1.15;--cta-black:.26}
.rr-cta__label{font-family:var(--serif);font-size:15px}
.coming-soon{z-index:4;left:28px;top:4px}
.hero-description{max-width:380px}
@media(max-width:700px){.hero-description{max-width:330px}.rr-cta__label{font-size:14px;letter-spacing:.12em}}
@media(max-width:360px){.rr-cta__label{font-size:13px;letter-spacing:.1em}}
/* Keep the small supporting line readable over the original light bloom. */
.demo-note{position:relative;z-index:3;color:#b2b5b8;text-shadow:0 1px 8px #07090b}
/* Let the buoy anchor the introduction; preserve the founder’s CTA unchanged. */
@media(min-width:1001px){
  .hero{min-height:880px}
  .hero-art{width:78%;height:900px;right:-40px;top:-40px}
  .hero-art img{opacity:1}
}
@media(min-width:701px) and (max-width:1000px){
  .hero{min-height:780px}
  .hero-art{width:82%;height:760px;right:-28px;top:-30px}
  .hero-art img{opacity:1}
}
@media(max-width:700px){
  .hero{display:flex;flex-direction:column;min-height:0;padding-bottom:36px}
  .hero-copy{display:contents}
  .hero .eyebrow{order:1}
  .hero h1{order:2}
  .hero-art{order:3;position:relative;align-self:center;width:calc(100% + 40px);height:clamp(350px,108vw,440px);right:auto;top:auto;margin:-4px 0 0;overflow:hidden}
  .hero-art img{position:absolute;width:min(620px,155vw);max-width:none;height:auto;left:50%;top:-60px;transform:translateX(-50%);opacity:1;mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 63%,transparent 80%)}
  .hero-art figcaption{bottom:8px;left:50%;right:auto;transform:translateX(-50%);white-space:nowrap}
  .hero-description{order:4;position:relative;z-index:1;margin:12px 0 25px;max-width:340px}
  .hero .demo-lockup{order:5}
  .scroll-cue{order:6;position:relative;bottom:auto;left:auto;margin-top:44px}
}

/* One cadence for the founder’s CTA and the photographic buoy beacon. */
:root{--beacon-duration:5.2s;--beacon-ease:cubic-bezier(.45,0,.15,1)}
.rr-cta{--dur:var(--beacon-duration);--ease:var(--beacon-ease)}
.buoy-scene{position:absolute;width:min(100%,900px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);isolation:isolate;mix-blend-mode:screen}
.hero-art .buoy-scene>img{display:block;position:static;width:100%;height:100%;max-width:none;transform:none;opacity:1}
.buoy-lamp{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.buoy-pulse{animation:rrBeaconPulse var(--beacon-duration) var(--beacon-ease) infinite both}
@keyframes rrBeaconPulse{0%,9%{opacity:0}18%,76%{opacity:1}100%{opacity:0}}
.motion-control{display:flex;align-items:center;gap:7px;margin-top:12px;width:fit-content;font-size:10px;cursor:pointer;color:#a1a7ab}
.motion-control input{margin:0;width:13px;height:13px;accent-color:#db363d}
.motion-control:focus-within{outline:2px solid #f56b71;outline-offset:5px}
body:has(#pause-lights:checked) .rr-cta :is(.glow,.fill,.fil),body:has(#pause-lights:checked) .buoy-pulse{animation-play-state:paused}
.site-footer nav{flex-wrap:wrap;row-gap:12px}
@media(max-width:700px){
  .buoy-scene{width:min(620px,155vw);top:-60px;transform:translateX(-50%)}
  .hero-art .buoy-scene>img{mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 63%,transparent 80%)}
  .hero .eyebrow{font-size:8px;letter-spacing:.15em}
}
@media(prefers-reduced-motion:reduce){.buoy-pulse{animation:none!important;opacity:0!important}.motion-control{display:none}}
/* Give the restored navigation comfortable pointer and touch targets. */
.site-header nav a{display:inline-flex;align-items:center;min-height:44px}
.site-footer nav{gap:8px 18px}
.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:#aeb4b8}
.motion-control{min-height:32px}

/* Carry the existing photograph’s water through the page, without another buoy. */
:root{--bg:#020304}
body{isolation:isolate}
.water-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#020304}
.water-backdrop svg{position:absolute;inset:0;width:100%;height:100%;filter:grayscale(1);opacity:.72}
.water-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#020304ee 0%,#02030488 24%,#02030433 62%,#02030466 100%),radial-gradient(ellipse at 44% 42%,#02030466,transparent 75%)}
.hero-description,.approach-copy,.principles p,.introduction>p{text-shadow:0 1px 10px #020304}
.brand-promise{display:block;margin-top:9px;text-align:center;white-space:nowrap;font:italic 13px/1.25 var(--serif);letter-spacing:.015em;color:#a7a9aa}
.brand img,.footer-brand img{mix-blend-mode:screen}
.footer-brand{display:block;width:160px;min-height:44px;padding-block:10px}
.footer-brand img{display:block;width:100%;height:auto}
.site-footer .motion-control{margin-top:6px}
.closing-reassurance{display:block;margin-top:20px;font:italic 24px/1.35 var(--serif);color:var(--paper);letter-spacing:-.015em}
@media(max-width:1000px){.brand-promise{font-size:11px}}
@media(max-width:700px){.site-header{min-height:98px}.brand-promise{font-size:10px;margin-top:7px}.footer-brand{width:142px}.water-backdrop svg{opacity:.62}}

.footer-brand .brand-promise{font-size:11px;letter-spacing:0}
@media(max-width:700px){.footer-brand .brand-promise{font-size:10px}}

/* End with the brand: motion control, navigation, then the RedRight sign-off. */
.introduction .coming-soon{white-space:nowrap}
.site-footer{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding-block:32px;text-align:center}
.site-footer .motion-control{margin:0;min-height:40px}
.site-footer nav{justify-content:center;gap:0 18px;padding:0;max-width:100%}
.site-footer .footer-signoff{display:flex;flex-direction:column;align-items:center;padding-top:24px}
.site-footer .footer-credit{order:initial;width:auto;margin:9px 0 0;font-size:9px;letter-spacing:.07em}
.site-footer .footer-brand{width:210px;padding:0}
.site-footer .footer-brand .brand-promise{font-size:14px;margin-top:10px}
@media(max-width:700px){
  .introduction{padding-bottom:52px}
  .site-footer{padding-block:26px 32px}
  .site-footer .footer-brand{width:190px}
  .site-footer .footer-brand .brand-promise{font-size:12px}
}
