/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--emerald:#20d878;--deep:#1b4332;--ink:#111512;--charcoal:#191d1a;--paper:#f3f1ea;--silver:#bfc4c9;--muted:#687069}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{z-index:20;color:#fff;border-bottom:1px solid #ffffff21;justify-content:space-between;align-items:center;gap:28px;height:88px;padding:0 5vw;display:flex;position:absolute;inset:0 0 auto}.brand{align-items:center;gap:12px;min-width:245px;display:flex}.brand-mark{border:2px solid var(--emerald);width:44px;height:44px;color:var(--emerald);clip-path:polygon(50% 0,100% 100%,76% 100%,64% 72%,36% 72%,24% 100%,0 100%);place-items:center;padding-top:8px;font:900 28px/1 Arial;display:grid}.brand>span:last-child{flex-direction:column;line-height:1;display:flex}.brand strong{letter-spacing:.22em;font-size:21px}.brand small{letter-spacing:.24em;color:#c9cfcb;margin-top:5px;font-size:8px}.nav{color:#dce2de;gap:30px;font-size:13px;display:flex}.nav a:hover{color:var(--emerald)}.header-call{font:700 13px var(--font-geist-mono),monospace;letter-spacing:.06em;color:var(--emerald)}.menu-button{background:0 0;border:0;padding:8px;display:none}.menu-button span{background:#fff;width:24px;height:2px;margin:5px;display:block}.hero{color:#fff;background:radial-gradient(circle at 78% 39%,#20d87817,#0000 23%),linear-gradient(135deg,#111512,#1a211c 62%,#10261b);grid-template-columns:1.05fr .95fr;align-items:center;min-height:900px;padding:190px 6vw 155px;display:grid;position:relative;overflow:hidden}.hero-grid{opacity:.065;background-image:linear-gradient(#ffffff80 1px,#0000 1px),linear-gradient(90deg,#ffffff80 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 48%,#000);mask-image:linear-gradient(90deg,#0000 0,#000 48%,#000)}.hero-copy{z-index:2;max-width:720px;position:relative}.eyebrow{font:700 11px var(--font-geist-mono),monospace;letter-spacing:.18em;text-transform:uppercase;color:#b8c0bb;align-items:center;gap:10px;margin:0 0 25px;display:flex}.eyebrow span{background:var(--emerald);width:34px;height:1px}.eyebrow.dark{color:#5b655e}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.065em;margin-bottom:28px;font-size:clamp(54px,6.6vw,104px);font-weight:650;line-height:.91}h1 em,h2 em{color:var(--emerald);font-family:Georgia,serif;font-weight:400}.hero-lede{color:#bac2bd;max-width:610px;font-size:19px;line-height:1.72}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:42px;display:flex}.button{text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:28px;min-height:54px;padding:0 24px;font-size:13px;font-weight:800;display:inline-flex}.button.primary{background:var(--emerald);color:#082014}.button.primary:hover{background:#43e590}.button.secondary{color:#fff;border-color:#58615b}.button.secondary:hover{border-color:var(--emerald)}.system-visual{aspect-ratio:1;z-index:2;justify-self:end;width:min(39vw,520px);position:relative}.visual-ring{border:1px solid #20d8783d;border-radius:50%;position:absolute;inset:10%}.ring-two{border-style:dashed;animation:32s linear infinite spin;inset:24%}@keyframes spin{to{transform:rotate(360deg)}}.core{text-align:center;background:#101713;border:1px solid #20d8788c;border-radius:50%;place-content:center;display:grid;position:absolute;inset:33%;box-shadow:0 0 55px #20d8782e}.core span{color:var(--emerald);font-size:72px;font-weight:900;line-height:.9}.core small{color:#8aa093;font:8px var(--font-geist-mono),monospace;letter-spacing:.22em}.system-node{background:#161d18;border:1px solid #34413a;flex-direction:column;justify-content:center;align-items:center;width:84px;height:84px;display:flex;position:absolute;box-shadow:0 18px 40px #0000003d}.system-node b{color:var(--emerald);font:700 13px var(--font-geist-mono),monospace}.system-node span{color:#98a29c;margin-top:5px;font-size:9px}.node-one{top:19%;left:2%}.node-two{top:27%;right:0}.node-three{bottom:10%;left:9%}.node-four{bottom:6%;right:9%}.trust-strip{z-index:3;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#060e0973;border-top:1px solid #ffffff1f;justify-content:center;min-height:115px;display:flex;position:absolute;bottom:0;left:0;right:0}.trust-strip div{border-right:1px solid #ffffff1a;align-items:center;gap:17px;width:25%;max-width:330px;padding:25px 3vw;display:flex}.trust-strip strong{color:var(--emerald);font:400 37px Georgia,serif}.trust-strip span{color:#aeb8b1;text-transform:uppercase;letter-spacing:.08em;font-size:11px;line-height:1.5}.section{padding:115px 6vw}.section-heading{grid-template-columns:1.2fr .8fr;align-items:end;gap:9vw;max-width:1320px;margin:0 auto 55px;display:grid}.section-heading h2,.about h2,.contact h2,.project-copy h2{letter-spacing:-.055em;margin:0;font-size:clamp(44px,5.4vw,78px);line-height:.98}.section-heading>p{max-width:470px;color:var(--muted);font-size:16px;line-height:1.8}.service-grid{border-top:1px solid #d1d5d0;border-left:1px solid #d1d5d0;grid-template-columns:repeat(3,1fr);max-width:1320px;margin:auto;display:grid}.service-card{border-bottom:1px solid #d1d5d0;border-right:1px solid #d1d5d0;min-height:285px;padding:32px;transition:all .25s;position:relative}.service-card:hover{background:#fff;transform:translateY(-3px);box-shadow:0 18px 35px #20372914}.service-number{font:11px var(--font-geist-mono),monospace;color:#87918a}.service-card h3{margin:66px 0 15px;font-size:22px}.service-card p{color:#69726c;max-width:330px;font-size:14px;line-height:1.65}.card-arrow{color:var(--deep);position:absolute;top:27px;right:30px}.project-band{color:#fff;background:#171c18;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:110px 7vw;display:grid}.project-copy{align-self:start;position:sticky;top:50px}.project-copy p:not(.eyebrow){color:#aab3ad;max-width:470px;margin-top:30px;line-height:1.75}.text-link{border-bottom:1px solid var(--emerald);color:var(--emerald);text-transform:uppercase;letter-spacing:.1em;gap:35px;margin-top:16px;padding-bottom:9px;font-size:12px;display:inline-flex}.project-list article{border-top:1px solid #39423c;grid-template-columns:70px 1fr;min-height:210px;padding:38px 0;display:grid}.project-list article>span{font:11px var(--font-geist-mono),monospace;color:var(--emerald)}.project-list small{color:#859189;letter-spacing:.16em}.project-list h3{margin:16px 0 12px;font-size:27px}.project-list p{color:#99a39c;max-width:600px;line-height:1.7}.about{grid-template-columns:1.1fr .9fr;align-items:center;gap:7vw;padding-right:0;display:grid}.about-panel{max-width:720px}.about-panel>p:not(.eyebrow){color:#626c65;max-width:610px;margin:30px 0;line-height:1.8}.checks{grid-template-columns:1fr 1fr;gap:15px;font-size:13px;font-weight:700;display:grid}.checks span:first-letter{color:var(--deep)}.industries-panel{background:var(--deep);color:#fff;padding:70px 7vw 70px 6vw}.industries-panel>div{border-top:1px solid #ffffff2e;grid-template-columns:48px 1fr;padding:20px 0;font-size:17px;display:grid}.industries-panel>div span{color:var(--emerald);font:10px var(--font-geist-mono),monospace}.contact{color:#fff;background:#0f1511;grid-template-columns:.82fr 1.18fr;gap:9vw;padding:115px 7vw;display:grid}.contact-intro>p:not(.eyebrow){color:#a9b2ac;max-width:520px;margin-top:28px;line-height:1.75}.phone-link{color:var(--emerald);font:28px var(--font-geist-mono),monospace;flex-direction:column;margin-top:48px;display:flex}.phone-link small{color:#87948b;letter-spacing:.18em;margin-bottom:8px;font-size:9px}.estimate-form{background:#18201a;border:1px solid #354139;padding:40px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.estimate-form label{color:#aeb7b1;text-transform:uppercase;letter-spacing:.13em;margin-bottom:23px;font-size:10px;display:block}.estimate-form input,.estimate-form select,.estimate-form textarea{color:#fff;text-transform:none;letter-spacing:0;background:0 0;border:0;border-bottom:1px solid #4a574e;border-radius:0;outline:none;width:100%;margin-top:9px;padding:14px 0;font-size:14px}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{border-color:var(--emerald)}.estimate-form textarea{resize:vertical}.submit{border:0;width:100%}.form-note{text-align:center;color:#77837b;margin:12px 0 0;font-size:10px}footer{color:#9ba59e;background:#080b09;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:40px;padding:55px 6vw 35px;display:grid}.footer-brand{color:#fff}footer>p{text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:11px}footer>div{flex-direction:column;gap:7px;font-size:13px;display:flex}footer>small{border-top:1px solid #252b27;grid-column:1/-1;padding-top:30px;font-size:10px}.mobile-call{display:none}@media (width<=900px){.site-header{height:76px;padding:0 22px}.header-call{display:none}.menu-button{z-index:2;display:block}.nav{background:#101511;border-top:1px solid #333;flex-direction:column;padding:25px;display:none;position:absolute;top:76px;left:0;right:0}.nav.open{display:flex}.hero{min-height:860px;padding:145px 25px 135px;display:block}.hero-copy{max-width:650px}.hero-lede{font-size:17px}.system-visual{opacity:.32;width:400px;position:absolute;bottom:145px;right:-145px}.trust-strip div{flex-direction:column;align-items:flex-start;gap:4px;width:33.33%;padding:20px 12px}.trust-strip strong{font-size:27px}.trust-strip span{font-size:8px}.section{padding:85px 25px}.section-heading{display:block}.section-heading>p{margin-top:25px}.service-grid{grid-template-columns:1fr 1fr}.project-band{grid-template-columns:1fr;padding:85px 25px}.project-copy{position:static}.about{grid-template-columns:1fr;padding-right:25px}.industries-panel{padding:50px 35px}.contact{grid-template-columns:1fr;padding:85px 25px}.estimate-form{padding:27px}footer{grid-template-columns:1fr 1fr;padding-bottom:85px}.footer-brand{grid-column:1/-1}.mobile-call{z-index:30;text-align:center;background:var(--emerald);color:#092116;text-transform:uppercase;letter-spacing:.08em;padding:15px;font-weight:800;display:block;position:fixed;bottom:13px;left:15px;right:15px;box-shadow:0 8px 30px #00000059}}@media (width<=560px){.brand{min-width:0}.brand-mark{width:38px;height:38px;font-size:24px}.brand strong{font-size:17px}.brand small{font-size:6.5px}h1{font-size:53px}.hero{min-height:850px}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.section-heading h2,.about h2,.contact h2,.project-copy h2{font-size:43px}.service-grid{grid-template-columns:1fr}.service-card{min-height:245px}.checks,.form-row{grid-template-columns:1fr;gap:0}.project-list article{grid-template-columns:40px 1fr}.project-list h3{font-size:22px}footer{grid-template-columns:1fr}footer>small{grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ring-two{animation:none}}
/* Official Apex logo override */
.brand > span { display: none !important; }
.brand {
  min-width: 112px;
  width: 112px;
  height: 72px;
  flex: 0 0 112px;
  background: url("/assets/apex-official-logo.png") center / contain no-repeat;
}
.footer-brand {
  width: 150px;
  height: 120px;
  min-width: 150px;
}
@media (max-width: 760px) {
  .brand {
    width: 92px;
    height: 58px;
    min-width: 92px;
    flex-basis: 92px;
  }
  .footer-brand {
    width: 130px;
    height: 104px;
    min-width: 130px;
  }
}

/* Mobile scrolling and navigation safeguards */
html, body {
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
body { touch-action: pan-y; }
#services, #projects, #about, #contact { scroll-margin-top: 24px; }
@media (max-width: 900px) {
  .nav {
    max-height: calc(100dvh - 76px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .nav a {
    display: flex;
    align-items: center;
    min-height: 48px;
  }
  main, .hero, .section, .project-band, .about, .contact { touch-action: pan-y; }
  #services, #projects, #about, #contact { scroll-margin-top: 18px; }
}

/* Keyboard, form, and touch accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--emerald);
  outline-offset: 3px;
}
.form-note a {
  color: #a8e7c3;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.submit:disabled {
  cursor: wait;
  opacity: .72;
}
@media (hover: none) {
  .service-card:hover, .post-card:hover {
    transform: none;
    box-shadow: none;
  }
}
