@font-face{font-family:Lato;src:url('/assets/lato-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Lato;src:url('/assets/lato-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Lato;src:url('/assets/lato-900.woff2') format('woff2');font-weight:900;font-display:swap}:root{--ink:#114f4f;--dark:#082f30;--lime:#b3e501;--paper:#f4f8ec;--muted:#496665;--line:#d4ddd1}*{box-sizing:border-box}body{margin:0;font:17px/1.6 Lato,Arial,sans-serif;color:var(--ink);background:#fbfcf7}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #438b8b;outline-offset:5px}.skip{position:fixed;top:-60px;left:20px;z-index:100;background:var(--lime);padding:12px}.skip:focus{top:12px}.wrap{width:min(1248px,calc(100% - 96px));margin:auto}.header{background:var(--dark);color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #315352}.head{height:91px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{width:192px;height:49px;object-fit:contain}.nav{display:flex;align-items:center;gap:34px;font-size:15px}.nav a[aria-current=page]{color:var(--lime)}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:13px 24px;background:var(--lime);color:var(--dark);font-weight:700;border:1px solid var(--lime);border-radius:3px;min-height:48px;line-height:1.4}.button:hover{background:#c6f52f;text-decoration:none}.button.outline{background:transparent;border-color:#9cb4ab;color:inherit}.button.small{padding:9px 18px;min-height:44px;font-size:14px}.menu{display:none;background:none;color:white;border:1px solid #637e77;padding:9px 13px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;display:flex;gap:12px;align-items:center;margin-bottom:25px}.eyebrow:before{content:'';width:22px;height:2px;background:currentColor}.hero{background:var(--dark);color:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:35px;padding:68px 0 58px}.hero h1{font-size:clamp(44px,4.8vw,68px);line-height:1.055;letter-spacing:-.045em;max-width:650px;margin:0 0 27px;font-weight:700}.hero h1 em{color:var(--lime);font-style:normal}.hero p{color:#ccd9cf;max-width:490px;font-size:18px;line-height:1.65}.actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:30px}.textlink{font-weight:700;border-bottom:1px solid currentColor;padding:6px 0}.architecture{width:100%;height:auto;display:block}.section{padding:88px 0}.pale{background:var(--paper)}h1,h2,h3,h4{line-height:1.16;letter-spacing:-.025em}h2{font-size:clamp(32px,3.3vw,48px);font-weight:700;margin:0 0 25px}h3{font-size:25px;margin:0 0 16px}p{margin:0 0 22px}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:38px}.section-head h2{margin:0;max-width:640px}.section-head p{max-width:360px;color:var(--muted);margin:0}.service-row{display:grid;grid-template-columns:60px 1fr 1.05fr 38px;gap:24px;padding:29px 0;border-top:1px solid var(--line);align-items:center}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row:hover .arrow{background:var(--ink);color:white}.service-row .number{font-size:13px;color:#57716a}.service-row h3{font-size:25px;margin:0 0 5px}.service-row .sub{font-size:12px;color:var(--muted)}.service-row p{margin:0;color:var(--muted);font-size:16px}.arrow{width:36px;height:36px;border:1px solid #adc2b7;border-radius:50%;display:grid;place-items:center;transition:.2s}.feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature-art{background:#e7eddf;padding:28px;min-height:380px;display:flex;flex-direction:column;justify-content:center;position:relative}.tag{display:inline-block;font-size:12px;padding:4px 10px;border:1px solid #adc2b7;margin:0 6px 8px 0;border-radius:2px}.feature h2{font-size:40px}.caption{font-size:12px;color:var(--muted);margin-top:13px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:45px}.step{border-top:1px solid #8ca59a;padding-top:20px}.step .n{color:#496665;font-size:12px}.step h3{font-size:22px;margin:28px 0 14px}.step p{font-size:15px;color:var(--muted)}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.three>article{padding:30px 0;border-top:1px solid var(--line)}.three p{font-size:16px;color:var(--muted)}.callout{border-left:3px solid var(--lime);padding:18px 23px;background:var(--paper);margin:25px 0}.callout p{margin:0}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:64px 0}.cta h2{max-width:710px;margin:0}.footer{background:var(--dark);color:#d3dfd5;padding:48px 0 25px;font-size:14px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer a{display:block;margin-bottom:10px}.footer .logo{margin-bottom:16px}.footer-bottom{border-top:1px solid #315352;margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#afc5b9}.page-intro{padding:62px 0 64px;background:var(--paper)}.crumbs{font-size:13px;color:var(--muted);margin-bottom:32px}.page-intro h1{font-size:clamp(38px,5vw,64px);max-width:940px;letter-spacing:-.04em;margin:0 0 25px}.page-intro p{font-size:20px;max-width:740px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1.5fr;gap:85px}.stack>section{margin-bottom:55px;scroll-margin-top:120px}.stack h2{font-size:33px}.list{list-style:none;padding:0;margin:0}.list li{border-top:1px solid var(--line);padding:16px 0;display:flex;gap:17px}.list li:before{content:'';width:18px;height:18px;flex:0 0 18px;margin-top:4px;background:#4d7266;mask:url('/assets/arrow-right.svg') center/contain no-repeat}.tech{margin:25px 0}details{border-top:1px solid var(--line);padding:20px 0}summary{font-weight:700;cursor:pointer}details p{margin:15px 0 0;color:var(--muted)}.toc{position:sticky;top:125px;align-self:start;font-size:14px}.toc a{display:block;padding:10px 0}.article{max-width:790px}.article p{font-size:18px}.notice{font-size:13px;background:#eaf1d9;border:1px solid #c7d6b0;padding:12px 16px;margin:20px 0;color:#354f35}.empty{padding:60px 30px;border:1px solid var(--line);text-align:center;background:var(--paper)}label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}input,textarea,select{width:100%;border:1px solid #adc2b7;background:#fff;color:var(--dark);padding:12px 14px;border-radius:3px;min-height:48px}textarea{resize:vertical;min-height:135px}.field{margin-bottom:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.error{color:#9b2b1c;font-size:14px}.status{font-size:14px;padding:12px 0}.contact-card{border-top:1px solid var(--line);padding:25px 0;margin-top:25px}.contact-card a{display:block;margin:12px 0}.admin-body{background:#f1f4ed}.admin-shell{display:grid;grid-template-columns:225px 1fr;min-height:100vh}.sidebar{background:var(--dark);color:#d7e5db;padding:27px 20px}.sidebar .logo{width:166px;margin-bottom:22px}.sidebar a{display:block;padding:10px 13px;font-size:14px;border-radius:3px}.sidebar a.active{background:#255253;color:var(--lime)}.workspace{min-width:0;padding:30px 42px 65px}.workspace h1{font-size:36px;margin:15px 0}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px;font-size:13px}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}.panel{background:#fff;border:1px solid var(--line);padding:30px;border-radius:5px;margin-bottom:22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats strong{display:block;font-size:38px}.stats span{font-size:13px;color:var(--muted)}.table-row{display:grid;grid-template-columns:1fr 110px 140px;gap:20px;align-items:center;border-top:1px solid var(--line);padding:20px 0}.badge{font-size:12px;background:#eef2e8;padding:5px 10px;border-radius:15px;width:fit-content}.editor-layout{display:grid;grid-template-columns:165px 1fr;gap:25px}.editor-tabs button{display:block;width:100%;text-align:left;border:0;background:none;padding:12px;color:var(--muted);font-size:14px}.editor-tabs button.active{background:#e1e9d8;color:var(--ink);font-weight:700}.editor-actions{display:flex;flex-wrap:wrap;gap:10px}.editor-actions button{font-size:13px;padding:10px 14px}.helper{font-size:13px;color:var(--muted);margin:8px 0 20px}.check{display:flex;gap:10px;align-items:start;margin:18px 0}.check input{width:19px;min-height:19px;margin-top:3px}.check label{font-weight:400}.preview-dialog{width:min(1100px,96vw);max-height:90vh;border:1px solid #adc2b7;padding:24px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#082f30b8}.preview-bar{display:flex;gap:14px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.preview-page{background:#fff;margin:auto;padding:40px;width:100%;overflow:auto;max-height:65vh}.preview-page.phone{max-width:390px;padding:25px}.media-thumb{height:100px;max-width:180px;object-fit:contain}.visually-hidden{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.filterbar{display:flex;gap:15px;margin:20px 0}.filterbar input,.filterbar select{flex:1}.content-card{padding:30px;border:1px solid var(--line);margin:20px 0}.content-card h2{font-size:30px}.muted{color:var(--muted)}[hidden]{display:none!important}@media(min-width:1600px){.hero-grid{padding:85px 0}}@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.nav{gap:20px}.logo{width:166px}.hero-grid{gap:18px}.hero h1{font-size:55px}.feature{gap:35px}.service-row{grid-template-columns:35px 1fr 1fr 35px;gap:15px}.split{gap:45px}.workspace{padding:25px}.admin-shell{grid-template-columns:190px 1fr}.editor-layout{grid-template-columns:130px 1fr}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.head{height:76px}.logo{width:160px;height:42px}.menu{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--dark);padding:24px;box-shadow:0 10px 20px #0002}.nav.open{display:flex;align-items:stretch;flex-direction:column;gap:20px}.hero-grid{grid-template-columns:1fr;padding:38px 0 28px;gap:22px}.hero h1{font-size:46px;max-width:520px}.hero p{font-size:17px}.hero .eyebrow{margin-bottom:22px}.architecture{max-height:355px}.section{padding:56px 0}.section-head{display:block}.section-head p{margin-top:20px}.service-row{grid-template-columns:28px 1fr 32px;gap:12px;padding:25px 0}.service-row p{grid-column:2;grid-row:2}.service-row .arrow{grid-column:3;grid-row:1}.service-row h3{font-size:22px}.feature,.split{grid-template-columns:1fr;gap:32px}.feature-art{min-height:280px;padding:20px}.feature h2{font-size:33px}.steps{grid-template-columns:1fr 1fr;gap:22px}.three{grid-template-columns:1fr;gap:0}.cta{display:block;padding:45px 0}.cta .button{margin-top:24px}.footer-top{grid-template-columns:1fr 1fr;gap:24px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:6px}.page-intro{padding:38px 0}.page-intro p{font-size:18px}.page-intro h1{font-size:41px}.toc{position:static;border-bottom:1px solid var(--line);padding-bottom:15px}.toc a{display:inline-block;margin-right:15px}.form-grid{grid-template-columns:1fr;gap:0}.admin-shell{display:block}.sidebar{padding:16px;display:flex;flex-wrap:wrap;gap:5px}.sidebar .logo{display:none}.sidebar a{font-size:12px;padding:7px}.workspace{padding:20px}.admin-title{align-items:start;flex-direction:column}.editor-layout{grid-template-columns:1fr}.editor-tabs{display:flex;flex-wrap:wrap}.editor-tabs button{width:auto}.panel{padding:20px}.stats{gap:10px}.stats .panel{padding:15px}.table-row{grid-template-columns:1fr;gap:8px}.admin-top{flex-wrap:wrap}.filterbar{flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.ui-icon{display:inline-block;width:20px;height:20px;vertical-align:-4px;flex:0 0 auto;stroke-width:1.8;margin-left:8px}.button .ui-icon{margin-left:0}.arrow .ui-icon{margin:0;width:18px;height:18px}.hero-grid{gap:36px;padding-top:45px;padding-bottom:45px}.hero h1{line-height:1.07}.real-architecture{margin:0;width:100%;min-width:0}.arch-heading{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.09em;padding:0 0 17px;border-bottom:1px solid #41685e;color:#adc7b9}.real-architecture.light .arch-heading{color:#496665;border-color:#a2b8aa}.real-architecture .architecture{margin-top:15px;max-height:none}.real-architecture figcaption{font-size:11px;line-height:1.5;color:#adc7b9;margin-top:13px}.real-architecture.light figcaption{color:#496665}.dark .diagram-lucide{filter:invert(91%) sepia(13%) saturate(236%) hue-rotate(54deg) brightness(101%)}.feature-art{padding:26px}.arch-mobile{display:none}.feature-art>.caption{display:none}.textlink .ui-icon{width:18px;height:18px}.footer a>.ui-icon{width:15px;height:15px}.hero .actions{gap:20px}.mobile-flow{display:flex;gap:14px;align-items:center;padding:13px;border:1px solid #41685e;border-radius:4px;background:#103e3b}.mobile-flow img{width:32px;height:32px;flex:0 0 auto}.mobile-flow strong{font-size:15px;display:block}.mobile-flow span{display:block;font-size:12px;color:#bed0c4;margin-top:3px;line-height:1.5}.mobile-flow img[src*="git-"],.mobile-flow img[src*="refresh-"],.mobile-flow img[src*="activity"]{filter:invert(90%)}.flow-connector{width:1px;height:18px;margin-left:30px;background:#8dab99}.mobile-vpc{border:1px solid #5f8c7c;padding:12px;margin-top:15px;background:#0a3433;border-radius:4px}.mobile-zone{font-size:11px;letter-spacing:.1em;display:block;margin:0 0 12px;color:#bed0c4}.az-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;font-size:10px;color:#bed0c4}.az-pair span{padding:10px 5px;border:1px dashed #739f8d;text-align:center}.supplemental{margin-top:12px;background:transparent}.light .mobile-flow{background:white;border-color:#a2b8aa}.light .mobile-flow span,.light .mobile-zone,.light .az-pair{color:#496665}.light .mobile-vpc{background:#edf3e6}.light .mobile-flow img[src*="git-"],.light .mobile-flow img[src*="refresh-"],.light .mobile-flow img[src*="activity"]{filter:none}@media(max-width:1100px) and (min-width:761px){.hero-grid{grid-template-columns:1fr 1fr;gap:24px}.hero h1{font-size:48px}.arch-heading{font-size:9px;letter-spacing:0}}@media(max-width:760px){.hero-grid{padding-top:28px;gap:40px}.hero h1{font-size:42px}.hero .actions{gap:17px}.hero .button{padding:12px 18px;gap:14px}.hero .textlink{font-size:15px}.hero .actions .ui-icon{width:17px}.arch-heading{font-size:9px;letter-spacing:.05em}.real-architecture .architecture{display:none}.arch-mobile{display:block;margin-top:20px}.feature-art{padding:20px}.hero p{font-size:17px}.hero h1 br{display:none}.ui-icon{width:18px;height:18px}}@media(min-width:1600px){.hero-grid{padding:55px 0}}
.home-page .hero-grid{grid-template-columns:1.12fr .88fr;padding:48px 0 42px;gap:70px;min-height:530px}.home-page .hero h1{font-size:clamp(44px,4.65vw,66px);line-height:1.08;margin-bottom:23px}.home-page .hero p{max-width:540px;font-size:18px}.home-page .hero .eyebrow{margin-bottom:24px;color:#cbdaca}.home-page .hero .actions{margin-top:25px}.partner-feature{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid #375952;padding:10px 0 10px 45px}.partner-feature>img{width:270px;height:270px;object-fit:contain;margin:19px 0 22px;border-radius:3px}.partner-heading{font-size:11px;letter-spacing:.17em;color:#b5cdbe}.home-page .section{padding:60px 0}.home-page .section-head{margin-bottom:27px}.home-page h2{font-size:38px}.home-page .service-row{padding:21px 0;grid-template-columns:42px 1fr 1fr 36px}.home-page .service-row h3{font-size:22px}.home-page .service-row p{font-size:15px}.project-compact{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;align-items:center}.project-compact h2{margin-bottom:18px}.project-compact p{max-width:535px;font-size:17px}.project-summary{border-left:1px solid #b1c4b6;padding-left:45px}.project-summary>div+div{margin-top:24px}.summary-label{font-size:10px;letter-spacing:.15em;font-weight:700;color:#496665}.project-summary p{margin:8px 0 0;font-size:18px;line-height:1.5}.project-tools{display:flex;align-items:center;gap:22px;font-size:13px}.project-tools img{width:33px;height:33px}.home-page .steps{margin-top:30px}.home-page .step h3{font-size:21px;margin:20px 0 12px}.home-page .step p{margin:0;font-size:14px}.home-page .cta{padding:45px 0}.home-page .section:has(.steps)>.wrap>.caption{margin-bottom:0;margin-top:25px}.home-page .home-project .caption{margin-bottom:0;font-size:11px}.home-page .footer{padding-top:36px}.home-page .footer-bottom{margin-top:24px}.home-page .section-head p{font-size:16px}@media(max-width:1100px) and (min-width:761px){.home-page .hero-grid{gap:32px;padding:38px 0;min-height:490px}.home-page .hero h1{font-size:48px}.partner-feature{padding-left:24px}.partner-feature>img{width:225px;height:225px}.home-page .hero .actions{gap:20px}.project-compact{gap:45px}.project-summary{padding-left:25px}}@media(max-width:760px){.home-page .hero-grid{display:flex;flex-direction:column-reverse;gap:26px;padding:26px 0 32px;min-height:0;align-items:stretch}.partner-feature{flex-direction:row;justify-content:flex-start;border:0;border-bottom:1px solid #375952;padding:0 0 23px;gap:20px;position:relative}.partner-feature>img{width:122px;height:122px;margin:0;order:-1}.partner-heading{display:none}.home-page .hero h1{font-size:42px;line-height:1.09;margin-bottom:20px}.home-page .hero .eyebrow{font-size:10px;margin-bottom:16px}.home-page .hero p{font-size:16px;line-height:1.65}.home-page .hero .actions{gap:18px;margin-top:23px}.home-page .section{padding:42px 0}.home-page .service-row{grid-template-columns:26px 1fr 30px;padding:20px 0;gap:10px}.home-page .service-row h3{font-size:21px}.home-page .service-row .sub{display:none}.home-page .service-row p{font-size:14px}.home-page h2{font-size:32px}.project-compact{grid-template-columns:1fr;gap:27px}.project-summary{border-left:0;border-top:1px solid #b1c4b6;padding:25px 0 0}.project-summary p{font-size:16px}.project-summary>div+div{margin-top:18px}.home-page .steps{margin-top:24px}.home-page .step h3{font-size:19px}.home-page .cta{padding:35px 0}.home-page .footer-top>div:first-child p{display:none}}

.home-page .hero h1{font-size:clamp(42px,4.25vw,61px)}.home-page .hero p{max-width:585px}@media(max-width:1000px){.home-page .hero h1{font-size:46px}}@media(max-width:760px){.home-page .hero h1{font-size:40px}}

.booking-dialog{padding:0;border:0;border-radius:9px;width:min(1080px,calc(100vw - 40px));max-height:calc(100dvh - 40px);color:#114f4f;background:#fff;overflow:auto;box-shadow:0 24px 100px #0004}.booking-dialog::backdrop{background:#052626bb;backdrop-filter:blur(5px)}.booking-top{padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e1e7de}.booking-top h2{font-size:24px;margin:0}.booking-top p{font-size:14px;color:#496665;margin:5px 0 0}.booking-close{width:44px;height:44px;display:grid;place-items:center;border:1px solid #cbd6cd;border-radius:50%;background:#fff;color:#114f4f;flex-shrink:0}.booking-close:hover{background:#f4f8ec}.booking-close svg{width:20px;height:20px}.booking-content{height:min(650px,calc(100dvh - 215px));min-height:340px;position:relative}.booking-embed{height:100%;min-width:0}.booking-embed iframe{width:100%;height:100%;border:0}.booking-loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#fff;pointer-events:none;font-size:15px}.booking-loading p{max-width:440px;padding:20px;margin:0}.booking-foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:15px 28px;border-top:1px solid #e1e7de;background:#f8faf5;font-size:13px}.booking-foot a{border-bottom:1px solid #9db1a5}.booking-open{overflow:hidden}.booking-success{background:#f4f8ec;color:#114f4f;padding:12px 28px;font-size:14px}@media(max-width:760px){.booking-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:6px}.booking-top{padding:17px}.booking-top h2{font-size:21px}.booking-top p{font-size:12px}.booking-foot{padding:12px 17px;gap:10px}.booking-content{height:calc(100dvh - 210px);min-height:300px}}
.services-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:14px 0}.services-menu summary::-webkit-details-marker{display:none}.services-menu[open] summary{color:var(--lime)}.services-menu[open] summary svg{transform:rotate(180deg)}.head{position:relative}.services-panel{position:absolute;top:78px;right:0;width:740px;background:#fff;color:var(--ink);border:1px solid #d4ddd1;border-radius:12px;box-shadow:0 24px 55px #001e2a30;padding:10px 20px 20px}.services-panel-top{display:flex;align-items:center;justify-content:space-between;padding:17px 10px;border-bottom:1px solid #e4e9e0;font-size:12px}.services-panel-top>span{color:var(--muted)}.services-panel-top a{font-weight:700;display:flex;align-items:center;gap:10px}.services-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding-top:12px}.service-menu-item{display:flex;align-items:center;gap:16px;padding:18px 12px;border-radius:8px}.service-menu-item:hover{background:#f4f8ec;text-decoration:none}.service-menu-item img{object-fit:contain;flex-shrink:0}.service-menu-item strong{display:block;font-size:17px;line-height:1.3}.service-menu-item small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:5px}.privacy-settings{color:inherit;background:none;border:0;padding:0;text-align:left;font-size:inherit;cursor:pointer}.privacy-settings:hover{text-decoration:underline}.privacy-banner{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);width:min(940px,calc(100% - 36px));z-index:40;padding:25px 30px;background:#fff;color:var(--ink);border:1px solid #d4ddd1;border-radius:14px;box-shadow:0 12px 55px #05262630;display:grid;grid-template-columns:44px 1fr;gap:20px}.privacy-icon{width:44px;height:44px;padding:10px;background:#f0f7d8;border-radius:50%}.privacy-banner h2{font-size:23px;margin:0 0 9px}.privacy-banner p{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 17px;max-width:760px}.privacy-banner p a{text-decoration:underline}.privacy-actions{display:flex;gap:10px;flex-wrap:wrap}.privacy-actions button{border:1px solid #9eb3a6;background:white;color:var(--ink);border-radius:5px;padding:10px 16px;font-size:14px;font-weight:700}.privacy-actions button:first-child{background:var(--lime);border-color:var(--lime)}.privacy-options{border-top:1px solid #d4ddd1;margin:14px 0;padding-top:14px}.privacy-option{display:flex;justify-content:space-between;gap:20px;padding:8px 0;font-size:14px}.privacy-option input{width:20px;height:20px;accent-color:var(--ink)}.privacy-option small{display:block;color:var(--muted)}.booking-consent{display:grid;place-content:center;height:100%;text-align:center;padding:30px}.booking-consent p{max-width:450px;margin:0 auto 20px}.booking-consent .button{margin:auto}.booking-loading[hidden],.privacy-banner[hidden],.privacy-options[hidden]{display:none}
@media(max-width:760px){.services-menu{width:100%}.services-panel{position:static;width:100%;padding:8px;border-radius:8px;box-shadow:none}.services-panel-top{padding:12px 8px}.services-panel-top>span{display:none}.services-menu-grid{grid-template-columns:1fr;gap:0}.service-menu-item{padding:12px 8px}.service-menu-item strong{font-size:16px}.service-menu-item img{width:36px;height:36px}.nav.open{max-height:calc(100dvh - 80px);overflow-y:auto}.privacy-banner{bottom:10px;width:calc(100% - 20px);padding:20px;grid-template-columns:1fr;gap:0;max-height:85dvh;overflow:auto}.privacy-icon{display:none}.privacy-banner h2{font-size:21px}.privacy-actions{gap:8px}.privacy-actions button{flex:1;padding:10px;font-size:12px;white-space:nowrap}}
.security-preview{background:#eaf0e3}.security-preview-inner{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:80px}.coming-soon{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:6px 10px;border:1px solid #8fa68e;border-radius:4px;margin-bottom:20px}.security-preview p{max-width:570px;color:var(--muted)}.security-scope{border-left:1px solid #a4b79d;padding-left:35px}.security-scope span{display:block;font-size:21px;padding:16px 0;border-bottom:1px solid #c9d5c1}.security-scope span:last-child{font-size:15px;border:0;color:var(--muted)}@media(max-width:760px){.security-preview-inner{grid-template-columns:1fr;gap:25px}.security-scope{padding:0;border:0}.security-scope span{font-size:18px;padding:10px 0}}
.service-menu-item{gap:17px}
.service-menu-item{gap:18px}
.service-menu-item{gap:17px}
.services-panel{width:680px;padding:8px 18px 16px;border-radius:10px;box-shadow:0 16px 38px #001e2a1a}.services-panel-top{padding:14px 10px}.services-menu-grid{gap:2px 12px;padding-top:10px}.service-menu-item{padding:14px 10px;gap:14px;border-radius:5px}.service-menu-item strong{font-size:16px;font-weight:700}.service-menu-item small{font-size:12px;line-height:1.5;margin-top:4px}@media(max-width:760px){.services-panel{width:100%;padding:6px}.services-menu-grid{gap:0}.service-menu-item{padding:12px 8px}}
.service-illustration{display:block;flex:0 0 76px;width:76px;height:76px;background-image:url('/assets/service-illustrations-v2.png');background-size:200% 300%;background-repeat:no-repeat;mix-blend-mode:multiply}.service-illustration-delivery{background-position:0 0}.service-illustration-cloud{background-position:100% 0}.service-illustration-ai{background-position:0 50%}.service-illustration-finops{background-position:100% 50%}.service-illustration-security{background-position:0 100%}.service-illustration-integration{background-position:100% 100%}.services-panel{width:740px}.service-menu-item{align-items:center;padding:12px 6px;gap:14px}.service-menu-item strong{font-size:16px}.services-menu-grid{column-gap:14px}.service-menu-item small{max-width:235px}@media(max-width:760px){.services-panel{width:100%}.service-illustration{flex-basis:62px;width:62px;height:62px}.service-menu-item{padding:10px 6px;gap:12px}}
/* Compact illustrations retain the approved silhouettes without dominating labels. */
.services-panel{width:680px}.service-illustration{flex-basis:52px;width:52px;height:52px}.service-menu-item{padding:12px 8px;gap:12px}.service-menu-item strong{font-size:15px}.service-menu-item small{font-size:12px;line-height:1.45}.services-menu-grid{gap:4px 12px}@media(max-width:760px){.services-panel{width:100%}.service-illustration{flex-basis:46px;width:46px;height:46px}.service-menu-item{padding:11px 7px;gap:12px}.service-menu-item strong{font-size:15px}}

/* Navigation disclosure must not inherit the FAQ accordion styles. */
.nav .services-menu{border:0;padding:0}.nav .services-menu>summary{font:inherit;letter-spacing:inherit;line-height:inherit;padding:0;min-height:44px}.nav .services-menu>summary:hover{text-decoration:underline;text-underline-offset:5px}

/* Homepage headline follows the Lato brand typography. */
.home-page .hero h1{font-family:Lato,Arial,sans-serif;font-weight:700;font-style:normal;letter-spacing:-.02em;line-height:1.12}

/* Homepage challenge picker: the selected challenge joins the dark detail panel like a folder tab.
   Service art is the Services menu sprite; it is drawn on white, so it sits on a white tile. */
.picker{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);margin-top:8px}
.pick-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.pick{display:flex;align-items:center;width:100%;padding:18px 22px;margin:0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:6px 0 0 6px;transition:background-color .15s}
.pick:hover{background:rgba(17,79,79,.06)}
.pick:focus-visible{outline:3px solid var(--lime);outline-offset:-3px}
.pick[aria-selected="true"]{background:var(--dark);color:#f4f8ec;border-bottom-color:transparent}
.pick-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.pick-text strong{font-size:18px;line-height:1.25;font-weight:700}
.pick-text span{font-size:13px;color:var(--muted)}
.pick[aria-selected="true"] .pick-text span{color:#a9c0b6}
.need-stage{background:var(--dark);color:#d9e5dc;border-radius:0 6px 6px 6px;display:flex}
.need{padding:44px 48px;display:flex;flex-direction:column;gap:34px;width:100%}
.need[hidden]{display:none}
.need:focus-visible{outline:3px solid var(--lime);outline-offset:-3px}
.picker.ready .need:not([hidden]){animation:need-in .22s ease-out}
@keyframes need-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.need-top{display:flex;gap:24px;align-items:flex-start}
.need-art{flex:0 0 auto;display:grid;place-items:center;width:96px;height:96px;border-radius:12px;background:#fff}
.need-art .service-illustration{flex-basis:80px;width:80px;height:80px}
.need-kicker{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--lime)}
.need h3{margin:0 0 12px;font-size:32px;line-height:1.15;color:#f4f8ec}
.need-desc{margin:0;font-size:17px;line-height:1.6;max-width:56ch;color:#c4d4c9}
.need-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.need h4{margin:0 0 10px;font-size:15px;color:#f4f8ec}
.need .list li{padding:10px 0;font-size:15px;line-height:1.5;border-top-color:#234c48}
.need .list li:before{background:var(--lime)}
.need-foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between}
.need-tech{display:flex;flex-wrap:wrap;gap:8px}
.need-tech span{padding:5px 11px;border:1px solid #2f5a55;border-radius:999px;font-size:13px;color:#b7cbc0}
.need-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.need-more{color:#f4f8ec;font-weight:700;font-size:15px}
.need-more:hover{color:var(--lime)}
@media(max-width:1100px) and (min-width:761px){.picker{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}.pick-text strong{font-size:16px}.need{padding:34px 32px}.need-cols{grid-template-columns:1fr}.need h3{font-size:27px}}
@media(max-width:760px){.picker{display:block}
.pick-list{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;border:0;margin:0 -20px;padding:2px 20px 14px;scrollbar-width:none}
.pick-list::-webkit-scrollbar{display:none}
.pick{flex:0 0 auto;width:auto;scroll-snap-align:start;padding:9px 16px;border:1px solid var(--line);border-radius:999px}
.pick[aria-selected="true"]{border-color:var(--dark)}
.pick-text strong{display:none}.pick-text span{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap}
.need-stage{border-radius:8px}
.need{padding:28px 22px;gap:26px}
.need-top{flex-direction:column;gap:16px}.need-art{width:80px;height:80px}.need-art .service-illustration{flex-basis:66px;width:66px;height:66px}
.need h3{font-size:25px}.need-desc{font-size:16px}
.need-cols{grid-template-columns:1fr;gap:20px}
.need-foot{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.picker.ready .need:not([hidden]){animation:none}}

/* Case studies (rendered from content/case-studies.json) */
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.case-grid .content-card{margin:0;display:flex;flex-direction:column;gap:6px;background:#fff}
.case-card h2{font-size:24px;line-height:1.25;margin:4px 0}
.case-card h2 a{color:inherit}
.case-card .textlink{margin-top:auto}
.case-diagram{margin:28px 0 0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:8px}
.case-diagram img{display:block;width:100%;height:auto}
.case-diagram figcaption{margin-top:10px}
@media(max-width:760px){.case-grid{grid-template-columns:1fr}.case-card h2{font-size:21px}.case-diagram{padding:8px}}

/* Technology logos inside tags (official artwork, see content/tech-logos.json) */
.tag,.need-tech span{display:inline-flex;align-items:center;gap:6px}
.tag img,.need-tech img{width:16px;height:16px;object-fit:contain;flex:0 0 auto}
.need-tech img{background:#fff;border-radius:3px;padding:1px;width:18px;height:18px}

/* Links that already draw their own line (bordered text links) or are buttons never get the hover underline too. */
.textlink:hover,.button:hover,.services-panel-top a:hover{text-decoration:none}
.textlink:hover{border-bottom-color:var(--lime)}

/* Articles (content/insights.json) */
.article-meta{margin:0 0 14px}
.prose{max-width:760px;margin-top:36px}
.prose h2{font-size:30px;line-height:1.2;margin:48px 0 14px}
.prose h3{font-size:22px;margin:32px 0 10px}
.prose p,.prose li{font-size:18px;line-height:1.7}
.prose .list{margin:8px 0 20px}
.prose .list li{padding:10px 0}
.list.numbered{counter-reset:step}
.list.numbered li{counter-increment:step}
.list.numbered li:before{content:counter(step);mask:none;background:none;color:var(--ink);font-weight:700;width:auto;flex:0 0 22px;margin-top:0}
.prose pre{background:var(--dark);color:#e1eadf;border-radius:8px;padding:20px 22px;overflow-x:auto;font-size:14px;line-height:1.6;margin:22px 0}
.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.related-card{margin-top:48px;background:#fff}
.related-card h3{margin:6px 0 8px}
.related-card h3 a{color:inherit}
@media(max-width:760px){.prose h2{font-size:25px}.prose p,.prose li{font-size:17px}.prose pre{font-size:12.5px;padding:16px;margin-left:-4px;margin-right:-4px}}

/* Inline architecture diagrams */
.case-diagram .arch-svg{display:block;width:100%;height:auto}

/* Diagram viewer: diagrams stay compact in the story; click or "Enlarge" opens them near full screen. */
.case-diagram{position:relative}
.case-diagram .diagram-open{position:absolute;inset:0;width:100%;height:100%;border:0;background:none;cursor:zoom-in;padding:0}
.case-diagram .diagram-open:focus-visible{outline:3px solid var(--lime);outline-offset:-3px;border-radius:8px}
.case-diagram .diagram-hint{position:absolute;bottom:10px;right:10px;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:15px;pointer-events:none;opacity:.85}
.case-diagram:hover .diagram-hint{opacity:1;border-color:var(--ink)}
.diagram-viewer{width:min(1700px,96vw);max-width:none;max-height:94vh;padding:0;border:0;border-radius:12px;background:#fff}
.diagram-viewer::backdrop{background:rgba(5,32,33,.72)}
.diagram-viewer .viewer-body{padding:46px 24px 20px;overflow:auto;max-height:94vh}
.diagram-viewer svg,.diagram-viewer img{display:block;width:100%;height:auto}
.diagram-viewer .viewer-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:18px;line-height:1;cursor:pointer}
.diagram-viewer .caption{margin:12px 4px 0}
@media(max-width:760px){.diagram-viewer .viewer-body{padding:44px 8px 12px}.diagram-viewer svg,.diagram-viewer img{width:1100px;max-width:none}}

/* Cards and service rows: the heading link covers the whole item, so each target has one descriptive link */
.case-card,.related-card,.service-row{position:relative}.case-card h2 a::after,.related-card h3 a::after,.service-row h3 a::after{content:"";position:absolute;inset:0}
.case-card:hover .textlink,.related-card:hover .textlink{border-bottom-color:var(--lime)}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:15px}.share a{font-weight:700;border-bottom:1px solid currentColor}.share a:hover{border-bottom-color:var(--lime);text-decoration:none}
h1 .eyebrow{line-height:1.4}
.footer-address,.contact-card address{font-style:normal;margin:6px 0 10px;opacity:.85}
.case-next{margin-top:40px;font-size:17px}.case-next a{font-weight:700;border-bottom:1px solid currentColor}.case-next a:hover{border-bottom-color:var(--lime);text-decoration:none}
