/* LTAB AI — subpage components (Testing, Developments, Work) */
:root{ --pass:#16A34A; --warn:#F59E0B; --crit:#DC2626; --blocked:#64748B; }
/* subpages: body theme only drives the header; sections keep their own colours */
body.sub{background:var(--paper)!important;color:var(--ink)!important}
body.sub .lede{color:var(--muted)}
body.sub .eyebrow{color:var(--muted)}
body.sub .dark .lede,body.sub .dark .eyebrow{color:var(--muted-d)}
body.sub .btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
body.sub .dark .btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
body.sub[data-theme="dark"] .hdr{color:#f3f1ec}
.sub-hero{padding-top:150px;padding-bottom:90px}
.sub-hero h1{font-size:clamp(52px,8.4vw,132px);margin:22px 0 26px}
.crumb{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;color:var(--muted-d);display:flex;gap:8px;align-items:center}
.crumb a:hover{color:var(--orange)}
body[data-theme="light"] .crumb{color:var(--muted)}
.dark{background:var(--ink);color:#f3f1ec}
.dark .lede,.dark .muted{color:var(--muted-d)}
.dark .eyebrow{color:var(--muted-d)}
.muted{color:var(--muted)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:52px}
.sec-head .lede{max-width:46ch}
.two{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}
.card{background:var(--white);border-radius:var(--r-lg);padding:clamp(24px,2.6vw,36px)}
.dark .card{background:#1b1b1b;border:1px solid var(--line-d)}
.sample-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--pill);border:1.5px dashed currentColor;opacity:.75}

/* L-capsule decoration (from logo) */
.lcap{position:absolute;pointer-events:none}
.lcap i{position:absolute;border-radius:var(--pill);background:var(--orange)}
.lcap i:nth-child(1){width:var(--w);height:calc(var(--w)*2.6);left:0;top:0}
.lcap i:nth-child(2){height:var(--w);width:calc(var(--w)*2.4);left:calc(var(--w)*.18);top:calc(var(--w)*1.6);background:var(--orange-deep);transform:translateX(var(--split,0))}

/* release readiness panel */
.rr{background:#1b1b1b;border:1px solid var(--line-d);border-radius:var(--r-lg);overflow:hidden;color:#f3f1ec}
.rr-top{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line-d)}
.rr-top b{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em}
.rr-body{padding:24px 22px;display:grid;gap:18px}
.rr-row{display:grid;grid-template-columns:70px 1fr 90px;gap:14px;align-items:center}
.rr-row .n{font-family:var(--f-display);font-weight:800;font-size:44px;letter-spacing:-.04em;line-height:1}
.rr-row .bar{height:10px;border-radius:10px;background:#2a2a2a;overflow:hidden}
.rr-row .bar i{display:block;height:100%;border-radius:10px;width:0;transition:width 1.4s var(--ease)}
.rr-row .l{font-weight:700;font-size:14px;text-align:right}
.rr-alert{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:rgba(220,38,38,.12);color:#fca5a5;font-weight:600;font-size:15px}
.rr-alert .d{width:10px;height:10px;border-radius:50%;background:var(--crit);flex:none;animation:ping2 1.8s infinite}
@keyframes ping2{0%{box-shadow:0 0 0 0 rgba(220,38,38,.6)}80%,100%{box-shadow:0 0 0 10px rgba(220,38,38,0)}}
.rr-tabs{display:flex;gap:6px;padding:0 22px 22px}
.rr-tabs button{flex:1;height:40px;border-radius:var(--pill);border:1.5px solid #333;font-weight:700;font-size:13px}
.rr-tabs button.on{background:var(--orange);border-color:var(--orange);color:#fff}

/* trust strip */
.trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}
.trust span{padding:9px 16px;border-radius:var(--pill);border:1.5px solid var(--line-d);font-size:14px;font-weight:600}

/* personas */
.personas{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pers{background:var(--white);border-radius:var(--r);padding:22px;text-align:left;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;
  border:2px solid transparent;transition:all .3s var(--ease)}
.pers .who{font-family:var(--f-mono);font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.pers h4{font-family:var(--f-display);font-weight:800;font-size:26px;letter-spacing:-.03em;line-height:1}
.pers p{font-size:15px;color:var(--muted);max-height:0;opacity:0;overflow:hidden;transition:all .4s var(--ease)}
.pers .tap{font-family:var(--f-mono);font-size:11px;color:var(--orange)}
.pers.on{border-color:var(--orange)}
.pers.on p{max-height:140px;opacity:1}
.pers.on .tap{display:none}

/* checks grid */
.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.chk{background:var(--white);border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;gap:14px;min-height:280px;transition:transform .3s var(--ease)}
.chk:hover{transform:translateY(-4px)}
.chk .n{font-family:var(--f-mono);font-size:12px;color:var(--orange)}
.chk h4{font-family:var(--f-display);font-weight:800;font-size:28px;letter-spacing:-.03em;line-height:1}
.chk p{color:var(--muted);font-size:15.5px}
.chk ul{list-style:none;margin-top:auto;display:grid;gap:6px;padding-top:16px;border-top:1px solid var(--line)}
.chk li{font-size:14px;font-weight:600;display:flex;gap:8px;align-items:center}
.chk li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);flex:none}
.note{font-size:14px;color:var(--muted);margin-top:18px}

/* flagship */
.flag{background:var(--orange);color:#fff;border-radius:var(--r-lg);padding:clamp(30px,4vw,60px);display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.flag h3{font-family:var(--f-display);font-weight:800;font-size:clamp(40px,5vw,76px);letter-spacing:-.04em;line-height:.92}
.flag p{font-size:18px;opacity:.92;max-width:44ch}
.flag .btn{background:#fff;color:var(--ink)}
.flag .btn:hover{background:var(--ink);color:#fff}
.flag ol{list-style:none;display:grid;gap:10px;counter-reset:f}
.flag li{background:rgba(255,255,255,.14);border-radius:16px;padding:16px 18px;font-weight:600;display:grid;grid-template-columns:34px 1fr;gap:10px}
.flag li b{font-family:var(--f-mono);font-size:12px;padding-top:3px}

/* process stepper */
.proc{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:28px}
.proc button{height:64px;border-radius:16px;background:#1b1b1b;border:1px solid var(--line-d);font-weight:700;font-size:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .25s var(--ease)}
.proc button span{font-family:var(--f-mono);font-size:10.5px;color:var(--muted-d);font-weight:500}
.proc button.done{border-color:rgba(255,106,0,.45)}
.proc button.on{background:var(--orange);border-color:var(--orange);color:#fff}
.proc button.on span{color:rgba(255,255,255,.8)}
.proc-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.proc-panel .card{min-height:220px}
.proc-panel h4{font-family:var(--f-display);font-weight:800;font-size:clamp(30px,3vw,46px);letter-spacing:-.03em;line-height:1;margin:10px 0 14px}
.proc-panel .k{font-family:var(--f-mono);font-size:12px;color:var(--muted-d);letter-spacing:.08em;text-transform:uppercase}
.proc-panel ul{list-style:none;display:grid;gap:10px;margin-top:12px}
.proc-panel li{display:flex;gap:10px;font-size:16px}
.proc-panel li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange);margin-top:8px;flex:none}
.fade{animation:rise .45s var(--ease)}

/* audiences */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.aud .card{display:flex;flex-direction:column;gap:14px}
.aud .who{font-family:var(--f-mono);font-size:12px;color:var(--orange);letter-spacing:.08em;text-transform:uppercase}
.aud h4{font-family:var(--f-display);font-weight:800;font-size:32px;letter-spacing:-.03em;line-height:1}
.aud ul{list-style:none;display:grid;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.aud li{font-weight:600;font-size:14.5px}

/* packages */
.pk-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.pk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pk{background:var(--white);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:16px;border:2px solid transparent;position:relative;transition:all .3s var(--ease)}
.pk:hover{border-color:var(--orange)}
.pk.pop{background:var(--ink);color:#fff}
.pk .badge{position:absolute;top:20px;right:20px;font-family:var(--f-mono);font-size:11px;padding:4px 10px;border-radius:var(--pill);background:var(--orange);color:#fff}
.pk h4{font-family:var(--f-display);font-weight:800;font-size:26px;letter-spacing:-.03em;line-height:1;padding-right:70px}
.pk .price{font-family:var(--f-display);font-weight:800;font-size:46px;letter-spacing:-.04em;line-height:1}
.pk .price small{font-family:var(--f-body);font-size:13px;font-weight:600;letter-spacing:0;color:var(--muted);display:block;margin-top:6px}
.pk.pop .price small,.pk.pop p{color:var(--muted-d)}
.pk p{font-size:15px;color:var(--muted)}
.pk ul{list-style:none;display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.pk.pop ul{border-color:var(--line-d)}
.pk li{font-size:14.5px;font-weight:600;display:flex;gap:8px}
.pk li:before{content:"";width:12px;height:7px;border-left:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(-45deg);margin-top:4px;flex:none}
.pk .btn{margin-top:auto;justify-content:center;height:48px}
.pk-note{font-size:14px;color:var(--muted);margin-top:18px;max-width:90ch}

/* sample report */
.rep{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px}
.rep-list{display:grid;gap:8px;align-content:start}
.rep-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;border-radius:16px;background:#1b1b1b;border:1px solid var(--line-d);text-align:left;transition:all .25s}
.rep-item.on{border-color:var(--orange);background:#221a14}
.rep-item b{font-size:16px}
.rep-item small{display:block;color:var(--muted-d);font-size:13px;margin-top:3px}
.rep-item .tap{font-family:var(--f-mono);font-size:16px;color:var(--muted-d);flex:none;transition:transform .25s var(--ease)}
.rep-item.on .tap{color:var(--orange);transform:translateX(3px)}
.sev{font-family:var(--f-mono);font-size:11px;padding:4px 10px;border-radius:var(--pill);font-weight:500;white-space:nowrap}
.sev.high{background:rgba(220,38,38,.16);color:#fca5a5}
.sev.ok{background:rgba(22,163,74,.16);color:#86efac}
.sev.rev{background:rgba(245,158,11,.16);color:#fcd34d}
.sev.nc{background:rgba(100,116,139,.22);color:#cbd5e1}
.rep-detail{background:#f6f5f1;color:var(--ink);border-radius:var(--r-lg);padding:clamp(24px,3vw,40px);min-height:420px}
.rep-detail h4{font-family:var(--f-display);font-weight:800;font-size:clamp(26px,2.6vw,38px);letter-spacing:-.03em;line-height:1.02;margin:14px 0 20px}
.rep-detail dl{display:grid;grid-template-columns:150px 1fr;gap:0}
.rep-detail dt,.rep-detail dd{padding:14px 0;border-top:1px solid var(--line);font-size:15.5px}
.rep-detail dt{font-family:var(--f-mono);font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding-top:17px}
.rep-detail .sev.high{background:#fee2e2;color:#b91c1c}
.rep-detail .sev.ok{background:#dcfce7;color:#15803d}
.rep-detail .sev.rev{background:#fef3c7;color:#b45309}
.rep-detail .sev.nc{background:#e2e8f0;color:#475569}

/* boundaries */
.bound{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bound ul{list-style:none;display:grid;gap:0;margin-top:20px}
.bound li{padding:14px 0;border-top:1px solid var(--line);display:flex;gap:12px;font-size:16px}
.bound .yes li:before{content:"";width:12px;height:7px;border-left:2.5px solid var(--pass);border-bottom:2.5px solid var(--pass);transform:rotate(-45deg);margin-top:6px;flex:none}
.bound .no li:before{content:"";width:12px;height:2.5px;background:var(--muted);margin-top:11px;flex:none}
.bound h4{font-family:var(--f-display);font-weight:800;font-size:30px;letter-spacing:-.03em}

/* roles */
.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.role{border-top:2px solid var(--ink);padding-top:18px}
.role h5{font-family:var(--f-display);font-weight:800;font-size:24px;letter-spacing:-.02em;margin-bottom:8px}
.role p{color:var(--muted);font-size:15px}

/* glossary chips */
.gloss{display:flex;flex-wrap:wrap;gap:8px}
.gloss button{height:44px;padding:0 18px;border-radius:var(--pill);border:1.5px solid var(--line);font-weight:700;font-size:14.5px;transition:all .2s}
.gloss button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.gloss-out{margin-top:18px;font-size:clamp(20px,1.8vw,26px);font-family:var(--f-display);font-weight:700;letter-spacing:-.02em;line-height:1.2;max-width:40ch;min-height:3.6em}

/* FAQ */
.faq{display:grid;gap:0}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-family:var(--f-display);font-weight:700;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);flex:none;position:relative;transition:all .3s}
.faq summary i:before,.faq summary i:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:currentColor;transform:translate(-50%,-50%);transition:transform .3s}
.faq summary i:after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i{background:var(--orange);border-color:var(--orange);color:#fff}
.faq details[open] summary i:after{transform:translate(-50%,-50%) rotate(0)}
.faq details p{padding:0 0 24px;color:var(--muted);max-width:70ch}

/* QA intake form (light card variant of lab) */
.intake{background:#1b1b1b;border:1px solid var(--line-d);border-radius:var(--r-lg);padding:clamp(24px,3vw,44px)}
.intake .row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.intake label{display:block;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-d);margin:18px 0 10px}
.intake input,.intake textarea{width:100%;background:#111;border:1.5px solid #333;border-radius:var(--r);color:#fff;font:inherit;font-size:17px;padding:16px 18px;outline:none;transition:border .2s,box-shadow .2s;resize:none}
.intake input:focus,.intake textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,106,0,.18)}
.intake .phone{margin-top:0}
.intake .chips .chip{height:42px;font-size:14px}
.intake .submit{margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.intake .err{color:var(--orange);font-size:14px}
.intake-done{text-align:center;padding:40px 10px;display:none}
.intake.sent form{display:none}
.intake.sent .intake-done{display:block;animation:rise .5s var(--ease)}

/* ---------- developments page ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{height:44px;padding:0 18px;border-radius:var(--pill);border:1.5px solid var(--line);font-weight:700;font-size:14.5px;transition:all .2s}
.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.filters button .c{font-family:var(--f-mono);font-size:11px;opacity:.55;margin-left:6px}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.post{background:var(--white);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:transform .3s var(--ease);text-align:left}
.post:hover{transform:translateY(-4px)}
.post .viz{aspect-ratio:16/10;background:repeating-linear-gradient(135deg,rgba(18,18,18,.045) 0 1px,transparent 1px 12px),#ecebe6;display:flex;align-items:flex-end;padding:16px;font-family:var(--f-mono);font-size:11px;color:var(--muted);position:relative}
.post .viz .live{position:absolute;top:14px;left:14px;font-family:var(--f-mono);font-size:11px;padding:4px 10px;border-radius:var(--pill);background:var(--orange);color:#fff}
.post .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.post .meta{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.post h3{font-family:var(--f-display);font-weight:800;font-size:25px;letter-spacing:-.03em;line-height:1.05}
.post p{color:var(--muted);font-size:15px}
.post.big{grid-column:span 2;background:var(--ink);color:#fff}
.post.big .viz{aspect-ratio:auto;flex:1;min-height:280px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 1px,transparent 1px 12px),#1d1d1d;color:var(--muted-d)}
.post.big h3{font-size:clamp(28px,3vw,42px)}
.post.big p,.post.big .meta{color:var(--muted-d)}
.post.hidden{display:none}

/* reader overlay */
.reader{position:fixed;inset:0;z-index:80;background:rgba(18,18,18,.6);display:none;justify-content:flex-end}
.reader.open{display:flex}
.reader-panel{width:min(760px,100%);height:100%;background:var(--paper);overflow:auto;padding:clamp(24px,4vw,56px);animation:slidein .45s var(--ease)}
@keyframes slidein{from{transform:translateX(40px);opacity:0}}
.reader-close{position:sticky;top:0;float:right;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;font-size:22px;font-weight:700;z-index:2}
.reader h2{font-family:var(--f-display);font-weight:800;font-size:clamp(34px,4vw,56px);letter-spacing:-.04em;line-height:.98;margin:18px 0 22px;clear:both}
.reader .rbody p{font-size:18px;line-height:1.65;margin-bottom:18px;max-width:62ch}
.reader .rbody h4{font-family:var(--f-display);font-weight:800;font-size:26px;letter-spacing:-.02em;margin:34px 0 12px}
.reader .demo{background:var(--white);border-radius:var(--r-lg);padding:24px;margin:28px 0}
.reader .demo .dl{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.flow .node{padding:12px 16px;border-radius:14px;background:var(--paper);font-weight:700;font-size:14px;border:2px solid transparent;transition:all .3s}
.flow .node.on{background:var(--orange);color:#fff}
.flow .sep{width:18px;height:2px;background:var(--line)}
.chat{display:grid;gap:8px;max-width:440px}
.chat .m{padding:12px 16px;border-radius:18px;font-size:15px;max-width:85%;animation:rise .35s var(--ease)}
.chat .m.u{background:var(--paper);justify-self:start;border-bottom-left-radius:6px}
.chat .m.a{background:var(--orange);color:#fff;justify-self:end;border-bottom-right-radius:6px}
.reader .stack{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}
.reader .stack span{font-family:var(--f-mono);font-size:12px;padding:6px 12px;border-radius:var(--pill);background:var(--white)}

/* ---------- work archive ---------- */
.work-tools{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.search{height:48px;border-radius:var(--pill);border:1.5px solid var(--line);background:var(--white);padding:0 20px;font:inherit;font-size:15px;min-width:260px;outline:none}
.search:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,106,0,.14)}
.view-tg{display:inline-flex;padding:5px;border-radius:var(--pill);background:rgba(18,18,18,.06)}
.view-tg button{height:38px;padding:0 16px;border-radius:var(--pill);font-weight:700;font-size:14px}
.view-tg button.on{background:var(--ink);color:#fff}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.wcard{border-radius:var(--r-lg);overflow:hidden;background:var(--white);transition:transform .3s var(--ease);cursor:pointer;text-align:left;display:flex;flex-direction:column}
.wcard:hover{transform:translateY(-4px)}
.wcard .shot{aspect-ratio:4/3;background:repeating-linear-gradient(135deg,rgba(18,18,18,.045) 0 1px,transparent 1px 12px),#ecebe6;display:flex;align-items:flex-end;padding:16px;font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.wcard .info{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px}
.wcard .info h3{font-family:var(--f-display);font-weight:800;font-size:24px;letter-spacing:-.03em;line-height:1.05}
.wcard .tags{display:flex;gap:6px;flex-wrap:wrap}
.wcard .tags span{font-size:12px;font-weight:700;padding:5px 10px;border-radius:var(--pill);background:var(--paper)}
.wcard .tags span.rg{background:var(--orange-soft);color:var(--orange-deep)}
.wgrid.list{grid-template-columns:1fr;gap:0}
.wgrid.list .wcard{flex-direction:row;align-items:center;border-radius:0;background:transparent;border-top:1px solid var(--line);padding:16px 0}
.wgrid.list .wcard:hover{transform:none;background:rgba(255,106,0,.05)}
.wgrid.list .shot{width:120px;aspect-ratio:4/3;border-radius:12px;flex:none;font-size:0;padding:0}
.wgrid.list .info{flex-direction:row;align-items:center;justify-content:space-between;flex:1;padding:0 0 0 20px;gap:20px}
.wcount{font-family:var(--f-mono);font-size:13px;color:var(--muted);margin-top:22px}
.load-more{display:flex;justify-content:center;margin-top:34px}

/* ---------- testing types ---------- */
.ttypes{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:12px}
.ttype{background:var(--white);border-radius:var(--r-lg);padding:26px 24px;display:flex;flex-direction:column;gap:14px;min-height:360px;transition:transform .3s var(--ease)}
.ttype:hover{transform:translateY(-4px)}
.ttype .n{font-family:var(--f-mono);font-size:12px;color:var(--orange)}
.ttype h4{font-family:var(--f-display);font-weight:800;font-size:27px;letter-spacing:-.03em;line-height:1.02}
.ttype p{font-size:15.5px;color:var(--muted)}
.ttype .why{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:6px}
.ttype .why b{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.ttype .why span{font-size:14.5px;font-weight:600}
.ttypes2{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.t2{background:var(--white);border-radius:var(--r);padding:24px;display:grid;gap:10px;min-height:190px;align-content:start}
.t2 h4{font-family:var(--f-display);font-weight:800;font-size:23px;letter-spacing:-.025em;line-height:1}
.t2 p{font-size:15px;color:var(--muted)}

/* ---------- what we check ---------- */
.chk2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chk2 .card{display:flex;flex-direction:column}
.chk2 .k{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);margin-bottom:20px}
.plain{list-style:none;display:grid;gap:0}
.plain li{padding:15px 0;border-top:1px solid var(--line-d);font-size:16.5px;display:flex;gap:12px;align-items:flex-start}
.plain li:first-child{border-top:0}
.plain li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange);margin-top:9px;flex:none}
.dark .plain li{border-color:var(--line-d)}
.only{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;margin-top:90px;padding-top:70px;border-top:1px solid var(--line-d)}
.only h3{font-family:var(--f-display);font-weight:800;font-size:clamp(34px,4.4vw,64px);letter-spacing:-.035em;line-height:.98}
.only-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.oc{background:#1b1b1b;border:1px solid var(--line-d);border-radius:var(--r);padding:22px;display:grid;gap:8px;align-content:start;min-height:150px}
.oc b{font-family:var(--f-display);font-weight:800;font-size:20px;letter-spacing:-.02em}
.oc span{font-size:14.5px;color:var(--muted-d)}

/* ---------- flagship extras ---------- */
.lab-note{margin-top:20px;background:var(--white);border-radius:var(--r-lg);padding:clamp(26px,3vw,44px)}
.lab-chips{display:flex;flex-wrap:wrap;gap:8px;align-content:start}
.lab-chips span{padding:9px 16px;border-radius:var(--pill);border:1.5px solid var(--line);font-size:14px;font-weight:600;color:var(--muted)}
.lc-head{margin:90px 0 34px;max-width:70ch}
.proc.six{grid-template-columns:repeat(6,1fr)}
.flag li span{font-size:15.5px;font-weight:500;line-height:1.5}
.flag li strong{display:block;font-family:var(--f-display);font-weight:800;font-size:18px;letter-spacing:-.02em;margin-bottom:4px}

/* ---------- audiences (v2) ---------- */
.aud2{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.aud2>div{border-top:2px solid rgba(255,255,255,.2);padding-top:20px;display:grid;gap:10px;align-content:start;min-height:170px}
.aud2 .who{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--orange)}
.aud2 p{font-size:15.5px;color:var(--muted-d)}

/* ---------- packages (v2) ---------- */
.pk .best{display:grid;gap:5px;padding:14px 16px;border-radius:14px;background:var(--paper)}
.pk .best b{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.pk .best span{font-size:14.5px;font-weight:600}
.pk.pop .best{background:rgba(255,255,255,.09)}
.pk details{border-top:1px solid var(--line);padding-top:14px}
.pk.pop details{border-color:var(--line-d)}
.pk summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14.5px}
.pk summary::-webkit-details-marker{display:none}
.pk summary:after{content:"+";font-family:var(--f-mono);font-size:18px;color:var(--orange)}
.pk details[open] summary:after{content:"–"}
.pk details ul{margin-top:12px;border-top:0;padding-top:0}
.pk-note{max-width:96ch}

/* ---------- deliverables ---------- */
.rep-detail h4{margin-bottom:8px}
.rep-detail .sub{font-size:16px;color:var(--muted);margin-bottom:22px;max-width:60ch}
.rep-detail .del{list-style:none;display:grid;gap:0;margin-bottom:24px}
.rep-detail .del li{padding:14px 0;border-top:1px solid var(--line);display:flex;gap:12px;font-size:16.5px;align-items:flex-start}
.rep-detail .del li:before{content:"";width:12px;height:7px;border-left:2.5px solid var(--orange);border-bottom:2.5px solid var(--orange);transform:rotate(-45deg);margin-top:6px;flex:none}
.rep-detail .dnote{font-size:14.5px;color:var(--muted);padding-top:18px;border-top:1px solid var(--line)}
.rep-item .n{font-family:var(--f-mono);font-size:11px;color:var(--muted-d);display:block;margin-bottom:5px}
.rep-item.on .n{color:var(--orange)}

/* ---------- roles (5) + intake extras ---------- */
.roles.five{grid-template-columns:repeat(5,1fr)}
.role.you{border-color:var(--orange)}
.role.you h5{color:var(--orange-deep)}
.intake select{width:100%;background:#111;border:1.5px solid #333;border-radius:var(--r);color:#fff;font:inherit;font-size:17px;padding:16px 18px;
  outline:none;appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'><path d='M1 1l6 6 6-6' stroke='%239a978f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 20px center;padding-right:48px}
.intake select:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,106,0,.18)}
.intake select option{background:#111;color:#fff}
.intake .chips .chip{text-align:left}

@media (max-width:1080px){
  .two,.rep,.bound,.flag{grid-template-columns:1fr}
  .only{grid-template-columns:1fr;gap:40px}
  .aud2{grid-template-columns:1fr 1fr}
  .ttypes2{grid-template-columns:1fr 1fr}
  .roles.five{grid-template-columns:1fr 1fr 1fr}
  .proc.six{grid-template-columns:repeat(3,1fr)}
  .personas,.roles{grid-template-columns:1fr 1fr}
  .checks,.aud,.posts,.wgrid{grid-template-columns:1fr 1fr}
  .pk-grid{grid-template-columns:1fr 1fr}
  .proc{grid-template-columns:repeat(4,1fr)}
  .post.big{grid-column:1/-1}
}
@media (max-width:760px){
  .sub-hero{padding-top:120px;padding-bottom:60px}
  .personas,.checks,.aud,.pk-grid,.roles,.posts,.wgrid,.proc-panel,
  .ttypes,.ttypes2,.chk2,.only-grid,.aud2,.roles.five{grid-template-columns:1fr}
  .ttype{min-height:0}
  .aud2>div,.t2,.oc{min-height:0}
  .lc-head{margin-top:60px}
  .only{margin-top:60px;padding-top:50px}
  .proc{display:flex;overflow-x:auto;margin:0 calc(var(--pad)*-1) 20px;padding:0 var(--pad)}
  .proc button{flex:0 0 108px}
  .rep-detail dl{grid-template-columns:1fr}
  .rep-detail dt{padding-bottom:0;border-top:1px solid var(--line)}
  .rep-detail dd{border-top:0;padding-top:6px}
  .intake .row{grid-template-columns:1fr}
  .wgrid.list .info{flex-direction:column;align-items:flex-start;gap:8px}
  .search{min-width:0;width:100%}
  .rr-row{grid-template-columns:56px 1fr 70px}
  .rr-row .n{font-size:34px}
}

/* testing life cycle: vertical step list beside the detail */
@media (min-width:1081px){
  .cycle{display:grid;grid-template-columns:290px 1fr;gap:16px;align-items:start}
  .cycle .proc{grid-template-columns:1fr;margin-bottom:0;position:sticky;top:104px}
  .cycle .proc button{height:56px;flex-direction:row;gap:12px;justify-content:flex-start;padding:0 20px}
  .cycle .proc button span{font-size:12px}
}
