.service-grid-2{grid-template-columns:repeat(2,1fr)}.cap-grid{gap:var(--sp-5) var(--sp-6);margin:var(--sp-6) 0 0;padding:0;list-style:none;display:grid}.cap-grid-3{grid-template-columns:repeat(3,1fr)}.cap-grid-4{grid-template-columns:repeat(4,1fr)}.cap-item{padding-top:var(--sp-3);border-top:1px solid var(--border-strong)}.cap-item h3{font-size:var(--fs-block);font-weight:var(--fw-bold);letter-spacing:-.008em;margin-bottom:var(--sp-2);text-wrap:balance}.cap-item p{font-size:15px;line-height:var(--lh-body);color:var(--text-muted)}.cap-sectors{margin-top:var(--sp-7)}.cap-sectors-title{margin-bottom:var(--sp-3);font-size:var(--fs-small);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted)}.step-strip-4{grid-template-columns:repeat(4,1fr)}.cap-running{margin-top:var(--sp-8)}.cap-running .cap-grid{margin-top:0}.cap-project-note{margin-top:var(--sp-3);font-size:15px;line-height:var(--lh-body);color:var(--text-muted)}.testimonial-grid:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.cap-faq{gap:var(--sp-6) var(--sp-8);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.cap-faq-item{padding-top:var(--sp-4);border-top:1px solid var(--border-default)}.cap-faq dt{font-size:18px;font-weight:var(--fw-semibold);color:var(--text-heading);margin-bottom:var(--sp-2)}.cap-faq dd{font-size:15px;line-height:var(--lh-body);color:var(--text-body);max-width:var(--measure);margin:0}.cap-send{border-top:1px solid var(--border-default);scroll-margin-top:80px}.cap-send-inner{gap:var(--sp-8);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;display:grid}.cap-send-copy h2{font-size:var(--fs-h2);margin-bottom:var(--sp-3)}.cap-send-lede{font-size:var(--fs-lede);color:var(--text-body);margin-bottom:var(--sp-6);max-width:var(--measure)}.cap-helps{gap:var(--sp-2);margin:0 0 var(--sp-6);flex-direction:column;padding:0;list-style:none;display:flex}.cap-helps li{padding-left:var(--sp-5);font-size:15px;line-height:var(--lh-body);color:var(--text-muted);position:relative}.cap-helps li:before{content:"";border-top:1px solid var(--blue-600);width:10px;position:absolute;top:.7em;left:0}.cap-soft{padding:var(--sp-5);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-alt)}.cap-soft h3{font-size:var(--fs-block);font-weight:var(--fw-bold);margin-bottom:var(--sp-2)}.cap-soft p{color:var(--text-muted);margin-bottom:var(--sp-4);font-size:15px}.cap-soft .cta-note{margin:var(--sp-3) 0 0;font-size:var(--fs-small)}.cap-doc{border-top:1px solid var(--border-default)}.cap-doc-inner{justify-content:space-between;align-items:center;gap:var(--sp-6);flex-wrap:wrap;display:flex}.cap-doc h2{font-size:var(--fs-h3);margin-bottom:var(--sp-2)}.cap-doc p{color:var(--text-muted)}@media (max-width:1000px){.cap-grid-4,.step-strip-4{grid-template-columns:repeat(2,1fr)}.cap-send-inner{gap:var(--sp-6);grid-template-columns:1fr}.cap-faq{grid-template-columns:1fr}}@media (max-width:720px){:is(.service-grid-2,.cap-grid-3,.cap-grid-4,.step-strip-4,.testimonial-grid:has(>:nth-child(2):last-child)){grid-template-columns:1fr}}.cap-hero{align-items:center;min-height:clamp(460px,44vw,600px);display:flex}.cap-hero-inner{z-index:1;width:100%;position:relative}.cap-hero-copy{max-width:620px}.ways-card .ways-visual,.ways-card .ways-capacity{margin:var(--sp-2) 0 var(--sp-4)}.ways-visual{width:100%;max-width:240px;height:auto;display:block}.ways-sheet{fill:var(--surface-card);stroke:var(--gray-400);stroke-width:1px}.ways-titleblock{fill:none;stroke:var(--gray-400);stroke-width:1px}.ways-line{fill:none;stroke:var(--blue-600);stroke-width:2px}.ways-capacity{flex-direction:column;justify-content:center;max-width:320px;min-height:105px;display:flex}.ways-capacity-row{flex-direction:column;gap:6px;display:flex}.ways-capacity-label{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--text-muted)}.ways-capacity-track{border:1px solid var(--border-strong);border-radius:var(--radius-sm);height:28px;display:flex;overflow:hidden}.ways-capacity-full{background:repeating-linear-gradient(135deg, var(--gray-300) 0 2px, var(--gray-100) 2px 7px);border-right:2px solid var(--ink-800);flex:0 0 72%}.ways-capacity-over{background:var(--blue-600);color:var(--white);font-family:var(--font-mono);font-size:12px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);flex:1;justify-content:center;align-items:center;display:flex}.ways-capacity-scale{height:16px;color:var(--text-faint);margin-top:4px;font-size:10.5px;position:relative}.ways-capacity-100{color:var(--ink-800);position:absolute;left:72%;transform:translate(-50%)}.job-grid{row-gap:var(--sp-8);column-gap:var(--sp-6)}.job-item{border-top:0;padding-top:0}.job-sketch{margin-bottom:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--ink-800);display:block}.frame-sketch{width:100%;max-width:220px;height:auto;margin:0 auto;display:block}.job-item h3{font-size:var(--fs-block);font-weight:var(--fw-bold);margin-bottom:var(--sp-2)}.job-item p{font-size:15px;line-height:var(--lh-body);color:var(--text-muted)}.tonnage-band{margin-top:var(--sp-8);border-radius:var(--radius-md);background:var(--surface-ink);color:var(--white);grid-template-columns:2fr 1fr;display:grid}.tonnage-cell{padding:var(--sp-5) var(--sp-6);flex-direction:column;gap:6px;display:flex}.tonnage-cell+.tonnage-cell{border-left:1px solid var(--ink-700)}.tonnage-label{font-size:var(--fs-small);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--blue-400)}.tonnage-value{font-family:var(--font-display);font-size:clamp(20px,2.2vw,28px);font-weight:var(--fw-bold)}.sector-tiles{gap:var(--sp-3);grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none;display:grid}.sector-tile{padding:var(--sp-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card)}.sector-tile-icon{width:40px;height:40px;margin-bottom:var(--sp-3);border-radius:var(--radius-md);background:var(--blue-50);color:var(--blue-600);justify-content:center;align-items:center;display:inline-flex}.sector-tile h4{font-size:16px;font-weight:var(--fw-bold);margin-bottom:4px}.sector-tile p{color:var(--text-muted);font-size:13.5px;line-height:1.45}.register{margin:var(--sp-5) 0 0;border:1.5px solid var(--ink-800);background:var(--surface-card);border-radius:2px;overflow-x:auto}.register-table{border-collapse:collapse;width:100%;font-size:15px}.register-caption{caption-side:top;border-bottom:1.5px solid var(--ink-800);text-align:left;font-family:var(--font-mono);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--ink-800);padding:10px 16px;font-size:12px}.register-table th,.register-table td{border-bottom:1px solid var(--border-default);text-align:left;vertical-align:baseline;padding:11px 16px}.register-table thead th{font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted);background:var(--surface-alt)}.register-table tbody th{font-weight:var(--fw-semibold);color:var(--ink-900);white-space:nowrap}.register-table tbody td{color:var(--text-muted)}.register-table td:first-child{width:56px;color:var(--text-faint)}.register-code{width:72px;font-weight:var(--fw-semibold);color:var(--blue-700)!important}.register-titleblock{border-top:1.5px solid var(--ink-800);grid-template-columns:minmax(180px,1fr) 3fr;display:grid;position:relative}.register-tb-cell{color:var(--ink-900);flex-direction:column;gap:3px;padding:10px 16px;font-size:14px;display:flex}.register-tb-cell+.register-tb-cell{border-left:1px solid var(--ink-800)}.register-tb-label{font-family:var(--font-mono);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-faint);font-size:10.5px}.register-stamp{border:2px solid var(--blue-600);color:var(--blue-600);font-size:11px;font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;background:var(--surface-card);border-radius:3px;padding:6px 12px;position:absolute;top:-22px;right:18px;transform:rotate(-4deg)}.programme{margin-top:var(--sp-6)}.programme-rail{padding-top:34px;position:relative}.programme-line{background:var(--gray-300);height:1.5px;position:absolute;top:13.25px;left:14px;right:0}.programme-line-fill{background:var(--ink-800);transform:scaleX(var(--fill,1));transform-origin:0;position:absolute;inset:0}.programme-steps{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.6fr);margin:0;padding:0;list-style:none;display:grid}.programme-step{padding-right:var(--sp-5);position:relative}.programme-step h3,.programme-step p{opacity:0;transition:opacity .35s var(--ease-standard), translate .35s var(--ease-standard);translate:0 6px}.programme-step.is-lit h3,.programme-step.is-lit p{opacity:1;translate:none}.programme-step.is-lit p{transition-delay:80ms}.programme-node{z-index:1;background:var(--gray-300);width:28px;height:28px;color:var(--white);font-family:var(--font-mono);font-size:12px;font-weight:var(--fw-semibold);transition:background .25s var(--ease-standard);border-radius:2px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:-34px;left:0}.programme-step.is-lit .programme-node{background:var(--surface-ink)}.programme-step h3{margin-top:var(--sp-3);font-size:var(--fs-block);font-weight:var(--fw-bold);margin-bottom:var(--sp-2)}.programme-step p{font-size:15px;line-height:var(--lh-body);color:var(--text-muted)}.programme-job{position:relative}.programme-job-bar{z-index:1;border:1.5px solid var(--gray-300);background:var(--surface-card);height:24px;transition:border-color .25s var(--ease-standard);border-radius:2px;position:absolute;top:-32px;left:0;right:0}.programme-job.is-lit .programme-job-bar{border-color:var(--blue-600)}.programme-job-fill{background:repeating-linear-gradient(135deg, var(--blue-100) 0 3px, var(--blue-50) 3px 9px);clip-path:inset(0 calc((1 - var(--job-fill,1)) * 100%) 0 0);position:absolute;inset:0}.programme-callout-mark{border:1.5px solid var(--gray-300);background:var(--surface-card);width:18px;height:18px;color:var(--gray-400);font-family:var(--font-mono);font-size:10.5px;font-weight:var(--fw-bold);transition:transform .25s var(--ease-standard), color .25s var(--ease-standard), border-color .25s var(--ease-standard);border-radius:50%;justify-content:center;align-items:center;margin-left:4px;line-height:1;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)scale(.85)}.programme-callout-mark.is-lit{border-color:var(--blue-700);color:var(--blue-700);transform:translateY(-50%)scale(1)}.programme-job-label{margin-top:var(--sp-3);font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--blue-700);opacity:0;transition:opacity .35s var(--ease-standard), translate .35s var(--ease-standard);display:block;translate:0 6px}.programme-job.is-lit .programme-job-label{opacity:1;translate:none}.programme-notes{gap:var(--sp-4);margin:var(--sp-7) 0 0;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;display:grid}.programme-note{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-md);background:var(--surface-brand-tint);opacity:0;transition:opacity .4s var(--ease-standard), transform .4s var(--ease-standard);display:flex;transform:translateY(10px)}.programme-note.is-lit{opacity:1;transform:none}.programme-note-mark{border:1.5px solid var(--blue-700);background:var(--surface-card);width:26px;height:26px;color:var(--blue-700);font-family:var(--font-mono);font-size:12.5px;font-weight:var(--fw-bold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.programme-note-when{font-family:var(--font-mono);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:11px}.programme-note h3{font-size:17px;font-weight:var(--fw-bold);color:var(--blue-700);margin-bottom:4px}.programme-note p:not(.programme-note-when){font-size:15px;line-height:var(--lh-body);color:var(--text-body)}.programme-track-pinned{height:250vh}.programme-track-pinned .programme-sticky{flex-direction:column;justify-content:center;min-height:calc(100vh - 78px);display:flex;position:sticky;top:78px}@media (max-width:1000px){.sector-tiles{grid-template-columns:repeat(3,1fr)}.programme-rail{padding:0 0 0 44px}.programme-steps{gap:var(--sp-5);grid-template-columns:1fr}.programme-line{width:1.5px;height:auto;inset:0 auto 0 13px}.programme-line-fill{transform:none}.programme-node{top:0;left:-44px}.programme-step h3{margin-top:2px}.programme-job-bar{height:24px;display:block;position:relative;top:0}.programme-notes,.register-titleblock{grid-template-columns:1fr}.register-stamp{justify-self:start;margin:4px 16px 14px;position:static;transform:rotate(-3deg)}.register-tb-cell+.register-tb-cell{border-left:0;border-top:1px solid var(--ink-800)}}@media (max-width:720px){.sector-tiles{grid-template-columns:repeat(2,1fr)}.tonnage-band{grid-template-columns:1fr}.tonnage-cell+.tonnage-cell{border-left:0;border-top:1px solid var(--ink-700)}.register-table thead th:nth-child(4),.register-table td:nth-child(4){display:none}}.frame-sketch .fs-hi{stroke:var(--blue-600);stroke-width:2.25px;stroke-linecap:square;stroke-linejoin:miter}.frame-sketch .fs-steel{stroke:var(--ink-800);stroke-width:2px;stroke-linecap:square;stroke-linejoin:miter}.frame-sketch .fs-light{stroke:var(--gray-400);stroke-width:1px}.frame-sketch .fs-existing{stroke:var(--gray-500);stroke-width:1.25px;stroke-dasharray:4 3}.frame-sketch .fs-ground{stroke:var(--ink-800);stroke-width:1.25px}.frame-sketch .fs-fill{fill:var(--ink-800)}@keyframes sketch-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:no-preference) and (scripting:enabled){.ways-reveal .ways-capacity-full{transition:flex-basis .95s var(--ease-standard) .1s;flex-basis:0%}.ways-reveal .ways-capacity-100{opacity:0;transition:opacity .3s var(--ease-standard) 1s}.ways-reveal .ways-capacity-over{opacity:0;transition:opacity .25s var(--ease-standard) 1.4s, translate .32s cubic-bezier(.3, 1.6, .6, 1) 1.4s;translate:24px}.ways-reveal .ways-visual g{opacity:0;transition:opacity .42s var(--ease-standard), translate .42s var(--ease-standard);transition-delay:1.95s;translate:0 -8px}.ways-reveal .ways-visual g:nth-child(2){transition-delay:2.2s}.ways-reveal .ways-visual g:nth-child(3){transition:opacity .42s var(--ease-standard), translate .38s cubic-bezier(.3, 1.6, .6, 1);transition-delay:2.45s}.ways-reveal.is-revealed .ways-visual g{opacity:1;translate:none}.ways-reveal.is-revealed .ways-capacity-full{flex-basis:72%}.ways-reveal.is-revealed .ways-capacity-100{opacity:1}.ways-reveal.is-revealed .ways-capacity-over{opacity:1;translate:none}.register-reveal .register-table tbody tr{opacity:0;transition:opacity .45s var(--ease-standard), transform .45s var(--ease-standard);transform:translate(-6px)}.register-reveal.is-revealed .register-table tbody tr{opacity:1;transform:none}.register-reveal .register-table tbody tr:nth-child(2){transition-delay:90ms}.register-reveal .register-table tbody tr:nth-child(3){transition-delay:.18s}.register-reveal .register-table tbody tr:nth-child(4){transition-delay:.27s}.register-reveal .register-table tbody tr:nth-child(5){transition-delay:.36s}.register-reveal .register-table tbody tr:nth-child(6){transition-delay:.45s}.register-reveal .register-table tbody tr:nth-child(7){transition-delay:.54s}.register-reveal .register-table tbody tr:nth-child(8){transition-delay:.63s}.register-reveal .register-stamp{opacity:0;transition:opacity .25s var(--ease-standard) 1.35s, transform .28s cubic-bezier(.3, 1.6, .6, 1) 1.35s;transform:rotate(-4deg)scale(1.4)}.register-reveal.is-revealed .register-stamp{opacity:1;transform:rotate(-4deg)scale(1)}.tonnage-band .tonnage-value{opacity:0;transition:opacity .5s var(--ease-standard) .25s, transform .5s var(--ease-standard) .25s;transform:translateY(8px)}.tonnage-band.is-revealed .tonnage-value{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference) and (scripting:enabled) and (max-width:720px){.ways-reveal .ways-visual g{transition-delay:.1s}.ways-reveal .ways-visual g:nth-child(2){transition-delay:.35s}.ways-reveal .ways-visual g:nth-child(3){transition-delay:.6s}}@media (prefers-reduced-motion:no-preference) and (scripting:enabled) and (max-width:1000px){.register-reveal .register-stamp{transform:rotate(-3deg)scale(1.4)}.register-reveal.is-revealed .register-stamp{transform:rotate(-3deg)scale(1)}}@media (prefers-reduced-motion:no-preference) and (scripting:enabled){.job-grid:not(.job-grid-still) .job-item{opacity:0;transition:opacity .5s var(--ease-standard), translate .5s var(--ease-standard);transition-delay:var(--d,0s);translate:0 12px}.job-grid:not(.job-grid-still) .job-item.is-shown{opacity:1;translate:none}.job-grid:not(.job-grid-still) .job-item:not(.is-drawn) .frame-sketch [pathLength]{stroke-dasharray:1;stroke-dashoffset:1px}.job-grid:not(.job-grid-still) .job-item.is-shown:not(.is-drawn) .frame-sketch [pathLength]{animation-name:sketch-draw;animation-duration:.9s;animation-timing-function:var(--ease-standard);animation-fill-mode:forwards}.job-grid:not(.job-grid-still) .job-item.is-shown .frame-sketch .fs-hi,.job-grid:not(.job-grid-still) .job-item.is-shown .frame-sketch .fs-steel,.job-grid:not(.job-grid-still) .job-item.is-shown .frame-sketch .fs-ground{animation-delay:calc(var(--d,0s) + .25s)}.job-grid:not(.job-grid-still) .job-item.is-shown .frame-sketch .fs-light{animation-delay:calc(var(--d,0s) + .65s)}.job-grid:not(.job-grid-still) .job-item .frame-sketch .fs-existing,.job-grid:not(.job-grid-still) .job-item .frame-sketch .fs-fill{opacity:0;transition:opacity .5s var(--ease-standard);transition-delay:calc(var(--d,0s) + .9s)}.job-grid:not(.job-grid-still) .job-item.is-shown .frame-sketch .fs-existing,.job-grid:not(.job-grid-still) .job-item.is-shown .frame-sketch .fs-fill{opacity:1}.sector-tile.reveal{transition-duration:.72s}}.frame-sketch .fs-trace>g>:not(.fs-hi){display:none}.frame-sketch .fs-trace .fs-hi{stroke:var(--blue-300);stroke-width:3.25px;stroke-linecap:round;stroke-dasharray:.16 1.4;stroke-dashoffset:.16px;opacity:0}@keyframes sketch-trace{0%{stroke-dashoffset:.16px;opacity:0}10%{opacity:1}85%{opacity:1}to{stroke-dashoffset:-1px;opacity:0}}.job-item .job-sketch{transition:border-color .2s var(--ease-standard), box-shadow .2s var(--ease-standard), translate .2s var(--ease-standard)}@media (hover:hover){.job-item.is-drawn:hover .job-sketch{border-color:var(--blue-300);box-shadow:var(--shadow-raised);translate:0 -2px}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.job-item.is-drawn:hover .frame-sketch .fs-trace .fs-hi{animation-name:sketch-trace;animation-duration:1.1s;animation-timing-function:ease-in-out;animation-fill-mode:forwards}}
