:root{--navy:#101c30;--navy-2:#16263d;--navy-3:#1d324d;--off:#f7f7f4;--paper:#fff;--steel:#8296b1;--steel-soft:#d9e0e8;--char:#252b35;--muted:#657080;--line:rgba(16,28,48,.14);--line-light:rgba(247,247,244,.17);--accent:#d7b58a;--serif:"DM Serif Display",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif;--display:"Manrope",var(--sans);--max:1240px;--ease:cubic-bezier(.22,.72,.22,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--off);color:var(--char);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.locked{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:#d7b58a;color:var(--navy)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-60px;z-index:1000;background:#fff;color:var(--navy);padding:10px 14px}.skip-link:focus{top:12px}.scroll-progress{height:2px;position:fixed;top:0;left:0;right:0;z-index:120;background:transparent}.scroll-progress span{display:block;height:100%;width:0;background:var(--accent)}
/* top line + header */.topline{background:#0b1525;color:rgba(247,247,244,.67);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.topline-inner{height:33px;display:flex;align-items:center;justify-content:space-between}.topline b{color:var(--accent);padding:0 5px}.status-dot,.pulse,.location-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a7c0a9;margin-right:8px;box-shadow:0 0 0 4px rgba(167,192,169,.12)}.site-header{position:sticky;top:0;z-index:80;background:rgba(16,28,48,.96);color:var(--off);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);transition:box-shadow .25s,background .25s}.site-header.scrolled{box-shadow:0 12px 30px rgba(5,12,22,.18);background:rgba(16,28,48,.985)}.nav-wrap{height:82px;display:flex;align-items:center;gap:36px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--off);text-decoration:none;margin-right:auto}.brand-mark{width:38px;height:38px;border:1px solid rgba(215,181,138,.75);border-radius:12px;display:grid;place-items:center;transform:rotate(-3deg)}.brand-mark svg{width:25px;height:25px;fill:var(--off);stroke:var(--accent);stroke-width:1.2;transform:rotate(3deg)}.brand-words{display:flex;flex-direction:column;line-height:1}.brand-words strong{font:800 13px/1.25 var(--display);letter-spacing:.17em}.brand-words small{font:600 9px/1.7 var(--display);letter-spacing:.39em;color:var(--steel)}.primary-nav{display:flex;align-items:center;gap:32px}.primary-nav a{font-size:13px;color:rgba(247,247,244,.72);text-decoration:none;transition:color .2s}.primary-nav a:hover{color:#fff}.nav-cta{display:inline-flex;align-items:center;gap:18px;padding:13px 17px;border:1px solid rgba(215,181,138,.56);border-radius:2px;color:var(--off);font:700 12px var(--display);text-decoration:none;transition:background .2s,color .2s,border-color .2s}.nav-cta span{font-size:16px;color:var(--accent)}.nav-cta:hover{background:var(--accent);color:var(--navy);border-color:var(--accent)}.nav-cta:hover span{color:var(--navy)}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:23px;height:1px;background:var(--off);margin:6px}
/* hero */.hero{position:relative;overflow:hidden;background:var(--navy);color:var(--off);padding:84px 0 0;isolation:isolate}.hero-grid-bg{position:absolute;inset:0;z-index:-2;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,transparent 0%,#000 58%,#000 100%)}.hero-orb{position:absolute;z-index:-1;border:1px solid rgba(215,181,138,.19);border-radius:50%;pointer-events:none}.hero-orb-one{width:670px;height:670px;right:-220px;top:-230px;box-shadow:0 0 0 48px rgba(215,181,138,.018),0 0 0 96px rgba(215,181,138,.012)}.hero-orb-two{width:370px;height:370px;left:-220px;bottom:-180px;border-color:rgba(130,150,177,.2)}.hero-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:55px;align-items:center;min-height:565px;padding-bottom:75px}.eyebrow{display:flex;align-items:center;gap:12px;font:700 10px var(--display);letter-spacing:.2em;text-transform:uppercase}.eyebrow-light{color:#b5c2d2}.eyebrow-line{display:inline-block;width:28px;height:1px;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font:700 clamp(52px,6.1vw,86px)/.99 var(--display);letter-spacing:-.065em;margin:29px 0 26px;max-width:680px;color:#fff}h1 em,.display-heading em{font-family:var(--serif);font-weight:400;color:var(--accent);letter-spacing:-.035em}.hero-intro{max-width:510px;color:rgba(247,247,244,.7);font-size:17px;line-height:1.8;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:30px;text-decoration:none;border:1px solid transparent;padding:16px 20px;font:700 12px var(--display);letter-spacing:.015em;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}.button span{font-size:17px}.button:hover{transform:translateY(-3px)}.button-light{background:var(--accent);color:var(--navy)}.button-light:hover{background:#e5c9a5}.text-link{font:700 12px var(--display);text-decoration:none;display:inline-flex;align-items:center;gap:15px}.text-link-light{color:rgba(247,247,244,.8)}.text-link span{font-size:18px;color:var(--accent);transition:transform .2s}.text-link:hover span{transform:translate(3px,3px)}.hero-foot{display:flex;align-items:center;gap:12px;margin-top:54px;color:rgba(247,247,244,.53);font-size:12px;letter-spacing:.02em}.mini-star{font-size:19px;color:var(--accent)}.hero-visual{position:relative;min-height:480px;display:flex;align-items:center;justify-content:center;padding:26px 0 52px}.visual-kicker{position:absolute;top:0;right:0;font:700 9px var(--display);letter-spacing:.15em;color:rgba(247,247,244,.48)}.pulse{background:#a7c0a9;animation:pulse 2.5s infinite}.browser-card{background:#fdfdfc;border:1px solid rgba(255,255,255,.3);box-shadow:0 28px 70px rgba(0,0,0,.28);overflow:hidden}.browser-main{position:relative;z-index:2;width:min(100%,570px);border-radius:8px;transform:rotate(1.1deg);transition:transform .5s var(--ease),box-shadow .5s}.hero-visual:hover .browser-main{transform:rotate(0) translateY(-5px);box-shadow:0 38px 85px rgba(0,0,0,.34)}.browser-bar{height:32px;background:#f5f4f0;display:flex;align-items:center;gap:12px;padding:0 13px;color:#69717a;font-size:8px;letter-spacing:.05em}.browser-dots{display:flex;gap:4px}.browser-dots i{width:6px;height:6px;border-radius:50%;background:#d4d0c8}.browser-dots i:nth-child(2){background:#c8bda9}.browser-dots i:nth-child(3){background:#a6b8ab}.browser-bar>span{margin-right:auto}.browser-bar>b{font-size:13px;color:var(--navy)}.browser-main>img{width:100%;aspect-ratio:1.78;object-fit:cover}.browser-caption{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:#fff;color:var(--navy);font:700 9px var(--display);letter-spacing:.07em;text-transform:uppercase}.browser-caption span:last-child{font-weight:500;color:#8b929a}.browser-small{position:absolute;z-index:3;width:205px;border-radius:7px;padding:6px;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.25);transition:transform .35s var(--ease)}.browser-small img{width:100%;aspect-ratio:1.6;object-fit:cover}.browser-small span{display:block;padding:7px 5px 4px;color:var(--navy);font:700 9px var(--display)}.browser-small-one{left:-10px;bottom:36px;transform:rotate(-5deg)}.browser-small-two{right:-8px;bottom:15px;transform:rotate(4deg)}.hero-visual:hover .browser-small-one{transform:rotate(-3deg) translateY(-5px)}.hero-visual:hover .browser-small-two{transform:rotate(2deg) translateY(-7px)}.visual-note{position:absolute;z-index:5;left:0;top:125px;display:flex;gap:10px;align-items:center;padding:12px 15px;background:#fff;color:var(--navy);border-radius:4px;box-shadow:0 12px 34px rgba(0,0,0,.17)}.visual-note-icon{display:grid;place-items:center;width:28px;height:28px;background:#e8edf1;border-radius:50%;font-size:15px}.visual-note b,.visual-note small{display:block}.visual-note b{font:700 10px var(--display)}.visual-note small{color:#7a838d;font-size:9px;margin-top:2px}.hero-switcher{position:absolute;bottom:0;right:0;z-index:6;display:flex;gap:4px;padding:5px;background:rgba(6,14,25,.65);border:1px solid rgba(255,255,255,.11);border-radius:5px;backdrop-filter:blur(12px)}.preview-choice{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:rgba(247,247,244,.55);padding:8px 10px;font:700 9px var(--display);transition:background .2s,color .2s}.preview-choice span{font-weight:500}.preview-choice:hover,.preview-choice.is-active{background:rgba(255,255,255,.11);color:#fff}.preview-choice.is-active:first-letter{color:var(--accent)}.hero-bottom{display:flex;align-items:center;gap:17px;border-top:1px solid rgba(255,255,255,.13);height:55px;color:rgba(247,247,244,.48);font:700 9px var(--display);letter-spacing:.16em}.hero-bottom i{display:block;width:3px;height:3px;background:var(--accent);border-radius:50%}
/* intro strip */.intro-strip{background:#e9e9e3;border-bottom:1px solid rgba(16,28,48,.09)}.intro-strip-inner{min-height:105px;display:grid;grid-template-columns:160px 1fr 42px;align-items:center;gap:26px}.strip-label,.section-index{font:700 10px var(--display);letter-spacing:.17em;color:#8a95a3}.intro-strip p{font:600 clamp(18px,2.1vw,26px)/1.3 var(--display);color:var(--navy);margin:0;letter-spacing:-.03em}.intro-strip p em{font-family:var(--serif);font-weight:400;color:#7b8796}.round-arrow{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(16,28,48,.25);border-radius:50%;text-decoration:none;color:var(--navy);font-size:18px;transition:background .2s,color .2s,transform .2s}.round-arrow:hover{background:var(--navy);color:#fff;transform:translateY(3px)}
/* shared section */.section{padding:122px 0}.about-section{background:var(--off)}.about-layout{display:grid;grid-template-columns:170px 1fr;gap:80px}.section-aside{display:flex;flex-direction:column;justify-content:space-between;min-height:300px}.vertical-note{writing-mode:vertical-rl;transform:rotate(180deg);font:600 9px var(--display);letter-spacing:.2em;text-transform:uppercase;color:#9aa2aa}.section-index{display:inline-block}.display-heading{font:700 clamp(36px,5vw,64px)/1.08 var(--display);letter-spacing:-.06em;color:var(--navy);margin:25px 0 0;max-width:800px}.about-content>.display-heading{max-width:850px}.about-bottom{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;margin-top:62px;align-items:start}.about-lead{font:600 clamp(19px,2vw,25px)/1.42 var(--display);letter-spacing:-.03em;color:var(--navy);max-width:360px}.about-text{max-width:590px;color:#66717f;font-size:15px}.about-text p+p{margin-top:17px}.under-link{display:inline-flex;align-items:center;gap:14px;margin-top:19px;text-decoration:none;color:var(--navy);font:700 12px var(--display);border-bottom:1px solid #b0b8c1;padding-bottom:7px}.under-link span{color:#9d7b54;font-size:16px;transition:transform .2s}.under-link:hover span{transform:translate(3px,-3px)}
/* services */.services-section{background:#fff}.section-heading-row,.approach-heading{display:flex;justify-content:space-between;gap:50px;align-items:end}.section-summary{max-width:350px;margin:0 0 4px;color:#707a86;font-size:15px;line-height:1.8}.service-list{margin-top:66px;border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:70px 1fr 260px;gap:36px;align-items:center;padding:31px 0;border-bottom:1px solid var(--line);transition:padding .3s var(--ease),background .3s}.service-item:hover{padding-left:13px;padding-right:13px;background:#fbfbf9}.service-number{font:600 12px var(--display);color:#9aa4af;align-self:start;padding-top:10px}.service-main h3{font:700 clamp(24px,3vw,34px)/1.2 var(--display);color:var(--navy);letter-spacing:-.045em;margin:0 0 11px}.service-main h3 span{font-family:var(--serif);font-weight:400;color:#8794a4}.service-main p{max-width:620px;color:#6b7581;font-size:14px;margin:0}.service-detail{display:flex;align-items:center;gap:13px;justify-self:end;color:#7c8793}.service-detail small{font-size:11px}.service-symbol{display:grid;place-items:center;width:35px;height:35px;border:1px solid #d9dfe5;border-radius:50%;color:#9b815e;font-size:17px;transition:transform .25s,background .25s}.service-item:hover .service-symbol{transform:rotate(45deg);background:var(--navy);color:#fff}.supporting-services{margin-top:30px;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:22px 24px;background:#f1f2ef}.supporting-label{font:700 9px var(--display);letter-spacing:.16em;color:#84909e}.supporting-services p{color:#53606e;font-size:13px;margin:5px 0 0}.supporting-services p b{color:#b49a79;padding:0 5px}.supporting-services .under-link{margin:0;white-space:nowrap}
/* selected work */.work-section{background:var(--navy);color:var(--off);position:relative;overflow:hidden}.work-section:before{content:"";position:absolute;width:700px;height:700px;border:1px solid rgba(130,150,177,.13);border-radius:50%;right:-330px;top:-280px;box-shadow:0 0 0 55px rgba(130,150,177,.025),0 0 0 110px rgba(130,150,177,.02);pointer-events:none}.work-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;position:relative}.section-index-light{color:#a2b1c2}.display-light{color:#fff}.work-heading .display-heading{max-width:700px}.work-heading-copy{max-width:320px;color:rgba(247,247,244,.62);font-size:14px;margin:0 0 8px}.work-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);padding:15px 0;margin:52px 0 32px;position:relative}.work-filters{display:flex;gap:5px;flex-wrap:wrap}.filter-button{border:1px solid transparent;border-radius:2px;padding:9px 12px;background:transparent;color:rgba(247,247,244,.55);font:600 11px var(--display);transition:color .2s,border-color .2s,background .2s}.filter-button span{margin-left:7px;color:var(--accent);font-size:9px}.filter-button:hover,.filter-button.active{border-color:rgba(215,181,138,.45);color:#fff;background:rgba(255,255,255,.04)}.work-toolbar-note{font-size:10px;color:rgba(247,247,244,.4);white-space:nowrap}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 26px;position:relative}.project-card{min-width:0;transition:opacity .25s,transform .25s}.project-card.is-hidden{display:none}.project-featured{grid-column:span 1}.project-image{position:relative;display:block;width:100%;overflow:hidden;border:0;padding:0;background:#26354a;text-align:left;aspect-ratio:1.78;cursor:zoom-in}.project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,12,22,.02) 50%,rgba(5,12,22,.23));pointer-events:none}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .4s}.project-card:hover .project-image img{transform:scale(1.045);filter:saturate(1.04)}.image-open{position:absolute;z-index:2;left:17px;bottom:16px;background:rgba(13,24,39,.83);backdrop-filter:blur(10px);color:#fff;padding:9px 12px;font:600 10px var(--display);opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}.image-open b{margin-left:16px;color:var(--accent);font-size:14px}.project-card:hover .image-open,.project-image:focus-visible .image-open{opacity:1;transform:translateY(0)}.image-count{position:absolute;z-index:2;right:15px;top:14px;color:#fff;font:700 9px var(--display);letter-spacing:.1em;text-shadow:0 1px 5px rgba(0,0,0,.5)}.project-meta{display:flex;justify-content:space-between;gap:20px;padding:20px 2px 0}.project-type{font:700 8px var(--display);letter-spacing:.15em;color:#a9b7c7}.project-meta h3{font:700 23px/1.2 var(--display);letter-spacing:-.04em;color:#fff;margin:9px 0 7px}.project-meta p{font-size:12px;line-height:1.7;color:rgba(247,247,244,.57);max-width:490px;margin:0}.project-arrow{font-size:20px;color:var(--accent);transition:transform .25s}.project-card:hover .project-arrow{transform:translate(4px,-4px)}.project-thumbs{display:flex;gap:10px;margin-top:17px}.project-thumbs button{position:relative;width:calc(50% - 5px);padding:0;background:transparent;border:1px solid rgba(255,255,255,.14);overflow:hidden;text-align:left;color:#fff}.project-thumbs img{width:100%;aspect-ratio:2.2;object-fit:cover;opacity:.83;transition:opacity .2s,transform .4s}.project-thumbs button:hover img{opacity:1;transform:scale(1.04)}.project-thumbs span{display:block;padding:6px 8px;font:600 9px var(--display);color:rgba(247,247,244,.7)}.portfolio-disclosure{position:relative;margin:50px 0 0;padding:18px 20px;border:1px solid rgba(255,255,255,.13);color:rgba(247,247,244,.48);font-size:11px;line-height:1.7}.portfolio-disclosure span{color:var(--accent);font:700 9px var(--display);letter-spacing:.14em;margin-right:12px}
/* industries */.industries-section{background:#e9e9e3;padding-bottom:80px}.industries-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center}.industries-layout .display-heading{max-width:590px}.industries-layout .section-summary{margin-top:28px;max-width:390px}.industry-cloud{display:flex;flex-wrap:wrap;gap:10px;align-content:center}.industry-cloud span{display:inline-block;padding:14px 17px;border:1px solid rgba(16,28,48,.2);border-radius:2px;color:var(--navy);font:600 12px var(--display);background:rgba(255,255,255,.27);transition:background .2s,color .2s,transform .2s}.industry-cloud span:nth-child(2n){transform:translateY(8px)}.industry-cloud span:hover{background:var(--navy);color:#fff;transform:translateY(-3px)}.industry-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:90px;padding-top:19px;border-top:1px solid rgba(16,28,48,.16);font:700 9px var(--display);letter-spacing:.16em;color:#89929b}.industry-star{font-size:19px;color:#a28764}
/* process */.approach-section{background:var(--off)}.approach-heading .display-heading{max-width:650px}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.approach-card{position:relative;min-height:275px;padding:25px 26px 30px 0;border-right:1px solid var(--line);transition:background .25s,padding .25s}.approach-card:not(:first-child){padding-left:25px}.approach-card:last-child{border-right:0}.approach-card:hover{background:rgba(255,255,255,.55);padding-top:20px}.approach-num{font:700 10px var(--display);color:#8f9baa}.approach-icon{margin:25px 0 20px;width:39px;height:39px;display:grid;place-items:center;border:1px solid #cbd2d9;border-radius:50%;color:#9c805b;font-size:21px}.approach-card h3{font:700 18px var(--display);color:var(--navy);margin:0 0 10px}.approach-card p{max-width:220px;font-size:12px;line-height:1.8;color:#737e8b}.approach-line{position:absolute;bottom:-1px;left:0;width:0;height:2px;background:var(--accent);transition:width .35s}.approach-card:hover .approach-line{width:100%}
/* quality */.quality-section{background:var(--navy-2);color:var(--off);padding:90px 0;overflow:hidden;position:relative}.quality-section:after{content:"";position:absolute;right:-150px;top:-240px;width:550px;height:550px;border:1px solid rgba(215,181,138,.17);border-radius:50%;box-shadow:0 0 0 55px rgba(215,181,138,.025),0 0 0 110px rgba(215,181,138,.02)}.quality-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px;align-items:center;position:relative;z-index:1}.quality-mark{position:relative;min-height:250px;display:flex;align-items:center;justify-content:center}.quality-mark-a{font:800 190px/.9 var(--display);color:rgba(247,247,244,.04);letter-spacing:-.12em}.quality-mark-ring{position:absolute;width:190px;height:190px;border:1px solid rgba(215,181,138,.55);border-radius:50%}.quality-mark-ring:before,.quality-mark-ring:after{content:"";position:absolute;border:1px solid rgba(130,150,177,.35);border-radius:50%;inset:17px}.quality-mark-ring:after{inset:35px}.quality-mark-caption{position:absolute;font:700 8px/1.9 var(--display);letter-spacing:.2em;text-align:center;color:var(--accent)}.quality-copy .display-heading{font-size:clamp(34px,4.4vw,55px);max-width:700px}.quality-copy>p{max-width:670px;color:rgba(247,247,244,.66);font-size:14px;line-height:1.9;margin:25px 0}.quality-points{display:flex;flex-wrap:wrap;gap:12px 23px}.quality-points span{font-size:11px;color:rgba(247,247,244,.78)}.quality-points i{font-style:normal;color:var(--accent);margin-right:7px}
/* contact/footer */.contact-section{background:#fff}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.contact-intro .display-heading{max-width:470px}.contact-intro>p{max-width:400px;margin:27px 0;color:#6d7784;font-size:15px;line-height:1.85}.contact-email{display:inline-flex;align-items:center;gap:17px;font:700 14px var(--display);color:var(--navy);text-decoration:none;border-bottom:1px solid #aeb8c2;padding-bottom:8px}.contact-email span{color:#9d7d58;font-size:17px}.contact-location{display:flex;align-items:center;gap:9px;margin-top:44px;color:#89929d;font-size:11px}.location-dot{background:#8ca88f;box-shadow:none;margin:0}.contact-form-wrap{padding:30px 34px 28px;background:var(--off);border:1px solid #ecece7}.form-topline{display:flex;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:22px;font:700 9px var(--display);letter-spacing:.16em;color:#8994a1}.form-topline span:last-child{color:#b59a79}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 19px}.field{display:flex;flex-direction:column;gap:8px}.field-full{grid-column:1/-1}.field label{font:700 10px var(--display);color:#6f7b89}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #cfd4d7;border-radius:0;padding:10px 0;background:transparent;color:var(--navy);font:400 13px var(--sans);outline:none;transition:border-color .2s}.field input::placeholder,.field textarea::placeholder{color:#a3aab1}.field input:focus,.field select:focus,.field textarea:focus{border-color:#9d7d58;outline:0}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%237d8792' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;background-size:10px}.field select option{color:var(--navy)}.field textarea{resize:vertical;min-height:86px}.form-bottom{display:flex;align-items:center;gap:18px;margin-top:24px}.button-dark{background:var(--navy);color:#fff;border-color:var(--navy)}.button-dark:hover{background:#253d59}.form-bottom p{margin:0;color:#8d969f;font-size:10px;line-height:1.5;max-width:245px}.site-footer{background:#0b1525;color:var(--off);padding:65px 0 22px}.footer-main{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:65px;padding-bottom:55px}.brand-footer .brand-mark{width:34px;height:34px}.footer-brand-block>p{max-width:270px;margin:20px 0 0;color:rgba(247,247,244,.49);font-size:12px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-label{font:700 9px var(--display);letter-spacing:.17em;color:var(--accent);margin-bottom:7px}.footer-links a,.footer-links span:not(.footer-label){color:rgba(247,247,244,.62);font-size:11px;text-decoration:none}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:19px;color:rgba(247,247,244,.4);font-size:10px}.footer-bottom a{color:rgba(247,247,244,.66);text-decoration:none}.footer-bottom a:hover{color:#fff}.back-to-top{position:fixed;z-index:50;right:23px;bottom:23px;width:43px;height:43px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:var(--navy);color:#fff;font-size:19px;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s,transform .25s,background .2s}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:#29415c}
/* lightbox */.lightbox[hidden]{display:none}.lightbox{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:26px}.lightbox-backdrop{position:absolute;inset:0;background:rgba(5,12,22,.84);backdrop-filter:blur(10px)}.lightbox-panel{position:relative;width:min(1040px,100%);max-height:calc(100vh - 52px);overflow:auto;background:#f8f8f5;border-radius:4px;padding:20px;box-shadow:0 30px 90px rgba(0,0,0,.4);animation:lightbox-in .25s var(--ease)}.lightbox-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.lightbox-kicker{font:700 9px var(--display);letter-spacing:.15em;color:#9099a3}.lightbox-head h2{margin:5px 0 0;font:700 20px var(--display);color:var(--navy)}.lightbox-close{width:38px;height:38px;border:1px solid #d8dcdf;border-radius:50%;background:transparent;color:var(--navy);font-size:25px;line-height:1}.lightbox-close:hover{background:var(--navy);color:#fff}.lightbox-image-wrap{background:#e8e9e5}.lightbox-image-wrap img{width:100%;max-height:70vh;object-fit:contain}.lightbox-panel>p{margin:12px 0 0;color:#66717f;font-size:12px}@keyframes lightbox-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(167,192,169,.12)}50%{box-shadow:0 0 0 7px rgba(167,192,169,.04)}}
/* reveal */.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.hero-layout{grid-template-columns:1fr 1fr;gap:25px}.hero-visual{min-height:420px}.browser-small{width:165px}.visual-note{left:-5px}.contact-layout{gap:55px}.about-layout{gap:45px}.industries-layout{gap:50px}}
@media(max-width:820px){.container{width:min(var(--max),calc(100% - 42px))}.topline-inner{font-size:9px}.nav-wrap{height:72px;gap:17px}.menu-toggle{display:block;order:3}.primary-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#101c30;padding:8px 24px 22px;border-bottom:1px solid rgba(255,255,255,.15);flex-direction:column;align-items:stretch;gap:0}.site-header.menu-open .primary-nav{display:flex}.primary-nav a{padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px}.nav-cta{margin-left:auto;padding:11px 13px;font-size:11px}.hero{padding-top:66px}.hero-layout{grid-template-columns:1fr;gap:38px;padding-bottom:62px}.hero-copy{max-width:680px}.hero-visual{width:min(100%,670px);margin:0 auto;min-height:450px}.visual-kicker{right:5px}.browser-main{width:85%}.browser-small-one{left:0}.browser-small-two{right:0}.visual-note{left:0;top:95px}.hero-bottom{height:48px;gap:10px;font-size:8px;letter-spacing:.1em}.section{padding:88px 0}.about-layout{grid-template-columns:1fr;gap:28px}.section-aside{min-height:0}.vertical-note{display:none}.about-bottom{grid-template-columns:1fr 1fr;gap:35px;margin-top:43px}.section-heading-row,.work-heading,.approach-heading{align-items:start;flex-direction:column;gap:22px}.section-summary,.work-heading-copy{max-width:500px}.service-item{grid-template-columns:48px 1fr 150px;gap:18px}.service-detail{gap:8px}.service-detail small{max-width:100px}.industries-layout{grid-template-columns:1fr;gap:35px}.industry-cloud{max-width:650px}.quality-layout{grid-template-columns:.5fr 1.5fr;gap:40px}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-intro>p{max-width:540px}.contact-location{margin-top:26px}.footer-main{gap:35px;grid-template-columns:1.2fr .8fr 1fr}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.topline-inner{height:30px}.topline-inner span:last-child{font-size:8px}.brand-mark{width:33px;height:33px}.brand-words strong{font-size:11px}.brand-words small{font-size:8px}.nav-cta{gap:9px;padding:10px 11px}.nav-cta span{font-size:14px}.menu-toggle{padding:7px 2px}.hero{padding-top:53px}.hero-layout{gap:24px}.eyebrow{font-size:8px;letter-spacing:.15em}.hero h1{font-size:clamp(46px,13vw,68px);margin:24px 0 20px}.hero-intro{font-size:14px;line-height:1.75;margin-bottom:25px}.hero-actions{gap:20px}.button{padding:14px 16px;gap:19px}.text-link{font-size:11px}.hero-foot{margin-top:34px;font-size:10px;align-items:flex-start}.hero-visual{min-height:340px;margin-top:10px;padding:28px 0 48px}.visual-kicker{font-size:7px;letter-spacing:.09em}.browser-main{width:88%;border-radius:5px}.browser-bar{height:25px;font-size:6px}.browser-dots i{width:5px;height:5px}.browser-main>img{aspect-ratio:1.6}.browser-caption{padding:8px 10px;font-size:7px}.browser-small{width:120px;padding:4px}.browser-small span{font-size:7px;padding:4px}.browser-small-one{bottom:28px;left:-3px}.browser-small-two{bottom:9px;right:-2px}.visual-note{top:67px;padding:8px 9px;gap:7px}.visual-note-icon{width:23px;height:23px;font-size:12px}.visual-note b{font-size:8px}.visual-note small{font-size:7px}.hero-switcher{right:0;bottom:0}.preview-choice{padding:7px;font-size:8px}.preview-choice span{display:none}.hero-bottom{font-size:6.5px;letter-spacing:.07em;gap:7px;white-space:nowrap}.intro-strip-inner{grid-template-columns:1fr 35px;gap:12px;padding:20px 0;min-height:0}.strip-label{grid-column:1/-1;font-size:8px}.intro-strip p{font-size:18px}.round-arrow{width:32px;height:32px}.section{padding:72px 0}.display-heading{font-size:clamp(34px,10vw,48px)}.about-bottom{grid-template-columns:1fr;gap:9px;margin-top:31px}.about-lead{font-size:20px;max-width:500px}.about-text{font-size:13px}.service-list{margin-top:38px}.service-item{grid-template-columns:34px 1fr;gap:10px;padding:23px 0}.service-number{font-size:10px}.service-main h3{font-size:24px}.service-main p{font-size:12px}.service-detail{grid-column:2;justify-self:start;margin-top:10px}.service-symbol{width:28px;height:28px;font-size:14px}.supporting-services{display:block;padding:18px}.supporting-services p{line-height:1.8;font-size:11px}.supporting-services .under-link{margin-top:13px}.work-heading{gap:18px}.work-toolbar{display:block;margin:34px 0 24px}.work-filters{gap:3px}.filter-button{padding:8px 9px;font-size:9px}.work-toolbar-note{display:block;margin-top:11px;font-size:9px}.portfolio-grid{grid-template-columns:1fr;gap:34px}.project-image{aspect-ratio:1.6}.project-meta{padding-top:15px}.project-meta h3{font-size:20px}.project-meta p{font-size:11px}.project-type{font-size:7px}.image-open{opacity:1;transform:none;font-size:8px;padding:7px 9px}.project-thumbs{margin-top:12px}.portfolio-disclosure{margin-top:35px;padding:14px;font-size:10px}.industries-section{padding-bottom:58px}.industry-cloud{gap:7px}.industry-cloud span{padding:10px 12px;font-size:10px}.industry-cloud span:nth-child(2n){transform:none}.industry-bottom{margin-top:55px;font-size:7px;letter-spacing:.1em}.approach-grid{grid-template-columns:1fr 1fr;margin-top:38px}.approach-card{min-height:225px;padding:18px 14px 20px 0;border-bottom:1px solid var(--line)}.approach-card:not(:first-child){padding-left:14px}.approach-card:nth-child(2){border-right:0}.approach-card:nth-child(3){padding-left:0;border-bottom:0}.approach-card:nth-child(4){border-right:0;border-bottom:0}.approach-icon{margin:18px 0 14px;width:33px;height:33px}.approach-card h3{font-size:15px}.approach-card p{font-size:10px}.quality-section{padding:62px 0}.quality-layout{grid-template-columns:1fr;gap:10px}.quality-mark{min-height:120px;max-width:180px;margin:0 auto}.quality-mark-a{font-size:120px}.quality-mark-ring{width:115px;height:115px}.quality-mark-caption{font-size:6px}.quality-copy .display-heading{font-size:36px}.quality-copy>p{font-size:12px;margin:19px 0}.quality-points{gap:10px 15px}.quality-points span{font-size:9px}.contact-layout{gap:35px}.contact-intro .display-heading{font-size:43px}.contact-intro>p{font-size:13px}.contact-email{font-size:12px}.contact-form-wrap{padding:22px 18px}.form-grid{grid-template-columns:1fr;gap:17px}.field-full{grid-column:auto}.form-bottom{align-items:flex-start;flex-direction:column;gap:12px}.form-bottom p{max-width:none}.footer-main{grid-template-columns:1fr 1fr;gap:32px 20px;padding-bottom:35px}.footer-brand-block{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;font-size:9px}.footer-bottom span:last-child{display:none}.lightbox{padding:12px}.lightbox-panel{padding:13px}.lightbox-image-wrap img{max-height:65vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
