
:root{color-scheme:dark;--ink:#f2f5f8;--muted:#b5c7d6;--blue:#8abbf4;--bg:#0b1119;--line:#354b60;--panel:#11212e;font-family:"Helvetica Neue",Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.045em;line-height:1.06}em{color:var(--blue);font-style:normal}.wrap{width:min(1160px,calc(100% - 96px));margin:auto}.site-header{border-bottom:1px solid #263545;background:#0b1119}.header-row{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:24px}.brand{display:block;width:136px;flex-shrink:0}.brand img{width:136px}.nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav a{display:flex;align-items:center;min-height:44px}.nav .contact{color:var(--blue)}.phone-nav{display:none}.eyebrow{font:500 11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.button{display:flex;justify-content:center;align-items:center;text-align:center;min-height:52px;padding:14px 22px;border:1px solid transparent;border-radius:6px;background:var(--blue);color:#09192b;font-weight:600;font-size:14px;transition:background .16s}.button:hover{background:#b7d8ff}.text-link{display:inline-flex;min-height:44px;align-items:center;color:var(--blue);font-size:14px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.actions{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;gap:4px;margin-top:28px}.actions .button{min-width:252px}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:72px;align-items:center;padding:64px 0 52px}.hero-copy h1{font-size:clamp(46px,5.55vw,76px);max-width:15ch;margin:21px 0 26px}.hero-copy .lede{font-size:19px;line-height:1.55;color:var(--muted);max-width:41ch}.hero-copy .audience{font-size:13px;color:var(--muted);margin-top:22px}.proof{border-top:2px solid var(--blue);background:#12212d;padding:22px}.proof h2{font-size:31px;line-height:1.13;max-width:17ch;margin:18px 0}.proof figure{margin:24px -6px 18px}.proof img{width:100%;border:1px solid #53677b}.proof figcaption{font-size:11px;color:var(--muted);margin-top:8px}.proof>p:not(.eyebrow){font-size:16px;color:var(--muted)}.mobile-proof{display:none}.section-preview{background:#13202e;padding:32px 0 42px;border-top:1px solid #354b60}.section-preview .wrap{display:flex;gap:50px;justify-content:space-between;align-items:center}.section-preview h2{font-size:34px;max-width:18ch}.section-preview p{color:var(--muted);max-width:39ch}.sample-end{padding:24px 0;color:#b5c7d6;font-size:12px;border-top:1px solid #354b60}.sample-end a{text-decoration:underline;text-underline-offset:4px}.services{padding:48px 0;background:#101b28}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:32px}.section-heading h1{font-size:54px;max-width:16ch;margin-top:16px}.section-heading>p{color:var(--muted);max-width:30ch;font-size:16px}.services-layout{display:grid;grid-template-columns:1.45fr .65fr;gap:56px}.service-rows{border-top:1px solid #526b80}.service-row{display:grid;grid-template-columns:32px 1fr;gap:20px;align-items:start;border-bottom:1px solid #526b80;padding:16px 0;transition:background .16s}.service-row:hover{background:#172b3c}.number{color:var(--blue);font:12px/1.7 ui-monospace,monospace;padding-top:3px}.service-row h2{font-size:23px;letter-spacing:-.025em;margin-bottom:7px}.service-row p{font-size:16px;line-height:1.5;color:var(--muted)}.service-row .detail-cue{font-size:12px;color:var(--blue);display:block;margin-top:9px;text-decoration:underline;text-underline-offset:4px}.service-aside{padding-top:22px}.service-aside h2{font-size:29px;margin:18px 0;line-height:1.15}.service-aside p:not(.eyebrow){color:var(--muted);font-size:16px}.service-aside .aside-rule{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.service-aside .button{margin-top:22px}.system{background:#101b28;padding:28px 0 52px}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:38px}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.system-copy h1{font-size:64px;max-width:13ch;margin:20px 0 25px}.system-copy .lede{font-size:19px;line-height:1.6;color:var(--muted);max-width:40ch}.example{border:1px solid #4c687f;padding:28px;background:#132634}.example h2{font-size:30px;line-height:1.16;margin:17px 0 22px;max-width:18ch}.example .before{border-left:2px solid #526b80;padding-left:15px;color:var(--muted);font-size:14px;line-height:1.6}.example .before strong{display:block;font-size:11px;letter-spacing:.1em;margin-bottom:5px}.flow{list-style:none;padding:0;margin:24px 0;border-block:1px solid #425d71}.flow li{display:flex;gap:16px;align-items:center;padding:17px 0}.flow li+li{border-top:1px solid #294353}.flow .step-no{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #597b97;border-radius:50%;color:var(--blue);font-size:12px;flex-shrink:0}.flow strong{font-size:16px;font-weight:500}.flow span:last-child{display:block;font-size:13px;color:var(--muted);margin-top:3px}.example .outcome{color:#bdded4;font-size:16px;line-height:1.5}.system-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:52px;border-top:1px solid #4a6277;padding-top:25px}.system-benefits h2{font-size:22px;margin-bottom:10px}.system-benefits p{color:var(--muted);font-size:15px;max-width:32ch}.motion-panel{max-width:640px;margin:60px auto;padding:0 24px}.motion-panel>h1{font-size:42px;margin:20px 0}.motion-panel>p{color:var(--muted);margin:20px 0}.motion-panel .example{margin:26px 0}.motion-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.motion-controls label{font-size:14px}.flow li{transition:background .18s ease}.flow li.active{background:#20415a}.flow li.active .step-no{background:var(--blue);color:#09192b}.play-status{min-height:26px;margin-top:15px;color:var(--blue);font-size:14px}
@media(max-width:1000px) and (min-width:761px){.hero-grid,.system-grid{gap:35px}.hero-copy h1{font-size:58px}.system-copy h1{font-size:54px}.nav{gap:18px}.services-layout{gap:30px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-row{min-height:74px;gap:16px}.brand,.brand img{width:100px}.nav{display:none}.phone-nav{display:flex;gap:18px;font-size:12px}.phone-nav a{display:flex;align-items:center;min-height:44px}.phone-nav a:last-child{color:var(--blue)}.hero-grid{display:block;padding:36px 0 30px}.eyebrow{font-size:10px;letter-spacing:.1em}.hero-copy h1{font-size:43px;line-height:1.08;max-width:14ch;margin:18px 0 22px;letter-spacing:-.05em}.hero-copy .lede{font-size:17px;line-height:1.55;max-width:none}.hero-copy .audience{font-size:13px;margin-top:18px}.actions{width:100%;margin-top:24px;gap:4px}.actions .button{width:100%;min-width:0}.proof{display:none}.mobile-proof{display:block;padding:18px 0 3px;border-top:1px solid #354b60;margin-top:24px;font-size:14px;color:var(--muted)}.mobile-proof a{color:var(--blue);display:block;min-height:44px;padding-top:10px;text-decoration:underline;text-underline-offset:5px}.section-preview{padding:30px 0}.section-preview .wrap{display:block}.section-preview h2{font-size:32px;margin:10px 0 15px}.section-preview p{font-size:15px}.services{padding:30px 0}.section-heading{display:block;margin-bottom:25px}.section-heading h1{font-size:36px;max-width:16ch;margin-top:13px}.section-heading>p{font-size:16px;margin-top:20px}.services-layout{display:block}.service-row{grid-template-columns:22px 1fr;gap:13px;padding:19px 0}.service-row h2{font-size:21px;line-height:1.15}.service-row p{font-size:14px;line-height:1.5}.service-row .detail-cue{display:none}.number{font-size:11px}.service-aside{padding-top:30px}.service-aside h2{font-size:25px}.service-aside .aside-rule{display:none}.system{padding:24px 0 30px}.breadcrumb{font-size:12px;margin-bottom:30px}.system-grid{display:block}.system-copy h1{font-size:44px;max-width:12ch;line-height:1.07;margin:18px 0 22px}.system-copy .lede{font-size:17px;line-height:1.55}.example{padding:22px;margin-top:32px}.example h2{font-size:27px}.flow li{padding:14px 0}.flow strong{font-size:16px}.system-benefits{display:block;margin-top:30px}.system-benefits>div+div{margin-top:25px}.system-benefits h2{font-size:24px}.sample-end{font-size:11px}.motion-panel{margin:32px auto}.motion-panel>h1{font-size:36px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.phone-nav{font-size:11px;gap:12px}.brand,.brand img{width:90px}.hero-copy h1{font-size:38px}.system-copy h1{font-size:40px}.service-row h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[hidden]{display:none!important}html{scroll-behavior:auto;scroll-padding-top:24px}body{overflow-wrap:break-word}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:var(--blue);color:#09192b;padding:12px 20px}.skip:focus{top:12px}.page:focus,.page h1:focus{outline:none}.section-heading h2{font-size:54px;max-width:16ch;margin-top:16px}.service-row{display:block;padding:22px 24px}.service-row h3{font-size:23px;letter-spacing:-.025em;margin-bottom:7px;line-height:1.2}.service-row .detail-cue{margin-top:8px}.service-aside{padding-top:25px}.service-aside .quiet-note{font-size:14px;border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.services{padding:64px 0 70px}.section{padding:70px 0}.section-title{font-size:46px;max-width:20ch;margin:16px 0 22px}.section-intro{font-size:18px;color:var(--muted);max-width:56ch}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:34px}.section-head .section-intro{max-width:34ch}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px}.project-card{border-top:1px solid #526b80;padding-top:25px}.project-card h3{font-size:32px;line-height:1.1;max-width:20ch;margin:12px 0 16px}.project-card p{color:var(--muted)}.project-card .text-link{margin-top:12px}.story-visual{margin:22px 0;background:#122634;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden}.story-visual img{width:100%;height:100%;object-fit:contain}.mini-flow{display:flex;gap:0;align-items:center;width:100%;padding:32px}.mini-flow span{flex:1;text-align:center;border-top:1px solid #7398b2;padding-top:14px;font-size:17px;color:#c1e4d9;position:relative}.mini-flow span:before{content:"";width:8px;height:8px;position:absolute;background:#9ecbbe;top:-5px;left:calc(50% - 4px);border-radius:50%}.about{background:#12212d;border-block:1px solid #354b60}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}.about h2{font-size:44px;max-width:16ch;margin:16px 0 24px}.about p{color:var(--muted)}.about-copy p+p{margin-top:18px}.process-list{list-style:none;padding:0;margin:0}.process-list li{border-top:1px solid #4a6277;padding:20px 0}.process-list li:last-child{padding-bottom:0}.process-list h3{font-size:24px;margin:0 0 9px}.process-list p{font-size:15px;max-width:45ch}.mobile-process{display:none}.contact-section{padding:75px 0;background:#0c151f}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-copy h2{font-size:48px;max-width:15ch;margin:16px 0 25px}.contact-copy p{max-width:42ch;color:var(--muted)}.contact-copy .email{margin-top:24px;font-size:17px;color:var(--blue)}.contact-copy .contact-note{font-size:13px;margin-top:24px}.contact-form{display:grid;gap:18px}label{font-size:14px;color:var(--ink)}input,textarea{display:block;width:100%;border:1px solid #6a8398;background:#111e2a;color:var(--ink);font:inherit;padding:13px 14px;border-radius:4px;margin-top:8px;min-height:48px}textarea{min-height:120px;resize:vertical}input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.form-note,.form-status{color:var(--muted);font-size:13px;line-height:1.5}.form-status:empty{display:none}.form-status{color:#bdded4;border-left:2px solid #bdded4;padding:10px 14px;background:#142b2e}.site-footer{border-top:1px solid var(--line);padding:28px 0 24px;background:#0b1119;color:var(--muted);font-size:13px}.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.footer-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:5px}.preview-note{font-size:11px;letter-spacing:.03em;opacity:.85;margin-top:18px}.detail-hero{padding:28px 0 58px;background:#101b28}.detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.detail-copy h1{font-size:58px;line-height:1.06;margin:20px 0 25px;max-width:17ch}.detail-copy .lede{font-size:18px;color:var(--muted);line-height:1.6;max-width:48ch}.detail-grid .image-frame{margin:0}.breadcrumb a{text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:30px}.detail-note{font-size:13px;color:var(--muted);margin-top:18px}.content-section{border-top:1px solid #354b60;padding:45px 0}.content-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.content-row h2{font-size:31px;line-height:1.15;max-width:20ch}.prose p{color:var(--muted);font-size:17px;line-height:1.65}.prose p+p{margin-top:18px}.prose ul{margin:20px 0 0;padding-left:20px;color:var(--muted)}.prose li{padding-left:5px;margin:10px 0}.subhead{font-size:31px;line-height:1.12;margin-bottom:24px}.image-frame{margin:25px 0}.image-button{display:block;padding:0;border:1px solid #526b80;width:100%;background:#0b1119;border-radius:0;overflow:hidden}.image-button:hover{border-color:#b5d7f9}.image-button img{display:block;width:100%;height:auto}.image-frame figcaption{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.5}.zoom-cue{display:inline-block;margin-top:8px;color:var(--blue);font-size:13px;text-decoration:underline;text-underline-offset:5px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery-grid h3{font-size:25px;margin-top:8px}.gallery-grid .image-frame{margin-top:18px}.gallery-grid .image-button{aspect-ratio:1.42;display:flex;align-items:center;background:#12212d}.gallery-grid .image-button img{height:100%;object-fit:contain}.flow-panel{border:1px solid #4c687f;background:#132634;padding:28px}.flow-panel h2{font-size:31px;margin:18px 0}.flow-panel p{color:var(--muted)}.flow-panel .flow{margin-bottom:10px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:36px}.benefit{border-top:1px solid #4a6277;padding-top:20px}.benefit h3{font-size:24px;margin-bottom:12px}.benefit p{font-size:16px;color:var(--muted)}.faq{padding:55px 0;background:#101b28}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq h2{font-size:36px}.faq details{border-top:1px solid #4a6277}.faq details:last-child{border-bottom:1px solid #4a6277}.faq summary{font-size:17px;cursor:pointer;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:24px;color:var(--blue);font-weight:300}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);font-size:16px;padding:0 26px 23px 0}.related{padding:38px 0}.related-links{display:flex;gap:35px;flex-wrap:wrap;margin-top:10px}.detail-cta{padding:52px 0;background:#14232f;border-block:1px solid #354b60}.cta-row{display:flex;justify-content:space-between;align-items:center;gap:50px}.cta-row h2{font-size:36px;max-width:22ch;margin:12px 0 16px}.cta-row p{color:var(--muted);max-width:54ch}.cta-row .button{min-width:255px}.story-hero .detail-copy h1{font-size:54px}.story-body{padding:15px 0}.dialog{padding:0;border:1px solid #536f87;background:#0d1823;color:var(--ink);width:min(1240px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px)}.dialog::backdrop{background:#000b}.dialog-head{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #435d72}.dialog-head h2{font-size:20px;letter-spacing:-.02em}.dialog button{min-height:44px;min-width:44px;background:#1a3042;color:var(--ink);border:1px solid #5f7c94;padding:7px 15px;border-radius:4px}.zoom-toolbar{display:flex;gap:10px;align-items:center;padding:10px 20px;flex-wrap:wrap}.zoom-toolbar span{font-size:13px;color:var(--muted)}.image-viewport{height:min(68vh,740px);overflow:auto;touch-action:pan-x pan-y;overscroll-behavior:contain;background:#09111a}.image-viewport img{max-width:none;height:auto;display:block;width:100%;transform-origin:top left}.dialog .help{font-size:12px;color:var(--muted);padding:10px 20px}.gallery-grid .caption-source{font-size:12px;color:var(--muted)}.home-services .service-row h3{color:var(--ink)}.home-services .service-row:hover h3{color:var(--blue)}.desktop-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}noscript{display:block;padding:24px;background:#354b60}
@media(max-width:1000px) and (min-width:761px){.detail-grid,.contact-grid,.about-grid{gap:36px}.detail-copy h1,.story-hero .detail-copy h1{font-size:48px}.hero-copy h1{font-size:56px}.hero-grid{grid-template-columns:1.1fr .9fr}.wrap{width:calc(100% - 64px)}.section-heading h2{font-size:46px}.content-row,.faq-layout{gap:40px}.nav{gap:20px}.project-card h3{font-size:29px}}
@media(max-width:760px){.services,.section{padding:36px 0}.section-heading h2{font-size:36px;max-width:16ch;margin-top:13px}.service-row{padding:20px 16px;display:block}.service-row h3{font-size:21px;line-height:1.15}.service-aside{display:none}.section-title{font-size:34px;margin:13px 0 18px}.section-head{display:block;margin-bottom:25px}.section-head .section-intro{font-size:16px;max-width:none}.project-grid{display:block;margin-top:22px}.project-card{padding:22px 0}.project-card:last-child{padding-bottom:0}.project-card h3{font-size:27px;line-height:1.1;margin:12px 0}.project-card p{font-size:15px}.story-visual{display:flex;margin:20px 0 0}.about-grid,.contact-grid{display:block}.about h2{font-size:34px;margin:13px 0 18px}.about-copy p{font-size:16px}.about-copy .extra{display:none}.desktop-process{display:none}.mobile-process{display:block;border-top:1px solid var(--line);margin-top:22px}.mobile-process summary{cursor:pointer;min-height:52px;display:flex;align-items:center;color:var(--blue);font-size:14px;text-decoration:underline;text-underline-offset:5px}.mobile-process .process-list h3{font-size:23px}.contact-section{padding:38px 0}.contact-copy h2{font-size:36px;max-width:15ch;margin:13px 0 20px}.contact-copy p{font-size:16px}.contact-copy .contact-note{display:none}.contact-copy .email{font-size:15px;margin:18px 0 27px}.contact-form{gap:17px}.footer-row{display:block}.footer-links{gap:20px;margin-top:10px}.site-footer{padding:24px 0}.detail-hero{padding:24px 0 34px}.detail-grid{display:block}.detail-copy h1,.story-hero .detail-copy h1{font-size:43px;max-width:16ch;margin:16px 0 22px}.detail-copy .lede{font-size:17px;line-height:1.55}.detail-grid .image-frame{margin-top:30px}.content-section{padding:30px 0}.content-row{display:block}.content-row h2{font-size:29px;margin-bottom:18px}.prose p{font-size:16px}.prose li{font-size:15px}.gallery-grid{display:block}.gallery-grid>div+div{margin-top:30px}.benefit-grid{display:block;margin-top:24px}.benefit{margin-top:24px}.benefit h3{font-size:24px}.faq{padding:32px 0}.faq-layout{display:block}.faq h2{font-size:31px;margin-bottom:23px}.faq summary{font-size:16px}.faq details p{font-size:15px}.cta-row{display:block}.detail-cta{padding:34px 0}.cta-row h2{font-size:31px}.cta-row p{font-size:16px}.cta-row .button{margin-top:25px;min-width:0}.related{padding:28px 0}.related-links{display:block}.related-links a{display:flex}.dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.dialog-head{padding:12px;gap:12px}.dialog-head h2{font-size:18px}.zoom-toolbar{padding:10px 12px}.zoom-toolbar span{flex-basis:100%}.image-viewport{height:62dvh}.dialog .help{padding:10px 12px}.flow-panel{margin-top:30px;padding:23px}.flow-panel h2{font-size:27px}.system-benefits p{max-width:none}}
@media(max-width:360px){.detail-copy h1,.story-hero .detail-copy h1{font-size:38px}.section-heading h2{font-size:32px}.contact-copy h2{font-size:34px}.service-row h3{font-size:20px}.mini-flow{padding:20px}.dialog-head h2{font-size:16px}}
.zoom-cue{background:none;padding:0;border:0;font-family:inherit;cursor:pointer;min-height:44px}.zoom-cue:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.detail-viewer { width:min(1100px,calc(100% - 48px)); max-height:calc(100dvh - 48px); padding:0; border:1px solid #7496b3; border-radius:10px; background:#11212e; color:var(--ink); }
.detail-viewer::backdrop { background:#030a12db; }
.detail-viewer-head { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 20px; border-bottom:1px solid #375060; }
.detail-viewer h2 { font-size:1.2rem; line-height:1.3; letter-spacing:-.02em; }
.detail-viewer-close { display:flex; align-items:center; gap:16px; min-height:44px; padding:8px 14px; border:1px solid #6489aa; border-radius:4px; background:#21394d; white-space:nowrap; }
.detail-viewer-image img { display:block; width:100%; height:auto; max-height:calc(100dvh - 220px); object-fit:contain; padding:16px; }
.detail-viewer > p { font-size:.8rem; line-height:1.5; color:#c1ced8; margin:0; padding:0 20px 18px; }
html:has(.detail-viewer[open]) { overflow:hidden; }
.image-zoom-tools[hidden], .image-zoom-hint[hidden] { display:none; }
.detail-viewer.is-phone-zoom[open] {
 display:flex; flex-direction:column; inset:0; margin:auto;
 width:calc(100% - 16px); max-width:none; height:calc(100dvh - 16px);
 max-height:calc(100dvh - 16px); overflow:hidden;
}
.is-phone-zoom .detail-viewer-head { flex-wrap:nowrap; flex-shrink:0; gap:12px; padding:12px; }
.is-phone-zoom .detail-viewer-head h2 { min-width:0; font-size:1rem; }
.is-phone-zoom .detail-viewer-close { width:44px; height:44px; padding:0; gap:0; justify-content:center; font-size:0; }
.is-phone-zoom .detail-viewer-close span { font-size:1.5rem; }
.image-zoom-tools { display:flex; flex-shrink:0; justify-content:center; align-items:center; gap:8px; padding:8px 12px; border-bottom:1px solid #375060; }
.image-zoom-tools button { min-width:44px; height:44px; padding:0 12px; border:1px solid #6489aa; border-radius:4px; background:#21394d; color:#edf5fa; font:inherit; font-size:1.35rem; }
.image-zoom-tools [data-zoom-fit] { font-size:.8rem; margin-left:8px; }
.image-zoom-tools button[aria-disabled="true"] { opacity:.45; cursor:default; }
.image-zoom-level { min-width:3.5em; text-align:center; color:#cce0ee; font-size:.8rem; font-variant-numeric:tabular-nums; }
.is-phone-zoom .detail-viewer-image { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; touch-action:none; cursor:grab; background:#07121c; }
.is-phone-zoom .detail-viewer-image.is-dragging { cursor:grabbing; }
.is-phone-zoom .image-zoom-canvas { display:grid; place-items:center; width:var(--canvas-width,100%); height:var(--canvas-height,100%); }
.is-phone-zoom .detail-viewer-image img { width:var(--image-width,100%); height:var(--image-height,auto); max-width:none; max-height:none; padding:0; pointer-events:none; user-select:none; }
.detail-viewer.is-phone-zoom > .image-zoom-hint { flex-shrink:0; padding:10px 12px 6px; color:#b7d8ff; font-size:.75rem; }
.detail-viewer.is-phone-zoom > .detail-viewer-caption { flex-shrink:0; max-height:6.5em; overflow:auto; padding:0 12px 12px; font-size:.7rem; }
.image-zoom-tools button:focus-visible, .is-phone-zoom .detail-viewer-image:focus-visible { outline:2px solid #8abbf4; outline-offset:-3px; }


.detail-viewer-close{font:inherit;cursor:pointer;color:var(--ink)}
.detail-viewer .detail-viewer-head h2{max-width:calc(100% - 80px)}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-privacy{font-size:13px;color:var(--muted);border-top:1px solid var(--line)}
.contact-privacy summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--blue)}
.contact-privacy p{margin:0 0 14px}.contact-privacy a{text-decoration:underline}
.form-status[data-error=true],#contact-delivery-note[data-unavailable=true]{color:#f0d2a6}
.contact-copy .email a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
.anchor-alias{display:block;position:relative;top:0;height:0;width:0}
.image-button:disabled{opacity:1;cursor:default}
.image-button:focus-visible,.zoom-cue:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
[tabindex="-1"]:focus:not(:focus-visible){outline:none}

/* Keep the final hero sentence together on its own line. */
.hero-workflow-line{display:block}
@media(min-width:761px){.hero-workflow-line{white-space:nowrap}}

/* Keep the personal-approach phrase together at every layout width. */
.about h2{max-width:none}
.about h2 em{white-space:nowrap}
@media(min-width:761px) and (max-width:1000px){.about h2{font-size:clamp(32px,4.2vw,42px)}}
@media(max-width:760px){.about h2{font-size:clamp(27px,8.5vw,34px)}}

/* Clearer service examples and responsive screenshot controls. */
.keep-together{white-space:nowrap}
.workflow-options{border-top:1px solid #425d71;margin-top:20px;padding-top:16px;color:var(--muted);font-size:14px}
.workflow-options strong{display:block;color:var(--ink);font-size:13px;margin-bottom:5px}
.request-example .example-result{border-left:2px solid #9ecbbe;padding-left:14px;margin-top:22px;color:#bdded4;font-size:14px;line-height:1.6}
.request-example .flow span:last-child{font-size:14px;line-height:1.55}
.content-row.plan-row{grid-template-columns:1fr 1.25fr;gap:48px}
.content-row.plan-row h2{max-width:none;white-space:nowrap}
.scheduling-image{position:relative;border:1px solid #526b80}
.scheduling-image>img{width:100%}
.scheduling-zoom-target{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;border-radius:0}
.scheduling-zoom-target:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.recording-capabilities{list-style:none;padding:0!important;margin-top:0!important}
.recording-capabilities li{padding:14px 0!important;margin:0!important;border-top:1px solid #354b60}
.recording-capabilities li:first-child{padding-top:0!important;border-top:0}
.recording-capabilities strong{color:var(--ink);font-weight:500}
.prose .option-label{color:#bdded4;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.riverside-hero-visual .visual-caption{font-size:13px;color:var(--muted);line-height:1.5}
@media(min-width:761px){[data-zoom-phone-only]{display:none!important}}
@media(max-width:1100px){.content-row.plan-row{display:block}.content-row.plan-row h2{margin-bottom:18px}}
@media(max-width:760px){.content-row.plan-row h2{font-size:clamp(21px,6.5vw,29px)}.riverside-hero-visual{margin-top:28px}}

.story-visual.riverside-visual{background:#0d1e2b;position:relative}
.riverside-stage{position:relative;width:100%;line-height:0;isolation:isolate}
.riverside-art{display:block;width:100%;height:auto;overflow:hidden}
.riverside-art text{font-family:"Helvetica Neue",Arial,sans-serif}
.riverside-art .rv-kicker{fill:#a2bbcc;font:500 13px ui-monospace,SFMono-Regular,monospace;letter-spacing:2px}
.riverside-art .rv-label{fill:#edf6fc;text-anchor:middle;font-size:24px;font-weight:500;letter-spacing:-.3px}
.riverside-art .rv-sublabel{fill:#aec6d6;text-anchor:middle;font-size:19px}
.riverside-art .rv-footnote{fill:#a2bbcc;font-size:17px}
.riverside-replay{position:absolute;right:3.1%;bottom:2.3%;border:0;background:transparent;padding:8px 10px;min-height:36px;color:#b9d7f0;font:inherit;font-size:12px;line-height:1;text-decoration:underline;text-underline-offset:4px;border-radius:3px}
.riverside-replay:hover{background:#254459;color:#fff}
.rv-packet{opacity:0}.rv-device{transform-box:fill-box;transform-origin:center}.rv-progress{transform-box:fill-box;transform-origin:left center}
.rv-mobile-labels{display:none}
@media(prefers-reduced-motion:no-preference){
 .is-playing .rv-camera{animation:rv-lift 1.3s ease-in-out both}
 .is-playing .rv-record-light{animation:rv-record 1.3s ease-in-out both}
 .is-playing .rv-packet-one{animation:rv-transfer-one .8s .95s ease-in-out both}
 .is-playing .rv-computer{animation:rv-lift 1.35s 1.55s ease-in-out both}
 .is-playing .rv-progress{animation:rv-save 1.3s 1.6s ease-in-out both}
 .is-playing .rv-packet-two{animation:rv-transfer-two .8s 2.85s ease-in-out both}
 .is-playing .rv-drive{animation:rv-lift 1.25s 3.3s ease-in-out both}
 .is-playing .rv-drive-ready{animation:rv-ready 1.25s 3.3s ease-in-out both}
}
@keyframes rv-lift{0%,100%{transform:translateY(0)}45%{transform:translateY(-8px)}}
@keyframes rv-record{0%,100%{fill:#ec8d88}40%{fill:#ffccc1}}
@keyframes rv-transfer-one{0%{opacity:0;transform:translateX(0)}15%,85%{opacity:1}100%{opacity:0;transform:translateX(77px)}}
@keyframes rv-transfer-two{0%{opacity:0;transform:translateX(0)}15%,85%{opacity:1}100%{opacity:0;transform:translateX(80px)}}
@keyframes rv-save{0%{transform:scaleX(.05)}85%,100%{transform:scaleX(1)}}
@keyframes rv-ready{0%,100%{opacity:.6}45%{opacity:1}}
@media(max-width:760px){
 .story-visual.riverside-visual{display:block;aspect-ratio:auto;margin:20px 0}
 .riverside-stage{padding:15px 12px 5px}
 .riverside-replay{position:static;display:block;margin:8px 0 0 auto;font-size:11px;min-height:32px}
 .riverside-art .rv-footnote,.riverside-art .rv-kicker,.riverside-art .rv-labels{display:none}
 .rv-mobile-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;font-size:12px;line-height:1.4;margin-top:8px}
 .rv-mobile-labels strong{display:block;color:#edf6fc;font-weight:500}.rv-mobile-labels span{display:block;color:#aec6d6;font-size:11px;margin-top:2px}
}
@media(prefers-reduced-motion:reduce){.riverside-replay{display:none!important}.rv-packet{display:none}}

/* Story navigation and labeled image enlargement controls. */
.button.button-secondary{background:#193247;border-color:#80abd0;color:#c6e1ff;font-size:15px}
.button.button-secondary:hover,.button.button-secondary:focus-visible{background:#284b66;border-color:#b7d8ff;color:#fff}
.story-button{width:fit-content;max-width:100%;margin-top:20px}
.proof .story-button{width:100%}
.project-image-link{display:block;position:relative;width:100%;cursor:pointer;border-radius:2px}
.story-visual>.project-image-link{height:100%}
.project-image-link:hover,.project-image-link:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.project-image-link:focus-visible{outline-width:4px}
.text-link{font-size:15px;font-weight:500;text-decoration-thickness:2px;text-underline-offset:5px}
.text-link:hover,.text-link:focus-visible{color:#d5eaff}
.service-row .detail-cue{display:block;font-size:13px;font-weight:500;text-decoration-thickness:2px}
.service-row:focus-visible{background:#172b3c;outline-offset:-3px}
.service-row:focus-visible h3{color:var(--blue)}
.nav a:hover,.phone-nav a:hover,.footer-links a:hover{color:#c6e1ff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.mobile-proof a{font-weight:500;text-decoration-thickness:2px}
button.zoom-cue{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid #7195b4;border-radius:4px;background:#152b3d;font-size:13px;font-weight:500;text-decoration:none;line-height:1.4}
button.zoom-cue:hover,button.zoom-cue:focus-visible{background:#284b66;border-color:#b7d8ff;color:#fff}
.image-button:not(:disabled){cursor:zoom-in}
.riverside-replay{min-height:44px}
@media(max-width:760px){.story-button{width:100%}.service-row .detail-cue{display:block;margin-top:9px}.riverside-replay{min-height:44px}.text-link{max-width:100%}}

/* Let the approved metrics headline use the featured card’s available width. */
.proof h2{max-width:none}
#roberts .detail-copy h1,#tyl-display-studio .detail-copy h1{max-width:none}

/* Keep illustrative metric captions with their desktop project image. */
.project-card .metrics-caption{font-size:12px;color:var(--muted);margin:8px 0 12px}
@media(max-width:760px){.project-card .metrics-caption{display:block;margin:8px 0 16px}}

/* Keep the homepage service heading's closing phrase together on phones. */
@media(max-width:760px){.home-services .section-heading h2 em{display:block;white-space:nowrap}}

/* A third project with room for the real product interface. */
.works-project{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:max-content 1fr;column-gap:40px;align-items:start}
.works-project-copy h3{max-width:none}
.works-project-figure{grid-column:2;grid-row:1/span 2;margin:0}
.works-project-figure img{display:block;width:100%;height:auto;border:1px solid #526b80}
.works-project-figure figcaption{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5}
.works-project>.story-button{justify-self:start;align-self:start}
@media(max-width:760px){.works-project{display:block}.works-project-figure{margin:20px 0 0}}
/* Align story actions across the paired desktop project cards. */
@media(min-width:761px){
  .project-card:not(.works-project){display:flex;flex-direction:column;align-items:flex-start}
  .project-card:not(.works-project)>h3{margin-bottom:0}
  .project-card:not(.works-project)>.story-visual{width:100%;flex-shrink:0}
  .project-card:not(.works-project)>.metrics-caption{margin-top:0}
  .project-card:not(.works-project)>p:last-of-type{margin-bottom:20px}
  .project-card:not(.works-project)>.story-button{margin-top:auto}
}

/* The phone metrics screenshot opens the existing zoom viewer. */
.phone-image-zoom-hint{display:none}
.project-image-link[data-zoom-phone-link][role="button"]{cursor:zoom-in}
.project-card:has([data-zoom-phone-link][role="button"]) .phone-image-zoom-hint{display:block;margin-top:5px;color:var(--blue)}
