:root {
  --ink: #0c2430;
  --navy: #07345f;
  --blue: #075f9f;
  --green: #008b62;
  --green-dark: #005b46;
  --mint: #dcf8ed;
  --silver: #c8d0d5;
  --silver-light: #f0f5f7;
  --gold: #d8ad43;
  --gold-light: #fff0bd;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(4, 42, 59, .12);
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at 6% 22%, rgba(0,139,98,.07), transparent 22%), radial-gradient(circle at 93% 51%, rgba(7,95,159,.08), transparent 24%), linear-gradient(180deg, #fbfdfd 0%, #eef5f7 48%, #fbfdfd 100%); font-family: "DM Sans", sans-serif; line-height: 1.55; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
.skip-link { position: fixed; z-index: 100; left: 20px; top: -80px; padding: 12px 16px; background: var(--ink); color: white; border-radius: 8px; }
.skip-link:focus { top: 12px; }

.site-header { position: absolute; z-index: 20; inset: 14px 0 auto; height: 78px; display: flex; align-items: center; justify-content: space-between; max-width: 1240px; margin: auto; padding: 0 24px; border: 1px solid rgba(255,255,255,.78); border-radius: 22px; background: rgba(255,255,255,.82); box-shadow: 0 12px 38px rgba(6,59,102,.09); backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 66px; height: 66px; overflow: hidden; background: white; border: 2px solid rgba(0,139,98,.24); border-radius: 50%; box-shadow: 0 9px 28px rgba(7,52,95,.16), 0 0 0 4px rgba(216,173,67,.1); }
.brand-mark img { width: 63px; height: 63px; object-fit: contain; }
.brand strong, .brand small { display: block; line-height: 1.15; }
.brand strong { font-family: Manrope, sans-serif; font-size: 18px; letter-spacing: -.025em; }
.brand small { margin-top: 4px; color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
nav { display: flex; align-items: center; gap: 20px; }
nav a { color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 600; }
.nav-cta { border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: linear-gradient(135deg, var(--green), var(--blue)); color: white; font-size: 13px; font-weight: 800; padding: 12px 18px; box-shadow: 0 9px 24px rgba(8,119,88,.2); cursor: pointer; }
.menu-button { display: none; }

.hero { position: relative; min-height: 680px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 60px; overflow: hidden; margin-top: 58px; padding: 76px max(28px, calc((100vw - 1184px)/2)) 96px; background: radial-gradient(circle at 7% 82%, rgba(216,173,67,.28), transparent 27%), radial-gradient(circle at 86% 18%, rgba(7,95,159,.2), transparent 31%), linear-gradient(135deg, #e4fff4 0%, #e7f4fc 54%, #fff4d8 100%); border-bottom: 1px solid rgba(200,208,213,.72); border-radius: 0 0 70px 70px; box-shadow: 0 28px 80px rgba(7,52,95,.1); }
.hero::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: linear-gradient(90deg, var(--green) 0 34%, var(--blue) 34% 68%, var(--gold) 68% 100%); }
.hero::after { content: ""; position: absolute; right: -120px; top: 90px; width: 480px; height: 480px; border: 1px solid rgba(11,112,189,.16); border-radius: 50%; box-shadow: 0 0 0 70px rgba(8,168,115,.06), 0 0 0 140px rgba(223,180,61,.045); }
.hero-copy, .hero-visual { position: relative; z-index: 2; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 17px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 26px; height: 2px; background: var(--gold); }
h1, h2, h3 { font-family: Manrope, sans-serif; line-height: 1.08; letter-spacing: -.045em; }
h1 { max-width: 670px; margin: 0; font-size: clamp(40px, 4.8vw, 64px); font-weight: 800; }
h1 em { color: var(--green-dark); font-style: normal; text-shadow: 0 7px 22px rgba(8,168,115,.13); }
.hero-intro { max-width: 650px; margin: 26px 0 0; color: #435b64; font-size: 18px; }
.hero-actions { display: flex; align-items: center; gap: 26px; margin-top: 34px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 51px; border: 0; border-radius: 999px; padding: 0 23px; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: linear-gradient(135deg, var(--green), var(--blue)); color: white; box-shadow: 0 12px 30px rgba(8,119,88,.25), inset 0 0 0 1px rgba(255,255,255,.22); }
.button-primary:hover { box-shadow: 0 17px 38px rgba(8,119,88,.34), 0 0 0 4px rgba(223,180,61,.13); }
.button-ghost { border: 1px solid rgba(7,52,95,.22); background: rgba(255,255,255,.76); color: var(--navy); box-shadow: 0 10px 28px rgba(7,52,95,.08); }
.button-light { background: white; color: var(--navy); box-shadow: 0 12px 30px rgba(0,0,0,.14); }
.text-link { color: var(--navy); font-size: 14px; font-weight: 700; text-decoration: none; }
.trust-row { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 42px; color: #51676f; font-size: 12px; font-weight: 600; }
.trust-row span::before { content: "✓"; margin-right: 7px; color: var(--green); }
.hero-visual { min-height: 520px; }
.orbit-card { position: absolute; border: 1px solid rgba(255,255,255,.55); box-shadow: var(--shadow); backdrop-filter: blur(10px); }
.orbit-main { inset: 88px 38px 88px 78px; display: flex; flex-direction: column; justify-content: center; padding: 48px; color: white; background: linear-gradient(145deg, rgba(6,59,102,.98), rgba(8,168,115,.97) 72%, rgba(223,180,61,.94)); border-radius: 44px 90px 44px 90px; transform: rotate(-2deg); box-shadow: 0 30px 70px rgba(6,59,102,.25); }
.orbit-main::before { content: "SW2G"; position: absolute; right: 27px; top: 18px; color: rgba(255,255,255,.06); font: 800 72px/1 Manrope, sans-serif; }
.mini-label { margin-bottom: 22px; color: #a5d7ce; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.orbit-main strong { font: 700 clamp(35px, 4vw, 53px)/1.09 Manrope, sans-serif; letter-spacing: -.04em; }
.orbit-main strong:nth-of-type(2) { color: var(--gold-light); }
.route-line { display: flex; gap: 48px; position: relative; margin-top: 40px; }
.route-line::before { content: ""; position: absolute; top: 5px; left: 5px; width: 104px; height: 2px; background: rgba(255,255,255,.28); }
.route-line i { z-index: 1; width: 12px; height: 12px; border: 3px solid rgba(255,255,255,.4); background: var(--green-dark); border-radius: 50%; }
.route-line i:last-child { border-color: var(--gold); background: var(--gold); }
.orbit-top, .orbit-bottom { z-index: 3; min-width: 202px; padding: 17px 20px; background: rgba(255,255,255,.88); border-radius: 18px; }
.orbit-top { top: 46px; right: 3px; }
.orbit-bottom { bottom: 40px; left: 2px; }
.orbit-top span, .orbit-bottom span { display: block; color: #647880; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.orbit-top b, .orbit-bottom b { color: var(--navy); font: 700 16px/1.4 Manrope, sans-serif; }
.gold-dot { position: absolute; z-index: 5; border-radius: 50%; background: var(--gold); box-shadow: 0 10px 24px rgba(213,170,59,.28); }
.gold-one { width: 19px; height: 19px; top: 109px; left: 45px; }
.gold-two { width: 10px; height: 10px; right: 20px; bottom: 111px; }

.brand-banner { position: relative; z-index: 4; width: min(1184px, calc(100% - 56px)); margin: 118px auto -30px; overflow: hidden; border: 1px solid rgba(216,173,67,.55); border-radius: 26px; background: #eef1f3; box-shadow: 0 24px 70px rgba(7,52,95,.22), 0 0 0 6px rgba(255,255,255,.78); }
.brand-banner::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 45px rgba(255,255,255,.18); }
.brand-banner img { display: block; width: 100%; height: auto; }

.momentum-strip { position: relative; z-index: 5; width: min(1060px, calc(100% - 32px)); margin: -26px auto 42px; overflow: hidden; border: 2px solid rgba(255,255,255,.8); border-radius: 999px; color: white; background: linear-gradient(90deg, var(--green-dark), var(--green), var(--blue), var(--navy)); box-shadow: 0 18px 45px rgba(5,55,75,.22), inset 0 1px rgba(255,255,255,.22); }
.momentum-strip div { display: flex; justify-content: center; align-items: center; gap: 18px; min-width: max-content; padding: 13px 30px; font: 700 13px/1 Manrope, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.momentum-strip i { color: var(--gold); font-size: 9px; font-style: normal; }
.momentum-strip span:last-child { color: var(--gold-light); font-family: "DM Sans", sans-serif; font-style: italic; letter-spacing: .02em; text-transform: none; }

.audience-paths { display: grid; grid-template-columns: 1.05fr .95fr; gap: 22px; max-width: 1184px; margin: 6px auto 0; padding: 0 0 46px; }
.audience-card { position: relative; min-height: 520px; padding: 52px 48px 44px; overflow: hidden; border-radius: 42px 18px 42px 18px; box-shadow: 0 24px 70px rgba(6,59,102,.16); }
.audience-card::after { content: ""; position: absolute; width: 250px; height: 250px; right: -120px; top: -110px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 0 0 34px rgba(255,255,255,.05), 0 0 0 70px rgba(255,255,255,.04); }
.individual-path { border: 1px solid rgba(0,139,98,.23); background: radial-gradient(circle at 90% 0, rgba(216,173,67,.28), transparent 30%), linear-gradient(145deg, #f7fffb, #e8fff5 55%, #fff); }
.business-path { margin-top: 34px; color: white; background: radial-gradient(circle at 95% 5%, rgba(216,173,67,.2), transparent 28%), linear-gradient(140deg, var(--navy), #056c78 52%, var(--green)); }
.audience-number { position: absolute; right: 34px; top: 28px; color: rgba(7,52,95,.15); font: 800 80px/1 Manrope, sans-serif; }
.business-path .audience-number { color: rgba(255,255,255,.12); }
.audience-card h2 { position: relative; max-width: 610px; margin: 18px 0; font-size: clamp(32px, 3.25vw, 46px); line-height: 1.08; }
.audience-card > p:not(.eyebrow) { max-width: 590px; color: #526a72; }
.business-path > p:not(.eyebrow) { color: #d2e4e4; }
.audience-card ul { display: grid; gap: 10px; margin: 28px 0 32px; padding: 0; list-style: none; }
.audience-card li { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.audience-card li::before { content: "✓"; display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; background: rgba(0,139,98,.12); color: var(--green); font-size: 12px; }
.business-path li::before { background: rgba(255,255,255,.13); color: var(--gold-light); }

.highlights-section { position: relative; margin: 0; padding: 104px max(28px, calc((100vw - 1184px) / 2)) 118px; overflow: hidden; color: white; background: linear-gradient(125deg, #041f36, var(--navy) 40%, #006c63 100%); }
.highlights-section .section-heading { position: relative; z-index: 2; }
.highlights-section .section-heading > p { color: #c9dadd; }
.highlights-orb { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.highlights-orb-one { width: 390px; height: 390px; top: -210px; right: -90px; background: radial-gradient(circle, rgba(216,173,67,.34), transparent 65%); }
.highlights-orb-two { width: 430px; height: 430px; bottom: -280px; left: -120px; background: radial-gradient(circle, rgba(0,184,132,.32), transparent 65%); }
.flyer-gallery { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 28px; max-width: 980px; margin: 0 auto; }
.flyer-card { position: relative; padding: 0; overflow: hidden; text-align: left; border: 1px solid rgba(255,255,255,.19); border-radius: 24px; background: rgba(255,255,255,.08); color: white; box-shadow: 0 20px 50px rgba(0,0,0,.22); cursor: zoom-in; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.flyer-card:hover, .flyer-card:focus-visible { transform: translateY(-9px) rotate(-.4deg); outline: none; border-color: rgba(255,228,155,.72); box-shadow: 0 28px 70px rgba(0,0,0,.34), 0 0 0 4px rgba(216,173,67,.12); }
.featured-flyer { transform: translateY(-12px) rotate(.5deg); }
.featured-flyer:hover, .featured-flyer:focus-visible { transform: translateY(-18px) rotate(.4deg); }
.flyer-image { display: block; aspect-ratio: 1 / 1.1; overflow: hidden; background: white; }
.featured-flyer .flyer-image { aspect-ratio: 3 / 3.6; }
.flyer-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .45s ease; }
.flyer-card:hover .flyer-image img { transform: scale(1.025); }
.flyer-caption { position: relative; display: block; min-height: 94px; padding: 20px 52px 19px 21px; background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.05)); }
.flyer-caption b, .flyer-caption small { display: block; }
.flyer-caption b { font: 700 17px/1.25 Manrope, sans-serif; }
.flyer-caption small { margin-top: 7px; color: #bfd4d8; font-size: 12px; }
.flyer-caption i { position: absolute; right: 20px; top: 24px; display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; background: var(--gold); color: #173239; font-style: normal; }
.highlight-ribbon { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 42px; }
.highlight-ribbon span { padding: 10px 15px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; background: rgba(255,255,255,.075); color: #e1eff0; font-size: 12px; font-weight: 700; }
.flyer-dialog { width: min(860px, calc(100% - 28px)); max-height: 94vh; padding: 0; overflow: visible; border: 0; border-radius: 24px; background: transparent; box-shadow: 0 35px 100px rgba(0,0,0,.42); }
.flyer-dialog::backdrop { background: rgba(2,20,30,.86); backdrop-filter: blur(8px); }
.flyer-dialog img { display: block; max-width: 100%; max-height: 90vh; margin: auto; border-radius: 24px; }
.flyer-dialog-close { position: absolute; z-index: 2; right: -13px; top: -13px; width: 42px; height: 42px; border: 2px solid white; border-radius: 50%; background: var(--gold); color: #173239; font-size: 26px; line-height: 1; cursor: pointer; box-shadow: 0 8px 22px rgba(0,0,0,.25); }

.services { max-width: 1240px; margin: auto; padding: 110px 28px 118px; }
.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 80px; margin-bottom: 44px; }
.section-heading h2, .matcher-copy h2, .closing-cta h2 { margin: 0; font-size: clamp(36px, 4vw, 54px); }
.section-heading > p { max-width: 480px; margin: 0 0 4px; color: #61757d; }
.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.service-card { position: relative; min-height: 318px; padding: 35px 31px 31px; overflow: hidden; background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(242,248,249,.96)); border: 1px solid #d7e3e6; border-radius: 36px 14px 36px 14px; box-shadow: 0 16px 42px rgba(6,59,102,.09); transition: transform .25s, box-shadow .25s, border-color .25s; }
.service-card::after { content: ""; position: absolute; right: -54px; bottom: -65px; width: 170px; height: 170px; border: 1px solid rgba(7,95,159,.12); border-radius: 50%; box-shadow: 0 0 0 24px rgba(0,139,98,.045), 0 0 0 48px rgba(216,173,67,.035); }
.service-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--green), var(--blue)); }
.service-card:nth-child(2)::before { background: linear-gradient(90deg, var(--blue), var(--silver)); }
.service-card:nth-child(3)::before { background: linear-gradient(90deg, var(--gold), var(--green)); }
.service-card:nth-child(4)::before { background: linear-gradient(90deg, var(--green), var(--gold)); }
.service-card:hover { transform: translateY(-8px) rotate(-.35deg); border-color: rgba(15,159,110,.38); box-shadow: 0 28px 70px rgba(7,57,95,.15); }
.service-card.featured { background: linear-gradient(145deg, #e6fff5, white 72%); border-color: rgba(8,168,115,.3); }
.service-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 2px solid rgba(255,255,255,.9); border-radius: 50% 50% 50% 16px; background: linear-gradient(145deg, var(--gold-light), var(--gold)); color: var(--navy); font: 800 24px/1 Manrope, sans-serif; box-shadow: 0 10px 25px rgba(216,173,67,.28); }
.service-label { position: absolute; left: 98px; top: 51px; color: var(--green-dark); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.service-number { position: absolute; top: 31px; right: 31px; color: #a9b8be; font: 700 12px/1 Manrope, sans-serif; }
.service-card h3 { margin: 39px 0 13px; font-size: 25px; }
.service-card p { max-width: 480px; margin: 0; color: #60747c; font-size: 15px; }
.card-link { position: absolute; bottom: 28px; left: 31px; display: flex; gap: 10px; padding: 0; border: 0; background: none; color: var(--green); font-size: 13px; font-weight: 800; cursor: pointer; }
.bundle-card { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; min-height: 286px; color: white; background: linear-gradient(125deg, var(--navy), #077b83 48%, var(--green)); border: 0; box-shadow: 0 26px 62px rgba(6,59,102,.2); }
.bundle-card::before { background: linear-gradient(90deg, var(--gold), var(--silver), var(--gold)); }
.bundle-card:hover { border-color: transparent; }
.bundle-card .service-icon { color: var(--gold-light); background: rgba(255,255,255,.1); }
.bundle-card .service-number { color: rgba(255,255,255,.5); }
.bundle-card h3 { color: white; }
.bundle-card p { color: #c4d9de; }
.bundle-card .card-link { color: var(--gold-light); }
.bundle-options { display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: 11px; }
.bundle-options span { padding: 15px 17px; border: 1px solid rgba(255,255,255,.15); border-radius: 13px; background: rgba(255,255,255,.07); color: #eff7f7; font-size: 13px; font-weight: 700; }

.careers-section { position: relative; display: grid; grid-template-columns: 1fr; gap: 48px; overflow: hidden; padding: 108px max(28px, calc((100vw - 1184px)/2)); color: white; background: radial-gradient(circle at 12% 86%, rgba(216,173,67,.24), transparent 28%), radial-gradient(circle at 92% 12%, rgba(0,172,121,.24), transparent 26%), linear-gradient(120deg, #05233f, #062f5c 46%, #004d42); }
.careers-section::before { content: ""; position: absolute; inset: 0; opacity: .32; background-image: radial-gradient(rgba(255,255,255,.32) 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(90deg, transparent, black 35%, black 70%, transparent); }
.careers-copy, .careers-board { position: relative; z-index: 2; }
.careers-kicker { display: inline-flex; margin: 18px 0 8px; padding: 8px 14px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(255,255,255,.08); color: var(--gold-light); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.careers-copy h2 { margin: 18px 0 22px; font-size: clamp(42px, 5vw, 66px); line-height: .98; letter-spacing: -.055em; }
.careers-copy h2 em { color: var(--gold-light); font-family: Georgia, serif; font-weight: 400; }
.careers-copy > p:not(.eyebrow) { max-width: 760px; color: #cadddf; font-size: 17px; }
.careers-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 34px; }
.careers-actions > span { max-width: 260px; color: #a8c2c7; font-size: 12px; }
.careers-board { padding: 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 34px 14px 34px 14px; background: rgba(255,255,255,.1); box-shadow: 0 32px 80px rgba(0,0,0,.28); backdrop-filter: blur(14px); }
.careers-board-top { display: flex; justify-content: space-between; align-items: center; padding: 10px 10px 17px; color: #cce0e2; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.careers-board-top b { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: var(--navy); background: linear-gradient(145deg, var(--gold-light), var(--gold)); box-shadow: 0 9px 25px rgba(216,173,67,.28); }
.career-poster-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.career-poster { overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 22px; background: rgba(2,24,45,.72); box-shadow: 0 22px 48px rgba(0,0,0,.24); }
.job-card-visual { position: relative; display: flex; align-items: flex-end; justify-content: space-between; min-height: 155px; padding: 24px; overflow: hidden; background: linear-gradient(135deg, #075f55, #07355f); }
.job-card-visual::before { content: ""; position: absolute; width: 180px; height: 180px; right: -36px; top: -64px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; box-shadow: 0 0 0 24px rgba(255,255,255,.05), 0 0 0 48px rgba(255,255,255,.035); }
.job-card-visual::after { content: ""; position: absolute; inset: auto 24px 22px; height: 2px; background: linear-gradient(90deg, var(--gold-light), transparent); }
.job-card-visual span { position: relative; z-index: 1; color: white; font: 800 54px/1 Manrope, sans-serif; letter-spacing: -.07em; }
.job-card-visual i { position: relative; z-index: 1; align-self: flex-start; color: var(--gold-light); font: 800 14px/1 Manrope, sans-serif; letter-spacing: .12em; }
.electrical-visual { background: linear-gradient(135deg, #006b53, #082f52 62%, #0d72a6); }
.mechanical-visual { background: linear-gradient(135deg, #0a3a64, #075a55 62%, #b68a22); }
.cam-visual { background: linear-gradient(135deg, #063f67, #08755e 58%, #d1a83f); }
.career-poster-copy { padding: 20px 22px 23px; }
.career-poster-copy span { display: block; color: var(--gold-light); font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.career-poster-copy b { display: block; margin-top: 8px; color: white; font: 800 clamp(19px, 2vw, 25px)/1.2 Manrope, sans-serif; }
.career-poster-copy small { display: block; margin-top: 8px; color: #c8dadd; font-size: 13px; line-height: 1.55; }
.career-poster-copy ul { min-height: 116px; margin: 17px 0 0; padding-left: 18px; color: #d6e5e6; font-size: 13px; line-height: 1.55; }
.career-poster-copy li + li { margin-top: 7px; }
.career-poster-copy strong { min-height: 34px; margin-top: 15px; color: white !important; font-size: 12px !important; line-height: 1.4; }
.career-poster-copy a { display: inline-flex; margin-top: 15px; color: var(--gold-light); font-size: 13px; font-weight: 800; text-underline-offset: 4px; }
.career-poster-copy .pause-notice { margin: 14px 0 0; padding: 9px 11px; border: 1px solid #ffaaa3; border-radius: 8px; color: #fff; background: #a5241c; font-size: 12px; font-weight: 800; line-height: 1.4; }
.career-poster-copy .open-notice { margin: 14px 0 0; padding: 9px 11px; border: 1px solid rgba(255,226,148,.55); border-radius: 8px; color: #fff0bd; background: rgba(0,139,98,.25); font-size: 12px; font-weight: 800; line-height: 1.4; }
.careers-board article { display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: center; padding: 20px 18px; border-top: 1px solid rgba(255,255,255,.15); transition: transform .22s, background .22s; }
.careers-board article:hover { transform: translateX(5px); border-radius: 15px; background: rgba(255,255,255,.08); }
.careers-board article > span { color: var(--gold-light); font: 800 18px/1 Manrope, sans-serif; }
.careers-board article b, .careers-board article small, .careers-board article strong { display: block; }
.careers-board article b { font: 700 18px/1.3 Manrope, sans-serif; }
.careers-board article small { margin-top: 5px; color: #b9cdd1; font-size: 13px; }
.careers-board article strong { margin-top: 8px; color: var(--gold-light); font-size: 11px; letter-spacing: .025em; }
.careers-board article strong a { color: inherit; text-decoration-color: rgba(255,226,148,.55); text-underline-offset: 3px; }
.careers-board article strong a:hover { color: white; text-decoration-color: white; }
.careers-board details { margin-top: 10px; color: #d8e8e9; font-size: 12px; }
.careers-board summary { width: max-content; color: white; font-weight: 800; cursor: pointer; }
.careers-board details p { max-width: 620px; margin: 7px 0 0; color: #b9cdd1; line-height: 1.5; }
.contractor-lane { border-left: 4px solid var(--green); }
.jobs-lane { border-left: 4px solid var(--blue); }
.openings-lane { border-left: 4px solid var(--gold); }
.nyc-lane { border-left: 4px solid #4fb8d7; }
.network-lane { border-left: 4px solid var(--green); }
.electrical-lane { border-left: 4px solid var(--green); }
.sf-lane { border-left: 4px solid var(--gold); }
.cam-lane { border-left: 4px solid var(--blue); }
.careers-board .career-poster { display: block; padding: 0; border-top: 1px solid rgba(255,255,255,.2); }
.careers-board .career-poster:hover { transform: translateY(-4px); border-radius: 22px; background: rgba(2,24,45,.86); }
.careers-route { position: absolute; z-index: 1; left: 4%; right: 4%; top: 50%; height: 2px; border-top: 2px dashed rgba(216,173,67,.27); transform: rotate(-7deg); }
.careers-route i { position: absolute; top: -7px; width: 14px; height: 14px; border: 3px solid var(--gold); border-radius: 50%; background: var(--navy); }
.careers-route i:nth-child(1) { left: 8%; }
.careers-route i:nth-child(2) { left: 36%; }
.careers-route i:nth-child(3) { left: 67%; }
.careers-route i:nth-child(4) { right: 5%; }

.contractor-section { padding: 108px 28px; background: linear-gradient(180deg, #f7fbfa, #e9f6f2); }
.contractor-shell { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 58px; align-items: center; max-width: 1184px; margin: auto; padding: 58px; border: 1px solid rgba(5,88,73,.18); border-radius: 32px; background: radial-gradient(circle at 100% 0, rgba(216,173,67,.18), transparent 30%), white; box-shadow: 0 28px 80px rgba(6,59,102,.14); }
.contractor-copy { padding: 6px 0; }
.contractor-copy h2 { margin: 18px 0 20px; font-size: clamp(38px, 4.5vw, 62px); line-height: 1; letter-spacing: -.055em; }
.contractor-copy h2 em { color: var(--green); font-family: Georgia, serif; font-weight: 400; }
.contractor-copy > p:not(.eyebrow) { margin-bottom: 30px; color: #5e7378; font-size: 17px; line-height: 1.75; }
.contractor-terms { display: flex; flex-wrap: wrap; gap: 9px; margin: -10px 0 20px; }
.contractor-terms span { padding: 8px 12px; border: 1px solid rgba(7,95,85,.2); border-radius: 999px; background: #eff9f6; color: var(--green); font-size: 12px; font-weight: 800; }
.contractor-copy .contractor-note { margin-bottom: 26px !important; padding: 14px 16px; border-left: 4px solid var(--gold); background: #fffaf0; color: #485f65 !important; font-size: 14px !important; line-height: 1.55 !important; }
.contractor-opportunities { display: grid; gap: 18px; }
.contractor-opportunity-card { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: center; padding: 15px; border: 1px solid rgba(7,95,85,.16); border-radius: 22px; background: white; box-shadow: 0 14px 38px rgba(6,59,102,.1); }
.contractor-flyer-button { padding: 0; overflow: hidden; border: 0; border-radius: 16px; background: transparent; cursor: zoom-in; }
.contractor-flyer-button img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.contractor-opportunity-card span, .contractor-opportunity-card b, .contractor-opportunity-card small { display: block; }
.contractor-opportunity-card span { margin-bottom: 8px; color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.contractor-opportunity-card b { color: var(--navy); font-size: 18px; line-height: 1.25; }
.contractor-opportunity-card small { margin-top: 8px; color: #65797e; font-size: 12px; line-height: 1.45; }
.contractor-specialties { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.contractor-specialties div { position: relative; min-height: 132px; padding: 22px; overflow: hidden; border: 1px solid rgba(7,95,85,.16); border-radius: 18px; background: linear-gradient(145deg, #f9fffd, #edf7f4); }
.contractor-specialties div:nth-child(even) { background: linear-gradient(145deg, #f9fcff, #edf5fb); }
.contractor-specialties span { display: block; margin-bottom: 18px; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.contractor-specialties b, .contractor-specialties small { display: block; }
.contractor-specialties b { color: var(--navy); font-size: 17px; }
.contractor-specialties small { margin-top: 6px; color: #6f8085; font-size: 12px; line-height: 1.45; }

.intake-section { max-width: 1240px; margin: auto; padding: 110px 28px 118px; }
.intake-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.intake-card { position: relative; min-height: 300px; padding: 42px 36px 36px; overflow: hidden; border: 1px solid rgba(8,168,115,.25); border-radius: 24px; background: radial-gradient(circle at 95% 8%, rgba(223,180,61,.2), transparent 26%), linear-gradient(145deg, #ffffff, #eafff6); box-shadow: 0 20px 56px rgba(6,59,102,.1); }
.intake-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 7px; background: linear-gradient(90deg, var(--green), var(--gold)); }
.intake-card:nth-child(2) { border-color: rgba(11,112,189,.24); background: radial-gradient(circle at 95% 8%, rgba(206,218,224,.65), transparent 28%), linear-gradient(145deg, #ffffff, #eaf6ff); }
.intake-card:nth-child(2)::before { background: linear-gradient(90deg, var(--blue), var(--silver), var(--gold)); }
.intake-tag { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.intake-card h3 { margin: 18px 0 12px; font-size: 28px; }
.intake-card p { max-width: 510px; margin: 0 0 28px; color: #60747c; }

.matcher-section { padding: 0 28px 100px; }
.matcher-shell { position: relative; display: grid; grid-template-columns: .78fr 1.22fr; gap: 70px; max-width: 1184px; margin: auto; padding: 64px; overflow: hidden; background: radial-gradient(circle at 0 100%, rgba(223,180,61,.22), transparent 28%), linear-gradient(135deg, var(--navy), #087d87 48%, var(--green)); border: 1px solid rgba(255,255,255,.18); border-radius: 34px; box-shadow: 0 32px 80px rgba(6,59,102,.22); }
.eyebrow.light { color: #b6dad4; }
.matcher-copy { align-self: center; color: white; }
.matcher-copy h2 { max-width: 390px; }
.matcher-copy > p:not(.eyebrow) { max-width: 380px; margin: 23px 0; color: #bfd2d5; }
.matcher-note { display: flex; gap: 9px; align-items: center; color: var(--gold-light); font-size: 12px; font-weight: 600; }
.matcher-card { min-height: 445px; padding: 34px; background: #fff; border-radius: 24px; box-shadow: 0 18px 55px rgba(0,0,0,.13); }
.progress-row { display: flex; align-items: center; gap: 16px; color: #76868b; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.progress { flex: 1; height: 4px; overflow: hidden; background: #e9eef0; border-radius: 99px; }
.progress i { display: block; width: 50%; height: 100%; background: linear-gradient(90deg, var(--green), var(--gold)); border-radius: inherit; transition: width .35s; }
.question { margin: 36px 0 21px; font: 700 23px/1.25 Manrope, sans-serif; letter-spacing: -.025em; }
.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; }
.choice-grid.two-col { margin-top: 8px; }
.choice { min-height: 99px; padding: 17px; text-align: left; border: 1px solid #dfe7e9; background: #fbfcfc; border-radius: 14px; cursor: pointer; transition: border .2s, background .2s, transform .2s; }
.choice:hover, .choice:focus-visible { transform: translateY(-2px); outline: none; border-color: var(--green); background: var(--mint); }
.choice-icon { display: block; margin-bottom: 14px; color: var(--green); font-size: 20px; }
.choice b, .choice small { display: block; }
.choice b { font-size: 14px; }
.choice small { margin-top: 4px; color: #75868b; font-size: 11px; }
.back-button { margin-top: 17px; padding: 0; border: 0; background: none; color: var(--green); font-size: 12px; font-weight: 700; cursor: pointer; }
.match-step { display: none; }
.match-step.active { display: block; animation: fadeUp .35s ease both; }
.result-kicker { display: block; margin-top: 32px; color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.result-icon { float: right; display: grid; place-items: center; width: 42px; height: 42px; margin-top: -18px; color: white; background: var(--green); border-radius: 50%; }
#result-title { margin: 13px 55px 10px 0; font-size: 29px; }
#result-description { margin: 0 0 13px; color: #5d7178; font-size: 14px; }
#result-includes { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 22px; margin: 16px 0 24px; padding: 0; list-style: none; color: #354d56; font-size: 12px; }
#result-includes li::before { content: "✓"; margin-right: 7px; color: var(--green); font-weight: 800; }
.result-actions { display: flex; align-items: center; gap: 18px; }
.button-gold { min-height: 46px; background: linear-gradient(135deg, var(--gold), #f3d679); color: #213338; box-shadow: 0 10px 24px rgba(223,180,61,.25); }
.reset-button { padding: 6px; border: 0; background: none; color: #6b7d83; font-size: 12px; font-weight: 700; cursor: pointer; }
.closing-cta { max-width: 890px; margin: 105px auto 30px; text-align: center; }
.closing-cta > p { margin: 0 0 12px; color: var(--green); font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.closing-cta h2 { margin-bottom: 29px; }

footer { display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 30px; max-width: 1184px; margin: auto; padding: 38px 0 42px; border-top: 4px solid transparent; border-image: linear-gradient(90deg, var(--green), var(--blue), var(--gold)) 1; color: #687b82; font-size: 12px; }
.footer-brand strong, .footer-brand span { display: block; color: var(--ink); }
.footer-brand strong { font-family: Manrope, sans-serif; }
.footer-brand span { color: var(--blue); font-weight: 700; }
footer a { color: var(--green); font-weight: 700; }
footer small { grid-column: 1/-1; color: #8a999e; }

.inquiry-dialog { max-width: none; width: 100%; height: 100%; padding: 20px; border: 0; background: transparent; }
.inquiry-dialog::backdrop { background: rgba(4,28,38,.72); backdrop-filter: blur(6px); }
.dialog-card { position: relative; width: min(880px, 100%); max-height: 94vh; margin: 1vh auto; padding: 46px 42px 42px; overflow-y: auto; background: linear-gradient(180deg, #f8fffc, #fff 180px); border: 1px solid rgba(255,255,255,.8); border-top: 7px solid var(--gold); border-radius: 26px; box-shadow: 0 32px 90px rgba(4,28,38,.28); }
.dialog-card h2 { margin: 0; font-size: 34px; }
.dialog-intro { margin: 12px 0 24px; color: #60747c; font-size: 14px; }
.dialog-close { position: sticky; z-index: 2; top: 0; float: right; width: 36px; height: 36px; margin-top: -15px; margin-right: -15px; border: 0; border-radius: 50%; background: #f0f4f5; font-size: 22px; cursor: pointer; }
.dialog-card label { display: block; margin-top: 15px; color: #304950; font-size: 14px; font-weight: 700; }
.dialog-card input, .dialog-card select, .dialog-card textarea { width: 100%; margin-top: 7px; padding: 12px 13px; border: 1px solid #d8e1e4; border-radius: 10px; background: #fbfcfc; color: var(--ink); resize: vertical; }
.dialog-card input:focus, .dialog-card select:focus, .dialog-card textarea:focus { outline: 2px solid rgba(15,159,110,.22); border-color: var(--green); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.contact-requirement { margin: 0 0 16px; color: var(--text-muted, #485d67); font-size: .875rem; }
.full-field { grid-column: 1/-1; }
.button.full { width: 100%; margin-top: 21px; }
.privacy-note { display: block; margin-top: 12px; color: #75868b; text-align: center; }
.intake-panel { display: none; }
.intake-panel.active { display: block; animation: fadeUp .3s ease both; }
.intake-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.intake-choice { min-height: 150px; padding: 25px; text-align: left; border: 1px solid #dfe7e9; border-radius: 17px; background: #f8fbfa; cursor: pointer; transition: transform .2s, border-color .2s, background .2s; }
.intake-choice:hover, .intake-choice:focus-visible { transform: translateY(-2px); outline: none; border-color: var(--green); background: var(--mint); }
.intake-choice b, .intake-choice span { display: block; }
.intake-choice b { margin-bottom: 9px; font: 700 18px/1.25 Manrope, sans-serif; }
.intake-choice span { color: #60747c; font-size: 13px; }
.intake-back { margin: 0 0 23px; padding: 0; border: 0; background: none; color: var(--green); font-size: 13px; font-weight: 800; cursor: pointer; }
.intake-form fieldset { margin: 30px 0 0; padding: 21px; border: 1px solid #dfe7e9; border-radius: 17px; background: #fff; }
.intake-form legend { padding: 0 8px; color: var(--navy); font: 700 18px/1.2 Manrope, sans-serif; }
.field-help { margin: 0 0 10px; color: #6b7d83; font-size: 13px; }
.checkbox-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 15px; margin: 12px 0 20px; }
.checkbox-grid label, .dialog-card label.agreement { display: flex; align-items: flex-start; gap: 9px; margin: 0; padding: 11px; border: 1px solid #e3eaed; border-radius: 10px; background: #f8fafb; font-weight: 600; }
.dialog-card .checkbox-grid input, .dialog-card label.agreement input { flex: 0 0 auto; width: 17px; height: 17px; margin: 2px 0 0; padding: 0; accent-color: var(--green); }
.conditional-section { background: #f4faf7 !important; border-color: rgba(9,130,92,.28) !important; }
.conditional-section[hidden] { display: none; }
.dialog-card label.agreement { margin-top: 8px; line-height: 1.45; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .site-header { inset: 10px 14px auto; height: 76px; }
  nav { display: none; position: absolute; top: 70px; right: 22px; flex-direction: column; align-items: stretch; width: 235px; padding: 20px; background: white; border-radius: 17px; box-shadow: var(--shadow); }
  nav.open { display: flex; }
  .menu-button { display: grid; gap: 5px; width: 40px; height: 40px; place-content: center; border: 0; border-radius: 50%; background: white; cursor: pointer; }
  .menu-button span { display: block; width: 18px; height: 2px; background: var(--ink); }
  .hero { min-height: auto; grid-template-columns: 1fr; gap: 24px; margin-top: 42px; padding-top: 70px; }
  .hero-copy { text-align: center; }
  .eyebrow, .hero-actions, .trust-row { justify-content: center; }
  .hero-intro { margin-left: auto; margin-right: auto; }
  .hero-visual { width: min(600px, 100%); margin: auto; }
  .audience-paths { grid-template-columns: 1fr; padding: 0 28px 70px; }
  .audience-card { min-height: auto; }
  .business-path { margin-top: 0; }
  .section-heading { grid-template-columns: 1fr; gap: 18px; }
  .flyer-gallery { grid-template-columns: repeat(2, 1fr); }
  .featured-flyer { transform: none; }
  .featured-flyer:hover, .featured-flyer:focus-visible { transform: translateY(-9px); }
  .intake-card-grid { grid-template-columns: 1fr; }
  .careers-section { grid-template-columns: 1fr; gap: 44px; }
  .careers-copy { text-align: center; }
  .careers-copy .eyebrow, .careers-actions { justify-content: center; }
  .careers-copy > p:not(.eyebrow) { margin-left: auto; margin-right: auto; }
  .career-poster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contractor-shell { grid-template-columns: 1fr; gap: 28px; }
  .contractor-copy { padding: 12px 24px 24px; text-align: center; }
  .contractor-copy .eyebrow { justify-content: center; }
  .matcher-shell { grid-template-columns: 1fr; gap: 34px; padding: 42px; }
  .matcher-copy { text-align: center; }
  .matcher-copy h2, .matcher-copy > p:not(.eyebrow) { margin-left: auto; margin-right: auto; }
  .matcher-copy .eyebrow, .matcher-note { justify-content: center; }
  footer { margin: 0 28px; grid-template-columns: 1fr auto; }
  footer > p { display: none; }
}

@media (max-width: 620px) {
  .site-header { padding: 0 14px; border-radius: 18px; }
  .brand-mark { width: 52px; height: 52px; }
  .brand-mark img { width: 49px; height: 49px; }
  .brand strong { font-size: 12px; }
  .brand small { font-size: 9px; }
  .hero { padding-left: 20px; padding-right: 20px; padding-bottom: 64px; }
  h1 { font-size: clamp(42px, 13vw, 58px); }
  .hero-intro { font-size: 16px; }
  .hero-actions { flex-direction: column; gap: 16px; }
  .hero-actions .button { width: 100%; }
  .trust-row { margin-top: 30px; }
  .hero-visual { min-height: 390px; }
  .orbit-main { inset: 58px 11px 62px 25px; padding: 32px; border-radius: 34px 66px 34px 66px; }
  .orbit-main strong { font-size: 36px; }
  .orbit-top { top: 25px; right: 0; }
  .orbit-bottom { bottom: 22px; left: 0; }
  .gold-one { left: 10px; top: 105px; }
  .brand-banner { width: calc(100% - 28px); margin-top: 102px; margin-bottom: -20px; border-radius: 18px; }
  .momentum-strip { margin-top: -18px; margin-bottom: 30px; }
  .momentum-strip div { justify-content: flex-start; gap: 13px; padding: 12px 18px; font-size: 10px; }
  .audience-paths { padding: 0 14px 62px; }
  .audience-card { padding: 40px 24px 30px; border-radius: 24px; }
  .audience-number { right: 22px; top: 22px; font-size: 60px; }
  .audience-card h2 { font-size: 34px; }
  .services { padding: 80px 20px; }
  .highlights-section { margin-bottom: 0; padding: 76px 14px; }
  .highlights-section .section-heading { padding: 0 6px; }
  .flyer-gallery { grid-template-columns: 1fr; gap: 17px; }
  .flyer-card { width: 100%; }
  .flyer-image { aspect-ratio: 1 / 1.08; }
  .flyer-dialog-close { right: 5px; top: 5px; }
  .intake-section { padding: 80px 20px; }
  .careers-section { padding: 78px 20px; }
  .careers-copy h2 { font-size: 44px; }
  .careers-actions { align-items: stretch; flex-direction: column; }
  .careers-actions .button { width: 100%; }
  .careers-board { padding: 12px; }
  .career-poster-grid { grid-template-columns: 1fr; gap: 18px; }
  .contractor-section { padding: 76px 18px; }
  .contractor-shell { grid-template-columns: 1fr; gap: 22px; padding: 16px; }
  .contractor-copy { padding: 14px 10px 18px; }
  .contractor-specialties { grid-template-columns: 1fr; }
  .contractor-opportunity-card { grid-template-columns: 112px 1fr; gap: 14px; }
  .contractor-opportunity-card b { font-size: 16px; }
  .career-poster-copy ul { min-height: 0; }
  .career-poster-copy small { min-height: 0; }
  .careers-board article { grid-template-columns: 42px 1fr; padding: 16px 10px; }
  .careers-board .career-poster { display: block; padding: 0; }
  .section-heading h2, .matcher-copy h2, .closing-cta h2 { font-size: 36px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 310px; }
  .bundle-card { grid-column: auto; grid-template-columns: 1fr; gap: 22px; padding-bottom: 76px; }
  .bundle-options { grid-template-columns: 1fr; }
  .matcher-section { padding: 0 14px 70px; }
  .matcher-shell { gap: 28px; padding: 35px 14px 14px; border-radius: 26px; }
  .matcher-copy { padding: 0 12px; }
  .matcher-card { min-height: 500px; padding: 25px 19px; }
  .choice-grid { grid-template-columns: 1fr; }
  #result-includes { grid-template-columns: 1fr; }
  .result-actions { align-items: stretch; flex-direction: column; gap: 8px; }
  .closing-cta { margin-top: 80px; padding: 0 12px; }
  footer { grid-template-columns: 1fr; gap: 11px; margin: 0 20px; }
  .dialog-card { padding: 31px 20px 24px; }
  .dialog-card h2 { font-size: 29px; }
  .form-grid { grid-template-columns: 1fr; }
  .full-field { grid-column: auto; }
  .intake-choice-grid, .checkbox-grid { grid-template-columns: 1fr; }
  .intake-form fieldset { padding: 16px 13px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
