/* OCL AI reference direction; original implementation for 幕創. */
/* Design variables are defined in tokens.css. */
.hero-labels{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:22px;white-space:nowrap}
.hero .hero-labels .kicker{margin-bottom:0}
.hero-label-times{color:var(--blue);font-size:26px;font-weight:500;line-height:1}
@media(max-width:1023px){.hero-labels{margin-bottom:20px}}
@media(max-width:699px){.hero-labels{gap:8px}.hero-label-times{font-size:20px}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;color:var(--ink);background:var(--white);font:400 16px/1.9 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,figure{margin:0}button,input,textarea,select{font:inherit;min-width:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;height:auto;display:block}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}[hidden]{display:none!important}
.wrap{width:min(var(--width),calc(100% - 64px));margin-inline:auto}section{padding:88px 0}section[id],[id^='uc-']{scroll-margin-top:22px}.alt{background:var(--paper)}.grid{display:grid;gap:30px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid>*,.hero-grid>*{min-width:0}
h1,h2,h3{font-weight:800;line-height:1.5;text-wrap:pretty}h2{color:var(--navy);font-size:clamp(27px,2.65vw,38px);letter-spacing:.035em}h3{color:var(--blue);font-size:23px}.kicker{display:block;color:var(--blue);font-size:14px;font-weight:700;letter-spacing:.1em;margin-bottom:12px}.lede{font-size:16px;line-height:2}.section-head{max-width:860px;margin:0 auto 52px;text-align:center}.section-head .lede{max-width:760px;margin:20px auto 0}.section-head .kicker{color:var(--navy)}.fine,.todo{font-size:12px;line-height:1.85;color:var(--muted)}.note{margin:36px auto 0;max-width:900px;text-align:center;font-weight:700;color:var(--navy);font-size:17px}.tick{color:var(--navy);font-weight:700;margin-top:24px}.mark{background:linear-gradient(transparent 73%,var(--yellow-soft) 73%,var(--yellow-soft) 96%,transparent 96%)}.card{background:var(--white);border-radius:var(--radius);padding:32px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--navy);color:white;padding:10px 20px}.skip-link:focus{top:12px}
.nav{position:sticky;top:0;z-index:50;background:var(--white)}.nav-in{width:calc(100% - 80px);max-width:1600px;height:var(--header);display:flex;gap:30px;align-items:center;margin:auto}.nav-logo{flex:none}.brand-logo{width:196px;height:65px;object-fit:contain}.nav-links{margin-left:auto;display:flex;align-items:center;gap:24px}.nav-links>a{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;white-space:nowrap;transition:color .2s}.nav-actions{display:flex;gap:12px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:56px;padding:12px 30px;border:0;border-radius:99px;background:var(--navy);color:var(--white);font-weight:800;text-align:center;line-height:1.5;transition:background .2s,transform .25s,box-shadow .25s}.btn--yellow{background:var(--yellow);color:var(--navy)}.btn--white{background:white;color:var(--navy)}.btn--full{width:100%}.btn--arrow:after{content:'';width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);flex:none;margin-left:auto}.nav .btn{font-size:14px;padding-inline:25px;min-width:156px}
.menu-toggle{display:none;width:48px;height:48px;border:0;background:transparent;color:var(--ink);position:relative}.menu-toggle span{width:24px;height:2px;position:absolute;top:18px;right:12px;background:currentColor;transition:transform .2s}.menu-toggle span:nth-child(2){top:25px;width:18px}.menu-toggle span:nth-child(3){top:32px;width:11px}.menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded='true'] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded='true'] span:nth-child(3){width:24px;transform:translateY(-7px) rotate(-45deg)}.nav-links .mobile-action{display:none}
.cta-band{position:relative;overflow:hidden;background:var(--bright);text-align:center;padding:40px 0 42px;color:white}.cta-band:before,.cta-band:after{content:'';position:absolute;width:330px;height:330px;border:64px solid rgb(255 255 255 / 8%);border-radius:50%;right:-70px;top:-70px;transform:rotate(-20deg);pointer-events:none}.cta-band:after{width:240px;height:240px;right:180px;top:70px}.cta-band .wrap{position:relative;z-index:1}.cta-band h2{font-size:25px;color:white;margin-bottom:40px}.cta-actions{display:flex;justify-content:center;gap:24px;max-width:920px;margin-inline:auto}.cta-actions .btn{position:relative;flex:1;min-height:82px;font-size:21px;padding:20px 36px}.cta-caption{position:absolute;left:50%;top:-22px;transform:translateX(-50%);background:var(--navy);color:var(--yellow-soft);border-radius:99px;padding:6px 18px;font-size:12px;white-space:nowrap}.cta-caption:after{content:'';position:absolute;bottom:-5px;left:calc(50% - 6px);width:12px;height:12px;background:var(--navy);transform:rotate(45deg)}
/* Center CTA labels independently of their decorative right arrows at every screen size. */
.cta-actions .btn.btn--arrow{justify-content:center;padding-inline:clamp(32px,3vw,40px)}
.cta-actions .btn--arrow:after{position:absolute;right:clamp(16px,1.7vw,24px);top:50%;margin-left:0;transform:translateY(-50%) rotate(45deg)}
.cta-caption-label{color:var(--white)}
.hero{--hero-title-size:62px;--hero-intro-size:25px;background:var(--paper);padding:68px 0 66px}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:center;min-height:408px}.hero-copy{text-align:center}.hero .kicker{display:inline-block;color:white;background:var(--blue);padding:4px 14px;border-radius:5px;font-size:14px;font-weight:800;letter-spacing:.06em;margin-bottom:22px}.hero h1{color:var(--blue);font-size:clamp(36px,3.7vw,54px);font-weight:900;line-height:1.45;letter-spacing:-.025em}.hero-intro{display:block;color:#2c4585;font-size:var(--hero-intro-size);letter-spacing:.045em;margin-bottom:10px}.hero-main{display:block;font-size:var(--hero-title-size);white-space:nowrap}.hero-ai{font-size:calc(var(--hero-title-size) * 80 / 62);color:var(--yellow)}.hero-emphasis{display:inline-block;position:relative;font-size:var(--hero-title-size);letter-spacing:.03em;line-height:1.4}.hero-emphasis:after{content:'';display:block;position:absolute;left:-8px;right:-8px;height:20px;bottom:-4px;border-bottom:3px solid var(--blue);border-radius:50%;transform:rotate(-3deg)}.hero .lede{max-width:470px;margin:28px auto 0;color:var(--navy);font-size:15px;line-height:2.05}.hero-scene{width:100%;position:relative;padding:25px 36px 75px 0}

.dashboard{overflow:hidden;border-radius:4px 4px 0 0;background:#f0f8fa;border:1px solid #d5e7ec;min-height:306px}.dash-top{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);background:white;color:var(--navy);font-size:10px;font-weight:800}.dash-top img{width:82px;height:27px;object-fit:contain}.dash-layout{display:grid;grid-template-columns:84px minmax(0,1fr);min-height:258px}.dash-nav{background:white;padding:20px 8px;display:flex;flex-direction:column;gap:15px;font-size:8px;color:#6b7d99}.dash-nav span:first-child{color:var(--navy);background:var(--paper);border-radius:4px;padding:4px}.dash-body{padding:14px}.dash-title{color:var(--navy);font-weight:700;font-size:12px}.dash-steps{display:flex;gap:7px;margin:10px 0 16px}.dash-steps span{flex:1;padding:9px 4px;text-align:center;background:white;border:1px solid var(--line);border-radius:7px;font-size:8px;color:var(--navy)}.dash-steps b{display:block;font-size:16px;line-height:1.3;color:var(--blue)}.dash-work{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px}.dash-work img{width:100%;mix-blend-mode:multiply}.dash-work div{display:grid;gap:8px}.dash-work span{background:white;padding:7px;border:1px solid var(--line);border-radius:4px;color:var(--navy);font-size:9px}.dash-work span:before{content:'✓';color:var(--blue);margin-right:7px}
.phone-heading{text-align:center;font-size:10px;color:var(--navy);font-weight:800;border-bottom:1px solid var(--line);padding-bottom:7px}.phone-bubble{margin-top:10px;padding:7px;font-size:8px;line-height:1.7;background:var(--paper);border-radius:7px 7px 7px 0}.phone-bubble.is-blue{color:white;background:var(--blue);border-radius:7px 7px 0 7px}.phone-bubble strong{font-size:9px}.scene-tag{position:absolute;z-index:2;top:-2px;right:48px;padding:9px 18px;color:var(--navy);font-weight:800;font-size:13px;background:white;border-radius:99px;box-shadow:var(--shadow)}.scene-tag:before{content:'✦';color:var(--blue);margin-right:8px}.scene-note{position:absolute;bottom:-14px;left:0;right:0;font-size:10px;color:var(--muted);text-align:center}
/* Section layouts */

#pain .card{background:transparent;padding:0 22px;text-align:center}#pain h3{color:var(--navy);font-size:19px;margin:24px 0 14px}#pain .lede{text-align:left;font-size:15px}.ill-sq{aspect-ratio:1;object-fit:contain;border-radius:50%;background:white;width:176px;margin:auto;padding:10px}#pain .note{font-size:18px;background:white;border-radius:10px;padding:22px 26px;margin-top:44px}

#service{background:white;padding-top:28px}.service-rows{display:grid;gap:76px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:none;padding:0;border-radius:0}.service-media{position:relative;padding:40px;background:var(--paper);border-radius:50% 44% 42% 48%}.service-media img{width:100%;mix-blend-mode:multiply}.service-row:nth-child(even) .service-media{order:2;background:#f0f8fa;border-radius:42% 50% 45% 44%}.num{display:inline-flex;width:80px;height:80px;border-radius:50%;justify-content:center;align-items:center;background:var(--navy);color:white;font-size:14px;font-weight:700;margin-bottom:24px;text-align:center}.service-row h3{font-size:28px;margin-bottom:22px}.plain{list-style:none;padding:0}.plain li{padding:10px 14px 10px 40px;position:relative;margin-bottom:8px;background:var(--paper);border-radius:6px;font-size:14px;color:var(--navy)}.plain li:before{content:'✓';position:absolute;left:14px;top:13px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--bright);font-size:10px;line-height:1}.bar{display:none}

/* Application map and the eleven illustrated feature rows. */
#usecases{position:relative;overflow:hidden}#usecases:before{content:'';position:absolute;width:440px;height:440px;border:80px solid rgb(255 255 255 / 58%);border-radius:50%;top:-285px;left:-110px;pointer-events:none}#usecases .wrap{position:relative}.tree-root{width:max-content;max-width:100%;margin:0 auto 36px;padding:15px 40px;background:var(--navy);color:white;border-radius:99px;text-align:center}.tree-root b{font-size:20px}.tree-root span{display:block;font-size:12px;color:var(--yellow-soft);font-weight:700}.tree-branches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.tree-col{background:white;border-radius:20px;padding:26px 16px 18px;position:relative}.tree-col:before{content:'';position:absolute;width:2px;height:20px;background:#b5e4e9;top:-28px;left:50%}.tree-branch{font-size:18px;font-weight:800;color:var(--navy);text-align:center;padding-bottom:16px;border-bottom:1px solid var(--line)}.tree-leaves{padding:12px 0 0;list-style:none}.tree-leaves a{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:45px;font-size:13px;padding-block:8px;color:var(--navy)}.tree-leaves a:after{content:'';width:12px;height:9px;flex:none;background:var(--navy);clip-path:polygon(0 0,100% 0,50% 100%)}#usecases .tick{text-align:center;font-size:14px;margin-top:32px}
#uc-list{background:white}.uc-grid{display:grid;gap:64px}.uc{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding:30px 0;border-radius:0;background:transparent;align-items:center}.uc:nth-child(even) .feature-media{order:2}.feature-media{position:relative;padding:34px 22px;border-radius:24px;background:var(--paper)}.feature-media:after{content:'';position:absolute;width:54px;height:54px;border:13px solid var(--yellow-soft);border-radius:50%;right:-10px;bottom:-10px;z-index:0}.uc:nth-child(3n) .feature-media{background:#eff8f4}.uc:nth-child(3n) .feature-media:after{border-color:#a8decb}.uc:nth-child(3n + 2) .feature-media{background:#f6f7fb}.uc-tag{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--navy);color:white;border-radius:50%;font-size:16px;font-weight:700;line-height:1.6;text-align:center;white-space:pre-line;padding:10px;margin-bottom:20px}.uc h3{margin-bottom:14px;font-size:27px}.uc-scene{font-size:15px;margin-bottom:20px}.uc-row{display:grid;gap:12px;font-size:14px}.uc-box{padding:0}.uc-box b{color:var(--muted);display:block;font-size:12px;margin-bottom:3px}.uc-box.is-after{padding:14px 18px;background:var(--paper);border-radius:8px;color:var(--navy)}.uc-box.is-after b{color:var(--blue)}.uc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.uc-chips span{font-size:12px;font-weight:500;border:1px solid #b5e4e9;border-radius:5px;padding:4px 9px;color:var(--navy)}.uc-real{font-size:12px;line-height:1.9;color:var(--muted);margin-top:16px}.uc-real b{color:var(--navy);margin-right:8px}.uc-real .todo{display:block}
.win{position:relative;z-index:1;overflow:hidden;border:1px solid #e0e5ef;border-radius:12px;background:white;box-shadow:var(--shadow)}.win-bar{display:flex;align-items:center;gap:5px;padding:12px 14px;background:#f6f8fc;border-bottom:1px solid var(--line)}.win-bar i{width:6px;height:6px;background:#c8d3e4;border-radius:50%}.win-bar span{font-size:11px;color:var(--muted);margin-left:8px}.win-body{min-height:244px;padding:24px;display:grid;place-items:center}.mock-caption{display:flex;justify-content:space-between;gap:12px;width:100%;color:var(--navy);font-size:13px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:16px}.mock-caption span{font-size:10px;font-weight:400;color:var(--muted)}.mock-tags{display:flex;gap:7px;flex-wrap:wrap;width:100%;margin-top:18px}.mock-tags span{font-size:10px;background:var(--paper);color:var(--navy);border-radius:4px;padding:5px 8px}.mk{width:100%;min-height:130px}.mk-doc{display:grid;gap:9px;width:78%;margin-inline:auto}.mk-doc b{width:48%;height:16px;background:var(--blue);border-radius:3px}.mk-doc i{width:100%;height:7px;background:#e4ebf5;border-radius:4px}.mk-doc i:nth-child(3n){width:72%}.mk-doc em{display:block;height:30px;background:var(--paper);border-radius:4px}.mk-chat{display:flex;flex-direction:column;gap:10px}.mk-chat i{display:block;width:69%;height:27px;border-radius:9px 9px 9px 0;background:var(--paper)}.mk-chat .r{align-self:end;border-radius:9px 9px 0 9px;background:#e8eef5}.mk-chat .hi{background:var(--blue);width:60%}.mk-table{display:grid;gap:7px}.mk-table i{height:16px;background:repeating-linear-gradient(90deg,#edf3fc 0,#edf3fc 31%,white 31%,white 33%);border-radius:3px}.mk-table .h{background:var(--blue);height:23px}.mk-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mk-tiles i{display:block;border-radius:6px;background:#e4eefb;min-height:66px}.mk-tiles i:nth-child(2),.mk-tiles i:nth-child(4){background:#cae8dc}.mk-tiles .hi{background:var(--yellow-soft)}.mk-feed{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mk-feed>div{border:1px solid var(--line);border-radius:7px;padding:9px}.mk-feed b{display:block;height:80px;background:var(--paper);border-radius:4px;margin-bottom:10px}.mk-feed .hi b{background:#cae1ff}.mk-feed i{display:block;width:90%;height:5px;background:var(--line);border-radius:3px;margin-top:7px}.mk-video>b{display:block;width:60%;height:80px;margin:auto auto 15px;border-radius:7px;background:var(--paper);position:relative}.mk-video>b:after{content:'▶';position:absolute;top:22px;left:46%;color:var(--blue)}.tr{display:flex;gap:4px;margin-top:5px}.tr i{flex:1;display:block;height:12px;background:#cae6dc;border-radius:3px}.tr .hi{background:#adc9f2}.mk-site>b{display:block;height:58px;background:var(--paper);border-radius:5px}.mk-site>em{display:block;width:36%;height:14px;background:var(--yellow);border-radius:8px;margin:12px auto}.cols{display:flex;gap:8px}.cols i{flex:1;height:46px;display:block;border-radius:4px;background:#edf2f8}.mk-code{padding:16px;background:#f7f9fd;border-radius:5px}.mk-code i{display:block;height:6px;width:80%;background:#c7d6ed;margin-bottom:12px;border-radius:3px}.mk-code i:nth-child(even){width:60%;margin-left:16px}.mk-code .hi{background:var(--blue)}.mk-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.mk-cal i{display:block;min-height:55px;background:#f1f5fc;border-radius:4px}.mk-cal .hi{background:#b9d3f7;box-shadow:inset 0 7px 0 var(--blue)}.mk-bars{height:140px;display:flex;gap:12px;align-items:end;border-bottom:1px solid var(--line)}.mk-bars i{flex:1;background:#c5daf9;border-radius:5px 5px 0 0}.mk-bars .hi{background:var(--blue)}
/* Responsibilities, deliverables, process, team, FAQ and contact. */
.boundary-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}.ill-collab{width:100%;mix-blend-mode:multiply}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative}.split-side{background:white;padding:26px 22px;border-radius:18px}.split-side h3{font-size:20px;text-align:center;margin-bottom:20px}.split-side .plain li{font-size:15px;padding-left:33px;padding-right:8px}.split-side .plain li:before{left:10px}.split-mid{position:absolute;top:45%;left:calc(50% - 23px);z-index:1;display:grid;place-items:center;border-radius:50%;background:var(--yellow-soft);color:var(--navy);font-size:11px;font-weight:900;width:46px;height:46px}.is-human{box-shadow:0 0 0 2px var(--blue)}
#deliverables,#process{background:var(--navy);color:white}#deliverables h2,#deliverables .kicker,#process h2,#process .kicker{color:white}#deliverables{padding-bottom:36px}#deliverables .fine{color:#d6e4fa;text-align:center;margin-top:-28px;margin-bottom:36px!important}#deliverables .card{padding:34px 24px;text-align:center}#deliverables h3{font-size:19px;color:var(--navy);margin-bottom:14px}#deliverables .lede{font-size:14px;color:var(--ink)}
/* Original line icons: keep the card rhythm; scope to deliverables only. */
#deliverables .deliverable-icon{width:55px;height:55px;margin:0 auto 24px;display:grid;place-items:center}
#deliverables .deliverable-icon img{width:48px;height:48px;object-fit:contain}
#process{padding-top:44px}#process .section-head{margin-bottom:40px}.steps{--flow-gap:32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--flow-gap)}.step{position:relative;background:#067e92;border-radius:12px;padding:24px}.step .num{background:rgb(255 255 255 / 15%);width:42px;height:42px;font-size:16px;margin-bottom:18px}.step h3{color:white;font-size:20px;margin-bottom:12px}.step .lede{font-size:13px;color:white}.step .todo{display:block;color:#e1ecff;margin-top:8px;font-size:11px}.beamline,.step-node{display:none}
#trust{background:white}#trust .wrap{max-width:1060px;gap:80px}.ill-portrait{aspect-ratio:1;object-fit:cover;background:var(--paper);border-radius:50%;padding:24px}#trust h2{font-size:29px}#trust .lede{font-size:15px}#faq{background:var(--paper)}.faq-title{position:relative;max-width:1000px;margin:0 auto 32px}.faq-title .section-head{margin-bottom:0;padding:22px 100px}.faq-title .ill{position:absolute;right:0;bottom:0;width:120px;mix-blend-mode:multiply}.faq-list{max-width:1000px;margin:auto}.faq-list .fine{margin-bottom:18px}
details{background:white;border-radius:9px;margin-bottom:15px}summary{list-style:none;min-height:84px;padding:23px 30px;cursor:pointer;display:flex;gap:23px;align-items:center;font-size:16px;font-weight:500}summary::-webkit-details-marker{display:none}summary:before{content:'Q';font-size:23px;color:var(--blue);font-weight:700;line-height:1}summary:after{content:'';width:9px;height:9px;border-bottom:1px solid #647185;border-right:1px solid #647185;transform:rotate(45deg);margin-left:auto;flex:none;transition:transform .2s}details[open] summary:after{transform:rotate(225deg)}details[open] summary{color:var(--navy)}details>p{padding:0 72px 28px;font-size:14px;line-height:2}details>p:before{content:'A';color:var(--blue);font-weight:700;margin-left:-38px;margin-right:25px}
#contact{background:white}#contact .wrap{gap:74px;align-items:start}#contact h2{font-size:34px;margin-bottom:24px}#contact .plain{margin-block:24px}#contact .plain li{background:transparent;padding-left:28px}#contact .plain li:before{left:0}.contact-picture{margin-top:28px;width:260px}.form-card{padding:34px;border-radius:24px;box-shadow:var(--shadow);border:1px solid #edf1f7;background:white}.form-card h3{font-size:22px;margin-bottom:6px;color:var(--navy)}.form-card .fine{margin:12px 0 0}.field{margin-bottom:17px}.field label{display:block;color:var(--navy);font-size:13px;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea{border:1px solid #bfdce2;background:#f5fafb;color:var(--ink);padding:12px 14px;border-radius:7px;width:100%;min-height:48px;font-size:16px;transition:border-color .2s}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);outline:2px solid rgb(47 115 217 / 15%)}.form-status{padding:14px;background:var(--paper);border-radius:8px;margin-top:16px;font-size:14px;color:var(--navy)}
.foot{border-top:1px solid var(--line);padding:56px 0 36px;background:white;color:var(--navy)}.foot .wrap{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px}.foot-logo{width:205px;margin-bottom:24px}.foot strong{font-size:17px!important}.foot p{font-size:13px}.foot-top{font-size:13px;padding:12px 0}.floating-cta{position:fixed;bottom:24px;right:24px;z-index:40;background:var(--navy);color:white;border-radius:99px;padding:17px 26px;font-size:14px;font-weight:700;display:flex;gap:12px;align-items:center;box-shadow:0 3px 16px rgb(14 42 82 / 22%);transition:transform .25s,opacity .25s}.floating-cta svg{width:18px;height:18px;flex:none}.floating-cta.is-hidden{opacity:0;transform:translateY(18px);visibility:hidden;pointer-events:none}
@media(hover:hover) and (pointer:fine){.nav-links>a:hover,.tree-leaves a:hover,.foot-top:hover{color:var(--blue)}.btn:hover{transform:translateY(-2px);background:var(--blue);box-shadow:0 8px 20px rgb(17 61 122 / 14%)}.btn--yellow:hover{background:var(--yellow-soft)}.btn--white:hover{background:var(--paper)}summary:hover{color:var(--blue)}.tree-leaves a:hover:after{transform:translateY(2px)}}
/* No JS means visible content. Motion never controls form behavior. */
.motion-ready [data-rv]{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s var(--ease);transition-delay:var(--delay,0ms)}.motion-ready [data-rv].is-visible{opacity:1;transform:none}.motion-ready .hero-copy{animation:entrance .8s var(--ease) both}.motion-ready .hero-scene{animation:entrance 1s .2s var(--ease) both}.motion-ready .phone{animation:entrance .8s .45s var(--ease) both}.motion-ready .scene-tag{animation:soft-pop .9s .7s both}.star{width:20px;height:20px;background:var(--yellow-soft);clip-path:polygon(50% 0%,61% 37%,100% 50%,61% 63%,50% 100%,39% 63%,0% 50%,39% 37%);position:absolute;top:35px;left:3%;pointer-events:none}.star--two{left:auto;right:4%;top:70px;width:12px;height:12px}.motion-ready .is-visible .star{animation:twinkle 1.7s ease-in-out 2}
@keyframes entrance{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes soft-pop{0%{opacity:0;transform:scale(.82)}65%{opacity:1;transform:scale(1.03)}100%{opacity:1;transform:scale(1)}}@keyframes twinkle{0%,100%{transform:scale(1)}50%{transform:scale(.65)}}
#deliverables .mark{background:none;text-decoration:underline;text-decoration-color:var(--yellow-soft);text-underline-offset:.25em;text-decoration-thickness:3px}
/* Application demos reveal their output once when entering the viewport. */
.motion-ready .uc.is-visible .mk>*{animation:demo-in .65s var(--ease) both;animation-delay:var(--item-delay,0ms)}
.mk>:nth-child(2){--item-delay:100ms}.mk>:nth-child(3){--item-delay:200ms}.mk>:nth-child(4){--item-delay:300ms}.mk>:nth-child(5){--item-delay:400ms}.mk>:nth-child(6){--item-delay:500ms}.mk>:nth-child(7){--item-delay:600ms}
.motion-ready .uc.is-visible .mk-doc>i,.motion-ready .uc.is-visible .mk-code>i{animation-name:line-in;transform-origin:left}
.motion-ready .uc.is-visible .mk-bars>i{animation-name:chart-in;transform-origin:bottom}
.motion-ready .service-row.is-visible .service-media{animation:soft-pop .85s var(--ease) both}
@keyframes demo-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes line-in{from{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}
@keyframes chart-in{from{opacity:0;transform:scaleY(.1)}to{opacity:1;transform:scaleY(1)}}
/* Service labels stay readable at all widths without changing process numbers. */
#service .service-body>.num{width:75px;height:75px;font-size:18px}
/* Show the complete supplied logo, scaled with the existing heading sizes. */
.hero-intro{display:flex;align-items:center;justify-content:center;gap:.4em}
.inline-brand-logo{display:block;flex:none;width:3em;height:auto;object-fit:contain}




/* Solid rounded triangle connectors, centered in the actual grid gaps. */
.hero-pts li:not(:last-child):after,.step:not(:last-child):after{content:'';position:absolute;pointer-events:none;width:18px;height:33px;right:calc(var(--flow-gap) / -2 - 9px);top:50%;transform:translateY(-50%);background:var(--blue);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 33'%3E%3Cpath d='M4 5 14 16.5 4 28Z' fill='black' stroke='black' stroke-width='3.6' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.step:not(:last-child):after{background:var(--white)}
@media(max-width:1023px){.step{display:grid;grid-template-columns:45px 1fr;gap:0 18px}.step .num{grid-row:span 2;margin:0}.step:not(:last-child):after{top:calc(100% + var(--flow-gap) / 2);left:50%;right:auto;transform:translate(-50%,-50%) rotate(90deg)}}
@media(max-width:699px){.hero-pts li:not(:last-child):after{top:calc(100% + var(--flow-gap) / 2);left:50%;right:auto;transform:translate(-50%,-50%) rotate(90deg)}}
/* Responsive styles follow. */
@media(max-width:1240px){.hero{--hero-title-size:clamp(50px,5vw,62px)}
.nav-in{width:calc(100% - 40px);gap:20px}.brand-logo{width:156px}.nav-links{gap:16px}.nav-links>a{font-size:13px}.nav .btn{min-width:132px;padding-inline:18px;font-size:13px}.hero-grid{gap:34px}.hero h1{font-size:41px}.uc{gap:54px}
}
@media(max-width:1023px){
html:not(.js-ready) .nav{position:static}html:not(.js-ready) .nav-in{height:auto;flex-wrap:wrap;padding-block:10px}html:not(.js-ready) .nav-links{position:static;flex-basis:100%;box-shadow:none}html:not(.js-ready) .menu-toggle{display:none}
:root{--header:78px}.wrap{width:min(760px,calc(100% - 48px))}.nav-in{width:calc(100% - 40px)}.brand-logo{width:165px;height:58px}.nav-actions{display:none}.menu-toggle{display:block;margin-left:auto}.nav-links{position:absolute;top:100%;left:0;right:0;margin:0;padding:20px 30px 28px;background:white;box-shadow:0 12px 20px rgb(25 51 88 / 8%);display:grid;grid-template-columns:1fr 1fr;gap:0 20px;max-height:calc(100svh - var(--header));overflow:auto}.nav-links>a{padding:14px 10px;min-height:48px;border-bottom:1px solid var(--line);font-size:15px}.nav-links .mobile-action{display:inline-flex;grid-column:1 / -1;margin-top:20px;border:0}.nav-links[data-collapsed='true']{display:none}
.hero{--hero-title-size:62px;padding:42px 0 60px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-copy{max-width:610px;margin-inline:auto}.hero .kicker{font-size:14px;margin-bottom:20px}.hero h1{font-size:49px}.hero .lede{max-width:550px;font-size:15px}.hero-scene{max-width:580px;margin-inline:auto}.cta-band h2{font-size:22px}.cta-actions .btn{min-height:72px;font-size:18px;padding-inline:26px}
#pain .card{padding-inline:4px}.ill-sq{width:155px}#pain h3{font-size:18px}
.service-row{gap:40px}.service-row h3{font-size:24px}.service-media{padding:24px}.num{width:70px;height:70px}.tree-branches{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tree-col:before{display:none}.uc{gap:36px}.feature-media{padding:24px 16px}.win-body{padding:16px}.win-bar{padding:10px}.win-bar span{font-size:9px}.uc h3{font-size:24px}.uc-row{font-size:13px}
.boundary-grid{grid-template-columns:1fr;gap:32px}.ill-collab{max-width:380px;margin:auto}#deliverables .g4{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{--flow-gap:40px;grid-template-columns:1fr}#trust .wrap{gap:40px}#trust h2{font-size:24px}#contact .wrap{gap:36px}#contact h2{font-size:28px}.form-card{padding:26px}
}
@media(max-width:699px){
/* Scale the 62px / 80px heading ratio to fit mobile screens. */
.hero{--hero-title-size:clamp(28px,9.2vw,62px);--hero-intro-size:clamp(17px,4.6vw,25px)}
body{font-size:15px}.wrap{width:calc(100% - 40px)}section{padding:60px 0}h2{font-size:26px;line-height:1.65;letter-spacing:.015em}.section-head{margin-bottom:34px}.section-head .lede{font-size:14px;margin-top:16px}.kicker{font-size:12px;margin-bottom:10px}.nav-in{width:calc(100% - 32px)}.brand-logo{width:153px;height:52px}
.hero{padding:38px 0 48px}.hero-grid{gap:35px}.hero .kicker{font-size:10.5px;letter-spacing:.025em;padding:4px 10px;margin-bottom:20px}.hero-intro{letter-spacing:.035em;margin-bottom:10px}.hero h1{font-size:clamp(28px,9.2vw,49px);line-height:1.5}.hero .lede{font-size:13px;max-width:350px;margin-top:24px;line-height:2}.hero-scene{width:min(100%,410px);padding:18px 28px 58px 10px}.scene-tag{font-size:10px;padding:6px 12px;right:30px;top:-6px}.dashboard{min-height:182px}.dash-top{padding:7px;font-size:6px}.dash-top img{width:54px;height:18px}.dash-layout{grid-template-columns:51px minmax(0,1fr);min-height:156px}.dash-nav{font-size:5px;gap:8px;padding:10px 4px}.dash-body{padding:8px}.dash-title{font-size:8px}.dash-steps{gap:3px;margin:6px 0 9px}.dash-steps span{padding:6px 2px;font-size:5px}.dash-steps b{font-size:11px}.dash-work{gap:4px}.dash-work div{gap:4px}.dash-work span{font-size:5px;padding:5px 2px}.dash-work span:before{margin-right:3px}.phone-heading{font-size:7px;padding-bottom:5px}.phone-bubble{font-size:5px;padding:5px;margin-top:6px}.phone-bubble strong{font-size:6px}.scene-note{bottom:0;font-size:9px}
.cta-band{padding:32px 0}.cta-band h2{font-size:19px;max-width:300px;margin:0 auto 35px;line-height:1.8}.cta-actions{flex-direction:column;gap:14px}.cta-actions .btn{min-height:66px;font-size:17px;padding:16px 26px}.cta-caption{font-size:10px;padding:5px 15px;top:-19px}.cta-band:before{right:-160px;top:100px}.cta-band:after{display:none}

.g3,.g2,.service-row,.uc,#contact .wrap{grid-template-columns:1fr}#pain .grid{gap:36px}#pain .card{max-width:420px;margin:auto}.ill-sq{width:164px}#pain h3{font-size:20px;margin-top:20px}#pain .lede{font-size:14px}#pain .note{padding:20px;margin-top:34px}
#service{padding-top:22px}.service-rows{gap:60px}.service-row{gap:26px}.service-media,.service-row:nth-child(even) .service-media{order:0;max-width:340px;margin:auto;padding:26px}.num{width:65px;height:65px;font-size:12px;margin-bottom:18px}.service-row h3{font-size:25px}.plain li{font-size:13px;padding-block:12px}.plain li:before{top:17px}.tree-root{padding-inline:30px}.tree-root b{font-size:18px}.tree-branches{grid-template-columns:1fr 1fr;gap:12px}.tree-col{padding:22px 15px 12px;border-radius:16px}.tree-col:last-child{grid-column:1 / -1}.tree-col:last-child .tree-leaves{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tree-branch{font-size:15px}.tree-leaves a{font-size:12px}#usecases .tick{font-size:12px}
.uc-grid{gap:52px}.uc{gap:26px;padding:0 0 42px;border-bottom:1px solid var(--line)}.uc:last-child{border-bottom:0;padding-bottom:0}.uc:nth-child(even) .feature-media{order:0}.feature-media{padding:24px 20px}.win-body{padding:20px}.win-bar span{font-size:10px}.uc-tag{margin-bottom:15px}.uc h3{font-size:26px}.uc-scene{font-size:14px}.uc-row{font-size:14px}.uc-chips span{font-size:11px}.boundary-grid{gap:26px}.ill-collab{max-width:320px}.split{gap:12px}.split-side{padding:23px 12px}.split-side .plain li{padding-left:22px;padding-right:2px}.split-side .plain li:before{left:4px;width:12px;height:12px;font-size:8px;top:15px}.split-mid{width:34px;height:34px;left:calc(50% - 17px);font-size:9px}
#deliverables{padding-bottom:20px}#deliverables .g4{gap:14px}#deliverables .card{padding:24px 16px;border-radius:18px}#deliverables h3{font-size:16px}#deliverables .lede{font-size:12px}#deliverables .fine{font-size:11px;margin-top:-12px}#deliverables .deliverable-icon{width:46px;height:46px;margin-bottom:18px}#deliverables .deliverable-icon img{width:42px;height:42px}#process{padding-top:34px}.step h3{font-size:18px}.step .lede{font-size:13px}#trust .wrap{gap:32px}#trust .ill-portrait{max-width:280px;margin:auto}#trust h2{font-size:26px}.faq-title .section-head{padding:0 52px 0 0;text-align:left}.faq-title .ill{width:90px;right:-6px}.faq-title{margin-bottom:26px}
summary{padding:21px 18px;gap:13px;min-height:76px;font-size:14px}summary:before{font-size:21px}details>p{padding:0 23px 25px 49px;font-size:13px}details>p:before{margin-left:-28px;margin-right:17px}#contact .wrap{gap:34px}#contact h2{font-size:28px}.contact-picture{display:none}.form-card{padding:26px 22px}.form-card h3{font-size:21px}.foot{padding:38px 0 98px}.foot .wrap{grid-template-columns:1fr;gap:18px}.foot-logo{width:180px}.foot p{font-size:12px}.floating-cta{bottom:max(16px,env(safe-area-inset-bottom));right:16px;padding:15px 20px;font-size:12px}
}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.hero .kicker{font-size:9px}#deliverables .g4{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:24px}.split-mid{top:calc(50% - 17px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready [data-rv]{opacity:1!important;transform:none!important}}

/* Contact information supplied for the editable copy. */
.contact-details{margin-top:22px}
.contact-direct{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:18px}
.contact-qr{display:block;flex:0 0 144px;background:#fff}
.contact-qr img{display:block;width:144px;height:144px;object-fit:contain}
.contact-info{display:grid;gap:10px;flex:1 1 220px;font-size:16px;font-style:normal;line-height:1.8;color:var(--navy)}
.contact-info a,.footer-links a{text-decoration:underline;text-underline-offset:4px}
.contact-info a{width:fit-content}
.foot .footer-company{margin-top:20px;font-size:14px}
.foot .footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:8px;font-size:14px}
