/* Pillar template. Shared tokens and navigation live in monday-core.css. */
html{scroll-padding-top:150px}
section{padding:86px 0}
h2{font-size:clamp(32px,3.5vw,46px);font-weight:300;line-height:1.18;letter-spacing:-.045em}
h3{font-size:21px;font-weight:500;line-height:1.35;letter-spacing:-.025em}
p{line-height:1.7}
.section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:36px}
.section-head h2{max-width:640px}
.section-head p{max-width:390px;color:var(--slate);font-size:15px}
.eyebrow{display:block;margin-bottom:14px;color:#404f9e;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.14em}
.muted{color:var(--slate)}
.icon{width:22px;height:22px;flex:none}
.arrow-link{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500}
.arrow-link svg{width:17px;height:17px;transition:transform .2s}
.arrow-link:hover svg{transform:translateX(4px)}
.section-tint{background:#f8f9fc}
.breadcrumb{padding-top:25px;display:flex;gap:10px;align-items:center;font-size:15px;color:var(--slate)}
.breadcrumb svg{width:12px;height:12px;transform:rotate(-90deg)}
.breadcrumb [aria-current]{color:var(--ink)}
.breadcrumb a:hover{color:var(--violet)}

.pillar-hero{padding:40px 0 68px;position:relative;overflow:hidden}
.pillar-hero:before{content:"";position:absolute;right:-120px;top:-100px;width:800px;height:650px;background:radial-gradient(ellipse,rgba(219,219,255,.45),rgba(254,129,228,.06) 60%,transparent 72%);pointer-events:none}
.pillar-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;position:relative}
.hero-label{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:var(--violet-wash);font-size:15px;color:#4f5aa0;font-weight:500;margin-bottom:22px}
.hero-label svg{width:15px;height:15px}
.pillar-hero h1{font-size:clamp(42px,4.5vw,62px);font-weight:300;line-height:1.12;letter-spacing:-.055em;color:var(--black);margin-bottom:24px}
.pillar-hero h1 span{display:block}
.pillar-hero .intro{font-size:16px;color:var(--slate);max-width:520px}
.pillar-hero .intro strong{color:var(--ink);font-weight:500}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:30px}
.hero-actions .btn{font-size:15px;min-height:50px;padding:12px 24px}
.hero-note{display:flex;gap:18px;flex-wrap:wrap;margin-top:21px;font-size:15px;color:var(--slate)}
.hero-note span{display:flex;align-items:center;gap:5px}
.hero-note svg{width:14px;height:14px;color:#52694a}
.hero-visual{position:relative;margin:5px 0 20px;isolation:isolate}
.hero-art{border-radius:36px;background:#edeffb;overflow:hidden;aspect-ratio:1.08;transform:rotate(1deg)}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:48% 50%;transform:scale(1.06)}
.float-card{position:absolute;background:rgba(255,255,255,.97);border:1px solid #eeeef3;border-radius:16px;box-shadow:0 10px 40px #383e651a;z-index:1}
.build-card{left:-24px;bottom:22px;width:255px;padding:17px 20px;transform:rotate(-3deg)}
.card-heading{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:500;margin-bottom:12px}
.mini-dots{display:flex;gap:3px}
.mini-dots i{width:4px;height:4px;background:#cbccd7;border-radius:50%}
.build-row{display:flex;justify-content:space-between;align-items:center;font-size:15px;padding:7px 0;border-top:1px solid #f1f2f7}
.build-row strong{font-size:15px;font-weight:500;padding:3px 7px;border-radius:4px;background:#e8f8ec;color:#2b6a40}
.build-row strong.review{background:#e8efff;color:#42629a}
.visual-tag{right:-15px;top:24px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:15px;transform:rotate(3deg)}
.visual-tag .round-check{width:30px;height:30px;background:var(--p-lime);border-radius:50%;display:grid;place-items:center;color:#43542b}
.visual-tag small{display:block;font-size:15px;color:var(--slate);margin-top:2px}
.demo-label{position:absolute;right:15px;bottom:12px;font-size:15px;letter-spacing:.05em;color:#67627b;background:#ffffffd9;border-radius:5px;padding:3px 7px}
.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;border-top:1px solid #ededf3;padding-top:30px;margin-top:45px}
.hero-meta>span{display:flex;align-items:center;gap:12px;font-size:15px}
.hero-meta svg{color:#666fac;width:21px;height:21px}
.hero-meta strong{font-weight:500;display:block}
.hero-meta small{display:block;font-size:15px;color:var(--slate);margin-top:2px}

.page-nav{position:sticky;top:72px;z-index:35;border-top:1px solid #efeff4;border-bottom:1px solid #e6e7ee;background:#ffffffed;backdrop-filter:blur(12px)}
.page-nav .wrap{display:flex;gap:27px;align-items:center;overflow-x:auto;scrollbar-width:none}
.page-nav a{white-space:nowrap;font-size:15px;color:var(--slate);padding:19px 0 17px;border-bottom:2px solid transparent}
.page-nav a[aria-current]{color:#3c4a94;border-color:var(--violet)}
.page-nav a:hover{color:var(--violet)}
.page-nav .nav-cta{margin-left:auto;color:#3c4a94;font-weight:500;display:flex;align-items:center;gap:8px}
.page-nav svg{width:14px;height:14px}

.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-card{background:var(--card-bg);border-radius:24px;padding:27px 24px;display:flex;flex-direction:column;align-items:start;transition:transform .25s;min-height:280px;border:1px solid transparent}
.service-card:hover{transform:translateY(-6px);border-color:#4b4e6320}
.service-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#ffffffa6;margin-bottom:27px}
.service-card h3{font-size:20px;max-width:180px}
.service-card p{font-size:15px;margin-top:12px;color:#505161}
.service-card .arrow-link{margin-top:auto;padding-top:25px;font-size:15px}
.service-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:34px;padding-top:30px;border-top:1px solid #eeeef3}
.service-groups h3{font-size:15px;font-weight:600;margin-bottom:14px}
.service-groups a{font-size:15px;color:var(--slate);display:flex;gap:8px;justify-content:space-between;align-items:center;padding:7px 0}
.service-groups a:hover{color:var(--violet)}
.service-groups svg{width:12px;height:12px;opacity:.55}
.help-strip{margin-top:32px;padding:18px 24px;border:1px solid #e2e4ee;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:15px;color:var(--slate)}
.help-strip strong{color:var(--ink);font-weight:500}

.delivery-shell{background:#181921;border-radius:36px;margin:0 20px;padding:72px 0;color:#fff;overflow:hidden}
.delivery-shell .eyebrow{color:#7b88c9}
.delivery-shell h2{max-width:550px}
.delivery-intro{max-width:490px;color:#bbbdca;font-size:15px;margin-top:18px}
.delivery-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;margin-top:38px;align-items:center}
.process-tabs{display:grid;gap:4px}
.process-tab{display:flex;gap:15px;text-align:left;background:none;border:0;color:#bbbdca;padding:18px 16px;border-radius:14px;cursor:pointer;width:100%}
.process-tab:hover{background:#ffffff08}
.process-tab[aria-selected=true]{background:#ffffff0c;color:white}
.step-number{border:1px solid #ffffff30;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:15px}
.process-tab[aria-selected=true] .step-number{background:var(--mint);color:#223323;border-color:var(--mint)}
.process-tab strong{display:block;font-size:15px;font-weight:500;line-height:28px}
.process-tab small{display:block;color:#aeb1c0;font-size:15px;line-height:1.7;max-width:310px;margin-top:5px}
.process-tab[aria-selected=false] small{display:none}
.process-panel{min-height:360px;border:1px solid #ffffff16;border-radius:24px;padding:28px;background:linear-gradient(145deg,#292b39,#21232e);position:relative}
.panel-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff14;padding-bottom:20px;font-size:15px;color:#c6c8d5}
.panel-top span{font-size:15px;padding:4px 8px;border:1px solid #ffffff25;border-radius:5px;color:#b7b9ca}
.panel-icon{margin:28px 0 19px;width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:#dfe2fc;color:#5d67ab}
.process-panel h3{font-size:24px;color:#fff;font-weight:400}
.process-panel p{font-size:15px;color:#bfc1d0;margin-top:12px}
.deliverables{display:grid;gap:11px;margin-top:22px}
.deliverables li{display:flex;gap:9px;font-size:15px;color:#e3e4ed}
.deliverables svg{width:14px;height:14px;color:var(--mint)}
.process-footnote{font-size:15px;color:#9498af;margin-top:18px}
.process-panel[hidden]{display:none}

.tech-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.tech-layout .lead-copy{color:var(--slate);font-size:15px;margin-top:20px}
.stack-groups{display:grid;gap:24px}
.stack-group{display:grid;grid-template-columns:92px 1fr;gap:15px;padding-bottom:24px;border-bottom:1px solid #ededf2;align-items:center}
.stack-group:last-child{padding-bottom:0;border:0}
.stack-group h3{font-size:15px;font-weight:500;color:var(--slate)}
.stack-items{display:flex;gap:8px;flex-wrap:wrap}
.stack-items a{border:1px solid #e8e9f0;border-radius:10px;padding:10px 13px;font-size:15px;font-weight:500;display:inline-flex;gap:8px;align-items:center;background:#fff}
.stack-items a:hover{border-color:#7885c8;background:#fbfaff}
.stack-dot{width:7px;height:7px;background:var(--dot);border-radius:50%}
.architecture-note{background:#f3f4fe;border-radius:16px;padding:22px;margin-top:28px;display:flex;align-items:start;gap:12px;font-size:15px;color:#545669}
.architecture-note strong{display:block;font-weight:500;color:#323444;margin-bottom:5px}
.architecture-note svg{color:#666fae;width:22px;height:22px;flex:none}

.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.industry-card{border:1px solid #e6e7ed;border-radius:18px;background:#fff;padding:24px;display:grid;grid-template-columns:38px 1fr 16px;gap:14px;align-items:start;transition:transform .2s,box-shadow .2s}
.industry-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #272b4208}
.industry-card .industry-icon{display:grid;place-items:center;background:var(--card-bg);width:38px;height:38px;border-radius:11px}
.industry-card h3{font-size:15px;margin-top:2px}
.industry-card p{font-size:15px;color:var(--slate);margin-top:7px}
.industry-card>svg{width:15px;height:15px;margin-top:10px;color:#6d6b82}
.models-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.model-card{border:1px solid #e2e4ee;border-radius:24px;padding:30px;position:relative;display:flex;flex-direction:column}
.model-card.featured{background:#f0f2fe;border-color:#c7cefb}
.model-card .model-label{font-size:15px;color:#666077;margin-bottom:24px;display:flex;align-items:center;gap:7px}
.model-label i{height:7px;width:7px;background:#4f5fb7;border-radius:50%}
.model-card h3{font-size:23px}
.model-card p{color:var(--slate);font-size:15px;margin-top:14px}
.model-card ul{display:grid;gap:11px;margin:24px 0 28px}
.model-card li{display:flex;gap:8px;align-items:start;font-size:15px}
.model-card li svg{width:14px;height:14px;flex:none;color:#61647b}
.model-card .btn{font-size:15px;min-height:44px;padding:10px 15px;width:100%;margin-top:auto}
.models-note{font-size:15px;color:var(--slate);text-align:center;margin-top:24px}
.models-note a{color:#3c4992;text-decoration:underline}

.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.faq-intro p{margin:20px 0 24px;font-size:15px;color:var(--slate);max-width:320px}
.faq-list details{border-bottom:1px solid #e4e5ed}
.faq-list details:first-child{border-top:1px solid #e4e5ed}
.faq-list summary{position:relative;list-style:none;cursor:pointer;padding:23px 35px 23px 0;font-size:15px;font-weight:500}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:3px;font-size:22px;line-height:20px;font-weight:300;color:#6c6f8a}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{font-size:15px;color:var(--slate);padding:0 24px 24px 0}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.related-card{display:grid;grid-template-columns:100px 1fr;gap:22px;border-radius:20px;background:var(--card-bg);padding:23px;align-items:center;transition:transform .2s}
.related-card:hover{transform:translateY(-4px)}
.related-card img{width:100px;height:110px;object-fit:cover;border-radius:13px}
.related-card h3{font-size:18px}
.related-card p{font-size:15px;color:var(--slate);margin:9px 0 14px}
.related-card .arrow-link{font-size:15px}
.cta-section{padding:0 20px 25px}
.closing-cta{background:#4c58b8;border-radius:36px;position:relative;overflow:hidden;color:white}
.closing-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;padding:64px 65px;position:relative}
.closing-cta:before{content:"";position:absolute;width:600px;height:600px;right:-120px;bottom:-350px;background:radial-gradient(circle,#7f8bcb90,transparent 65%)}
.closing-cta h2{font-size:clamp(34px,4vw,50px);max-width:600px;font-weight:300}
.closing-cta p{color:#eceffd;font-size:15px;margin-top:20px;max-width:480px}
.closing-cta .eyebrow{color:#e0e4fd}
.closing-cta .btn{background:#fff;color:#4d5799;border:0;margin-top:27px;font-size:15px;min-height:50px}
.closing-cta .small-note{font-size:15px;color:#e0e4fd;margin-top:16px}
.closing-art{width:100%;border-radius:28px;transform:rotate(3deg)}
.mobile-quote{display:none}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:12px 20px;border:2px solid var(--violet);border-radius:12px}
.skip-link:focus{top:10px}
.reveal{opacity:1;transform:none}
.motion-ready .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.motion-ready .reveal.visible{opacity:1;transform:none}
.proof-slot[hidden]{display:none}

@media(min-width:1400px){.pillar-hero h1{font-size:64px}
.pillar-hero-grid{gap:75px}
}

@media(max-width:1100px){.pillar-hero-grid{gap:35px}
.pillar-hero h1{font-size:46px}
.hero-visual .visual-tag{right:0}
.build-card{left:-8px;width:220px}
.service-grid{grid-template-columns:repeat(2,1fr)}
.service-card{min-height:230px}
.service-groups{grid-template-columns:repeat(2,1fr);gap:25px 45px}
.delivery-grid{gap:28px}
.tech-layout{gap:35px}
.faq-grid{gap:40px}
.related-card{grid-template-columns:75px 1fr;padding:18px;gap:14px}
.related-card img{width:75px;height:100px}
.industry-card{padding:20px;grid-template-columns:32px 1fr;gap:12px}
.industry-card>svg{display:none}
.industry-card .industry-icon{width:32px;height:32px}
.closing-grid{padding:50px 40px}
.hero-note{gap:10px;font-size:15px}
.hero-meta{gap:12px}
}

@media(max-width:760px){html{scroll-padding-top:124px}
section{padding:56px 0}
.section-head{display:block;margin-bottom:28px}
.section-head p{margin-top:18px}
.section-head>.arrow-link{margin-top:20px}
.breadcrumb{padding-top:20px;font-size:15px;gap:7px}
.pillar-hero{padding:32px 0 36px}
.pillar-hero-grid{grid-template-columns:1fr;gap:30px}
.pillar-hero h1{font-size:clamp(39px,8vw,55px);letter-spacing:-.05em;max-width:600px}
.pillar-hero .intro{font-size:15px}
.hero-actions{margin-top:25px;gap:10px}
.hero-actions .btn{font-size:15px;padding:11px 20px;min-height:46px}
.hero-note{font-size:15px;gap:13px}
.hero-visual{max-width:500px;width:calc(100% - 18px);margin:10px auto 0}
.hero-art{aspect-ratio:1.25;border-radius:28px}
.build-card{bottom:15px;left:-8px;width:210px;padding:13px 16px}
.visual-tag{right:-8px;top:10px;padding:10px 12px}
.hero-meta{margin-top:32px;padding-top:22px;gap:18px}
.hero-meta>span{display:block;font-size:15px}
.hero-meta svg{margin-bottom:10px;width:18px;height:18px}
.hero-meta small{font-size:15px}
.page-nav{top:64px}
.page-nav .wrap{gap:23px}
.page-nav a{padding:14px 0 12px;font-size:15px}
.page-nav .nav-cta{display:none}
.service-grid{gap:12px}
.service-card{padding:22px 18px;min-height:255px;border-radius:20px}
.service-icon{width:36px;height:36px;margin-bottom:20px}
.service-card h3{font-size:18px}
.service-card p{font-size:15px}
.service-card .arrow-link{font-size:15px}
.service-groups{gap:25px 20px;margin-top:25px;padding-top:25px}
.service-groups a{font-size:15px}
.service-groups h3{font-size:15px}
.help-strip{padding:18px;display:block;font-size:15px}
.help-strip .arrow-link{margin-top:10px;font-size:15px}
.delivery-shell{margin:0 10px;border-radius:28px;padding:48px 0}
.delivery-grid{grid-template-columns:1fr;gap:25px;margin-top:20px}
.delivery-shell h2{font-size:34px}
.delivery-intro{font-size:15px}
.process-tab{padding:14px 12px}
.process-tab strong{font-size:15px}
.process-panel{min-height:360px;padding:24px}
.tech-layout{grid-template-columns:1fr;gap:30px}
.stack-group{grid-template-columns:70px 1fr;gap:10px}
.stack-items{gap:6px}
.stack-items a{padding:9px 10px;font-size:15px}
.industry-grid{grid-template-columns:1fr 1fr;gap:12px}
.industry-card{display:block;padding:20px 17px}
.industry-card .industry-icon{margin-bottom:15px}
.industry-card h3{font-size:15px}
.models-grid{grid-template-columns:1fr;gap:15px}
.model-card{padding:26px}
.model-card .model-label{margin-bottom:16px}
.model-card ul{margin:20px 0}
.faq-grid{grid-template-columns:1fr;gap:30px}
.faq-intro p{max-width:100%}
.faq-list summary{font-size:15px;padding-top:21px;padding-bottom:21px}
.related-grid{grid-template-columns:1fr;gap:12px}
.related-card{grid-template-columns:95px 1fr;padding:18px;gap:20px}
.related-card img{width:95px;height:100px}
.cta-section{padding:0 10px 20px}
.closing-grid{grid-template-columns:1fr;padding:40px 24px;gap:30px}
.closing-cta{border-radius:28px}
.closing-cta p{font-size:15px}
.closing-art{max-width:360px;justify-self:center}
.closing-cta h2{font-size:37px}
.mobile-quote{display:flex;position:fixed;bottom:10px;left:12px;right:12px;z-index:50;background:#fffffff2;backdrop-filter:blur(10px);border:1px solid #dfe1ee;border-radius:40px;padding:6px;box-shadow:0 6px 24px #272b4217;align-items:center;gap:12px}
.mobile-quote span{flex:1;padding-left:12px;font-size:15px;line-height:1.4}
.mobile-quote strong{font-weight:500}
.mobile-quote .btn{font-size:15px;padding:10px 18px;min-height:40px}
.legal{margin-bottom:65px}
}

@media(min-width:761px) and (max-width:900px){.pillar-hero-grid{grid-template-columns:1fr;gap:36px}
.pillar-hero h1{font-size:56px;max-width:650px}
.pillar-hero .intro{max-width:620px}
.hero-visual{max-width:530px;width:90%;margin:0 auto}
.hero-art{aspect-ratio:1.25}
.models-grid{grid-template-columns:1fr}
.model-card{padding:30px}
.model-card .btn{max-width:300px}
.related-grid{grid-template-columns:1fr}
.related-card{grid-template-columns:100px 1fr}
.related-card img{width:100px;height:100px}
}

@media(max-width:360px){.service-grid,.industry-grid{grid-template-columns:1fr}
.service-card{min-height:220px}
.hero-note{gap:8px}
.pillar-hero h1{font-size:37px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.motion-ready .reveal{opacity:1;transform:none}
.service-card:hover,.related-card:hover,.industry-card:hover{transform:none}
}



/* Reviewed typography, navigation and motion. Matches the finalized homepage scale. */
:root { --motion:cubic-bezier(.22,1,.36,1); --nav-height:72px; }
html { scroll-padding-top:162px; }
.pillar-hero .intro { font-size:18px; line-height:1.65; }
.section-head p,.tech-layout .lead-copy,.delivery-intro,.faq-intro p { font-size:17px; line-height:1.7; }
.service-card p,.process-panel p,.model-card p,.faq-list details p { font-size:16px; line-height:1.7; }
.service-groups a,.model-card li,.deliverables li,.stack-items a,.industry-card p,.related-card p { font-size:15px; }
.eyebrow,.hero-label,.hero-note,.hero-meta small,.model-card .model-label,.models-note { font-size:13px; }
.breadcrumb,.hero-meta>span,.help-strip,.architecture-note { font-size:14px; }
.hero-actions .btn { font-size:16px; min-height:54px; padding:13px 27px; }
.hero-actions .arrow-link,.arrow-link { font-size:15px; }
.card-heading { font-size:13px; }
.build-row { font-size:12px; }
.build-row strong { font-size:11px; }
.visual-tag { font-size:13px; }
.visual-tag small,.demo-label { font-size:11px; }
.hero-meta { gap:32px; }
.hero-visual { --pointer-x:0px; --pointer-y:0px; }
.hero-art { transform:rotate(1deg) translate3d(var(--pointer-x),var(--pointer-y),0); transition:transform .8s var(--motion); }
.hero-art img { transform:scale(1.04); }
.float-card { will-change:transform; }
.build-card { animation:board-float 7s ease-in-out infinite; }
.visual-tag { animation:tag-float 8s ease-in-out infinite; }
.gt { background-size:180% 100%; animation:gradient-travel 12s ease-in-out infinite alternate; }
@keyframes board-float { 0%,100%{transform:translateY(0) rotate(-3deg)} 50%{transform:translateY(-8px) rotate(-2deg)} }
@keyframes tag-float { 0%,100%{transform:translateY(0) rotate(3deg)} 50%{transform:translateY(7px) rotate(1deg)} }
@keyframes gradient-travel { from{background-position:0% 50%} to{background-position:100% 50%} }
.reading-progress { position:fixed; left:0; top:0; height:3px; width:100%; z-index:100; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,#4c58b8,#5464b9,#fe81e4); pointer-events:none; }

/* Full-width, deliberately grouped menus with explicit click and keyboard states. */
.hdr { z-index:70; }
.hdr .nav>li { position:static; }
.menu-trigger { display:flex; align-items:center; gap:6px; padding:8px 11px; font-family:inherit; font-size:15px; font-weight:500; color:var(--ink); background:transparent; border:0; border-radius:8px; cursor:pointer; min-height:40px; }
.menu-trigger:hover,.menu-trigger[aria-expanded=true] { background:#eef0fe; color:#3d4c96; }
.menu-trigger .cv { width:11px; height:11px; transition:transform .25s var(--motion); }
.menu-trigger[aria-expanded=true] .cv { transform:rotate(180deg); }
.hdr .nav>li:hover .dd,.hdr .nav>li:focus-within .dd,.hdr .nav>li .dd { opacity:0; visibility:hidden; pointer-events:none; }
.hdr .nav>li .mega-menu { position:fixed; top:72px; left:50%; width:min(1140px,calc(100vw - 64px)); padding:0; border:1px solid #ecedf4; border-radius:0 0 26px 26px; background:#fff; box-shadow:0 26px 55px #21243b26; transform:translate(-50%,-8px) scale(.99); transform-origin:top center; transition:opacity .22s ease,transform .35s var(--motion),visibility .22s; overflow:hidden; }
.hdr .nav>li.menu-open .mega-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0) scale(1); }
.mega-layout { display:grid; grid-template-columns:.85fr 2fr; gap:34px; padding:32px; }
.mega-intro { background:linear-gradient(145deg,#f0f2fe,#faf9ff); padding:27px; border-radius:19px; display:flex; flex-direction:column; align-items:start; }
.mega-eyebrow { color:#676ea3; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:500; margin-bottom:20px; }
.mega-intro h2 { color:#252734; font-size:27px; line-height:1.25; letter-spacing:-.035em; font-weight:400; }
.mega-intro p { color:#666176; font-size:14px; margin:16px 0 24px; line-height:1.65; }
.mega-intro .arrow-link { font-size:13px; color:#5761a2; margin-top:auto; }
.mega-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; align-content:start; }
.mega-links>a { display:grid; grid-template-columns:46px 1fr 16px; align-items:center; gap:13px; padding:15px 12px; border-radius:14px; color:#31323c; transition:background .2s,transform .3s var(--motion); font-size:15px; font-weight:500; }
.mega-links>a:hover { background:#f7f8fe; transform:translateX(3px); }
.mega-links img { width:44px; height:44px; object-fit:contain; }
.mega-links small { display:block; font-weight:400; font-size:12px; line-height:1.5; color:#6d6979; margin-top:5px; }
.mega-links>a>svg { width:15px; height:15px; opacity:0; transform:translateX(-4px); transition:.25s; }
.mega-links>a:hover>svg { opacity:1; transform:none; }
.mega-bottom { padding:17px 32px; border-top:1px solid #ebecf3; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#777281; font-size:12px; }
.mega-bottom a { display:flex; align-items:center; gap:9px; color:#5863a7; font-weight:500; }
.mega-bottom svg { width:14px; height:14px; }
.menu-scrim { position:fixed; inset:72px 0 0; z-index:65; background:#24263420; backdrop-filter:blur(4px); opacity:0; visibility:hidden; transition:opacity .25s,visibility .25s; }
.desktop-menu-open .menu-scrim { opacity:1; visibility:visible; }

/* The section navigation uses a sliding pill rather than a thin underline. */
.page-nav { background:#fffffff5; box-shadow:0 4px 20px #21243b05; }
.page-nav .wrap { overflow:visible; gap:18px; padding-top:9px; padding-bottom:9px; }
.section-links { display:flex; position:relative; gap:3px; padding:4px; border:1px solid #edeef4; background:#f6f7fb; border-radius:100px; isolation:isolate; max-width:100%; overflow-x:auto; scrollbar-width:none; }
.section-links::-webkit-scrollbar { display:none; }
.section-indicator { position:absolute; top:4px; left:0; bottom:4px; width:0; background:#e3e7fd; border:1px solid #d2d6f4; border-radius:100px; transition:transform .45s var(--motion),width .45s var(--motion); z-index:-1; }
.page-nav .section-links a { border:0; padding:10px 17px; border-radius:100px; font-size:14px; color:#696578; transition:color .2s; }
.page-nav .section-links a:hover { color:#5862a3; }
.page-nav .section-links a[aria-current] { color:#4c5591; border:0; background:transparent; }
.page-nav .nav-cta { border:0; padding:11px 0; font-size:14px; }

/* Larger illustrated service icons and soft depth on hover. */
.service-card { min-height:360px; padding:28px 24px; border-radius:26px; transition:transform .45s var(--motion),box-shadow .45s,border-color .3s; }
.service-icon { width:64px; height:64px; background:none; margin-bottom:27px; }
.service-icon img { width:64px; height:64px; transition:transform .5s var(--motion); }
.service-card:hover { box-shadow:0 18px 35px #32344612; transform:translateY(-7px); }
.service-card:hover .service-icon img { transform:translateY(-3px) rotate(-6deg); }
.service-card h3 { font-size:23px; max-width:100%; }
.service-card .arrow-link { font-size:14px; white-space:normal; }
.service-groups { gap:28px; }
.service-groups h3 { font-size:15px; margin-bottom:17px; }
.service-groups a { padding:9px 0; }
.service-groups a svg { width:14px; height:14px; }
.help-strip { background:#faf9ff; padding:21px 25px; }

/* Manual process tabs stay stable as the content changes. */
.delivery-shell { background:radial-gradient(ellipse at 90% 20%,#323547 0,transparent 65%),#181921; }
.delivery-grid { align-items:start; gap:45px; }
.process-tabs { gap:12px; }
.process-tab { border:1px solid #ffffff16; padding:21px 20px; align-items:start; min-height:96px; gap:16px; color:#b5b7c5; transition:border-color .3s,background .3s,box-shadow .3s,transform .3s; position:relative; }
.process-tab:hover { border-color:#989fcc66; transform:translateX(3px); background:#ffffff08; }
.process-tab[aria-selected=true] { border-color:#6977c2; background:linear-gradient(110deg,#ffffff12,#ffffff06); box-shadow:inset 3px 0 #bcfe90,0 8px 25px #08091020; }
.step-number,.process-tab[aria-selected=true] .step-number { width:48px; height:48px; border:0; border-radius:13px; background:transparent; }
.step-number img { width:48px; height:48px; opacity:.62; transition:opacity .3s,transform .4s var(--motion); }
.process-tab[aria-selected=true] .step-number img { opacity:1; transform:scale(1.04); }
.process-tab strong { font-size:18px; font-weight:500; line-height:1.4; padding-top:10px; }
.process-tab small { font-size:15px; max-width:330px; margin-top:12px; }
.tab-arrow { margin-left:auto; padding-top:13px; opacity:.35; transition:opacity .25s,transform .35s; }
.tab-arrow svg { width:18px; height:18px; }
.process-tab[aria-selected=true] .tab-arrow { opacity:1; color:#7f8bcb; transform:rotate(-35deg); }
.process-panel { min-height:470px; padding:30px 32px; border-radius:25px; box-shadow:0 16px 50px #2c376d25; }
.process-panel:not([hidden]) { animation:panel-arrive .5s var(--motion) both; }
.panel-top { font-size:15px; }
.panel-top span { font-size:11px; }
.panel-icon { width:70px; height:70px; background:transparent; margin:28px 0 22px; }
.panel-icon img { width:70px; height:70px; }
.process-panel h3 { font-size:27px; line-height:1.3; }
.process-panel p { margin-top:15px; }
.deliverables { gap:14px; margin-top:25px; }
.deliverables li { line-height:1.6; align-items:start; }
.deliverables svg { width:17px; height:17px; flex:none; margin-top:3px; }
.process-panel:not([hidden]) .deliverables li { animation:panel-arrive .5s var(--motion) both; animation-delay:calc(var(--item,0)*65ms + 60ms); }
.process-footnote { font-size:12px; line-height:1.6; }
@keyframes panel-arrive { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }

.tech-layout { grid-template-columns:.85fr 1.15fr; gap:65px; }
.stack-group { grid-template-columns:100px 1fr; }
.stack-group h3 { font-size:14px; line-height:1.5; }
.stack-items a { gap:10px; padding:12px 14px; border-radius:13px; transition:transform .3s var(--motion),box-shadow .3s,border-color .3s; }
.stack-items a:hover { transform:translateY(-3px); box-shadow:0 8px 20px #3234460d; }
.tech-logo { width:26px; height:26px; object-fit:contain; }
.architecture-note { font-size:15px; line-height:1.7; }
.industry-card { grid-template-columns:48px 1fr 16px; gap:17px; padding:27px; }
.industry-card .industry-icon { width:48px; height:48px; border-radius:14px; }
.industry-card h3 { font-size:19px; }
.industry-card p { font-size:15px; line-height:1.65; }
.industry-card .icon { width:25px; height:25px; }
.model-card { transition:transform .4s var(--motion),box-shadow .4s; min-width:0; }
.model-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px #3234460c; }
.model-card h3 { font-size:25px; }
.model-card .btn { font-size:15px; white-space:normal; min-height:49px; }
.model-card li { line-height:1.6; }
.model-card li svg { width:17px; height:17px; margin-top:3px; }
.faq-list summary { font-size:18px; line-height:1.5; padding:24px 38px 24px 0; }
.faq-list details[open] { border-bottom-color:#7e8aca; }
.faq-list details[open] summary { color:#5862a7; }
.faq-list details p { font-size:16px; }
.faq-list details[open] p { animation:panel-arrive .35s var(--motion); }
.related-card { grid-template-columns:90px 1fr; gap:19px; }
.related-card img { width:90px; height:120px; }
.related-card h3 { font-size:20px; }
.related-card p { font-size:14px; }
.related-card .arrow-link { font-size:14px; }
.closing-grid { grid-template-columns:1.1fr .9fr; gap:50px; padding:65px; }
.closing-art-frame { border-radius:28px; overflow:hidden; background:#eaecfd; box-shadow:0 22px 55px #2d325830; transform:rotate(2deg); }
.closing-art { display:block; width:100%; height:auto; max-width:100%; aspect-ratio:1400/933; object-fit:contain; border-radius:0; transform:none; }
.closing-cta h2 { font-size:clamp(34px,3.6vw,49px); }
.closing-cta p { font-size:17px; }
.closing-cta .btn { font-size:16px; }
.closing-cta .small-note { font-size:13px; }
.motion-ready .reveal { transition-duration:.75s; transition-delay:var(--reveal-delay,0ms); }
.motion-ready .reveal.visible { transition-delay:var(--reveal-delay,0ms); }

@media(max-width:1200px) { .hdr .r .plain{display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:320px}.page-nav .nav-cta{display:none}.section-links{flex:1;justify-content:space-between}.page-nav .section-links a{padding:10px 18px}.related-grid{grid-template-columns:1fr}.related-card{grid-template-columns:100px 1fr}.related-card img{width:100px;height:110px}.models-grid{grid-template-columns:1fr}.model-card{padding:30px}.model-card .btn{max-width:340px}.model-card p{max-width:700px} }
@media(max-width:1100px) { .desktop-menu-open .menu-scrim{display:none}.hdr .nav{display:none}.industry-card{grid-template-columns:40px 1fr;gap:14px;padding:24px}.industry-card .industry-icon{width:40px;height:40px}.delivery-grid{gap:25px}.process-tab{padding:19px 16px;gap:12px}.process-tab strong{font-size:17px}.process-tab small{font-size:15px}.process-panel{padding:27px}.tech-layout{gap:35px}.closing-grid{padding:50px 40px;gap:35px}.mm summary{font-size:18px;padding:19px 0;border-bottom:1px solid #e6e8f3}.mm details>a{font-size:16px;padding:13px 16px}.mm>a{font-size:18px} }
@media(max-width:900px) { .delivery-grid,.tech-layout,.faq-grid{grid-template-columns:1fr}.process-tabs{grid-template-columns:1fr 1fr}.process-tab{min-height:105px;padding:18px 15px}.process-tab strong{font-size:16px;padding-top:5px}.process-tab small{display:none!important}.step-number,.process-tab[aria-selected=true] .step-number{width:42px;height:42px}.step-number img{width:42px;height:42px}.tab-arrow{display:none}.process-panel{min-height:440px}.industry-grid{grid-template-columns:1fr 1fr}.closing-grid{grid-template-columns:1fr;gap:38px}.closing-art-frame{max-width:520px;width:100%;justify-self:center}.closing-cta h2{max-width:680px}.stack-group{grid-template-columns:110px 1fr}.faq-grid{gap:35px}.faq-intro p{max-width:600px} }
@media(max-width:760px) { :root{--nav-height:64px}html{scroll-padding-top:150px}.pillar-hero .intro{font-size:17px}.section-head p,.tech-layout .lead-copy,.delivery-intro,.faq-intro p{font-size:16px}.hero-actions .btn{font-size:15px;padding:12px 23px}.hero-note{font-size:12px;gap:9px 14px}.hero-label{font-size:12px}.hero-meta{grid-template-columns:1fr;gap:20px}.hero-meta>span{display:flex;gap:15px;font-size:15px}.hero-meta small{font-size:13px}.hero-meta svg{width:24px;height:24px;margin:0}.visual-tag{font-size:11px}.visual-tag small{font-size:10px}.build-row{font-size:10px}.build-row strong{font-size:10px}.card-heading{font-size:12px}.demo-label{font-size:10px}.page-nav .wrap{padding-top:8px;padding-bottom:8px}.section-links{justify-content:start;border-radius:30px}.page-nav .section-links a{padding:10px 15px;font-size:13px}.breadcrumb{font-size:11px;flex-wrap:wrap}.service-card{padding:24px 20px;min-height:345px}.service-card h3{font-size:22px}.service-card p{font-size:15px}.service-card .arrow-link{font-size:13px}.service-groups{grid-template-columns:1fr 1fr;gap:30px 20px}.service-groups a{font-size:14px}.service-groups h3{font-size:14px}.help-strip{font-size:15px}.help-strip .arrow-link{font-size:14px}.industry-card{display:block;padding:24px 20px}.industry-card h3{font-size:19px}.industry-card p{font-size:15px}.industry-card .industry-icon{margin-bottom:16px}.stack-group{grid-template-columns:1fr;gap:15px}.stack-items a{font-size:15px;padding:12px}.stack-group h3{font-size:14px}.architecture-note{font-size:15px}.faq-list summary{font-size:17px}.faq-list details p{font-size:16px}.closing-grid{padding:44px 25px;gap:30px}.closing-cta p{font-size:16px}.closing-art-frame{transform:none;border-radius:22px}.closing-art{height:auto;max-width:100%;border-radius:0;transform:none}.closing-cta .small-note{font-size:13px}.closing-cta .btn{font-size:15px;white-space:normal}.mobile-quote span{font-size:12px}.mobile-quote .btn{font-size:14px}.fg a,.fg p{font-size:14px}.fg h4{font-size:14px}.legal{font-size:12px} }
@media(max-width:480px) { .service-grid,.industry-grid{grid-template-columns:1fr}.service-card{min-height:300px;padding:26px}.service-card h3{max-width:260px;font-size:24px}.service-card p{font-size:16px}.service-card .arrow-link{font-size:15px}.service-groups{grid-template-columns:1fr}.service-groups a{font-size:15px}.industry-card{display:grid;grid-template-columns:45px 1fr;gap:17px}.industry-card .industry-icon{margin:0}.process-tabs{gap:8px}.process-tab{flex-direction:column;min-height:128px;gap:9px;padding:16px}.process-tab strong{font-size:16px}.process-panel{padding:25px;min-height:500px}.process-panel h3{font-size:26px}.hero-visual{width:calc(100% - 8px)}.build-card{width:200px;left:-4px}.visual-tag{right:-4px}.hero-art{aspect-ratio:1.12}.models-note{font-size:14px}.related-card{grid-template-columns:85px 1fr;padding:20px;gap:16px}.related-card img{width:85px;height:110px}.related-card p{font-size:14px}.closing-cta h2{font-size:36px}.hero-meta{padding-top:25px} }
@media(prefers-reduced-motion:reduce) { .build-card,.visual-tag,.gt,.process-panel,.deliverables li,.faq-list details[open] p{animation:none!important}.hero-art{transform:none}.motion-ready .reveal{transition:none;opacity:1;transform:none}.section-indicator,.mega-menu,.menu-scrim{transition:none!important} }
