/* Guides for Strategy and Proposals (2026-11-10), built from handoff/studio-guides design/studio/fixes.css (page
   sections) and guides.css. Page classes are prefixed gx- because site.css already uses .sec, .ex, .pc, .k and
   friends; the live preview's classes (from server/guides-data.mjs) are scoped inside .gx-o. The site's own header,
   footer and buttons are reused. Generated: don't hand-edit the copied rules, change the design and regenerate. */
.gx{--tc:#2E3A42;--tk:#2E3A42;--tbg:#E9ECEE;--blue:#009FE3;--blue-t:#0072A8;--green:#509E7A;--green-t:#3B7A5C;--muted:#5E6870;--rule:#E4E6E8;--paper:#FAFAF8;--stock:#FFFDF8;--edge:#E2DDD1;background:var(--paper)}
.gx a{text-decoration:none}
/* layout */
.gx-wr{max-width:1040px;margin:0 auto;padding:0 28px}
@container (max-width:600px){.gx-wr{padding:0 18px}}
.gx-k{display:block;font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green-t);margin-bottom:10px}
.gx-crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted);padding:20px 0 0}
.gx-crumb a{color:var(--muted)}.gx-crumb a:hover{color:var(--ink)}
.gx-sec{padding:52px 0;border-top:1px solid var(--rule)}
.gx-sec h2{margin:0 0 6px;font:800 28px/1.15 var(--sans);letter-spacing:-.02em}
.gx-sec .gx-sub{margin:0 0 26px;font:400 17px/1.55 var(--serif);color:var(--muted);max-width:640px}
@container (max-width:600px){.gx-sec{padding:38px 0}.gx-sec h2{font-size:23px}}
/* hero */
.gx-hero{padding:34px 0 46px}
.gx-hero .gx-q{display:inline-flex;align-items:center;gap:8px;font:700 13px var(--sans);color:var(--green-t);background:#E6F3EC;padding:5px 11px;border-radius:999px;margin-bottom:16px}
.gx-hero h1{margin:0 0 16px;font:800 46px/1.06 var(--sans);letter-spacing:-.03em;max-width:780px;text-wrap:balance}
.gx-hero p.gx-lede{margin:0 0 22px;font:400 20px/1.55 var(--serif);max-width:660px;color:#3E4A52}
.gx-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--muted);margin:0 0 24px}
.gx-meta span{display:flex;align-items:center;gap:6px}.gx-meta b{color:var(--ink)}
.gx-cta{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;font:700 15.5px var(--sans);padding:13px 22px;border-radius:2px;border:0}
.gx-cta:hover{background:#0088C4;color:#fff}
.gx-cta.gx-sec2{background:#fff;color:var(--ink);border:1px solid var(--ink)}.gx-cta.gx-sec2:hover{background:var(--ink);color:#fff}
.gx-btns{display:flex;flex-wrap:wrap;gap:10px}
@container (max-width:600px){.gx-hero h1{font-size:32px}.gx-hero p.gx-lede{font-size:17.5px}}
/* diagnose */
.gx-dg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:40px}
@container (max-width:760px){.gx-dg{grid-template-columns:1fr;gap:26px}}
.gx-dg h3{margin:0 0 12px;font:700 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.gx-signs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.gx-signs li{background:#fff;border:1px solid var(--rule);padding:12px 14px;font:400 16.5px/1.4 var(--serif);display:flex;gap:10px}
.gx-signs li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#D9A441;margin-top:8px}
.gx-dg p.gx-why{margin:0;font:400 18px/1.65 var(--serif)}
/* approach */
.gx-steps{display:flex;flex-direction:column;gap:14px;counter-reset:s}
.gx-st{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,.9fr);gap:0 24px;background:#fff;border:1px solid var(--rule);padding:22px 24px}
@container (max-width:860px){.gx-st{grid-template-columns:44px minmax(0,1fr)}.gx-st .gx-ex{grid-column:2;margin-top:16px}}
.gx-st .gx-n{font:800 34px/1 var(--sans);color:var(--green);letter-spacing:-.03em}
.gx-st h3{margin:0 0 4px;font:800 20px/1.2 var(--sans);letter-spacing:-.01em}
.gx-st p.gx-do{margin:0;font:400 17px/1.55 var(--serif)}
.gx-ex{display:flex;flex-direction:column;gap:8px}
.gx-ex div{background:var(--paper);border-left:3px solid var(--edge);padding:9px 12px}
.gx-ex div:last-child{border-left-color:var(--green)}
.gx-ex div:only-child{border-left-color:var(--edge)}
.gx-ex span{display:block;font:700 10.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.gx-ex p{margin:0;font:400 15.5px/1.45 var(--serif)}
/* workspace */
/* others / faq / band */
.gx-oth{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@container (max-width:860px){.gx-oth{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:520px){.gx-oth{grid-template-columns:1fr}}
.gx-pc{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--rule);padding:16px 18px;color:var(--ink);transition:border-color .15s,transform .15s}
.gx-pc:hover{border-color:var(--green);color:var(--ink);transform:translateY(-2px)}
.gx-pc b{font:800 17.5px/1.25 var(--sans);letter-spacing:-.01em}
.gx-pc span{font-size:13.5px;color:var(--muted)}
.gx-pc em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--green-t);margin-top:6px}
.gx-faq details{background:#fff;border:1px solid var(--rule);border-bottom:0}
.gx-faq details:last-child{border-bottom:1px solid var(--rule)}
.gx-faq summary{padding:16px 18px;font:700 16.5px var(--sans);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
.gx-faq summary::after{content:"+";font-weight:400;font-size:20px;line-height:1;color:var(--muted)}
.gx-faq details[open] summary::after{content:"–"}
.gx-faq summary::-webkit-details-marker{display:none}
.gx-faq p{margin:0;padding:0 18px 18px;font:400 16.5px/1.6 var(--serif);max-width:720px}
/* hub */
.gx-hub-h{padding:40px 0 34px}
.gx-hub-h h1{margin:0 0 14px;font:800 50px/1.04 var(--sans);letter-spacing:-.03em;max-width:760px}
.gx-hub-h p{margin:0;font:400 20px/1.55 var(--serif);color:#3E4A52;max-width:640px}
@container (max-width:600px){.gx-hub-h h1{font-size:34px}.gx-hub-h p{font-size:17.5px}}
.gx-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@container (max-width:760px){.gx-hub{grid-template-columns:1fr}}
.gx-hc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;background:#fff;border:1px solid var(--rule);padding:20px 22px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.gx-hc:hover{border-color:var(--green);color:var(--ink);box-shadow:0 8px 20px rgba(46,58,66,.08)}
.gx-hc .gx-q{font:800 21px/1.2 var(--sans);letter-spacing:-.015em}
.gx-hc .gx-s{grid-column:1;font:400 16px/1.45 var(--serif);color:var(--muted)}
.gx-hc .gx-t{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.gx-hc .gx-t span{font-size:12px;font-weight:600;background:var(--stock);border:1px solid var(--edge);border-radius:3px;padding:2px 7px;color:#6A5F48}
.gx-hc .gx-go{grid-column:2;grid-row:1/3;align-self:center;font-size:22px;color:var(--green)}
.gx-alt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
@container (max-width:760px){.gx-alt{grid-template-columns:1fr}}
.gx-alt a{display:block;background:transparent;border:1px dashed #B9C1C6;padding:16px 20px;color:var(--ink)}
.gx-alt a:hover{border-color:var(--ink);color:var(--ink)}
.gx-alt b{display:block;font-size:16px}.gx-alt span{font-size:14px;color:var(--muted)}
/* modal + toast */
.gx-mbg{position:fixed;inset:0;z-index:40;background:rgba(30,40,48,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.gx-mdl{background:#fff;width:100%;max-width:440px;padding:24px 26px}
.gx-mdl h2{margin:0 0 8px;font:800 22px/1.2 var(--sans)}
.gx-mdl p{margin:0 0 14px;font-size:14.5px;line-height:1.55;color:var(--muted)}
.gx-mdl ul{margin:0 0 16px;padding-left:18px;font-size:14px;line-height:1.6}
.gx-mdl .gx-bt{display:flex;flex-direction:column;gap:8px}
.gx-mdl .gx-bt a{text-align:center;font:700 14.5px var(--sans);padding:11px;border-radius:2px}
.gx-mdl .gx-p1{background:var(--blue);color:#fff}.gx-mdl .gx-p1:hover{color:#fff;background:#0088C4}
.gx-mdl .gx-p2{border:1px solid var(--ink);color:var(--ink)}
.gx-mdl .gx-x{display:block;margin:12px auto 0;background:none;border:0;font:600 13.5px var(--sans);color:var(--muted)}
.gx-hc .gx-t span{white-space:nowrap}
/* Guides: tool colours over fixes.css */
.gx.t-strategy{--tc:#2E3A42;--tk:#2E3A42;--tbg:#E9ECEE}
.gx.t-proposals{--tc:#6B4F9A;--tk:#5A3F87;--tbg:#F4EFF9}
.gx .gx-k{color:var(--tk)}
.gx .gx-hero .gx-q{color:var(--tk);background:var(--tbg)}
.gx .gx-st .gx-n{color:var(--tc)}
.gx .gx-hub-h .gx-k{color:var(--tk)}
.gx-hub .gx-hc .gx-q{color:var(--tk)}
/* worksheet */
.gx-gw{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:28px;align-items:start}
@container (max-width:860px){.gx-gw{grid-template-columns:1fr}}
.gx-gw-l{display:flex;flex-direction:column;gap:14px}
.gx-gs{margin:0;border:1px solid var(--rule);background:#fff;padding:16px 18px 6px;display:flex;flex-wrap:wrap;gap:0 14px}
.gx-gs legend{display:flex;align-items:center;gap:9px;font:800 16px var(--sans);padding:0 6px;margin-left:-6px}
.gx-gs legend span{width:24px;height:24px;border-radius:50%;background:var(--tc);color:#fff;font:800 12.5px/24px var(--sans);text-align:center;flex:none}
.gx-gf{flex:1 1 100%;margin:0 0 12px}
.gx-gf.gx-sh2{flex:1 1 140px}
.gx-gf label{display:block;font:700 13px var(--sans);margin-bottom:5px}
.gx-gf input,.gx-gf textarea{width:100%;border:1.5px solid #C9CED2;border-radius:2px;padding:9px 11px;font:16px/1.45 var(--serif);color:var(--ink);background:#fff}
.gx-gf input:focus,.gx-gf textarea:focus{outline:none;border-color:var(--tc);box-shadow:0 0 0 3px var(--tbg)}
.gx-gw-r{position:sticky;top:12px;display:flex;flex-direction:column;gap:12px}
@container (max-width:860px){.gx-gw-r{position:static}}
.gx-op{background:#fff;border:1px solid var(--rule);border-top:4px solid var(--tc);box-shadow:0 6px 22px rgba(46,58,66,.08)}
.gx-op-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:14px 18px 10px;border-bottom:1px solid var(--rule)}
.gx-op-h b{font:800 15px var(--sans)}.gx-op-h span{font-size:12.5px;color:var(--muted);white-space:nowrap}
.gx-op-b{padding:18px}
.gx-op-a{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 12px}
.gx-op-n{margin:0;padding:0 18px 16px;font-size:12.5px;color:var(--muted)}
.gx-cta.gx-sm{font-size:14px;padding:9px 15px}
.gx-o .gap{color:#A0A7AC;background:#F3F4F5;border-radius:2px;padding:0 3px;font-weight:400}
.gx-o .o-big{margin:0 0 10px;font:400 20px/1.5 var(--serif)}
.gx-o .o-big b{font-weight:600}
.gx-o .o-n{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}
.gx-o .mh-r{background:var(--tc);color:#fff;text-align:center;padding:14px;font:600 17px/1.4 var(--serif)}
.gx-o .mh-r .gx-o .gap{background:rgba(255,255,255,.15);color:#D5DADD}
.gx-o .mh-c{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px}
.gx-o .mh-c div{background:var(--tbg);padding:10px;display:flex;flex-direction:column;gap:6px;min-height:110px}
.gx-o .mh-c b{font:700 14px/1.3 var(--sans)}.gx-o .mh-c span{font:13.5px/1.4 var(--serif);color:#3E4A52}
.gx-o .cm{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.gx-o .cm li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;font-size:14px;border-bottom:1px solid var(--rule);padding-bottom:6px}
.gx-o .cm span{font-weight:700}.gx-o .cm p{margin:0;font-family:var(--serif)}
.gx-o .cm mark{background:#FBEAE8;color:#8A2F26;padding:0 2px}
.gx-o .o-sp{background:#E8F4EE;border-left:3px solid var(--green);padding:10px 12px;font:16px/1.45 var(--serif)}
.gx-o .o-sp span{display:block;font:700 11.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--green-t);margin-bottom:3px}
.gx-o .po{font:15px/1.55 var(--serif)}
.gx-o .po-k{display:block;font:700 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--tk);margin-bottom:6px}
.gx-o .po h4{margin:12px 0 2px;font:800 13px var(--sans)}
.gx-o .po p{margin:0 0 4px}.gx-o .po ol{margin:0;padding-left:20px}
.gx-o .pt{width:100%;border-collapse:collapse;font-size:14.5px}
.gx-o .pt td{padding:7px 4px;border-bottom:1px solid var(--rule)}
.gx-o .pt td:nth-child(2){color:var(--muted);white-space:nowrap}.gx-o .pt td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.gx-o .pt tr.pt-sm td{color:var(--muted);font-size:13.5px}
.gx-o .pt tfoot td{border:0;border-top:2px solid var(--ink);padding-top:10px;font:800 17px var(--sans)}
.gx-o .pt tfoot td:nth-child(2){font-size:13px;font-weight:600}
.gx-o .fu{display:flex;flex-direction:column;gap:8px}
.gx-o .fu div{border-left:3px solid var(--tc);padding:4px 0 4px 12px}
.gx-o .fu span{font:700 11.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--tk)}
.gx-o .fu p{margin:2px 0 0;font:15px/1.5 var(--serif)}
.gx-up{background:var(--tbg);padding:16px 18px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.gx-up .gx-k{margin:0}.gx-up b{font:800 17px var(--sans)}
.gx-up ul{margin:0 0 6px;padding-left:18px;font-size:14px;line-height:1.5}
.gx-up-n{font-size:12.5px;color:var(--muted)}
/* hub extras */
.gx-lc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:center;background:#fff;border:1px solid var(--rule);border-left:4px solid var(--tc);padding:18px 20px;margin:22px 0 0}
@container (max-width:760px){.gx-lc{grid-template-columns:1fr}}
.gx-lc b{display:block;font:800 17px var(--sans);margin-bottom:3px}.gx-lc span{font-size:14px;color:var(--muted);line-height:1.5}
.gx-lc-f{display:flex;gap:8px;flex-wrap:wrap}
.gx-lc-f input{flex:1 1 200px;border:1.5px solid #C9CED2;border-radius:2px;padding:10px 12px;font:15px var(--sans)}
.gx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* tool band */
.gx-gb{background:var(--tc);color:#fff;padding:44px 0}
.gx-gb-i{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
@container (max-width:760px){.gx-gb-i{grid-template-columns:1fr}}
.gx-gb .gx-k{color:#fff!important;opacity:.8}
.gx-gb h2{margin:0 0 8px;font:800 26px/1.2 var(--sans);letter-spacing:-.02em;color:#fff}
.gx-gb p{margin:0;font:16.5px/1.55 var(--serif);color:rgba(255,255,255,.88);max-width:560px}
.gx-gb .gx-cta{background:#fff;color:var(--ink)}.gx-gb .gx-cta:hover{background:#F1F2F3;color:var(--ink)}
.gx-gb .gx-cta.gx-lt{background:none;color:#fff;border:1px solid rgba(255,255,255,.6)}.gx-gb .gx-cta.gx-lt:hover{background:rgba(255,255,255,.1);color:#fff}
/* modal extras */
.gx-mdl .gx-lf{display:flex;flex-direction:column;gap:4px;margin:8px 0 14px}
.gx-mdl .gx-lf label{font:700 13px var(--sans);margin-top:6px}
.gx-mdl .gx-lf input:not([type=checkbox]){border:1.5px solid #C9CED2;border-radius:2px;padding:9px 11px;font:15px var(--sans)}
.gx-mdl .gx-ck{display:flex;gap:8px;align-items:center;font-weight:500!important}
.gx-mdl .gx-sm2{font-size:12px;color:var(--muted);margin:10px 0 0}
.gx-mdl .gx-ok{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;align-items:center;justify-content:center;margin-bottom:8px}
.gx-nx2{background:var(--tbg);padding:12px 14px;margin:12px 0}
.gx-nx2 b{display:block;font-size:15px}.gx-nx2 span{font-size:14px;color:var(--muted)}
/* site additions: tool-coloured links and buttons, the preview gaps, and focus */
.gx .gx-cta{background:var(--tc);text-decoration:none}.gx .gx-cta:hover{background:var(--tk);filter:brightness(.9)}
.gx .gx-cta.gx-sec2{background:#fff;color:var(--ink);border:1px solid var(--ink)}.gx .gx-cta.gx-sec2:hover{background:var(--ink);color:#fff;filter:none}
.gx .gx-hc:hover,.gx .gx-pc:hover{border-color:var(--tc)}.gx .gx-hc .gx-go{color:var(--tc)}.gx .gx-pc em{color:var(--tk)}
.gx .gx-gb .gx-cta{background:#fff;color:var(--ink)}.gx .gx-gb .gx-cta.gx-lt{background:none;color:#fff;border:1px solid rgba(255,255,255,.6)}
.gx .gx-ws-sec{background:var(--tbg)}
.gx [hidden]{display:none!important}
.gx-mdl .gx-ck input{width:auto}
.gx-mdl .gx-err{color:#B3362B;font-size:13.5px;margin:6px 0 0}
.gx-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;background:var(--ink);color:#fff;font-size:14px;padding:10px 16px;border-radius:2px;max-width:90vw}
.gx-mdl{max-height:90vh;overflow:auto}
.gx-mdl input:not([type=checkbox]){width:100%}
.gx-mdl .gx-bt button{font:700 14.5px var(--sans);padding:11px;border-radius:2px;border:0;cursor:pointer}
.gx-mdl .gx-p1{background:var(--tc);color:#fff!important}.gx-mdl .gx-p1:hover{filter:brightness(.92)}
.gx-lc-done{font:600 15px var(--sans);color:var(--green-t)}
/* the site's link colour (.cdk a) outranks single classes: buttons and cards keep their own */
.gx a.gx-cta{color:#fff}.gx a.gx-cta:hover{color:#fff}
.gx a.gx-cta.gx-sec2,.gx .gx-gb a.gx-cta:not(.gx-lt){color:var(--ink)}.gx a.gx-cta.gx-sec2:hover{color:#fff}
.gx a.gx-hc,.gx a.gx-pc,.gx .gx-alt a{color:var(--ink)}
.gx a.gx-hc:hover,.gx a.gx-pc:hover,.gx .gx-alt a:hover{color:var(--ink)}
