:root{--paper:#f7f6f0;--white:#fffefa;--ink:#172f38;--muted:#5d6b6d;--line:#dcded5;--orange:#ca4c27;--orange-light:#f4e0d3;--mint:#dfe9df;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:hover{text-decoration:underline;text-underline-offset:5px}button{cursor:pointer}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500;line-height:1.13;letter-spacing:-.045em}h1{font-size:clamp(3rem,5.7vw,5.45rem);margin-bottom:26px}h2{font-size:clamp(2rem,3.1vw,3rem);margin-bottom:22px}h3{font-size:1.4rem;letter-spacing:-.025em}em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--orange)}p{margin-bottom:20px}ul{padding-left:20px}.container{width:min(1240px,calc(100% - 112px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.65px;display:flex;align-items:center;gap:9px;margin-bottom:22px;text-transform:uppercase;line-height:1.6}.eyebrow>span{width:6px;height:6px;background:var(--orange);flex-shrink:0}.lead{font-size:20px;line-height:1.6;letter-spacing:-.3px}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;letter-spacing:1.4px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 23px;background:var(--ink);color:white;border:1px solid transparent;font-size:13px;font-weight:600;border-radius:4px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#294953;text-decoration:none;transform:translateY(-2px)}.button span{font-size:19px}.button-small{padding:10px 18px;font-size:12px}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:white}.text-link{display:inline-flex;gap:22px;align-items:center;font-size:13px;font-weight:600;line-height:1.5}.text-link span{font-size:19px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.header-inner{height:101px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:28px;line-height:.9;letter-spacing:-1.2px;font-weight:650}.brand:hover{text-decoration:none}.brand-mark{font-size:35px;width:45px;letter-spacing:-3px}.brand-mark>span{color:var(--orange)}.brand-sub{display:block;font-size:8px;letter-spacing:2px;margin-top:8px;font-weight:600}nav{display:flex;align-items:center;gap:32px}nav>a:not(.button){font-size:12px}nav>a[aria-current]{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:7px}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 12px;border-radius:4px;font-size:13px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;padding-block:80px 76px;align-items:center}.hero h1{font-size:clamp(3.2rem,5.65vw,5.5rem)}.hero .lead{max-width:370px;font-size:21px;margin-bottom:14px}.hero-detail{max-width:390px;color:var(--muted);font-size:14px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.hero-actions .text-link{font-size:12px;gap:12px}.location{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin-top:31px}.location span{font-size:16px}.flow-scene{position:relative;background:#e9ece3;border:1px solid #dfe3d7;border-radius:8px;padding:25px 31px 30px;min-height:469px;background-image:radial-gradient(#9daea44a .8px,transparent .8px);background-size:15px 15px}.scene-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.status-dot{width:6px;height:6px;background:#759582;border-radius:50%;box-shadow:0 0 0 4px #75958219}.source-row{display:flex;justify-content:space-between;gap:10px}.source-row>div{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--white);border:1px solid #d4dbd0;border-radius:5px;padding:12px 6px;font-size:9px;box-shadow:0 3px 0 #00000003}.source-icon{font-size:23px;line-height:1;color:#597363}.connector{height:39px;display:flex;justify-content:space-around;position:relative;margin:0 15%}.connector:before{content:"";position:absolute;top:19px;width:100%;border-top:1px solid #9fac9f}.connector span{height:20px;border-left:1px solid #9fac9f}.connector span:nth-child(2){height:39px}.engine{background:var(--ink);color:var(--paper);padding:17px 20px;border-radius:5px;display:flex;align-items:center;gap:15px}.engine-icon{font-size:30px;line-height:1;letter-spacing:-3px;padding-right:14px;border-right:1px solid #ffffff30}.engine>div{flex:1}.engine strong{display:block;font-size:12px;font-weight:500}.engine div>span{display:block;font-size:9px;color:#b5c4be;margin-top:2px}.down-line{height:25px;border-left:1px solid #9fac9f;margin-left:50%}.report{background:var(--white);border:1px solid #d4dbd0;border-radius:5px;padding:18px 20px;box-shadow:0 6px 20px #162f3808;width:88%;margin:auto}.report-heading{display:flex;align-items:center;gap:10px}.report-icon{background:#e9eddf;padding:3px 9px;border-radius:4px;font-size:21px}.report-heading strong{display:block;font-size:11px}.report-heading div>span{font-size:8px;color:var(--muted)}.report-check{margin-left:auto;font-size:10px;color:#426951}.report-bars{height:47px;display:flex;align-items:flex-end;gap:9px;border-bottom:1px solid var(--line);margin-block:16px 11px}.report-bars i{flex:1;background:#b9cbbc;height:37%;border-radius:2px 2px 0 0}.report-bars i:nth-child(2){height:63%}.report-bars i:nth-child(3){height:49%}.report-bars i:nth-child(4){height:77%}.report-bars i:nth-child(5){height:65%}.report-bars i:nth-child(6){height:85%;background:#729785}.report-bars i:nth-child(7){height:78%;background:#729785}.report-bars i:nth-child(8){height:100%;background:#729785}.report-foot{display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}.scene-note{position:absolute;right:-18px;bottom:49px;transform:rotate(-5deg);background:#ecc7a9;padding:17px 20px;display:flex;gap:12px;align-items:center;box-shadow:0 6px 14px #332f2710;font-size:11px;line-height:1.6}.scene-note>span:first-child{font-size:28px;color:var(--orange)}.demo-caption{font-size:8px;text-align:center;color:var(--muted);margin:16px 0 -10px}.tool-strip{border-block:1px solid var(--line)}.tool-strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px}.tool-strip .container>span{font-size:10px;line-height:1.6;color:var(--muted)}.tool-strip strong{font-weight:500;color:var(--ink)}.tool-strip .container>div{font-size:12px;font-weight:600;letter-spacing:-.4px}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:end;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:390px;margin-bottom:0}.section-heading .text-link{margin-top:15px}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:5px;overflow:hidden}.service-card{padding:24px 23px;position:relative;min-height:247px;border-right:1px solid var(--line);transition:background .2s;display:flex;flex-direction:column}.service-card:last-child{border:0}.service-card:hover{background:#edeedc;text-decoration:none}.card-number{font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;color:var(--orange);display:block;margin-bottom:32px}.service-card h3{font-size:18px;line-height:1.25;letter-spacing:-.6px;margin-bottom:14px}.service-card p{font-size:12px;color:var(--muted);line-height:1.6;padding-right:4px}.card-arrow{margin-top:auto;font-size:22px}.approach-band{background:var(--ink);color:var(--paper);padding:80px 0}.approach-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:100px}.approach-layout h2{font-size:clamp(2rem,3vw,2.9rem)}.approach-layout em{color:#d5c8ae}.approach-layout>div>p:not(.eyebrow){color:#b9c5c5;font-size:14px;max-width:400px}.light-link{color:#f2e6d5}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:28px;padding:25px 0;border-top:1px solid #ffffff25}.steps li>span{font-family:monospace;color:#b4c2bb;font-size:11px;margin-top:5px}.steps h3{font-size:21px;letter-spacing:-.5px;margin-bottom:10px}.steps p{font-size:13px;line-height:1.8;color:#b9c5c5;margin:0}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.case-art{display:flex;height:224px;border-radius:5px;padding:21px;position:relative;flex-direction:column;overflow:hidden;background:#e2e7dc;transition:filter .2s}.case-art:hover{filter:brightness(.96);text-decoration:none}.art-02{background:#f0e3d3}.art-03{background:#dce6e5}.art-label{font-size:9px;text-transform:uppercase;letter-spacing:1.3px}.art-bottom{font-size:9px;display:flex;justify-content:space-between;margin-top:auto;z-index:1}.art-bottom>span{font-family:monospace}.abstract-flow{position:absolute;display:flex;align-items:center;justify-content:center;gap:12px;inset:30px 18px 33px}.abstract-flow i{width:55px;height:70px;background:#f9faf2;box-shadow:5px 5px 0 #28493515;border:1px solid #8a9a8a55;border-radius:4px;transform:rotate(-9deg);position:relative}.abstract-flow i:before,.abstract-flow i:after{content:"";position:absolute;left:11px;right:11px;top:25px;border-top:3px solid #adbda8}.abstract-flow i:after{top:36px;right:20px}.abstract-flow i:nth-child(2){transform:translateY(9px) rotate(5deg)}.abstract-flow i:nth-child(3){transform:rotate(13deg)}.abstract-flow b{position:absolute;right:34px;bottom:18px;background:var(--ink);color:white;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:23px;font-weight:400}.art-02 .abstract-flow i{width:75px;height:52px;border-color:#baa384;background:#fff9f0;transform:rotate(-8deg)}.art-02 .abstract-flow i:nth-child(2){transform:translateY(-20px) rotate(3deg)}.art-02 .abstract-flow i:nth-child(3){display:none}.art-02 .abstract-flow b{background:var(--orange)}.art-03 .abstract-flow{gap:5px;transform:rotate(-12deg)}.art-03 .abstract-flow i{height:60px;width:60px;transform:none;background:#f4f8f3;box-shadow:7px 7px 0 #648c801c}.example-label{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#684c35;background:#efe6d8;padding:3px 8px;border-radius:2px;margin:23px 0 13px}.case-card h3{font-size:23px;line-height:1.2;max-width:270px;margin-bottom:12px}.case-card>p{color:var(--muted);font-size:13px;line-height:1.7}.sector-strip{border-block:1px solid var(--line);padding-block:60px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.sector-strip h2{margin-bottom:0}.sector-strip>div>p:not(.eyebrow){display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;font-size:15px;margin-bottom:15px}.sector-strip>div>p>span{color:var(--orange)}.faq-section{display:grid;grid-template-columns:1fr 1.4fr;gap:100px}details{border-bottom:1px solid var(--line);padding:20px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:15px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:24px;color:var(--orange);font-weight:300}details[open] summary:after{content:"−"}details p{font-size:14px;color:var(--muted);padding-right:30px;margin:17px 0 0}.cta{background:var(--orange);color:white;padding:56px 60px;display:flex;align-items:center;justify-content:space-between;gap:40px;border-radius:5px;margin-bottom:90px;margin-top:80px}.cta .eyebrow{color:#ffe2ce}.cta .eyebrow span{background:#ffdbbc}.cta h2{font-size:clamp(2rem,3.4vw,3.4rem);margin-bottom:16px}.cta p:not(.eyebrow){font-size:13px;margin-bottom:0;color:#fff2e6}.cta .button{flex-shrink:0}footer{border-top:1px solid var(--line)}.footer-top{padding-block:56px;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:70px}.footer-brand{font-size:39px;gap:0;margin-bottom:22px}.brand-dot{color:var(--orange)}.footer-top p{font-size:12px;color:var(--muted);margin-bottom:0}.footer-top h2{font-size:12px;letter-spacing:0;font-weight:600;margin-bottom:18px}.footer-top>div>a:not(.brand){display:block;font-size:12px;margin-bottom:9px}.footer-top .email{margin-bottom:20px!important}.email{overflow-wrap:anywhere}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-block:22px;font-size:9px;color:var(--muted)}.footer-bottom>div{display:flex;gap:22px}.page-intro{padding-block:75px 55px}.page-intro h1{max-width:950px;font-size:clamp(3rem,5.5vw,5rem)}.page-intro .lead{max-width:710px;color:var(--muted);font-size:19px}.service-index{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:50px}.service-index>a{padding:10px 14px;border:1px solid var(--line);border-radius:3px;font-size:11px}.service-index span{padding-left:10px}.service-detail{display:grid;grid-template-columns:.15fr 1.2fr .9fr;gap:40px;padding-block:55px;border-top:1px solid var(--line)}.service-number{font-family:monospace;color:var(--orange);font-size:12px}.service-detail h2{font-size:33px}.service-detail p{font-size:14px;color:var(--muted)}.service-detail .eyebrow{font-size:10px;color:var(--orange)}.tech-line{font-size:11px!important;color:var(--ink)!important;padding-top:14px}.delivery-note{background:#eeefe6;padding:27px;border-radius:4px}.delivery-note h3{font-size:16px;letter-spacing:-.2px}.delivery-note li{font-size:12px;margin-bottom:8px;color:var(--muted)}.delivery-note .text-link{font-size:12px}.note-panel{margin-top:40px;padding:45px;background:#e9ece2;border:1px solid var(--line);border-radius:5px}.note-panel h2{font-size:30px}.note-panel p{max-width:800px;color:var(--muted);font-size:15px}.notice{border-left:3px solid var(--orange);background:#f0e8dc;padding:22px 27px;margin-bottom:40px;font-size:14px}.notice p{margin:7px 0 0;color:var(--muted)}.sector-list article{display:grid;grid-template-columns:.15fr 1.3fr .5fr;align-items:start;gap:40px;border-top:1px solid var(--line);padding:40px 0}.sector-list h2{font-size:29px;margin-bottom:12px}.sector-list p{font-size:15px}.sector-list article>.text-link{margin-top:12px;justify-self:end}.sector-list .card-number{margin-top:10px}.case-detail-layout{display:grid;grid-template-columns:1fr 2.5fr;gap:80px}.case-sidebar{border-top:1px solid var(--line);font-size:13px}.case-sidebar hr{border:0;border-top:1px solid var(--line);margin-block:25px}.case-narrative section{padding-block:30px;border-top:1px solid var(--line)}.case-narrative h2{font-size:29px}.case-narrative p{color:var(--muted);font-size:16px}.back-link{margin-top:25px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.about-layout h2{font-size:40px}.about-layout>div>p:not(.lead){color:var(--muted);font-size:15px}.about-visual{position:relative;overflow:hidden;min-height:440px;padding:30px;background:#dfe5d9;border-radius:5px}.coast-lines{position:absolute;inset:0}.coast-lines i{position:absolute;width:600px;height:600px;border:1px solid #8aa28c80;border-radius:40%;left:-380px;top:-90px;transform:rotate(40deg)}.coast-lines i:nth-child(2){left:-340px}.coast-lines i:nth-child(3){left:-300px}.coast-lines i:nth-child(4){left:-260px}.map-label{position:absolute;top:49%;left:34%;background:var(--paper);padding:15px 21px;font-size:14px;border-radius:4px;box-shadow:0 10px 25px #193d3a10}.map-label>span{color:var(--orange);font-size:11px;margin-right:6px}.map-label small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.about-visual-bottom{position:absolute;bottom:25px;left:30px;font-size:8px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.principles article{border-top:1px solid var(--line);padding-top:25px}.principles h2{font-size:25px}.principles p{font-size:14px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;padding-bottom:85px}.contact-layout>div h2{font-size:27px}.contact-layout>div>p{font-size:14px;color:var(--muted)}.contact-direct{padding-block:25px;margin-block:20px;border-block:1px solid var(--line)}.contact-direct .eyebrow{margin-bottom:10px}.contact-direct .email{font-size:17px}.contact-direct p{font-size:12px;color:var(--muted);margin-top:20px;margin-bottom:0}form{background:#eeefe7;border:1px solid var(--line);border-radius:5px;padding:35px}label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}label>span{font-size:10px;color:var(--muted);font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{width:100%;padding:12px 13px;color:var(--ink);background:var(--white);border:1px solid #b8c0b6;border-radius:3px;font-size:14px;line-height:1.5;margin-bottom:20px}textarea{resize:vertical;min-height:135px}textarea::placeholder{color:#687672;font-size:13px}.form-privacy{font-size:11px;color:var(--muted);line-height:1.7}.form-privacy a,.legal a,.success-panel a:not(.button){text-decoration:underline;text-underline-offset:3px}.form-status{font-size:13px;margin:16px 0 0;color:var(--orange)}.form-status:empty{display:none}.legal{max-width:850px;padding-bottom:75px}.legal h2{font-size:25px;margin-top:35px;margin-bottom:15px}.legal p{font-size:15px;color:var(--muted)}.success-panel{padding-bottom:100px;min-height:200px}.success-panel p{max-width:640px}body:has(.success-panel) .page-intro{padding-bottom:20px}
@media(min-width:1500px){.hero{padding-block:100px}.hero h1{font-size:86px}.flow-scene{min-height:490px;padding-top:30px}.scene-top{margin-bottom:42px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}nav{gap:22px}.hero{gap:32px;padding-block:60px}.hero-actions{flex-wrap:wrap;gap:18px}.hero h1{font-size:60px}.flow-scene{padding:22px;min-height:440px}.scene-top{margin-bottom:25px}.scene-note{right:-12px}.service-card{padding:20px 17px}.service-card h3{font-size:16px}.section-heading,.approach-layout,.sector-strip,.faq-section{gap:50px}.section{padding-block:75px}.tool-strip .container{flex-wrap:wrap;justify-content:center;gap:24px}.tool-strip .container>span{margin-right:auto}.contact-layout{gap:45px}.footer-top{gap:35px}.case-art{height:195px}.abstract-flow i{width:43px}.service-detail{gap:25px}.about-layout{gap:40px}}
@media(max-width:800px){.header-inner{height:82px}.container{width:calc(100% - 40px)}.menu-toggle:not([hidden]){display:block}.js nav{display:none;position:absolute;top:81px;left:0;right:0;padding:24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 8px 15px #172f3808}.js nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:20px}nav>a:not(.button){font-size:14px}.header-inner:has(.menu-toggle[hidden]){height:auto;min-height:82px;flex-wrap:wrap;padding-block:18px}body:not(.js) nav{flex-wrap:wrap;gap:16px}.hero{grid-template-columns:1fr;padding-block:50px;gap:45px}.hero h1{font-size:clamp(3.2rem,8vw,4.4rem)}.hero-detail{max-width:500px}.hero .lead{max-width:500px}.hero-actions{flex-wrap:nowrap}.flow-scene{width:100%;max-width:530px;margin-inline:auto;min-height:465px;padding:25px 32px}.scene-top{margin-bottom:35px}.scene-note{right:-7px}.location{margin-top:24px}.tool-strip .container>span{width:100%;margin:0;text-align:center}.tool-strip .container{gap:15px 24px}.tool-strip .container>div{font-size:11px}.section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:33px}.section-heading>p,.section-heading>div>p:not(.eyebrow){max-width:600px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:210px;border-bottom:1px solid var(--line)}.service-card:nth-child(2n){border-right:0}.service-card:last-child{grid-column:1/-1;min-height:180px}.service-card h3{font-size:20px}.approach-layout{grid-template-columns:1fr;gap:40px}.approach-layout>div>p:not(.eyebrow){max-width:600px}.approach-band{padding:55px 0}.case-grid{grid-template-columns:1fr;gap:42px}.case-art{height:250px}.case-card h3{max-width:500px}.abstract-flow i{width:66px;height:85px}.abstract-flow b{right:calc(50% - 120px)}.case-card>p{max-width:500px}.case-card .example-label{margin-top:18px}.sector-strip,.faq-section{grid-template-columns:1fr;gap:30px}.cta{padding:35px;align-items:flex-start;flex-direction:column;margin-top:50px;margin-bottom:60px;gap:25px}.cta h2{font-size:36px}.footer-top{grid-template-columns:1fr 1.4fr;gap:30px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:last-child{width:100%}.page-intro{padding-block:50px 35px}.page-intro h1{font-size:clamp(2.8rem,7.6vw,4rem)}.page-intro .lead{font-size:17px}.service-detail{grid-template-columns:40px 1fr;gap:20px}.delivery-note{grid-column:2}.service-detail h2{font-size:29px}.note-panel{padding:30px}.sector-list article{grid-template-columns:32px 1fr;gap:20px}.sector-list article>.text-link{grid-column:2;justify-self:start;margin-top:0}.sector-list p{margin-bottom:10px}.case-detail-layout{grid-template-columns:1fr;gap:25px}.case-sidebar{max-width:100%}.case-sidebar hr{margin-block:14px}.case-sidebar .example-label{margin-top:15px}.case-narrative section{padding-block:25px}.about-layout{grid-template-columns:1fr;gap:35px}.about-visual{min-height:360px}.principles{grid-template-columns:1fr;gap:30px}.principles .card-number{margin-bottom:20px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-direct{margin-block:10px}.contact-layout>div>.small{max-width:600px}form{padding:27px}.legal{padding-bottom:50px}}
@media(max-width:420px){.container{width:calc(100% - 36px)}.hero h1{font-size:49px}.hero .lead{font-size:19px}.hero-actions{flex-wrap:wrap}.flow-scene{padding:20px 18px;min-height:430px}.source-row>div{font-size:8px}.engine{padding:14px}.engine strong{font-size:11px}.report{width:95%;padding:15px}.scene-note{padding:12px 15px;bottom:41px}.scene-top{margin-bottom:28px}.mono{font-size:8px}.section{padding-block:55px}.cta{padding:28px}.cta h2{font-size:31px}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.form-row{grid-template-columns:1fr;gap:0}form{padding:22px}.service-detail{grid-template-columns:1fr}.service-number{margin-bottom:0}.delivery-note{grid-column:auto}.service-detail h2{font-size:28px}.about-visual{min-height:310px}.map-label{left:22%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Readability and hierarchy refinements. Keep overrides here until the original compressed stylesheet is expanded. */
nav > a:not(.button), .footer-top > div > a:not(.brand) { font-size: 14px; }
.eyebrow, .mono, .card-number, .art-label, .art-bottom, .example-label { font-size: 11px; }
.hero .lead { max-width: 510px; font-size: 20px; line-height: 1.55; }
.hero-actions { margin-top: 36px; }
.location, .tool-strip .container > span, .tool-strip .container > div { font-size: 12px; }
.service-card { min-height: 225px; }
.service-card h3 { font-size: 21px; }
.service-card p, .case-card > p, .section-heading > p, .section-heading > div > p:not(.eyebrow) { font-size: 15px; }
.service-card:hover, .service-card:focus-visible { background: #edeedc; }
.service-index > a { font-size: 13px; }
.service-index > a:hover, .service-index > a:focus-visible { background: var(--mint); text-decoration: none; }
.service-detail p, .sector-list p, .delivery-note li { font-size: 15px; }
.tech-line, .delivery-note .text-link { font-size: 13px !important; }
.delivery-note h3 { font-size: 18px; }
.contact-layout { grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }
.contact-layout > div > p { font-size: 16px; }
.contact-direct { background: #e9ece2; border: 1px solid var(--line); border-radius: 5px; margin: 0; padding: 34px; }
.contact-direct h2 { margin-bottom: 14px; }
.contact-direct p { font-size: 14px; line-height: 1.7; margin: 0 0 22px; }
.contact-direct .button { margin-bottom: 18px; }
.contact-direct .email { display: block; font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }
.contact-direct .email + p { margin-top: 22px; }
.contact-direct p:last-child { margin-bottom: 0; }
.contact-direct p a { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 801px) {
  .service-grid { grid-template-columns: repeat(6, 1fr); }
  .service-card { grid-column: span 2; border-bottom: 1px solid var(--line); }
  .service-card:nth-child(3) { border-right: 0; }
  .service-card:nth-child(n+4) { grid-column: span 3; border-bottom: 0; }
}
@media (max-width: 800px) {
  .contact-layout { grid-template-columns: 1fr; gap: 32px; }
  .contact-direct { order: -1; }
  .service-card { min-height: 195px; }
  .tool-strip .container > span { font-size: 12px; }
}
@media (max-width: 600px) {
  .service-grid { grid-template-columns: 1fr; }
  .service-card, .service-card:last-child { grid-column: auto; min-height: 0; padding: 24px; border-right: 0; border-bottom: 1px solid var(--line); }
  .service-card:last-child { border-bottom: 0; }
  .card-number { margin-bottom: 17px; }
  .service-card h3 { margin-bottom: 8px; }
  .service-card p { margin-bottom: 14px; }
  .hero .lead { font-size: 19px; }
  .contact-direct { padding: 25px; }
}
/* Wright Automation / editorial field-notes system */
@font-face {
  font-family: "IBM Plex Sans";
  src: url("/assets/fonts/ibm-plex-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("/assets/fonts/newsreader-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}
:root {
  --paper: #f4f1e9;
  --white: #fffcf4;
  --ink: #173132;
  --muted: #4f6260;
  --line: #cdd4c9;
  --orange: #b94729;
  --orange-light: #f5d9c4;
  --mint: #e2e9df;
  --font: "IBM Plex Sans", sans-serif;
  --display: "Newsreader", Georgia, serif;
}
body { background: var(--paper); }
h1, h2, h3 { font-family: var(--display); font-weight: 500; letter-spacing: -.035em; }
h1 { line-height: .99; }
h2 { line-height: 1.06; }
em { font-family: var(--display); font-weight: 400; }
.site-header { position: sticky; top: 0; background: rgb(244 241 233 / 93%); backdrop-filter: blur(14px); }
.header-inner { height: 84px; }
.brand { font-family: var(--font); letter-spacing: -.055em; }
nav > a:not(.button) { position: relative; text-decoration: none; }
nav > a:not(.button)::after { content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 1px; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
nav > a:not(.button):hover::after, nav > a:not(.button):focus-visible::after, nav > a[aria-current]::after { transform: scaleX(1); }
.button { border-radius: 2px; letter-spacing: .01em; }
.eyebrow, .mono, .card-number, .art-label, .example-label { letter-spacing: .14em; }
.hero { position: relative; grid-template-columns: 1fr .9fr; gap: clamp(32px, 6vw, 100px); padding-block: clamp(68px, 7vw, 112px); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(90deg, transparent 0 calc(25% - 1px), rgb(23 49 50 / 4%) calc(25% - 1px) 25%); pointer-events: none; }
.hero h1 { font-size: clamp(4rem, 7.1vw, 7.6rem); letter-spacing: -.053em; line-height: .94; }
.hero .lead { max-width: 520px; font-size: clamp(19px, 1.55vw, 23px); }
.hero-actions { margin-top: 42px; }
.hero-chat { min-width: 0; background: var(--ink); color: var(--white); border: 1px solid #315252; box-shadow: 15px 15px 0 rgb(23 49 50 / 10%); }
.hero-chat-top, .hero-chat-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; font-size: 10px; letter-spacing: .12em; color: #bbd0c4; }
.hero-chat-top { border-bottom: 1px solid #41605a; }
.hero-chat-top > span:last-child { color: #f2ae8b; }
.hero-chat-pause { margin-left: auto; padding: 8px 10px; border: 1px solid #63817a; background: transparent; color: var(--white); font: inherit; font-size: 10px; letter-spacing: 0; cursor: pointer; }
.hero-chat-pause:hover { background: #28484a; }
.hero-chat-pause:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.hero-chat-pause[hidden] { display: none; }
.hero-chat-status { display: flex; align-items: center; gap: 9px; min-height: 42px; padding: 10px 20px; border-bottom: 1px solid #41605a; color: #b9cabe; font-size: 11px; }
.hero-chat-status-dot { flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.hero-chat-thread { display: flex; flex-direction: column; padding: 26px 24px 30px; background: linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px); background-size: 32px 32px; }
.hero-chat-question { align-self: flex-end; max-width: 88%; padding: 18px 21px; border: 1px solid #78928c; border-radius: 13px 13px 2px 13px; background: #28484a; }
.hero-chat-question > span, .hero-chat-answer > span, .hero-chat-frame-label { color: #adc8ba; font-size: 10px; letter-spacing: .13em; }
.hero-chat-question p { color: var(--white); font-size: 17px; line-height: 1.45; margin: 8px 0 0; }
.hero-chat-frames { display: grid; min-width: 0; margin-top: 20px; }
.hero-chat-processing, .hero-chat-answer { grid-area: 1 / 1; min-width: 0; }
.hero-chat-processing { align-self: start; padding: 18px; border: 1px solid #78928c; background: #213b3d; }
.hero-chat-processing > p { margin: 9px 0 0; color: #d6e2d8; font-size: 12px; }
.hero-chat-query { margin-top: 18px; border: 1px solid #53655f; background: #142628; }
.hero-chat-query-heading { display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px; border-bottom: 1px solid #53655f; color: #f2ae8b; font-size: 9px; letter-spacing: .09em; }
.hero-chat-query pre { margin: 0; padding: 14px 12px; white-space: normal; }
.hero-chat-query code { color: #e4eee5; font-size: 11px; line-height: 1.65; }
.hero-chat-query code span { display: block; overflow-wrap: anywhere; }
.hero-chat-processing .hero-chat-query-note { color: #adc8ba; font-size: 10px; }
.hero-chat-answer { align-self: start; max-width: 100%; padding: 20px 22px; border-left: 3px solid var(--orange); border-radius: 2px 13px 13px 13px; background: #f8f5ec; }
.hero-chat-answer > span { color: var(--orange); }
.hero-chat-answer p { color: var(--ink); font-family: var(--display); font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.2; margin: 8px 0 19px; }
.hero-chat-source { padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.hero-chat-bottom { border-top: 1px solid #41605a; letter-spacing: 0; }
.hero-chat-bottom span:first-child { color: #f2ae8b; letter-spacing: .1em; }
.hero-chat-replay { border: 0; padding: 5px 0; background: transparent; color: #f2ae8b; font: inherit; font-size: 11px; cursor: pointer; }
.hero-chat-replay:hover { text-decoration: underline; text-underline-offset: 4px; }
.hero-chat-replay:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.hero-chat-replay[hidden] { display: none; }
.js .hero-chat[data-workflow-state]:not([data-workflow-state="static"]) [data-appear]:not(.is-shown) { visibility: hidden; opacity: 0; pointer-events: none; }
.hero-chat[data-workflow-state="static"] .hero-chat-processing, .hero-chat:not([data-workflow-state]) .hero-chat-processing { display: none; }
.hero-chat-choices { display: none; gap: 4px; padding: 8px 12px; border-bottom: 1px solid #41605a; }
.js .hero-chat-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hero-chat-choices button { min-width: 0; min-height: 40px; border: 1px solid #41605a; background: #213b3d; color: #d6e2d8; font: inherit; font-size: 11px; cursor: pointer; }
.hero-chat-choices button[aria-pressed="true"] { border-color: var(--orange); color: #fff; background: #315252; }
.hero-chat-choices button:hover { border-color: #adc8ba; }
.hero-chat-choices button:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.hero-story { display: flex; flex-direction: column; min-height: 415px; }
.hero-story:not(.is-active) { display: none; }
.hero-chat-answer h3 { margin: 9px 0 14px; color: var(--ink); font-family: var(--display); font-size: clamp(1.6rem, 2.2vw, 2rem); font-weight: 500; line-height: 1.05; }
.hero-result-table table { width: 100%; border-collapse: collapse; color: var(--ink); font-size: 12px; text-align: left; }
.hero-result-table caption { padding-bottom: 7px; color: var(--muted); font-size: 10px; text-align: left; }
.hero-result-table thead { border-block: 1px solid var(--line); color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.hero-result-table th, .hero-result-table td { padding: 9px 7px 9px 0; border-bottom: 1px solid var(--line); }
.hero-result-table th { font-weight: 600; }
.hero-chat-answer .hero-result-unit { margin: 0 0 16px; color: var(--muted); font-family: inherit; font-size: 11px; line-height: 1.4; }
.hero-result-chart { display: grid; gap: 12px; margin: 0 0 12px; padding: 0; list-style: none; color: var(--ink); }
.hero-result-chart li { display: grid; grid-template-columns: minmax(68px, 1fr) minmax(0, 2fr) auto; align-items: center; gap: 9px; font-size: 11px; }
.hero-result-chart li strong { min-width: 30px; text-align: right; }
.hero-result-track { display: block; height: 13px; background: #e1e8dd; }
.hero-result-track i { display: block; height: 100%; background: var(--orange); transform-origin: left; }
.hero-result-chart li:nth-child(1) i { width: 100%; }
.hero-result-chart[data-chart="sales"] li:nth-child(2) i { width: 87%; }
.hero-result-chart[data-chart="sales"] li:nth-child(3) i { width: 78%; }
.hero-result-chart[data-chart="adverts"] li:nth-child(2) i { width: 76%; }
.hero-result-chart[data-chart="adverts"] li:nth-child(3) i { width: 50%; }
.tool-strip { background: var(--ink); color: var(--paper); border: 0; }
.tool-strip .container > span { color: #bfcfbe; }
.tool-strip strong { color: var(--white); }
.section-heading h2, .approach-layout h2, .sector-strip h2, .faq-section h2 { font-size: clamp(2.8rem, 4.2vw, 4.7rem); }
.service-grid { border-radius: 0; }
.service-card { transition: background .22s ease, padding .22s ease; }
.service-card h3 { font-size: clamp(1.65rem, 2vw, 2.2rem); line-height: 1.05; }
.service-card:hover, .service-card:focus-visible { padding-left: 30px; background: #e5ebe1; }
.service-card:hover .card-arrow, .service-card:focus-visible .card-arrow { transform: translate(4px, -4px); }
.card-arrow { transition: transform .2s ease; }
.approach-band { background: #173132; }
.steps h3 { font-size: 1.7rem; }
.case-card h3, .service-detail h2 { font-size: clamp(1.9rem, 2.5vw, 2.7rem); }
.case-art, .cta, .note-panel, .delivery-note, .contact-direct { border-radius: 2px; }
.case-art { filter: saturate(.75); }
.art-04 { background: #e7e9da; }
.art-05 { background: #e7e2d6; }
.cta { background: #b94729; }
.page-intro h1 { font-size: clamp(3.6rem, 6vw, 6.4rem); }
.service-index > a { border-radius: 0; }
.contact-direct h2, .about-layout h2, .sector-list h2 { font-size: 2.3rem; }

/* Message-to-database workflow on the services page. */
.message-data-band { padding: clamp(76px, 8vw, 130px) 0; background: #e9ece3; border-block: 1px solid var(--line); scroll-margin-top: 90px; }
.message-data-layout { display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr); gap: clamp(38px, 6vw, 95px); align-items: center; }
.message-data-copy h2 { font-size: clamp(3.25rem, 5.6vw, 6.6rem); line-height: .98; margin-bottom: 28px; }
.message-data-copy > p:not(.eyebrow) { max-width: 490px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.message-data-copy .message-lede { color: var(--ink) !important; font-size: 19px !important; line-height: 1.55 !important; }
.message-guards { display: grid; gap: 10px; list-style: none; padding: 21px 0 24px; margin: 0; border-top: 1px solid var(--line); }
.message-guards li { display: flex; align-items: baseline; gap: 13px; font-size: 14px; }
.message-guards li::before { content: "↗"; color: var(--orange); font-size: 17px; }
.message-data-copy .text-link { border-bottom: 1px solid var(--orange); padding-bottom: 7px; }
.message-ledger { min-width: 0; background: var(--ink); color: var(--white); border: 1px solid #315252; box-shadow: 13px 13px 0 rgb(23 49 50 / 13%); }
.ledger-top, .ledger-bottom { display: flex; justify-content: space-between; gap: 14px; padding: 17px 22px; color: #c3d0c2; font-size: 10px; letter-spacing: .13em; }
.ledger-top { border-bottom: 1px solid #41605a; }
.ledger-top span:last-child { color: #f4b290; text-align: right; }
.ledger-thread { padding: 28px; background: repeating-linear-gradient(0deg, transparent 0 47px, rgb(255 255 255 / 4%) 47px 48px); }
.ledger-question { width: fit-content; max-width: 86%; margin-left: auto; padding: 17px 21px; border: 1px solid #73918a; background: #254347; }
.ledger-question > span, .ledger-answer > span, .ledger-route span, .ledger-source { font-size: 10px; letter-spacing: .12em; color: #a6c5b9; }
.ledger-question p { margin: 7px 0 0; color: var(--white); font-size: 17px; line-height: 1.45; }
.ledger-route { display: grid; gap: 6px; width: fit-content; margin: 20px auto 20px 16%; padding-left: 15px; border-left: 2px solid var(--orange); }
.ledger-route span { color: #b9ccc2; }
.ledger-answer { max-width: 94%; padding: 23px; background: #f8f5ec; color: var(--ink); border-left: 3px solid var(--orange); }
.ledger-answer > span { color: var(--orange); }
.ledger-answer h3 { font-size: clamp(1.8rem, 2.4vw, 2.35rem); margin: 9px 0; }
.ledger-answer > p:not(.ledger-source) { font-size: 13px; color: var(--muted); margin-bottom: 15px; }
.ledger-answer .ledger-source { margin: 14px 0 0; color: var(--muted); }
.ledger-bottom { border-top: 1px solid #41605a; font-size: 11px; letter-spacing: 0; }
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > .eyebrow, .hero-copy > h1, .hero-copy > .lead, .hero-actions, .hero-chat { animation: field-enter .65s both; }
  .hero-copy > h1 { animation-delay: .09s; }
  .hero-copy > .lead { animation-delay: .18s; }
  .hero-actions { animation-delay: .27s; }
  .hero-chat { animation-delay: .32s; }
  .hero-chat[data-workflow-state="playing"] .hero-chat-status-dot { animation: desk-pulse .8s ease-in-out infinite alternate; }
  .hero-chat [data-appear].is-shown { animation: chat-enter .36s both; }
  .hero-chat-answer.is-shown .hero-result-chart li i { animation: chart-grow .7s cubic-bezier(.2,.7,.2,1) both; }
  .hero-chat-answer.is-shown .hero-result-chart li:nth-child(2) i { animation-delay: .12s; }
  .hero-chat-answer.is-shown .hero-result-chart li:nth-child(3) i { animation-delay: .24s; }
  .hero-chat[data-workflow-state="paused"] [data-appear], .hero-chat[data-workflow-state="offscreen"] [data-appear], .hero-chat[data-workflow-state="hidden"] [data-appear] { animation-play-state: paused; }
  .hero-chat[data-workflow-state="paused"] .hero-result-chart i, .hero-chat[data-workflow-state="offscreen"] .hero-result-chart i, .hero-chat[data-workflow-state="hidden"] .hero-result-chart i { animation-play-state: paused; }
  .ledger-question, .ledger-answer { transition: transform .24s ease; }
  .message-ledger:hover .ledger-question { transform: translateX(-5px); }
  .message-ledger:hover .ledger-answer { transform: translateX(5px); }
}
@keyframes field-enter { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes chat-enter { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes desk-pulse { from { opacity: .35; transform: scale(.8); } to { opacity: 1; transform: scale(1.25); } }
@keyframes chart-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (max-width: 1100px) {
  .hero h1 { font-size: clamp(3.7rem, 6vw, 5.6rem); }
  .message-data-layout { gap: 38px; }
}
@media (max-width: 800px) {
  .header-inner { height: 76px; }
  .js nav { top: 75px; }
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero h1 { font-size: clamp(3.9rem, 8vw, 5.6rem); }
  .message-data-layout { grid-template-columns: 1fr; gap: 38px; }
  .message-data-copy h2 { max-width: 620px; }
  .message-ledger { max-width: 640px; }
  .menu-toggle > span, .button > span[aria-hidden="true"], .text-link > span[aria-hidden="true"],
  .service-card .card-arrow, .service-index a > span, .location > span,
  .sector-strip p > span, .case-art .abstract-flow b, .map-label > span,
  .hero-chat-replay > span { display: none; }
  .message-guards li::before { content: none; }
}
@media (max-width: 600px) {
  .hero-chat-top > span:last-child { display: none; }
  .hero-chat-choices { padding: 8px; }
  .hero-chat-choices button { padding: 7px 4px; font-size: 10px; line-height: 1.2; }
  .hero-story { min-height: 465px; }
  .hero-result-chart li { grid-template-columns: minmax(60px, 1fr) minmax(0, 1.5fr) auto; gap: 6px; }
  .hero-chat-thread { padding: 20px 14px 24px; }
  .hero-chat-question { max-width: 95%; padding: 16px; }
  .hero-chat-processing { padding: 15px 12px; }
  .hero-chat-answer { padding: 18px 16px; }
  .hero-chat-bottom { flex-wrap: wrap; }
  .hero-chat-bottom span:first-child { flex-basis: 100%; }
  .hero h1 { font-size: clamp(3.25rem, 12vw, 4.5rem); }
  .page-intro h1 { font-size: clamp(3rem, 10vw, 4.4rem); }
  .section-heading h2, .approach-layout h2, .sector-strip h2, .faq-section h2 { font-size: 2.8rem; }
  .message-data-copy h2 { font-size: clamp(3.2rem, 11vw, 4.6rem); }
  .ledger-top { padding: 14px; }
  .ledger-thread { padding: 19px 14px; }
  .ledger-answer { max-width: 100%; padding: 16px; }
  .ledger-question { max-width: 95%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0s !important; transition-duration: 0s !important; scroll-behavior: auto !important; }
}
@media print{.site-header,footer,.cta,.hero-actions,.menu-toggle{display:none}.container{width:100%}body{background:white;color:black}.section,.page-intro{padding-block:20px}.case-grid,.service-grid{display:block}.case-card,.service-card{break-inside:avoid}.hero{display:block}a{text-decoration:underline}}
