/*
Theme Name: Outpost IT Child
Description: Site-specific refinements for the Outpost IT website.
Template: outpost-it
Version: 1.0.0
Requires PHP: 8.1
Text Domain: outpost-it-child
*/
:root { color-scheme: dark; }
/* Native scrolling remains the fallback, including keyboard and anchor navigation. */
html { scroll-behavior: smooth; scrollbar-gutter: stable; }
:root, .outpost-mobile-panel nav {
  scrollbar-color: #ff6a00 #12151d;
  scrollbar-width: auto;
}
/* Chromium and Safari expose rounded thumbs and hover states through these pseudos. */
/* Firefox parses WebKit pseudos for compatibility but uses its standard colors. */
@supports selector(::-webkit-scrollbar) and (not (-moz-appearance: none)) {
  :root, .outpost-mobile-panel nav { scrollbar-color: auto; }
  ::-webkit-scrollbar { width: 14px; height: 14px; }
  ::-webkit-scrollbar-track, ::-webkit-scrollbar-corner { background: #12151d; }
  ::-webkit-scrollbar-thumb {
    background: #ff6a00;
    border: 3px solid #12151d;
    border-radius: 999px;
    min-height: 48px;
  }
  ::-webkit-scrollbar-thumb:hover { background: #ffa057; }
  ::-webkit-scrollbar-thumb:active { background: #d95700; }
}
html.lenis, html.lenis body { height: auto; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  :root, .outpost-mobile-panel nav { scrollbar-color: auto; }
  ::-webkit-scrollbar, ::-webkit-scrollbar-track, ::-webkit-scrollbar-corner,
  ::-webkit-scrollbar-thumb, ::-webkit-scrollbar-thumb:hover, ::-webkit-scrollbar-thumb:active { all: revert; }
}
.outpost-content a { color: #ffa057; text-decoration: underline; text-underline-offset: 3px; }
.outpost-content p, .outpost-content ul, .outpost-content ol { margin-bottom: 1.25rem; }
.outpost-content h2 { font-size: 1.6rem; color: white; margin: 2rem 0 1rem; }
.outpost-content h3 { font-size: 1.2rem; color: white; margin: 1.5rem 0 .75rem; }
.outpost-content ul { list-style: disc; padding-left: 1.5rem; }
.outpost-content ol { list-style: decimal; padding-left: 1.5rem; }

/* Owner-approved footer scale: 20% above the previous 100/90px sizes. */
[data-purpose='brand-footer'] .outpost-footer-logo { height: 120px; }
@media (max-width: 639px) { [data-purpose='brand-footer'] .outpost-footer-logo { height: 108px; } }

/* Homepage support summary: clear introduction and four distinct reasons to enquire. */
.outpost-support-panel{scroll-margin-top:140px;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:52px;padding:48px;border:1px solid #ffffff21;border-top-color:#ff6a0073;border-radius:20px;background:radial-gradient(ellipse at 0 0,#ff6a0012,transparent 60%),linear-gradient(120deg,#171d2b,#10141e);box-shadow:0 24px 64px #0003}
.outpost-support-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.outpost-support-eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:20px;color:#ff9b52;font:700 11px/1.5 'Space Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.outpost-support-eyebrow>span{width:7px;height:7px;flex-shrink:0;background:#ff8d3b;border-radius:2px}
.outpost-support-intro h3{margin:0;color:#fff;font:700 clamp(28px,3vw,40px)/1.16 'Space Grotesk',sans-serif;letter-spacing:-.045em;text-wrap:balance}
.outpost-support-intro h3>span{color:#ff8d3b}
.outpost-support-intro>p{max-width:390px;margin:20px 0 26px;font:400 14px/1.85 Inter,sans-serif;color:#c3bfba}
.outpost-support-cta{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:16px 22px;min-height:52px;border:1px solid #ff8d3b;border-radius:9px;background:#ff6a00;color:#080a0e;font:700 13px/1.4 'Space Grotesk',sans-serif;box-shadow:0 6px 20px #ff6a001a;transition:background .2s,border-color .2s}
.outpost-support-cta svg{width:19px;height:19px;flex-shrink:0}
.outpost-support-cta:hover{background:#ff8d3b;border-color:#ffaf76}
.outpost-support-cta:focus-visible{outline:2px solid #fff;outline-offset:5px}
.outpost-support-footnote{margin-top:14px;color:#aaa5a0;font:400 11px/1.7 Inter,sans-serif}
.outpost-support-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.outpost-support-card{min-width:0;padding:24px;border:1px solid #ffffff17;border-radius:12px;background:linear-gradient(135deg,#20273599,#151a27);box-shadow:inset 0 1px 0 #ffffff04}
.outpost-support-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:20px;border:1px solid #ff8d3b4d;border-radius:10px;background:#ff6a000d;color:#ff9b52}
.outpost-support-card-icon svg{width:22px;height:22px;stroke-width:1.75}
.outpost-support-card-label{display:block;color:#aaa5a0;font:600 9px/1.6 'Space Grotesk',sans-serif;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}
.outpost-support-card h4{margin:0 0 10px;color:#f5f5f4;font:700 20px/1.25 'Space Grotesk',sans-serif;letter-spacing:-.025em}
.outpost-support-card p{margin:0;color:#bdb8b2;font:400 12px/1.8 Inter,sans-serif}
@media(max-width:1099px){.outpost-support-panel{gap:30px;padding:32px}.outpost-support-card{padding:20px}.outpost-support-card h4{font-size:19px}}
@media(max-width:899px){.outpost-support-panel{grid-template-columns:minmax(0,1fr);gap:30px}.outpost-support-intro>p{max-width:600px;margin:16px 0 22px}.outpost-support-intro h3{max-width:560px;font-size:34px}.outpost-support-cards{gap:16px}.outpost-support-card{padding:24px}}
@media(max-width:539px){.outpost-support-panel{padding:26px 20px;border-radius:16px;gap:28px}.outpost-support-eyebrow{font-size:9px;margin-bottom:16px}.outpost-support-intro h3{font-size:29px}.outpost-support-intro>p{font-size:13px}.outpost-support-cta{width:100%;gap:18px;font-size:12px}.outpost-support-cards{grid-template-columns:minmax(0,1fr);gap:12px}.outpost-support-card{display:flex;align-items:flex-start;gap:16px;padding:20px 18px}.outpost-support-card-icon{width:36px;height:36px;margin:0;flex-shrink:0}.outpost-support-card-icon svg{width:20px;height:20px}.outpost-support-card-label{font-size:8px}.outpost-support-card h4{font-size:20px;margin-bottom:8px}.outpost-support-card p{font-size:12px}.outpost-support-card-copy{min-width:0}}
@media(prefers-reduced-motion:reduce){.outpost-support-cta{transition:none}}
@media(forced-colors:active){.outpost-support-panel,.outpost-support-card,.outpost-support-card-icon,.outpost-support-cta{border:1px solid CanvasText}.outpost-support-intro h3>span{color:CanvasText}}

/* Shared header and mobile navigation logo size approved by the owner. */
[data-purpose='brand-logo'] img, .outpost-mobile-heading img { width: 120px; max-width: 120px; height: auto; }

/* One viewport-sized image layer avoids stretching artwork across tall sections. */
.outpost-network-background{position:relative;isolation:isolate;clip-path:inset(0);background:#0c0e12;content-visibility:visible!important;contain:none!important}
.outpost-network-background::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(12,14,18,.60),rgba(12,14,18,.40) 50%,rgba(12,14,18,.65)),var(--outpost-network-background);background-size:cover;background-position:center center;background-repeat:no-repeat;image-rendering:auto}
.outpost-network-background>.max-w-7xl,.outpost-network-background>.osp-wrap,.outpost-network-background>.op-wrap{position:relative;z-index:1}
@media(forced-colors:active){.outpost-network-background::before{display:none}}

/* Defer offscreen section contents without containing the fixed sibling artwork. */
.outpost-network-background>.max-w-7xl,.outpost-network-background>.osp-wrap,.outpost-network-background>.op-wrap{content-visibility:auto;contain-intrinsic-size:auto 800px}

/* No-JavaScript keeps normal artwork; the observer releases it 500px before view. */
.outpost-backgrounds-deferred .outpost-network-background:not(.is-background-ready)::before{background-image:linear-gradient(rgba(12,14,18,.60),rgba(12,14,18,.40) 50%,rgba(12,14,18,.65))}
.outpost-backgrounds-deferred .booking-background:not(.is-background-ready){background-image:none!important;background-color:#080a0e}
