/* The preserved production stack owns fonts, heading weights, brand colors,
   rounded media and legacy pages. These styles extend that foundation. */
:root { --g-ink:#0c2f39; --g-teal:#155263; --g-gold:#ffbb09; --g-soft:#f4f8f9; --g-line:#d8e3e8; }
body.sp-premium-v1.sp-growth { background:#fff; color:var(--sp-text); }
body.sp-growth .g-container { width:min(100%,1280px); margin-inline:auto; padding-inline:clamp(40px,4.2vw,64px); }
body.sp-growth .g-section { padding:72px 0; }
body.sp-growth .g-section.soft { background:var(--g-soft); }
body.sp-growth .g-section.dark { background:linear-gradient(125deg,#0c2f39,#155263); color:#fff; }
body.sp-growth .g-section.dark :is(h2,h3,p) { color:#fff; }
body.sp-growth .g-section.dark a:not(.btn) { color:#ffd76f; }
body.sp-growth .g-section.dark .g-eyebrow { color:#ffd76f; }
body.sp-growth .g-section p { font-size:17px; line-height:1.7; }
body.sp-growth .g-hero { padding:72px 0; background:radial-gradient(ellipse at 100% 100%,#fff7de 0,transparent 55%),linear-gradient(135deg,#f7fafb,#fff); }
body.sp-growth .g-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; }
body.sp-premium-v1.sp-growth .g-hero h1 { font-size:clamp(42px,3.55vw,58px)!important; line-height:1.03!important; font-weight:880!important; letter-spacing:-.042em!important; margin:18px 0 24px!important; max-width:23ch!important; text-wrap:balance; }
body.sp-growth .g-hero h1::after { content:''; display:block; width:72px; height:5px; margin-top:24px; border-radius:5px; background:#ffbb09; }
body.sp-growth .g-hero p { margin:0; font-size:18px; line-height:1.7; color:#526b74; max-width:58ch; }
body.sp-growth .g-hero-photo { margin:0; align-self:center; }
body.sp-growth .g-hero-photo img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; object-position:50% 55%; border:1px solid #0c2f3914; border-radius:28px; box-shadow:0 22px 54px #0c2f3924; }
body.sp-growth .g-hero-photo figcaption { color:#526b74; font-size:13px; line-height:1.5; padding:12px 6px 0; }
.g-eyebrow { display:flex; align-items:center; gap:12px; font-size:12px; line-height:1.5; font-weight:850; letter-spacing:.12em; text-transform:uppercase; color:#155263; }
.g-eyebrow::before { content:''; width:30px; height:3px; flex:none; background:#ffbb09; border-radius:3px; }
.g-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:28px 0 12px; }
body.sp-premium-v1.sp-growth .btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 22px; border:1px solid #b8cdd5; border-radius:999px; font-weight:850; font-size:14px; line-height:1.35; text-decoration:none; color:#0c2f39; background:#fff; }
body.sp-premium-v1.sp-growth .btn.primary { color:#0c2f39; background:#ffbb09; border-color:#ffbb09; box-shadow:0 12px 24px #ffbb091f; }
body.sp-growth .btn:hover { filter:brightness(.97); }
.g-support { display:inline-block; padding:8px 0; font-size:15px; font-weight:800; color:#155263; text-underline-offset:5px; }
.g-heading { max-width:760px; margin-bottom:32px; }
body.sp-growth .g-heading h2 { margin:12px 0 20px; font-size:clamp(30px,2.65vw,40px); line-height:1.12; letter-spacing:-.025em; }
.g-heading p { margin-bottom:0; color:#526b74; }
.g-proof { background:linear-gradient(110deg,#103844,#155263); color:#fff; }
.g-proof .g-container { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.g-proof .g-fact { padding:26px 22px; border-left:1px solid #ffffff24; font-size:14px; line-height:1.6; }
.g-proof .g-fact:last-child { border-right:1px solid #ffffff24; }
.g-proof strong { display:block; margin-bottom:4px; color:#ffd76f; font-size:16px; font-weight:850; }
.g-proof a { color:#fff!important; text-underline-offset:4px; }
.g-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.g-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.g-card { position:relative; padding:30px; border:1px solid #d8e3e8; border-top:3px solid #ffbb09; border-radius:20px; background:#fff; box-shadow:0 12px 34px #0c2f390a; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
body.sp-growth .g-card h3 { margin:8px 0; font-size:25px; line-height:1.16; }
.g-card p { margin:0 0 12px; color:#526b74; }
.g-card a { margin-top:auto; font-weight:800; padding:8px 0; text-underline-offset:4px; }
.g-card small { font-size:13px; color:#526b74; line-height:1.6; }
.g-number { font-size:12px; letter-spacing:.1em; color:#526b74; font-weight:800; }
.g-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; }
.g-split figure { margin:0; }
.g-split img { display:block; width:100%; height:auto; object-fit:cover; aspect-ratio:4/3; border-radius:28px; box-shadow:0 18px 42px #0c2f3917; }
.g-split figcaption { margin-top:12px; font-size:13px; color:#526b74; }
.g-coverage-list { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:24px 0; }
.g-coverage-list h3 { font-size:21px; margin:0 0 8px; }.g-coverage-list p { margin:0; }
.g-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:24px; }
.g-links a { padding:8px 0; font-weight:800; text-underline-offset:4px; }
.g-lane { padding:44px; border-radius:28px; background:linear-gradient(125deg,#103844,#155263); color:#fff; display:grid; grid-template-columns:1.15fr 1fr; gap:44px; align-items:center; box-shadow:0 18px 42px #0c2f3917; }
body.sp-growth .g-lane h2 { margin:14px 0 20px; font-size:clamp(30px,2.6vw,38px); line-height:1.12; color:#fff; }
.g-lane p { color:#e5eef0; margin:0 0 14px; }.g-lane small { display:block; font-size:13px; line-height:1.6; color:#e5eef0; }
.g-lane .g-eyebrow,.g-lane a:not(.btn) { color:#ffd76f; }
.g-lane-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.g-lane-form label,.g-form label { display:block; font-size:14px; font-weight:750; line-height:1.5; }
.g-lane .g-lane-form label { color:#fff!important; }
.g-lane-form input,.g-form :is(input,select,textarea) { display:block; width:100%; min-height:48px; margin-top:8px; padding:12px; border:1px solid #9db4be; border-radius:10px; background:#fff; color:#183744; font:inherit; font-size:16px; }
.g-lane-form input::placeholder,.g-form input::placeholder { color:#536974; opacity:1; }
.g-lane-form button { grid-column:1/-1; justify-self:start; margin-top:6px; }.g-full { grid-column:1/-1; }
.g-industry-list { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.g-industry-list article { border-top:1px solid #cddde3; padding:24px 0; }
.g-industry-list h3 { margin:0 0 12px; font-size:24px; line-height:1.2; }.g-industry-list p { margin:0 0 12px; color:#526b74; }
.g-industry-list a { font-weight:800; padding:8px 0; display:inline-block; text-underline-offset:4px; }
.g-steps { margin:0; padding:0; list-style:none; counter-reset:steps; }
.g-steps li { counter-increment:steps; padding:0 24px 0 0; }
.g-steps li::before { content:'0' counter(steps); display:inline-flex; padding:8px 0; color:#155263; border-bottom:3px solid #ffbb09; font-size:23px; font-weight:850; }
.g-steps h3 { font-size:23px; margin:18px 0 12px; }.g-steps p { color:#526b74; margin:0; }
.g-faq details { border-top:1px solid #cddde3; padding:16px 0; }.g-faq summary { font-size:18px; font-weight:800; padding:8px 0; cursor:pointer; }.g-faq p { max-width:75ch; }
.g-reading { max-width:820px; margin-inline:auto; }.g-reading section { margin-block:36px; }
.g-detail-sections { display:grid; grid-template-columns:1fr 1fr; gap:40px 56px; }
.g-detail-sections section { padding-top:24px; border-top:3px solid #ffbb09; }.g-detail-sections h2 { margin:0 0 16px; font-size:28px; line-height:1.2; }.g-detail-sections p { margin:0; }
.g-quote-intro { padding:40px 0 28px; max-width:850px; }
body.sp-premium-v1.sp-growth .g-quote-intro h1 { margin:14px 0 20px!important; font-size:clamp(36px,3.6vw,52px)!important; line-height:1.06!important; }
.g-quote-intro p { margin:0; font-size:17px; line-height:1.7; }.g-tabs { display:flex; gap:12px; margin-bottom:24px; }
body.sp-growth .g-tabs button[aria-pressed=true] { background:#155263!important; border-color:#155263; color:#fff!important; }
.g-quote-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:40px; align-items:start; }
.g-form { padding:30px; border:1px solid #d8e3e8; border-radius:20px; background:#fff; box-shadow:0 12px 34px #0c2f390a; }
.g-form-grid,.g-detail .quote-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.g-form fieldset { padding:0; margin:0 0 28px; border:0; }.g-form legend { margin-bottom:16px; font-size:19px; font-weight:800; }
.g-form details { border-top:1px solid #d8e3e8; margin-top:24px; padding-top:16px; }.g-form summary { padding:8px 0; cursor:pointer; font-weight:800; }
.g-form [hidden],.g-form .quote-honeypot { display:none!important; }
.g-form :is(.u-form-send-success,.u-form-send-error) { padding:20px; margin-top:24px; border:1px solid currentColor; border-radius:12px; font-size:16px; }
.g-form :is(.u-form-send-success,.u-form-send-error):not([hidden]) { display:block!important; }
.g-form .u-form-send-success { color:#155263; background:#eef7f4; }.g-form .u-form-send-error,.g-error-summary { color:#8c2621; }.g-form .u-form-send-error { background:#fff4f1; }

.g-form .privacy-note,.g-intent-note { font-size:14px!important; line-height:1.6; color:#45616d; }.g-intent-note { padding-top:12px; margin:0; }
.g-form input:is([type=checkbox],[type=radio]) { display:inline-block!important; width:20px!important; min-height:20px!important; height:20px!important; padding:0!important; margin:0 10px 0 0!important; vertical-align:middle; accent-color:#155263; }
.g-form label:has(>input:is([type=checkbox],[type=radio])) { display:flex!important; align-items:center; gap:10px; min-height:44px; padding-block:8px; }
.g-quote-aside { padding:24px; border-radius:20px; background:#eef4f6; border-top:4px solid #ffbb09; }
body.sp-growth .g-quote-aside h2 { font-size:23px; margin:0 0 18px; }.g-quote-aside p,.g-quote-aside a { font-size:15px; line-height:1.7; }.g-quote-aside a { overflow-wrap:anywhere; }
.g-capabilities { border:1px solid #d8e3e8; padding:32px; border-radius:20px; }.g-capabilities dl { display:grid; grid-template-columns:160px 1fr; gap:16px; }.g-capabilities dt { font-weight:800; }.g-capabilities dd { margin:0; }
.g-utility { background:#0c2f39; color:#fff; }.g-utility .g-container { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:36px; }
.g-utility :is(span,a) { font-size:12px; font-weight:750; }.g-utility a { color:#fff!important; padding:6px 0; }.g-utility-links { display:flex; gap:24px; }
body.sp-growth .site-header .primary-nav a { font-size:13px; }
body.sp-growth .site-header .primary-nav a.nav-quote { background:#ffbb09!important; color:#0c2f39!important; }
body.sp-growth .site-footer .footer-bottom { flex-wrap:wrap; gap:16px; }
body.sp-growth :is(.hero-grid,.premium-hero-layout,.hero-split) { align-items:center; }
body.sp-growth.sp-recovery-industry .hero h1 { font-size:clamp(36px,3.6vw,56px)!important; line-height:1.06!important; }
body.sp-growth:is(.sp-family-port,.sp-family-rail,.sp-family-yard) .hero h1 { font-size:clamp(36px,3.6vw,56px)!important; }
@media(max-width:1160px) {
  body.sp-premium-v1.sp-growth .nav-shell { grid-template-columns:minmax(0,1fr) auto!important; }
  body.sp-premium-v1.sp-growth .nav-toggle { display:inline-flex!important; }
  body.sp-premium-v1.sp-growth .site-header .primary-nav { display:none!important; }
  body.sp-premium-v1.sp-growth .site-header .primary-nav.open { display:flex!important; position:absolute; top:100%; left:24px; right:24px; max-height:calc(100dvh - 150px); overflow:auto; flex-direction:column; align-items:stretch; padding:20px; background:#fff; border:1px solid #d8e3e8; border-radius:20px; box-shadow:0 18px 42px #0c2f3917; }
  body.sp-growth .site-header .primary-nav a { font-size:16px; min-height:44px; }
  .g-lane { padding:32px; gap:32px; }.g-quote-layout { grid-template-columns:1fr; }.g-quote-aside { max-width:860px; }
}
@media(max-width:800px) {
  body.sp-growth .g-container { padding-inline:24px; } body.sp-growth .g-section { padding:48px 0; } body.sp-growth .g-hero { padding:40px 0 48px; }
  body.sp-growth .g-hero-grid,.g-split { grid-template-columns:1fr; gap:32px; }
  body.sp-premium-v1.sp-growth .g-hero h1 { font-size:clamp(34px,7.6vw,48px)!important; line-height:1.06!important; margin:16px 0 20px!important; }
  body.sp-growth .g-hero h1::after { width:64px; margin-top:20px; } body.sp-growth .g-hero p { font-size:17px; }
  body.sp-growth .g-hero-photo img,.g-split img { border-radius:24px; }
  .g-proof .g-container { grid-template-columns:1fr 1fr; }.g-proof .g-fact { padding:20px 14px; border-bottom:1px solid #ffffff24; }.g-proof .g-fact:nth-child(2) { border-right:1px solid #ffffff24; }
  .g-grid,.g-grid.two,.g-industry-list,.g-detail-sections { grid-template-columns:1fr; }.g-grid { gap:20px; }.g-card { padding:26px; }.g-split .g-heading { margin-bottom:24px; }
  .g-lane { grid-template-columns:1fr; padding:28px; gap:28px; border-radius:24px; }.g-lane-form,.g-form-grid,.g-detail .quote-grid { grid-template-columns:1fr; }
  .g-lane-form button { justify-self:stretch; }.g-coverage-list { gap:20px; }.g-form { padding:24px; }.g-quote-intro { padding:32px 0 24px; }.g-quote-layout { gap:24px; }
  .g-steps { gap:28px; }.g-steps li { padding:0; }.g-utility .g-utility-copy { display:none; }.g-utility .g-container { justify-content:flex-end; }
  .g-capabilities dl { grid-template-columns:1fr; gap:8px; }.g-capabilities dd { margin-bottom:12px; }
}
@media(max-width:360px) {
  body.sp-growth .g-container { padding-inline:20px; }.g-lane,.g-form { padding:20px; }.g-actions .btn { flex:1 1 100%; }.g-coverage-list { grid-template-columns:1fr; }
  .g-proof .g-fact { padding:16px 10px; font-size:13px; }.g-proof strong { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { body.sp-growth * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print {
  body.g-print-capabilities :is(header,footer,.g-utility,main>section,.sp-analytics-choice) { display:none!important; }
  body.g-print-capabilities main>section:has(#capability-sheet) { display:block!important; } #capability-sheet .btn { display:none; }.g-capabilities { border:0; padding:0; }
}

/* Shared control boundaries and state tokens; legacy border declaration retired by finalizer. */
body.sp-premium-v1.sp-growth :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){border:var(--sp-control-width,1px) solid var(--sp-control-color,#647f8a)!important;}
body.sp-growth [aria-invalid=true]{--sp-control-width:2px;--sp-control-color:#a52c24;}
body.sp-growth :is(input,select,textarea):disabled{background:#edf2f4!important;opacity:1;}
body.sp-growth .g-tool-correction{display:inline-block;min-height:44px;margin:8px 12px 8px 0;border:1px solid #647f8a;border-radius:10px;padding:8px 12px;background:white;color:#155263;font:inherit;cursor:pointer;}
body.sp-growth .tool-result.neutral{background:#eef4f6;border:1px solid #647f8a;color:#0c2f39;}
body.sp-growth .tool-result .btn{display:inline-flex;margin-top:18px;}
@media(forced-colors:active){body.sp-growth :is(input,select,textarea,button,a):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important;}body.sp-growth [aria-invalid=true]{border-style:double!important;}}
