
:root{--ink:#162b3b;--paper:#f7f8fa;--white:#fff;--muted:#566575;--line:#ccd5dd;--blue:#305add;--ice:#e4ebf1;--dark:#112c50;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--shell:1280px;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open,body.gallery-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}::selection{background:#c8d6ff;color:var(--ink)}:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.work-feature :focus-visible,.photo-dialog :focus-visible,.approach :focus-visible{outline-color:#bfd0ff}[hidden]{display:none!important}.shell{width:calc(100% - 96px);max-width:var(--shell);margin-inline:auto}.section-space{padding-block:110px}.skip-link{position:fixed;left:16px;top:8px;padding:10px 18px;background:var(--ink);color:white;z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}.section-kicker{font-size:13px;line-height:1.5;color:var(--muted);margin-bottom:22px}h2{font-family:var(--serif);font-size:clamp(48px,5.6vw,76px);line-height:1.06;letter-spacing:-.025em;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 23px;font-size:14px;min-height:55px;border:1px solid transparent;border-radius:5px;transition:background .25s,color .25s,box-shadow .25s}.button svg{width:18px;height:18px;transition:transform .3s var(--ease)}.button:hover svg{transform:translate(2px,-2px)}.button-light{background:white;color:var(--ink)}.button-light:hover{background:#d9e3ff;box-shadow:0 5px 20px #001f591a}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--blue)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:14px;min-height:44px;padding-block:10px;border-bottom:1px solid currentColor}.text-link svg{width:18px;height:18px;transition:transform .3s}.text-link:hover svg{transform:translate(3px,-3px)}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid transparent;transition:box-shadow .25s,border-color .25s}.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 2px 18px #162b3b08}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:block;flex-shrink:0}.brand-logo{width:246px;height:auto}.main-nav{display:flex;align-items:center;gap:32px;font-size:13px}.main-nav>a:not(.nav-contact){position:relative;padding:14px 0}.main-nav>a:not(.nav-contact)::after{position:absolute;content:'';left:0;bottom:7px;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}.main-nav>a:hover::after,.main-nav>a[aria-current]::after{transform:scaleX(1)}.main-nav>a[aria-current]{color:var(--blue)}.nav-contact{display:flex;align-items:center;gap:24px;background:var(--ink);color:white;padding:12px 20px;border-radius:28px;min-height:47px;transition:background .25s}.nav-contact:hover{background:var(--blue)}.nav-contact svg{width:17px;height:17px}.menu-toggle{display:none}
.hero{padding:28px 40px 0}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);padding-bottom:32px}.hero-top>span:last-child{font-family:var(--serif);font-size:20px;line-height:1.2;color:#526c83}.hero-layout{display:grid;grid-template-columns:1.16fr 1fr;gap:58px;align-items:center;min-width:0}.hero-copy{min-width:0;padding-bottom:12px}.hero h1{font-family:var(--serif);font-size:clamp(100px,12.5vw,174px);font-weight:400;letter-spacing:-.035em;line-height:.88;margin:0 0 35px -7px}.title-mask{display:block;overflow:hidden;padding-bottom:10px}.title-mask>span{display:block;animation:title-enter 1.1s var(--ease) both}.title-second{margin-left:90px}.title-second>span{animation-delay:.13s}.hero-bottom{display:flex;align-items:center;gap:44px;margin-top:24px;padding-left:6px;animation:intro-enter 1s .3s var(--ease) both}.hero-bottom>p{font-size:16px;line-height:1.85;max-width:250px}.round-link{display:flex;align-items:center;gap:15px;font-size:12px;line-height:1.5;flex-shrink:0}.round-arrow{width:58px;height:58px;border:1px solid #9cabb9;border-radius:50%;display:grid;place-items:center;transition:background .3s,color .3s,transform .3s}.round-link:hover .round-arrow{background:var(--ink);color:white;transform:translateY(3px)}.hero-portrait{position:relative;min-width:0;max-width:480px;margin:0 0 0 auto;width:100%}.portrait-aperture{position:relative;height:548px;overflow:hidden;clip-path:polygon(11% 0,100% 0,100% 89%,89% 100%,0 100%,0 11%);background:var(--ice);animation:portrait-enter 1.3s var(--ease) both}.portrait-aperture img{width:100%;height:100%;object-fit:cover;object-position:center 24%;animation:portrait-image 1.4s var(--ease) both}.hero-portrait::before{content:'';position:absolute;inset:18px -15px 24px 18px;background:var(--ice);clip-path:polygon(11% 0,100% 0,100% 89%,89% 100%,0 100%,0 11%);z-index:-1}.hero-portrait figcaption{display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:12px;padding-top:13px}.hero-portrait figcaption>span{font-weight:500}.hero-portrait figcaption>a{display:flex;align-items:center;gap:12px;color:var(--muted);min-height:36px}.hero-portrait svg{width:14px;height:14px}.hero-index{display:grid;grid-template-columns:1fr 1fr 1fr 40px;gap:24px;align-items:center;margin-top:40px;padding:25px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.hero-index-arrow{text-align:right;font-size:30px;line-height:1;color:var(--blue)}@keyframes title-enter{from{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes intro-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-enter{from{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%,100% 100%,100% 0)}to{clip-path:polygon(11% 0,100% 0,100% 89%,89% 100%,0 100%,0 11%)}}@keyframes portrait-image{from{transform:scale(1.08)}to{transform:scale(1)}}
.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:80px;align-items:end;margin:0 40px 48px}.section-heading>p{font-size:15px;line-height:1.85;color:var(--muted);max-width:300px;padding-bottom:4px}.work-feature{display:grid;grid-template-columns:.78fr 1.22fr;position:relative;overflow:hidden;border-radius:8px;min-height:550px;background:linear-gradient(125deg,#142d50,#1b4b9a 70%,#3e6ad9);color:white}.work-feature-copy{position:relative;z-index:2;padding:48px 0 48px 48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.work-app{display:flex;gap:14px;align-items:center;font-size:13px;line-height:1.5}.work-app img{width:44px;height:44px;border-radius:11px}.work-app small{font-size:11px;color:#c7d4ef}.work-feature h3{font-size:clamp(38px,4.5vw,61px);font-weight:500;letter-spacing:-.055em;line-height:1.1;margin:50px 0 18px}.work-feature-copy>p{font-size:18px;line-height:1.65;color:#d4dff4;letter-spacing:-.015em}.work-feature .button{margin-top:35px}.phones-stage{min-width:0;position:relative;display:block;overflow:hidden;isolation:isolate}.stage-ring{position:absolute;border:1px solid #ffffff24;width:510px;height:510px;border-radius:50%;left:5%;top:17%;z-index:-1}.stage-ring::after{content:'';position:absolute;inset:60px;border:1px solid #ffffff17;border-radius:50%}.phone{position:absolute;width:190px;height:412px;object-fit:cover;border:5px solid #162235;box-shadow:15px 24px 35px #081d424d;border-radius:25px;transform-origin:50% 80%;transition:transform .7s var(--ease)}.phone-one{top:95px;left:7%;transform:rotate(-11deg)}.phone-two{top:45px;left:30%;transform:rotate(-1deg);z-index:2}.phone-three{top:120px;left:57%;transform:rotate(10deg)}.phones-stage:hover .phone-one{transform:translate(-5px,-8px) rotate(-13deg)}.phones-stage:hover .phone-two{transform:translateY(-10px) rotate(0)}.phones-stage:hover .phone-three{transform:translate(5px,-8px) rotate(12deg)}.stage-caption{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:10px;color:#c9d8f4}.work-pair{display:grid;grid-template-columns:1.12fr .88fr;gap:80px;margin-top:60px}.bilge-stage{position:relative;display:block;background:#e8e4f0;height:420px;overflow:hidden;border-radius:6px}.bilge-word{position:absolute;left:22px;top:20px;color:#6b5984;font-family:var(--serif);font-size:135px;line-height:1;letter-spacing:-.04em}.bilge-phone{position:absolute;width:185px;border:5px solid white;border-radius:24px;box-shadow:0 20px 35px #41345425;left:30%;top:80px;transform:rotate(-9deg);z-index:2;transition:transform .65s var(--ease)}.bilge-phone-back{left:58%;top:50px;transform:rotate(9deg);z-index:1}.bilge-stage:hover .bilge-phone{transform:translateY(-8px) rotate(-6deg)}.bilge-stage:hover .bilge-phone-back{transform:translateY(-4px) rotate(12deg)}.project-open{position:absolute;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--ink);right:22px;bottom:22px;z-index:3}.project-caption{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:21px}.project-caption h3{font-size:24px;font-weight:500;letter-spacing:-.03em}.project-caption p{font-size:13px;color:var(--muted);margin-top:6px}.project-caption>span{font-size:11px;color:var(--muted);white-space:nowrap}.work-note{padding:28px 32px 0 0}.work-note h3{font-family:var(--serif);font-size:46px;font-weight:400;line-height:1.12;letter-spacing:-.02em}.work-note>p:not(.section-kicker){font-size:15px;color:var(--muted);line-height:1.85;margin-top:25px;max-width:365px}.compact-project{display:flex;align-items:center;gap:17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:20px;margin-top:35px}.compact-project img{width:48px;height:48px;border-radius:12px}.compact-project>span{flex:1;min-width:0;line-height:1.5}.compact-project strong{font-size:16px;font-weight:500;display:block}.compact-project small{font-size:12px;color:var(--muted)}.compact-project>svg{width:19px;height:19px;transition:transform .3s}.compact-project:hover>svg{transform:translate(3px,-3px)}.work-note>.text-link{margin-top:20px;font-size:12px}.work.is-visible .phone{animation:phone-arrive 1.2s var(--ease) backwards}.work.is-visible .phone-two{animation-delay:.08s}.work.is-visible .phone-three{animation-delay:.16s}@keyframes phone-arrive{from{translate:0 80px;opacity:.15}to{translate:0 0;opacity:1}}
.approach{background:var(--dark);color:white;border-radius:8px;padding:66px 65px 65px;position:relative;overflow:hidden}.approach .section-kicker{color:#becbe0}.approach-top{display:grid;grid-template-columns:.65fr 1.35fr;align-items:start;gap:45px;margin-bottom:50px}.approach-top .section-kicker{max-width:160px;margin-top:12px}.approach h2{font-size:64px}.approach-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.approach-tabs{display:flex;gap:20px;border-bottom:1px solid #6e85a2}.approach-tabs button{color:#becbe0;background:none;border:0;border-bottom:2px solid transparent;padding:15px 0;font-size:14px;min-height:50px;position:relative;bottom:-1px;white-space:nowrap}.approach-tabs button[aria-selected=true]{color:white;border-bottom-color:#c2d3ff}.approach-panel{padding-top:28px;min-height:255px}.approach-panel h3{font-size:23px;font-weight:400;line-height:1.4;letter-spacing:-.025em}.approach-panel>p{font-size:15px;color:#c2cfe2;line-height:1.9;margin-top:18px}.approach-panel ul{margin:25px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;font-size:11px;color:#c8d5e8}.approach-panel li{border-bottom:1px solid #637c9c;padding-bottom:4px}.system-diagram{border:1px solid #496488;border-radius:7px;padding:22px 27px;background:#17375f;transition:background .4s}.diagram-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:#c1cee1}.diagram-status{font-size:9px;color:#cbd9ed;white-space:nowrap}.system-stack{padding:28px 12px 20px}.system-layer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border:1px solid #6681a5;border-radius:4px;background:#244970;transition:background .4s,border-color .4s,transform .4s}.system-layer>span:first-child{font-size:15px;font-weight:500}.system-layer>small{font-size:10px;color:#c6d6e9;padding-right:14px}.layer-node{position:absolute;right:-4px;top:calc(50% - 3px);background:#a5bad4;border-radius:50%;width:7px;height:7px;transition:background .4s,box-shadow .4s}.layer-connector{height:19px;width:1px;background:#6681a5;margin:auto;position:relative}.layer-connector::after{content:'';position:absolute;bottom:0;left:-2px;width:5px;height:5px;border-right:1px solid #9db6d6;border-bottom:1px solid #9db6d6;transform:rotate(45deg)}.system-diagram[data-mode=build] .layer-experience,.system-diagram[data-mode=secure] .layer-data,.system-diagram[data-mode=auto] .layer-app{background:#3d6098;border-color:#c2d3ff;transform:translateX(-7px)}.system-diagram[data-mode=build] .layer-experience .layer-node,.system-diagram[data-mode=secure] .layer-data .layer-node,.system-diagram[data-mode=auto] .layer-app .layer-node{background:#e1eaff;box-shadow:0 0 12px #a7c8ff}.diagram-caption{font-size:11px;color:#c1cee1;text-align:center}
.about{padding-inline:40px}.about-heading{margin-bottom:48px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:86px;align-items:center}.about-photo>img{width:100%;aspect-ratio:1.08;object-fit:cover;object-position:center 40%;border-radius:5px}.about-photo figcaption{font-size:11px;color:var(--muted);margin-top:12px}.about-copy .about-lead{font-size:24px;line-height:1.55;letter-spacing:-.035em}.about-copy>p:not(.about-lead){font-size:15px;color:var(--muted);line-height:1.9;margin-top:20px}.about-copy>.text-link{margin-top:26px}.photo-strip{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:32px;margin-top:70px;align-items:center}.photo-strip-label>span{font-family:var(--serif);font-size:40px;line-height:1.15}.photo-strip-label>p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:18px}.photo-button{display:block;padding:0;background:transparent;border:0;min-width:0;text-align:left;overflow:hidden;border-radius:5px}.photo-button>img{width:100%;height:280px;object-fit:cover;border-radius:5px;transition:filter .35s}.photo-city img{object-position:50% 65%}.photo-personal img{object-position:65% 28%}.photo-button>span{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);min-height:44px;padding:10px 2px}.photo-button svg{width:16px;height:16px;transition:transform .25s}.photo-button:hover svg{transform:translate(2px,-2px)}.photo-button:hover>img{filter:brightness(1.04)}
.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;padding:58px 60px;background:var(--ice);border-radius:8px;border-top:1px solid #d8e1e8}.contact h2{font-size:68px}.contact-side{justify-self:end}.contact-side>p{font-size:16px;color:var(--muted);margin-bottom:25px;line-height:1.75}.contact-side>.text-link{display:flex;font-size:11px;margin-top:15px}.site-footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:24px;padding:38px 0 23px;font-size:11px}.footer-logo{width:215px;height:auto}.site-footer>span{color:var(--muted);font-size:11px;text-align:center}.footer-links{display:flex;gap:22px}.footer-links a{display:flex;align-items:center;min-height:44px;font-size:11px}.site-footer small{grid-column:1/-1;text-align:right;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.photo-dialog{color:white;background:#10273e;border:1px solid #51677e;padding:20px 30px 25px;width:min(1100px,calc(100% - 48px));max-height:calc(100dvh - 40px);overflow:auto;border-radius:8px}.photo-dialog::backdrop{background:#0a1726e6}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:12px}.lightbox-counter{font-size:12px;color:#ccd8e7}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #7d90a5;border-radius:50%;background:transparent;color:inherit;flex-shrink:0}.icon-button:hover{background:#2a4669}.lightbox-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:20px}.lightbox-stage figure{min-width:0}.lightbox-image{width:100%;height:calc(100dvh - 200px);min-height:150px;object-fit:contain}.lightbox-caption{text-align:center;font-size:12px;color:#ccd8e7;padding-top:15px}.legal-page{max-width:800px;padding-block:80px 100px}.legal-page h1{font-family:var(--serif);font-size:80px;font-weight:400;line-height:1.1;letter-spacing:-.03em;margin-bottom:35px}.legal-page h2{font-family:var(--sans);font-size:23px;font-weight:500;margin:40px 0 14px;line-height:1.4}.legal-page p{font-size:15px;line-height:1.9;color:var(--muted)}.legal-page a:not(.button){text-decoration:underline;text-underline-offset:4px}.legal-page .button{margin-top:30px}.legal-back{display:flex;align-items:center;gap:15px;font-size:13px;min-height:44px}.legal-back svg{width:18px;height:18px}
@media(min-width:1600px){.hero h1{font-size:180px}.hero-layout{gap:85px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.header-inner{height:88px}.brand-logo{width:220px}.main-nav{gap:24px}.hero{padding:23px 20px 0}.hero-layout{gap:35px;grid-template-columns:1.05fr 1fr}.hero h1{font-size:128px}.title-second{margin-left:55px}.portrait-aperture{height:490px}.hero-bottom{display:block;margin-top:16px}.hero-bottom>p{max-width:290px;font-size:15px}.round-link{margin-top:22px}.round-link br{display:none}.round-arrow{width:46px;height:46px}.hero-index{margin-top:25px}.section-space{padding-block:85px}.section-heading{margin-inline:20px;gap:40px}.work-feature-copy{padding-left:34px}.work-feature{min-height:510px;grid-template-columns:.85fr 1.15fr}.phone{width:157px;height:341px;border-width:4px;border-radius:22px}.phone-one{left:7%;top:120px}.phone-two{left:27%;top:65px}.phone-three{left:55%;top:130px}.work-feature h3{margin-top:36px}.work-pair{gap:50px}.bilge-stage{height:370px}.bilge-phone{width:160px;left:25%;top:90px}.bilge-phone-back{left:57%;top:65px}.bilge-word{font-size:115px}.work-note{padding-right:8px;padding-top:12px}.work-note h3{font-size:40px}.work-note>p:not(.section-kicker){font-size:14px}.approach{padding:50px 40px}.approach h2{font-size:56px}.approach-layout{gap:40px}.approach-top{gap:35px}.approach-tabs{gap:18px}.approach-tabs button{font-size:13px}.system-diagram{padding:20px}.system-stack{padding-inline:0}.system-layer{padding:18px 14px}.system-layer>small{font-size:9px}.about{padding-inline:20px}.about-layout{gap:50px}.about-copy .about-lead{font-size:21px}.photo-strip{gap:25px;grid-template-columns:.7fr 1fr 1fr}.photo-strip-label>span{font-size:33px}.photo-button>img{height:240px}.contact{padding:45px 40px;gap:40px}.contact h2{font-size:60px}.site-footer{gap:20px}.site-footer>span{font-size:10px}.footer-logo{width:200px}}
@media(max-width:800px){html{scroll-padding-top:85px}.shell{width:calc(100% - 40px)}.header-inner{height:80px;gap:18px}.brand-logo{width:216px}.menu-toggle{display:flex;align-items:center;gap:12px;min-width:74px;min-height:44px;background:none;border:0;padding:0 3px;font-size:12px}.menu-lines{position:relative;width:20px;height:14px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .25s}.menu-toggle[aria-expanded=true] .menu-lines{border-bottom:0;transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines::after{content:'';position:absolute;left:0;top:-1px;border-top:1px solid currentColor;width:20px;transform:rotate(-90deg)}.main-nav{display:none;position:fixed;top:80px;left:0;right:0;bottom:0;background:var(--paper);padding:24px 28px;overflow-y:auto;align-items:stretch;gap:0}.main-nav.is-open{display:flex;flex-direction:column}.main-nav>a:not(.nav-contact){font-family:var(--serif);font-size:45px;padding:21px 0;border-bottom:1px solid var(--line);line-height:1.2}.main-nav>a:not(.nav-contact)::after{display:none}.nav-contact{margin-top:28px;max-width:300px;padding:17px 22px}.hero{padding:22px 12px 0}.hero-top{padding-bottom:27px;font-size:11px}.hero-top>span:last-child{display:none}.hero-layout{gap:25px;grid-template-columns:1fr .9fr}.hero h1{font-size:103px;margin-bottom:25px}.title-second{margin-left:25px}.portrait-aperture{height:405px}.hero-bottom>p{font-size:14px;line-height:1.8;max-width:250px}.hero-portrait figcaption{font-size:9px;gap:10px}.hero-portrait figcaption>a{font-size:9px;gap:6px}.hero-portrait svg{width:12px;height:12px}.hero-index{font-size:10px;gap:15px}.hero-index-arrow{font-size:26px}.section-space{padding-block:70px}.section-heading{margin:0 12px 35px;gap:35px;grid-template-columns:1.15fr .85fr}.section-heading>p{font-size:13px}h2{font-size:52px}.work-feature{grid-template-columns:1fr;min-height:0}.work-feature-copy{padding:35px 35px 0;display:grid;grid-template-columns:1fr auto;gap:0 25px;align-items:center}.work-app{grid-column:1/-1}.work-feature h3{margin:26px 0 12px;font-size:48px}.work-feature-copy>p{font-size:16px}.work-feature .button{grid-column:2;grid-row:2/4;margin:15px 0 0;align-self:center}.phones-stage{height:460px;max-width:600px;width:100%;margin:0 auto}.phone{width:170px;height:370px}.phone-one{left:6%;top:60px}.phone-two{left:34%;top:25px}.phone-three{left:62%;top:70px}.stage-caption{bottom:10px}.stage-ring{top:20px;width:450px;height:450px}.work-pair{gap:40px;grid-template-columns:1fr}.bilge-stage{height:420px}.bilge-word{font-size:150px;left:35px;top:30px}.bilge-phone{width:190px;left:36%;top:85px}.bilge-phone-back{left:62%;top:55px}.work-note{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;padding:15px 12px 0}.work-note>.section-kicker{grid-column:1/-1}.work-note h3{font-size:43px;grid-column:1}.work-note>p:not(.section-kicker){grid-column:2;grid-row:2;margin:0}.compact-project{grid-column:1/-1;margin-top:28px}.work-note>.text-link{grid-column:1/-1;justify-self:start}.approach{padding:45px 32px}.approach-top{grid-template-columns:1fr;gap:0;margin-bottom:35px}.approach-top .section-kicker{max-width:none;margin-top:0}.approach h2{font-size:54px}.approach-layout{grid-template-columns:1fr;gap:35px}.approach-panel{min-height:0}.approach-panel h3{font-size:23px}.approach-panel>p{font-size:15px}.approach-tabs{gap:28px}.approach-tabs button{font-size:14px}.system-diagram{padding:24px;max-width:520px;width:100%;justify-self:center}.system-stack{padding:25px 20px 15px}.system-layer{padding:18px 22px}.system-layer>small{font-size:11px}.diagram-top{font-size:11px}.diagram-status{font-size:10px}.about{padding-inline:12px}.about-heading{margin-bottom:35px}.about-layout{gap:35px}.about-copy .about-lead{font-size:19px}.about-copy>p:not(.about-lead){font-size:13px}.about-photo>img{aspect-ratio:.8}.photo-strip{grid-template-columns:1fr 1fr;gap:25px;margin-top:45px}.photo-strip-label{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}.photo-strip-label>p{margin:0}.photo-strip-label br{display:none}.photo-button>img{height:300px}.contact{padding:40px 32px;grid-template-columns:1.2fr .8fr;gap:30px}.contact h2{font-size:50px}.contact-side>p{font-size:14px}.contact .button{padding:16px;font-size:12px;gap:18px}.contact-side>.text-link{font-size:10px;gap:15px}.site-footer{grid-template-columns:1fr auto;gap:15px 25px}.site-footer>span{display:none}.site-footer small{text-align:left}.photo-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:12px 12px 20px}.lightbox-stage{grid-template-columns:44px 1fr 44px;gap:10px}.lightbox-stage figure{grid-column:1/-1;grid-row:1}.lightbox-image{height:calc(100dvh - 220px);min-height:180px}.lightbox-prev{grid-column:1;grid-row:2}.lightbox-next{grid-column:3;grid-row:2}.lightbox-caption{padding-block:13px}}
@media(max-width:580px){.shell{width:calc(100% - 36px)}.header-inner{height:78px;gap:14px}.brand-logo{width:212px}.main-nav{top:78px}.hero{padding:18px 4px 0}.hero-top{font-size:10px;padding-bottom:24px}.hero-layout{grid-template-columns:1fr;gap:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(95px,25vw,143px);line-height:.85;letter-spacing:-.03em;margin-left:-2px;margin-bottom:23px}.title-second{margin-left:23%}.title-mask{padding-bottom:9px}.hero-bottom{display:flex;gap:22px;align-items:center;margin-top:0;padding-left:0}.hero-bottom>p{font-size:13px;max-width:230px;flex:1}.round-link{font-size:0;margin:0;gap:0}.round-arrow{width:49px;height:49px}.hero-portrait{max-width:100%;margin:0}.portrait-aperture{height:auto;aspect-ratio:1.04}.portrait-aperture img{position:absolute;inset:0;object-position:center 18%}.hero-portrait::before{inset:12px -8px 28px 13px}.hero-portrait figcaption{font-size:11px;padding-top:8px}.hero-portrait figcaption>a{font-size:10px}.hero-index{grid-template-columns:1fr auto;gap:10px;font-size:11px;margin-top:20px;padding:19px 0}.hero-index>span:nth-child(2),.hero-index>span:nth-child(3){display:none}.section-space{padding-block:62px}.section-heading{grid-template-columns:1fr;gap:22px;margin-inline:4px;margin-bottom:30px}.section-heading>p{font-size:14px;max-width:320px}.section-kicker{font-size:12px;margin-bottom:17px}h2{font-size:50px}.work-feature-copy{padding:28px 24px 0;display:flex;align-items:flex-start}.work-app{font-size:12px}.work-app img{width:38px;height:38px}.work-app small{font-size:10px}.work-feature h3{font-size:45px;margin:25px 0 14px}.work-feature-copy>p{font-size:16px}.work-feature .button{font-size:13px;padding:14px 18px;min-height:49px;margin-top:24px;align-self:flex-start}.phones-stage{height:355px;margin-top:12px}.phone{width:135px;height:293px;border-width:3px;border-radius:19px}.phone-one{left:-7%;top:38px}.phone-two{left:30%;top:15px}.phone-three{left:67%;top:47px}.stage-ring{width:340px;height:340px;left:2%;top:15px}.stage-caption{font-size:9px;bottom:11px}.work-pair{margin-top:35px;gap:35px}.bilge-stage{height:345px}.bilge-word{font-size:113px;left:20px;top:18px}.bilge-phone{width:153px;left:25%;top:88px}.bilge-phone-back{left:60%;top:62px}.project-open{width:42px;height:42px;right:15px;bottom:15px}.project-caption{gap:18px;margin-top:17px}.project-caption h3{font-size:22px}.project-caption p{font-size:12px;max-width:220px}.project-caption>span{font-size:10px}.work-note{display:block;padding:15px 4px 0}.work-note h3{font-size:43px}.work-note>p:not(.section-kicker){margin-top:20px;font-size:14px}.compact-project{margin-top:27px;gap:14px}.compact-project img{width:42px;height:42px}.compact-project strong{font-size:15px}.compact-project small{font-size:10px}.work-note>.text-link{font-size:12px}.approach{padding:34px 24px}.approach h2{font-size:45px}.approach-top{margin-bottom:25px}.approach-tabs{gap:22px}.approach-tabs button{font-size:12px;min-height:48px}.approach-panel{padding-top:25px}.approach-panel h3{font-size:21px}.approach-panel>p{font-size:14px}.approach-panel ul{font-size:10px;gap:10px 15px}.approach-layout{gap:30px}.system-diagram{padding:17px 14px}.diagram-top{display:block;font-size:10px}.diagram-status{display:block;margin-top:5px;font-size:9px;color:#b8cae3}.system-stack{padding:23px 4px 15px}.system-layer{padding:16px 13px;gap:10px}.system-layer>span:first-child{font-size:13px}.system-layer>small{font-size:10px;padding-right:0}.diagram-caption{font-size:10px}.about{padding-inline:4px}.about-heading{margin-bottom:30px}.about-layout{grid-template-columns:1fr;gap:30px}.about-photo>img{aspect-ratio:1.08}.about-copy .about-lead{font-size:21px}.about-copy>p:not(.about-lead){font-size:14px}.about-copy>.text-link{margin-top:20px}.photo-strip{gap:18px;margin-top:45px}.photo-strip-label{display:block}.photo-strip-label>span{font-size:38px}.photo-strip-label>p{margin-top:12px;font-size:13px}.photo-button>img{height:220px}.photo-city img{object-position:50% 65%}.photo-personal img{object-position:72% 30%}.photo-button>span{font-size:10px;line-height:1.5;padding:10px 0;align-items:flex-start}.photo-button svg{width:13px;height:13px;flex-shrink:0}.contact{padding:34px 26px;grid-template-columns:1fr;gap:30px}.contact h2{font-size:48px}.contact-side{justify-self:start}.contact-side>p{font-size:14px;margin-bottom:20px}.contact .button{font-size:13px;padding:16px 20px;gap:30px}.contact-side>.text-link{font-size:11px}.site-footer{grid-template-columns:1fr;padding-block:28px 22px;gap:12px}.footer-logo{width:215px}.footer-links{gap:25px}.site-footer small{padding-top:14px}.legal-page{padding-block:50px 70px}.legal-page h1{font-size:58px}.legal-back{font-size:11px;gap:8px}.legal-back svg{width:16px;height:16px}}
@media(max-width:370px){.shell{width:calc(100% - 28px)}.brand-logo{width:181px}.hero h1{font-size:95px}.hero-bottom>p{font-size:12px}.hero-top{font-size:9px}.hero-layout{gap:25px}.section-heading>p{font-size:13px}.approach{padding-inline:20px}.approach-tabs{gap:18px}.approach-tabs button{font-size:11px}.system-layer>small{font-size:9px}.photo-button>img{height:190px}.photo-button>span{font-size:9px}.contact{padding-inline:23px}.contact h2{font-size:43px}.phone{width:123px;height:267px}.phones-stage{height:330px}.bilge-phone{width:140px}.bilge-stage{height:315px}.legal-back{max-width:80px;line-height:1.3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.phones-stage:hover .phone-one{transform:rotate(-11deg)}.phones-stage:hover .phone-two{transform:rotate(-1deg)}.phones-stage:hover .phone-three{transform:rotate(10deg)}.round-link:hover .round-arrow{transform:none}}
