/* ─────────────────────────────────────────────────────────────────────────────
   Home page: editorial and type-led, with no decorative graphics at all.

   The previous version leaned on a particle-mesh canvas, a fake terminal and a
   chat mockup — the visual vocabulary nearly every generated landing page
   shares, which is exactly why it read as one. This carries its weight in
   typography, rules and specifics instead. Deliberately self-contained rather
   than extending site.css: the inner pages keep that system, and this page is a
   different animal.
   ───────────────────────────────────────────────────────────────────────────── */
:root{
  --paper:#FCFBF8; --ink:#111110; --rule:#1A1917; --hair:#E6E2D8;
  --dim:#5C5A54; --faint:#8B8880; --mark:#C2410C;
  --font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);
     -webkit-font-smoothing:antialiased;line-height:1.6}
h1,h2{margin:0;text-wrap:balance}
p{margin:0}
a:focus-visible{outline:2px solid var(--mark);outline-offset:3px}
.shell{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}

.topbar{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:40}
.topbar .shell{display:flex;align-items:baseline;gap:30px;padding-top:20px;padding-bottom:18px}
.wordmark{font:700 19px/1 var(--font);letter-spacing:-.045em;text-decoration:none;color:var(--ink)}
.wordmark span{color:var(--mark)}
.topbar nav{margin-left:auto;display:flex;gap:28px;align-items:baseline;font-size:14px}
.topbar nav a{color:var(--dim);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
.topbar nav a:hover{color:var(--ink);border-bottom-color:var(--mark)}
@media(max-width:760px){.topbar nav a.opt{display:none}}

.statement{padding:clamp(64px,11vw,148px) 0 clamp(40px,6vw,72px);border-bottom:1px solid var(--rule)}
.statement h1{font-size:clamp(40px,7.2vw,104px);line-height:.96;letter-spacing:-.045em;
              font-weight:700;max-width:15ch}
.statement h1 i{font-style:normal;color:var(--mark)}
.statement .sub{margin-top:clamp(26px,3.5vw,44px);display:grid;gap:30px;
                grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:end}
@media(max-width:820px){.statement .sub{grid-template-columns:1fr}}
.statement p{font-size:clamp(16px,1.55vw,19.5px);line-height:1.62;color:var(--dim);max-width:56ch}
.actions{display:flex;gap:26px;align-items:baseline;flex-wrap:wrap}
.go{font-size:16px;font-weight:600;text-decoration:none;color:var(--ink);
    border-bottom:2px solid var(--mark);padding-bottom:3px}
.go:hover{color:var(--mark)}
.go.quiet{border-bottom-color:#D6D2C8;font-weight:500;color:var(--dim)}
.go.quiet:hover{color:var(--ink);border-bottom-color:var(--ink)}

/* The product as a specification, not as feature cards. */
.spec{border-bottom:1px solid var(--rule)}
.spec-row{display:grid;grid-template-columns:5.5rem minmax(0,22ch) minmax(0,1fr);
          gap:clamp(20px,4vw,56px);padding:clamp(28px,4vw,46px) 0;
          border-bottom:1px solid var(--hair);align-items:start}
.spec-row:last-child{border-bottom:0}
@media(max-width:860px){
  .spec-row{grid-template-columns:3.2rem minmax(0,1fr)}
  .spec-row .detail{grid-column:2/-1}
}
.spec-row .idx{font:500 12px/1.5 var(--mono);color:var(--faint);letter-spacing:.08em;padding-top:6px}
.spec-row h2{font-size:clamp(21px,2.3vw,29px);line-height:1.14;letter-spacing:-.03em;font-weight:650}
.spec-row h2 a{text-decoration:none;color:inherit;border-bottom:1px solid #D6D2C8}
.spec-row h2 a:hover{border-bottom-color:var(--mark);color:var(--mark)}
.spec-row .detail p{font-size:15.5px;line-height:1.68;color:var(--dim);max-width:62ch}
.spec-row .detail p + p{margin-top:13px}
.spec-row .detail b{color:var(--ink);font-weight:600}

.position{padding:clamp(56px,8vw,104px) 0;border-bottom:1px solid var(--rule)}
.position .two{display:grid;gap:clamp(28px,5vw,72px);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
@media(max-width:860px){.position .two{grid-template-columns:1fr}}
.position h2{font-size:clamp(26px,3.2vw,40px);line-height:1.1;letter-spacing:-.035em;max-width:18ch}
.position p{font-size:16px;line-height:1.68;color:var(--dim);max-width:60ch}
.position p + p{margin-top:15px}
.grid-table{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:8px}
.grid-table th,.grid-table td{text-align:left;padding:13px 14px 13px 0;
                              border-bottom:1px solid var(--hair);vertical-align:top}
.grid-table thead th{font:600 11px var(--mono);letter-spacing:.11em;text-transform:uppercase;
                     color:var(--faint);padding-bottom:10px}
.grid-table tbody th{font-weight:600;color:var(--ink);width:34%}
.grid-table td{color:var(--dim)}
.grid-table td.mine{color:var(--ink);font-weight:600}
.grid-table td.mine::before{content:"→ ";color:var(--mark)}
.tbl-wrap{overflow-x:auto}

.closing{padding:clamp(56px,8vw,110px) 0}
.closing h2{font-size:clamp(28px,4.2vw,58px);line-height:1.04;letter-spacing:-.04em;max-width:17ch}
.closing p{margin-top:20px;font-size:17px;color:var(--dim);max-width:52ch;line-height:1.62}
.closing .actions{margin-top:32px}

.endnote{border-top:1px solid var(--rule);padding:34px 0 46px;display:flex;gap:14px 40px;
         flex-wrap:wrap;font-size:13.5px;color:var(--faint)}
.endnote a{color:var(--dim);text-decoration:none}
.endnote a:hover{color:var(--ink)}
.endnote .grow{flex:1}

/* ── inner pages ──────────────────────────────────────────────────────────── */
/* Page opener: the same typographic register as home, at a smaller scale. A
   visitor here already knows what the company is and wants a specific answer. */
.opener{padding:clamp(48px,7vw,96px) 0 clamp(32px,4vw,56px);border-bottom:1px solid var(--rule)}
.opener .crumb{font:500 12px var(--mono);letter-spacing:.07em;color:var(--faint);margin-bottom:22px}
.opener .crumb a{color:var(--dim);text-decoration:none}
.opener .crumb a:hover{color:var(--ink)}
.opener h1{font-size:clamp(32px,5.4vw,68px);line-height:1.0;letter-spacing:-.042em;max-width:17ch}
.opener p{margin-top:24px;font-size:clamp(15.5px,1.5vw,18.5px);line-height:1.62;
          color:var(--dim);max-width:62ch}

/* Capability block: prose left, screenshot right, alternating. */
.block{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:clamp(20px,4vw,56px);
       padding:clamp(40px,5.5vw,72px) 0;border-bottom:1px solid var(--hair)}
.block:last-of-type{border-bottom:0}
@media(max-width:860px){.block{grid-template-columns:3.2rem minmax(0,1fr)}}
.block .idx{font:500 12px/1.5 var(--mono);color:var(--faint);letter-spacing:.08em;padding-top:7px}
.block-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
            gap:clamp(24px,4vw,52px);align-items:start}
@media(max-width:1000px){.block-body{grid-template-columns:1fr}}
.block h2{font-size:clamp(23px,2.7vw,34px);line-height:1.1;letter-spacing:-.033em;margin-bottom:16px}
.block p{font-size:15.5px;line-height:1.68;color:var(--dim);max-width:60ch}
.block p + p{margin-top:13px}
.block b{color:var(--ink);font-weight:600}
.block .claims{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:11px}
.block .claims li{font-size:14.5px;line-height:1.6;color:var(--dim);padding-left:18px;position:relative}
.block .claims li::before{content:"—";position:absolute;left:0;color:var(--mark)}
.block .claims b{color:var(--ink)}

/* Screenshot frame. Holds 16:10 while empty so dropping a real image in does not reflow. */
figure.shot{margin:0;border:1px solid var(--rule);background:#fff}
figure.shot img{display:block;width:100%;height:auto}
figure.shot .empty{aspect-ratio:16/10;display:grid;place-items:center;text-align:center;padding:22px;
                   background:repeating-linear-gradient(45deg,#FAF8F4,#FAF8F4 11px,#F1EDE4 11px,#F1EDE4 22px);
                   color:var(--faint);font:500 12.5px/1.7 var(--mono)}
figure.shot figcaption{padding:11px 14px;border-top:1px solid var(--hair);font-size:13px;
                       color:var(--dim);line-height:1.5}

/* Plans */
.plans{display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
@media(max-width:900px){.plans{grid-template-columns:1fr}}
.plan{padding:clamp(28px,3.5vw,42px) clamp(20px,2.4vw,34px);border-right:1px solid var(--hair);
      border-bottom:1px solid var(--hair)}
.plan:last-child{border-right:0}
@media(max-width:900px){.plan{border-right:0}}
.plan.pick{background:#FBF6EF}
.plan .name{font-size:20px;font-weight:650;letter-spacing:-.02em}
.plan .who{margin-top:6px;font-size:14px;color:var(--faint);min-height:40px}
.plan .amt{margin:22px 0 4px;font-size:44px;font-weight:700;letter-spacing:-.04em;
           font-variant-numeric:tabular-nums;line-height:1}
.plan .amt small{font-size:14px;font-weight:500;color:var(--faint);letter-spacing:0}
.plan .terms{font-size:12.5px;color:var(--faint)}
.plan ul{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:10px;font-size:14.5px;
         color:var(--dim);line-height:1.55}
.plan li{padding-left:18px;position:relative}
.plan li::before{content:"—";position:absolute;left:0;color:var(--mark)}
.plan li b{color:var(--ink);font-weight:600}

/* Q&A: rules, not accordions with plus signs. */
.qa{display:grid;gap:0;border-top:1px solid var(--rule);max-width:96ch}
.qa .q{display:grid;grid-template-columns:minmax(0,24ch) minmax(0,1fr);gap:clamp(20px,4vw,52px);
       padding:26px 0;border-bottom:1px solid var(--hair);align-items:start}
@media(max-width:820px){.qa .q{grid-template-columns:1fr;gap:10px}}
.qa h3{margin:0;font-size:16.5px;font-weight:650;letter-spacing:-.018em;line-height:1.35}
.qa p{margin:0;font-size:15px;line-height:1.68;color:var(--dim);max-width:62ch}

/* Principles grid on Company */
.principles{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
            border-top:1px solid var(--rule)}
.principles > div{padding:clamp(24px,3vw,34px) clamp(20px,2.4vw,32px) clamp(28px,3.4vw,38px);
                  border-right:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.principles h3{margin:0 0 9px;font-size:16.5px;font-weight:650;letter-spacing:-.018em;line-height:1.3}
.principles p{margin:0;font-size:14.5px;line-height:1.65;color:var(--dim)}
