@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
.service-photo{display:block;aspect-ratio:2/1;overflow:hidden;margin:-30px -30px 26px;background:#102841;flex-shrink:0}.service-photo img,.service-detail-photo img{width:100%;height:100%;object-fit:cover;object-position:top}.service-detail-photo{margin:0 0 36px;aspect-ratio:2/1;overflow:hidden;background:#102841}.image-frame.original-illustration{background:#0a1729}.image-frame.original-illustration img{object-fit:contain;padding:30px}.photo-hero{position:relative;overflow:hidden}.photo-hero>.wrap{position:relative;z-index:1}.page-hero-photo{position:absolute;inset:0 0 0 38%;width:62%;height:100%;object-fit:cover}.photo-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a1729 12%,rgba(10,23,41,.92) 42%,rgba(10,23,41,.6) 70%,rgba(10,23,41,.28))}.photo-hero p{max-width:680px}@media(max-width:600px){.service-photo{margin:-27px -27px 24px}.page-hero-photo{left:0;width:100%}.photo-hero:after{background:rgba(10,23,41,.82)}.image-frame.original-illustration img{padding:20px}}
:root{--ink:#0c192c;--navy:#0a1729;--muted:#586578;--purple:#7946d3;--line:#dce1e8;--paper:#f3f5f8;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:white;color:var(--ink);font:16px/1.7 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ae82ff;outline-offset:5px}button{cursor:pointer}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.skip{position:fixed;left:12px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.topbar{background:var(--navy);color:#c9d2df;font-size:.8rem;padding:8px 0}.topbar .wrap{display:flex;justify-content:space-between;gap:16px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand img{width:190px;height:51px;object-fit:contain}.brand-name{font-size:1.3rem;font-weight:800;letter-spacing:-.04em}.brand-name small{display:block;font-size:.62rem;letter-spacing:.17em;font-weight:600}.monogram{font-style:italic;font-size:2.4rem;font-weight:800;color:var(--purple);letter-spacing:-.18em;margin-right:8px}.main-nav{display:flex;gap:30px;align-items:center;font-size:.9rem;font-weight:700}.main-nav a{padding:12px 0}.main-nav a:hover,.main-nav [aria-current=page]{color:var(--purple)}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:52px;padding:12px 24px;background:var(--purple);color:white;font-size:.9rem;font-weight:700;border:1px solid transparent;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#6130b4;transform:translateY(-2px)}.button.light{background:#fff;color:var(--navy)}.button.outline{background:transparent;border-color:#8190a4;color:white}.button.dark-outline{background:transparent;border-color:var(--line);color:var(--ink)}.arrow{font-size:1.3rem;line-height:1}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 14px;min-height:44px}.hero{position:relative;background:var(--navy);color:#fff;min-height:620px;overflow:hidden}.hero-image{position:absolute;inset:0 0 0 32%;width:68%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a1729 8%,rgba(10,23,41,.97) 28%,rgba(10,23,41,.68) 54%,rgba(10,23,41,.08) 100%)}.hero-content{position:relative;z-index:1;padding-top:80px;padding-bottom:76px;max-width:700px}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:.77rem;letter-spacing:.16em;font-weight:800;color:var(--purple);margin:0 0 18px}.eyebrow:before{content:'';width:26px;height:2px;background:currentColor}.hero .eyebrow,.dark .eyebrow{color:#c0a0f3}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:600;letter-spacing:-.018em;line-height:1.05}h1{font-size:clamp(3.1rem,5.5vw,5rem);margin-bottom:24px}h2{font-size:clamp(2.4rem,3.5vw,3.5rem);margin-bottom:24px}h3{line-height:1.4;font-size:1.2rem}h1 span{color:#bf9cec}.hero p{font-size:1.05rem;line-height:1.8;color:#c6d0dd;max-width:540px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-note{display:flex;gap:18px;align-items:center;margin-top:35px;color:#d4dce7;font-size:.8rem}.hero-note span+span{border-left:1px solid #556073;padding-left:18px}.capability-bar{background:var(--paper);border-bottom:1px solid var(--line)}.capability-bar .wrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding-top:25px;padding-bottom:25px}.capability-item{display:flex;gap:18px;align-items:center}.capability-item b{display:block;font-size:.9rem}.capability-item small{display:block;color:var(--muted);font-size:.8rem}.index{font-family:'Barlow Condensed',Arial,sans-serif;font-size:1.8rem;color:var(--purple)}section.section{padding:92px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.section-head h2{margin:0}.section-head>p{max-width:420px;color:var(--muted);margin:0}.text-link{font-weight:800;font-size:.88rem;color:var(--purple);display:inline-flex;gap:22px;align-items:center;padding:10px 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;display:flex;flex-direction:column;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}.service-card:hover{background:var(--paper)}.service-card .card-top{display:flex;justify-content:space-between;margin-bottom:24px;color:var(--purple)}.service-card .card-top span{font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.service-card h3{max-width:270px;margin-bottom:12px}.service-card p{color:var(--muted);font-size:.9rem;margin-bottom:24px}.service-card .text-link{margin-top:auto}.icon{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.4}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.split p{color:var(--muted)}.image-frame{position:relative;background:var(--paper);min-width:0}.image-frame img{width:100%;height:420px;object-fit:cover}.image-caption{background:var(--navy);color:white;padding:16px 24px;font-size:.8rem}.pale{background:var(--paper)}.dark{background:var(--navy);color:#fff}.dark p{color:#bdc9d9}.check-list{list-style:none;padding:0;margin:24px 0}.check-list li{padding:10px 0;border-bottom:1px solid var(--line)}.check-list li:before{content:'✓';margin-right:14px;color:var(--purple);font-weight:800}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tag{padding:5px 11px;border:1px solid var(--line);font-size:.77rem;border-radius:2px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-card{border:1px solid var(--line);background:white;padding:30px}.project-card .date{font-size:.75rem;letter-spacing:.1em;color:var(--purple);font-weight:800}.project-card h3{font-size:1.5rem;margin:12px 0}.project-card p{color:var(--muted);font-size:.9rem}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}details{border-bottom:1px solid var(--line);padding:21px 0}summary{font-size:1rem;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px}summary:after{content:'+';font-size:1.5rem;color:var(--purple);line-height:1}details[open] summary:after{content:'−'}details p{margin:15px 30px 0 0;color:var(--muted);font-size:.94rem}.cta{padding:66px 0;background:var(--purple);color:#fff}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{margin-bottom:12px}.cta p{margin:0;color:#eee4ff}.footer{background:#071222;color:#d3dbe7;padding:62px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:60px}.footer h3{color:#fff;font-size:.94rem}.footer .brand-name{color:white;margin-bottom:22px}.footer p,.footer a,.footer address{font-size:.85rem;font-style:normal}.footer a:hover{color:#c6a7fc}.footer-links{display:grid;gap:8px}.footer-bottom{margin-top:45px;padding-top:23px;border-top:1px solid #283344;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:#9eacc0}.page-hero{background:var(--navy);color:white;padding:60px 0}.page-hero h1{max-width:950px}.page-hero p{color:#c5d0e0;max-width:740px}.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:.8rem;color:#bbc7d8;margin-bottom:28px}.breadcrumbs a:hover{color:white}.content-column{max-width:820px}.content-column h2{margin-top:45px}.content-column p{color:var(--muted)}.detail-layout{display:grid;grid-template-columns:1fr 330px;gap:75px}.aside-card{background:var(--paper);padding:30px;align-self:start;border-top:3px solid var(--purple)}.aside-card .footer-links a{padding:10px 0;border-bottom:1px solid var(--line);font-size:.85rem}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-card{padding:22px 0;border-bottom:1px solid var(--line)}.contact-card h3{margin-bottom:8px}.contact-card a{overflow-wrap:anywhere}.contact-card p{margin:0;color:var(--muted)}form{padding:36px;background:var(--paper)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:.85rem;font-weight:700;display:block;margin-bottom:18px}input,select,textarea{display:block;width:100%;padding:12px 14px;min-height:48px;border:1px solid #bbc4d1;border-radius:2px;background:#fff;color:var(--ink);margin-top:7px;font-weight:400}textarea{resize:vertical;min-height:150px}.form-note{font-size:.8rem;color:var(--muted)}.form-status{margin-top:14px;font-size:.88rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery figure{margin:0;border:1px solid var(--line);background:#fff}.gallery img{width:100%;height:250px;object-fit:contain;padding:12px}.gallery figcaption{padding:15px 20px;border-top:1px solid var(--line);font-size:.85rem}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.filter{padding:10px 18px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:2px;font-size:.85rem}.filter[aria-pressed=true]{background:var(--navy);color:white}.gallery [hidden]{display:none}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.hero{min-height:690px}.hero-content{padding-top:95px}}@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.header-inner{gap:22px}.main-nav{gap:18px}.brand img{width:160px}.header-inner>.button{padding:12px 17px}.split{gap:40px}.detail-layout{gap:35px;grid-template-columns:1fr 280px}.contact-layout{gap:40px}.footer-grid{gap:35px}.hero-content{max-width:660px}.hero h1{font-size:4.5rem}}@media(max-width:850px){.topbar{display:none}.header-inner{height:76px}.menu-toggle{display:block}.header-inner>.button{display:none}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:18px 28px;background:white;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #07122212;align-items:stretch}.main-nav.open{display:flex;flex-direction:column;gap:0}.main-nav a{padding:14px}.hero{min-height:600px}.hero-image{left:15%;width:85%}.hero:after{background:linear-gradient(90deg,#0a1729 0%,#0a1729d9 50%,#0a172960)}.hero-content{padding:64px 0}.hero h1{font-size:4rem}.service-grid{grid-template-columns:1fr 1fr}.split,.faq-layout{gap:36px}.section-head{align-items:start}.capability-item{gap:10px}.capability-item small{font-size:.75rem}.section-head>p{max-width:300px}.detail-layout{grid-template-columns:1fr}.aside-card{max-width:none}.contact-layout{grid-template-columns:1fr 1.2fr;gap:26px}.field-grid{grid-template-columns:1fr;gap:0}form{padding:24px}.gallery{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.cta .wrap{align-items:start}.image-frame img{height:360px}}@media(max-width:600px){.wrap{width:calc(100% - 40px)}.brand img{width:170px}.hero{min-height:620px}.hero-image{inset:0;width:100%;opacity:.6}.hero:after{background:linear-gradient(90deg,#0a1729eb,#0a17298c),linear-gradient(0deg,#0a1729,transparent 50%)}.hero-content{padding:60px 0 48px}.hero h1{font-size:3.5rem;max-width:450px}.hero p{font-size:1rem}.hero .actions{gap:12px;flex-direction:column;align-items:start}.hero .button{min-width:205px}.hero-note{font-size:.73rem;gap:12px}.hero-note span+span{padding-left:12px}.eyebrow{font-size:.7rem;letter-spacing:.13em}.capability-bar .wrap{grid-template-columns:1fr;gap:16px}.capability-item{gap:18px}.capability-item small{font-size:.8rem}.capability-item+.capability-item{border-top:1px solid var(--line);padding-top:16px}.capability-item .index{min-width:27px}.section-head{display:block;margin-bottom:28px}.section-head>p{max-width:none;margin-top:20px}section.section{padding:62px 0}.service-grid,.split,.project-grid,.faq-layout,.contact-layout,.gallery{grid-template-columns:1fr}.service-card{padding:27px}.service-card h3{max-width:none}.split,.faq-layout{gap:30px}.image-frame img{height:300px}.cta .wrap{display:block}.cta .button{margin-top:26px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:10px}.page-hero{padding:38px 0}.page-hero h1{font-size:3rem}.gallery img{height:280px}.contact-layout{gap:35px}.hero-note{flex-wrap:wrap}.button{min-height:52px}.section-head .text-link{margin-top:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1)}
.js .reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}
