@charset "UTF-8";
.brand-wordmark{display:block;line-height:1.15}.brand-wordmark small{display:block;font:600 9px/1.3 "Segoe UI",Arial,sans-serif;letter-spacing:.21em;margin-top:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.architecture div span{color:#456652!important}
:root{--ink:#172d31;--muted:#536569;--paper:#f7f8f5;--white:#fff;--line:#d9e1dc;--dark:#102629;--accent:#a8e4c4;--green:#246653;--max:1320px;--font:"Segoe UI",Arial,sans-serif;--mono:Consolas,"Liberation Mono",monospace;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;font:16px/1.65 var(--font);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.12;letter-spacing:-.045em;font-weight:600}h1{font-size:clamp(2.65rem,4.8vw,4.6rem)}h2{font-size:clamp(2rem,3.4vw,3.2rem)}h3{font-size:1.42rem;line-height:1.25}p{color:var(--muted)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{max-width:100%;display:block}img{height:auto}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #39866b;outline-offset:5px}::selection{background:var(--accent);color:var(--dark)}.wrap{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.eyebrow,.micro{font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:400}.eyebrow{color:var(--green);margin-bottom:20px;display:flex;gap:12px;align-items:center}.eyebrow:before{content:"";width:7px;height:7px;background:currentColor}.micro{color:var(--muted)}.tag{display:inline-block;padding:5px 10px;background:#eaf0ea;border:1px solid var(--line);font-size:.73rem;line-height:1.3;border-radius:3px}.tags{display:flex;gap:7px;flex-wrap:wrap}.arrow{display:inline-block;margin-left:12px;font-size:1.15em;line-height:1}.btn{min-height:48px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;background:var(--dark);color:white;border:1px solid var(--dark);border-radius:3px;font-size:.875rem;font-weight:600;line-height:1.4;transition:background .18s,transform .18s}.btn:hover{background:#285447;transform:translateY(-2px)}.btn.outline{background:transparent;color:var(--ink);border-color:#a5b5ad}.btn.outline:hover{background:#e9f0eb}.btn.mint{background:var(--accent);border-color:var(--accent);color:var(--dark)}.btn.mint:hover{background:#c4f1d9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:.88rem;font-weight:600;border-bottom:1px solid #9faea6;padding-bottom:4px}.text-link:hover{color:var(--green)}.skip{position:fixed;top:8px;left:8px;padding:12px 24px;background:var(--accent);color:var(--dark);z-index:100;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:40;background:#f7f8f5f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:1.4rem;letter-spacing:-.055em;font-weight:700}.brand svg{width:29px;height:32px}.brand span span{font-weight:400}.nav{display:flex;align-items:center;gap:23px}.nav>a{font-size:.81rem;line-height:1.5;padding-block:6px}.nav>a:hover{color:var(--green)}.nav>a[aria-current=page]{box-shadow:0 2px var(--green)}.nav>.nav-contact{padding:11px 15px;border:1px solid #b6c4bd;border-radius:3px}.menu-toggle{display:none;background:transparent;border:1px solid #b6c4bd;width:44px;height:44px;border-radius:3px;color:var(--ink);align-items:center;justify-content:center}.menu-toggle svg{width:23px;height:23px}.crumbs{display:flex;flex-wrap:wrap;gap:9px;font-size:.75rem;padding-top:24px;color:var(--muted)}.crumbs a:hover{text-decoration:underline}
.hero{background:var(--dark);color:#f3f6f0;padding:85px 0 0;position:relative;overflow:hidden}.hero .eyebrow{color:var(--accent)}.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:30px}.hero h1{font-size:clamp(3rem,5vw,5rem);line-height:1.06;letter-spacing:-.055em}.hero h1 span{color:var(--accent)}.hero-copy>p{color:#b8ccc6;font-size:1.06rem;line-height:1.8;max-width:525px;margin-top:25px}.hero .btn.outline{border-color:#55716a;color:#f3f6f0}.hero .btn.outline:hover{background:#23413e}.hero-visual{padding:0;min-width:0}.hero-visual img{width:100%;aspect-ratio:1.2;object-fit:contain}.hero-visual figcaption{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #3a5752;padding-top:14px;color:#adc6be;font-size:.66rem;font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase}.hero-ribbon{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;border-top:1px solid #3a5752}.hero-ribbon a{padding:23px 0;display:flex;align-items:center;justify-content:space-between;font-size:.82rem;margin-right:24px;color:#d0e0d8}.hero-ribbon a:hover{color:var(--accent)}.hero-ribbon a span:first-child{font:11px var(--mono);color:#8fb1a4;margin-right:12px}.hero-ribbon a span:last-child{margin-left:auto}
.section{padding:96px 0;border-bottom:1px solid var(--line)}.section.white{background:var(--white)}.section.tint{background:#edf2ed}.section.dark{background:var(--dark);color:white}.section.dark p{color:#b8ccc6}.section.dark .eyebrow{color:var(--accent)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:42px}.section-head h2{max-width:730px}.section-head>p{max-width:390px}.section-head .text-link{white-space:nowrap}.grid{display:grid;gap:22px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);padding:30px;border-radius:4px;min-width:0;transition:border-color .18s,transform .18s}.card:hover{border-color:#6c9b85;transform:translateY(-3px)}.card .card-icon{width:42px;height:42px;color:var(--green);margin-bottom:34px}.card .card-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}.card .micro{margin-bottom:16px}.card h3{margin-bottom:15px}.card p{font-size:.9rem}.card .card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:30px;font-size:.79rem;font-weight:600}.card .tags{margin-top:24px}.card-label{color:var(--green);font:11px var(--mono);text-transform:uppercase;letter-spacing:.04em}.split{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.split h2{margin-bottom:25px}.split p+p{margin-top:18px}.split .text-link{margin-top:24px}.visual-panel{background:#e4ede5;border:1px solid #cedbd2;border-radius:4px;overflow:hidden}.visual-panel img{width:100%;aspect-ratio:1.4;object-fit:contain;padding:12px}.visual-panel figcaption{padding:15px 22px;border-top:1px solid #c6d4cb;font-size:.75rem;color:#456557}.list-check{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}.list-check li{padding-left:23px;position:relative;color:var(--muted);font-size:.91rem}.list-check li:before{content:"↗";position:absolute;left:0;color:var(--green)}
.flow-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:32px}.flow-tabs button{background:#203c39;color:#b7cfc3;border:1px solid #3a5752;padding:10px 17px;font-size:.8rem;border-radius:3px}.flow-tabs button[aria-selected=true]{background:var(--accent);color:var(--dark);border-color:var(--accent)}.flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #3a5752;border-radius:4px;overflow:hidden}.flow-step{padding:26px 18px;position:relative;border-right:1px solid #3a5752}.flow-step:last-child{border:0}.flow-step .num{color:#85bca2;font:11px var(--mono);display:flex;justify-content:space-between;margin-bottom:25px}.flow-step h3{font-size:1rem;letter-spacing:-.025em;margin-bottom:12px;line-height:1.4}.flow-step p{font-size:.76rem;line-height:1.7}.flow-note{margin-top:24px;max-width:950px;font-size:.85rem;min-height:2.8em}.process-step{border-top:1px solid #9aaea1;padding:24px 0}.process-step .micro{margin-bottom:22px;color:var(--green)}.process-step h3{margin-bottom:14px}.process-step p{font-size:.9rem}.industry-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.industry-list a{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0;font-size:.97rem;font-weight:500}.industry-list a:hover{color:var(--green)}.stack{display:flex;gap:0;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:40px}.stack span{font:13px var(--mono);padding:22px 28px 0 0;color:var(--muted)}.project-card{padding:0}.project-card .project-visual{background:#e4ede5;border-bottom:1px solid var(--line);height:220px;padding:12px}.project-card .project-visual img{width:100%;height:100%;object-fit:contain}.project-card .project-body{padding:28px;display:flex;flex-direction:column;flex:1}.project-card .card-label{margin-bottom:16px}.project-card h3{font-size:1.3rem}.notice{background:#e9f0ea;border-left:3px solid #618b74;padding:20px 24px;font-size:.85rem;color:#435e50;margin-bottom:30px}.cta{padding:75px 0;background:var(--dark);color:#f3f6f0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:50px}.cta h2{max-width:700px}.cta p{color:#b8ccc6;max-width:590px;margin-top:18px}.cta .eyebrow{color:var(--accent)}.cta .btn{white-space:nowrap}.site-footer{background:#eaf0e9;padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.1fr;gap:50px}.footer-brand p{font-size:.84rem;max-width:260px;margin-top:20px}.footer-col h2{font:12px var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px;color:#536c5d}.footer-col a{display:block;font-size:.82rem;margin-top:9px;overflow-wrap:anywhere}.footer-col a:hover{text-decoration:underline}.footer-bottom{margin-top:52px;border-top:1px solid #cbd7cb;padding-top:21px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.74rem;color:#5a6c60}.footer-bottom div{display:flex;gap:24px}
.page-hero{padding:54px 0 68px;border-bottom:1px solid var(--line)}.page-hero .intro{max-width:790px}.page-hero h1{max-width:980px}.page-hero .lead{font-size:1.12rem;max-width:720px;margin-top:24px;line-height:1.8}.page-hero .badge-line{margin-top:25px}.page-hero .split{gap:60px}.page-hero .eyebrow{margin-bottom:24px}.page-hero .visual-panel{margin:0}.page-hero .visual-panel img{aspect-ratio:1.5}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px;align-items:start}.detail-main{min-width:0}.detail-main>section{margin-bottom:48px;scroll-margin-top:110px}.detail-main h2{font-size:1.9rem;margin-bottom:22px}.detail-main h3{margin:25px 0 12px;font-size:1.2rem}.detail-main p+p{margin-top:17px}.detail-main ul,.article-body ul{padding-left:22px;color:var(--muted)}.detail-main li,.article-body li{margin:9px 0}.detail-side{background:white;border:1px solid var(--line);border-top:3px solid #638b75;padding:26px;position:sticky;top:112px}.detail-side h2{font-size:1.1rem;margin-bottom:16px}.detail-side p{font-size:.85rem}.detail-side .btn{width:100%;margin-top:22px}.detail-side .tags{margin:18px 0 25px}.architecture{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #ccdacf;background:#eaf0e9;margin:25px 0}.architecture div{padding:18px;border-right:1px solid #ccdacf;border-bottom:1px solid #ccdacf;font-size:.83rem}.architecture div span{display:block;font:11px var(--mono);color:#547662;margin-bottom:10px}.architecture-caption{font-size:.8rem!important}.industry-detail{display:grid;grid-template-columns:.6fr 1fr;gap:60px;padding:42px 0;border-top:1px solid var(--line);scroll-margin-top:108px}.industry-detail h2{font-size:1.75rem}.industry-detail .tags{margin-top:18px}.industry-detail p{max-width:780px}.industry-detail .text-link{margin-top:20px}.article-body{max-width:780px}.article-body h2{font-size:1.8rem;margin:42px 0 20px}.article-body h3{font-size:1.22rem;margin:26px 0 14px}.article-body p+p{margin-top:20px}.article-body a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.article-body .notice{margin-top:30px}.article-meta{font:12px var(--mono);color:var(--green);margin-top:25px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}.contact-channel{border-top:1px solid var(--line);padding:22px 0}.contact-channel h2{font-size:1.15rem;margin-bottom:12px}.contact-channel p{font-size:.85rem;margin-bottom:10px}.contact-channel a{color:var(--green);font-weight:600;overflow-wrap:anywhere}.contact-form{padding:35px;background:white;border:1px solid var(--line)}.contact-form h2{font-size:1.75rem;margin-bottom:15px}.contact-form .form-intro{font-size:.87rem;margin-bottom:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:.83rem;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:12px;background:#fafbf8;border:1px solid #bacbc1;border-radius:3px;font-size:.9rem;color:var(--ink)}.field textarea{min-height:150px;resize:vertical;line-height:1.6}.field small{font-size:.76rem;color:var(--muted)}.form-notice{font-size:.77rem;margin-top:18px}.email-result{margin-top:26px;padding-top:25px;border-top:1px solid var(--line)}.email-result h3{margin-bottom:12px}.email-result textarea{width:100%;min-height:260px;margin-top:18px;border:1px solid #bacbc1;border-radius:3px;padding:16px;font:13px/1.6 var(--mono);background:#f6f9f4;color:var(--ink)}.email-result .actions{margin-top:18px}.status{margin-top:15px;font-size:.81rem;color:var(--green)}[hidden]{display:none!important}.error-code{font:18px var(--mono);color:var(--green);margin-bottom:22px}
@media(min-width:1600px){.hero{padding-top:105px}.hero h1{font-size:5.4rem}.hero-grid{gap:65px}.hero-ribbon{margin-top:80px}}
@media(max-width:1200px){.wrap{width:min(calc(100% - 64px),var(--max))}.nav{gap:15px}.nav>a{font-size:.76rem}.header-inner{gap:20px}.hero h1{font-size:4.2rem}.hero-grid{gap:20px}.split{gap:45px}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{gap:40px}.flow{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-step:nth-child(3){border-right:0}.flow-step:nth-child(-n+3){border-bottom:1px solid #3a5752}.footer-grid{gap:35px}}
@media(max-width:1000px){.header-inner{height:76px}.menu-toggle{display:flex}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:22px 32px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100dvh - 76px);overflow-y:auto}.nav.open{display:flex}.nav>a{font-size:.95rem;padding:11px 7px}.nav>.nav-contact{margin-top:10px;padding:12px}.nav>a[aria-current=page]{box-shadow:none;color:var(--green);font-weight:600}.hero h1{font-size:3.45rem}.hero-copy>p{font-size:.95rem}.hero-visual{margin:0}.hero-ribbon a{font-size:.74rem;margin-right:14px}.section{padding:74px 0}.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.split{gap:35px}.section-head{gap:25px}.section-head>p{max-width:320px}.detail-layout{grid-template-columns:minmax(0,1fr) 270px;gap:35px}.detail-side{padding:21px}.contact-layout{gap:35px}.contact-form{padding:26px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:500px}.cta .wrap{gap:30px}.page-hero .split{gap:35px}.hero .btn{padding:12px 15px;font-size:.8rem}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header-inner{height:72px}.brand{font-size:1.28rem}.nav{top:72px;padding:18px 20px;max-height:calc(100dvh - 72px)}.hero{padding-top:54px}.hero-grid{grid-template-columns:1fr;gap:20px}.hero h1{font-size:clamp(2.9rem,10vw,4.2rem)}.hero-copy>p{font-size:1rem;margin-top:23px}.hero-visual{margin:5px 0 0}.hero-visual img{aspect-ratio:1.35}.hero-visual figcaption{font-size:.61rem}.hero-ribbon{grid-template-columns:1fr 1fr;margin-top:30px}.hero-ribbon a{margin-right:16px;padding:17px 0;font-size:.76rem}.hero-ribbon a:nth-child(-n+2){border-bottom:1px solid #3a5752}.hero .btn{padding:13px 16px;font-size:.84rem}.eyebrow{font-size:.66rem;letter-spacing:.07em}.section{padding:60px 0}.section-head{display:block;margin-bottom:30px}.section-head>p,.section-head>.text-link{margin-top:22px}.section-head>p{max-width:100%}.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.card{padding:27px}.card .card-icon{margin-bottom:24px}.split{grid-template-columns:1fr;gap:30px}.split .visual-panel{margin:0}.visual-panel img{aspect-ratio:1.3}.flow{grid-template-columns:1fr 1fr}.flow-step:nth-child(3){border-right:1px solid #3a5752}.flow-step:nth-child(2n){border-right:0}.flow-step:nth-child(-n+4){border-bottom:1px solid #3a5752}.flow-step{padding:22px 16px}.flow-note{min-height:5em}.flow-tabs button{padding:9px 12px;font-size:.75rem}.industry-list{grid-template-columns:1fr;gap:0}.stack{margin-top:25px}.stack span{font-size:12px;padding:18px 20px 0 0}.project-card{padding:0}.project-card .project-visual{height:230px}.process-step{padding:23px 0}.process-step .micro{margin-bottom:14px}.cta{padding:58px 0}.cta .wrap{display:block}.cta .btn{margin-top:28px}.site-footer{padding-top:44px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-col:last-child{grid-column:1/-1}.footer-bottom{margin-top:35px}.page-hero{padding:38px 0 48px}.page-hero .lead{font-size:1rem}.crumbs{padding-top:20px;font-size:.7rem}.page-hero .split{gap:28px}.detail-layout{grid-template-columns:1fr;gap:20px}.detail-side{position:static;padding:25px}.detail-main>section{margin-bottom:38px}.architecture{grid-template-columns:1fr 1fr}.industry-detail{grid-template-columns:1fr;gap:18px;padding:32px 0}.contact-layout{grid-template-columns:1fr;gap:25px}.form-grid{grid-template-columns:1fr}.contact-form{padding:24px 20px}.contact-channel{padding:22px 0}.article-body h2{font-size:1.65rem}.notice{padding:18px 20px}.actions{gap:10px}.footer-bottom div{gap:17px}.detail-main h2{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.btn:hover,.card:hover{transform:none}}
