@font-face{font-family:Rubik;src:url('/assets/Rubik-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url('/assets/Rubik-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--navy:#11172b;--text:#202638;--paper:#fbfaf7;--muted:#606776;--orange:#ff7a3a;--teal:#14b8a6;--violet:#8b5cf6;--lime:#84cc16;--gutter:clamp(24px,5vw,88px);--ease:cubic-bezier(.2,.7,.2,1);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--text);font-family:Rubik,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,select{font:inherit}
button,a,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #ffae83;outline-offset:6px}
button::-moz-focus-inner{border:0}
::selection{background:#ff7a3a;color:#11172b}
[hidden]{display:none!important}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:700;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
em{font-style:normal}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.skip-link{position:fixed;left:20px;top:12px;z-index:200;background:#fff;color:var(--navy);padding:12px 18px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.wrap{width:calc(100% - var(--gutter)*2);max-width:1440px;margin-inline:auto}
.section-space{padding-block:clamp(84px,8.6vw,144px)}
.eyebrow{font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.14em;text-transform:uppercase}
.dark-eyebrow{color:var(--muted)}
.four-dots{display:inline-flex;gap:5px;flex-shrink:0;align-items:center}
.four-dots i{display:block;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.four-dots i:nth-child(2){background:var(--teal)}
.four-dots i:nth-child(3){background:var(--violet)}
.four-dots i:nth-child(4){background:var(--lime)}
.gov{--front:#ff7a3a;--front-secondary:#a855f7;--front-tint:#f1e7fc}
.company{--front:#14b8a6;--front-secondary:#22c55e;--front-tint:#def3ef}
.edu{--front:#3b82f6;--front-secondary:#8b5cf6;--front-tint:#e8edff}
.city{--front:#84cc16;--front-secondary:#eab308;--front-tint:#f0f5dc}
.site-header{position:fixed;top:0;left:0;z-index:50;width:100%;height:92px;padding-inline:var(--gutter);display:flex;align-items:center;justify-content:space-between;color:white;background:rgba(7,15,29,.7);transition:background .25s,height .25s,border-color .25s;border-bottom:1px solid rgba(255,255,255,.14)}
.site-header.scrolled{height:76px;background:rgba(17,23,43,.98);border-color:rgba(255,255,255,.08)}
.home-logo{display:flex;align-items:center;width:139px;margin-left:-12px}
.home-logo img{width:139px;height:56px;object-fit:contain}
.desktop-nav{display:flex;gap:34px;align-items:center;font-size:14px}
.desktop-nav>a{transition:color .2s}
.desktop-nav>a:hover{color:#ffc19f}
.desktop-nav .nav-contact{display:flex;gap:26px;padding:12px 20px;border:1px solid rgba(255,255,255,.6);border-radius:50px}
.nav-contact>span{font-size:20px;line-height:1.2}
.menu-toggle{display:none;border:0;background:none;color:#fff;gap:14px;padding:12px 0;align-items:center;font-size:14px}
.menu-icon{width:23px;display:flex;flex-direction:column;gap:6px}
.menu-icon i{display:block;width:23px;height:1px;background:white;transition:transform .2s}
.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:76px 0 0;z-index:49;background:var(--navy);color:white;padding:36px var(--gutter);font-size:clamp(22px,5vw,36px);font-weight:700;letter-spacing:-.035em}
.mobile-nav a{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:25px 0;border-bottom:1px solid #ffffff26;line-height:1.2}
.hero{min-height:840px;min-height:max(770px,100svh);position:relative;isolation:isolate;color:white;display:flex;align-items:center;background:#071423;overflow:hidden}
.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:center}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(3,13,27,.3),transparent 75%),linear-gradient(0deg,rgba(3,11,23,.68),transparent 24%)}
.hero-content{padding-top:145px;padding-bottom:146px}
.hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:28px;font-size:12px}
.hero h1{font-size:clamp(60px,6.7vw,108px);line-height:.99;letter-spacing:-.061em;max-width:800px}
.hero h1>span{color:#ff8c55}
.hero-description{max-width:430px;font-size:18px;line-height:1.65;color:#e7e9ed;margin-top:27px}
.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:31px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:56px;padding:16px 23px;border:1px solid transparent;border-radius:50px;font-size:14px;line-height:1.45;font-weight:700;letter-spacing:-.01em;transition:background .2s,color .2s,transform .25s var(--ease),border-color .2s}
.button>span[aria-hidden]{font-size:23px;font-weight:400;line-height:1}
.button:hover{transform:translateY(-3px)}
.button-light{background:var(--paper);color:var(--navy)}
.button-light:hover{background:#ffd2b7}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;padding:10px 0;border-bottom:1px solid #ffffff80;transition:color .2s}
.text-link:hover{color:#ffc19f}
.text-link>span[aria-hidden]{font-size:20px}
.hero-bottom{position:absolute;bottom:35px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:24px}
.hero-note{font-size:12px;letter-spacing:.15em;color:#dee2e8}
.scroll-cue{display:flex;align-items:center;gap:24px;font-size:12px}
.scroll-cue>span:last-child{border:1px solid #ffffff70;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:20px;transition:background .2s}
.scroll-cue:hover>span:last-child{background:#ffffff20}
.family-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--navy);color:white}
.family-ribbon>a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:112px;padding:24px clamp(22px,3.7vw,64px);border-top:4px solid var(--front);border-right:1px solid #ffffff18;transition:background .25s,color .25s}
.family-ribbon>a:last-child{border-right:0}
.family-ribbon b{font-size:clamp(19px,1.65vw,27px);letter-spacing:-.055em;line-height:1.2}
.family-ribbon small{display:block;font-size:12px;margin-top:5px;color:#c4c8d1}
.family-ribbon>a>span:last-child{font-size:24px;color:var(--front);transition:transform .25s}
.family-ribbon>a:hover{background:#20283f}
.family-ribbon>a:hover>span:last-child{transform:translate(3px,-3px)}
.essence{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(50px,10vw,170px);align-items:center}
.essence h2{font-size:clamp(48px,5.3vw,80px);margin-top:24px;line-height:1.05}
.orange-word{color:#cf501d}
.essence-copy{max-width:470px;padding-top:24px}
.essence-copy p{color:var(--muted);margin-bottom:18px;line-height:1.75}
.essence-copy .lead{font-size:24px;color:var(--navy);letter-spacing:-.035em;font-weight:700;margin-bottom:20px;line-height:1.35}
.underlined-link{display:inline-flex;align-items:center;gap:32px;font-size:14px;font-weight:700;padding:7px 0;border-bottom:1px solid var(--navy);margin-top:8px}
.underlined-link:hover{color:#ba4619;border-color:#ba4619}
.underlined-link span{font-size:23px;font-weight:400}
.fronts{padding-top:10px;padding-bottom:84px}
.fronts-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;padding-bottom:38px}
.fronts-heading h2{font-size:clamp(38px,4.2vw,64px);margin-top:20px}
.fronts-heading>p{color:var(--muted);font-size:16px;padding-bottom:4px;line-height:1.7}
.front-explorer{max-width:1440px}
.front-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #dedfdf;border-bottom:0;border-radius:20px 20px 0 0;overflow:hidden}
.front-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:21px 12px 22px;background:#f2f1ed;border-right:1px solid #dedfdf;transition:background .25s}
.front-tab:last-child{border-right:0}
.front-tab::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:4px;background:transparent;transition:background .25s}
.front-tab[aria-selected=true]{background:#fff}
.front-tab[aria-selected=true]::after{background:var(--front-secondary)}
.front-tab:hover{background:var(--front-tint)}
.front-tab:focus-visible{outline-offset:-6px}
.front-tab img{width:90%;max-width:213px;height:52px;object-fit:contain}
.front-tab.company img{width:98%;max-width:235px}
.front-tab>span{font-size:12px;color:var(--muted)}
.front-panel{position:relative;isolation:isolate;min-height:700px;color:white;background:var(--navy);overflow:hidden;border-bottom:6px solid var(--front-secondary);scroll-margin-top:92px}
.has-js .front-panel{border-radius:0 0 20px 20px}
.front-panel:focus-visible{outline-offset:-7px}
.panel-image,.panel-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:center}
.panel-shade{z-index:-1;background:linear-gradient(90deg,rgba(4,13,28,.84) 0%,rgba(4,13,28,.66) 37%,rgba(4,13,28,.04) 68%),linear-gradient(0deg,rgba(4,13,28,.55),transparent 45%)}
.panel-content{position:relative;width:51%;padding:55px 0 62px clamp(32px,4.3vw,68px)}
.panel-eyebrow{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.1em;color:#e2e5ee}
.panel-eyebrow i{width:7px;height:7px;display:block;flex-shrink:0;background:var(--front);border-radius:50%}
.panel-content h3{font-size:clamp(34px,3.65vw,55px);line-height:1.05;letter-spacing:-.048em;margin-top:26px;max-width:540px}
.panel-content h3 em{color:var(--front)}
.panel-description{font-size:16px;line-height:1.75;max-width:435px;margin-top:24px;color:#d9dde5}
.panel-audience{border-left:2px solid var(--front);padding-left:17px;margin-top:27px;margin-bottom:30px}
.panel-audience>span{display:block;font-size:12px;letter-spacing:.13em;font-weight:700;color:#bfc6d2;line-height:1.4;margin-bottom:6px}
.panel-audience p{font-size:14px;line-height:1.65;color:#f4f5f8}
.button-front{background:var(--front);color:#11172b;padding-inline:20px;max-width:100%;gap:18px;font-size:13px;border-radius:6px}
.button-front:hover{background:#fff;color:var(--navy)}
.panel-caption{position:absolute;right:38px;bottom:46px;min-width:230px;border-left:1px solid #ffffff70;padding:4px 0 4px 22px;text-shadow:0 1px 10px #0008}
.panel-caption>span{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;color:#e4e8eb;margin-bottom:10px}
.panel-caption>p{font-size:20px;line-height:1.4;letter-spacing:-.035em}
.panel-number{position:absolute;right:38px;top:26px;font-size:12px;letter-spacing:.13em;background:#10172b99;border:1px solid #ffffff30;padding:5px 12px;border-radius:30px}
.fronts-footnote{display:flex;align-items:center;justify-content:center;gap:15px;padding-top:25px}
.fronts-footnote p{font-size:13px;color:var(--muted)}
.fronts-footnote .four-dots i{width:5px;height:5px}
.approach{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white;scroll-margin-top:75px}
.approach-image{position:relative;overflow:hidden;min-height:850px;background:#0c1927}
.approach-image>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:73% center}
.approach-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,13,27,.85),rgba(5,13,27,0) 76%)}
.image-quote{position:absolute;z-index:1;bottom:72px;left:var(--gutter);right:40px}
.quote-mark{font-size:100px;line-height:.55;color:#ff996c;display:block;font-weight:700}
.image-quote p{font-size:clamp(34px,3.5vw,54px);line-height:1.05;letter-spacing:-.045em;margin-top:10px}
.image-quote strong{color:#ff996c}
.quote-caption{display:block;margin-top:30px;font-size:12px;letter-spacing:.15em;color:#d4d9e1}
.approach-content{padding:78px clamp(32px,5vw,80px) 68px}
.approach-content>.eyebrow{color:#bdc5d4}
.approach-content h2{font-size:clamp(34px,3.1vw,48px);margin-top:22px;line-height:1.12}
.journey{list-style:none;padding:0;margin:40px 0 0}
.journey li{display:flex;gap:22px;align-items:flex-start;border-top:1px solid #ffffff26;padding:24px 0}
.journey li:last-child{padding-bottom:0}
.step-number{width:32px;flex-shrink:0;color:var(--front);font-size:14px;line-height:1.8;font-weight:700}
.journey h3{font-size:24px;letter-spacing:-.035em;margin-bottom:7px}
.journey p{font-size:16px;color:#bdc5d4;line-height:1.65}
.step-arrow{font-size:22px;line-height:1.2;margin-left:auto;color:#76849b}
.possibilities-heading h2{font-size:clamp(36px,4.1vw,62px);margin-top:22px;max-width:1000px}
.possibility-list{margin-top:53px;border-bottom:1px solid #d6d7d7}
.possibility-list article{display:grid;grid-template-columns:.16fr .95fr 1fr 35px;gap:30px;padding:34px 0;border-top:1px solid #d6d7d7;align-items:center}
.possibility-number{font-size:12px;color:#646e7c;align-self:start;padding-top:6px}
.possibility-list h3{font-size:clamp(27px,2.6vw,38px);line-height:1.1;letter-spacing:-.04em}
.possibility-list p{font-size:16px;color:var(--muted);line-height:1.75;max-width:480px}
.possibility-symbol{font-size:34px;align-self:start;line-height:1.5;color:#aaafba}
.scope-note{font-size:13px;margin-top:27px;max-width:690px;color:var(--muted)}
.conversation{position:relative;isolation:isolate;background:var(--navy);color:white;scroll-margin-top:75px;overflow:hidden}
.conversation-image,.conversation-shade{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.conversation-shade{z-index:-1;background:linear-gradient(90deg,rgba(3,13,28,.7),rgba(3,13,28,.2) 60%,transparent),linear-gradient(0deg,rgba(3,13,28,.3),transparent)}
.conversation-content{padding-block:100px 92px}
.conversation h2{font-size:clamp(54px,6.6vw,102px);line-height:1;letter-spacing:-.058em;margin-top:27px}
.conversation h2 span{color:#ff9b6b}
.conversation-description{font-size:18px;line-height:1.7;max-width:450px;color:#e1e6ec;margin-top:28px}
.contact-options{width:430px;max-width:100%;margin-top:28px}
.contact-options label{font-size:12px;display:block;color:#dde3ec;margin-bottom:9px}
.select-wrapper{position:relative}
.select-wrapper>span{position:absolute;right:17px;top:50%;transform:translateY(-60%);pointer-events:none;font-size:25px;color:#fff}
.contact-options select{width:100%;padding:16px 45px 16px 18px;min-height:56px;color:white;border:1px solid #ffffff73;border-radius:5px;appearance:none;background:#11172bbd;font-size:14px;cursor:pointer}
.contact-options select option{color:var(--navy);background:white}
.button-contact{background:var(--paper);color:var(--navy);width:100%;margin-top:12px;border-radius:5px}
.button-contact:hover{background:#ffb38b}
.contact-hint{font-size:12px;color:#c4cbd7;margin-top:12px;line-height:1.6}
.contact-alternative{display:inline-block;max-width:440px;font-size:12px;margin-top:22px;color:#e2e7ed;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ffffff55}
.contact-alternative span[aria-hidden]{display:inline-block;margin-left:10px}
.contact-alternative:hover{text-decoration-color:#fff}
.site-footer{background:#000;color:white;padding-top:60px}
.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:52px;align-items:center}
.footer-happy{width:162px;height:61px;object-fit:contain;margin-left:-14px;margin-bottom:7px}
.footer-brand p{font-size:13px;color:#c0c4cc}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;font-size:13px}
.footer-nav a:hover{color:#ffab80}
.footer-dash{justify-self:end;display:flex;flex-direction:column;gap:16px}
.footer-dash>span{font-size:12px;letter-spacing:.14em;color:#b6bbc4}
.footer-dash img{width:198px;height:auto}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #ffffff24;padding-block:25px 28px;color:#a2a9b5;font-size:12px}
.footer-bottom a{color:#d9dde6;display:flex;gap:15px;align-items:center;line-height:1.6}
.footer-bottom a:hover{color:white}
.footer-bottom a span[aria-hidden]{font-size:18px}
@media(prefers-reduced-motion:no-preference){
  .hero-content>*{animation:rise-in .8s var(--ease) both}
  .hero-content>.hero-eyebrow{animation-delay:.04s}
  .hero-content>h1{animation-delay:.12s}
  .hero-content>.hero-description{animation-delay:.23s}
  .hero-content>.hero-actions{animation-delay:.31s}
  .has-js .front-panel:not([hidden]) .panel-content{animation:panel-in .5s var(--ease) both}
  @keyframes rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
  @keyframes panel-in{from{opacity:.1;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media(min-width:1800px){.hero-image{object-position:center 55%}.hero-content{padding-top:175px;padding-bottom:180px}.hero h1{font-size:118px}.family-ribbon>a{justify-content:center;gap:70px}}




.button,.hero-actions .button,.button-front,.button-contact,.contact-options select,.contact-options label,.desktop-nav,.footer-nav,.underlined-link,.text-link,.menu-toggle{font-size:14px}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.mobile-nav,.hero-bottom,.hero-actions,.contact-options,.contact-alternative,.family-ribbon,.skip-link{display:none!important}.hero{min-height:500px}.hero-content{padding-block:80px}.hero h1{font-size:64px}.front-panel[hidden]{display:block!important}.front-panel{break-inside:avoid}.approach{display:block}.approach-image{display:none}.front-tabs{display:none}.button{display:none}.conversation{break-inside:avoid}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.panel-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.panel-direct-contact{font-size:14px;line-height:1.6;border-bottom:1px solid #ffffff70;color:#ecf0f7}.panel-direct-contact:hover{color:var(--front)}

