    /* ============================================================
       ERGASYS — "The Week Grid"
       Palette = the roster legend. Layout = the timetable column.
       ============================================================ */

    :root{
        --ink:#0B1A21;
        --ink-2:#102730;
        --ink-3:#17323D;
        --paper:#ECEFE9;
        --white:#FFFFFF;

        --fg:#E9F0ED;
        --fg-dim:#94ABA7;
        --on-paper:#0B1A21;
        --on-paper-dim:#4E6360;

        --line:rgba(233,240,237,.14);
        --line-strong:rgba(233,240,237,.26);
        --line-ink:rgba(11,26,33,.16);

        /* shift codes — the whole palette is the roster legend */
        --proi:#EFB13B;      /* πρωί   06–14 */
        --apo:#D9603F;       /* απόγευμα 14–22 */
        --nyx:#4C63D2;       /* νύχτα  22–06 */
        --adeia:#1FB89C;     /* άδεια */

        --display:"Sofia Sans Extra Condensed","Sofia Sans Condensed",Impact,sans-serif;
        --sans:"Commissioner","Helvetica Neue",Arial,sans-serif;
        --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

        --wrap:1240px;
        --gut:clamp(1.15rem,4vw,2.5rem);
    }

    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

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

    body{
        background:var(--ink);
        color:var(--fg);
        font-family:var(--sans);
        font-size:clamp(1rem,.97rem + .15vw,1.075rem);
        line-height:1.62;
        font-weight:340;
        -webkit-font-smoothing:antialiased;
        overflow-x:hidden;
    }

    img{max-width:100%;height:auto;display:block}
    a{color:inherit}

    ::selection{background:var(--proi);color:var(--ink)}

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

    .wrap{width:min(var(--wrap),100% - (var(--gut) * 2));margin-inline:auto}

    /* ---------- timetable substrate: seven hairlines ---------- */
    .sec{position:relative;padding-block:clamp(4.5rem,9vw,8rem);scroll-margin-top:88px}
    .sec > .wrap{position:relative;z-index:1}
    .rail{
        position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);
        width:min(var(--wrap),100% - (var(--gut) * 2));
        background-image:linear-gradient(90deg,var(--line) 0 1px,transparent 1px);
        background-size:calc(100% / 7) 100%;
        opacity:.5;pointer-events:none;
    }
    .act-paper .rail{background-image:linear-gradient(90deg,var(--line-ink) 0 1px,transparent 1px);opacity:.55}

    /* ---------- acts ---------- */
    .act-paper{background:var(--paper);color:var(--on-paper)}
    .act-paper .lede{color:var(--on-paper-dim)}
    .act-paper .eyebrow{color:var(--on-paper-dim)}

    /* ---------- type ---------- */
    .h-display{
        font-family:var(--display);
        font-weight:900;
        line-height:.9;
        letter-spacing:-.005em;
        font-size:clamp(2.5rem,5.4vw,4.4rem);
        text-wrap:balance;
    }
    .lede{
        font-size:clamp(1.05rem,1rem + .35vw,1.25rem);
        color:var(--fg-dim);
        max-width:60ch;
        font-weight:330;
    }
    .eyebrow{
        font-family:var(--mono);
        font-size:.7rem;
        font-weight:500;
        letter-spacing:.19em;
        text-transform:uppercase;
        color:var(--fg-dim);
        display:flex;align-items:center;gap:.6rem;
        margin-bottom:1.1rem;
    }
    .eyebrow::before{
        content:"";width:9px;height:9px;flex:none;
        background:var(--code,var(--adeia));
    }
    .mono{font-family:var(--mono)}

    .sec-head{margin-bottom:clamp(2.5rem,5vw,4rem);max-width:64ch}
    .sec-head .lede{margin-top:1rem}

    .bloglink{
        display:inline-block;margin-top:1.25rem;max-width:46ch;
        font-family:var(--mono);font-size:.76rem;line-height:1.6;letter-spacing:.06em;
        text-wrap:pretty;
        color:var(--adeia);text-decoration:none;
        border-bottom:1px solid transparent;padding-bottom:2px;
        transition:border-color .18s ease;
    }
    .bloglink:hover{border-bottom-color:var(--adeia)}
    .act-paper .bloglink{color:#0F7C6A}

    /* ---------- buttons ---------- */
    .btn{
        display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
        font-family:var(--sans);font-weight:600;font-size:.95rem;
        padding:.9rem 1.6rem;border:1px solid transparent;
        text-decoration:none;cursor:pointer;
        transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
    }
    .btn-primary{background:var(--adeia);color:#04231E;border-color:var(--adeia)}
    .btn-primary:hover{background:#33CCAF;border-color:#33CCAF}
    .btn-ghost{background:transparent;color:var(--fg);border-color:var(--line-strong)}
    .btn-ghost:hover{border-color:var(--fg);background:rgba(233,240,237,.05)}
    .act-paper .btn-ghost{color:var(--on-paper);border-color:var(--line-ink)}
    .act-paper .btn-ghost:hover{border-color:var(--on-paper);background:rgba(11,26,33,.04)}
    .btn-block{width:100%}

    /* ---------- nav ---------- */
    .nav{
        position:sticky;top:0;z-index:60;
        background:rgba(11,26,33,.86);
        backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
        border-bottom:1px solid var(--line);
    }
    .nav__in{display:flex;align-items:center;gap:1.5rem;height:70px}
    /* crop the lock-up to the wordmark — the strapline is illegible at nav size */
    .nav__logo img{width:128px;height:27px;object-fit:cover;object-position:top center}
    .nav__links{
        display:flex;align-items:center;gap:1.6rem;margin-left:auto;list-style:none;
    }
    .nav__links a{
        text-decoration:none;font-size:.92rem;font-weight:450;color:var(--fg-dim);
        transition:color .16s ease;
    }
    .nav__links a:hover{color:var(--fg)}
    .nav__tools{display:flex;align-items:center;gap:.75rem;margin-left:.4rem}
    .lang{
        font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;font-weight:500;
        background:transparent;border:1px solid var(--line-strong);color:var(--fg-dim);
        padding:.42rem .62rem;cursor:pointer;transition:color .16s,border-color .16s;
    }
    .lang:hover{color:var(--fg);border-color:var(--fg)}
    .nav__cta{
        background:var(--adeia);color:#04231E;text-decoration:none;
        font-weight:600;font-size:.88rem;padding:.55rem 1.05rem;white-space:nowrap;
    }
    .nav__cta:hover{background:#33CCAF}
    .burger{
        display:none;margin-left:auto;background:none;border:1px solid var(--line-strong);
        color:var(--fg);width:42px;height:38px;cursor:pointer;
        align-items:center;justify-content:center;
    }
    .burger span{display:block;width:17px;height:1.5px;background:currentColor;position:relative}
    .burger span::before,.burger span::after{
        content:"";position:absolute;left:0;width:17px;height:1.5px;background:currentColor;
    }
    .burger span::before{top:-5px}
    .burger span::after{top:5px}

    /* ---------- hero ---------- */
    .hero{
        position:relative;
        padding-top:clamp(3rem,6vw,5.5rem);
        padding-bottom:clamp(3rem,4.5vw,4.5rem);
        overflow:hidden;
    }
    .hero__grid{
        display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.22fr);
        gap:clamp(2.5rem,5vw,4.5rem);align-items:center;
    }
    .hero h1{
        font-family:var(--display);font-weight:900;
        font-size:clamp(2.7rem,5.2vw,4.15rem);
        line-height:.92;letter-spacing:-.008em;
        margin-bottom:1.4rem;max-width:14ch;
    }
    .hero h1 em{font-style:normal;color:var(--proi)}
    .hero__sub{
        font-size:clamp(1.02rem,.98rem + .3vw,1.18rem);
        color:var(--fg-dim);max-width:52ch;font-weight:330;
    }
    .hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem}
    .hero__actions .store{display:block;line-height:0}
    .hero__actions .store img{height:46px;width:auto;border-radius:7px}
    .hero__note{
        margin-top:1.6rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;
        color:var(--fg-dim);display:flex;flex-wrap:wrap;gap:.45rem 1rem;
    }

    /* ---------- THE ROSTER (signature) ---------- */
    .roster{
        background:var(--ink-2);border:1px solid var(--line-strong);
        padding:clamp(.9rem,1.6vw,1.3rem);
    }
    .roster__bar{
        display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;
        padding-bottom:.85rem;margin-bottom:.85rem;border-bottom:1px solid var(--line);
    }
    .roster__label{
        font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;
        color:var(--fg);font-weight:500;
    }
    .roster__status{
        margin-left:auto;display:flex;align-items:center;gap:.5rem;
        font-family:var(--mono);font-size:.71rem;letter-spacing:.05em;color:var(--fg-dim);
    }
    .roster__dot{width:7px;height:7px;border-radius:50%;background:var(--proi);flex:none}
    .roster.is-done .roster__dot{background:var(--adeia)}
    .roster__scroll{overflow-x:auto;scrollbar-width:thin;position:relative}
    /* edge fade signals the grid scrolls sideways on narrow screens */
    .roster__fade{
        position:absolute;top:0;bottom:0;right:0;width:38px;pointer-events:none;display:none;
        background:linear-gradient(90deg,rgba(16,39,48,0),var(--ink-2));
    }
    .roster__grid{
        display:grid;grid-template-columns:7.4rem repeat(7,minmax(48px,1fr));
        gap:3px;min-width:520px;
    }
    .roster__day,.roster__name{
        font-family:var(--mono);font-size:.68rem;letter-spacing:.09em;
        color:var(--fg-dim);padding:.35rem .1rem;
    }
    .roster__day{text-align:center;text-transform:uppercase}
    .roster__name{
        display:flex;align-items:center;white-space:nowrap;overflow:hidden;
        text-overflow:ellipsis;font-size:.7rem;padding-right:.5rem;
    }
    .roster__cell{min-height:34px;background:rgba(233,240,237,.055)}
    .blk{
        height:100%;min-height:34px;display:flex;align-items:center;justify-content:center;
        font-family:var(--mono);font-size:.63rem;letter-spacing:.02em;font-weight:500;
        color:var(--ink);
        opacity:0;transform:translateY(5px);
    }
    .roster.is-live .blk{animation:blkin .34s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:calc(var(--i) * 55ms)}
    @keyframes blkin{to{opacity:1;transform:translateY(0)}}
    .blk-proi{background:var(--proi)}
    .blk-apo{background:var(--apo);color:#2A0A03}
    .blk-nyx{background:var(--nyx);color:#F2F4FF}
    .blk-adeia{background:var(--adeia)}
    .blk-adeia.blk-span{justify-content:flex-start;padding-left:.6rem}

    .roster__foot{
        display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1.15rem;
        padding-top:.9rem;margin-top:.85rem;border-top:1px solid var(--line);
    }
    .key{
        display:flex;align-items:center;gap:.42rem;
        font-family:var(--mono);font-size:.66rem;letter-spacing:.07em;color:var(--fg-dim);
    }
    .key i{width:10px;height:10px;flex:none;font-style:normal}
    .replay{
        margin-left:auto;background:none;border:1px solid var(--line-strong);color:var(--fg-dim);
        font-family:var(--mono);font-size:.68rem;letter-spacing:.09em;
        padding:.4rem .7rem;cursor:pointer;transition:color .16s,border-color .16s;
        white-space:nowrap;
    }
    .replay:hover{color:var(--fg);border-color:var(--fg)}
    .roster__cap{
        margin-top:.9rem;font-size:.82rem;color:var(--fg-dim);line-height:1.5;
    }

    /* ---------- ticker strip ---------- */
    .strip{border-block:1px solid var(--line);background:var(--ink-2)}
    .strip__in{
        display:flex;flex-wrap:wrap;gap:0;
        font-family:var(--mono);font-size:.71rem;letter-spacing:.11em;text-transform:uppercase;
        color:var(--fg-dim);
    }
    .strip__in span{
        padding:1.1rem clamp(.9rem,2.2vw,1.6rem);
        border-right:1px solid var(--line);flex:1 1 auto;text-align:center;white-space:nowrap;
    }
    .strip__in span:first-child{padding-left:0}
    .strip__in span:last-child{border-right:0}

    /* ---------- tabular feature rows ---------- */
    .rows{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
    .rows-2{grid-template-columns:repeat(2,1fr)}
    .row-item{
        border-top:1px solid var(--line);
        padding:1.6rem clamp(1rem,2vw,1.9rem) 1.9rem 0;
    }
    .act-paper .row-item{border-top-color:var(--line-ink)}
    .row-item h3{
        font-family:var(--sans);font-size:1.08rem;font-weight:600;line-height:1.3;
        margin:.9rem 0 .55rem;letter-spacing:-.005em;
    }
    .row-item p{font-size:.95rem;color:var(--fg-dim);font-weight:330}
    .act-paper .row-item p{color:var(--on-paper-dim)}
    .ico{width:22px;height:22px;stroke:var(--code,var(--adeia));stroke-width:1.5;fill:none;
         stroke-linecap:round;stroke-linejoin:round}

    /* ---------- workforce panels ---------- */
    .panels{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
            border:1px solid var(--line);margin-bottom:2.5rem}
    .panel{background:var(--ink);padding:clamp(1.5rem,3vw,2.4rem)}
    .panel h3{
        font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,2.4vw,2.1rem);
        line-height:1;margin:.9rem 0 .8rem;
    }
    .panel p{color:var(--fg-dim);font-size:.97rem}
    .checks{list-style:none;margin-top:1.4rem;display:grid;gap:.6rem}
    .checks li{
        display:flex;gap:.65rem;align-items:flex-start;
        font-size:.9rem;color:var(--fg);font-family:var(--mono);letter-spacing:.01em;
        font-weight:400;line-height:1.45;
    }
    .checks li::before{
        content:"";flex:none;width:8px;height:8px;margin-top:.42rem;
        background:var(--code,var(--proi));
    }

    /* ---------- stat rail ---------- */
    .stats{
        display:grid;grid-template-columns:repeat(4,1fr);
        border:1px solid var(--line);margin-top:2.5rem;
    }
    .stat{padding:1.6rem 1.2rem;border-right:1px solid var(--line)}
    .stat:last-child{border-right:0}
    .stat b{
        display:block;font-family:var(--display);font-weight:900;
        font-size:clamp(2.6rem,5vw,3.7rem);line-height:.9;color:var(--proi);
    }
    .stat span{
        display:block;margin-top:.5rem;font-family:var(--mono);font-size:.68rem;
        letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);line-height:1.5;
    }
    .stats-3{grid-template-columns:repeat(3,1fr)}
    .stats-teal .stat b{color:var(--adeia)}

    /* ---------- chips ---------- */
    .chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
    .chip{
        font-family:var(--mono);font-size:.7rem;letter-spacing:.07em;
        border:1px solid var(--line-strong);color:var(--fg-dim);padding:.4rem .7rem;
    }
    .act-paper .chip{border-color:var(--line-ink);color:var(--on-paper-dim)}

    /* ---------- shots ---------- */
    .shots{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
           border:1px solid var(--line);margin-top:2.5rem}
    .shot{
        position:relative;background:var(--ink);border:0;padding:0;cursor:zoom-in;
        display:block;width:100%;text-align:left;
    }
    .shot img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top left;
              opacity:.72;transition:opacity .22s ease}
    .shot:hover img{opacity:1}
    .shot figcaption{
        font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;color:var(--fg-dim);
        padding:.75rem .9rem;border-top:1px solid var(--line);
    }

    /* ---------- pricing ---------- */
    .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-ink);
           border:1px solid var(--line-ink)}
    .plan{background:var(--paper);padding:clamp(1.6rem,3vw,2.3rem);display:flex;flex-direction:column}
    .plan--feat{background:var(--ink);color:var(--fg)}
    .plan__name{
        font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
        color:var(--on-paper-dim);
    }
    .plan--feat .plan__name{color:var(--fg)}
    .plan__badge{
        font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
        color:var(--ink);background:var(--proi);align-self:flex-start;
        padding:.25rem .5rem;margin-bottom:.7rem;
    }
    .plan__price{
        font-family:var(--display);font-weight:900;font-size:clamp(3.2rem,6vw,4.4rem);
        line-height:1;margin:1rem 0 .2rem;letter-spacing:-.02em;
    }
    .plan__price sup{font-size:.36em;vertical-align:super;font-weight:800;margin-right:.06em}
    /* inline, so it can't push the figure onto its own line */
    .plan__from{
        font-family:var(--mono);font-size:.26em;letter-spacing:.14em;vertical-align:super;
        text-transform:uppercase;color:var(--on-paper-dim);font-weight:400;margin-right:.35em;
    }
    /* four-up: tighter cards, smaller figure */
    .plans-4{grid-template-columns:repeat(4,1fr)}
    .plans-4 .plan{
        --planpad:clamp(1.3rem,1.8vw,1.7rem);
        position:relative;padding:var(--planpad);
        /* reserve the badge slot in every card so all four prices align */
        padding-top:calc(var(--planpad) + 2.1rem);
    }
    .plans-4 .plan__badge{position:absolute;top:var(--planpad);left:var(--planpad);margin:0}
    .plans-4 .plan__price{font-size:clamp(2.6rem,3.6vw,3.3rem)}
    .plans-4 .plan li{font-size:.88rem}
    .plans-4 .plan ul{margin:1.3rem 0 1.7rem}
    .plans-4 .btn{font-size:.88rem;padding:.8rem 1rem}
    .guarantee + .guarantee{margin-top:.4rem}
    .plan-wide{
        display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,.8fr);
        gap:clamp(1.2rem,3vw,2.5rem);align-items:center;
        border:1px solid var(--line-ink);border-top:0;padding:clamp(1.4rem,2.4vw,2rem);
    }
    .plan-wide .plan__price{font-size:clamp(2.4rem,3.2vw,3rem);margin:.6rem 0 .2rem}
    .plan-wide .plan__inherit{margin-top:0}
    /* accountant / affiliate band */
    .partner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
             gap:clamp(2rem,5vw,4.5rem);align-items:center}
    .terms{display:grid;gap:0;border:1px solid var(--line)}
    .term{display:grid;grid-template-columns:6.5rem 1fr;gap:1.2rem;align-items:baseline;
          padding:1.3rem clamp(1rem,2vw,1.5rem);border-bottom:1px solid var(--line)}
    .term:last-child{border-bottom:0}
    .term dt{font-family:var(--display);font-weight:900;font-size:2.2rem;line-height:1;color:var(--proi)}
    .term dd{color:var(--fg-dim);font-size:.93rem;line-height:1.5;max-width:68ch}
    @media (max-width:900px){
        .partner{grid-template-columns:1fr}
        .term{grid-template-columns:1fr;gap:.4rem}
    }
    .plan-wide ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);
                  gap:.55rem 1.5rem;margin:.8rem 0 0}
    .plan-wide li{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;line-height:1.45}
    .plan-wide li::before{content:"";flex:none;width:7px;height:7px;margin-top:.5rem;background:var(--adeia)}
    @media (max-width:900px){
        .plan-wide{grid-template-columns:1fr;align-items:start}
        .plan-wide ul{grid-template-columns:1fr}
    }
    .plan__per{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--on-paper-dim)}
    .plan--feat .plan__per{color:var(--fg-dim)}
    .plan ul{list-style:none;margin:1.6rem 0 2rem;display:grid;gap:.6rem}
    .plan__inherit{
        font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;
        color:var(--on-paper-dim);margin-top:1.5rem;
    }
    .plan--feat .plan__inherit{color:var(--fg-dim)}
    .plan__inherit + ul{margin-top:.7rem}
    .plan li{
        display:flex;gap:.6rem;align-items:flex-start;font-size:.93rem;line-height:1.45;
    }
    .plan li::before{
        content:"";flex:none;width:7px;height:7px;margin-top:.5rem;background:var(--adeia);
    }
    .plan .btn{margin-top:auto}
    .plan--feat .btn-ghost{color:var(--fg);border-color:var(--line-strong)}
    .plan--feat .btn-ghost:hover{border-color:var(--fg);background:rgba(233,240,237,.06)}
    .guarantee{
        margin-top:1.6rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;
        color:var(--on-paper-dim);
    }

    /* ---------- quotes ---------- */
    .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
    .quote{border-top:1px solid var(--line-ink);padding:1.8rem clamp(1rem,2vw,2rem) 0 0}
    .quote p{font-size:1.02rem;line-height:1.55;letter-spacing:-.005em}
    .quote__who{display:flex;align-items:center;gap:.75rem;margin-top:1.4rem}
    .quote__ini{
        width:36px;height:36px;flex:none;display:grid;place-items:center;
        background:var(--ink);color:var(--paper);
        font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;
    }
    .quote__meta b{display:block;font-size:.9rem;font-weight:600}
    .quote__role{
        display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;
        color:var(--on-paper-dim);margin-top:.15rem;
    }

    /* ---------- contact ---------- */
    .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
    .field{display:flex;flex-direction:column;gap:.4rem}
    .field label{
        font-family:var(--mono);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;
        color:var(--on-paper-dim);
    }
    .field input,.field select,.field textarea{
        font-family:var(--sans);font-size:1rem;line-height:1.4;color:var(--on-paper);
        background:var(--white);border:1px solid var(--line-ink);border-radius:0;
        padding:.75rem .9rem;width:100%;appearance:none;-webkit-appearance:none;
    }
    .field select{
        background-image:linear-gradient(45deg,transparent 50%,var(--on-paper-dim) 50%),
                         linear-gradient(135deg,var(--on-paper-dim) 50%,transparent 50%);
        background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;
        background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.4rem;
    }
    .field textarea{resize:vertical;min-height:120px}
    .field input:focus,.field select:focus,.field textarea:focus{
        outline:2px solid var(--adeia);outline-offset:-1px;border-color:var(--adeia);
    }
    .span-2{grid-column:1 / -1}
    .contact-side dt{
        font-family:var(--mono);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;
        color:var(--on-paper-dim);margin-top:1.4rem;
    }
    .contact-side dd{font-size:1.05rem;font-weight:500;margin-top:.25rem}
    .contact-side a{text-decoration:none;border-bottom:1px solid var(--line-ink)}
    .contact-side a:hover{border-bottom-color:var(--on-paper)}

    /* ---------- footer ---------- */
    .foot{background:var(--ink);border-top:1px solid var(--line);padding-block:3.5rem 2.5rem}
    .foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
    .foot img{width:150px;height:32px;object-fit:cover;object-position:top center;margin-bottom:1.2rem}
    .foot p{color:var(--fg-dim);font-size:.93rem;max-width:38ch}
    .foot h4{
        font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;
        color:var(--fg);font-weight:500;margin-bottom:1rem;
    }
    .foot ul{list-style:none;display:grid;gap:.55rem}
    .foot ul a{color:var(--fg-dim);text-decoration:none;font-size:.92rem}
    .foot ul a:hover{color:var(--fg)}
    .foot__base{
        margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);
        display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;align-items:center;
        font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--fg-dim);
    }
    .foot__base a{color:var(--fg-dim);text-decoration:none;border-bottom:1px solid var(--line)}
    .foot__base a:hover{color:var(--fg)}
    .foot__base .sep{margin-left:auto}

    /* ---------- lightbox ---------- */
    .lb{
        position:fixed;inset:0;z-index:100;background:rgba(6,15,19,.94);
        display:none;place-items:center;padding:var(--gut);
    }
    .lb.is-open{display:grid}
    .lb img{max-width:min(1100px,100%);max-height:82vh;object-fit:contain;border:1px solid var(--line)}
    .lb figcaption{
        margin-top:1rem;text-align:center;font-family:var(--mono);font-size:.75rem;
        letter-spacing:.08em;color:var(--fg-dim);
    }
    .lb__close{
        position:absolute;top:1.2rem;right:1.2rem;background:none;border:1px solid var(--line-strong);
        color:var(--fg);width:42px;height:42px;font-size:1.2rem;cursor:pointer;line-height:1;
    }


    /* ---------- comparison: cells borrow the roster's block language ---------- */
    .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
                     overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
    .cmp-scroll{overflow-x:auto;scrollbar-width:thin}
    .cmp{width:100%;min-width:680px;border-collapse:collapse;border:1px solid var(--line)}
    .cmp th,.cmp td{padding:.8rem 1rem;border-bottom:1px solid var(--line);text-align:left}
    .cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
    .cmp thead th{
        font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
        font-weight:500;color:var(--fg-dim);vertical-align:bottom;line-height:1.5;
        text-align:center;width:15%;
    }
    .cmp thead th:first-child{width:40%}
    .cmp thead th.is-us{color:var(--ink);background:var(--adeia);font-weight:700}
    .cmp tbody th{font-weight:450;font-size:.95rem;color:var(--fg);line-height:1.4}
    .cmp td{text-align:center}
    .cmp td:last-child{background:rgba(31,184,156,.07)}
    .cmp tbody tr:hover th,.cmp tbody tr:hover td{background:rgba(233,240,237,.04)}
    .cmp tbody tr:hover td:last-child{background:rgba(31,184,156,.12)}
    .mark{display:inline-block;width:20px;height:20px;background:rgba(233,240,237,.07);font-style:normal}
    .mark-yes{background:var(--adeia)}
    .mark-part{background:transparent;border:1px solid var(--line-strong)}
    @media (max-width:720px){
        .cmp{min-width:0;border-left:0;border-right:0}
        .cmp thead{display:none}
        .cmp tbody,.cmp tbody tr,.cmp tbody th,.cmp tbody td{display:block}
        .cmp tbody tr{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;
                      padding:1rem 0;border-bottom:1px solid var(--line)}
        .cmp tbody th{grid-column:1 / -1;padding:0 0 .7rem;font-size:.95rem}
        .cmp tbody td{padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
        .cmp tbody td::before{
            content:attr(data-col);font-family:var(--mono);font-size:.62rem;
            letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);
        }
        .cmp tbody td:last-child{background:transparent}
        .cmp tbody td:last-child::before{color:var(--adeia)}
        .cmp tbody tr:hover th,.cmp tbody tr:hover td{background:transparent}
    }
    .cmp-key{display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;margin-top:1.2rem}
    .cmp-key .mark{width:12px;height:12px}

    /* ---------- risk reversal ---------- */
    .assure{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
            border:1px solid var(--line-ink);border-top:0}
    .assure div{padding:1.4rem clamp(1rem,2vw,1.6rem);border-right:1px solid var(--line-ink)}
    .assure div:last-child{border-right:0}
    .assure b{display:block;font-family:var(--sans);font-weight:600;font-size:1rem;margin-bottom:.35rem}
    .assure p{font-size:.9rem;color:var(--on-paper-dim);line-height:1.5}
    @media (max-width:860px){
        .assure{grid-template-columns:1fr}
        .assure div{border-right:0;border-bottom:1px solid var(--line-ink)}
        .assure div:last-child{border-bottom:0}
    }

    /* ---------- reveal ---------- */
    /* scoped to .js so the page is fully visible if scripts never run */
    .js .rv{opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}
    .js .rv.in{opacity:1;transform:none}

    /* ---------- responsive ---------- */
    @media (max-width:1040px){
        /* minmax(0,…) stops the roster's min-width blowing out the column */
        .hero__grid{grid-template-columns:minmax(0,1fr);gap:2.8rem}
        .rows{grid-template-columns:repeat(2,1fr)}
        .plans-4{grid-template-columns:repeat(2,1fr)}
        .shots{grid-template-columns:1fr 1fr}
        .foot__grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width:860px){
        .nav__links{display:none}
        .burger{display:flex;margin-left:auto;order:2}
        .nav__logo img{width:104px;height:22px}
        .nav__in{gap:.6rem}
        .nav__cta{padding:.5rem .8rem;font-size:.82rem}
        .nav.is-open .nav__links{
            display:grid;position:absolute;top:70px;left:0;right:0;
            background:var(--ink);border-bottom:1px solid var(--line);
            padding:1.2rem var(--gut) 1.8rem;gap:1.1rem;margin:0;
        }
        .nav.is-open .nav__links a{font-size:1.05rem;color:var(--fg)}
        .nav__tools{margin-left:0;order:3}
        .panels,.plans,.plans-4,.quotes,.stats,.rows,.shots,.form-grid{grid-template-columns:1fr}
        .stats{grid-template-columns:repeat(2,1fr)}
        .stat{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
        .stat:nth-child(2n){border-right:0}
        .plans,.panels{gap:1px}
        .quote{padding-right:0}
        .strip__in span{flex:1 1 45%;text-align:left;padding-left:0;border-right:0;
                        border-bottom:1px solid var(--line)}
        .rail{background-size:calc(100% / 3) 100%}
    }
    @media (max-width:520px){
        .stats{grid-template-columns:1fr}
        .stat{border-right:0}
        .hero__actions .btn{width:100%}
        .roster__grid{grid-template-columns:5rem repeat(7,minmax(46px,1fr));min-width:440px}
        .roster__name{font-size:.63rem}
        .roster__fade{display:block}
        .replay{margin-left:0}
    }

    @media (prefers-reduced-motion:reduce){
        .roster .blk{opacity:1!important;transform:none!important;animation:none!important}
        .js .rv{opacity:1;transform:none;transition:none}
        .shot img{transition:none}
    }
