  :root {
    --abyss:#05080F; --deep:#0A0F1A; --tide:#0F1826; --tide-2:#132135;
    --haze:#22344A; --line:#1A2740;
    --fog:#5C6E82; --mist:#9DB0C4; --text:#ECE6D8;
    --beam:#F2C879; --beam-hot:#FFF3D6; --beam-deep:#C9954A;
    --sage:#8FB2A0; --terra:#C88A72;

    --serif: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
    --sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --mono: ui-monospace, 'SF Mono', 'Cascadia Code', 'Roboto Mono', Menlo, Consolas, monospace;

    --maxw:1080px; --measure:64ch;
    --step:clamp(1.5rem, 1.1rem + 2vw, 2.4rem);
  }
  /* Single deliberate world: the theme toggle keeps the night intact rather than
     breaking the beacon into an unlit light mode. A daytime "dawn" variant is a
     later choice, not an omission. */
  :root[data-theme="light"]{ --text:#ECE6D8; }

  * { box-sizing:border-box; }
  body { background:var(--abyss); color:var(--text); font-family:var(--sans);
    line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
  .page { position:relative; }

  a { color:inherit; }
  h1,h2,h3 { font-family:var(--serif); font-weight:400; text-wrap:balance;
    letter-spacing:-0.01em; line-height:1.08; }
  .eyebrow { font-family:var(--mono); font-size:0.72rem; letter-spacing:0.28em;
    text-transform:uppercase; color:var(--beam-deep); }
  .measure { max-width:var(--measure); }

  .mark{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAYFBMVEUAAADfsGr93IX2zXzxyHj26HXtxHbdtm6zo2H////88KP//wDiunD8fHr+qqqrc1v/AAB6enWxdTJ4dht8ERH6vDy3tDz/fw/lvXL41oF//3//AP+qqqoAf38A/wBqAGrhd3DaAAAAIHRSTlMAGfvjoQtjWwkBBAGaAgMGAQIEAwIEBALGoAIBAwIBAqn/7LsAAAxKSURBVHjaxVuJltu2DiUsgiJFa7M9mZeky///5cMFKImaNI2l5njYnsksEkHsFwDt3PlF5JJ7/Rpc8I4+gTA537jukwiT619Od3TUNMHxJzDcNpfwCbLunL9c/C1NL6abU2xkvd6hGCr2F3q5Qw2uvfggSn414SQqDnTxrxZ1dqJiiq9XMju+CFHh2sUXe3EQMesX+u1K/DdJszDbCn0hHHP1h+nQNk+u6YMziXr1K/+rSk7k2iHvfhN3+0HIXVS+uRIE7d7J0dFB0sytJIDqpX6X9tWspq5z8GTejtPu0lXsXWhnPhyYvpKkoE3O1BKtzkSNBC05mCh55sLlndnXliZn/Xo8carZSkBcRTf3fg1TPVSshxorT2ZAklUoWV72l+N5s8/ClOTbxKuKQ0OUKmdi0IKSh6IdbnilI2IIskHk9xOeKtkn3BajQjoKCw1XeCFVcrcE0a+rQQ7upq+fCC/QY9NA3F0uCTg0/N2+11jZgzA8OZtEeBXs1EHMyJr5VAQJ8i7EbdatlqQ7KzlKGc+oJ8+qUm/fyZPJcYN3zwEUlvBwaeXgIZpRQcDk3ouKM3Vd13fJW2okpEkTrBiCqNe3Esz7/nw89iZuA9IXH/vMJV7aEnqZk9oiTUkfI4Ai8qeT9aibAdOJDAlnJx+iRA2VL7VBVkvCGKh1FDz47VnFHKAneu/PpiCvvgxxj5tDEnmYXVnyrS+RJWtsDnrQ6P8DOrEAxUV0jntxJmGsMWpl6RkaHySOcFqf7aHhPJ1PjcKyG/rCBcgalUBUoulIFOwsQR+wqEPuTNDaG7YQ7Iq4QVZ5s0DVyf+d/WAH0geE3QGed8akpyoVguU4ic7MqSVeC03auSexUJ+ChwbUJpJFNvo5PPipVaUtScnRUyfuJELEriXBqoC9yDwwbDmKef2ppEc86lTD/Rr2n8cAJSYXw3bcqVOFhwNzZAa2mrUI3w50M1PoeGfSZDs+YVGyMbueKpaB6i5evu8WdYpRX8WgvbC9GLXjwbEwLcpQBGp80uy4JUpPaZhbqHKJ0Di90EXglDxsdGQrinAccNMuRk2aG+RxvKKkIvzat8/7LzceSW+yhNBc4SOxc1/MrEGWELJ8SQMq+8YOK0YoooCBIXHYTk/7FcJtA0tijVMXcNFZqvNta3RjgxKmEZMmGEQoQQaUL6ZhvCzbbAbzFNZT6VIBlMKM2I7aV1sIRySM1WuG6IoPAwA2jUFPCnriQ9A6dSUIacwPUF+Lja8Lw0iZEiSbxW1gu95sWvODIpgLsNBRSK+S9Q8WChI1SSXQtsYwK8Mz1YHCwN2F4XHy4pf00AwTz+QmgqzBRlfoXhd2SRMmZQ2pC/zuvt2NZyCIAEnHcxWd7PfF3BjeLJDif0Y4RoMbvMSXRZgz6zEX5yd3Nk3kjgxHgEHfXgvDUf4Dw38UeLRVGNyNkC+jMeNH6vLZ7PSHBl1T2sIvFn6eaYNHtAV5lXLfm+2dr/tvjRZlYqbKb9vGomExZs1Q3CvLb5VhXC6AaOG/dCkGZdhcx+iifoolcVSIcKTKGUByYD3PcI7uRMVbQlHwErPAcMprjbQjMZuwu6XIOYX1GBT6gcGwX+nacYaqtbgjwfiZSR2NjlMW8JxS2bKFZUlCWm0LsGY12O9RDWmoivNGtWzYmw9VMVHjHKKvCE2iQriKSS+EP+I4qKJ5xLSvAygjTdFDnSw/GaaHNdMBA4jM2lXBbLCG+9rb9wgLRYXYAN7TNE2wg1/hvqmfcXI2wArj7SBpDR1F0HGn4c3bN5FmrbHYCUBRsGKw9BZ/zjfTyquiGVOxX3xpzf9zjB9iq6+1PJTOiJAnKrT5rpjqnyXc7ag6p9t1Djbd1ukwSLCePuAGqf2nXX/VWWNGEH+77IjY/TE5i898pJreRlinW6KHyRl7Cr8fTJV2sFKbYHf1htSlH/alflol/AOvEt/lr2ZbUPFqXBGuM7oaNSbgK4XfcSl8DJmW3q7qhdpq94FX8eyodppgrWJDW8Bfm4XwDMAjoWveY0NHtWHn1HuTVfOwaEY/yFNVAhtGmRCUXsfTcu6mieqUlW3JWZAndnXgQwqJXPL22ujkinBN+6I4FXUBoBEMr72r0OeqPdb4G0zkuhGWU9wQrHd+SbdRlF/FZgOBILzDj5rOWq2sGy3BjOOlvqYhbYRHJSxVw8JwA6pznGPthIJJIleZ40fCqVsUrYSMY7dGjEUBPIjhpY1wW3Qcr9pfucf5vhJO4lvC8jiqD+l+k3VpYGIPC96VaVc6luO8Wf3X7AyvtANCAR9gGQwDcY2LUae7CDreheGof9XmZwboK8aVOt45FNdCXXPIyDVtjpU7gTKcFQoe4xq5EJBcnh6xi3FFBKX5hTdvaS0usaumjI8FXNJ4uYZpRbaWI762xZMRkaOCve010fbYj9gePq6IYNYWqyXVyDsn6n4C7xlGH9cTakZ9aOQCYWG4QK4b7dfI+NprbJcMFq0FKBLYaS/2/45o+00nimGQJNSVrUKDDf8Msqj7wkNLkqhthp4AH5q4VUYW6wF7rsLwlX6xhGX9F6JKj7VTw9w/2wUphi6qmiyhH1sLgADVOByE9cw8akKPqIoPrUaHQhrK9lH9UBPVPPlquUkMevz1i5A00kabzuHbm0orRQVd13YDIbBgPYTl6ChebL9F9JQILGUxKozTNwgylbMboL9eN0RPXz40TTRUZqkuJ579CujPjh1LeZIMhNQ8x3irH5xnyY3ub+R8RaFvzLsq8mh93GVFP1zVMO0WNDYx5uxE9eMXCNtpBWOTuOFcncpIjQhGQxTDBgyR5SvasS+inMUaJHiJBt75rs1PY/i7Syd47hzmZlqedKg9NWBD4LE1NSv2u93uf7ksSTGO4NcaL/oPXg7xcN2WtMvTOt0olQq5uX4wbiUfH+Jh72LbLVpDaPSQTQBLf//YnI1L95KXJioo+5UyVcq2E+iv7E5KqTZoAqiiQzxLQveGi7K1uZjQ0CmUraDZVL0EavCL0b2NJbcOG/fP+y9pWy/1Yh3os4kzE47Sts31uspbSFdCbxU2BrTn0eOznpCjr9rNfbY/HxqMcqj0q/WCiyJs8SrDutci7lLLCdm2NG51tCtvMKKHWIp1UZ/hOX8fAlq3OhW2wn5rFWqXbWN5YRvqDdqBJG1FhrVJ0Hfor/JToWTUfvu01oHeJiFlJCKowpDQRl0SSAw2OCBtfXqz6tJq7zHyfmYSlMktPsDaWUl8UynOnaF/LwL3bQPoWdCnzWAcGrXQ759asN2Gar8newK5Gqh68a380L4CGFIiQjss/NpwAFCDikj+zjHFprp/dDh8qUlT5kncq/AEwS2jkGYZ9In54GqG06niFV6v8093uqNYWqRiINjRa0TR6SZp1aPLG0hHymd0TeR4MyZPGmtPzhbJOqQ2p/TqnjovSJZ0RovWGl+TTgHQalknBNAyTefTsbPxngZd3duHL0pLUkGH2bXW/FF7RL4Un3qnQdPjKZbnySpzGwfniK4pl+lPBeLuxKXah/XG9ZypLeP8U3cEvImZ7CZR5qroU8MOV+9LscCmaDBpmikZ9ThdTeZFZ+Ny26crZWU94ltmfO7uSrAyIUmKfJxAtzpIXcfBAJ2zt5GuXuOiUFZruJ34FrzBynV8Dah4+P5JRJS+2tT9vjSRMGNBf7AUCaVOkjqHsoa3RbSD2dh11/A74MMl/m4d8HKFSjt5bEgaYHai5ZrIWKzJZkFNc3xsPqMTiiszm0cgClp5uw0isokhGpuoeOIK2fT+ShMPGrZde6ENPYDhhXt00Lz2iXu3Sf2dSavL+pZR04Rj8wE1aV/hpfzmmmrXWK7Mcd2eR07mnOs7YSLukfNBkw6Yd1V35RrqlzTzbWnXcilyDLqIsMM2kLFLIcfu+3BmiQBvfd2k8O1WClll1OlFsstWmn0TFuvrdgpW/ZHbEUlz666qYF81ExRX3dZBft66gRLAun05QnQwPe7ez3+FGjeVhlKK0/5GaMqCct5/vs0zPM8fJFDfglRtivLehh8vuFD8AU24/7I+RCAqDcRfXgj93ctIluo7//Otmd+zPu53u5ey7NU3u0tL3l/oxR9YsEmLqji71y4QVdT9YrraDPef8AkNHae9XsU6XdMPaOT7iwnbtNR/wodwtB/dfgphvdLz+s+W6UWv9HqGgZ6bT/tMW3CfsWaAi/PJ6P/tfWYA9W+wcQAAAABJRU5ErkJggg==") center/contain no-repeat;display:block;flex:none;}
  .brand .mark{width:24px;height:24px;}
  .foot .fb .mark{width:28px;height:28px;}

  /* ---------- nav ---------- */
  .nav { position:fixed; inset:0 0 auto 0; z-index:40; display:flex;
    align-items:center; justify-content:space-between; gap:1rem;
    padding:1rem clamp(1rem,4vw,2.5rem);
    background:linear-gradient(var(--abyss), transparent);
    transition:background .4s ease, backdrop-filter .4s ease; }
  .nav.docked { background:rgba(8,12,20,0.82); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line); }
  .brand { display:flex; align-items:center; gap:.6rem; text-decoration:none; }
  .brand svg { width:22px; height:22px; flex:none; }
  .brand span { font-family:var(--mono); font-size:.74rem; letter-spacing:0.22em;
    text-transform:uppercase; color:var(--mist); }
  .nav-right { display:flex; align-items:center; gap:1.4rem; }
  .nav-link { display:none; font-family:var(--mono); font-size:.72rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--fog);
    text-decoration:none; transition:color .2s; }
  .nav-link:hover { color:var(--text); }
  @media (min-width:720px){ .nav-link{ display:inline; } }

  .buy-pill { font-family:var(--mono); font-size:.72rem; letter-spacing:0.1em;
    text-transform:uppercase; text-decoration:none; color:var(--abyss);
    background:var(--beam); padding:.6rem .95rem; border-radius:2px;
    white-space:nowrap; transition:transform .2s, box-shadow .3s, background .2s; }
  .buy-pill:hover { transform:translateY(-1px);
    box-shadow:0 6px 24px -6px rgba(242,200,121,.5); background:var(--beam-hot); }

  /* ---------- hero ---------- */
  .hero { position:relative; min-height:100svh; display:grid; }
  #beacon { position:absolute; inset:0; width:100%; height:100%; display:block; }
  .hero-inner { position:relative; z-index:2; align-self:end;
    max-width:var(--maxw); margin:0 auto; width:100%;
    padding:6rem clamp(1.25rem,5vw,3rem) clamp(3.5rem,10vh,7rem); text-align:center; }
  .hero h1 { font-size:clamp(2.6rem, 1.6rem + 4.6vw, 5.2rem); margin:1.4rem 0 0; }
  .hero h1 em { font-style:italic; color:var(--beam); }
  .hero .sub { margin:1.5rem auto 0; max-width:52ch; color:var(--mist);
    font-size:clamp(1rem,.95rem + .3vw,1.18rem); }
  .cta-row { margin-top:2.4rem; display:flex; flex-wrap:wrap; gap:1rem;
    justify-content:center; align-items:center; }
  .btn { font-family:var(--mono); font-size:.8rem; letter-spacing:0.08em;
    text-decoration:none; padding:.9rem 1.4rem; border-radius:2px;
    display:inline-flex; align-items:center; gap:.55rem; transition:all .22s; }
  .btn .arw { transition:transform .22s; }
  .btn:hover .arw { transform:translateX(4px); }
  .btn-solid { background:var(--beam); color:var(--abyss); font-weight:600; }
  .btn-solid:hover { background:var(--beam-hot);
    box-shadow:0 8px 30px -8px rgba(242,200,121,.5); }
  .btn-ghost { color:var(--text); border:1px solid var(--haze); }
  .btn-ghost:hover { border-color:var(--beam); color:var(--beam); }
  .scroll-hint { position:absolute; bottom:1.6rem; left:50%;
    transform:translateX(-50%); z-index:2; font-family:var(--mono);
    font-size:.62rem; letter-spacing:0.3em; text-transform:uppercase;
    color:var(--fog); }

  /* ---------- beat 0: the dark (opening) ---------- */
  .dark { position:relative; overflow:hidden; min-height:88svh;
    display:grid; grid-template-rows:1fr auto; }
  .dark .atmos, .dark .atmos::before { position:absolute; inset:-20%; }
  .dark .atmos {
    background:
      radial-gradient(42% 38% at 22% 32%, rgba(19,33,53,.75), transparent 70%),
      radial-gradient(48% 44% at 76% 24%, rgba(15,24,38,.85), transparent 72%),
      radial-gradient(60% 52% at 58% 78%, rgba(10,15,26,.9), transparent 70%);
    animation:drift 34s ease-in-out infinite alternate; }
  .dark .atmos::before { content:"";
    background:
      radial-gradient(38% 34% at 40% 20%, rgba(34,52,74,.5), transparent 68%),
      radial-gradient(44% 40% at 82% 66%, rgba(12,18,30,.8), transparent 70%);
    animation:drift2 46s ease-in-out infinite alternate; }
  @keyframes drift { from{ transform:translate3d(-2%,-1%,0) scale(1.04); }
    to{ transform:translate3d(3%,2%,0) scale(1.12); } }
  @keyframes drift2 { from{ transform:translate3d(2%,1%,0) scale(1.1); }
    to{ transform:translate3d(-3%,-2%,0) scale(1.02); } }
  .dark .horizon { position:absolute; left:0; right:0; bottom:-30%; height:60%; z-index:1;
    background:radial-gradient(60% 100% at 50% 100%,
      rgba(242,200,121,.16), rgba(242,200,121,.05) 38%, transparent 66%); }
  .dark .dark-vignette { position:absolute; inset:0; z-index:1;
    background:radial-gradient(120% 90% at 50% 40%, transparent 40%, rgba(5,8,15,.55) 100%); }
  .dark-copy { position:relative; z-index:3; align-self:center;
    max-width:var(--maxw); margin:0 auto; width:100%; text-align:center;
    padding:7rem clamp(1.4rem,6vw,3rem) 3rem; }
  .dark-copy .eyebrow { display:block; margin-bottom:1.6rem; }
  .dark-copy h1 { font-size:clamp(2.2rem, 1.5rem + 3.6vw, 4rem); color:var(--text); }
  .dark-copy h1 em { font-style:italic; color:var(--mist); }
  .dark-copy p { margin:1.8rem auto 0; max-width:44ch; color:var(--fog);
    font-size:clamp(1rem, .96rem + .3vw, 1.15rem); line-height:1.7; }
  .scroll-cue { position:relative; z-index:3; justify-self:center; align-self:end;
    padding-bottom:1.9rem; text-align:center; font-family:var(--mono);
    font-size:.6rem; letter-spacing:0.26em; text-transform:uppercase; color:var(--beam-deep); }
  .scroll-cue .arw { display:block; margin-top:.5rem; font-size:.9rem;
    color:var(--beam); animation:bob 2.4s ease-in-out infinite; }
  @keyframes bob { 0%,100%{ transform:translateY(0); opacity:.6; }
    50%{ transform:translateY(5px); opacity:1; } }

  /* hero mobile: the emblem leads the headline (the reveal reflow) */
  .beacon-emblem { display:none; }
  @media (max-width:768px){
    .hero-inner { align-self:center; padding-top:5.5rem;
      display:flex; flex-direction:column; align-items:center; }
    .beacon-emblem { display:block; width:82px; height:82px; margin-bottom:26px;
      filter:drop-shadow(0 0 18px rgba(242,200,121,.45)); }
    .hero h1 { font-size:clamp(3rem, 12vw, 4.25rem); line-height:.95;
      letter-spacing:-0.035em; margin:0; }
    .hero .sub { margin-top:40px; max-width:34rem; padding-inline:.5rem;
      font-size:clamp(1.05rem, 4.6vw, 1.3rem); line-height:1.55; }
    .cta-row { margin-top:38px; flex-direction:column; width:100%; gap:18px; }
    .cta-row .btn { width:min(100%,370px); justify-content:center; }
  }

  /* ---------- generic section ---------- */
  section { position:relative; z-index:2; }
  .band { max-width:var(--maxw); margin:0 auto;
    padding:clamp(4.5rem,10vw,9rem) clamp(1.25rem,5vw,3rem); }
  .lede { font-family:var(--serif); font-size:var(--step); color:var(--text);
    line-height:1.28; }


  /* instrument */
  .instrument { background:
     radial-gradient(120% 80% at 50% -10%, rgba(242,200,121,.06), transparent 60%),
     var(--deep); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .inst-grid { display:grid; gap:clamp(2rem,5vw,4rem); align-items:center;
    grid-template-columns:1fr; }
  @media (min-width:860px){ .inst-grid{ grid-template-columns:1.05fr .95fr; } }
  .inst-copy h1 { font-size:clamp(2.1rem,1.5rem+2.6vw,3.3rem); margin:.9rem 0 0; letter-spacing:-0.01em; }
  .inst-copy h2 { font-size:clamp(1.9rem,1.4rem+2vw,2.9rem); margin:.9rem 0 0; }
  .inst-copy p { margin-top:1.2rem; color:var(--mist); }
  .about-video { width:100%; height:auto; display:block; margin:2rem 0 .4rem;
    border:1px solid var(--line); border-radius:14px; background:var(--tide); }

  .readout { background:linear-gradient(180deg, var(--tide-2), var(--tide));
    border:1px solid var(--haze); border-radius:6px; padding:1.6rem 1.5rem;
    font-family:var(--mono); box-shadow:0 30px 60px -30px rgba(0,0,0,.8); }
  .readout .ro-head { display:flex; justify-content:space-between;
    align-items:center; font-size:.66rem; letter-spacing:0.2em;
    text-transform:uppercase; color:var(--fog); border-bottom:1px solid var(--line);
    padding-bottom:.9rem; }
  .ro-dot { width:7px; height:7px; border-radius:50%; background:var(--sage);
    box-shadow:0 0 10px var(--sage); display:inline-block; margin-right:.5rem; }
  .ro-counts { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem;
    margin-top:1.2rem; }
  .ro-card { background:var(--abyss); border:1px solid var(--line); border-radius:4px;
    padding:.9rem .6rem; text-align:center; }
  .ro-num { display:block; font-size:1.7rem; color:var(--text); line-height:1;
    font-variant-numeric:tabular-nums; }
  .ro-cl { display:block; margin-top:.45rem; font-size:.56rem; letter-spacing:0.1em;
    text-transform:uppercase; color:var(--fog); line-height:1.35; }
  .ro-annot { margin:.85rem 0 0; font-size:.64rem; color:var(--beam-deep);
    letter-spacing:0.03em; text-align:center; }
  .ro-sec { padding:1rem 0; border-bottom:1px solid rgba(26,39,64,.6); }
  .ro-sec:first-of-type { border-top:1px solid rgba(26,39,64,.6); }
  .ro-lbl { display:flex; align-items:center; gap:.55rem; font-size:.63rem;
    letter-spacing:0.18em; text-transform:uppercase; color:var(--beam); }
  .ro-tag { font-family:var(--mono); font-size:.53rem; letter-spacing:0.08em;
    text-transform:none; color:var(--fog); border:1px solid var(--line);
    border-radius:2px; padding:.12rem .42rem; }
  .ro-tag.good { color:var(--sage); border-color:rgba(143,178,160,.4); }
  .ro-txt { margin:.55rem 0 0; font-family:var(--sans); font-size:.85rem;
    color:var(--mist); line-height:1.5; }
  .ro-list { margin:.55rem 0 0; padding:0; list-style:none;
    display:flex; flex-direction:column; gap:.55rem; }
  .ro-list li { font-family:var(--sans); font-size:.83rem; color:var(--mist);
    line-height:1.5; padding-left:1rem; position:relative; }
  .ro-list li::before { content:"\2013"; position:absolute; left:0; color:var(--fog); }
  .ro-list li b { color:var(--beam-deep); font-weight:600; font-family:var(--mono);
    font-size:.7rem; letter-spacing:0.05em; }
  .ro-quote { color:var(--text); font-style:italic; }
  .ro-trace { display:block; margin-top:.25rem; padding-left:.9rem; font-size:.72rem;
    color:var(--fog); border-left:1px solid var(--haze); font-style:normal; }
  .ro-foot { margin-top:1.1rem; font-size:.68rem; color:var(--fog);
    letter-spacing:0.04em; }

  /* method sequence */
  .method { margin-top:clamp(3rem,7vw,5rem); }
  .method h3 { font-family:var(--mono); font-weight:400; font-size:.72rem;
    letter-spacing:0.24em; text-transform:uppercase; color:var(--beam-deep);
    margin-bottom:1.6rem; }
  .steps { display:grid; gap:0; }
  .step { display:grid; grid-template-columns:auto 1fr; gap:1.2rem;
    padding:1.3rem 0; border-top:1px solid var(--line); }
  .step:last-child { border-bottom:1px solid var(--line); }
  .step .num { font-family:var(--mono); font-size:.8rem; color:var(--beam-deep);
    padding-top:.2rem; font-variant-numeric:tabular-nums; }
  .step .st-t { font-family:var(--serif); font-size:1.15rem; color:var(--text); }
  .step .st-d { color:var(--fog); font-size:.92rem; margin-top:.25rem; }

  /* observation summary legend */
  .scard > p { color:var(--mist); max-width:var(--measure); }
  .legend { display:grid; gap:0; margin-top:1.8rem; }
  .lrow { display:grid; grid-template-columns:11rem 1fr; gap:1.3rem;
    padding:1.25rem 0; border-top:1px solid var(--line); }
  .lrow:last-child { border-bottom:1px solid var(--line); }
  .lrow .lt { font-family:var(--mono); font-size:.72rem; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--beam); padding-top:.2rem; }
  .lrow .ld .h { font-family:var(--serif); font-size:1.12rem; color:var(--text); }
  .lrow .ld .d { color:var(--fog); font-size:.92rem; margin-top:.3rem; }
  @media (max-width:560px){ .lrow{ grid-template-columns:1fr; gap:.35rem; } }

  /* free check */
  .check { text-align:center; }
  .check h2 { font-size:clamp(1.9rem,1.4rem+2vw,3rem); }
  .check p { margin:1.3rem auto 0; max-width:52ch; color:var(--mist); }

  /* ---------- lite funnel (on-site free check) ---------- */
  .lite { max-width:640px; margin:2.6rem auto 0; text-align:left; }
  .lite textarea, .lite input[type="email"] {
    width:100%; background:var(--deep); color:var(--text);
    border:1px solid var(--haze); border-radius:6px; padding:1rem;
    font-family:var(--sans); font-size:1rem; line-height:1.5; }
  .lite textarea { min-height:118px; resize:vertical; }
  .lite textarea:focus, .lite input[type="email"]:focus {
    outline:none; border-color:var(--beam); box-shadow:0 0 0 3px rgba(242,200,121,.14); }
  .lite textarea::placeholder, .lite input::placeholder { color:var(--fog); }
  .lite .btn { margin-top:1rem; }
  .lite-fine { margin-top:.9rem; font-family:var(--mono); font-size:.66rem;
    letter-spacing:.04em; color:var(--fog); text-align:center; }
  .lite-err { color:var(--terra); font-size:.82rem; margin-top:.6rem; min-height:1em; }
  .lite-prog { font-family:var(--mono); font-size:.66rem; letter-spacing:.2em;
    text-transform:uppercase; color:var(--beam-deep); }
  .lite-q { font-family:var(--serif); font-size:clamp(1.3rem,1.1rem+1vw,1.7rem);
    color:var(--text); margin:.7rem 0 .5rem; line-height:1.25; }
  .lite-rat { color:var(--fog); font-size:.92rem; margin-bottom:1rem; }
  .lite-wait { text-align:center; padding:2.5rem 0; }
  .lite-spinner { width:34px; height:34px; margin:0 auto 1rem;
    border:2px solid var(--line); border-top-color:var(--beam);
    border-radius:50%; animation:litespin .8s linear infinite; }
  @keyframes litespin { to { transform:rotate(360deg); } }
  .lite-wait-t { font-family:var(--mono); font-size:.72rem; letter-spacing:.16em;
    text-transform:uppercase; color:var(--fog); }
  .lite-locked { margin-top:1rem; display:flex; flex-direction:column; gap:.5rem; }
  .lock-row { display:flex; align-items:center; justify-content:space-between;
    gap:.8rem; padding:.72rem .9rem; background:var(--abyss);
    border:1px solid var(--line); border-radius:4px; font-family:var(--mono);
    font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; color:var(--fog); }
  .lock-row .lk { color:var(--beam-deep); letter-spacing:.02em; }
  .lite-capture { margin-top:1.5rem; background:var(--tide-2);
    border:1px solid var(--haze); border-radius:6px; padding:1.5rem; }
  .cap-head { font-family:var(--serif); font-size:1.2rem; color:var(--text); }
  .cap-sub { color:var(--mist); font-size:.9rem; margin:.5rem 0 1.1rem; }
  .fb-q { font-size:.85rem; color:var(--mist); margin-bottom:.6rem; }
  .fb-row { display:flex; gap:.5rem; margin-bottom:1rem; flex-wrap:wrap; }
  .fb-btn { font-family:var(--mono); font-size:.72rem; letter-spacing:.06em;
    background:transparent; color:var(--mist); border:1px solid var(--haze);
    border-radius:3px; padding:.5rem .95rem; cursor:pointer; transition:all .2s; }
  .fb-btn:hover { border-color:var(--beam); color:var(--text); }
  .fb-btn.sel { background:var(--beam); color:var(--abyss); border-color:var(--beam); }
  .cap-fine { margin-top:.85rem; font-size:.72rem; color:var(--fog); }
  .lite-brief { width:100%; min-height:190px; font-family:var(--mono);
    font-size:.8rem; line-height:1.5; }
  .lite-copy { font-family:var(--mono); font-size:.7rem; letter-spacing:.06em;
    background:transparent; color:var(--mist); border:1px solid var(--haze);
    border-radius:3px; padding:.55rem .9rem; cursor:pointer; margin-top:.8rem; }
  .lite-copy:hover { border-color:var(--beam); color:var(--text); }

  /* guide — conversion */
  .guide { background:
     radial-gradient(90% 120% at 80% 0%, rgba(242,200,121,.09), transparent 55%),
     linear-gradient(var(--deep), var(--tide)); border-top:1px solid var(--line); }
  .guide-card { display:grid; gap:2.5rem; grid-template-columns:1fr; align-items:center; }
  @media (min-width:820px){ .guide-card{ grid-template-columns:1fr 1fr; } }
  .guide .tm { font-family:var(--mono); font-size:.72rem; letter-spacing:0.18em;
    text-transform:uppercase; color:var(--mist); }
  .guide blockquote { margin:1.1rem 0 0; font-family:var(--serif);
    font-style:italic; font-size:clamp(1.5rem,1.1rem+1.8vw,2.3rem);
    line-height:1.22; color:var(--text); }
  .guide .desc { margin-top:1.5rem; color:var(--mist); max-width:44ch; }
  .guide-buy { background:rgba(10,15,26,.55); border:1px solid var(--haze);
    border-radius:8px; padding:2rem; text-align:center;
    box-shadow:0 40px 80px -40px rgba(0,0,0,.9); }
  .guide-buy .price { font-family:var(--serif); font-size:3.4rem; color:var(--text);
    line-height:1; }
  .guide-buy .price sup { font-size:1.2rem; color:var(--beam); vertical-align:top;
    top:.4em; position:relative; margin-right:.15em; }
  .guide-buy .once { font-family:var(--mono); font-size:.7rem; letter-spacing:0.16em;
    text-transform:uppercase; color:var(--fog); margin-top:.5rem; }
  .guide-buy .btn { width:100%; justify-content:center; margin-top:1.6rem; }
  .guide-buy .fine { margin-top:1rem; font-size:.72rem; color:var(--fog); }

  /* failure patterns */
  .patterns { margin-top:clamp(3rem,7vw,5rem); }
  .patterns .eyebrow { display:block; margin-bottom:1.5rem; }
  .pat-grid { display:grid; gap:1px; background:var(--line);
    border:1px solid var(--line); border-radius:8px; overflow:hidden;
    grid-template-columns:1fr; }
  @media (min-width:680px){ .pat-grid{ grid-template-columns:repeat(5,1fr); } }
  .pat { background:var(--tide); padding:1.3rem 1.2rem; display:flex;
    flex-direction:column; gap:.55rem; }
  .pat .pn { font-family:var(--mono); font-size:.7rem; color:var(--beam-deep);
    font-variant-numeric:tabular-nums; }
  .pat .ph { font-family:var(--serif); font-size:1.02rem; color:var(--text);
    line-height:1.15; }
  .pat .pd { font-size:.82rem; color:var(--fog); line-height:1.45; }

  /* footer QR */
  .qr { display:flex; flex-direction:column; align-items:center; gap:.7rem;
    text-decoration:none; }
  .qr .qbox { background:#ECE6D8; padding:12px; border-radius:10px;
    width:118px; height:118px;
    box-shadow:0 0 0 1px var(--haze), 0 20px 44px -22px rgba(0,0,0,.8); }
  .qr svg { width:100%; height:100%; display:block; shape-rendering:crispEdges; }
  .qr span { font-family:var(--mono); font-size:.56rem; letter-spacing:0.24em;
    text-transform:uppercase; color:var(--beam-deep); }
  .qr .qbox img { width:100%; height:100%; display:block; border-radius:3px; }

  /* go further */
  .further .band > .eyebrow { display:block; text-align:center; }
  .further h2 { text-align:center; font-size:clamp(1.9rem,1.4rem+2vw,3rem);
    margin:.8rem 0 3rem; }
  .cards { display:grid; gap:1.2rem; grid-template-columns:1fr; }
  @media (min-width:760px){ .cards{ grid-template-columns:repeat(3,1fr); } }
  .card { background:var(--tide); border:1px solid var(--line); border-radius:8px;
    padding:1.7rem; display:flex; flex-direction:column; gap:.8rem;
    transition:border-color .3s, transform .3s; }
  .card:hover { border-color:var(--haze); transform:translateY(-3px); }
  .card .tag { font-family:var(--mono); font-size:.62rem; letter-spacing:0.16em;
    text-transform:uppercase; color:var(--beam-deep); }
  .card h3 { font-size:1.35rem; }
  .card p { color:var(--fog); font-size:.92rem; flex:1; }
  .card a.more { font-family:var(--mono); font-size:.74rem; letter-spacing:0.06em;
    color:var(--beam); text-decoration:none; display:inline-flex; gap:.4rem;
    align-items:center; }
  .card a.more .arw { transition:transform .2s; }
  .card a.more:hover .arw { transform:translateX(4px); }

  /* footer */
  footer { border-top:1px solid var(--line); background:var(--abyss); }
  .foot { max-width:var(--maxw); margin:0 auto;
    padding:clamp(3rem,6vw,4.5rem) clamp(1.25rem,5vw,3rem);
    display:flex; flex-wrap:wrap; gap:1.5rem 2rem; align-items:center;
    justify-content:space-between; }
  .foot .fb { display:flex; align-items:center; gap:.7rem; }
  .foot .fb svg { width:26px; height:26px; }
  .foot .fb .ft { font-family:var(--serif); font-size:1.05rem; }
  .foot .fb .fc { font-family:var(--mono); font-size:.6rem; letter-spacing:0.28em;
    text-transform:uppercase; color:var(--beam-deep); margin-top:.2rem; }
  .foot .fmeta { font-size:.78rem; color:var(--fog); text-align:right; }
  .foot .fmeta .tl { font-family:var(--serif); font-style:italic;
    color:var(--mist); font-size:.92rem; }
  .foot .fmeta a.flink { font-family:var(--mono); font-size:.72rem;
    letter-spacing:0.1em; color:var(--mist); text-decoration:none;
    border-bottom:1px solid var(--haze); transition:color .2s, border-color .2s; }
  .foot .fmeta a.flink:hover { color:var(--beam); border-color:var(--beam); }

  /* reveal */
  .rise { opacity:0; transform:translateY(22px);
    transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1); }
  .rise.in { opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce){
    .rise { opacity:1; transform:none; transition:none; }
    .btn .arw, .card a.more .arw { transition:none; }
    html { scroll-behavior:auto; }
  }
  html { scroll-behavior:smooth; }
  :focus-visible { outline:2px solid var(--beam); outline-offset:3px; border-radius:2px; }
