@font-face{font-family:Space Grotesk;src:url('/assets/fonts/SpaceGrotesk-Variable.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-Variable.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--cloud:#f5f6f2;--ink:#181c20;--blue:#2457f5;--lime:#d9f878;--text:#181c20;--background:#f5f6f2;--muted:#626a73;--line:#d5d9d2;--panel:#eceee9;--link:#2457f5;--error:#a62d2b;--error-panel:#fbeeea;--field-bg:#f5f6f2;--focus:#2457f5;--display:'Space Grotesk',sans-serif;--body:Manrope,sans-serif;color-scheme:light}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--text:#f5f6f2;--background:#181c20;--muted:#bac1c7;--line:#424a53;--panel:#23282d;--link:#d9f878;--error:#ffaaa2;--error-panel:#3a2424;--field-bg:#181c20;--focus:#d9f878;color-scheme:dark}}
:root[data-theme=dark]{--text:#f5f6f2;--background:#181c20;--muted:#bac1c7;--line:#424a53;--panel:#23282d;--link:#d9f878;--error:#ffaaa2;--error-panel:#3a2424;--field-bg:#181c20;--focus:#d9f878;color-scheme:dark}
*{box-sizing:border-box}html{scroll-padding-top:32px}body{margin:0;background:var(--background);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}p,figure,h1,h2,h3,ol,ul{margin:0}img,svg{display:block;max-width:100%}img{height:auto}button{color:inherit}button:disabled{cursor:not-allowed}button:disabled:hover{transform:none}h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.032em;line-height:1.16}h1{font-size:64px;line-height:1.125}h2{font-size:44px}h3{font-size:30px}p{color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:5px}.container{width:calc(100% - 200px);max-width:1240px;margin-inline:auto}.skip-link{position:fixed;z-index:100;top:12px;left:16px;padding:12px 20px;background:var(--blue);color:white;transform:translateY(-180%);border-radius:4px}.skip-link:focus{transform:translateY(0)}
.site-header{height:100px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:24px;position:relative;z-index:20}.brand-link{flex-shrink:0;display:block}.brand-logo{position:relative;display:block;width:190px}.brand-logo img{width:100%;height:auto}.brand-logo .logo-dark{display:none}.brand-logo-full{width:260px}.desktop-nav{display:flex;align-items:center;gap:40px;margin-left:auto}.nav-link,.nav-button{font-size:14px;font-weight:600}.nav-link{padding:12px 0}.nav-button{display:flex;align-items:center;gap:8px;padding:12px 0;border:0;background:none}.nav-button svg{transition:transform .18s ease}.nav-button[aria-expanded=true] svg{transform:rotate(180deg)}.nav-link:hover,.nav-button:hover{color:var(--link)}.services-menu{position:relative}.dropdown{position:absolute;top:calc(100% + 14px);left:-24px;width:300px;padding:12px;background:var(--background);border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 28px #00000012;display:grid}.dropdown a{padding:12px;font-size:14px;font-weight:600;border-radius:2px}.dropdown a:hover,.dropdown a[aria-current=page]{background:var(--panel);color:var(--link)}.theme-button{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;background:none;border:1px solid var(--line);border-radius:4px}.theme-button:hover{background:var(--panel)}.mobile-toggle,.mobile-menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 20px;background:var(--blue);color:var(--cloud);border:1px solid transparent;border-radius:4px;font-size:14px;line-height:1.4;font-weight:600;text-align:center;transition:background .18s ease,box-shadow .18s ease}.button:hover{background:#1647d9;box-shadow:0 3px 0 #00000012}.desktop-nav .button{min-width:224px}.text-link{display:inline-flex;gap:10px;align-items:center;color:var(--link);font-size:14px;line-height:1.5;font-weight:600;background:transparent;border:0;padding:8px 0}.text-link span{transition:transform .18s ease}.text-link:hover span{transform:translateX(3px)}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.button:disabled{background:var(--panel);color:var(--muted);border-color:var(--line);box-shadow:none}.eyebrow{font-size:12px;line-height:1.55;font-weight:600;letter-spacing:.005em;margin-bottom:20px}.eyebrow a:hover{text-decoration:underline}.eyebrow span{margin-inline:6px}.lead{font-size:18px;line-height:1.6;margin-top:24px;max-width:585px}.hero{padding-top:60px;padding-bottom:64px}.hero-with-image{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:40px;align-items:start;min-height:552px}.hero-copy{min-width:0}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:28px}.hero-actions .button{min-width:224px}.illustration{overflow:hidden;background:#e7eae4}.illustration img{width:100%;height:100%;object-fit:cover}.hero-illustration{width:100%;height:420px;margin-top:8px}.hero-text{max-width:920px;padding-bottom:72px}.hero-text h1{max-width:860px}.section{margin-bottom:72px}.section-intro{max-width:740px;margin-bottom:34px}.section-intro p{font-size:18px;max-width:670px;margin-top:22px}.primary-service-grid{display:grid;grid-template-columns:minmax(0,1.67fr) minmax(0,1fr);gap:24px}.home-service .illustration{height:250px;margin-bottom:26px}.home-service h3{margin-bottom:16px}.home-service p{font-size:17px;max-width:640px}.home-service .text-link{margin-top:22px}.ai-service-panel{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);background:var(--panel);margin-top:60px}.ai-service-panel>div{padding:32px}.ai-service-panel h3{font-size:32px;margin-bottom:20px}.ai-service-panel p{font-size:17px;max-width:630px}.ai-service-panel .text-link{margin-top:26px}.ai-service-panel .illustration{height:276px}.process{border-top:1px solid var(--line);padding-top:38px}.process h2{max-width:790px;margin-bottom:30px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:0;list-style:none}.process-grid h3{font-size:23px;margin-bottom:16px}.process-grid p{font-size:16px}.project-cta{background:var(--blue);color:var(--cloud);padding:44px 48px 48px;margin-bottom:64px;min-height:260px}.project-cta h2{max-width:980px;font-size:44px}.cta-bottom{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-top:24px}.cta-bottom p{color:var(--cloud);font-size:17px;max-width:725px}.button-light{flex-shrink:0;background:var(--cloud);color:var(--ink);min-width:236px}.button-light:hover{background:white}.service-row{display:grid;grid-template-columns:minmax(0,500fr) minmax(0,676fr);gap:64px;border-top:1px solid var(--line);padding:32px 0 64px;align-items:start}.service-row .illustration{height:320px}.service-row h2{font-size:40px;margin:12px 0 20px}.service-row p{font-size:17px;max-width:620px}.capability-list{padding:0;list-style:none;display:grid;gap:10px;font-size:15px;font-weight:600;margin-top:26px}.service-row .text-link{margin-top:22px}.capabilities>h2{margin-bottom:28px}.capability-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;border-top:1px solid var(--line);padding:25px 0 32px}.capability-row h3{font-size:28px;max-width:550px}.capability-row p{font-size:17px;max-width:570px}.related-services{display:flex;justify-content:space-between;gap:32px;margin-bottom:72px}.related-services h2{font-size:20px;max-width:400px}.related-services>div{display:flex;gap:48px;flex-wrap:wrap}.related-services .text-link{padding-top:2px}.about-illustration{height:400px}.about-copy{margin-top:52px;max-width:950px}.about-copy p{font-size:20px;max-width:870px;margin-top:24px}.principles h2{font-size:40px;margin-bottom:30px}.principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 48px}.principles-grid article{border-top:1px solid var(--line);padding:23px 0 28px}.principles-grid h3{font-size:28px;margin-bottom:14px}.principles-grid p{font-size:17px;max-width:565px}.about-services{display:block}.about-services h2{margin-bottom:20px}.about-services>div{justify-content:space-between}.site-footer{border-top:1px solid var(--line);padding-top:38px;margin-top:0;padding-bottom:48px}.footer-grid{display:grid;grid-template-columns:2fr 1.2fr .65fr 1fr;gap:40px;min-height:166px}.footer-brand p{font-size:16px;margin-top:24px;max-width:360px}.footer-column{display:flex;flex-direction:column;align-items:start;gap:8px}.footer-column h2{font-family:var(--body);font-size:14px;font-weight:600;letter-spacing:0;margin:4px 0 16px;line-height:1.5}.footer-column>a{font-size:14px;color:var(--muted);line-height:1.7}.footer-column a:hover{color:var(--link);text-decoration:underline;text-underline-offset:4px}.footer-column>a.footer-email{font-size:13px;color:var(--link);overflow-wrap:anywhere}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;margin-top:32px;padding-top:22px;font-size:12px;color:var(--muted)}
.contact-page{display:grid;grid-template-columns:minmax(0,470fr) minmax(0,666fr);column-gap:104px;padding-top:60px;padding-bottom:90px}.contact-intro h1{font-size:60px;line-height:1.13}.contact-intro .lead{max-width:400px}.email-alternative{margin-top:62px}.email-alternative>p{font-size:14px;font-weight:600;margin-bottom:14px}.email-alternative>a:not(.text-link){color:var(--link);font-size:21px;line-height:1.5;overflow-wrap:anywhere}.email-alternative>a:not(.text-link):hover{text-decoration:underline;text-underline-offset:5px}.email-alternative .text-link{display:flex;width:fit-content;margin-top:8px}.email-alternative-mobile{display:none}.contact-form-wrap{min-width:0;padding-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-field{min-width:0}.form-field label{display:block;font-size:13px;font-weight:600;line-height:1.5;margin-bottom:12px}.optional{font-weight:400;color:var(--muted)}.form-field input,.form-field textarea,.form-field select{width:100%;min-height:54px;border:1px solid var(--line);border-radius:4px;background:var(--field-bg);color:var(--text);font-size:15px;padding:14px 16px}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted);opacity:1}.form-field select{padding-right:28px}.form-field textarea{display:block;min-height:180px;resize:vertical;line-height:1.6}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline-width:2px;outline-offset:2px;border-color:var(--focus)}.form-field [aria-invalid=true]{border-color:var(--error)}.field-full{grid-column:1/-1}.field-help{font-size:12px;margin-top:8px}.field-error{font-size:12px;line-height:1.6;color:var(--error);margin-top:8px}.form-note{font-size:12px;margin-top:12px}.privacy-link{font-size:12px;margin-top:4px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.security-check{margin-top:24px;margin-bottom:24px;min-height:100px}.security-label{font-size:12px;font-weight:600;color:var(--text);margin-bottom:12px}.security-status{font-size:12px;line-height:1.6;margin-top:10px;max-width:480px}.security-retry{font-size:12px;margin-top:4px}.security-error{color:var(--error)}#turnstile-widget{max-width:100%;min-height:0}#turnstile-widget iframe{max-width:100%}.submit-button{min-width:210px;gap:10px}.sending-spinner{width:16px;height:16px;display:block;border:2px solid #ffffff60;border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}.form-feedback{padding:16px 20px;border:1px solid var(--error);color:var(--error);background:var(--error-panel);font-size:14px;margin-bottom:20px;border-radius:4px}.form-feedback a{text-decoration:underline;text-underline-offset:3px}.contact-success{padding:40px;background:var(--panel);border-top:3px solid var(--blue)}.success-mark{display:grid;place-items:center;background:var(--lime);color:var(--ink);width:48px;height:48px;font-size:24px;margin-bottom:24px}.contact-success h2{font-size:36px;margin-bottom:20px}.contact-success p{font-size:17px;margin-bottom:28px}.privacy-layout{display:grid;grid-template-columns:300px minmax(0,750px);gap:130px;margin-bottom:90px}.privacy-contents{align-self:start;position:sticky;top:32px;display:flex;flex-direction:column;gap:20px}.privacy-contents h2{font:600 16px/1.5 var(--body);letter-spacing:0;margin-bottom:6px}.privacy-contents a{font-size:13px;color:var(--muted)}.privacy-contents a:hover{color:var(--link);text-decoration:underline;text-underline-offset:4px}.privacy-copy section{margin-bottom:38px;scroll-margin-top:32px}.privacy-copy h2{font-size:30px;margin-bottom:17px}.privacy-copy p{font-size:18px}.privacy-copy a{color:var(--link);text-decoration:underline;text-underline-offset:3px}@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo .logo-light{display:none}:root:not([data-theme=light]) .brand-logo .logo-dark{display:block}}
:root[data-theme=dark] .brand-logo .logo-light{display:none}:root[data-theme=dark] .brand-logo .logo-dark{display:block}:root[data-theme=light] .brand-logo .logo-light{display:block}:root[data-theme=light] .brand-logo .logo-dark{display:none}
@media(min-width:1600px){.hero-with-image{grid-template-columns:minmax(0,760px) minmax(0,430px);gap:50px}}
@media(max-width:1279px){.container{width:calc(100% - 96px)}.desktop-nav{gap:28px}.site-header{gap:16px}.desktop-nav .button{min-width:200px}.hero h1{font-size:54px}.hero-with-image{gap:32px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.hero-illustration{height:380px}.hero-with-image{min-height:512px}.contact-page{column-gap:64px}.contact-intro h1{font-size:52px}.privacy-layout{gap:64px;grid-template-columns:250px 1fr}.footer-grid{gap:24px;grid-template-columns:1.8fr 1.3fr .8fr 1fr}.footer-brand .brand-logo-full{width:225px}.project-cta h2{font-size:40px}.cta-bottom{gap:32px}.related-services>div{gap:24px}.service-row{gap:48px}.service-row h2{font-size:36px}.capability-row{gap:48px}}
@media(max-width:959px){.container{width:calc(100% - 64px)}.desktop-nav{gap:22px}.brand-logo{width:160px}.desktop-nav .button{min-width:170px;padding-inline:16px;font-size:13px}.hero h1{font-size:46px}.hero-with-image{gap:24px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.hero-illustration{height:340px}.hero-with-image{min-height:480px}.lead{font-size:17px}.hero-actions{gap:16px}.hero-actions .button{min-width:200px}.hero-actions .text-link{font-size:13px}h2{font-size:36px}.home-service h3{font-size:27px}.home-service .illustration{height:230px}.ai-service-panel{grid-template-columns:1.4fr 1fr}.ai-service-panel .illustration{height:300px}.ai-service-panel>div{padding:28px}.ai-service-panel h3{font-size:28px}.ai-service-panel p{font-size:16px}.process-grid{gap:24px}.process-grid h3{font-size:22px}.project-cta{padding:36px;min-height:0}.project-cta h2{font-size:36px}.cta-bottom{align-items:start}.button-light{min-width:210px}.footer-grid{grid-template-columns:1.7fr 1.3fr 1fr}.footer-grid .footer-column:last-child{grid-column:2/4;margin-top:16px}.footer-brand .brand-logo-full{width:220px}.contact-page{column-gap:48px;grid-template-columns:1fr 1.45fr}.contact-intro h1{font-size:44px}.contact-intro .lead{font-size:16px}.email-alternative>a:not(.text-link){font-size:17px}.form-grid{grid-template-columns:1fr}.privacy-layout{grid-template-columns:200px 1fr;gap:40px}.privacy-copy p{font-size:17px}.privacy-copy h2{font-size:27px}.service-row{grid-template-columns:1fr 1.15fr;gap:32px}.service-row .illustration{height:340px}.service-row h2{font-size:31px}.related-services{display:block}.related-services h2{margin-bottom:16px}.related-services>div{justify-content:space-between}.principles-grid h3{font-size:25px}}
@media(max-width:719px){.container{width:calc(100% - 48px)}.site-header{height:76px;gap:8px}.brand-logo{width:145px}.desktop-nav{display:none}.theme-button{margin-left:auto;width:40px;height:40px;border:none}.mobile-toggle{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;min-height:44px;padding:8px 0 8px 8px;font-size:13px;font-weight:600}.mobile-toggle>span{display:flex;flex-direction:column;gap:5px;width:16px}.mobile-toggle i{display:block;width:16px;height:1px;background:var(--text);transition:transform .18s ease}.mobile-toggle[aria-expanded=true] i:first-child{transform:translateY(3px) rotate(45deg)}.mobile-toggle[aria-expanded=true] i:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-menu{position:absolute;display:flex;flex-direction:column;top:75px;left:-24px;right:-24px;padding:28px 24px 32px;background:var(--background);border-bottom:1px solid var(--line);max-height:calc(100dvh - 76px);overflow-y:auto;box-shadow:0 10px 22px #0000000a}.mobile-menu>a:not(.button):not(.mobile-email){font-family:var(--display);font-size:27px;font-weight:600;letter-spacing:-.025em;padding:12px 0;min-height:52px}.mobile-service-links{display:grid;padding:8px 0 12px 16px;gap:2px}.mobile-service-links a{color:var(--muted);font-size:16px;padding:10px 0;min-height:44px}.mobile-menu a[aria-current=page]{color:var(--link)}.mobile-menu .button{margin-top:24px}.mobile-menu .mobile-email{font-size:15px;color:var(--link);padding-top:24px}.hero{padding-top:36px;padding-bottom:40px}.eyebrow{margin-bottom:20px;font-size:12px}.hero h1{font-size:38px;line-height:1.16}.hero h1 br{display:none}.hero-with-image{display:flex;flex-direction:column;gap:32px;min-height:0}.hero .lead{font-size:16px;margin-top:24px;max-width:500px}.hero-actions{display:flex;align-items:start;flex-direction:column;gap:18px;margin-top:28px}.hero-actions .button{min-width:224px}.hero-actions .text-link{font-size:14px}.hero-illustration{height:270px;margin-top:0;width:100%}.hero-text{padding-bottom:52px}.section{margin-bottom:48px}h2{font-size:31px;line-height:1.2}h3{font-size:26px}.section-intro{margin-bottom:34px}.section-intro p{font-size:16px;margin-top:22px}.primary-service-grid{grid-template-columns:1fr;gap:44px}.home-service .illustration{height:210px;margin-bottom:24px}.home-service h3{font-size:26px;margin-bottom:12px}.home-service p{font-size:16px}.home-service .text-link{margin-top:12px}.ai-service-panel{display:flex;flex-direction:column-reverse;margin-top:44px;background:none}.ai-service-panel>div{padding:0}.ai-service-panel .illustration{height:210px;margin-bottom:24px}.ai-service-panel h3{font-size:26px;margin-bottom:12px}.ai-service-panel .text-link{margin-top:12px}.process{padding-top:38px}.process h2{font-size:31px;margin-bottom:30px}.process h2 br{display:none}.process-grid{grid-template-columns:1fr;gap:26px}.process-grid h3{font-size:22px;margin-bottom:9px}.process-grid p{font-size:16px}.project-cta{padding:32px 24px;min-height:300px;margin-bottom:48px}.project-cta h2{font-size:31px;line-height:1.2}.cta-bottom{flex-direction:column;gap:24px;margin-top:20px}.cta-bottom p{font-size:15px;line-height:1.6}.button-light{min-width:0;max-width:100%;width:224px}.service-row{display:flex;flex-direction:column;gap:24px;padding:32px 0 52px}.service-row .illustration{width:100%;height:215px}.service-row h2{font-size:31px;margin-top:0;margin-bottom:18px}.service-row p{font-size:16px}.capability-list{font-size:15px;margin-top:22px;gap:12px}.service-row .text-link{margin-top:18px}.capabilities>h2{margin-bottom:28px}.capability-row{grid-template-columns:1fr;gap:13px;padding:25px 0 26px}.capability-row h3{font-size:24px}.capability-row p{font-size:16px}.related-services{display:block;margin-bottom:48px}.related-services h2{font-size:21px;margin-bottom:16px}.related-services>div{flex-direction:column;gap:14px;align-items:start}.related-services .text-link{padding-block:8px}.about-illustration{height:270px}.about-copy{margin-top:48px}.about-copy p{font-size:16px;margin-top:24px}.principles h2{font-size:31px;margin-bottom:30px}.principles-grid{grid-template-columns:1fr;gap:0}.principles-grid article{padding:22px 0 28px}.principles-grid h3{font-size:25px;margin-bottom:12px}.principles-grid p{font-size:16px}.about-services{margin-top:0}.site-footer{padding-top:38px;padding-bottom:36px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:28px 24px;min-height:0}.footer-brand{grid-column:1/-1}.footer-brand .brand-logo-full{width:240px}.footer-brand p{font-size:16px;margin-top:24px}.footer-column h2{font-size:14px;margin-bottom:8px}.footer-column>a{font-size:13px;padding:3px 0}.footer-grid .footer-column:last-child{grid-column:1/-1;margin-top:0}.footer-column>a.footer-email{font-size:16px}.footer-bottom{font-size:12px;margin-top:32px;flex-direction:column;gap:8px}.contact-page{display:flex;flex-direction:column;padding-top:36px;padding-bottom:52px;gap:36px}.contact-intro h1{font-size:40px;line-height:1.15}.contact-intro .lead{font-size:16px;margin-top:23px}.contact-intro .email-alternative{display:none}.contact-form-wrap{padding-top:0}.form-grid{grid-template-columns:1fr;gap:24px}.form-field label{font-size:13px}.form-field textarea{min-height:160px}.form-note{font-size:12px}.security-check{margin-top:24px}.submit-button{width:100%;min-width:0}.email-alternative-mobile{display:block;margin-top:0}.email-alternative-mobile>a:not(.text-link){font-size:18px}.contact-success{padding:28px 24px}.contact-success h2{font-size:31px}.privacy-layout{display:flex;flex-direction:column;gap:32px;margin-bottom:52px}.privacy-contents{position:static;gap:13px}.privacy-contents h2{font-size:18px;margin-bottom:8px}.privacy-contents a{font-size:14px;color:var(--link);font-weight:600;padding:3px 0}.privacy-copy section{margin-bottom:37px}.privacy-copy h2{font-size:25px;line-height:1.3}.privacy-copy p{font-size:16px}}
.text-link{min-height:44px}
@media(max-width:719px){.theme-button{width:44px;height:44px}.footer-column>a{display:flex;align-items:center;min-height:44px;padding-block:6px}.form-field input,.form-field textarea,.form-field select{font-size:16px}}
@media(max-width:359px){.container{width:calc(100% - 32px)}.mobile-menu{left:-16px;right:-16px;padding-inline:16px}.hero h1{font-size:34px}.contact-intro h1{font-size:36px}.brand-logo{width:136px}.site-header{gap:2px}.mobile-toggle{font-size:12px}.project-cta{padding-inline:20px}.footer-grid{column-gap:16px}.footer-column>a{font-size:12px}.security-check{overflow:visible}}
.illustration{background:var(--cloud)}
.illustration img{object-fit:contain}
.nav-link[aria-current=page],.footer-column a[aria-current=page]{color:var(--link)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-projects{border-top:1px solid var(--line);padding-top:38px}
.portfolio-intro{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:32px}
.portfolio-intro>div{max-width:750px}
.portfolio-intro .eyebrow{margin-bottom:16px}
.portfolio-intro p:not(.eyebrow){font-size:18px;max-width:680px;margin-top:22px}
.portfolio-intro>.text-link{flex-shrink:0;white-space:nowrap}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.portfolio-card{display:flex;flex-direction:column;min-width:0;padding:28px 32px 24px;border-top:2px solid var(--blue);background:var(--panel);scroll-margin-top:32px}
.portfolio-card-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:27px}
.project-number{font:600 13px/1.5 var(--display);color:var(--muted)}
.project-status{font-size:12px;line-height:1.5;font-weight:600;color:var(--muted);text-align:right}
.project-status-public{color:var(--text)}
.portfolio-card h3{font-size:34px;overflow-wrap:anywhere}
.project-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin-top:18px;margin-bottom:24px}
.project-tags li{font-size:11px;font-weight:600;line-height:1.5;border:1px solid var(--line);padding:5px 8px;border-radius:2px;color:var(--text)}
.project-description{font-size:16px;line-height:1.7;margin-bottom:24px}
.project-site-link{align-self:start;margin-top:auto}
.projects-in-progress{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}
.projects-in-progress>p{font-size:13px;font-weight:600;padding-block:11px}
.projects-in-progress ul{padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}
.projects-in-progress a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:14px;font-weight:600}
.projects-in-progress a span{color:var(--link)}
.projects-in-progress a:hover{color:var(--link);text-decoration:underline;text-underline-offset:4px}
.portfolio-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;padding-top:32px;border-top:1px solid var(--line);margin-bottom:32px}
.portfolio-heading h2{font-size:30px}
.portfolio-heading p{font-size:16px;max-width:360px}
.portfolio-card-detailed{padding-top:28px;padding-bottom:28px}
.project-features{padding:0;list-style:none;margin-bottom:28px;border-top:1px solid var(--line)}
.project-features li{font-size:14px;line-height:1.6;padding:12px 0 12px 17px;border-bottom:1px solid var(--line);position:relative}
.project-features li::before{content:'-';position:absolute;left:0;color:var(--link)}
.project-availability{font-size:12px;font-weight:600;line-height:1.5;margin-top:auto;min-height:44px;display:flex;align-items:center}
@media(max-width:1279px){.desktop-nav{gap:24px}.portfolio-intro{gap:32px}.portfolio-card{padding-inline:26px}.portfolio-card h3{font-size:31px}.portfolio-heading{gap:32px}}
@media(min-width:720px) and (max-width:959px){
  .desktop-nav{display:none}
  .theme-button{margin-left:auto}
  .mobile-toggle{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;min-height:44px;padding:8px 0 8px 8px;font-size:13px;font-weight:600}
  .mobile-toggle>span{display:flex;flex-direction:column;gap:5px;width:16px}
  .mobile-toggle i{display:block;width:16px;height:1px;background:var(--text);transition:transform .18s ease}
  .mobile-toggle[aria-expanded=true] i:first-child{transform:translateY(3px) rotate(45deg)}
  .mobile-toggle[aria-expanded=true] i:last-child{transform:translateY(-3px) rotate(-45deg)}
  .mobile-menu{position:absolute;display:flex;flex-direction:column;top:99px;left:-32px;right:-32px;padding:28px 32px 32px;background:var(--background);border-bottom:1px solid var(--line);max-height:calc(100dvh - 100px);overflow-y:auto;box-shadow:0 10px 22px #0000000a}
  .mobile-menu>a:not(.button):not(.mobile-email){font-family:var(--display);font-size:27px;font-weight:600;letter-spacing:-.025em;padding:12px 0;min-height:52px}
  .mobile-service-links{display:grid;padding:8px 0 12px 16px;gap:2px}
  .mobile-service-links a{color:var(--muted);font-size:16px;padding:10px 0;min-height:44px}
  .mobile-menu a[aria-current=page]{color:var(--link)}
  .mobile-menu .button{margin-top:24px;align-self:start;min-width:224px}
  .mobile-menu .mobile-email{font-size:15px;color:var(--link);padding-top:24px}
}
@media(max-width:959px){.portfolio-card{padding-inline:22px}.portfolio-card h3{font-size:28px}.portfolio-intro p:not(.eyebrow){font-size:16px}.projects-in-progress{grid-template-columns:160px minmax(0,1fr);gap:16px}.projects-in-progress ul{column-gap:16px}.projects-in-progress a{font-size:13px}.portfolio-heading{display:block}.portfolio-heading p{max-width:none;margin-top:16px}}
@media(max-width:719px){.home-projects{padding-top:32px}.portfolio-intro{display:block;margin-bottom:24px}.portfolio-intro>.text-link{margin-top:20px}.portfolio-grid{grid-template-columns:1fr;gap:24px}.portfolio-card{padding:24px}.portfolio-card-top{margin-bottom:22px}.portfolio-card h3{font-size:30px}.project-tags{margin-top:16px;margin-bottom:20px}.project-description{font-size:15px}.projects-in-progress{display:block;padding-top:20px;margin-top:24px}.projects-in-progress>p{padding-top:0;margin-bottom:12px}.projects-in-progress ul{grid-template-columns:1fr;gap:4px}.projects-in-progress a{font-size:14px}.portfolio-heading{padding-top:28px;margin-bottom:28px}.portfolio-heading h2{font-size:25px}.portfolio-heading p{font-size:15px}.project-features li{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
