:root{--paper:#f4f7f6;--white:#fff;--ink:#192a31;--slate:#41545b;--muted:#687a80;--teal:#2e6563;--teal-deep:#214d4c;--mist:#dbe8e5;--line:#cbd7d4;--brass:#a57b43;--navy:#1f343e;--display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--body:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--shell:min(1180px,calc(100% - 48px))}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--brass);outline-offset:4px}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:10px 16px;background:var(--white);color:var(--ink);font-weight:700;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.shell{width:var(--shell);margin-inline:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(244,247,246,.94);border-bottom:1px solid rgba(203,215,212,.85);backdrop-filter:blur(14px)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{width:31px;height:35px;display:grid;place-items:center;border:1px solid var(--teal);color:var(--teal-deep);font-family:var(--display);font-size:19px;line-height:1;box-shadow:4px 4px 0 var(--mist)}.brand-name{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:30px}.site-nav a{color:var(--slate);font-size:14px;font-weight:600;text-decoration:none}.site-nav a:hover{color:var(--teal-deep)}.site-nav .nav-contact{padding:9px 15px;border:1px solid var(--teal);color:var(--teal-deep)}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font:700 13px/1 var(--body);letter-spacing:.06em;text-transform:uppercase}.menu-lines{display:grid;gap:5px;width:22px}.menu-lines i{display:block;height:1px;background:currentColor}
.hero{padding:76px 0 0}.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:center;gap:clamp(52px,7vw,100px)}.hero-copy{max-width:650px;padding-bottom:22px}.eyebrow{margin:0 0 20px;color:var(--teal);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.13em;line-height:1.5;text-transform:uppercase}.eyebrow-light{color:#b9dbd6}h1,h2,h3{margin-top:0;color:var(--ink)}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.035em}h1{margin-bottom:26px;max-width:680px;font-size:clamp(50px,6.2vw,79px);line-height:.98}h2{font-size:clamp(36px,4vw,55px);line-height:1.06}h3{font-size:19px;line-height:1.35}.hero-intro{max-width:620px;margin:0;color:var(--slate);font-size:clamp(17px,1.6vw,20px);line-height:1.7}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;padding:12px 23px;border:1px solid transparent;font-size:14px;font-weight:700;letter-spacing:.025em;text-decoration:none}.button-primary{background:var(--teal-deep);color:var(--white)}.button-primary:hover{background:var(--ink)}.button-light{background:var(--white);color:var(--teal-deep)}.button-light:hover{background:var(--mist)}.text-link{color:var(--teal-deep);font-size:14px;font-weight:700;text-underline-offset:5px}.text-link span{margin-left:5px}.hero-audience{margin:24px 0 0;color:var(--muted);font-size:13px}.hero-visual{margin:0}.image-frame{position:relative;background:var(--mist)}.image-frame:after{content:"";position:absolute;right:-13px;bottom:-13px;z-index:-1;width:72%;height:68%;border-right:13px solid var(--mist);border-bottom:13px solid var(--mist)}.image-frame img{width:100%;aspect-ratio:3/2;object-fit:cover}.hero-visual figcaption{margin-top:21px;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.03em}
.fact-row{display:grid;grid-template-columns:1.4fr .6fr 1fr;margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fact-row>div{padding:21px 28px 21px 0}.fact-row>div+div{padding-left:28px;border-left:1px solid var(--line)}.fact-row span{display:block;margin-bottom:2px;color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.fact-row strong,.fact-row a{font-size:14px;font-weight:700}.fact-row a{color:var(--teal-deep);text-underline-offset:4px;overflow-wrap:anywhere}.section{padding:clamp(88px,10vw,140px) 0}.section-grid{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(64px,9vw,130px)}.section-heading h2{margin-bottom:26px}.section-heading>p:last-child{color:var(--slate);max-width:470px}.service-list{border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,1.3fr);gap:34px;padding:28px 0;border-bottom:1px solid var(--line)}.service-item h3{margin:0;font-size:17px}.service-item p{margin:0;color:var(--slate)}
.situations{background:var(--navy);color:var(--white)}.situations-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(70px,10vw,150px)}.situations h2{color:var(--white)}.situations-copy p:last-child{max-width:470px;color:#ccd8da;font-size:18px}.situation-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.2)}.situation-list li{display:grid;grid-template-columns:15px 1fr;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:clamp(17px,2vw,21px)}.situation-list span{width:9px;height:9px;background:#87bcb4;transform:rotate(45deg)}
.working{background:var(--white)}.working-intro{display:grid;grid-template-columns:1fr .72fr;align-items:end;gap:80px;margin-bottom:64px}.working-intro h2{max-width:650px;margin-bottom:0}.working-summary p{margin:0;color:var(--slate)}.working-summary .automation-note{margin-top:18px;padding-left:17px;border-left:2px solid var(--mist);color:var(--muted);font-size:14px}.working-steps{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.working-steps li{min-width:0;padding:32px 34px 36px 0}.working-steps li+li{padding-left:34px;border-left:1px solid var(--line)}.step-label{display:block;margin-bottom:42px;color:var(--teal);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.working-steps h3{margin-bottom:14px}.working-steps p{margin:0;color:var(--slate)}
.about{padding-bottom:0}.about-panel{display:grid;grid-template-columns:.55fr 1.45fr;gap:60px;padding:54px 0;border-top:1px solid var(--line)}.about-panel h2{margin-bottom:23px;font-size:clamp(34px,4vw,50px)}.about-panel div p{max-width:720px;margin:0;color:var(--slate);font-size:18px}.contact{padding-bottom:88px}.contact-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.55fr);align-items:end;gap:60px;padding:clamp(40px,6vw,72px);background:var(--teal-deep);color:var(--white)}.contact-panel h2{margin-bottom:22px;color:var(--white)}.contact-panel p:last-child{max-width:650px;margin-bottom:0;color:#d8e4e2}.contact-action{display:flex;flex-direction:column;align-items:flex-start;gap:19px}.contact-email{color:#d8e4e2;font-size:13px;text-underline-offset:5px;overflow-wrap:anywhere}
.site-footer{padding:64px 0 24px;background:var(--ink);color:#d5dddf}.footer-grid{display:grid;grid-template-columns:1fr .75fr 1.25fr;gap:56px;padding-bottom:52px}.footer-brand{color:var(--white)}.footer-brand .brand-mark{border-color:#89aaa8;color:var(--white);box-shadow:4px 4px 0 rgba(137,170,168,.22)}.footer-company{margin:18px 0 0;color:#9baaad;font-family:var(--mono);font-size:10px;letter-spacing:.08em}.footer-contact span{display:block;margin-bottom:10px;color:#9baaad;font-size:12px}.footer-contact a{color:var(--white);font-size:13px;text-underline-offset:5px;overflow-wrap:anywhere}.footer-note{max-width:430px;margin:0;color:#aebbbd;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);color:#899a9e;font-family:var(--mono);font-size:10px;letter-spacing:.04em}
@media(max-width:940px){.menu-toggle{display:flex;align-items:center;gap:12px;padding:12px 0;cursor:pointer}.site-nav{position:absolute;top:76px;right:0;left:0;display:none;align-items:stretch;gap:0;padding:12px 24px 24px;background:var(--paper);border-bottom:1px solid var(--line)}.site-nav.is-open{display:grid}.site-nav a{padding:15px 0;border-bottom:1px solid var(--line)}.site-nav .nav-contact{margin-top:14px;padding:13px 15px;text-align:center;border:1px solid var(--teal)}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:720px}.hero-visual{max-width:760px}.section-grid,.situations-grid{grid-template-columns:1fr;gap:55px}.working-intro{grid-template-columns:1fr;gap:28px}.footer-grid{grid-template-columns:1fr 1fr}.footer-note{grid-column:1/-1}}
@media(max-width:680px){:root{--shell:min(100% - 32px,1180px)}html{scroll-padding-top:70px}.header-inner{min-height:68px}.brand-name{font-size:12px}.site-nav{top:68px}.hero{padding-top:52px}h1{font-size:clamp(43px,13.5vw,60px)}h2{font-size:clamp(34px,10vw,45px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:19px}.button{width:100%}.fact-row{grid-template-columns:1fr;margin-top:54px}.fact-row>div{padding:16px 0}.fact-row>div+div{padding-left:0;border-top:1px solid var(--line);border-left:0}.section{padding:80px 0}.service-item{grid-template-columns:1fr;gap:10px}.working-steps{grid-template-columns:1fr}.working-steps li{padding:27px 0 30px}.working-steps li+li{padding-left:0;border-top:1px solid var(--line);border-left:0}.step-label{margin-bottom:20px}.about{padding-bottom:0}.about-panel{grid-template-columns:1fr;gap:15px;padding:42px 0}.contact{padding-bottom:48px}.contact-panel{grid-template-columns:1fr;gap:40px;padding:35px 24px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-note{grid-column:auto}.footer-bottom{flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
