@charset "UTF-8";
:root{color-scheme:dark;--bg:#070b0d;--surface:#0d1316;--mint:#a0f4c5;--mint-strong:#75e6af;--text:#f0f4f1;--muted:#9da9a6;--line:rgba(203,229,217,.14);--font:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;--latin:Arial,Helvetica,sans-serif;--gutter:clamp(24px,5.6vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:6px}::selection{background:var(--mint);color:var(--bg)}h1,h2,h3,p{margin:0}button{border:0}svg{display:block}a,button{color:inherit}.skip-link{position:fixed;left:16px;top:-100px;padding:12px 20px;background:var(--mint);color:var(--bg);z-index:200}.skip-link:focus{top:16px}.scroll-progress{height:2px;background:var(--mint);position:fixed;inset:0 auto auto 0;width:0;z-index:110}.site-header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:50;border-bottom:1px solid var(--line);gap:24px;background:rgba(7,11,13,.4)}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.brand-mark{width:45px;height:45px;color:var(--mint)}.brand-name{font-size:23px;font-weight:600;letter-spacing:2px;line-height:1.3}.brand-name>span{display:block;font-family:var(--latin);font-size:9px;letter-spacing:1.8px;font-weight:500;margin-top:5px}.desktop-nav{display:flex;gap:clamp(24px,3.5vw,54px);font-size:14px;color:#afb8b5;height:100%;align-items:center}.desktop-nav a{height:100%;display:flex;align-items:center;position:relative;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--text)}.desktop-nav a.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--mint)}.header-cta{display:flex;gap:26px;align-items:center;border:1px solid #58615e;border-radius:4px;padding:10px 18px;font-size:14px;transition:background .2s,color .2s}.header-cta:hover{background:var(--mint);border-color:var(--mint);color:var(--bg)}.header-cta span{font-size:22px;line-height:1}.menu-toggle{display:none;background:none;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:1px;background:var(--text);margin:7px 0;transition:transform .2s}.mobile-nav{display:none}.hero{position:relative;min-height:850px;height:min(900px,100svh);overflow:hidden;padding:100px var(--gutter) 90px;display:flex;align-items:center;isolation:isolate}.hero-grid{position:absolute;inset:100px 0 0;z-index:-2;opacity:.3;background-image:linear-gradient(rgba(129,170,157,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(129,170,157,.07) 1px,transparent 1px);background-size:100px 100px;mask-image:linear-gradient(to bottom,transparent,black 50%,transparent)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 65%,#13312a55,transparent 50%);z-index:-1}.hero-content{position:relative;z-index:4;width:60%;padding-top:36px;pointer-events:none}.hero-content a{pointer-events:auto}.eyebrow{font:12px/1.5 var(--latin);letter-spacing:2px;color:var(--mint);display:flex;align-items:center;gap:12px}.line{height:1px;width:24px;background:var(--mint)}h1{font-weight:500;font-size:clamp(44px,4.85vw,78px);line-height:1.4;letter-spacing:-2px;margin:28px 0 23px}h1>span{display:block;color:var(--mint)}.mint-period{letter-spacing:-18px}.hero-description{color:#a6b3b0;font-size:clamp(15px,1.25vw,18px);line-height:1.9;letter-spacing:1px}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:37px}.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;padding:15px 22px;font-size:15px;border-radius:3px;transition:transform .25s,background .25s}.button-primary{background:#244637;color:#e1eee6;font-weight:600;box-shadow:inset 0 0 0 1px #567764}.button-primary:hover{background:#2e5340;transform:translateY(-3px);box-shadow:inset 0 0 0 1px #779783}.button span{font-size:22px;line-height:1}.text-link{display:inline-flex;gap:14px;align-items:center;font-size:14px}.round-arrow{display:flex;justify-content:center;align-items:center;border:1px solid #47544f;border-radius:50%;width:28px;height:28px;transition:transform .3s}.text-link:hover .round-arrow{transform:translateY(3px);border-color:var(--mint);color:var(--mint)}.hero-caption{margin-top:64px;display:flex;align-items:center;gap:16px;font-size:12px;color:#7e9189;letter-spacing:.5px}.hero-caption>span:last-child{font:10px var(--latin);letter-spacing:1.6px}.caption-rule{height:1px;width:28px;background:#3b4c44}.hero-art{position:absolute;width:58%;aspect-ratio:1;right:-3%;top:50%;transform:translateY(-45%);pointer-events:none;z-index:2}.art-image-wrap{position:absolute;inset:0;will-change:transform;transition:transform .7s cubic-bezier(.2,.7,.3,1)}.hero-art img{height:100%;width:100%;object-fit:contain;mix-blend-mode:screen;mask-image:radial-gradient(ellipse,black 45%,transparent 72%);animation:bloom-float 12s ease-in-out infinite}.art-halo{position:absolute;inset:18%;border:1px solid #8bd6b31b;border-radius:50%;box-shadow:0 0 120px #80efc50b;transform:rotate(-30deg) scaleX(1.24)}.art-coordinate{position:absolute;z-index:3;font:10px var(--latin);letter-spacing:1.8px;color:#779185}.coordinate-top{top:18%;right:20%}.coordinate-bottom{bottom:12%;left:28%;right:20%;display:flex;justify-content:space-between}.coordinate-bottom>span:first-child{font:12px var(--font);letter-spacing:2px}.hero-orbit{position:absolute;width:70%;height:110%;right:-22%;top:-25%;border:1px solid #869e8f12;border-radius:50%;z-index:0;transform:rotate(35deg)}.hero-bottom{position:absolute;bottom:25px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;color:#82938c;gap:20px}.scroll-cue{display:flex;align-items:center;gap:12px;font-size:12px}.scroll-icon{width:17px;height:25px;border:1px solid #667d71;border-radius:10px;position:relative}.scroll-icon:after{content:"";width:2px;height:5px;position:absolute;left:6px;top:5px;background:var(--mint);animation:scroll-dot 2s infinite}.hero-bottom-note{font:10px var(--latin);letter-spacing:2px}.motion-toggle{display:flex;align-items:center;gap:9px;background:none;font-size:12px;padding:8px;color:#a1b0a7}.motion-bars{display:flex;align-items:center;gap:3px;height:14px}.motion-bars i{display:block;width:2px;height:11px;background:var(--mint);animation:equalizer 1s ease-in-out infinite alternate}.motion-bars i:nth-child(2){height:6px;animation-delay:-.6s}.motion-bars i:nth-child(3){height:8px;animation-delay:-.3s}.expertise-strip{border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:35px;padding:26px var(--gutter);overflow:hidden}.expertise-strip>span{white-space:nowrap;font-size:13px;color:#b7c4bc}.expertise-strip>div{display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,3vw,46px);font:11px var(--latin);letter-spacing:1.4px;color:#7f9289}.expertise-strip i{color:#699680;font-size:19px;font-style:normal}.section-shell{padding:104px var(--gutter)}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:48px}h2{font-size:clamp(29px,3vw,46px);line-height:1.5;font-weight:500;letter-spacing:-1px}.section-heading h2,.section-shell>h2{margin-top:18px}.section-intro{font-size:15px;color:var(--muted);line-height:1.9}.initial-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.initial-capabilities span{background:var(--surface);padding:36px 24px;border:1px solid var(--line)}.about-intro{max-width:680px;color:var(--muted);font-size:18px;margin-top:30px}.contact{border-block:1px solid var(--line);background:radial-gradient(ellipse at 75% 100%,#214b3933,transparent 60%)}.contact h2{font-size:clamp(38px,5vw,72px);line-height:1.5}.contact h2 span{color:var(--mint)}.contact>p:last-child{color:var(--muted);margin-top:30px}.site-footer{padding:44px var(--gutter) 28px}.footer-wordmark{font:700 clamp(58px,12.9vw,190px)/1 var(--latin);letter-spacing:-.07em;color:#16221c;display:block}.footer-wordmark>span{font:24px var(--latin);vertical-align:top;display:inline-block;margin:8px 0 0 20px}.site-footer>div{border-top:1px solid var(--line);padding-top:24px;margin-top:38px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#829088}.site-footer>div>a:hover{color:var(--mint)}@keyframes bloom-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-15px) rotate(3deg)}}@keyframes scroll-dot{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(6px);opacity:1}}@keyframes equalizer{to{transform:scaleY(.35)}}.motion-off *{animation:none!important;transition:none!important}.motion-off{scroll-behavior:auto}.motion-off .art-image-wrap{transform:none!important}.motion-off .motion-bars i{opacity:.5}
@media(min-width:1600px){.hero-content{width:55%}.hero-art{width:56%;right:-1%;top:48%}}
@media(max-width:1100px){:root{--gutter:36px}.desktop-nav{gap:25px}.hero{min-height:780px}.hero-content{width:65%}.hero-art{width:70%;right:-17%}.hero-bottom-note{display:none}.expertise-strip>div{gap:20px;font-size:10px}.expertise-strip>div>span:last-child,.expertise-strip>div>i:last-of-type{display:none}.section-intro{font-size:14px}}
@media(max-width:760px){:root{--gutter:24px}.site-header{height:80px;gap:12px}.brand-mark{width:36px;height:36px}.brand-name{font-size:20px}.brand-name>span{font-size:8px;letter-spacing:1.4px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;position:fixed;inset:80px 0 auto;background:#0d1415f5;backdrop-filter:blur(18px);z-index:45;flex-direction:column;padding:16px 24px 24px;border-bottom:1px solid var(--line);box-shadow:0 25px 80px #0006}.mobile-nav a{padding:13px 6px;color:#d6e4dc;border-bottom:1px solid var(--line)}.hero{min-height:900px;height:100svh;max-height:1050px;align-items:flex-start;padding-top:123px;padding-bottom:65px}.hero-content{width:100%;padding:0}.eyebrow{font-size:10px;letter-spacing:1.6px}h1{font-size:clamp(36px,7.9vw,58px);line-height:1.43;margin:23px 0 18px;letter-spacing:-1.6px}.hero-description{font-size:14px;letter-spacing:.2px;line-height:1.85}.hero-actions{gap:24px;margin-top:26px}.button{padding:13px 18px;font-size:14px;gap:20px}.text-link{font-size:13px;gap:10px}.hero-caption{display:none}.hero-art{width:110%;right:-6%;top:auto;bottom:12px;transform:none}.art-coordinate.coordinate-top{top:22%;right:16%;font-size:8px}.coordinate-bottom{bottom:15%;left:22%;right:16%}.hero-bottom{bottom:19px}.hero-orbit{height:70%;width:150%;top:20%;right:-66%}.expertise-strip{padding-block:22px;display:block}.expertise-strip>span{display:none}.expertise-strip>div{justify-content:space-between;font-size:8px;letter-spacing:.7px;gap:12px}.expertise-strip>div>span:nth-of-type(3){font-size:7px}.expertise-strip i{font-size:15px}.section-shell{padding-block:64px}.section-heading{display:block;margin-bottom:28px}.section-intro{margin-top:20px;font-size:14px}.section-intro br{display:none}.initial-capabilities{grid-template-columns:1fr}.section-heading h2,.section-shell>h2{margin-top:14px}h2{font-size:28px;letter-spacing:-.5px}.about-intro{font-size:16px}.contact h2{font-size:36px}.site-footer{padding-top:32px}.site-footer>div{flex-wrap:wrap;margin-top:26px;gap:14px;font-size:11px}.site-footer>div>span:nth-child(2){display:none}.footer-wordmark>span{font-size:13px;margin:4px 0 0 12px}}
@media(max-width:380px){:root{--gutter:20px}.hero-actions{gap:18px}.hero{min-height:820px}.hero-art{bottom:35px}.hero-description{font-size:13px}.hero .button{font-size:13px;gap:13px}.contact h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.art-image-wrap{transform:none!important}}

/* Service cards: restrained perspective and a pointer-following highlight. */
.site-header { position:fixed; transition:background .3s,backdrop-filter .3s; }
.site-header.scrolled { background:#070b0deb; backdrop-filter:blur(18px); }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.service-card { --glow-x:50%; --glow-y:50%; position:relative; text-align:left; display:flex; flex-direction:column; align-items:stretch; min-height:310px; padding:34px 32px 24px; background:#0b1113; overflow:hidden; transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:background .3s,transform .25s,box-shadow .3s; }
.service-card:before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(280px circle at var(--glow-x) var(--glow-y),#94ecc018,transparent 75%); opacity:0; transition:opacity .35s; }
.service-card:hover,.service-card:focus-visible { background:#102019; z-index:2; box-shadow:inset 0 0 0 1px #93e3b852; }
.service-card:focus-visible { outline-offset:0; }
.service-card:hover:before { opacity:1; }
.card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; }
.card-top svg { width:32px; height:32px; stroke:#9ce9c2; fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.card-number { color:#5b7066; font:12px var(--latin); letter-spacing:1px; }
.card-title { font-size:22px; font-weight:500; margin-bottom:14px; }
.card-description { display:block; font-size:16px; line-height:1.85; color:var(--muted); max-width:340px; }
.card-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:32px; }
.card-bottom>span:first-child { font:12px var(--latin); letter-spacing:1px; color:#6f8a7c; }
.card-arrow { display:grid; place-items:center; width:30px; height:30px; border:1px solid #33473c; border-radius:50%; font:20px var(--latin); color:#a0c5b1; transition:background .3s,color .3s,transform .3s; }
.service-card:hover .card-arrow { background:var(--mint); color:var(--bg); transform:rotate(45deg); }

/* Accessible three-way solutions switch and a schematic of each workflow. */
.solutions { background:#0a1012; border-block:1px solid var(--line); }
.solution-tabs { position:relative; isolation:isolate; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); padding:6px; border-radius:5px; background:#070d0e; margin-bottom:52px; }
.solution-tabs:before { content:""; position:absolute; left:6px; top:6px; bottom:6px; width:calc((100% - 12px)/3); transform:translateX(calc(var(--tab-index)*100%)); background:#1b3026; border:1px solid #a0f4c52e; border-radius:3px; z-index:-1; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.solution-tabs button { background:none; padding:17px 10px; color:#8b9f94; font-size:16px; transition:color .25s; }
.solution-tabs button[aria-selected=true] { color:#c3f6d9; }
.solution-tabs button>span { font:12px var(--latin); opacity:.65; margin-right:14px; }
.solution-panel { display:grid; grid-template-columns:.9fr 1.1fr; gap:6%; align-items:center; }
.solution-panel[hidden] { display:none; }
.small-label { font-size:14px; color:var(--mint); letter-spacing:1px; }
.solution-copy h3 { font-size:clamp(28px,2.8vw,42px); line-height:1.5; font-weight:500; margin:18px 0 20px; letter-spacing:-.5px; }
.solution-copy>p { max-width:490px; font-size:16px; color:var(--muted); line-height:1.9; }
.solution-tags { padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 30px; }
.solution-tags li { border:1px solid #34463c; padding:5px 10px; border-radius:2px; color:#a4bbae; font-size:13px; }
.solution-detail { background:none; padding:0; font-size:15px; }
.solution-map { border:1px solid #293b31; border-radius:6px; padding:28px; background:radial-gradient(ellipse at 55% 35%,#19412d44,transparent 70%),#0a1210; }
.map-meta { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:38px; color:#8da89a; }
.map-meta>span:first-child { font:12px var(--latin); letter-spacing:1px; }
.map-meta>span:last-child { font-size:12px; color:#879f90; border:1px solid #334b3d; padding:2px 6px; white-space:nowrap; }
.map-inputs,.map-outputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.map-inputs span,.map-outputs span { display:grid; place-items:center; padding:13px 2px; border:1px solid #304438; background:#14211b; border-radius:4px; font-size:14px; color:#b7ccbf; }
.map-outputs span { background:#15291e; border-color:#40634d; color:#c8ead4; }
.map-connector { position:relative; height:57px; width:68%; margin:0 auto; border:1px solid #35533f; border-top:0; border-radius:0 0 6px 6px; transform:scaleY(.5); transform-origin:top; }
.map-connector:before { content:""; position:absolute; height:115px; width:1px; background:linear-gradient(#35533f,#86caa1); top:0; left:50%; }
.map-connector i { position:absolute; left:calc(50% - 2px); top:50px; width:5px; height:10px; background:var(--mint); border-radius:50%; box-shadow:0 0 12px #a0f4c5; animation:flow-pulse 2s ease-in-out infinite; }
.map-connector.lower { transform:scaleY(-.5); transform-origin:center; margin-bottom:12px; }
.map-connector.lower:before { height:57px; }
.map-core { position:relative; display:flex; align-items:center; gap:17px; padding:22px 20px; border:1px solid #5c9470; background:linear-gradient(110deg,#274e35,#12241a); border-radius:5px; box-shadow:0 0 40px #4fa76f12; }
.map-icon { width:32px; height:32px; flex-shrink:0; stroke:var(--mint); stroke-width:1.5; fill:none; }
.map-core strong { font-size:18px; font-weight:500; display:block; }
.map-core>div>span { color:#92b29c; display:block; margin-top:5px; font-size:12px; }
.core-plus { font-size:24px; color:#88b89a; margin-left:auto; }
.map-footer { display:flex; justify-content:space-between; gap:12px; margin-top:32px; color:#73927f; font:12px var(--latin); letter-spacing:1px; }
.map-footer>span:last-child { font-size:20px; }

/* A subdued forest surface keeps the brand section within the dark palette. */
.about { display:grid; grid-template-columns:1.1fr 1fr; gap:10%; background:#102019; color:#e1ebe5; }
.about .eyebrow { color:#92b09e; }
.about h2 { font-size:clamp(34px,3.5vw,54px); line-height:1.45; margin-top:26px; letter-spacing:-1.5px; }
.about h2>span { color:#80aa92; }
.about-intro { color:#adbfb3; font-size:16px; line-height:1.95; margin-top:27px; }
.about-signature { display:flex; gap:14px; align-items:center; margin-top:40px; }
.about-signature .brand-mark { width:39px; height:39px; color:#80aa92; }
.about-signature>span { font-size:16px; letter-spacing:1px; }
.about-signature small { display:block; margin-top:5px; color:#92b09e; font:12px var(--latin); letter-spacing:1px; }
.about-values { padding-top:40px; }
.value-row { display:flex; align-items:flex-start; gap:27px; padding:30px 0; border-bottom:1px solid #afcfba26; }
.value-row:first-child { padding-top:0; }
.value-row>span { font:12px var(--latin); color:#92b09e; margin-top:8px; }
.value-row h3 { font-size:22px; font-weight:500; margin:0 0 11px; }
.value-row p { font-size:16px; line-height:1.85; color:#adbfb3; }
.value-row:last-child { border-bottom:0; padding-bottom:0; }

/* Contact fields are intentionally unconfigured until real information is supplied. */
.contact { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:8%; padding-block:100px; }
.contact h2 { font-size:clamp(34px,4vw,58px); margin-top:24px; }
.contact-copy>p:last-child { color:var(--muted); margin-top:26px; font-size:16px; }
.contact-info { border-left:1px solid var(--line); padding:0 0 0 18%; }
.contact-symbol { font:60px var(--latin); display:block; color:var(--mint); margin-bottom:24px; }
.contact-info h3 { font-size:21px; font-weight:500; margin-bottom:15px; }
.contact-pending { font-size:16px; color:var(--muted); line-height:1.9; }
.contact-company { padding-top:27px; margin-top:27px; border-top:1px solid var(--line); font-size:14px; color:#b2c4b9; }
.contact-company>span { display:block; color:#768e80; margin-top:7px; font-size:13px; }
.contact-channel { display:flex; flex-direction:column; gap:3px; padding:12px 0; word-break:break-word; }
.contact-channel>span { font-size:13px; color:var(--muted); }
.contact-channel>strong { font-size:17px; font-weight:400; color:var(--mint); }
a.contact-channel:hover>strong { text-decoration:underline; }

/* Native dialog provides focus containment, Escape dismissal and an inert backdrop. */
.dialog-open { overflow:hidden; }
.service-dialog { background:#0c1512; color:var(--text); border:1px solid #527b60; width:min(720px,calc(100% - 40px)); max-height:calc(100svh - 48px); padding:44px; border-radius:8px; box-shadow:0 35px 150px #0008; }
.service-dialog::backdrop { background:#020706bb; backdrop-filter:blur(8px); }
.service-dialog[open] { animation:dialog-in .3s cubic-bezier(.2,.8,.2,1); }
.dialog-close { position:absolute; right:16px; top:14px; display:grid; place-items:center; width:40px; height:40px; background:none; font-size:21px; color:#b6cabf; border:1px solid transparent; border-radius:50%; }
.dialog-close:hover { background:#244432; border-color:#557761; }
.service-dialog>h2 { font-size:32px; margin:20px 0 16px; padding-right:20px; }
#dialog-description { color:#afc2b5; font-size:16px; line-height:1.95; }
.dialog-subtitle { font-size:14px; font-weight:400; color:var(--mint); margin:28px 0 8px; }
#dialog-scenarios { list-style:none; padding:0; margin:0; }
#dialog-scenarios li { display:flex; gap:20px; padding:19px 0; border-bottom:1px solid var(--line); }
.scenario-number { color:#6a9678; font:12px var(--latin); padding-top:6px; }
#dialog-scenarios h4 { font-size:17px; font-weight:500; margin:0 0 5px; }
#dialog-scenarios p { font-size:15px; line-height:1.8; color:#96af9f; }
.dialog-bottom { display:flex; align-items:center; gap:28px; padding-top:27px; }
.dialog-bottom>span { font-size:14px; color:#7e9e89; flex:1; }
.dialog-bottom .button { flex-shrink:0; font-size:14px; padding:12px 16px; gap:14px; }

.will-reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.2,1); }
.will-reveal.revealed { opacity:1; transform:translateY(0); }
.service-card.will-reveal.revealed { transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); }
.motion-off .will-reveal { opacity:1; transform:none; }
.motion-off .service-card { transform:none!important; }
@keyframes dialog-in { from { opacity:0; transform:translateY(16px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes flow-pulse { 0%,100% { opacity:.3; } 50% { opacity:1; } }

/* Readable metadata and body text at all supported widths. */
.hero-description,.section-intro { font-size:16px; }
.art-coordinate,.hero-caption>span:last-child,.hero-bottom-note,.expertise-strip>div { font-size:12px; }
.expertise-strip>div { gap:clamp(12px,2vw,32px); letter-spacing:1px; }
.hero-art { right:-1%; width:56%; }
.hero-art img { mask-image:radial-gradient(ellipse,black 52%,transparent 74%); }
/* Text and artwork occupy separate grid rows; motion stays inside the artwork slot. */
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:clamp(36px,5vw,96px); }
.hero>.hero-content { width:100%; min-width:0; padding-top:0; }
.hero-visual { display:grid; grid-template-rows:auto minmax(0,1fr) auto; row-gap:28px; align-self:stretch; justify-self:end; width:100%; max-width:760px; min-height:0; padding:40px 0 24px; pointer-events:none; z-index:2; }
.hero-visual .hero-art { position:relative; inset:auto; width:100%; height:100%; min-height:0; aspect-ratio:auto; transform:none; margin:0; overflow:hidden; isolation:isolate; }
.hero-visual .art-image-wrap { inset:18px; }
.hero-visual .art-coordinate { position:static; color:#9eb5a7; background:none; padding:0; border:0; border-radius:0; font-weight:400; line-height:1.5; }
.hero-visual .coordinate-top { justify-self:end; white-space:nowrap; font-size:12px; letter-spacing:1.6px; }
.hero-visual .coordinate-bottom { width:100%; gap:32px; align-items:center; white-space:nowrap; }
.hero-visual .coordinate-bottom>span:first-child { font-size:12px; line-height:1.5; }
@media (min-width:1800px) { .hero-art { width:49%; right:4%; } }
@media (max-width:1100px) {
  .hero-art { width:64%; right:-13%; }
  .service-card { padding:28px 24px 20px; }
  .card-title { font-size:20px; }
  .card-bottom>span:first-child { font-size:12px; letter-spacing:.2px; }
  .expertise-strip>span { display:none; }
  .expertise-strip>div { width:100%; }
  .solution-panel { gap:5%; grid-template-columns:1fr 1fr; }
  .solution-map { padding:20px; }
  .map-core { padding:20px 12px; gap:10px; }
  .map-core strong { font-size:16px; }
  .core-plus { display:none; }
  .map-meta>span:first-child { font-size:12px; letter-spacing:0; }
  .map-inputs,.map-outputs { gap:7px; }
  .map-inputs span,.map-outputs span { font-size:13px; }
  .about { gap:6%; }
  .contact-info { padding-left:12%; }
}
@media (max-width:900px) {
  .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .solution-panel { grid-template-columns:1fr; gap:36px; }
  .solution-copy>p { max-width:100%; }
  .solution-map { max-width:600px; width:100%; padding:28px; }
  .map-core { padding:23px; }
  .map-core strong { font-size:18px; }
  .map-inputs span,.map-outputs span { font-size:14px; }
  .about { grid-template-columns:1fr; gap:40px; }
  .about-values { padding:0; }
  .about-intro { max-width:620px; }
  .about-signature { margin-top:30px; }
}
@media (max-width:760px) {
  .hero { min-height:940px; }
  .hero-art { width:98%; right:1%; bottom:45px; }
  .art-coordinate.coordinate-top { font-size:12px; top:4%; }
  .coordinate-bottom { bottom:5%; }
  .hero-description { font-size:16px; line-height:1.85; }
  .hero .eyebrow,.eyebrow { font-size:12px; letter-spacing:1.4px; }
  .hero-caption>span:last-child,.hero-bottom-note { font-size:12px; }
  .expertise-strip>div { font-size:12px; flex-wrap:wrap; justify-content:center; gap:10px 17px; }
  .expertise-strip>div>span:nth-of-type(3) { font-size:12px; }
  .expertise-strip>div>span:nth-of-type(3),.expertise-strip>div>i:nth-of-type(2) { display:none; }
  .section-intro { font-size:16px; }
  .service-card { min-height:290px; padding:26px 22px 20px; }
  .card-title { font-size:21px; }
  .card-description { font-size:16px; max-width:none; }
  .card-top { margin-bottom:22px; }
  .card-bottom { padding-top:24px; }
  .solution-tabs { padding:4px; margin-bottom:35px; }
  .solution-tabs:before { left:4px; top:4px; bottom:4px; width:calc((100% - 8px)/3); }
  .solution-tabs button { font-size:14px; padding:14px 3px; white-space:normal; line-height:1.7; }
  .solution-tabs button>span { display:block; font-size:12px; margin:0 0 3px; }
  .solution-copy h3 { font-size:30px; }
  .solution-map { padding:20px 16px; }
  .map-meta { margin-bottom:28px; }
  .map-meta>span:first-child { font-size:12px; letter-spacing:.2px; }
  .map-inputs,.map-outputs { gap:6px; }
  .map-inputs span,.map-outputs span { font-size:13px; }
  .map-core { gap:12px; padding:20px 14px; }
  .map-core strong { font-size:17px; }
  .map-core>div>span { font-size:12px; }
  .map-footer { font-size:12px; letter-spacing:0; }
  .about h2 { font-size:38px; }
  .about-signature small { font-size:12px; letter-spacing:0; }
  .value-row { gap:22px; padding-block:25px; }
  .value-row h3 { font-size:21px; }
  .contact { grid-template-columns:1fr; gap:40px; padding-block:65px; }
  .contact h2 { font-size:36px; }
  .contact-info { position:relative; border-left:0; border-top:1px solid var(--line); padding:30px 0 0; }
  .contact-symbol { position:absolute; right:0; top:14px; font-size:48px; }
  .contact-company { border:0; margin-top:18px; padding-top:10px; }
  .site-footer>div { font-size:12px; line-height:1.8; }
  .service-dialog { width:calc(100% - 24px); padding:32px 22px 24px; max-height:calc(100svh - 24px); }
  .service-dialog>h2 { font-size:27px; }
  .dialog-bottom { align-items:flex-start; flex-direction:column; gap:16px; }
  .dialog-bottom .button { width:100%; }
  .dialog-close { top:8px; right:8px; }
  .dialog-subtitle { margin-top:22px; }
  #dialog-scenarios p { font-size:16px; }
}
@media (max-width:1100px) {
  .hero { grid-template-columns:minmax(0,1fr); row-gap:44px; height:auto; min-height:0; max-height:none; padding-top:136px; padding-bottom:105px; }
  .hero-visual { grid-template-rows:auto auto auto; row-gap:24px; width:100%; max-width:560px; justify-self:center; padding:0; }
  .hero-visual .hero-art { height:auto; aspect-ratio:1; }
}
@media (max-width:760px) {
  .hero { padding-top:124px; row-gap:38px; }
  .hero-visual { row-gap:20px; }
  .hero-visual .art-image-wrap { inset:14px; }
}
@media (max-width:550px) { .service-grid { grid-template-columns:1fr; } .service-card { min-height:274px; } }
@media (max-width:380px) { .hero .button { font-size:14px; } .hero-actions { gap:17px; } .hero-description { font-size:16px; } .hero-description br { display:none; } .map-core { padding-inline:10px; gap:9px; } .map-icon { width:26px; height:26px; } .map-core>div>span { font-size:12px; letter-spacing:-.2px; } .contact h2 { font-size:32px; } }
@media (prefers-reduced-motion:reduce) { .will-reveal { opacity:1; transform:none; } .service-card { transform:none!important; } }
