@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Americana;src:url('/assets/fonts/Americana-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
:root{--blue:#294056;--deep:#101e2b;--ink:#1d3347;--gold:#ccb086;--white:#fff;--paper:#f7f8f9;--muted:#6a7580;--line:#dde2e6;--serif:Americana,Georgia,serif;--sans:Montserrat,Arial,sans-serif;--pad:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.65;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}::selection{background:var(--gold);color:var(--deep)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(52px,6.7vw,112px)}h2{font-size:clamp(38px,4.2vw,66px)}h3{font-size:24px;line-height:1.25;letter-spacing:-.025em}p{max-width:65ch}.wrap{width:100%;max-width:1600px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}.section{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:25px}.gold{color:var(--gold)}.muted{color:var(--muted)}.rule{height:1px;background:var(--line)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:-80px;left:20px;padding:12px 20px;background:white;color:var(--blue)}.skip-link:focus{top:12px}
.site-header{height:108px;padding:0 var(--pad);display:flex;align-items:center;gap:35px;color:white;position:absolute;top:0;width:100%;z-index:30;border-bottom:1px solid #ffffff24;transition:background .3s,box-shadow .3s}.site-header.is-scrolled{position:fixed;background:#192d40f5;backdrop-filter:blur(18px);height:88px;box-shadow:0 4px 20px #00000010}.brand{width:148px;height:87px;display:flex;align-items:center;flex-shrink:0}.brand-logo{width:148px;height:80px;overflow:visible}.desktop-nav{display:flex;gap:32px;margin-left:auto}.desktop-nav a{font-size:14px;font-weight:500;position:relative;padding:13px 0;white-space:nowrap}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:6px;height:1px;width:0;background:var(--gold);transition:width .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{width:100%}.header-contact{font-size:14px;border:1px solid #ccb08680;padding:11px 21px;margin-left:25px;transition:background .2s,color .2s}.header-contact:hover{background:var(--gold);color:var(--deep)}.menu-toggle{display:none;border:0;background:none;padding:12px;color:white;width:44px}.menu-toggle span{display:block;background:currentColor;height:1px;margin:7px 0;width:24px}.mobile-menu{position:fixed;z-index:29;inset:88px 0 0;background:var(--deep);color:white;padding:40px var(--pad);overflow:auto}.mobile-menu:not([hidden]){display:flex;flex-direction:column;gap:20px}.mobile-menu a{font-family:var(--serif);font-size:32px}
.hero{height:min(950px,100svh);min-height:740px;background:var(--deep);color:white;position:relative;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-3;transform:scale(1.025);object-position:62% center}.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0c1a2bea 0%,#12243bb5 36%,#101e2b14 73%),linear-gradient(0deg,#0d1b2bf0 0%,transparent 40%,#0d1b2b60 100%)}.hero-content{padding-top:clamp(200px,23vh,265px);position:relative;z-index:2}.hero .eyebrow{margin-bottom:28px}.hero h1{max-width:850px}.hero h1 em{font-style:normal;color:var(--gold)}.hero-description{max-width:490px;font-size:17px;line-height:1.85;color:#e5e9ed;margin-top:28px}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:36px}.button{border:1px solid transparent;background:var(--gold);color:var(--deep);display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;font-size:14px;font-weight:600;transition:background .2s,transform .2s;border-radius:0}.button:hover{background:#dfc7a5;transform:translateY(-2px)}.button.blue{background:var(--blue);color:white}.button.blue:hover{background:#3b556d}.button.outline{background:transparent;color:var(--blue);border-color:#29405666}.text-link{font-size:14px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block;transition:opacity .2s}.text-link:hover{opacity:.65}.hero-bottom{position:absolute;bottom:30px;display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;font-size:12px;color:#e0e5e9}.scroll-cue{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.scroll-line{height:43px;width:1px;background:#ffffff30;overflow:hidden;position:relative}.scroll-line:after{content:'';height:20px;width:1px;background:var(--gold);position:absolute;animation:scroll-tick 2.4s ease-in-out infinite}.hero-bottom .demo-label{letter-spacing:.02em;color:#e0e5e9;font-size:11px}.orbit{position:absolute;z-index:-1;pointer-events:none;right:-7%;bottom:-160px;width:48vw;opacity:.28}.orbit path{fill:none;stroke:var(--gold);stroke-width:1}
.intro{display:grid;grid-template-columns:1fr 1.8fr;gap:80px;align-items:start}.intro .eyebrow{margin-top:13px}.intro h2{max-width:880px}.intro p{margin-top:28px;font-size:17px;color:var(--muted);line-height:1.9;max-width:660px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:54px}.section-title .text-link{white-space:nowrap}.expertise{padding-top:25px}.expertise-list{border-top:1px solid var(--line)}.expertise-row{display:grid;grid-template-columns:60px 1fr 1fr 40px;align-items:start;gap:24px;padding:28px 0;border-bottom:1px solid var(--line);transition:padding .3s,background .3s}.expertise-row:hover{padding-left:15px;padding-right:15px;background:#f4f6f8}.expertise-number{font-size:12px;color:#8d7656;margin-top:5px}.expertise-row h3{font-family:var(--serif);font-size:clamp(24px,2.4vw,36px)}.expertise-row p{font-size:14px;line-height:1.8;color:var(--muted);max-width:420px}.plus-sign{font-size:23px;font-weight:300;color:#9f8257;justify-self:end}
.process{background:var(--paper)}.process-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:8vw;align-items:center}.image-frame{position:relative;overflow:hidden;background:var(--blue);margin:0}.image-frame img{transition:transform .9s}.image-frame:hover img{transform:scale(1.035)}.image-frame.tall{height:590px}.image-caption{position:absolute;bottom:18px;left:20px;right:20px;color:white;text-shadow:0 1px 10px #000;font-size:11px;letter-spacing:.035em}.process-copy h2{max-width:520px}.process-copy>p{color:var(--muted);margin-top:24px}.steps{display:grid;gap:25px;margin-top:36px}.step{display:grid;grid-template-columns:32px 1fr;gap:15px}.step>span{font-size:12px;color:#9b7b4e;padding-top:4px}.step h3{font-size:16px;font-weight:600;margin-bottom:7px}.step p{font-size:14px;color:var(--muted)}
.solutions{background:var(--blue);color:white;position:relative;overflow:hidden}.solutions .section-title{align-items:start}.solutions .section-title p{max-width:420px;color:#d2dce5;font-size:16px;padding-top:39px}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.solution-card{border-top:1px solid #ffffff40;padding:28px 0 12px;display:flex;flex-direction:column;min-height:310px;transition:border-color .2s}.solution-card:hover{border-color:var(--gold)}.solution-mark{font-family:var(--serif);font-size:clamp(32px,3vw,48px);letter-spacing:-.05em;margin:26px 0 18px}.solution-mark span{font-family:var(--sans);font-size:11px;letter-spacing:.16em;display:block;margin-bottom:8px;color:var(--gold)}.solution-card p{font-size:14px;color:#d2dce5;max-width:340px;margin-bottom:26px;line-height:1.9}.solution-card .text-link{align-self:flex-start;margin-top:auto}.status{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#d8c3a4}.solution-card.featured .solution-mark{color:var(--gold)}
.infinite-feature{display:grid;grid-template-columns:1fr 1.15fr;min-height:660px}.infinite-feature .copy{padding:90px var(--pad);display:flex;flex-direction:column;justify-content:center;align-items:start}.infinite-feature h2{margin-bottom:26px}.infinite-feature p{color:var(--muted);max-width:470px;margin-bottom:32px}.infinite-feature .image-frame{min-height:560px}.infinite-feature img{object-position:55% center}.team-intro{display:grid;grid-template-columns:1fr 1.7fr;gap:60px;border-top:1px solid var(--line)}.team-intro h2{max-width:800px}.team-intro p{margin:26px 0 28px;color:var(--muted)}.team-names{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}.team-names a{padding:10px 16px;border:1px solid var(--line);font-size:14px}.team-names a:hover{border-color:var(--blue)}
.cta-section{background:var(--deep);color:white;padding:95px var(--pad);position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:40px;align-items:center}.cta-section h2{max-width:830px}.cta-section .button{white-space:nowrap}.cta-section .eyebrow{color:var(--gold)}.site-footer{background:var(--deep);color:white;border-top:1px solid #ffffff20}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:center;padding-top:50px;padding-bottom:55px}.footer-brand{font-family:var(--serif);font-size:29px;color:var(--gold)}.footer-brand span{font-family:var(--sans);display:block;font-size:12px;letter-spacing:.02em;color:#bbc8d3;margin-top:8px}.footer-top p{font-size:14px;color:#bbc8d3}.footer-bottom{border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:25px;align-items:center;padding-top:23px;padding-bottom:55px;color:#aebdc9;font-size:11px}.motion-control{color:#c9d3dc;background:none;border:0;border-bottom:1px solid #6c7c8a;padding:4px 0;font-size:11px}.preview-note{position:fixed;bottom:15px;left:18px;z-index:35;border:1px solid #ccb08660;box-shadow:0 3px 18px #0002;background:#142639f2;color:#dce4eb;padding:7px 8px 7px 13px;font-size:11px;display:flex;align-items:center;gap:12px;backdrop-filter:blur(10px)}.preview-note>span{color:var(--gold);font-size:10px;letter-spacing:.1em}.preview-note button{border:0;background:transparent;color:white;font-size:20px;line-height:1;padding:0 4px}.reveal{opacity:1;transform:none}.motion-on .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.motion-on .reveal.visible{opacity:1;transform:none}
.inner-hero{background:var(--blue);color:white;padding:185px var(--pad) 85px;position:relative;overflow:hidden}.inner-hero h1{font-size:clamp(48px,6vw,88px);max-width:1050px}.inner-hero>p{margin-top:25px;color:#d6dfe6;max-width:690px;font-size:17px}.breadcrumb{font-size:12px;color:#d4c09e;margin-bottom:35px}.breadcrumb a{border-bottom:1px solid #ccb08666}.inner-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.detail-card{border-top:1px solid var(--line);padding:30px 0}.detail-card h2{font-size:36px;margin-bottom:20px}.detail-card p{color:var(--muted)}.detail-card .eyebrow{color:#94764e}.detail-card ul{padding-left:20px;color:var(--muted);margin:20px 0 0}.detail-card li{margin:8px 0}.detail-card .text-link{margin-top:24px}.wide-feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:80px}.wide-feature .image-frame{height:470px}.wide-feature p{color:var(--muted);margin-top:24px}.wide-feature .text-link{margin-top:25px}.notice{background:var(--paper);border-left:2px solid var(--gold);padding:23px 27px;font-size:14px;color:var(--muted);margin-top:35px}.person-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.person-card{padding-top:35px;border-top:1px solid var(--line)}.person-monogram{font-family:var(--serif);font-size:76px;color:var(--gold);margin-bottom:30px}.person-card h2{font-size:35px;margin-bottom:14px}.person-card p{color:var(--muted);font-size:14px;margin-bottom:24px}.person-card .role{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9d8055;min-height:22px;display:block;margin-bottom:15px}.numbered-features{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.numbered-features article{border-top:1px solid var(--line);padding-top:25px}.numbered-features h3{font-family:var(--serif);font-size:30px;margin:18px 0}.numbered-features p{color:var(--muted);font-size:15px}.faq{max-width:920px;margin:0 auto}.faq h2{margin-bottom:40px}.faq details{border-top:1px solid var(--line);padding:25px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:30px}.faq summary:after{content:'+';color:#9e8055;font-size:24px;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{margin-top:20px;color:var(--muted);font-size:15px}.tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:38px}.tab{border:1px solid var(--line);color:var(--blue);background:white;padding:10px 20px;font-size:14px}.tab[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.project-card{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.project-card .image-frame{height:440px}.project-card h2{margin:15px 0 25px}.project-card p{color:var(--muted);margin-bottom:25px}.filter-empty{padding:55px 0;max-width:680px}.filter-empty h2{font-size:34px;margin-bottom:20px}.filter-empty p{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}.contact-grid aside p{color:var(--muted);margin:24px 0}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-form label{display:flex;flex-direction:column;gap:9px;font-size:14px}.contact-form input,.contact-form textarea,.contact-form select{border:1px solid #c3ccd3;background:white;padding:13px 14px;color:var(--ink);width:100%;border-radius:0}.contact-form textarea{min-height:170px;resize:vertical}.span-all{grid-column:1/-1}.form-note{color:var(--muted);font-size:12px;line-height:1.75}.form-feedback{padding:18px 0;color:var(--blue);font-size:14px}.copy-area{white-space:pre-wrap;padding:20px;background:var(--paper);font-size:14px;word-break:break-word}.contact-form .button{justify-self:start}.route-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px}
@keyframes scroll-tick{0%{top:-20px}80%,100%{top:45px}}
.software-status{color:#826641;border:1px solid #d8c6ab;padding:10px 14px}.software-flow{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;background:var(--blue);color:white}.software-flow>div{padding:28px 23px;border-right:1px solid #ffffff26}.software-flow>div:last-child{border-right:0}.software-flow span{color:var(--gold);font-size:12px}.software-flow p{font-size:15px;margin-top:14px}.small-disclosure{font-size:12px!important;margin-top:28px;line-height:1.7}.copy-area{font-family:var(--sans);margin:0 0 18px}details[open]{animation:none}
@media(min-width:1700px){.hero-content{padding-top:260px}.hero h1{font-size:112px}}
@media(max-width:1100px){.desktop-nav{gap:21px}.header-contact{margin-left:0}.site-header{gap:22px}.intro{gap:40px;grid-template-columns:1fr 2fr}.hero h1{font-size:80px}.hero{min-height:730px}.process-grid{gap:55px}.image-frame.tall{height:510px}.solution-grid{gap:25px}.infinite-feature .copy{padding:70px 40px}.team-intro{grid-template-columns:1fr 2fr;gap:40px}.contact-grid{gap:55px}.hero-content{padding-top:220px}.expertise-row{grid-template-columns:45px 1fr 1fr 25px}}
@media(max-width:800px){.site-header,.site-header.is-scrolled{height:88px;position:absolute}.site-header.is-scrolled{position:fixed}.brand,.brand-logo{width:120px;height:73px}.desktop-nav{display:none}.header-contact{margin-left:auto;font-size:12px;padding:9px 13px}.menu-toggle{display:block}.site-header{gap:10px}.hero{height:auto;min-height:820px}.hero-content{padding-top:190px;padding-bottom:180px}.hero h1{font-size:clamp(52px,10vw,78px);max-width:720px}.hero-photo{object-position:64% center}.hero:after{background:linear-gradient(90deg,#101e2bf0,#101e2b66),linear-gradient(0deg,#101e2b 0%,transparent 80%)}.hero-description{font-size:16px;max-width:460px}.hero-actions{gap:23px}.hero-bottom{bottom:26px;align-items:end}.hero-bottom .demo-label{max-width:150px;text-align:right;font-size:10px}.section{padding-top:75px;padding-bottom:75px}.intro,.process-grid,.team-intro{grid-template-columns:1fr;gap:30px}.intro .eyebrow{margin-bottom:0}.intro h2{font-size:42px}.intro p{font-size:16px}.section-title{margin-bottom:35px;align-items:start;flex-direction:column;gap:25px}.expertise{padding-top:15px}.expertise-row{grid-template-columns:30px 1fr 20px;gap:13px;padding:24px 0}.expertise-row p{grid-column:2;grid-row:2}.expertise-row .plus-sign{grid-column:3;grid-row:1}.expertise-row h3{font-size:27px}.image-frame.tall{height:440px}.process-copy{padding-top:10px}.solutions .section-title p{padding-top:0;max-width:600px}.solution-grid{grid-template-columns:1fr;gap:28px}.solution-card{min-height:0;padding-top:24px;padding-bottom:14px}.solution-mark{font-size:40px;margin-top:15px}.solution-card p{max-width:600px}.infinite-feature{grid-template-columns:1fr}.infinite-feature .copy{padding:70px var(--pad)}.infinite-feature .image-frame{min-height:0;height:440px}.team-intro .eyebrow{margin-bottom:0}.cta-section{padding:75px var(--pad);align-items:start;flex-direction:column;gap:35px}.cta-section h2{font-size:42px}.footer-top{flex-wrap:wrap;gap:35px}.footer-top p{display:none}.footer-bottom{align-items:start;flex-direction:column;gap:15px}.inner-hero{padding-top:155px;padding-bottom:65px}.inner-hero h1{font-size:52px}.inner-grid,.wide-feature,.project-card,.contact-grid{grid-template-columns:1fr;gap:35px}.wide-feature{margin-bottom:55px}.wide-feature .image-frame{height:380px}.numbered-features,.person-grid{grid-template-columns:1fr;gap:35px}.person-monogram{font-size:60px;margin-bottom:15px}.contact-form{gap:22px}.orbit{width:90vw;bottom:-70px;right:-35%}.project-card .image-frame{height:360px}}
@media(max-width:430px){.hero{min-height:780px}.hero-content{padding-top:174px}.hero h1{font-size:52px;letter-spacing:-.045em}.hero-description{font-size:15px}.hero-actions{align-items:start;flex-direction:column;gap:21px}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.hero-bottom .demo-label{max-width:120px}.intro h2,h2{font-size:36px}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1}.footer-top{flex-direction:column;align-items:start}.section{padding-top:62px;padding-bottom:62px}.inner-hero h1{font-size:43px}.infinite-feature .image-frame{height:340px}}
@media(max-width:800px){.software-flow{grid-template-columns:1fr 1fr;margin-top:40px}.software-flow>div{border-bottom:1px solid #ffffff26}.software-flow>div:nth-child(2){border-right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-on .reveal{opacity:1;transform:none}.hero-photo{transform:none!important}}
html.reduce-motion{scroll-behavior:auto}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation:none!important;transition:none!important}html.reduce-motion .reveal{opacity:1!important;transform:none!important}html.reduce-motion .hero-photo{transform:none!important}

@media(min-width:801px) and (max-width:1100px){.person-grid{grid-template-columns:1fr 1fr}}
