:root{--orange-soft:#91b7ad}
.logo-disc{padding:0;overflow:hidden}
.logo-disc img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.logo-large img{width:100%;height:100%}
.customer-quote,.service-number,.service-list h4,.panel-index,.study>span,.steps b,.case span,.quiet-link span,em{color:var(--orange-soft)}
.visual-story{padding-top:135px;padding-bottom:145px;display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center;background:var(--ink)}
.story-copy h2{font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.055em;margin:28px 0}.story-copy>p:last-child{color:var(--text);font-size:13px;line-height:1.75;max-width:460px}
.automation-canvas{position:relative;min-height:520px;border:1px solid rgba(255,255,255,.11);background:radial-gradient(circle at 50% 45%,rgba(255,113,78,.13),transparent 44%),rgba(255,255,255,.025);overflow:hidden;isolation:isolate}.automation-canvas:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.glass-node{position:absolute;z-index:3;width:210px;padding:20px;border:1px solid rgba(255,174,151,.3);background:linear-gradient(135deg,rgba(255,136,103,.2),rgba(215,222,219,.08));box-shadow:0 22px 65px rgba(0,0,0,.28);backdrop-filter:blur(20px);animation:nodeFloat 6s ease-in-out infinite}.glass-node i{position:absolute;right:14px;top:13px;color:rgba(255,255,255,.35);font-size:8px;font-style:normal}.glass-node span{display:block;color:#c8d1ce;font-size:7px;letter-spacing:.16em;margin-bottom:13px}.glass-node strong{display:block;font-size:13px}.glass-node small{display:block;color:#9da5a2;font-size:8px;margin-top:8px}.node-enquiry{left:7%;top:11%;transform:rotate(-2deg)}.node-ai{left:37%;top:38%;background:linear-gradient(135deg,rgba(255,116,81,.28),rgba(238,181,165,.09));animation-delay:-2s}.node-result{right:5%;bottom:9%;transform:rotate(2deg);animation-delay:-4s}
.route{position:absolute;z-index:2;height:1px;background:linear-gradient(90deg,rgba(255,151,124,.15),rgba(255,151,124,.7),rgba(255,151,124,.15));transform-origin:left center}.route b{position:absolute;width:6px;height:6px;border-radius:50%;top:-3px;background:#ffd3c8;box-shadow:0 0 14px #ff7958;animation:travel 2.6s linear infinite}.route-one{width:35%;left:25%;top:36%;transform:rotate(25deg)}.route-two{width:31%;left:57%;top:63%;transform:rotate(21deg)}.route-two b{animation-delay:-1.3s}.pulse-line{display:flex;gap:5px;margin-top:15px}.pulse-line b{width:33px;height:3px;background:rgba(255,255,255,.18);animation:pulse 1.5s ease-in-out infinite}.pulse-line b:nth-child(2){animation-delay:.2s}.pulse-line b:nth-child(3){animation-delay:.4s}.ambient-bubble{position:absolute;border-radius:50%;background:rgba(255,132,98,.13);border:1px solid rgba(255,168,143,.18);backdrop-filter:blur(10px);animation:drift 9s ease-in-out infinite}.bubble-one{width:100px;height:100px;right:7%;top:7%}.bubble-two{width:58px;height:58px;left:8%;bottom:8%;animation-delay:-4s}
@keyframes nodeFloat{50%{translate:0 -9px}}@keyframes travel{from{left:0}to{left:100%}}@keyframes pulse{50%{background:rgba(255,164,141,.85)}}@keyframes drift{50%{transform:translate(12px,-18px) scale(1.08)}}
@media(max-width:940px){.visual-story{grid-template-columns:1fr}.automation-canvas{min-height:500px}}@media(max-width:650px){.visual-story{padding-top:85px;padding-bottom:85px}.automation-canvas{min-height:560px}.glass-node{width:190px}.node-enquiry{left:5%;top:8%}.node-ai{left:20%;top:38%}.node-result{right:5%;bottom:8%}.route-one{left:25%;top:31%;width:40%;transform:rotate(55deg)}.route-two{left:50%;top:61%;width:34%;transform:rotate(55deg)}}

/* Soft geometry throughout: no sharp interface corners. */
.nav-cta,.btn,.quiet-link,.glass-card,.service,.industry-layout,.industry-tabs button,.industry-panel,.case,.study,.why-panel,.contact-glass,.logo-marquee span,.automation-canvas,.glass-node{border-radius:18px}
.nav-cta,.btn{border-radius:999px}.service{overflow:hidden}.industry-tabs{gap:7px;padding:8px}.industry-tabs button{border-bottom:0}.industry-panel{margin:8px}.case-grid,.study-grid{gap:22px}.problem-strip{border-radius:0 0 26px 26px}.steps li:first-child{border-radius:16px 16px 0 0}.steps li:last-child{border-radius:0 0 16px 16px}.contact{border-radius:32px 32px 0 0}.menu,.menu i{border-radius:999px}

/* Preserve the exact supplied artwork, then optically centre its mark in the disc. */
.logo-disc{position:relative;display:grid;place-items:center}
.logo-disc img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center}
.logo-large img{inset:0;width:100%;height:100%;object-fit:contain}

/* Warm translucent glass, used as an accent rather than a page-wide wash. */
.glass-card,.glass-node,.contact-glass,.why-panel{background:linear-gradient(135deg,rgba(255,156,128,.22),rgba(255,186,166,.1) 44%,rgba(225,230,228,.07));border:1px solid rgba(255,190,170,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 24px 65px rgba(0,0,0,.24);backdrop-filter:blur(22px) saturate(125%)}
.automation-canvas{background:radial-gradient(circle at 50% 45%,rgba(255,133,97,.2),transparent 45%),linear-gradient(145deg,rgba(255,167,141,.08),rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.hero-stage .glass-card:after,.glass-node:after,.contact-glass:after{content:'';position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.13),transparent 30%,transparent 72%,rgba(255,144,112,.08))}
.glass-card,.glass-node,.contact-glass{position:relative;overflow:hidden}
.hero-stage .glass-card{position:absolute}
.node-enquiry,.node-ai,.node-result{position:absolute}
.service[data-tone=warm]{background:linear-gradient(135deg,rgba(255,142,111,.12),rgba(255,186,165,.045));border-color:rgba(255,181,160,.25)}

/* Problem-first interactive services. */
.services.interactive-services{position:relative}
.problem-switcher{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 34px 25%}
.problem-switcher button{position:relative;min-height:138px;padding:24px;text-align:left;color:var(--text);background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:20px;cursor:pointer;overflow:hidden;transition:transform .3s,border-color .3s,background .3s}
.problem-switcher button:before{content:'';position:absolute;width:90px;height:90px;right:-35px;bottom:-45px;border-radius:50%;background:rgba(255,135,101,.16);filter:blur(2px);transition:.35s}
.problem-switcher button small{display:block;font-size:8px;letter-spacing:.16em;color:#78817d;margin-bottom:21px}.problem-switcher button strong{display:block;color:#d5d9d7;font-size:13px;line-height:1.5;max-width:190px}.problem-switcher button span{position:absolute;right:20px;top:18px;color:#6f7773;font-size:17px}
.problem-switcher button:hover{transform:translateY(-4px);border-color:rgba(255,181,160,.32)}.problem-switcher button.active{color:var(--white);background:linear-gradient(135deg,rgba(255,141,109,.25),rgba(255,190,170,.08));border-color:rgba(255,190,170,.42);box-shadow:inset 0 1px rgba(255,255,255,.14),0 18px 50px rgba(0,0,0,.22)}.problem-switcher button.active:before{transform:scale(1.6);background:rgba(255,130,94,.24)}.problem-switcher button.active small{color:#ffd0c3}.problem-switcher button.active strong{color:white}
.service{display:none}.service.service-active{display:grid;animation:serviceIn .55s cubic-bezier(.2,.75,.2,1) both}.service.service-active .service-main,.service.service-active .service-list{animation:contentIn .55s .09s both}
.service-progress{height:3px;margin:0 4vw 35px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden}.service-progress i{display:block;height:100%;width:33.333%;border-radius:inherit;background:linear-gradient(90deg,#ff8e70,#ffd2c7);transition:transform .45s cubic-bezier(.2,.75,.2,1)}
.service-main h3{position:relative}.service-main h3:after{content:'';display:block;width:55px;height:3px;margin-top:24px;background:var(--orange-soft);border-radius:99px}.service-list li{transition:padding .25s,color .25s,background .25s;border-radius:.25s}.service-list li:hover{padding-left:12px;color:white;background:rgba(255,161,134,.08);border-radius:8px}
@keyframes serviceIn{from{opacity:0;transform:translateY(18px) scale(.99)}to{opacity:1;transform:none}}@keyframes contentIn{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}
@media(max-width:940px){.problem-switcher{margin-left:0}}@media(max-width:650px){.problem-switcher{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.problem-switcher button{min-width:82vw;scroll-snap-align:start}.service-progress{margin-left:0;margin-right:0}}

/* Tighter homepage rhythm after removing repeated sections. */
.services{padding-top:105px;padding-bottom:90px}.industries{padding-top:95px;padding-bottom:105px}.process{padding-top:105px;padding-bottom:105px}.integrations{padding-top:95px;padding-bottom:95px}.why{padding-top:95px;padding-bottom:95px}.faq{padding-top:95px;padding-bottom:105px}.section-head{margin-bottom:56px}
@media(max-width:650px){.services,.industries,.process,.why,.faq{padding-top:70px;padding-bottom:70px}.integrations{padding-top:70px;padding-bottom:70px}.section-head{margin-bottom:42px}}

/* Final phone safeguards. */
html,body{max-width:100%;overflow-x:hidden}
h1,h2,h3,p,a,button{overflow-wrap:anywhere}
@media(max-width:650px){
  .header{padding-left:18px;padding-right:18px}.header .logo-disc{width:38px;height:38px}
  .hero{display:block;min-height:auto;padding-top:112px;padding-bottom:64px}.hero h1{font-size:clamp(42px,12.4vw,56px);line-height:1.09;max-width:100%;text-wrap:balance}.hero .lead{width:100%;max-width:100%;font-size:14px;line-height:1.75}
  .hero-stage{margin-top:48px;min-height:370px}.hero-stage .glass-card{min-width:132px;max-width:46vw}.card-time{left:0}.card-leads{right:0}.card-workflow{left:4%}
  .problem-switcher{width:calc(100vw - 10vw);overscroll-behavior-x:contain}.problem-switcher button{min-width:78vw;min-height:126px}
  .service h3{font-size:clamp(27px,8.3vw,38px);line-height:1.16}.service-main>p:not(.customer-quote){font-size:13px;line-height:1.75}
  .industry-tabs{grid-template-columns:1fr}.industry-tabs button{min-height:48px}.industry-panel h3{overflow-wrap:normal}
  .visual-story h2,.process h2,.why h2,.faq h2,.contact h2,.section-head h2{line-height:1.12}
  .footer-links{grid-template-columns:1fr;gap:28px}.footer-links div:last-child{grid-column:auto}
}

/* Hero readability: generous line spacing and a controlled text measure. */
.hero-copy{min-width:0;max-width:760px}
.hero h1{font-size:clamp(52px,5.7vw,88px);line-height:1.04;letter-spacing:-.055em;max-width:12.5ch;text-wrap:balance;margin-bottom:34px}
.hero .lead{max-width:590px;font-size:15px;line-height:1.75;text-wrap:pretty}
@media(max-width:1100px){.hero h1{font-size:clamp(50px,6vw,74px);max-width:11ch}}
@media(max-width:650px){.hero h1{font-size:clamp(43px,13vw,62px);line-height:1.06;letter-spacing:-.045em;max-width:100%;margin-bottom:27px}.hero .lead{font-size:14px;line-height:1.72;max-width:34em}.hero-copy{width:100%;overflow:visible}}
.problem-switcher button>span{display:none}
@media(max-width:650px){.problem-switcher{scroll-padding-inline:0}.problem-switcher button{scroll-snap-stop:always}}
