
@font-face{
  font-family:'Sora';
  src:url('/assets/fonts/sora-var.woff2') format('woff2');
  font-weight:100 800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('/assets/fonts/inter-var.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap;
}

  :root{
    color-scheme:dark;
    
    --abyss:#0a1218;
    --deep:#0e1f28;
    --panel:#122630;
    --teal:#3fd7c4;
    --lamp:#fff3d6;
    --brick:#c4674f;
    --ink:#b6c4c8;
    --ink-bright:#dbe5e7;
    --ink-dim:#95a6aa;
    --line:rgba(255,255,255,.09);
  }

  *{ box-sizing:border-box; }
  html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

  html{ background:var(--abyss); }
  .page{ background:var(--abyss); min-height:100vh; }

  body{
    margin:0;
    background:var(--abyss);
    color:var(--ink);
    font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
    font-size:1.0625rem;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }

  .wrap{ width:100%; max-width:1080px; margin:0 auto; padding:0 24px; }

  h1,h2,h3{ font-family:'Sora',system-ui,sans-serif; color:var(--ink-bright);
            letter-spacing:-.02em; margin:0; }
  p{ margin:0; max-width:62ch; }
  a{ color:var(--teal); }

  :focus-visible{ outline:2px solid var(--teal); outline-offset:3px; border-radius:4px; }

  .masthead{ display:flex; align-items:center; justify-content:space-between;
             padding:22px 0; gap:16px; }
  
  .mark{ display:flex; align-items:center; gap:10px; text-decoration:none; }
  .mark-tower{ opacity:.9; transition:opacity .2s ease; }
  .mark:hover .mark-tower{ opacity:1; }
  .mark-tower{ width:20px; aspect-ratio:332/790;
               background-size:contain; background-position:bottom center;
               background-repeat:no-repeat; }
  .wordmark{ font-family:'Sora',system-ui,sans-serif; font-weight:600;
             font-size:1.0rem; line-height:1;
             font-variant:small-caps; letter-spacing:.05em;
             background:linear-gradient(93deg,var(--brick) 0%,#e6c9a8 52%,var(--brick) 100%);
             -webkit-background-clip:text; background-clip:text; color:transparent; }
  .masthead{ padding:26px 0 20px; }
  .mark-spacer{ display:block; }
  .masthead nav{ display:flex; gap:26px; font-size:0.90625rem; }
  .masthead nav a{ color:var(--ink-dim); text-decoration:none; }
  .masthead nav a:hover{ color:var(--ink-bright); }
  @media (max-width:640px){ .masthead nav{ display:none; } }

  .hero{ display:block; text-align:center; padding:64px 0 96px; }
  .hero h1{ margin:38px auto 0; max-width:17ch; }
  .hero .lede{ margin:22px auto 0; max-width:54ch; }
  .hero .stage{ margin:14px auto 0; max-width:52ch; }
  .hero .capture{ margin:34px auto 0; }
  .hero .capture .fine{ text-align:center; }
  @media (max-width:900px){ .hero{ padding:40px 0 64px; } .hero h1{ margin-top:30px; } }

  .hero-lockup{ display:flex; flex-direction:column; align-items:center; gap:18px; width:max-content; margin:0 auto; }
  .hero-wordmark{ font-family:'Sora',system-ui,sans-serif; font-weight:600;
                  font-variant:small-caps; letter-spacing:.03em; text-align:center;
                  background:linear-gradient(96deg,var(--brick) 0%,#e8cfae 54%,var(--brick) 100%);
                  -webkit-background-clip:text; background-clip:text; color:transparent;
                  white-space:nowrap; line-height:.94; }
  
  .hero-wordmark span{ display:inline; }
  .hero-wordmark .wm-name,
  .hero-wordmark .wm-sub{ font-size:clamp(1.75rem,5.832vw,3.2rem); }
  .hero-wordmark .wm-sub{ margin-left:.28em; }

  .beacon{ position:relative; width:170px; height:auto; flex-shrink:0; }
  .beacon-tower{ width:100%; aspect-ratio:332/790; background-size:contain;
                 background-position:bottom center; background-repeat:no-repeat;
                 filter:drop-shadow(0 24px 40px rgba(0,0,0,.6)); }
  .beacon-lamp{ position:absolute; left:49.5%; top:9.5%;
                width:58px; height:58px; margin:-29px 0 0 -29px; border-radius:50%;
                background:radial-gradient(circle,var(--lamp) 0%,rgba(255,226,168,.55) 32%,rgba(255,210,140,0) 72%);
                animation:sweep 5.5s ease-in-out infinite; }
  .beacon-glow{ position:absolute; left:49.5%; top:9.5%;
                width:320px; height:320px; margin:-160px 0 0 -160px; border-radius:50%;
                background:radial-gradient(circle,rgba(255,224,168,.16) 0%,rgba(255,214,150,0) 62%);
                animation:sweep 5.5s ease-in-out infinite; pointer-events:none; }
  @keyframes sweep{ 0%,100%{ opacity:.32; } 46%{ opacity:1; } }
  @media (prefers-reduced-motion: reduce){
    .beacon-lamp,.beacon-glow{ animation:none; opacity:.85; }
  }

  .hero h1{ font-size:clamp(2.5rem,5.832vw,3.9rem); font-weight:600; line-height:1.04; }
  .hero .lede{ margin-top:22px; font-size:1.1875rem; color:var(--ink); }
  .hero .stage{ margin-top:14px; font-size:0.9375rem; color:var(--ink-dim); }

  .capture{ margin-top:34px; max-width:520px; }
  .capture-row{ display:flex; gap:10px; }
  @media (max-width:520px){ .capture-row{ flex-direction:column; } }
  .capture input{
    flex:1; min-width:0; background:rgba(255,255,255,.05);
    border:1px solid var(--line); border-radius:9px; padding:14px 15px;
    color:var(--ink-bright); font:inherit; font-size:1.0rem;
  }
  .capture input::placeholder{ color:#7f9096; }
  .capture input:focus{ border-color:rgba(63,215,196,.55); outline:none; }
  .btn{ border:none; border-radius:9px; padding:14px 24px; font:inherit;
        font-weight:600; font-size:1.0rem; cursor:pointer; white-space:nowrap; }
  .btn-solid{ background:var(--teal); color:#04140f; }
  .btn-solid:hover{ background:#57e3d1; }
  .capture .fine{ margin-top:11px; font-size:0.84375rem; color:var(--ink-dim); }
  .capture .done{ display:none; padding:14px 16px; border-radius:9px;
                  background:rgba(63,215,196,.1); border:1px solid rgba(63,215,196,.32);
                  color:#bfeee6; font-size:0.9375rem; }
  .capture.sent .capture-row,.capture.sent .fine{ display:none; }
  .capture.sent .done{ display:block; }

  section{ padding:78px 0; border-top:1px solid var(--line); }
  .sec-head{ font-size:clamp(1.55rem,3.24vw,2.1rem); font-weight:600; }
  .sec-intro{ margin-top:14px; color:var(--ink); }

  .points{ margin-top:44px; display:grid; gap:0; }
  .point{ padding:30px 0; border-top:1px solid var(--line); display:grid;
          grid-template-columns:minmax(0,220px) 1fr; gap:40px; align-items:start; }
  .point:first-child{ border-top:none; padding-top:6px; }
  @media (max-width:720px){ .point{ grid-template-columns:1fr; gap:12px; } }
  .point h3,.point h2{ font-size:1.1875rem; font-weight:600; }
  .point .tag{ display:block; margin-top:7px; font-size:0.84375rem; color:var(--ink-dim); }
  .point p{ font-size:1.03125rem; }

  .point-head{ display:flex; align-items:flex-start; gap:12px; }
  .beacon-mark{ position:relative; width:26px; height:54px; flex-shrink:0; margin-top:-4px; }
  .beacon-mark .bm-tower{ width:100%; height:100%; background-size:contain;
                          background-position:bottom center; background-repeat:no-repeat; }
  .beacon-mark .bm-lamp{ position:absolute; left:50%; top:11%;
                         width:20px; height:20px; margin:-10px 0 0 -10px; border-radius:50%;
                         background:radial-gradient(circle,var(--lamp) 0%,rgba(255,226,168,.5) 34%,rgba(255,210,140,0) 72%);
                         animation:sweep 5.5s ease-in-out infinite; }
  @media (prefers-reduced-motion: reduce){ .beacon-mark .bm-lamp{ animation:none; opacity:.85; } }

  .adopt{ margin-top:52px; border:1px solid rgba(63,215,196,.3);
          background:linear-gradient(168deg,var(--panel) 0%,var(--deep) 100%);
          border-radius:16px; padding:34px; }
  .adopt h3,.adopt h2{ font-size:clamp(1.35rem,2.808vw,1.75rem); font-weight:600; }
  .adopt .adopt-lede{ margin-top:14px; font-size:1.0625rem; color:var(--ink); }
  .adopt-steps{ margin-top:26px; display:grid; gap:0; }
  .adopt-step{ display:grid; grid-template-columns:34px 1fr; gap:16px;
               padding:16px 0; border-top:1px solid rgba(255,255,255,.08); align-items:start; }
  .adopt-step:first-child{ border-top:none; }
  @media (max-width:560px){ .adopt{ padding:24px 20px; } }
  .step-dot{ width:26px; height:26px; border-radius:50%; flex-shrink:0;
             border:1px solid rgba(63,215,196,.45); color:var(--teal);
             display:flex; align-items:center; justify-content:center;
             font-size:0.8125rem; font-weight:600; font-variant-numeric:tabular-nums; }
  .adopt-step strong{ color:var(--ink-bright); font-weight:600; display:block; font-size:1.0rem; }
  .adopt-step span{ font-size:0.96875rem; color:var(--ink); display:block; margin-top:4px; }
  .adopt-close{ margin-top:24px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08);
                font-size:1.0rem; color:var(--ink); }
  .adopt-close strong{ color:#bfeee6; font-weight:600; }

  .vs{ margin-top:52px; }
  .vs-table{ width:100%; border-collapse:collapse; margin-top:26px; }
  .vs-table th,.vs-table td{ text-align:left; vertical-align:top; padding:18px 16px;
                             border-top:1px solid rgba(255,255,255,.09); }
  .vs-table thead th{ border-top:none; padding-bottom:10px;
                      font-family:'Sora',system-ui,sans-serif; font-size:0.9375rem; font-weight:600; }
  .vs-q{ width:22%; color:var(--ink-dim); font-size:0.9375rem; font-weight:500; }
  .vs-them{ width:39%; color:var(--ink); font-size:0.96875rem; }
  .vs-us{ width:39%; color:#dff3ef; font-size:0.96875rem;
          background:rgba(63,215,196,.045);
          box-shadow:inset 2px 0 0 rgba(63,215,196,.45); }
  .vs-table thead .vs-them{ color:var(--ink-dim); background:none; box-shadow:none; }
  .vs-table thead .vs-us{ color:var(--teal); }

  @media (max-width:760px){
    .vs-table, .vs-table tbody, .vs-table tr, .vs-table td{ display:block; width:100%; }
    .vs-table thead{ display:none; }
    .vs-table tr{ border-top:1px solid rgba(255,255,255,.09); padding:6px 0 14px; }
    .vs-table td{ border-top:none; padding:4px 0; }
    .vs-q{ color:var(--ink-bright); font-family:'Sora',system-ui,sans-serif;
           font-size:1.0rem; font-weight:600; padding-top:14px; }
    .vs-them::before{ content:'Most controllers'; display:block; color:var(--ink-dim);
                      font-size:0.78125rem; margin-bottom:4px; }
    .vs-us{ box-shadow:none; background:rgba(63,215,196,.05); border-radius:10px;
            padding:12px 14px; margin-top:8px; }
    .vs-us::before{ content:'Pharos Pods'; display:block; color:var(--teal);
                    font-size:0.78125rem; margin-bottom:4px; }
  }

  .doors{ margin-top:44px; display:grid; grid-template-columns:1.55fr 1fr; gap:22px;
          align-items:stretch; }
  @media (max-width:820px){ .doors{ grid-template-columns:1fr; } }

  .door{ border-radius:16px; padding:34px; display:flex; flex-direction:column;
         min-width:0; }
  
  .door .btn{ white-space:normal; }
  .door h3{ font-size:1.5rem; font-weight:600; }
  .door p{ margin-top:13px; font-size:1.0rem; flex:1; }
  .door .act{ margin-top:26px; }

  .door-reef{ background:linear-gradient(168deg,var(--panel) 0%,var(--deep) 100%);
              border:1px solid rgba(63,215,196,.3); }
  .door-reef ul{ margin:16px 0 0; padding-left:19px; font-size:0.96875rem; color:var(--ink); }
  .door-reef li{ margin-bottom:7px; }

  .door-comm{ background:rgba(196,103,79,.055); border:1px solid rgba(196,103,79,.34); }
  .door-comm h3{ color:#f0d3c6; }
  .btn-brick{ background:transparent; color:#eba98f; border:1px solid rgba(196,103,79,.6);
              text-decoration:none; display:inline-block; }
  .btn-brick:hover{ background:rgba(196,103,79,.16); color:#f7ddd0; }
  .btn-line{ background:transparent; color:var(--teal);
             border:1px solid rgba(63,215,196,.5); text-decoration:none; display:inline-block; }
  .btn-line:hover{ background:rgba(63,215,196,.12); }

  .beta{ margin-top:8px; display:flex; gap:18px; align-items:flex-start;
         padding:26px 28px; border-radius:14px;
         background:rgba(255,243,214,.045); border:1px solid rgba(255,243,214,.18); }
  .beta-lamp{ width:11px; height:11px; border-radius:50%; margin-top:7px; flex-shrink:0;
              background:var(--lamp); box-shadow:0 0 13px rgba(255,235,190,.75);
              animation:sweep 5.5s ease-in-out infinite; }
  @media (prefers-reduced-motion: reduce){ .beta-lamp{ animation:none; } }
  .beta h3,.beta h2{ font-size:1.09375rem; font-weight:600; }
  .beta p{ margin-top:7px; font-size:0.96875rem; }

  footer{ border-top:1px solid var(--line); padding:40px 0 56px;
          font-size:0.875rem; color:var(--ink-dim); }
  footer .frow{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
  footer a{ color:var(--ink-dim); text-decoration:none; }
  footer a:hover{ color:var(--ink-bright); }

.mark-tower,
.beacon-tower,
.bm-tower{ background-image:url('tower.png'); }

.masthead nav a{ transition:color .18s ease; padding:4px 0; }
.masthead nav a[aria-current="page"]{
  color:var(--ink-bright);
  box-shadow:inset 0 -2px 0 rgba(63,215,196,.75);
}
@media (max-width:640px){
  .masthead{ flex-direction:column; align-items:flex-start; gap:14px; padding:18px 0 14px; }
  .masthead nav{
    display:flex; width:100%; gap:20px; overflow-x:auto;
    scrollbar-width:none; -webkit-overflow-scrolling:touch;
    padding-bottom:4px;
  }
  .masthead nav::-webkit-scrollbar{ display:none; }
  .masthead nav a{ white-space:nowrap; font-size:0.9375rem; }
}

.phead{ padding:52px 0 8px; }
.phead .kicker{ font-family:'Sora',system-ui,sans-serif; font-size:0.90625rem;
                font-weight:600; color:var(--teal); margin:0 0 14px; }
.phead h1{ font-size:clamp(2rem,4.752vw,3rem); font-weight:600; line-height:1.08;
           max-width:20ch; }
.phead .lede{ margin-top:20px; font-size:1.15625rem; color:var(--ink); }
.phead + section{ border-top:none; padding-top:46px; }
@media (max-width:640px){ .phead{ padding-top:34px; } }

.plain{ margin-top:34px; border-left:2px solid rgba(255,255,255,.16);
        padding:4px 0 4px 22px; }
.plain h3,.plain h2{ font-size:1.0625rem; font-weight:600; }
.plain p{ margin-top:10px; font-size:1.0rem; }
.plain ul{ margin:14px 0 0; padding-left:19px; font-size:1.0rem; color:var(--ink); }
.plain li{ margin-bottom:9px; }
.plain li strong{ color:var(--ink-bright); font-weight:600; }

.specs{ margin-top:38px; }
.spec{ display:grid; grid-template-columns:minmax(0,230px) 1fr; gap:36px;
       padding:26px 0; border-top:1px solid var(--line); align-items:start; }
.spec:first-child{ border-top:none; padding-top:4px; }
@media (max-width:720px){ .spec{ grid-template-columns:1fr; gap:12px; } }
.spec h3,.spec h2{ font-size:1.1875rem; font-weight:600; }
.spec .tag{ display:block; margin-top:7px; font-size:0.84375rem; color:var(--ink-dim); }
.spec p{ font-size:1.03125rem; }
.spec p + p{ margin-top:12px; }
.spec .staged{ margin:14px 0 0; padding:0; list-style:none; font-size:0.96875rem; }
.spec .staged li{ padding:7px 0; border-top:1px dashed rgba(255,255,255,.1);
                  display:flex; gap:12px; align-items:baseline; }
.spec .staged li:first-child{ border-top:none; }
.spec .staged .lit{ color:var(--teal); }

.spec .staged .unlit{ color:var(--ink-dim); }
.spec .staged em{ font-style:normal; color:var(--ink-dim); font-size:0.90625rem; }

.ptable{ width:100%; border-collapse:collapse; margin-top:30px; }
.ptable th,.ptable td{ text-align:left; vertical-align:top; padding:16px 16px;
                       border-top:1px solid rgba(255,255,255,.09); }
.ptable thead th{ border-top:none; padding-bottom:10px; color:var(--ink-dim);
                  font-family:'Sora',system-ui,sans-serif; font-size:0.90625rem; font-weight:600; }
.ptable .p-n{ width:11%; color:var(--teal); font-family:'Sora',system-ui,sans-serif;
              font-weight:600; font-size:0.9375rem; white-space:nowrap; }
.ptable .p-what{ width:41%; color:var(--ink-bright); font-size:0.96875rem; }
.ptable .p-why{ color:var(--ink); font-size:0.96875rem; }
@media (max-width:700px){
  .ptable, .ptable tbody, .ptable tr, .ptable td{ display:block; width:100%; }
  .ptable thead{ display:none; }
  .ptable tr{ border-top:1px solid rgba(255,255,255,.09); padding:14px 0; }
  .ptable td{ border-top:none; padding:3px 0; }
  .ptable .p-n{ font-size:0.875rem; }
}

.panels{ margin-top:32px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
         gap:1px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.09);
         border-radius:14px; overflow:hidden; }
@media (max-width:680px){ .panels{ grid-template-columns:1fr; } }
.panel{ background:var(--abyss); padding:24px 22px; }
.panel h4{ font-family:'Sora',system-ui,sans-serif; font-size:1.0rem; font-weight:600;
           color:var(--ink-bright); margin:0; }
.panel p{ margin-top:8px; font-size:0.9375rem; color:var(--ink); }

.entry{ margin-top:26px; border:1px solid rgba(255,243,214,.18);
        background:rgba(255,243,214,.045); border-radius:12px; padding:22px 24px; }
.entry .when{ font-size:0.8125rem; color:var(--ink-dim); font-variant-numeric:tabular-nums; }
.entry p{ margin-top:8px; font-size:1.03125rem; color:#f2e6cf; }

.onward{ margin-top:56px; padding-top:26px; border-top:1px solid var(--line);
         display:flex; flex-wrap:wrap; gap:14px 28px; align-items:baseline; }
.onward span{ font-size:0.90625rem; color:var(--ink-dim); }
.onward a{ font-family:'Sora',system-ui,sans-serif; font-weight:600; font-size:1.0rem;
           text-decoration:none; }
.onward a:hover{ text-decoration:underline; }

.fnav{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px;
       padding-bottom:30px; }
@media (max-width:680px){ .fnav{ grid-template-columns:1fr 1fr; gap:26px; } }
.fnav h5{ font-family:'Sora',system-ui,sans-serif; font-size:0.84375rem; font-weight:600;
          color:var(--ink-bright); margin:0 0 12px; }
.fnav ul{ margin:0; padding:0; list-style:none; }
.fnav li{ margin-bottom:8px; }
.fnav a{ font-size:0.90625rem; }
.fnav .about{ font-size:0.90625rem; max-width:34ch; color:var(--ink-dim); }
.frow{ padding-top:22px; border-top:1px solid var(--line); }

.page{ position:relative; }
.depth{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.depth::before{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(130% 68% at 50% -12%, rgba(63,215,196,.075), transparent 62%),
    radial-gradient(85% 55% at 88% 14%, rgba(255,243,214,.038), transparent 66%),
    radial-gradient(70% 50% at 8% 78%, rgba(63,215,196,.028), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.022) 0%, transparent 26%, rgba(0,0,0,.42) 100%);
}
.depth-tower{
  position:absolute; right:-8vw; bottom:-12vh;
  width:min(42vw, 560px); aspect-ratio:252/598;
  background:url('tower.png') center/contain no-repeat;
  
  opacity:.04; filter:grayscale(.45) contrast(.8) blur(3px);
}
@media (max-width:760px){
  .depth-tower{ right:-26vw; width:92vw; opacity:.035; }
}

.wrap, footer, .topbar{ position:relative; z-index:1; }

.topbar{
  position:sticky; top:0; z-index:30;
  background:rgba(10,18,24,.82);
  backdrop-filter:blur(14px) saturate(125%);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  border-bottom:1px solid rgba(255,255,255,.055);
}
.topbar .masthead{ padding:15px 0 14px; }
.topbar .mark-tower{ opacity:.9; }

.mark.on-scroll{ transition:opacity .28s ease, transform .28s ease; }
.js .mark.on-scroll{ opacity:0; transform:translateY(-5px); pointer-events:none; }
.js.scrolled .mark.on-scroll{ opacity:1; transform:none; pointer-events:auto; }
@media (prefers-reduced-motion:reduce){
  .mark.on-scroll{ transition:none; }
}

.rail{ display:none; }
.rail img{ pointer-events:none; -webkit-user-drag:none; user-select:none; }

@media (min-width:1450px){
  .wrap{ margin-left:32px; margin-right:0; }
  .rail{
    display:block; position:absolute; top:0; left:100%;
    margin-left:36px; height:100%;
    
    width:min(calc(100vw - 1184px), 720px);
  }
  .rail-inner{ position:sticky; top:100px; padding-top:34px; }
  .shot{ margin:0 0 30px; }
  .shot figcaption{ font-size:0.78125rem; }
}

@media (min-width:2000px){
  .wrap{ margin-left:max(32px, calc(50% - 918px)); }
  .shot{ margin:0 0 34px; }
  .shot figcaption{ font-size:0.8125rem; }
}

.shot{ position:relative; transform:rotate(-0.8deg); transition:transform .3s ease; }
.shot:nth-child(even){ transform:rotate(0.9deg); margin-left:16px; }
.shot:nth-child(3n){ margin-left:-9px; transform:rotate(-1.2deg); }
.shot:last-child{ margin-bottom:0; }
.shot img{
  display:block; width:100%; height:auto; border-radius:9px;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 20px 44px rgba(0,0,0,.6), 0 2px 6px rgba(0,0,0,.4),
             0 0 0 1px rgba(63,215,196,.07);
  background:#0d1a21;
}
.shot figcaption{
  margin-top:8px; padding-left:2px;
  font-family:'Sora',system-ui,sans-serif; font-weight:500;
  color:var(--ink-dim); letter-spacing:.01em; line-height:1.35;
}
@media (prefers-reduced-motion:reduce){
  .shot{ transition:none; }
}

.plain .fine, .spec .fine{ margin-top:12px; font-size:.86em; color:var(--ink-dim); font-style:italic; }

.entry .rec{ margin-top:11px; display:flex; flex-direction:column; gap:7px; }
.entry .rec > div{ display:flex; gap:14px; align-items:baseline;
  font-size:.97rem; color:#f2e6cf; line-height:1.45; }
.entry .rec .rt{ flex:0 0 46px; color:var(--ink-dim); font-size:.9rem;
  font-variant-numeric:tabular-nums; }

.point > div > p + p{ margin-top:1.05em; }

@media (max-width:640px){
  .masthead nav{
    flex-wrap:wrap;
    overflow-x:visible;
    row-gap:9px;
    column-gap:17px;
    padding-bottom:0;
  }
}

.capture input:focus-visible{ outline:2px solid var(--teal); outline-offset:3px; }

.js .mark.on-scroll{ visibility:hidden;
  transition:opacity .28s ease, transform .28s ease, visibility 0s linear .28s; }
.js.scrolled .mark.on-scroll{ visibility:visible;
  transition:opacity .28s ease, transform .28s ease, visibility 0s; }
@media (prefers-reduced-motion:reduce){
  .js .mark.on-scroll, .js.scrolled .mark.on-scroll{ transition:none; }
}

.skip-to{ position:absolute; left:-9999px; top:0; z-index:200;
  padding:12px 18px; border-radius:0 0 10px 0;
  background:var(--teal); color:#06131a;
  font-family:'Sora',system-ui,sans-serif; font-weight:600; text-decoration:none; }
.skip-to:focus{ left:0; }
main:focus{ outline:none; }

.fnav .fh{ font-family:'Sora',system-ui,sans-serif; font-size:0.84375rem;
  font-weight:600; color:var(--ink-bright); margin:0 0 12px; }

.capture .failed-note{ display:none; margin-top:14px; padding:14px 16px;
  border-radius:9px; background:rgba(196,103,79,.1);
  border:1px solid rgba(196,103,79,.45); color:var(--ink-bright); }
.capture.failed .failed-note{ display:block; }

.beta p + p{ margin-top:13px; }

.arch{margin:26px 0 34px;padding:22px 20px 16px;background:rgba(255,255,255,.02);
  border:1px solid var(--line);border-radius:12px}
.arch svg{display:block;width:100%;height:auto;overflow:visible}

.arch-hint{display:none}
@media (max-width:700px){
  .arch{overflow-x:auto}
  .arch svg{min-width:700px}
  .arch-hint{display:block;margin:10px 0 0;font-size:0.8125rem;color:var(--ink-dim)}
}
.arch figcaption{margin-top:14px;font-size:0.84375rem;color:var(--ink-dim);text-align:center}
.a-eyebrow{fill:#8fa1a6;font-size:10.5px;letter-spacing:1.7px;font-family:'Inter',sans-serif}
.a-eyebrow.us{fill:#3fd7c4}
.a-box{fill:#122630;stroke:#2c4049}
.a-box.us{stroke:rgba(63,215,196,.5)}
.a-box.dim{fill:#0e1f28}
.a-lab{fill:#dbe5e7;font-size:12px;font-family:'Inter',sans-serif}
.a-lab.sm{font-size:11px}
.a-meta{fill:#8fa1a6;font-size:10.5px;font-family:'Inter',sans-serif}
.a-wire{stroke:#7d8f95;stroke-width:1.3;fill:none;opacity:.9}
.a-wire.us{stroke:#3fd7c4}
.a-rule{stroke:#ffffff;stroke-opacity:.09}
.a-fail{fill:#c4674f;font-size:11px;font-family:'Inter',sans-serif}
.a-ok{fill:#3fd7c4;font-size:11px;font-family:'Inter',sans-serif}
@media (max-width:640px){ .arch{padding:16px 12px 12px} }

.masthead nav a.nav-cta{
  padding:4px 13px; border-radius:999px;
  border:1px solid rgba(63,215,196,.42);
  background:rgba(63,215,196,.08);
  color:var(--ink-bright);
  transition:background .18s ease, border-color .18s ease;
}
.masthead nav a.nav-cta:hover{
  background:rgba(63,215,196,.16); border-color:rgba(63,215,196,.7);
}

.masthead nav a.nav-cta[aria-current="page"]{
  box-shadow:none; background:rgba(63,215,196,.2); border-color:rgba(63,215,196,.75);
}

@media (max-width:640px){
  .masthead{ position:relative; }
  .masthead nav a.nav-cta{ position:absolute; top:13px; right:0; }
}

.ref{ padding:18px 0 4px; border-top:1px solid var(--line); }
.ref:first-of-type{ border-top:none; }
.ref h3{ margin:0 0 6px; }
.ref p{ margin-top:10px; font-size:1.0rem; }
.ref .ref-src{ margin-top:12px; font-size:0.875rem; color:var(--ink-dim); }
.ref:target{ border-left:3px solid var(--accent); padding-left:14px;
             animation:ref-land 3s ease-out 1 forwards; }
@keyframes ref-land{ from{ background:rgba(63,215,196,.10); } to{ background:transparent; } }
@media (prefers-reduced-motion: reduce){
  .ref:target{ animation:none; background:transparent; }
}

.mscroll{ margin:26px 0 0; padding:0; overflow-x:auto; }
.mtable{ width:100%; border-collapse:collapse; font-size:0.9375rem; }
.mtable th,.mtable td{ text-align:left; vertical-align:top; padding:13px 14px 13px 0;
  border-top:1px solid var(--line); }
.mtable thead th{ border-top:none; padding-bottom:9px; color:var(--ink-dim);
  font-family:'Sora',system-ui,sans-serif; font-weight:600; font-size:0.84375rem;
  letter-spacing:.02em; white-space:nowrap; }
.mtable .m-line{ color:var(--ink-bright); font-family:'Sora',system-ui,sans-serif;
  font-weight:600; white-space:nowrap; }
.mprice td{ white-space:nowrap; }
.mprice .m-na{ color:var(--ink-dim); }
.mtable .m-note{ display:block; margin-top:3px; font-size:0.78125rem;
  color:var(--ink-dim); font-weight:400; white-space:normal; }
.mjobs .m-line{ white-space:normal; }
.mbuys td{ font-size:0.875rem; min-width:190px; }
.mbuys .m-line{ min-width:0; }
.ref .m-after{ color:var(--ink-dim); }
.ref .m-pn{ font-size:0.84375rem; color:var(--ink-dim); }
.ref h4{ margin:30px 0 0; font-family:'Sora',system-ui,sans-serif;
  color:var(--ink-bright); font-size:1.0rem; }
@media (max-width:760px){
  .mscroll{ overflow-x:visible; }
  .mtable, .mtable tbody, .mtable tr, .mtable td{ display:block; width:100%; }
  .mtable thead{ display:none; }
  .mtable tr{ border-top:1px solid var(--line); padding:12px 0 6px; }
  .mtable td{ border-top:none; padding:3px 0; }
  .mprice td{ white-space:normal; }
  .mbuys td{ min-width:0; }
  .mtable td[data-l]:not(.m-line)::before{ content:attr(data-l) ": ";
    color:var(--ink-dim); font-size:0.8125rem; }
  .mtable .m-note{ display:inline; margin:0 0 0 6px; }
}

.has-shot{ position:relative; }
.shot-paired{ margin:20px 0 0; max-width:640px; }
.shot-paired img{ width:100%; height:auto; }

.point.has-shot > .shot-paired,
.spec.has-shot  > .shot-paired{ grid-column:2; }
@media (max-width:720px){
  .point.has-shot > .shot-paired,
  .spec.has-shot  > .shot-paired{ grid-column:1; }
}

@media (min-width:1450px){
  .wrap{ margin-left:auto; margin-right:auto; }
  .has-shot{ min-height:0; }
}
@media (min-width:2000px){
  .wrap{ margin-left:auto; margin-right:auto; }
}

.depth-tower{ right:auto; left:-9vw; }
@media (max-width:760px){
  .depth-tower{ right:auto; left:-26vw; }
}

.shot figcaption{ font-size:1.1875rem; font-weight:600; color:var(--ink); }
.shot-paired figcaption{ margin-top:11px; }
@media (max-width:900px){ .shot figcaption{ font-size:1.0625rem; } }

.doors{ align-items:start; }
.door p{ flex:0 0 auto; }
.door .act{ margin-top:auto; padding-top:26px; }

section[id], [id].sec, h2[id], .point[id], #capture{
  scroll-margin-top: var(--barh, 84px);
}

html{ font-size:17.28px; }
@media (max-width:720px){ html{ font-size:16.7px; } }

.wrap{ max-width:1440px; padding:0 clamp(20px, 2.2vw, 52px);
       margin-left:auto; margin-right:auto; }
@media (min-width:1450px){ .wrap{ margin-left:auto; margin-right:auto; } }
@media (min-width:2000px){ .wrap{ margin-left:auto; margin-right:auto; } }

p{ max-width:72ch; }
.hero .lede{ max-width:56ch; }
.fnav .about{ max-width:38ch; }

section{ padding:84px 0; }
.hero{ padding:69px 0 104px; }
.phead + section{ padding-top:50px; }
.points{ margin-top:48px; }
.point{ grid-template-columns:minmax(0,238px) 1fr; gap:43px;
        padding:32px 0; }
.specs{ margin-top:41px; }
.spec{ grid-template-columns:minmax(0,248px) 1fr; gap:39px;
       padding:28px 0; }
.adopt{ margin-top:56px; padding:37px; }

.onward{ margin-top:60px; padding:18px 22px; border:1px solid var(--line);
         border-radius:12px; background:rgba(255,255,255,.025);
         display:grid; grid-template-columns:1fr auto; column-gap:20px;
         align-items:center; position:relative;
         transition:border-color .2s ease, background .2s ease; }
.onward:hover{ border-color:rgba(63,215,196,.42); background:rgba(63,215,196,.05); }
.onward span{ grid-column:1; grid-row:2; font-size:.85rem; color:var(--ink-dim);
              margin-top:3px; }
.onward a{ grid-column:1; grid-row:1; font-size:1.22rem; font-weight:600;
           text-decoration:none; }

.onward a::after{ content:""; position:absolute; inset:0; border-radius:12px; }
.onward::after{ content:"→"; grid-column:2; grid-row:1 / span 2;
                justify-self:end; align-self:center;
                font-size:1.3rem; line-height:1; color:var(--accent, #3fd7c4);
                transition:transform .2s ease; }
.onward:hover::after{ transform:translateX(4px); }
@media (prefers-reduced-motion:reduce){
  .onward, .onward::after{ transition:none; }
  .onward:hover::after{ transform:none; }
}
.plain{ margin-top:37px; padding-left:24px; }
.panel{ padding:26px 24px; }
.entry{ padding:24px 26px; }
@media (max-width:720px){
  .point{ grid-template-columns:1fr; gap:14px; }
  .spec{ grid-template-columns:1fr; gap:14px; }
}

.point.has-shot > .shot-paired,
.spec.has-shot  > .shot-paired{ grid-column:2; }
@media (max-width:720px){
  .point.has-shot > .shot-paired,
  .spec.has-shot  > .shot-paired{ grid-column:1; }
}

.shot-paired,
.shot-duo{ max-width:72ch; }
.shot-duo .shot-paired{ max-width:100%; }

.shot-paired,
.shot-paired:nth-child(even),
.shot-paired:nth-child(3n){ transform:none; margin:26px 0 0; }
.shot-paired img{ border-radius:12px; }

.shot-paired figcaption{ font-size:1.06rem; font-weight:600; color:var(--ink);
                         margin-top:12px; }

.shot-duo{ display:block; margin:26px 0 0; }
.shot-duo .shot-paired{ margin:0; }

.shot-duo .shot-paired + .shot-paired{ margin:22px 0 0; }
.point.has-shot > .shot-duo,
.spec.has-shot  > .shot-duo{ grid-column:2; }
@media (max-width:720px){
  .point.has-shot > .shot-duo,
  .spec.has-shot  > .shot-duo{ grid-column:1; }
}

@media (max-width:900px){
  
  .hero{ padding:43px 0 69px; }
}

@media (max-width:560px){
  
  .adopt{ padding:24px 20px; }
}

@media (max-width:700px){
  .ptable td.p-n, .ptable td.p-what, .ptable td.p-why{ width:100%; }
  .ptable td.p-what::before{ content:'What is installed'; display:block;
    color:var(--ink-dim); font-size:0.78125rem; margin-bottom:4px; }
  .ptable td.p-why::before{ content:'What it proves'; display:block;
    color:var(--ink-dim); font-size:0.78125rem; margin-bottom:4px; }
  .ptable td.p-why{ margin-top:8px; }
}
