@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

:root{--paper:#f7faf8;--ink:#172c29;--muted:#52665e;--coral:#e9475b;--mint:#8dc5a7;--on-coral:#101714;--line:#d6e3dc;--white:#fff;--radius:8px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
a{color:inherit;text-decoration:none}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a51e39;outline-offset:5px}
::selection{background:#c6e4d6;color:var(--ink)}
.section-shell{max-width:1280px;width:calc(100% - 112px);margin-inline:auto}
.section-space{padding-block:112px}
.site-header{max-width:1440px;margin:auto;padding:28px 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}
.brand{display:inline-flex;align-items:center;gap:7px;line-height:1;font-family:Manrope,Arial,sans-serif;font-size:30px;font-weight:800;letter-spacing:-1.6px}
.brand-mark{width:44px;height:44px}
.brand-sub{display:block;font-family:'DM Sans',Arial,sans-serif;letter-spacing:3.5px;font-weight:500;font-size:9px;text-align:center;margin-top:6px}
#primary-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:550}
#primary-nav>a:not(.button){transition:color .2s}
#primary-nav>a:not(.button):hover{color:#a51e39}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:14px 23px;border:1px solid transparent;border-radius:5px;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button span{font-size:21px;font-weight:400;line-height:1}
.button-dark{background:var(--ink);color:var(--paper)}
.button-dark:hover{background:#294a40}
.button-coral{background:var(--coral);color:var(--on-coral)}
.button-coral:hover{background:#f26478}
.button-small{min-height:43px;padding:9px 18px;font-size:13px}
.menu-toggle{display:none}
.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:700;letter-spacing:1.7px;line-height:1.5;margin:0 0 25px}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--coral);display:inline-block;flex-shrink:0}
.hero{display:grid;grid-template-columns:1.16fr 1fr;gap:40px;padding-block:85px 79px;align-items:center}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Manrope,Arial,sans-serif}
h1{font-size:clamp(54px,5.7vw,83px);letter-spacing:-4.7px;line-height:1.07;font-weight:500;margin-bottom:26px}
.serif-word{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.055em}
.hero-copy>p{max-width:405px;color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:29px}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.text-link{display:inline-flex;align-items:center;gap:15px;font-size:12px;font-weight:600}
.text-link span{font-size:19px}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.hero-note{margin-top:39px;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:9px}
.note-icon{font-size:22px;color:var(--coral)}
.hero-art{aspect-ratio:1.04;background:#dcefe5;position:relative;overflow:hidden;border-radius:var(--radius);isolation:isolate}
.art-grid{position:absolute;inset:0;background-image:linear-gradient(#7ba78e40 1px,transparent 1px),linear-gradient(90deg,#7ba78e40 1px,transparent 1px);background-size:35px 35px;mask-image:radial-gradient(ellipse,#000 20%,transparent 75%)}
.art-topline,.art-bottomline{position:absolute;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.4px;font-weight:600;z-index:3}
.art-topline{top:26px}.art-bottomline{bottom:25px;justify-content:center;gap:8px;font-size:8px}
.art-bottomline .status-dot{width:5px;height:5px;background:#35614f}
.orbit{position:absolute;left:50%;top:50%;border:1px solid #8dc5a7;border-radius:50%;transform:translate(-50%,-50%) rotate(-32deg)}
.orbit-one{width:84%;height:44%}.orbit-two{width:48%;height:83%;transform:translate(-50%,-50%) rotate(35deg)}
.art-core{position:absolute;left:50%;top:49%;width:36%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(-12deg);display:grid;place-items:center;background:var(--paper);border-radius:29%;box-shadow:12px 19px 0 #b0d7c3,18px 26px 35px #234a3b24}
.art-core img{width:100%;height:100%}
.art-node{position:absolute;padding:12px 16px;display:flex;align-items:center;gap:9px;background:#f7faf8;border:1px solid #fff;border-radius:7px;box-shadow:0 6px 20px #234a3b20;font-size:10px;font-weight:550;z-index:2}
.node-symbol{font-size:18px;color:#35614f}
.node-one{top:21%;left:10%;transform:rotate(-6deg)}
.node-two{right:6%;top:42%;transform:rotate(8deg)}
.node-three{bottom:20%;left:13%;transform:rotate(-3deg)}
.art-spark{position:absolute;right:12%;top:17%;color:var(--coral);font-size:55px;line-height:1;transform:rotate(13deg)}
.principles-strip{border-block:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:34px;padding:22px 30px;font-size:11px;font-weight:550;letter-spacing:.1px}
.principles-strip>span:nth-child(even){display:inline-flex;color:#35614f}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:44px}
h2{font-size:clamp(34px,3.8vw,52px);line-height:1.15;letter-spacing:-2px;font-weight:500;margin-bottom:0}
.section-heading>p{max-width:330px;color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:4px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px 22px;display:flex;flex-direction:column;transition:background .2s,border-color .2s,transform .2s}
.service-card:hover{background:#eaf5ef;border-color:#8dc5a7;transform:translateY(-4px)}
.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}
.service-top .icon{width:34px;height:34px;color:var(--ink);stroke-width:1.7}
.service-top>span{font-size:10px;color:var(--muted)}
h3{font-size:23px;line-height:1.35;letter-spacing:-.7px;font-weight:600;margin-bottom:15px}
.service-card>p{color:var(--muted);font-size:12px;line-height:1.95;margin-bottom:33px}
.service-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;gap:8px;font-size:8px;font-weight:600;letter-spacing:1px}
.circle-arrow{width:29px;height:29px;border:1px solid #8ab59e;border-radius:50%;display:grid;place-items:center;font-size:18px;line-height:1}
.solutions-note{text-align:center;font-size:11px;color:var(--muted);margin:29px 0 0}
.solutions-note a{color:var(--ink);border-bottom:1px solid #8ab59e;padding-bottom:3px;margin-left:4px}
.approach{background:#e3f1e9}
.approach .section-heading>p{max-width:290px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding-top:12px}
.step-number{display:flex;justify-content:space-between;font-size:11px;font-weight:600;border-top:1px solid #a8cdbb;padding:20px 0 30px;color:#35614f}
.step-number>span{font-size:19px;line-height:1}
.step h3{font-size:21px}
.step p{font-size:12px;color:#436454;line-height:1.95;margin-bottom:0;max-width:300px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}
.about-art{position:relative;background:#f9e4e9;aspect-ratio:1.12;border-radius:var(--radius);overflow:hidden}
.about-art-label,.about-art-footer{position:absolute;left:26px;font-size:8px;letter-spacing:1.5px;font-weight:600}
.about-art-label{top:26px}.about-art-footer{bottom:26px}
.stack{width:43%;aspect-ratio:1;position:absolute;top:51%;left:50%;border-radius:15px;transform:translate(-50%,-50%) rotate(-16deg)}
.stack-back{background:#8dc5a7;transform:translate(-68%,-61%) rotate(-25deg)}
.stack-mid{background:#f7faf8;transform:translate(-48%,-50%) rotate(-8deg);box-shadow:0 10px 24px #234a3b1a}
.stack-front{background:var(--paper);transform:translate(-27%,-35%) rotate(10deg);display:grid;place-items:center;box-shadow:0 20px 30px #234a3b20}.stack-front img{width:88%;height:88%}
.about-copy h2{margin-bottom:26px}
.about-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.95;max-width:410px;margin-bottom:18px}
.about-copy .text-link{margin-top:7px}
.contact{background:#8dc5a7;border-radius:var(--radius);padding:60px;display:grid;grid-template-columns:1fr 1.05fr;gap:75px}
.contact .eyebrow{font-size:9px;letter-spacing:1.3px}
.contact h2{font-size:clamp(40px,4.4vw,62px);margin-bottom:24px}
.contact-intro>p:not(.eyebrow){font-size:13px;max-width:300px;color:#244c3c;line-height:1.9}
.contact-caption{font-size:11px;display:flex;gap:12px;align-items:center;margin-top:39px}
.contact-caption>span{font-size:36px;font-weight:400}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:flex;flex-direction:column;margin-bottom:19px}
.field label{font-size:11px;font-weight:600;margin-bottom:8px}
.field label span{font-size:9px;font-weight:400}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #5f8c75;border-radius:0;padding:9px 0;background:transparent;color:var(--ink);font-size:12px}
.select-field{position:relative}
.field select{cursor:pointer;appearance:none;padding-right:30px}
.select-field>.icon{position:absolute;right:2px;bottom:12px;width:16px;height:16px;pointer-events:none}
.field textarea{resize:vertical;min-height:85px;max-height:300px}
.field input::placeholder,.field textarea::placeholder{color:#365c4a;opacity:1}
.form-note{font-size:10px;line-height:1.7;color:#244c3c;margin:13px 0 0}
#form-status{font-size:12px;margin:12px 0 0}
#form-status a{text-decoration:underline}
.consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.7;margin-bottom:20px}
.consent input{margin-top:4px;accent-color:var(--ink);flex-shrink:0}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.button:disabled{opacity:.65;cursor:wait;transform:none}
.site-footer{padding-top:65px}
.footer-top{display:flex;align-items:center;gap:36px;padding-bottom:38px}
.footer-top p{font-size:11px;color:var(--muted);line-height:1.7;margin-bottom:0}
.footer-top>.text-link{margin-left:auto}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:23px;font-size:9px;color:var(--muted)}
.hero-copy{min-width:0}
.hero h1{font-size:clamp(48px,5vw,72px);letter-spacing:-3.5px}
.capability-grid,.example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.capability-grid{margin-bottom:40px}
.capability-grid>div{border-top:1px solid var(--line);padding-top:22px}
.capability-grid h3{font-size:20px}
.capability-grid p,.platform p,.example-card p{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:0}
.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.platform{background:#e3f1e9;border-radius:var(--radius);padding:26px}
.platform-code{display:inline-grid;place-items:center;min-width:42px;height:38px;border:1px solid #8ab59e;border-radius:5px;font-size:12px;font-weight:700;color:#35614f;margin-bottom:23px}
.platform h3{font-size:18px}
.examples{background:#eff5f1}
.use-case-list{list-style:none;padding:0;margin:0 0 50px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:35px}
.use-case-list li{border-bottom:1px solid #c7ddd0;padding:15px 0;font-size:14px;display:flex;gap:12px}
.use-case-list li>.icon{color:var(--coral);margin-top:3px}
.examples-subtitle{margin-bottom:10px}
.examples-disclaimer{font-size:12px;color:var(--muted);max-width:680px;margin-bottom:25px}
.example-card{background:var(--paper);padding:27px;border:1px solid var(--line);border-radius:var(--radius)}
.example-card h3{font-size:21px}
.example-card .eyebrow{font-size:8px;color:#a51e39}
.examples .text-link{margin-top:30px}
.contact h2{font-size:clamp(38px,3.8vw,54px)}
.contact-details{margin-top:28px;font-size:13px}
.contact-details>a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-details>p{font-size:12px;line-height:1.9;margin:14px 0 0;color:#244c3c}
.footer-nav{display:flex;flex-wrap:wrap;gap:16px 28px;font-size:12px;padding-bottom:30px}
.footer-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.button>span,.text-link>span,.note-icon,.node-symbol,.step-number>span,.menu-toggle>span{display:inline-flex;align-items:center}
.circle-arrow .icon{width:17px;height:17px}
.node-symbol .icon{width:18px;height:18px}
.note-icon .icon{width:22px;height:22px}
.art-spark .icon{width:55px;height:55px;stroke-width:1}
.platform-code .icon{width:23px;height:23px}
.principles-strip .icon{width:19px;height:19px}
.hero .serif-word{color:#a51e39}
@media(min-width:761px) and (max-width:1100px){#primary-nav{gap:15px;font-size:12px}.site-header{gap:15px}.site-header .button-small{padding-inline:12px;gap:12px}.hero h1{font-size:clamp(43px,5vw,56px)}}
@media(max-width:760px){.hero h1{font-size:clamp(44px,9vw,66px);letter-spacing:-2.5px}.capability-grid,.platform-grid,.example-grid{grid-template-columns:1fr}.capability-grid{gap:20px}.use-case-list{grid-template-columns:1fr}.example-grid{gap:16px}.contact h2{font-size:clamp(34px,8.5vw,48px)}.footer-nav{gap:12px 20px}}
.skip-link{position:fixed;top:10px;left:10px;z-index:20;padding:12px;background:var(--ink);color:white;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
@media(min-width:1440px){.hero{gap:75px}}
@media(max-width:1100px){.section-shell{width:calc(100% - 64px)}.site-header{padding-inline:32px}.hero{gap:25px}h1{letter-spacing:-3px}.hero-actions{gap:15px}.hero-actions .button{gap:18px;padding-inline:16px}.principles-strip{gap:20px;font-size:10px}.contact{padding:42px;gap:40px}.about{gap:45px}.service-card{padding:25px 22px}.service-bottom{font-size:7px}.section-space{padding-block:85px}}
@media(max-width:760px){html{scroll-padding-top:25px}.site-header{position:relative;padding:22px 24px;flex-wrap:wrap}.brand{font-size:27px}.brand-mark{width:33px;height:33px}.menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;border:1px solid #8ab59e;border-radius:5px;padding:8px 12px;font-size:12px;cursor:pointer}.menu-toggle span{font-size:19px}#primary-nav{display:flex;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0}body.js #primary-nav{display:none}body.js #primary-nav.is-open{display:flex}#primary-nav>a{padding:14px 0;border-top:1px solid var(--line)}#primary-nav>.button{margin-top:10px;padding:12px 16px}.section-shell{width:calc(100% - 48px)}.hero{grid-template-columns:1fr;padding-block:48px;gap:35px}.eyebrow{font-size:9px;margin-bottom:20px}h1{font-size:clamp(52px,10.8vw,76px);letter-spacing:-3.5px}.hero-copy>p{max-width:460px;font-size:14px}.hero-note{margin-top:23px}.hero-art{aspect-ratio:1.2;max-width:530px;width:100%;justify-self:center}.art-node{font-size:10px}.principles-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;text-align:center;padding:20px 24px;font-size:9px}.principles-strip>span:nth-child(even){display:none}.section-space{padding-block:64px}.section-heading{display:block;margin-bottom:30px}h2{font-size:37px;letter-spacing:-1.5px}.section-heading>p{margin-top:22px;max-width:440px}.service-grid{grid-template-columns:1fr}.service-card{padding:27px}.service-top{margin-bottom:25px}.service-card h3 br{display:none}.service-card>p{font-size:13px;margin-bottom:25px}.service-bottom{font-size:9px}.solutions-note{line-height:2}.steps{grid-template-columns:1fr;gap:28px;padding-top:0}.step-number{padding-bottom:20px}.step p{max-width:480px;font-size:13px}.about{grid-template-columns:1fr;gap:35px}.about-art{max-width:500px;width:100%;aspect-ratio:1.25;justify-self:center}.about-copy>p:not(.eyebrow){max-width:none}.contact{grid-template-columns:1fr;padding:32px 25px;gap:30px}.contact-intro>p:not(.eyebrow){max-width:430px}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:16px}.form-note{font-size:11px}.site-footer{padding-top:42px}.footer-top{gap:20px;flex-wrap:wrap}.footer-top>.text-link{margin-left:auto}.footer-bottom{font-size:10px;gap:10px;flex-direction:column}}
@media(max-width:380px){.section-shell{width:calc(100% - 36px)}.site-header{padding-inline:18px}.hero-actions{align-items:flex-start;flex-direction:column}.art-node{padding:9px;font-size:9px}.art-topline{left:16px;right:16px;font-size:7px}.form-row{grid-template-columns:1fr;gap:0}.contact{padding:28px 20px}.footer-top>.text-link{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
