.gsh{--gsh-navy: #0b1c2f;--gsh-navy-soft: #132a43;--gsh-cobalt: #1759d1;--gsh-cobalt-deep: #10429f;--gsh-green: #147a4c;--gsh-amber: #b86914;--gsh-muted: #536579;--gsh-rule: #d6e0e9;--gsh-pale: #f2f6fa;color:var(--gsh-navy);background:#fff}.gsh-hero{padding:clamp(2.5rem,4.5vw,4.5rem) 0;background:var(--gsh-pale);border-bottom:1px solid var(--gsh-rule)}.gsh-hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(19rem,.65fr);gap:clamp(2.5rem,6vw,6rem);align-items:end;margin-top:1.5rem}.gsh-hero__copy h1{max-width:13ch;margin:0;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(3.35rem,6vw,5.25rem);font-weight:400;line-height:.96;letter-spacing:-.04em}.gsh-hero__copy p{max-width:44rem;margin:1.5rem 0 0;color:var(--gsh-muted);font-size:1rem;line-height:1.65}.gsh-equation{padding:1.4rem;color:#fff;background:var(--gsh-navy);border-top:4px solid var(--gsh-cobalt)}.gsh-equation strong{display:block;font-family:"Instrument Serif",Georgia,serif;font-size:2rem;font-weight:400;line-height:1.15}.gsh-equation p{margin:1rem 0 0;color:var(--gsh-rule);font-size:1rem;line-height:1.6}.gsh-workbench{padding:clamp(3rem,5vw,5rem) 0}.gsh-workbench__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);gap:clamp(2rem,5vw,5rem);align-items:start}.gsh-section-heading{display:flex;gap:1rem;justify-content:space-between;align-items:end;padding-bottom:1rem;border-bottom:1px solid var(--gsh-rule)}.gsh-section-heading h2,.gsh-route-panel h2,.gsh-method h2,.gsh-next h2,.gsh-faq h2{margin:0;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2.35rem,4.5vw,4rem);font-weight:400;line-height:1.05;letter-spacing:-.03em}.gsh-section-heading button{padding:.25rem 0;color:var(--gsh-cobalt-deep);background:transparent;border:0;border-bottom:1px solid currentColor;font-weight:700;cursor:pointer}.gsh-example-note{margin:.7rem 0 1.5rem;color:var(--gsh-muted);font-size:1rem}.gsh-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--gsh-rule);border-left:1px solid var(--gsh-rule)}.gsh-field-grid .ctool-field{padding:1.15rem;border-right:1px solid var(--gsh-rule);border-bottom:1px solid var(--gsh-rule)}.gsh-choice-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:2rem 0 0;padding:0;border:0}.gsh-choice-group legend{width:100%;margin-bottom:.8rem;font-weight:800}.gsh-choice-group label{position:relative;display:flex;min-height:7.2rem;padding:1rem;background:#fff;border:1px solid var(--gsh-rule);cursor:pointer}.gsh-choice-group label+label{border-left:0}.gsh-choice-group label:has(input:checked){z-index:1;color:#fff;background:var(--gsh-navy);border-color:var(--gsh-navy)}.gsh-choice-group input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.gsh-choice-group input:focus-visible+span{outline:2px solid var(--gsh-cobalt-deep);outline-offset:5px}.gsh-choice-group label:has(input:checked) input:focus-visible+span{outline-color:#7aa5f3}.gsh-choice-group span{display:flex;flex-direction:column;gap:.45rem;pointer-events:none}.gsh-choice-group small{color:var(--gsh-muted);line-height:1.45}.gsh-choice-group label:has(input:checked) small{color:var(--gsh-rule)}.gsh-form-actions,.gsh-result-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.gsh-primary,.gsh-secondary,.gsh-result-actions button{display:inline-flex;min-height:3.15rem;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1rem;border:1px solid var(--gsh-navy);border-radius:0;font-weight:800;cursor:pointer}.gsh-primary{color:#fff;background:var(--gsh-navy)}.gsh-primary:hover,.gsh-primary:focus-visible{background:var(--gsh-cobalt-deep);border-color:var(--gsh-cobalt-deep)}.gsh-secondary,.gsh-result-actions button{color:var(--gsh-navy);background:#fff}.gsh-primary:focus-visible,.gsh-secondary:focus-visible,.gsh-result-actions button:focus-visible,.gsh-section-heading button:focus-visible,.gsh-next__links a:focus-visible{outline:2px solid var(--gsh-cobalt);outline-offset:4px}.gsh-route-panel{position:sticky;top:6rem;padding:1.5rem;color:#fff;background:var(--gsh-navy)}.gsh-route-panel>p{margin:.85rem 0 1.5rem;color:var(--gsh-rule);line-height:1.6}.gsh-route-rail{position:relative;display:grid;gap:0;margin:0;padding:0;list-style:none}.gsh-route-rail:before{position:absolute;top:1.5rem;bottom:1.5rem;left:1rem;width:1px;background:var(--gsh-muted);content:""}.gsh-route-rail li{position:relative;display:grid;grid-template-columns:2rem 1fr;align-items:center;min-height:4rem;padding:.65rem;color:var(--gsh-rule);border-top:1px solid var(--gsh-muted)}.gsh-route-rail li:last-child{border-bottom:1px solid var(--gsh-muted)}.gsh-route-rail li>span{z-index:1;display:grid;width:1.25rem;height:1.25rem;place-items:center;color:#fff;background:var(--gsh-navy);border:1px solid var(--gsh-rule);border-radius:50%}.gsh-route-rail li[data-active=true]{color:#fff;background:var(--gsh-navy-soft)}.gsh-route-rail li[data-active=true]>span{background:var(--gsh-green);border-color:var(--gsh-green)}.gsh-empty-state,.gsh-error-state,.gsh-result{margin-top:1.5rem;padding:1.25rem;color:var(--gsh-navy);background:#fff}.gsh-empty-state p,.gsh-error-state p,.gsh-result>p{margin:.5rem 0 0;color:var(--gsh-muted);line-height:1.6}.gsh-error-state{border-top:4px solid var(--gsh-amber)}.gsh-result{border-top:4px solid var(--gsh-green)}.gsh-result h3{margin:0;font-family:"Instrument Serif",Georgia,serif;font-size:2.35rem;font-weight:400}.gsh-result dl{margin:1.25rem 0 0;border-top:1px solid var(--gsh-rule)}.gsh-result dl div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--gsh-rule)}.gsh-result dt{color:var(--gsh-muted)}.gsh-result dd{margin:0;font-family:JetBrains Mono,monospace;font-weight:800}.gsh-result>small{display:block;margin-top:.9rem;color:var(--gsh-muted);line-height:1.5}.gsh-result-actions button{min-height:2.8rem;font-size:1rem}.gsh-method,.gsh-faq{padding:clamp(4.5rem,8vw,7rem) 0;background:var(--gsh-pale);border-top:1px solid var(--gsh-rule);border-bottom:1px solid var(--gsh-rule)}.gsh-method__grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2.5rem,6vw,6rem)}.gsh-method__grid>div:first-child p{max-width:42rem;color:var(--gsh-muted);line-height:1.75}.gsh-method__rules{border-top:1px solid var(--gsh-rule)}.gsh-method__rules article{display:grid;grid-template-columns:minmax(8rem,.35fr) minmax(0,.65fr);gap:1.25rem;padding:1.2rem 0;border-bottom:1px solid var(--gsh-rule)}.gsh-method__rules p{margin:0;color:var(--gsh-muted);line-height:1.6}.gsh-next{padding:clamp(4.5rem,8vw,7rem) 0}.gsh-next__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem;border-top:1px solid var(--gsh-rule);border-left:1px solid var(--gsh-rule)}.gsh-next__links a{display:flex;flex-direction:column;gap:.35rem;min-height:7.5rem;padding:1.25rem;color:var(--gsh-navy);border-right:1px solid var(--gsh-rule);border-bottom:1px solid var(--gsh-rule);text-decoration:none}.gsh-next__links a:hover{color:#fff;background:var(--gsh-navy)}.gsh-next__links span{color:var(--gsh-muted)}.gsh-next__links a:hover span{color:var(--gsh-rule)}.gsh-faq__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem;border-top:1px solid var(--gsh-rule);border-left:1px solid var(--gsh-rule)}.gsh-faq__grid article{padding:1.25rem;background:#fff;border-right:1px solid var(--gsh-rule);border-bottom:1px solid var(--gsh-rule)}.gsh-faq__grid h3{margin:0;font-size:1rem}.gsh-faq__grid p{margin:.65rem 0 0;color:var(--gsh-muted);line-height:1.65}@media (max-width: 980px){.gsh-hero__grid,.gsh-workbench__grid,.gsh-method__grid{grid-template-columns:1fr}.gsh-route-panel{position:static}}@media (max-width: 700px){.gsh-hero__copy h1{font-size:clamp(3.5rem,14vw,6rem)}.gsh-section-heading{align-items:flex-start;flex-direction:column}.gsh-field-grid,.gsh-choice-group,.gsh-next__links,.gsh-faq__grid{grid-template-columns:1fr}.gsh-choice-group label+label{border-top:0;border-left:1px solid var(--gsh-rule)}.gsh-method__rules article{grid-template-columns:1fr;gap:.5rem}}@media (prefers-reduced-motion: no-preference){.gsh-route-rail li[data-active=true]{animation:gsh-route-settle .26s cubic-bezier(.16,1,.3,1)}}@keyframes gsh-route-settle{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@media print{.gsh .ctool-breadcrumb,.gsh-inputs,.gsh-method,.gsh-next,.gsh-faq,.gsh-result-actions,header nav,footer{display:none!important}.gsh-workbench__grid{display:block}.gsh-route-panel{color:var(--gsh-navy);background:#fff;border:1px solid var(--gsh-navy)}}
