:root{--page-gutter:8vw;--header-height:94px;--bg:#f8faff;--text:#172843;--muted:#536780;--accent:#245eea;--line:#dce5f2;--font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}p{line-height:1.85}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,summary{cursor:pointer}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#dbe7ff}.skip{position:fixed;top:-80px;left:20px;padding:14px;background:var(--accent);color:#fff;z-index:100}.skip:focus{top:12px}
.header{height:var(--header-height);padding-left:calc(var(--page-gutter) - 58px);padding-right:var(--page-gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-symbol{display:block;width:48px;height:auto}.brand-wordmark{display:block;width:92px;height:auto}.brand>span{display:flex;flex-direction:column;align-items:center;gap:5px}.brand small{font:400 9px/1 monospace;letter-spacing:2.5px;padding-left:2.5px;color:#607596;white-space:nowrap}.header nav{display:flex;gap:36px;font-size:16px;color:#4c607c}.header nav a:hover,.text-link:hover{color:var(--accent)}.nav-cta{padding:12px 20px;border:1px solid #c5d5f4;border-radius:6px;font-size:15px;white-space:nowrap}.nav-cta span{margin-left:20px}.nav-cta:hover{border-color:var(--accent)}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - var(--header-height));height:auto;background:radial-gradient(ellipse at 80% 46%,#e6eeff,transparent 54%),var(--bg)}#field{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero.field-active #field{cursor:crosshair}.hero-content{position:relative;z-index:2;padding:100px 0 90px var(--page-gutter);pointer-events:none}.hero-content a{pointer-events:auto}.eyebrow{font-size:16px;line-height:1.5;font-weight:550;color:var(--accent);margin-bottom:20px}.hero h1{font-size:clamp(62px,5.8vw,94px);font-weight:600;line-height:1.2;letter-spacing:-3px;margin-bottom:30px}.accent{color:var(--accent)}.hero-copy{font-size:19px;color:var(--muted);line-height:1.95}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 25px;font-size:16px;font-weight:500;border:0;border-radius:7px;transition:background .2s,transform .2s}.primary{background:var(--accent);color:#fff;box-shadow:0 6px 18px #245eea18}.primary:hover{background:#194dcc;transform:translateY(-2px)}.text-link{font-size:16px;display:inline-flex;gap:15px;align-items:center}
.section{padding:88px var(--page-gutter)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:44px}.section-heading>p{max-width:390px;font-size:17px;color:var(--muted)}h2{font-size:clamp(30px,2.8vw,44px);line-height:1.4;letter-spacing:-1px;font-weight:550}h3{font-size:23px;line-height:1.5;font-weight:550;letter-spacing:-.4px}.approach{background:#fff;border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.step{padding:28px 0 0;border-top:2px solid #b5cdf9;display:flex;flex-direction:column;align-items:flex-start}.step-number{font:400 34px/1.2 monospace;color:var(--accent);margin-bottom:24px}.step h3{margin-bottom:16px}.step p{font-size:17px;color:var(--muted);max-width:430px;margin-bottom:28px}.deliverable{margin-top:auto;display:flex;flex-direction:column;gap:8px;font-size:16px}.deliverable strong{font-weight:500;color:#263f64}.deliverable span{color:var(--muted)}
.scenarios{background:#eef3fc}.scenario-layout{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(0,2fr);gap:44px}.scenario-tabs{display:flex;flex-direction:column;gap:8px}.scenario-tabs button{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:23px 22px;border:0;border-radius:7px;background:transparent;color:#516884;font-size:18px;line-height:1.5}.scenario-tabs button[aria-selected=true]{background:var(--accent);color:#fff}.scenario-tabs button:hover:not([aria-selected=true]){background:#e0e9f9}.scenario-panel{padding:36px 40px;background:#fff;border:1px solid #dce5f2;border-radius:12px;min-width:0}.scenario-panel h3{font-size:26px}.scenario-facts{margin:28px 0 0;display:flex;flex-direction:column;gap:22px}.scenario-facts>div{display:grid;grid-template-columns:80px 1fr;gap:24px;font-size:17px;line-height:1.8}.scenario-facts dt{color:#263f64;font-weight:500}.scenario-facts dd{margin:0;color:var(--muted)}
.cases{background:#fff}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.case-card{padding:32px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-width:0;background:linear-gradient(160deg,#f8faff,#fff 70%)}.case-card h3{font-size:22px;margin-bottom:18px}.case-card>p{font-size:17px;color:var(--muted);margin-bottom:32px}.case-metric{margin-top:auto;display:flex;flex-direction:column;gap:12px;margin-bottom:30px}.case-metric strong{font:500 48px/1.2 var(--font);letter-spacing:-2px;color:var(--accent)}.case-metric strong span{font-size:22px;letter-spacing:0}.case-metric>span{font-size:16px;color:var(--muted)}details summary{display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:16px;color:#385b8c;gap:20px}details summary::-webkit-details-marker{display:none}details summary span{font-size:23px;transition:transform .2s}details[open]>summary>span{transform:rotate(45deg)}.case-card details{border-top:1px solid var(--line);padding-top:18px}.case-card details p{margin-top:20px;font-size:16px;color:var(--muted)}.more-cases{margin-top:30px;border-bottom:1px solid var(--line)}.more-cases>summary{padding:18px 0}.more-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding:24px 0 32px}.more-case-grid h3{font-size:20px;margin-bottom:12px}.more-case-grid p{font-size:16px;color:var(--muted)}.source-note{font-size:14px;color:#61728a;margin-top:24px}
.about{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;background:#f5f8fd;border-top:1px solid var(--line)}.about p:not(.eyebrow){font-size:18px;color:var(--muted)}.about p+p{margin-top:16px}.contact{background:linear-gradient(110deg,#eaf1ff,#f2f6ff);display:flex;justify-content:space-between;align-items:center;gap:50px;border-block:1px solid #d5e1f5}.contact h2{font-size:clamp(30px,3vw,46px)}.contact p:not(.eyebrow){font-size:18px;color:var(--muted);margin-top:22px}.contact-placeholders{font-size:14px;color:#61728a;margin-top:24px}.contact-side{flex-shrink:0}.contact-side .button{min-width:230px}.contact .contact-note{font-size:14px;max-width:250px;margin-top:16px}footer{display:flex;justify-content:space-between;align-items:center;padding:36px var(--page-gutter);gap:30px;background:#fff}footer>p,footer>a:last-child{font-size:14px;color:#61728a}
 dialog{background:#fff;color:var(--text);border:1px solid #d3dff2;border-radius:14px;padding:32px;width:min(530px,calc(100% - 32px));max-height:90svh;box-shadow:0 24px 100px #17284326}dialog::backdrop{background:#17284370;backdrop-filter:blur(8px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head .eyebrow{margin:0}.dialog-head button{border:0;background:none;color:var(--muted);padding:5px;font-size:30px;line-height:1}dialog h2{font-size:28px;margin:20px 0 12px}dialog>p{font-size:16px;color:var(--muted)}form label{display:block;font-size:16px;margin-top:22px;color:#344f76}input,textarea,select{display:block;width:100%;font-size:16px;padding:12px;margin-top:9px;border:1px solid #cbd8ed;border-radius:6px;background:#f6f9ff;color:var(--text)}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#6c7e99}form .button{width:100%;margin-top:26px}#form-status{font-size:14px;color:var(--accent);margin-top:12px}
@media(min-width:1800px){.hero-content{padding-top:115px}.section{padding-block:100px}.section-heading>p{max-width:470px}.case-card{padding:38px}.scenario-layout{grid-template-columns:1fr 2.3fr}.scenario-tabs{max-width:450px}}
@media(max-width:1100px){.header{gap:15px}.header nav{gap:22px;font-size:14px}.nav-cta{font-size:14px;padding:12px}.nav-cta span{margin-left:12px}.section-heading{gap:30px}.section-heading>p{max-width:320px}.steps{gap:26px}.case-grid{gap:16px}.case-card{padding:24px}.case-metric strong{font-size:38px}.case-card h3{font-size:20px}.scenario-layout{gap:25px}.scenario-panel{padding:28px}.about{gap:36px}.contact{gap:25px}}
@media(max-width:760px){:root{--page-gutter:7vw;--header-height:76px}.header{height:var(--header-height);padding-inline:var(--page-gutter);gap:12px}.brand{gap:9px}.brand-symbol{width:40px}.brand-wordmark{width:80px}.brand>span{gap:4px}.brand small{font-size:8px;letter-spacing:2px;padding-left:2px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px var(--page-gutter);flex-direction:column;gap:0;font-size:16px}.header nav.open{display:flex}.header nav a{padding:13px 0}.nav-cta{margin-left:auto;font-size:12px;padding:10px 12px}.nav-cta span{margin-left:8px}.menu-toggle{display:block;border:0;background:none;color:var(--text);font-size:20px;padding:5px}.hero{min-height:calc(100svh - var(--header-height))}.hero-content{padding:56px var(--page-gutter) 48px}.eyebrow{font-size:15px;margin-bottom:17px}.hero h1{font-size:clamp(43px,10.8vw,65px);letter-spacing:-2px;margin-bottom:24px}.hero-copy{font-size:16px;line-height:1.9}.hero-actions{gap:23px;margin-top:28px;flex-wrap:wrap}.hero-actions .button{font-size:15px;padding:15px 18px;gap:15px}.hero-actions .text-link{font-size:15px;gap:8px}.section{padding:62px var(--page-gutter)}.section-heading{display:block;margin-bottom:32px}.section-heading>p{max-width:none;font-size:16px;margin-top:20px}h2{font-size:30px;letter-spacing:-.6px}.steps{grid-template-columns:1fr;gap:32px}.step{padding-top:24px}.step-number{font-size:28px;margin-bottom:16px}.step h3{font-size:23px}.step p{font-size:16px;margin-bottom:20px}.deliverable{gap:6px}.scenario-layout{grid-template-columns:1fr;gap:22px}.scenario-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scenario-tabs button{font-size:15px;padding:15px 12px;border:1px solid #d6e1f3;gap:4px}.scenario-panel{padding:26px 22px}.scenario-panel h3{font-size:23px}.scenario-facts{gap:22px}.scenario-facts>div{grid-template-columns:1fr;gap:6px;font-size:16px}.case-grid,.more-case-grid{grid-template-columns:1fr;gap:20px}.case-card{padding:28px}.case-card h3{font-size:23px}.case-card>p{font-size:16px;margin-bottom:25px}.case-metric strong{font-size:44px}.about{grid-template-columns:1fr;gap:25px}.about p:not(.eyebrow){font-size:16px}.contact{display:block}.contact h2{font-size:32px}.contact p:not(.eyebrow){font-size:16px}.contact-side{margin-top:30px}.contact .contact-note{font-size:14px;max-width:none}footer{flex-wrap:wrap;gap:26px;padding-block:30px}footer>p{order:3;width:100%}dialog{padding:24px}.dialog-head .eyebrow{font-size:15px}}
@media(max-width:360px){.header{gap:6px}.header .nav-cta{padding:10px 8px}.header .nav-cta span{display:none}.hero-actions{gap:17px}.hero-actions .button{font-size:14px;padding:14px}.hero-actions .text-link{font-size:14px}.scenario-tabs button{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}#field{visibility:hidden}}
/* Motion: layered depth, soft reveals and restrained pointer feedback. */
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.header{position:sticky;top:0;transition:background .3s,box-shadow .3s;border-bottom-color:#dce5f299}
.header.is-scrolled{background:#ffffffed;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 5px 25px #274d8a08}
.header::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;pointer-events:none;background:linear-gradient(90deg,#245eea,#12b9c5);transform:scaleX(var(--reading-progress,0));transform-origin:left}
.hero-content{translate:0 var(--hero-shift,0px)}
.scenarios,.contact{position:relative;isolation:isolate;overflow:clip}
.scenarios::before,.contact::before{content:"";position:absolute;inset:-80px 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 25%,#69a5ff1c,transparent 55%);translate:0 var(--ambient-y,0px)}
.contact::before{background:radial-gradient(ellipse at 20% 80%,#30bbce16,transparent 60%)}
.case-card{position:relative;isolation:isolate;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .4s}
.case-card::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:radial-gradient(320px circle at var(--light-x,50%) var(--light-y,50%),#77aaff24,transparent 72%);opacity:0;transition:opacity .4s}
.case-card.is-hovered{border-color:#a5c3f7;box-shadow:0 16px 40px #245eea0c}.case-card.is-hovered::before{opacity:1}
.button{position:relative;overflow:hidden;transition:background .25s,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}.button>span,.text-link>span{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.button:hover>span,.text-link:hover>span{transform:translateX(4px)}.primary:hover{box-shadow:0 10px 24px #245eea24}
.primary::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffff22 50%,transparent 80%);transform:translateX(-120%);transition:transform .65s cubic-bezier(.22,1,.36,1);pointer-events:none}.primary:hover::before{transform:translateX(120%)}
.header nav a{position:relative;padding-block:8px}.header nav a::after{content:"";height:2px;position:absolute;left:0;right:0;bottom:0;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
.scenario-tabs button{transition:background .25s,color .25s,box-shadow .25s}.scenario-tabs button[aria-selected=true]{box-shadow:0 6px 20px #245eea16}
@media(hover:none){.case-card{transform:none}.primary::before{display:none}}
@media(prefers-reduced-motion:reduce){.hero-content,.scenarios::before,.contact::before{translate:none!important}.case-card{transform:none!important}.case-card::before,.primary::before{display:none}.button:hover,.button:hover>span,.text-link:hover>span{transform:none}}

/* Prepared offscreen, so entering the viewport cannot flash visible first. */
.reveal-pending{opacity:0}
.reveal-pending:focus-within{opacity:1}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1!important;translate:none!important}}

/* A useful starting point anchors the lower left without competing with the globe. */
.hero{display:flex;flex-direction:column}
.hero-content{padding-bottom:48px}
.hero-entry{position:relative;z-index:2;display:block;width:min(580px,42vw);margin: auto 0 40px var(--page-gutter);padding-top:22px;border-top:1px solid #cbdaf0;transition:border-color .3s}
.hero-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px;color:var(--muted)}
.hero-entry-arrow{color:var(--accent);font-size:22px;transition:transform .3s}
.hero-entry ul{display:flex;justify-content:space-between;gap:18px;list-style:none;margin:18px 0 0;padding:0}
.hero-entry li{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:500;white-space:nowrap}
.entry-dot{width:7px;height:7px;border:1px solid #4f81ed;transform:rotate(45deg);background:#dce9ff}
.hero-entry:hover{border-color:var(--accent)}
.hero-entry:hover .hero-entry-arrow{transform:translate(3px,-3px)}
@media(max-width:1100px){.hero-entry{width:min(520px,60vw)}}
@media(max-width:760px){.hero-content{padding-bottom:36px}.hero-entry{width:auto;margin: auto var(--page-gutter) 30px;padding-top:20px}.hero-entry-heading{font-size:15px}.hero-entry ul{gap:10px;margin-top:16px}.hero-entry li{font-size:16px;gap:7px}.entry-dot{width:5px;height:5px}}
@media(prefers-reduced-motion:reduce){.hero-entry-arrow{transform:none!important}}
