:root{--bg:#05070c;--surf:#101521;--ink:#0b1020;--light:#f5f5f5;--muted:#aab1c3;--mutedd:#5a6171;--line:rgba(255,255,255,.1);--lined:rgba(11,16,32,.1);--accent:#0876ed;--accent2:#59abff;--container:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;min-width:320px;font-family:"Poppins",system-ui,sans-serif;background:var(--bg);color:#f7f8fc;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden;touch-action:none;overscroll-behavior:none}
body::after{content:"";position:fixed;inset:0;background:rgba(5,7,12,.58);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:55}
body.menu-open::after{opacity:1;pointer-events:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
img{max-width:100%;display:block}
.container{width:min(var(--container),calc(100% - 32px));margin:0 auto}
:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}

/* header */
.site-header{position:fixed;inset:14px 0 auto;z-index:70;display:flex;justify-content:space-between;align-items:center;padding:0 16px}
.brand{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 10px;border-radius:99px;background:rgba(7,10,16,.86);color:#fff;backdrop-filter:blur(14px);font-weight:900}
.brand-mark{width:22px;height:22px;border-radius:50%;background:conic-gradient(var(--accent),var(--accent2),var(--accent))}
.brand-logo{display:inline-flex;align-items:center;gap:10px;padding:0;background:none;color:inherit;backdrop-filter:none;border-radius:0;box-shadow:none;text-decoration:none;--brand-main:var(--accent)}
.brand-logo-mark{display:inline-flex;flex:none;width:50px;height:50px;overflow:visible;color:var(--brand-main)}
.brand-logo-mark svg{width:100%;height:100%;overflow:visible;display:block}
.bl-ring{fill:none;stroke:currentColor;stroke-width:3.5;stroke-dasharray:1;stroke-dashoffset:0}
.bl-sun{fill:currentColor}
.bl-dot{fill:currentColor;stroke:#fff;stroke-width:4;paint-order:stroke}
.bl-orbit{transform-box:view-box;transform-origin:50px 50px;animation:bl-spin linear infinite}
.bl-o1{animation-duration:10s}
.bl-o2{animation-duration:14s;animation-direction:reverse}
.bl-o3{animation-duration:22s}
@keyframes bl-spin{to{transform:rotate(360deg)}}
.brand-logo-word{display:inline-flex;font-family:"Poppins",system-ui,sans-serif;font-weight:700;font-size:1.8rem;letter-spacing:-.02em;line-height:1;color:var(--brand-main);white-space:nowrap}
/* light-background pages override: dark bg areas can set .brand-logo-light to invert */
.brand-logo.brand-logo-light{--brand-main:#fff}
.brand-logo.brand-logo-light .bl-dot{stroke:var(--accent)}
.site-header.is-brand-light .brand-logo,.site-header.is-brand-inverse .brand-logo{--brand-main:#fff}
.site-header.is-brand-light .brand-logo .bl-dot,.site-header.is-brand-inverse .brand-logo .bl-dot{stroke:var(--accent)}
.ct-page .site-header .brand-logo{--brand-main:var(--accent)}
.site-nav-inline{display:none;align-items:center;gap:12px;padding:8px 8px 8px 16px;border-radius:99px;background:rgba(7,10,16,.86);backdrop-filter:blur(14px)}
.site-nav-inline-links{display:flex;gap:4px}
.site-nav-inline a{padding:9px 14px;border-radius:99px;font-size:.92rem;color:rgba(255,255,255,.85)}
.site-nav-inline-links a:hover{background:rgba(255,255,255,.08)}
.site-nav-inline .site-nav-inline-cta,.menu-cta{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:800}
.menu-toggle{position:relative;z-index:72;width:48px;height:48px;border:1px solid rgba(11,16,32,.08);border-radius:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;place-content:center;gap:5px;cursor:pointer;box-shadow:0 10px 28px rgba(11,16,32,.12),0 1px 2px rgba(11,16,32,.06);transition:background .25s ease,box-shadow .25s ease,border-color .25s ease,transform .25s ease}
.menu-toggle span{width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .2s ease,background-color .2s ease}
.menu-toggle:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(11,16,32,.16)}
body.menu-open .menu-toggle{background:#fff;border-color:rgba(11,16,32,.1);box-shadow:0 12px 30px rgba(11,16,32,.14)}
body.menu-open .menu-toggle span{background:var(--ink)}
body.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .menu-toggle span:nth-child(2){opacity:0}
body.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body::after{background:rgba(11,16,32,.42)}
.site-menu{position:fixed;top:0;right:0;bottom:0;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;width:min(92vw,400px);padding:92px 26px calc(28px + env(safe-area-inset-bottom));border-radius:0;background:#ffffff;border-left:1px solid rgba(11,16,32,.08);display:flex;flex-direction:column;gap:20px;box-shadow:-24px 0 60px rgba(11,16,32,.14);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(calc(100% + 24px));transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .22s ease,visibility .22s step-end;z-index:68;color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
body.menu-open .site-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .22s ease,visibility 0s}
.site-menu::before{content:"Menu";display:flex;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px solid rgba(11,16,32,.07);font-size:.7rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:rgba(11,16,32,.45)}
.site-menu-links{display:flex;flex-direction:column;gap:0;margin-bottom:auto}
.site-menu-links a{display:flex;align-items:center;justify-content:space-between;padding:20px 4px;font-size:clamp(1.15rem,2.8vw,1.32rem);font-weight:700;letter-spacing:-.03em;border:0;border-radius:0;background:transparent;color:var(--ink);transition:color .22s ease,padding-left .22s ease}
.site-menu-links a+a{border-top:1px solid rgba(11,16,32,.06)}
.site-menu-links a::after{content:"";width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(8,118,237,.08);color:var(--accent);font-size:.9rem;font-weight:700;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230876ed' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M7 17 17 7M9 7h8v8'/></svg>");background-repeat:no-repeat;background-position:center;opacity:.85;transition:transform .22s ease,opacity .22s ease,background-color .22s ease}
.site-menu-links a:hover{color:var(--accent);padding-left:6px}
.site-menu-links a:hover::after{opacity:1;background-color:rgba(8,118,237,.14);transform:translate(2px,-2px)}
.menu-cta{width:100%;padding:14px 14px 14px 18px;border-radius:0;text-align:left}
.site-menu .menu-cta{display:flex;justify-content:space-between;align-items:center;min-height:58px;margin-top:6px;padding:14px 16px;border-radius:0;background:var(--accent);color:#fff;font-weight:700;letter-spacing:-.01em;box-shadow:none}
.site-menu .menu-cta span{flex:1;font-size:1rem}
.site-menu .menu-cta b{font-size:1.1rem;font-weight:700;color:#fff;background:none;box-shadow:none;width:auto;height:auto;border-radius:0}
.site-menu .menu-cta .pulse{display:none}
@media(min-width:981px){.site-nav-inline{display:inline-flex}.menu-toggle,.site-menu{display:none!important}}

/* buttons */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:99px;font-weight:700;transition:transform .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--ink);color:#fff;box-shadow:0 14px 30px rgba(11,16,32,.25)}
.button-secondary{color:var(--ink)}

/* hero (light) */
.hero-section{position:relative;min-height:100svh;padding:130px 0 80px;display:flex;align-items:center;background:var(--light) radial-gradient(rgba(11,16,32,.14) 1px,transparent 1.5px) 0 0/22px 22px;color:var(--ink);overflow:hidden}
.hero-rings{display:none}
.hero-shell{position:relative;display:flex;justify-content:center}
.hero-inner{position:relative;z-index:2;max-width:880px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.hero-pill{display:inline-flex;align-items:center;gap:10px;padding:6px 8px 6px 8px;border-radius:99px;background:#fff;box-shadow:0 6px 20px rgba(11,16,32,.07);font-size:.95rem}
.hero-pill .live{width:26px;height:26px;border-radius:50%;background:radial-gradient(#34c759 38%,rgba(52,199,89,.22) 42%)}
.hero-pill b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f0f1f4;font-weight:500}
.hero-title{font-size:clamp(2.4rem,7vw,5.2rem);line-height:1.04;letter-spacing:-.04em;font-weight:900}
.hero-title span:last-child{color:var(--accent)}
.hero-subline{max-width:640px;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6;color:#3b4254}
.hero-chip-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.hero-chip{padding:8px 14px;border-radius:99px;background:#fff;border:1px solid var(--lined);font-size:.72rem;font-weight:800;letter-spacing:.04em}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.hero-proof{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.hero-proof-copy{display:contents}
.hero-avatar-row{display:flex}
.hero-avatar,.hero-proof strong{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:.74rem;font-weight:800;border:3px solid var(--light)}
.hero-avatar{overflow:hidden;background:#fff;color:var(--ink)}
.hero-avatar img{width:100%;height:100%;object-fit:cover}
.hero-avatar+.hero-avatar{margin-left:-12px}
.hero-proof strong{background:#fff;color:var(--ink);order:1;margin-left:-26px}
.hero-proof span#hero-proof-label{order:2;text-align:left;font-size:.92rem;color:#3b4254;max-width:200px}
.hero-proof span#hero-proof-label::before{content:"\2605\2605\2605\2605\2605";display:block;letter-spacing:3px;color:#f5a524;text-shadow:0 1px 0 rgba(160,92,0,.2),0 0 14px rgba(245,165,36,.18)}
.hero-quote{position:absolute;z-index:1;width:290px;padding:20px 22px;border-radius:24px;background:#fff;box-shadow:0 24px 50px rgba(11,16,32,.1);display:none;flex-direction:column;gap:10px}
.hero-quote i{position:absolute;top:10px;right:18px;font-size:2.4rem;color:#c3c7d3;font-style:normal;line-height:1}
.hero-quote p{font-size:.92rem;line-height:1.5;color:#4a5164;padding-right:20px}
.hero-quote span{font-size:.84rem;font-weight:800}
.hero-quote-left{left:-10px;bottom:6%;transform:rotate(-9deg)}
.hero-quote-right{right:-10px;top:12%;transform:rotate(8deg)}
@media(min-width:1100px){.hero-quote{display:flex}}

/* shared section bits */
.section-intro{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.section-dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}
section{position:relative}
.problem-section,.process-section,.services-section,.work-section,.cta-section{padding:90px 0}
.problem-section,.process-section{background:linear-gradient(180deg,#05070c,#090c12)}
.light-title,.dark-title,.process-title,.problem-heading h2,.problem-heading h3,.testimonials-title,.faq-shell h2{font-size:clamp(2rem,5vw,3.8rem);line-height:1.05;letter-spacing:-.035em;font-weight:900;margin:16px 0}
.light-subtitle,.dark-subtitle,.process-subtitle,.testimonials-subtitle{max-width:620px;color:var(--muted);line-height:1.6;font-size:1.05rem}
.problem-heading{text-align:center;margin-bottom:34px}
.problem-heading h3{color:var(--accent2);margin-top:0}
.problem-foot{text-align:center;margin-top:30px;font-weight:800;font-size:1.3rem;color:var(--muted)}
.process-title span{display:block}
.process-title-emphasis{color:var(--accent2)}

/* scaled stages (identical animation at every width) */
.problem-stage-shell,.process-stage-shell{position:relative;overflow:hidden}
.problem-card-stage,.process-stack{position:relative;transform-origin:0 0}
.problem-ribbon-svg,.process-ribbon-svg{position:absolute;left:0;top:0;pointer-events:none;fill:none;overflow:visible}
.problem-ribbon-svg path,.process-ribbon-svg path{fill:none;stroke-width:58;stroke-linecap:round}
#problem-ribbon-outline,#process-ribbon-outline{stroke:rgba(255,255,255,.05)}
#problem-ribbon-fill,#process-ribbon-fill{stroke:var(--accent);opacity:.55;filter:drop-shadow(0 0 18px rgba(8,118,237,.3))}
.process-stack-backdrop{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:900;font-size:clamp(3rem,13vw,9rem);line-height:.9;color:rgba(255,255,255,.04);pointer-events:none;text-align:center}
.problem-card,.process-card{position:absolute;left:0;top:0;width:290px;padding:22px;border-radius:28px;background:var(--surf);border:1px solid var(--line);box-shadow:0 30px 70px rgba(0,0,0,.45);will-change:transform,opacity}
.process-card{background:linear-gradient(160deg,#122340,#0d1424)}
.problem-card{min-height:260px}
.problem-card-number,.process-card-number{font-size:.8rem;font-weight:800;color:var(--accent2)}
.problem-card-illustration{width:110px;height:80px;margin:6px 0}
.process-card-art{width:96px;height:72px;margin:6px 0}
.problem-card-illustration svg,.process-card-art svg{width:100%;height:100%}
.problem-card h3,.process-card h3{font-size:1.45rem;line-height:1.1;font-weight:900;letter-spacing:-.02em;margin:6px 0 10px}
.problem-card p,.process-card p{font-size:.92rem;line-height:1.5;color:var(--muted)}
.problem-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.problem-chip{padding:7px 11px;border-radius:99px;background:rgba(255,255,255,.06);font-size:.68rem;font-weight:700}
.process-copy-list{display:none}
.process-title,.process-subtitle,.process-section .section-intro{margin-left:0}
.process-scroll-shell{margin-top:30px}

/* tape */
.tape-section{padding:30px 0;background:var(--accent);overflow:hidden}
.tape{overflow:hidden;white-space:nowrap}
.tape+.tape{margin-top:10px}
.tape-track{display:inline-flex;gap:30px;animation:tape 40s linear infinite;font-weight:900;font-size:1.4rem}
.tape-secondary .tape-track{animation-direction:reverse;opacity:.7}
.tape-token{display:inline-flex;align-items:center;gap:30px}
.tape-token-dot{width:8px;height:8px;border-radius:50%;background:#fff}
@keyframes tape{to{transform:translateX(-50%)}}

/* services */
.services-section{background:#080b12}
.section-cap,.services-line{display:none}
.services-pinned{position:relative;display:flex;gap:20px;margin-top:30px}
.services-left{position:relative;flex:none}
.sl-inner{position:absolute;left:0;top:0;width:240px;height:760px;transform-origin:0 0}
.services-curve{position:absolute;inset:0;width:240px;height:760px;overflow:visible}
#services-curve-path{fill:none;stroke:rgba(255,255,255,.14);stroke-width:3}
#services-curve-progress{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round}
.services-dot{fill:var(--accent)}.services-dot-halo{fill:rgba(8,118,237,.25)}
.service-preview-stack{position:absolute;inset:0}
.service-curve-item{position:absolute;left:0;top:0;width:140px;padding:12px 14px;border-radius:18px;background:var(--surf);border:1px solid var(--line);will-change:transform,opacity}
.service-curve-item.is-active{border-color:var(--accent);background:#10233f}
.service-curve-number{font-size:.7rem;font-weight:800;color:var(--accent2)}
.service-curve-item h3{font-size:.8rem;line-height:1.2;margin-top:4px}
.service-copy-stack{position:relative;flex:1;min-width:0}
.service-copy-item{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;will-change:transform,opacity}
.service-copy-item>span{font-size:.85rem;font-weight:800;color:var(--accent2)}
.service-copy-item h3{font-size:clamp(1.5rem,4.2vw,3.2rem);line-height:1.02;font-weight:900;letter-spacing:-.03em;margin:8px 0 14px}
.service-copy-item p{color:var(--muted);line-height:1.6;max-width:520px;font-size:clamp(.9rem,1.4vw,1.05rem)}
.service-point-list{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.service-point-list li{padding:8px 14px;border-radius:99px;border:1px solid var(--line);font-size:.8rem;font-weight:700}

/* work */
.work-section{background:var(--bg);padding:90px 0 42px}
.work-scroll-shell{margin-top:0}
.work-pinned{display:grid;gap:22px;overflow:hidden}
.work-head{display:grid;gap:0;align-content:start}
.work-head .dark-title{margin:14px 0 10px}
.work-head .dark-subtitle{margin:0}
.work-track{display:flex;gap:22px;width:max-content;will-change:transform}
.work-card{flex:none;width:min(420px,78vw);padding:16px;border-radius:28px;background:var(--surf);border:1px solid var(--line);transition:transform .25s}
.work-card-top{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:12px;font-size:.78rem;font-weight:800}
.work-image-wrap{aspect-ratio:4/3;border-radius:20px;overflow:hidden}
.work-image-wrap img{width:100%;height:100%;object-fit:cover}
.work-image-fallback{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}
.work-image-fallback span{font-size:clamp(2.4rem,6vw,4rem);font-weight:900;letter-spacing:-.06em}
.work-card-copy{padding:14px 4px 4px;display:grid;gap:6px}
.work-card-copy strong{font-size:1.3rem}
.work-card-copy span{font-size:.72rem;font-weight:800;color:var(--accent2);letter-spacing:.1em}
.work-card-copy p{color:var(--muted);line-height:1.5;font-size:.92rem}
.work-progress{height:4px;margin-top:14px;border-radius:4px;background:var(--line);overflow:hidden}
.work-progress-fill{display:block;height:100%;background:var(--accent);transform-origin:0 0;transform:scaleX(.12)}

/* testimonials (light) */
.testimonials-section,.faq-section{padding:90px 0;background:var(--light);color:var(--ink)}
.testimonials-shell{display:grid;gap:30px}
.testimonials-subtitle{color:var(--mutedd)}
.testimonials-frame{padding:30px;border-radius:30px;background:#fff;box-shadow:0 24px 60px rgba(11,16,32,.08);display:grid;gap:14px}
.testimonials-feature-avatar{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:800;box-shadow:0 12px 26px rgba(8,118,237,.16)}
.testimonials-feature-avatar img{width:100%;height:100%;object-fit:cover}
.testimonials-feature-quote{font-size:clamp(1.2rem,2.4vw,1.8rem);line-height:1.35;font-weight:700;letter-spacing:-.02em}
.testimonials-feature-author{color:var(--mutedd);font-weight:700}
.testimonials-feature-pill{justify-self:start;padding:8px 14px;border-radius:99px;background:#e9f2ff;color:var(--accent);font-size:.8rem;font-weight:800}
.testimonials-row{display:grid;gap:16px}
.testimonial-card{padding:24px;border-radius:24px;background:#fff;border:1px solid var(--lined);display:grid;gap:14px;align-content:space-between}
.testimonial-card p{line-height:1.55}
.testimonial-card span{font-size:.86rem;font-weight:800;color:var(--mutedd)}
@media(min-width:900px){.testimonials-shell{grid-template-columns:1.1fr .9fr;align-items:center}.testimonials-row{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}}

/* faq (on-brand modern cards) */
.faq-shell{max-width:760px;margin:0 auto;text-align:center}
.faq-shell>p{color:var(--mutedd);margin-bottom:40px}
.faq-list{display:flex;flex-direction:column;gap:12px;margin:0 auto;text-align:left}
.faq-row{display:flex;flex-direction:column;background:#fff;border:1px solid var(--lined);border-radius:24px;transition:border-color .25s ease,background-color .25s ease}
.faq-row:hover{border-color:rgba(11,16,32,.18)}
.faq-row.is-open{border-color:rgba(11,16,32,.22)}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:22px 26px;border:0;background:none;font:inherit;font-size:1.05rem;font-weight:700;letter-spacing:-.015em;cursor:pointer;text-align:left;color:var(--ink);transition:color .25s ease}
.faq-row.is-open .faq-q{color:var(--accent)}
.faq-qt{flex:1}
.faq-icon{flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:99px;background:#f3f4f8;color:var(--ink);font-size:1.1rem;line-height:1;transition:transform .4s cubic-bezier(.4,0,.2,1),background-color .25s ease,color .25s ease}
.faq-icon::before{content:"+";font-weight:400}
.faq-row.is-open .faq-icon{background:var(--accent);color:#fff;transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}
.faq-row.is-open .faq-a{opacity:1}
.faq-a>div{padding:0 26px 22px}
.faq-av{display:none}
.faq-a p{margin:0;line-height:1.75;color:var(--mutedd);font-size:1rem}
@media(max-width:759px){
  .faq-list{gap:10px}
  .faq-row{border-radius:20px}
  .faq-q{padding:20px 22px;font-size:1rem;gap:16px}
  .faq-icon{width:32px;height:32px;font-size:1.05rem}
  .faq-a>div{padding:0 22px 20px}
}

/* cta */
.cta-section{background:var(--bg)}
.cta-layout{display:grid;gap:40px}
@media(min-width:900px){.cta-layout{grid-template-columns:1fr 1fr;align-items:start}}
.cta-contact-link{display:block;margin-top:14px;font-size:1.3rem;font-weight:800}
.cta-contact-link-mail{color:var(--accent2)}
.swap-line{margin-top:30px;font-size:clamp(1.1rem,2.6vw,1.8rem);font-weight:900;line-height:1.3}
.swap-stack{display:inline-flex;flex-direction:column;vertical-align:top;min-width:6ch}
.swap-old{font-size:.6em;text-decoration:line-through;opacity:.45}
.swap-word{color:var(--accent2)}
.swap-word.is-animating{animation:swapIn .5s ease both}
@keyframes swapIn{from{opacity:0;transform:translateY(60%)}to{opacity:1;transform:none}}
.cta-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.cta-socials a{padding:10px 18px;border-radius:99px;border:1px solid var(--line);font-weight:700}
.lead-form{display:grid;gap:12px;padding:24px;border-radius:28px;background:var(--surf);border:1px solid var(--line)}
.lead-form-split{display:grid;gap:12px}
@media(min-width:600px){.lead-form-split{grid-template-columns:1fr 1fr}}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font:inherit}
.lead-form select option{color:#000}
.lead-form button{min-height:54px;border:0;border-radius:99px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font:inherit;font-weight:800;cursor:pointer}

/* footer (light) */
.site-footer{position:relative;overflow:hidden;background:var(--light);color:var(--ink);padding:90px 0 30px}
.site-footer-mark{position:absolute;left:50%;top:10px;transform:translateX(-50%);font-size:clamp(7rem,26vw,22rem);line-height:1;font-weight:900;letter-spacing:-.05em;color:rgba(8,118,237,.06);pointer-events:none;user-select:none}
.site-footer-shell{position:relative}
.site-footer-top{display:grid;gap:36px}
@media(min-width:760px){.site-footer-top{grid-template-columns:1fr 1fr}}
@media(min-width:1050px){.site-footer-top{grid-template-columns:1.4fr .8fr .8fr 1.3fr}}
.brand-footer{background:none;padding:0;--brand-main:var(--accent);gap:16px}
.brand-footer .brand-logo-mark{width:62px;height:62px}
.brand-footer .brand-logo-word{font-size:clamp(2rem,2.4vw,2.4rem)}
.site-footer-brand p,.newsletter-form p{margin-top:16px;color:var(--mutedd);line-height:1.6;max-width:300px}
.site-footer h3{font-size:1rem;font-weight:700;margin-bottom:16px}
.footer-link-list{display:grid;gap:12px}
.footer-link-list a{color:var(--mutedd);transition:color .2s}
.footer-link-list a:hover{color:var(--accent)}
.newsletter-form p{margin:0 0 16px}
.newsletter-field{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 18px;border-radius:99px;background:#fff;border:1px solid var(--lined)}
.newsletter-field input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;color:var(--ink)}
.newsletter-field span{color:#9aa0b0}
.newsletter-field button{flex:none;width:46px;height:40px;border:0;border-radius:99px;background:var(--accent);color:#fff;font-size:1.1rem;cursor:pointer}
.site-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:70px;color:var(--mutedd)}
.footer-legal-links{display:flex;gap:24px}

@media(max-width:759px){
  .problem-section,.process-section,.services-section,.cta-section,.testimonials-section,.faq-section{padding:70px 0}
  .work-section{padding:70px 0 30px}
  .problem-card,.process-card{width:280px;padding:18px}
  .problem-chip-row{display:none}
  .problem-card{min-height:220px}
  .service-copy-item p{font-size:.84rem}
  .service-point-list li{font-size:.7rem;padding:6px 10px}
  .faq-q>span:last-child{padding:14px 18px}
  .faq-icon{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){.tape-track{animation:none}html{scroll-behavior:auto}}

/* ---- v3: full-bleed ribbons, why-us, testimonials, smooth scroll ---- */
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto}
.lenis-stopped{overflow:hidden}
.problem-section>.container{width:100%;max-width:none;padding:0}
.problem-heading{padding:0 16px}
#process-scroll-shell{width:100%;max-width:none}
.problem-stage-shell,.process-stage-shell{width:100%}
.problem-card-stage,.process-stack{position:relative}
.problem-ribbon-svg,.process-ribbon-svg{inset:0;width:100%;height:100%}
.problem-ribbon-svg path,.process-ribbon-svg path{stroke-width:78;stroke-linecap:butt;stroke-linejoin:round}
.problem-heading h2,.process-title,.problem-heading h3{font-family:"Poppins",system-ui,sans-serif;font-weight:400;letter-spacing:.01em;text-transform:uppercase}

/* problems: bright brand background, dark ribbon + dark cards */
.problem-section{background:var(--accent)}
.problem-heading h2{color:#fff}
.problem-heading h3{color:#04122a}
.problem-foot{color:#fff}
#problem-ribbon-outline{stroke:rgba(4,18,42,.12)}
#problem-ribbon-fill{stroke:#04122a;opacity:1;filter:none}
.problem-card{background:#0d111b;border-color:rgba(255,255,255,.08)}

/* process: dark background, full ribbon, white cards */
#process-ribbon-fill{stroke:var(--accent);opacity:.95;filter:drop-shadow(0 0 22px rgba(8,118,237,.35))}
.process-card{background:#fff;color:var(--ink);border:0;border-right:6px solid var(--accent);border-bottom:6px solid var(--accent);box-shadow:0 26px 60px rgba(0,0,0,.5)}
.process-card h3{color:var(--ink)}.process-card p{color:#4a5164}.process-card-number{color:var(--mutedd)}
.process-card-art svg{filter:invert(1) hue-rotate(180deg)}
.process-title span{display:inline}

/* why choose us */
.why-section{padding:90px 0;background:var(--light);color:var(--ink)}
.why-shell{text-align:center;padding:60px 24px;border-left:1px dashed #c4c8d3;border-right:1px dashed #c4c8d3}
.why-shell h2{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:900;letter-spacing:-.035em}
.why-sub{max-width:560px;margin:14px auto 0;color:var(--mutedd);line-height:1.6}
.why-grid{display:grid;gap:44px 28px;margin:56px 0;padding:56px 0;border-top:1px dashed #c4c8d3;border-bottom:1px dashed #c4c8d3}
@media(min-width:700px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.why-grid{grid-template-columns:repeat(3,1fr)}}
.why-item{display:flex;flex-direction:column;align-items:center;gap:12px}
.why-icon{width:84px;height:84px;display:grid;place-items:center;border-radius:26px;background:#e9f2ff;color:var(--accent)}
.why-icon svg{width:38px;height:38px}
.why-item h3{font-size:1.3rem;font-weight:700}
.why-item p{max-width:300px;color:var(--mutedd);line-height:1.55}

/* testimonials: centered header, featured quote, full-width marquee */
.testimonials-section{overflow:hidden}
.testimonials-shell{display:flex;flex-direction:column;align-items:center;gap:36px}
.testimonials-copy{order:0;text-align:center}
.testimonials-copy .section-intro{justify-content:center}
.testimonials-copy p{margin:0 auto}
.testimonials-frame{order:1;width:100%;max-width:820px;text-align:center;justify-items:center}
.testimonials-feature-pill{justify-self:center}
.testimonials-row{order:2;display:flex;gap:16px;width:max-content;animation:tape 60s linear infinite;margin-top:10px}
.testimonials-row:hover{animation-play-state:paused}
.testimonial-card{flex:none;width:min(340px,80vw)}
.testimonial-card::before{content:"\2605\2605\2605\2605\2605";color:#f5a524;letter-spacing:3px}
.testimonials-section .container{width:100%;max-width:none}
.testimonials-copy,.testimonials-frame{padding:0 16px}
@media(max-width:759px){.problem-ribbon-svg path,.process-ribbon-svg path{stroke-width:48}.why-shell{padding:40px 16px}}

/* v4 fixes */
.hero-title{font-size:clamp(2.3rem,6vw,4.4rem)}
.hero-inner{max-width:780px}
.hero-quote{width:250px}
.hero-quote-left{left:-70px;bottom:8%;top:auto}
.hero-quote-right{right:-70px;top:44%}
@media(max-width:759px){
 .problem-card,.process-card{width:236px;padding:14px;min-height:0}
 .problem-card h3,.process-card h3{font-size:1.05rem}
 .problem-card p,.process-card p{font-size:.84rem;line-height:1.45}
 .problem-card-illustration,.process-card-art{width:70px;height:52px}
}

/* ===== v5 ===== */
/* header: keep logo + nav inside the content width */
.site-header{top:14px;left:0;right:0;transform:none;margin:0 auto;width:min(var(--container),calc(100% - 32px));padding:0}

/* book-a-call buttons */
.site-nav-inline .site-nav-inline-cta,.menu-cta{display:inline-flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;background:#fff;color:var(--ink);font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.pulse{width:9px;height:9px;border-radius:50%;background:#34c759;box-shadow:0 0 0 0 rgba(52,199,89,.6);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(52,199,89,0)}100%{box-shadow:0 0 0 0 rgba(52,199,89,0)}}
.site-nav-inline-cta b,.menu-cta b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;transition:transform .25s}
.site-nav-inline-cta:hover b{transform:rotate(45deg)}
.menu-cta{justify-content:space-between;padding:8px 8px 8px 20px}
.hero-actions .button-primary{gap:12px;padding:0 26px 0 8px;min-height:58px}
.hero-actions .button-primary::before{content:none}
.hero-primary-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff 0%,#fbfdff 55%,#e8efff 100%);border:1px solid rgba(210,218,234,.74);box-shadow:0 10px 24px rgba(8,118,237,.16),inset 0 1px 0 rgba(255,255,255,.95);color:var(--accent);overflow:visible}
.hero-primary-icon svg{width:30px;height:30px;display:block;overflow:visible}
.hero-primary-icon .bl-dot{stroke:#fff}
.hero-primary-label{display:block}

/* hero dots: full-bleed grid */
.hero-section{background:var(--light)}
.hero-section::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(11,16,32,.3) 1.4px,transparent 1.8px) 0 0/20px 20px;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.hero-shell{z-index:1}

/* problems: white bg, blue ribbon, bigger cards */
.problem-section{background:#fff}
.problem-heading h2{color:var(--ink)}
.problem-heading h3{color:var(--accent)}
.problem-foot{color:var(--ink)}
#problem-ribbon-outline{stroke:rgba(8,118,237,.1)}
#problem-ribbon-fill{stroke:var(--accent)}
.problem-card{border-color:rgba(255,255,255,.06);box-shadow:0 30px 60px rgba(11,16,32,.28)}
@media(min-width:760px){
 .problem-card,.process-card{width:340px;padding:30px}
 .problem-card{min-height:330px}
 .problem-card h3,.process-card h3{font-size:1.8rem}
 .problem-card p,.process-card p{font-size:1.04rem}
 .problem-card-illustration{width:140px;height:100px}
 .process-card-art{width:120px;height:90px}
 .problem-chip{font-size:.74rem}
}

/* work: bigger visual cards */
.work-card{position:relative;width:min(500px,80vw);padding:0;overflow:hidden;border-radius:32px;background:linear-gradient(160deg,#16233f,#0b1020)}
.work-image-wrap{aspect-ratio:4/3.75;border-radius:0}
.work-image-wrap img{transition:transform .8s ease}
.work-card:hover .work-image-wrap img{transform:scale(1.06)}
.work-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,12,.45),transparent 30%,rgba(5,7,12,.92));pointer-events:none}
.work-card-top{position:absolute;z-index:2;left:18px;right:18px;top:18px;margin:0}
.work-card-token{padding:9px 14px;border-radius:99px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);color:#fff}
.work-card-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:20px 20px 18px}
.work-card-copy strong{font-size:1.6rem;letter-spacing:-.02em;line-height:1.04}
.work-card-copy p{color:#d6dbe8;font-size:.84rem;line-height:1.36}

/* why-us illustrations */
.why-icon{width:120px;height:120px;border-radius:0;background:none}
.why-icon svg{width:100%;height:100%}
.why-item{transition:transform .3s}.why-item:hover{transform:translateY(-6px)}
@media(prefers-reduced-motion:reduce){.clients-row,.vm-head,.pulse{animation:none}.svc{opacity:1;transform:none}}

/* ===== v6 ===== */
/* hero: closer to reference */
.hero-section::before{background:radial-gradient(rgba(11,16,32,.2) 1.3px,transparent 1.7px) 0 0/22px 22px;-webkit-mask-image:linear-gradient(#000 40%,rgba(0,0,0,.25));mask-image:linear-gradient(#000 40%,rgba(0,0,0,.25))}
.hero-title{font-size:clamp(2.3rem,5.6vw,4.6rem);line-height:1.18;letter-spacing:-.045em;font-weight:800;color:#0e1230}
.hero-title span{display:block}
.hero-title span:last-child{color:var(--accent)}
.ht{display:inline-grid;place-items:center;width:.82em;height:.82em;margin:0 .1em;vertical-align:-.1em;border-radius:.24em;background:#fff;box-shadow:0 8px 20px rgba(11,16,32,.12),0 0 0 1px rgba(11,16,32,.04);transform:rotate(-6deg)}
.ht+.ht{margin-left:-.28em;transform:rotate(7deg)}
.ht svg{width:52%;height:52%}
.hero-subline{font-size:clamp(1rem,1.4vw,1.15rem);color:#2f3547}
.hero-quote{width:310px;padding:24px 26px;border-radius:30px;box-shadow:0 30px 60px rgba(11,16,32,.1)}
.hero-quote::before,.hero-quote::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#fff;z-index:-1;box-shadow:0 14px 30px rgba(11,16,32,.07)}
.hero-quote::before{transform:translate(10px,10px) rotate(2deg)}
.hero-quote::after{transform:translate(-8px,-6px) rotate(-2deg);opacity:.7}
.hero-quote p{font-size:1rem;color:#555c70}
.hero-quote-left{left:-120px;bottom:12%}
.hero-quote-right{right:-120px;top:30%}
.hero-pill{box-shadow:0 8px 24px rgba(11,16,32,.06)}

/* services (original), bigger */
.sl-inner{width:240px}
.service-curve-item{width:176px;padding:14px 16px;border-radius:20px}
.service-curve-item h3{font-size:.95rem}
.service-curve-number{font-size:.78rem}
.service-copy-item h3{font-size:clamp(2rem,5.4vw,4.2rem)}
.service-copy-item p{font-size:clamp(1rem,1.5vw,1.25rem);max-width:600px}
.service-point-list li{font-size:.92rem;padding:10px 18px}
.service-copy-item:first-child>span::after{content:"  \00B7  Main focus"}
.services-pinned{gap:28px}


/* ===== v7 ===== */

/* problems: brand blue background, white ribbon, dark cards */
.problem-section{background:var(--accent)}
.problem-heading h2{color:#fff}
.problem-heading h3{color:#04122a}
.problem-foot{color:#fff}
#problem-ribbon-outline{stroke:rgba(255,255,255,.16)}
#problem-ribbon-fill{stroke:#fff;opacity:1;filter:none}
.problem-card{background:#0d111b;border-color:rgba(255,255,255,.08);box-shadow:0 30px 60px rgba(2,20,60,.4)}
.problem-card-illustration svg{overflow:visible}

/* process: site fonts, pinned sticky notes that drop in one per scroll */
.process-section{background:#f3f6fb;color:var(--ink);padding:90px 0 80px}
.pn-wrap{max-width:1280px}
.pn-head{display:grid;gap:16px;margin-bottom:30px}
@media(min-width:1000px){.pn-head{grid-template-columns:1fr minmax(260px,400px);align-items:end;gap:40px}}
.pn-head .section-intro{color:var(--ink)}
.pn-head h2{font-family:"Poppins",system-ui,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;margin:14px 0 0}
.pn-head h2 em{font-style:normal;color:var(--accent)}
.pn-head>p{color:var(--mutedd);line-height:1.6;font-size:1.05rem}
.pn-stage{position:relative;height:500px}
.pn-card{position:absolute;width:23.2%;min-height:260px;padding:36px 26px 26px;border-radius:12px 12px 22px 12px;color:#14203a;rotate:var(--r);opacity:0;transform:translateY(-110px) scale(.94);transition:opacity .45s ease,transform .9s cubic-bezier(.2,1.25,.4,1);box-shadow:0 1px 1px rgba(11,16,32,.08),0 14px 28px rgba(11,16,32,.12),0 30px 50px rgba(11,16,32,.08)}
.pn-card.is-on{opacity:1;transform:none}
.pn-card::after{content:"";position:absolute;right:0;bottom:0;width:26px;height:26px;border-radius:0 0 22px 0;background:linear-gradient(135deg,transparent 50%,rgba(11,16,32,.1) 50%)}
.pn-1{left:0;top:0;--r:-1.5deg;background:#cfe4ff}
.pn-2{left:25.6%;top:56px;--r:1deg;background:#e1e6ff}
.pn-3{left:51.2%;top:112px;--r:-1deg;background:#c9f1ff}
.pn-4{left:76.8%;top:168px;--r:1.6deg;background:#d3f5e6}
.pn-clip{position:absolute;left:50%;top:-22px;width:24px;height:60px;margin-left:-12px;filter:drop-shadow(0 4px 3px rgba(11,16,32,.25))}
.pn-top{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:.84rem;font-weight:700;color:rgba(20,32,58,.75)}
.pn-top b{padding:4px 9px;border-radius:7px;background:rgba(11,16,32,.08);font-family:"Poppins",system-ui,sans-serif}
.pn-card h3{font-size:1.55rem;font-weight:900;letter-spacing:-.02em;line-height:1.1;margin-bottom:10px}
.pn-card p{font-size:.98rem;line-height:1.6;color:rgba(20,32,58,.74)}
.pn-prog{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:26px;padding-top:20px}
.pn-prog-line{position:absolute;left:0;right:0;top:0;height:4px;border-radius:4px;background:var(--lined);overflow:hidden}
.pn-prog-fill{display:block;height:100%;background:var(--accent);transform-origin:0 0;transform:scaleX(0);transition:transform .6s ease}
.pn-step{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:800;color:#9aa1b2;transition:color .3s}
.pn-step b{font-family:"Poppins",system-ui,sans-serif;font-size:.78rem}
.pn-step.is-on{color:var(--ink)}
@media(max-height:820px) and (min-width:1000px){.pn-head h2{font-size:3.2rem}.pn-head{margin-bottom:20px}.pn-stage{height:470px}}
@media(max-width:999px){
  .pn-stage{height:auto;display:grid;gap:36px;padding-top:24px}
  .pn-card{position:relative;left:auto;top:auto;width:100%;max-width:460px;min-height:0}
  .pn-card:nth-child(even){margin-left:auto}
  .pn-prog{display:none}
}

/* tape: one slim strip */
.tape-section{padding:0;background:var(--accent)}
.tape{padding:13px 0}
.tape-track{gap:0;font-size:.82rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff;animation:tape 70s linear infinite}
.tape-token{gap:14px;margin-right:38px}
.tape-token-dot{width:6px;height:6px;opacity:.65}

/* services: bigger */
.sl-inner{width:470px}
.service-curve-item{width:250px;padding:18px 20px;border-radius:24px}
.service-curve-item h3{font-size:1.15rem;margin-top:6px}
.service-curve-number{font-size:.9rem}
.service-copy-item>span{font-size:1rem}
.service-copy-item h3{font-size:clamp(2.3rem,5.6vw,4.4rem);margin:10px 0 18px}
.service-copy-item p{font-size:clamp(1.05rem,1.7vw,1.4rem);max-width:680px;line-height:1.65}
.service-point-list{margin-top:24px;gap:10px}
.service-point-list li{font-size:1rem;padding:12px 22px;background:rgba(255,255,255,.04)}
@media(max-width:759px){
  .services-left{position:absolute!important;left:-9999px;top:0}
  .service-copy-item h3{font-size:2.3rem}
  .service-copy-item p{font-size:1rem}
  .service-point-list li{font-size:.82rem;padding:8px 14px}
}

/* clients: white-card marquee on brand blue */
.clients-section{padding:110px 0 100px;background:var(--accent);color:#fff;overflow:hidden;border:0}
.clients-head{text-align:center;margin-bottom:50px}
.clients-head .section-intro{justify-content:center;color:#fff}
.clients-head .section-dot{background:#fff}
.clients-head h2{font-size:clamp(2.2rem,5vw,4rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin:16px 0 12px;color:#fff}
.clients-head p{color:rgba(255,255,255,.88);max-width:560px;margin:0 auto;line-height:1.6}
.clients-marquee{display:grid;gap:18px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.clients-row{display:flex;width:max-content;animation:marq 60s linear infinite paused;will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}
.clients-row-rev{animation-direction:reverse;animation-duration:70s}
.clients-marquee.is-live .clients-row{animation-play-state:running}
.clients-marquee.is-live:hover .clients-row{animation-play-state:paused}
.cl-card{flex:none;display:grid;gap:14px;width:min(400px,92vw);margin-right:18px;padding:16px 22px 16px 16px;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 14px 34px rgba(2,20,60,.22);transition:transform .3s}
.cl-card:hover{transform:translateY(-5px)}
.cl-head{display:flex;align-items:center;gap:14px;min-width:0}
.cl-logo{flex:none;width:54px;height:54px;display:grid;place-items:center;border-radius:16px;overflow:hidden;background:var(--cl-logo,#0876ed);color:#fff;font-style:normal;font-weight:900;font-size:1.05rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.cl-logo img{width:100%;height:100%;object-fit:cover}
.cl-copy{min-width:0}
.cl-card strong{display:block;font-size:1.05rem;line-height:1.25;white-space:normal}
.cl-copy span{display:block;margin-top:4px;font-size:.82rem;line-height:1.45;color:var(--mutedd);white-space:normal}
.cl-card em{justify-self:start;padding:7px 12px;border-radius:99px;background:#e9f2ff;color:var(--accent);font-size:.72rem;line-height:1.45;font-style:normal;font-weight:800;white-space:normal}
.clients-foot{text-align:center;margin-top:46px}
.clients-link{display:inline-flex;align-items:center;gap:14px;padding:8px 8px 8px 24px;border-radius:99px;background:#fff;color:var(--ink);font-weight:800}
.clients-link b{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;transition:transform .25s}
.clients-link:hover b{transform:rotate(45deg)}
@keyframes marq{to{transform:translateX(-50%)}}

/* testimonials: featured quote + two-row card marquee */
.testimonials-section{background:var(--light)}
.testimonials-frame{position:relative;padding:44px 40px 36px;border:1px solid rgba(8,118,237,.16)}
.testimonials-frame::before{content:"\201C";position:absolute;top:-4px;left:28px;font:900 7rem/1 Georgia,serif;color:rgba(8,118,237,.14)}
.t-marquee{order:2;display:grid;gap:18px;width:100%;margin-top:14px;padding:6px 0 20px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.testimonials-row{display:flex;gap:0;width:max-content;margin:0;animation:marq 80s linear infinite paused;will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}
.testimonials-row-rev{animation-direction:reverse;animation-duration:95s}
.t-marquee.is-live .testimonials-row{animation-play-state:running}
.t-marquee.is-live:hover .testimonials-row{animation-play-state:paused}
.testimonial-card{flex:none;width:min(360px,82vw);margin-right:18px;padding:26px;border-radius:26px;background:#fff;border:1px solid var(--lined);display:flex;flex-direction:column;gap:16px;box-shadow:0 14px 34px rgba(11,16,32,.06);transition:transform .3s,box-shadow .3s}
.testimonial-card::before{content:none}
.testimonial-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(8,118,237,.14)}
.tc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.testimonial-card .tc-stars{color:#f5a524;letter-spacing:3px;font-size:.95rem}
.testimonial-card .tc-tag{padding:6px 12px;border-radius:99px;background:#e9f2ff;color:var(--accent);font-size:.72rem;font-weight:800;white-space:nowrap}
.testimonial-card>p{flex:1;font-size:1.02rem;line-height:1.6;color:#2b3246}
.tc-who{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px dashed #d4d8e2}
.tc-who i{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;overflow:hidden;color:#fff;font-style:normal;font-size:.78rem;font-weight:800}
.tc-who i img{width:100%;height:100%;object-fit:cover}
.tc-who b{display:block;font-size:.95rem}
.testimonial-card .tc-who span{font-size:.82rem;font-weight:600;color:var(--mutedd)}

.lead-form{display:grid;gap:18px;padding:32px;border-radius:28px;background:#fff;border:1px solid var(--lined);box-shadow:0 24px 60px rgba(11,16,32,.08)}
.lf-split{display:grid;gap:18px}
@media(min-width:600px){.lf-split{grid-template-columns:1fr 1fr}}
.lf-field{display:grid;gap:7px;align-content:start}
.lf-field>span{font-size:.84rem;font-weight:800;color:#3b4254}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;padding:15px 16px;border-radius:14px;border:1.5px solid #dde1ea;background:#f8f9fc;color:var(--ink);font:inherit;font-size:1rem;box-shadow:none;transition:border-color .2s,box-shadow .2s,background .2s}
.lead-form select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;background:#f8f9fc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6171' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat}
.lead-form textarea{border-radius:14px;min-height:130px;resize:vertical;line-height:1.5}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:#8a90a0}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--accent);background-color:#fff;box-shadow:0 0 0 4px rgba(8,118,237,.15)}
.lf-field.has-error input{border-color:#e5484d;background:#fff6f6}
.lf-err{display:none;font-size:.8rem;font-weight:600;color:#d92d34}
.lf-field.has-error .lf-err{display:block}
.lead-form button{min-height:58px;border:0;border-radius:99px;background:var(--accent);color:#fff;font:inherit;font-size:1.05rem;font-weight:800;cursor:pointer;box-shadow:0 14px 30px rgba(8,118,237,.3);transition:transform .2s,opacity .2s}
.lead-form button:hover{transform:translateY(-2px)}
.lead-form button:disabled{opacity:.65;cursor:wait;transform:none}
.lf-status{min-height:0;font-size:.92rem;font-weight:600;line-height:1.5}
.lf-status.is-ok{color:#13795b}
.lf-status.is-error{color:#d92d34}
@media(max-width:599px){.lead-form{padding:22px}}

@media(prefers-reduced-motion:reduce){.clients-row,.testimonials-row,.tape-track{animation:none}.pn-card{transition:none}}
@media(max-width:1099px){.hero-quote{display:none}}

/* ===== v8: hero, problems, process papers, services, why, contact ===== */

/* hero: dots only at the top, very light */
.hero-section{background:var(--light);padding:132px 0 90px}
.hero-section::before{content:"";position:absolute;left:0;right:0;top:0;height:46%;inset:0 0 auto 0;background:radial-gradient(rgba(11,16,32,.11) 1.2px,transparent 1.7px) 0 0/22px 22px;-webkit-mask-image:linear-gradient(#000 0,transparent 100%);mask-image:linear-gradient(#000 0,transparent 100%);pointer-events:none}
.hero-section::after{content:"";position:absolute;left:50%;top:-220px;width:760px;height:420px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(8,118,237,.10),transparent);pointer-events:none}
.hero-shell{position:static}
.hero-inner{max-width:1000px;gap:24px}
.hero-title{font-size:clamp(2.2rem,5.8vw,4.9rem);line-height:1.12;letter-spacing:-.045em;font-weight:800;color:#0e1230}
.hero-title span{display:block;white-space:nowrap}
.hero-title span:last-child{color:var(--accent)}
.ht{display:inline-grid;place-items:center;width:.74em;height:.74em;margin:0 .14em;vertical-align:.02em;border-radius:.24em;background:#fff;box-shadow:0 10px 24px rgba(11,16,32,.12),0 0 0 1px rgba(11,16,32,.05);transform:rotate(-7deg);animation:htFloat 5s ease-in-out infinite}
.ht svg{width:54%;height:54%}
.ht-b{transform:rotate(6deg);animation-delay:-1.6s}
.ht-c{transform:rotate(-5deg);animation-delay:-3s}
@keyframes htFloat{50%{translate:0 -6px}}
.hero-subline{max-width:660px}
.hero-chip{background:rgba(255,255,255,.7);font-size:.7rem;color:#2f3547}
.hero-quote{width:268px;padding:22px 24px;display:none}
.hero-quote-left{left:3vw;bottom:13%;top:auto;right:auto}
.hero-quote-right{right:3vw;top:24%;left:auto;bottom:auto}
@media(min-width:1500px){.hero-quote{display:flex}}
@media(max-width:1499px){.hero-quote{display:none!important}}
@media(max-width:700px){
  .hero-section{padding:112px 0 64px}
  .hero-title{font-size:clamp(2.1rem,9.4vw,2.8rem);line-height:1.12}
  .hero-title span{white-space:normal}
  .ht{width:.7em;height:.7em;margin:0 .1em}
  .hero-inner{gap:20px}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%;max-width:320px}
  .hero-actions .button{width:100%}
}

/* problems: wider cards + real illustrations */
.problem-card-illustration{width:100%;height:auto;margin:10px 0 6px}
.problem-card-illustration svg{display:block;width:100%;height:auto}
@media(min-width:760px){
  .problem-card{width:410px;padding:30px 30px 32px;min-height:0;border-radius:34px}
  .problem-card h3{font-size:2rem}
  .problem-card p{font-size:1.06rem}
  .problem-card-illustration{width:100%;height:auto}
}
@media(max-width:759px){
  .problem-card{width:290px;padding:18px 18px 20px;border-radius:26px;min-height:0}
  .problem-card h3{font-size:1.3rem}
  .problem-card p{font-size:.9rem;line-height:1.45}
  .problem-card-illustration{width:100%;height:auto;margin:6px 0 2px}
  .problem-chip-row{display:none}
}

/* process: papers dropping onto the board, no progress line */
.pn-prog{display:none!important}
.pn-stage{perspective:1600px}
.pn-card{opacity:0;transform:none;transition:none;will-change:transform,opacity;transform-origin:50% 0;backface-visibility:hidden;min-height:290px;background-image:repeating-linear-gradient(transparent 0 31px,rgba(11,16,32,.045) 31px 32px)}
.pn-card.is-on{opacity:1;transform:none}
.pn-card h3{font-size:1.65rem}
.pn-card p{font-size:1rem}
@media(max-width:999px){
  .pn-head>p{display:none}
  .pn-head{margin-bottom:6px}
  .pn-head h2{font-size:clamp(2.2rem,10vw,3rem)}
  .pn-stage{height:440px;display:block;padding-top:30px;gap:0}
  .pn-card{position:absolute;left:0;right:0;margin:0 auto;width:min(340px,90%);max-width:none;min-height:0;padding:30px 22px 22px}
  .pn-card:nth-child(even){margin-left:auto}
  .pn-1{top:30px;--r:-3deg}.pn-2{top:62px;--r:2.5deg}.pn-3{top:94px;--r:-2deg}.pn-4{top:126px;--r:3deg}
  .pn-card h3{font-size:1.35rem}
  .pn-card p{font-size:.92rem;line-height:1.5}
  .process-section{padding:84px 0 40px}
}

/* services: bigger preview cards, same motion on phones */
.sl-inner{width:600px}
.service-curve-item{width:340px;padding:22px 26px;border-radius:28px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.service-curve-item h3{font-size:1.5rem;line-height:1.12;margin-top:8px}
.service-curve-number{font-size:1rem}
.service-curve-item small{display:block;margin-top:10px;font-size:.9rem;color:var(--muted);font-weight:600}
.service-curve-item.is-active small{color:#cfe6ff}
@media(max-width:759px){
  .services-pinned{flex-direction:column;gap:10px;margin-top:10px}
  .services-left{position:relative!important;left:auto!important}
  .service-copy-stack{flex:none;width:100%}
  .service-copy-item{justify-content:flex-start}
  .service-copy-item h3{font-size:1.9rem;margin:6px 0 10px}
  .service-copy-item p{font-size:.95rem;line-height:1.55}
  .service-point-list{margin-top:14px}
  .service-point-list li{font-size:.78rem;padding:7px 12px}
  .services-intro-wrap{padding-bottom:0}
}



/* ===== v9: contact (home + page) in the site's own language ===== */
.pill-cta{display:inline-flex;align-items:center;gap:14px;padding:7px 7px 7px 26px;border-radius:99px;background:#fff;color:var(--ink);font-weight:800;font-size:1rem;border:0;cursor:pointer;font-family:inherit;transition:transform .2s}
.pill-cta b{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;transition:transform .25s}
.pill-cta:hover{transform:translateY(-2px)}.pill-cta:hover b{transform:rotate(45deg)}
.pill-ghost{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 26px;border-radius:99px;border:1.5px solid rgba(255,255,255,.55);background:transparent;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;font-family:inherit;transition:background .25s,color .25s,border-color .25s,transform .2s}
.pill-ghost b{width:auto;height:auto;background:none;border:0;color:inherit;font-weight:700;font-size:1.05rem;line-height:1;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.pill-ghost:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px)}
.pill-ghost:hover b{transform:translate(3px,-3px)}

/* home contact */
.cta-section{background:var(--bg);color:#fff;padding:100px 0;overflow:hidden}
.cta-section::before{content:"";position:absolute;left:-10%;top:-30%;width:70%;height:120%;background:radial-gradient(closest-side,rgba(8,118,237,.22),transparent);pointer-events:none}
.cta-dark{position:relative;display:grid;gap:40px;align-items:center}
@media(min-width:960px){.cta-dark{grid-template-columns:1.35fr 1fr;gap:64px}}
.cta-dark .section-intro{color:#fff}
.cta-dark .section-dot{display:inline-block;background:var(--accent)}
.cta-dark .section-intro p{margin:0}
.cta-dark .light-title{font-family:"Poppins",system-ui,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(2.8rem,7vw,5.6rem);line-height:1.02;color:#fff;margin:18px 0 18px}
.cta-dark .light-subtitle{color:var(--muted);max-width:520px}
.cta-dark-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.cta-dark-card{padding:34px;border-radius:32px;background:#0d111b;border:1px solid var(--line);box-shadow:0 30px 70px rgba(0,0,0,.45)}
.cta-live{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:99px;background:rgba(255,255,255,.06);font-size:.84rem;font-weight:700;color:#d7e3f7}
.cta-dark-card .cta-contact-link{display:block;margin-top:26px;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:900;letter-spacing:-.02em;color:#fff}
.cta-dark-card .cta-contact-link-mail{margin-top:8px;font-size:clamp(1.1rem,1.9vw,1.4rem);font-weight:700;color:var(--accent2)}
.cta-dark-card .cta-socials{flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:28px;padding-top:24px;border-top:1px dashed var(--line)}
.cta-dark-card .cta-socials a{padding:9px 16px;border:1px solid var(--line);border-radius:99px;font-weight:700;font-size:.88rem;color:#fff;transition:background .2s,border-color .2s}
.cta-dark-card .cta-socials a:hover{background:var(--accent);border-color:var(--accent)}
.cta-dark-card .cta-socials a::before{content:none}

/* contact page */
.ct-page{background:var(--bg);color:#f7f8fc}
.ct-main{position:relative;padding:130px 0 100px;overflow:hidden}
.ct-main::before{content:"";position:absolute;left:50%;top:-260px;width:900px;height:620px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(8,118,237,.25),transparent);pointer-events:none}
.ct-main>.container{position:relative}
.ct-head{max-width:900px;margin-bottom:48px}
.ct-head .section-intro{color:#fff}
.ct-head .section-intro p{margin:0}
.ct-head h1{font-family:"Poppins",system-ui,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(2.9rem,8vw,6.4rem);line-height:1.02;margin:18px 0 18px;color:#fff}
.ct-head h1 em{font-style:normal;color:var(--accent2)}
.ct-head p{font-size:1.08rem;line-height:1.65;color:var(--muted);max-width:600px}
.ct-grid{display:grid;gap:28px;align-items:start}
@media(min-width:1000px){.ct-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}.ct-aside{position:sticky;top:96px}}
.ct-form{display:grid;gap:20px}
.ct-card{padding:clamp(22px,3.2vw,36px);border-radius:32px;background:#0d111b;border:1px solid var(--line);box-shadow:0 30px 70px rgba(0,0,0,.4)}
.ct-card-head{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.ct-card-head b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(8,118,237,.18);color:var(--accent2);font-size:.85rem;font-weight:800}
.ct-card-head h2{font-size:1.4rem;font-weight:900;letter-spacing:-.02em;color:#fff}
.ct-card-head p{font-size:.9rem;color:var(--muted);margin-top:2px}
.ct-row{display:grid;gap:18px;margin-bottom:18px}
.ct-row:last-child{margin-bottom:0}
@media(min-width:620px){.ct-row.two{grid-template-columns:1fr 1fr}}
.ct-field{display:grid;gap:8px;align-content:start;min-width:0}
.ct-field>span,.ct-legend{font-size:.86rem;font-weight:800;color:#d7dded}
.ct-field>span i,.ct-legend i{color:var(--accent2);font-style:normal}
.ct-field>span em{font-style:normal;font-weight:600;color:var(--muted)}
.ct-form input[type=text],.ct-form input[type=email],.ct-form input[type=tel],.ct-form input[type=url],.ct-form select,.ct-form textarea{width:100%;padding:15px 18px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,background-color .2s}
.ct-form select{appearance:none;-webkit-appearance:none;padding-right:46px;cursor:pointer;background:rgba(255,255,255,.04) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aab1c3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center/18px no-repeat}
.ct-form select option{color:#0b1020;background:#fff}
.ct-form textarea{min-height:150px;resize:vertical;line-height:1.55}
.ct-form input::placeholder,.ct-form textarea::placeholder{color:#6f778c}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:none;border-color:var(--accent);background-color:rgba(8,118,237,.08);box-shadow:0 0 0 4px rgba(8,118,237,.22)}
.ct-err{display:none;font-size:.8rem;font-weight:700;color:#ff7b80}
.has-error>.ct-err,.has-error .ct-err{display:block}
.ct-field.has-error input,.ct-field.has-error select,.ct-field.has-error textarea{border-color:#ff5d63;background-color:rgba(255,93,99,.07)}
.ct-count{justify-self:end;font-size:.78rem;color:var(--muted)}
fieldset.ct-group{border:0;padding:0;margin:0 0 20px;min-width:0;display:grid;gap:12px}
fieldset.ct-group:last-child{margin-bottom:0}
.ct-chips{display:flex;flex-wrap:wrap;gap:10px}
.ct-chip{position:relative;cursor:pointer}
.ct-chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.ct-chip span{display:inline-flex;align-items:center;padding:11px 20px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.04);font-weight:700;font-size:.92rem;color:#e5e9f4;transition:background .2s,border-color .2s,color .2s}
.ct-chip:hover span{border-color:rgba(255,255,255,.28)}
.ct-chip input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
.ct-chip input:focus-visible+span{outline:2px solid var(--accent2);outline-offset:3px}
fieldset.has-error .ct-chip span{border-color:#ff5d63}
.ct-consent{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;line-height:1.5;color:#c9cfde;cursor:pointer}
.ct-consent input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--accent)}
.ct-submit{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.ct-submit button{display:inline-flex;align-items:center;gap:14px;padding:7px 7px 7px 28px;min-height:0;border:0;border-radius:99px;background:#fff;color:var(--ink);font:inherit;font-size:1.02rem;font-weight:800;cursor:pointer;transition:transform .2s,opacity .2s}
.ct-submit button b{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;transition:transform .25s}
.ct-submit button:hover{transform:translateY(-2px)}.ct-submit button:hover b{transform:rotate(45deg)}
.ct-submit button:disabled{opacity:.65;cursor:wait;transform:none}
.ct-submit small{color:var(--muted);font-size:.86rem;max-width:260px;line-height:1.4}
.ct-status{font-size:.92rem;font-weight:700}
.ct-status.is-error{color:#ff7b80}
.ct-aside{display:grid;gap:18px}
.ct-side-card{padding:30px;border-radius:32px;background:var(--accent);color:#fff;box-shadow:0 30px 70px rgba(2,20,60,.4)}
.ct-side-card h3{font-family:"Poppins",system-ui,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:1.9rem;margin-bottom:20px}
.ct-steps{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:s}
.ct-steps li{display:grid;grid-template-columns:34px 1fr;gap:14px;counter-increment:s;color:rgba(255,255,255,.85);font-size:.95rem;line-height:1.5}
.ct-steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--accent);font-weight:800;font-size:.85rem}
.ct-steps strong{display:block;color:#fff;font-size:1.02rem;margin-bottom:2px}
.ct-direct{padding:26px 28px;border-radius:32px;background:#0d111b;border:1px solid var(--line)}
.ct-direct h3{font-size:1.1rem;font-weight:900;margin-bottom:12px;color:#fff}
.ct-direct a{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px dashed var(--line);font-weight:700;color:#fff;transition:color .2s}
.ct-direct a:first-of-type{border-top:0}
.ct-direct a b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(8,118,237,.18);color:var(--accent2)}
.ct-direct a:hover{color:var(--accent2)}
.ct-done{display:none;text-align:center;padding:clamp(34px,6vw,70px) clamp(22px,4vw,50px);border-radius:34px;background:#0d111b;border:1px solid var(--line);box-shadow:0 30px 70px rgba(0,0,0,.4)}
.ct-done.is-show{display:block}
.ct-done .tick{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 22px;border-radius:50%;background:var(--accent);color:#fff}
.ct-done h2{font-family:"Poppins",system-ui,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;margin-bottom:14px;color:#fff}
.ct-done p{max-width:520px;margin:0 auto 24px;color:var(--muted);line-height:1.6}
.ct-summary{display:grid;gap:10px;max-width:460px;margin:0 auto 28px;padding:20px 22px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid var(--line);text-align:left;font-size:.92rem}
.ct-summary div{display:flex;justify-content:space-between;gap:16px}
.ct-summary span{color:var(--muted)}
.ct-summary b{text-align:right;color:#fff}
.ct-done .row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.ct-page .site-footer{padding-top:90px}
@media(max-width:599px){.cta-dark-card{padding:26px}.cta-section{padding:72px 0}.ct-main{padding:112px 0 70px}.ct-submit button{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.ht{animation:none}}

/* process: dotted trail between the paper clips (desktop) */
.pn-trail{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:30}
#pn-dots{stroke:#14203a;stroke-width:5;stroke-linecap:round;stroke-dasharray:.1 15}
@media(max-width:999px){.pn-trail{display:none}}


/* ===== v10: one typeface, light contact page, new problem icons, natural process thread, faq motion, phone fixes ===== */

/* 1. Satoshi everywhere (same family as the hero) - Anton removed */
.problem-heading h2,.problem-heading h3,.process-title,.pn-head h2,.cta-dark .light-title,.ct-head h1,.ct-side-card h3,.ct-done h2{
  font-family:"Poppins",system-ui,sans-serif;font-weight:900;letter-spacing:-.035em;text-transform:uppercase;line-height:1.05}
.problem-heading h2,.problem-heading h3{font-size:clamp(1.8rem,4.4vw,3.5rem)}
.pn-head h2{font-size:clamp(2rem,4.8vw,3.9rem)}
.cta-dark .light-title{font-size:clamp(2.1rem,5vw,4.1rem)}
.ct-head h1{font-size:clamp(2.1rem,5.6vw,4.7rem)}
.ct-side-card h3{font-size:1.45rem;letter-spacing:-.01em}
.ct-done h2{font-size:clamp(1.7rem,4vw,2.8rem)}
@media(max-height:820px) and (min-width:1000px){.pn-head h2{font-size:2.7rem}}

/* 2. contact page: white theme */
.ct-page{background:var(--light);color:var(--ink)}
.ct-main::before{background:radial-gradient(closest-side,rgba(8,118,237,.13),transparent)}
.ct-head .section-intro{color:var(--ink)}
.ct-head h1{color:var(--ink)}
.ct-head h1 em{color:var(--accent)}
.ct-head p{color:#4a5164}
.ct-card{background:#fff;border:1px solid var(--lined);box-shadow:0 24px 60px rgba(11,16,32,.07)}
.ct-card-head b{background:#e9f2ff;color:var(--accent)}
.ct-card-head h2{color:var(--ink)}
.ct-card-head p{color:var(--mutedd)}
.ct-field>span,.ct-legend{color:#2b3246}
.ct-field>span i,.ct-legend i{color:var(--accent)}
.ct-field>span em{color:var(--mutedd)}
.ct-form input[type=text],.ct-form input[type=email],.ct-form input[type=tel],.ct-form input[type=url],.ct-form select,.ct-form textarea{border:1.5px solid #dde1ea;background-color:#f8f9fc;color:var(--ink)}
.ct-form select{background:#f8f9fc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6171' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center/18px no-repeat}
.ct-form input::placeholder,.ct-form textarea::placeholder{color:#8a90a0}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{border-color:var(--accent);background-color:#fff;box-shadow:0 0 0 4px rgba(8,118,237,.15)}
.ct-err{color:#d92d34}
.ct-field.has-error input,.ct-field.has-error select,.ct-field.has-error textarea{border-color:#e5484d;background-color:#fff6f6}
.ct-count{color:var(--mutedd)}
.ct-chip span{border:1.5px solid #dde1ea;background:#f8f9fc;color:#2b3246}
.ct-chip:hover span{border-color:#b6bfd2;background:#fff}
.ct-chip input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
fieldset.has-error .ct-chip span{border-color:#e5484d}
.ct-consent{color:#3b4254}
.ct-submit button{background:var(--ink);color:#fff;box-shadow:0 14px 30px rgba(11,16,32,.22)}
.ct-submit small{color:var(--mutedd)}
.ct-status.is-error{color:#d92d34}
.ct-side-card{box-shadow:0 26px 60px rgba(8,118,237,.28)}
.ct-direct{background:#fff;border:1px solid var(--lined);box-shadow:0 18px 44px rgba(11,16,32,.06)}
.ct-direct h3{color:var(--ink)}
.ct-direct a{color:var(--ink);border-top:1px dashed #d4d8e2}
.ct-direct a:first-of-type{border-top:0}
.ct-direct a b{background:#e9f2ff;color:var(--accent)}
.ct-direct a:hover{color:var(--accent)}
.ct-done{background:#fff;border:1px solid var(--lined);box-shadow:0 24px 60px rgba(11,16,32,.07)}
.ct-done h2{color:var(--ink)}
.ct-done p{color:var(--mutedd)}
.ct-summary{background:#f8f9fc;border:1px solid var(--lined)}
.ct-summary span{color:var(--mutedd)}
.ct-summary b{color:var(--ink)}
.ct-done .pill-cta{background:var(--ink);color:#fff}
.ct-page .pill-ghost{color:var(--ink);border-color:#cfd5e2}
.ct-page .pill-ghost:hover{background:rgba(11,16,32,.05);border-color:#b6bfd2}
.ct-page .site-footer{border-top:1px solid var(--lined)}

/* 3. problems: icon tiles in the why-us illustration style */
.problem-card-illustration{display:grid;place-items:center;width:124px;height:124px;margin:14px 0 8px;border-radius:30px;background:#eaf3ff;box-shadow:inset 0 0 0 1px rgba(8,118,237,.14)}
.problem-card-illustration svg{display:block;width:80%;height:80%;overflow:visible}
@media(min-width:760px){.problem-card-illustration{width:132px;height:132px;margin:16px 0 10px}}
@media(max-width:759px){
  .problem-card{width:330px;padding:20px 22px 22px}
  .problem-card-illustration{width:96px;height:96px;margin:8px 0 6px;border-radius:26px}
  .problem-card h3{font-size:1.4rem}
  .problem-card p{font-size:.95rem}
}

/* 4. process: one soft thread from clip to clip */
#pn-track{fill:none;stroke:rgba(20,32,58,.28);stroke-width:2;stroke-linecap:round;stroke-dasharray:2 9}
#pn-line{fill:none;stroke:#14203a;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* 5. services on phones: readable once the stage is scaled down */
@media(max-width:759px){
  .service-curve-item{width:380px;padding:28px 32px;border-radius:34px}
  .service-curve-item h3{font-size:2.25rem;margin-top:10px}
  .service-curve-number{font-size:1.6rem}
  .service-curve-item small{font-size:1.5rem;margin-top:14px}
  .service-copy-item h3{font-size:1.8rem}
  .service-copy-item p{font-size:.92rem}
}

.faq-section{overflow:hidden}

/* ===== v11 ===== */
/* problems heading: truly centred */
.problem-heading{max-width:960px;margin:0 auto 26px;padding:0 20px;text-align:center}
.problem-heading h2,.problem-heading h3{text-wrap:balance;text-align:center;margin:0 auto 6px}
.problem-heading h3{margin-bottom:0}

/* faq: you ask, Adverse answers */
.faq-section{overflow:visible}
.faq-shell{max-width:980px}
.fq-stage{display:grid;grid-template-columns:130px minmax(0,1fr) 130px;gap:22px;align-items:end;margin-top:10px;text-align:left}
.fq-who{position:relative;display:grid;justify-items:center;gap:8px;font-weight:800}
.fq-avatar{width:110px;height:110px;border-radius:50%;background:#e9f2ff;display:grid;place-items:center;overflow:hidden;transition:box-shadow .3s}
.fq-avatar svg{width:80%;height:80%;margin-top:16%}
.fq-mark{width:58%;height:58%;border-radius:50%;background:conic-gradient(var(--accent),var(--accent2),var(--accent))}
.fq-pop{position:absolute;top:-8px;right:12px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f5a524;color:var(--ink);font-style:normal;font-weight:900;opacity:0;transform:scale(.4) rotate(-20deg);transition:opacity .3s,transform .4s cubic-bezier(.2,1.6,.4,1)}
.fq-us .fq-pop{background:#34c759;color:#fff}
.is-asking .fq-you .fq-pop,.is-answering .fq-us .fq-pop{opacity:1;transform:none}
.is-asking .fq-you .fq-avatar{box-shadow:0 0 0 6px rgba(245,165,36,.35)}
.is-answering .fq-us .fq-avatar{box-shadow:0 0 0 6px rgba(8,118,237,.3)}
.fq-thread{height:380px;overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 16%);mask-image:linear-gradient(transparent,#000 16%)}
.fq-flow{display:grid;gap:26px;padding-top:20px;transition:transform .45s ease}
.fq-item{display:grid;transition:opacity .3s}
.fq-item p{margin:0;max-width:88%;padding:16px 20px;line-height:1.55;grid-area:auto}
.fq-q{justify-self:start;background:#e9e9e9;border-radius:22px 22px 22px 6px;font-weight:700;margin-bottom:12px!important}
.fq-a,.fq-dots{grid-row:2;grid-column:1;justify-self:end}
.fq-a{background:var(--accent);color:#fff;border-radius:22px 22px 6px 22px}
.fq-dots{display:flex;gap:6px;background:#fff;border:1px solid var(--lined);border-radius:22px 22px 6px 22px;opacity:0}
.fq-dots span{width:8px;height:8px;border-radius:50%;background:#9aa0b0;animation:fqd 1s infinite}
.fq-dots span:nth-child(2){animation-delay:.15s}.fq-dots span:nth-child(3){animation-delay:.3s}
@keyframes fqd{50%{transform:translateY(-5px);opacity:.5}}
.fq-static .fq-thread{height:auto;-webkit-mask-image:none;mask-image:none}
.fq-static .fq-dots{display:none}
@media(max-width:759px){
 .fq-stage{grid-template-columns:1fr 1fr;grid-template-areas:"y u" "t t";gap:14px}
 .fq-you{grid-area:y;justify-items:start}.fq-us{grid-area:u;justify-items:end}
 .fq-thread{grid-area:t;height:310px}.fq-avatar{width:68px;height:68px}.fq-pop{right:auto;left:46px;top:-10px}.fq-us .fq-pop{left:auto;right:46px}
 .fq-item p{max-width:94%;font-size:.92rem;padding:12px 16px}
}

/* home contact: one bold blue panel + white contact card */
.cta-section{background:var(--bg);padding:90px 0}
.cta-section::before{content:none}
.cta-dark{background:var(--accent);border-radius:44px;padding:clamp(28px,5vw,68px);overflow:hidden;gap:36px;color:#fff;box-shadow:0 40px 90px rgba(8,118,237,.22)}
.cta-dark>*{position:relative}
.cta-dark .section-dot{background:#fff}
.cta-dark .light-title{text-transform:none;font-size:clamp(2.2rem,5vw,4.2rem);letter-spacing:-.04em;line-height:1.04;margin:18px 0}
.cta-dark .light-subtitle{color:rgba(255,255,255,.9)}
.cta-dark .pill-ghost{border-color:rgba(255,255,255,.55)}
.cta-dark-card{background:#fff;color:var(--ink);border:0;padding:26px;border-radius:30px;box-shadow:0 30px 60px rgba(2,20,60,.28)}
.cta-live{background:#e9f9ee;color:#13795b}
.cta-dark-card .cta-contact-link{display:flex;align-items:center;gap:14px;margin-top:12px;padding:12px 16px 12px 12px;border-radius:20px;background:#f3f6fb;color:var(--ink);font-size:1.05rem;font-weight:800;letter-spacing:0;overflow-wrap:anywhere}
.cta-dark-card .cta-contact-link:first-of-type{margin-top:20px}
.cta-dark-card .cta-contact-link::before{content:"\260E";flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:1.05rem}
.cta-dark-card .cta-contact-link-mail{color:var(--ink);font-size:1.05rem;margin-top:12px}
.cta-dark-card .cta-contact-link-mail::before{content:"@";font-weight:900}
.cta-dark-card .cta-socials{border-top:1px dashed #d4d8e2}
.cta-dark-card .cta-socials a{color:var(--ink);border-color:#d4d8e2}

/* contact page: story on the left, one clean form on the right */
.ct-page{background:var(--light)}
.ct-main{padding:120px 0 90px}
.ct-main::after{content:"";position:absolute;inset:0 0 auto;height:420px;background:radial-gradient(rgba(11,16,32,.12) 1.2px,transparent 1.7px) 0 0/22px 22px;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent);pointer-events:none}
.ct-grid{gap:34px}
@media(min-width:1000px){.ct-grid{grid-template-columns:minmax(320px,.8fr) minmax(0,1.5fr);gap:56px}.ct-aside{order:-1}}
@media(min-width:1000px) and (min-height:940px){.ct-aside{position:sticky;top:96px}}
.ct-aside{align-self:start;gap:22px}
.ct-head{margin:0 0 6px;max-width:none}
.ct-head h1{text-transform:none;font-size:clamp(2.2rem,4.2vw,3.5rem);letter-spacing:-.045em;line-height:1.04;margin:16px 0 14px}
.ct-head p{font-size:1.02rem;line-height:1.6}
.ct-form{gap:0;background:#fff;border:1px solid var(--lined);border-radius:36px;padding:clamp(22px,4vw,46px);box-shadow:0 30px 70px rgba(11,16,32,.08)}
.ct-card{padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.ct-card+.ct-card{margin-top:36px;padding-top:36px;border-top:1px dashed #d4d8e2}
.ct-card-head{margin-bottom:22px}
.ct-card-head b{width:38px;height:38px;border-radius:12px}
.ct-card-head h2{font-size:1.25rem}
.ct-submit{margin-top:34px;padding-top:30px;border-top:1px dashed #d4d8e2}
.ct-status:empty{display:none}
.ct-status{margin-top:14px}

/* ===== v12 ===== */
/* problems: smaller, calmer heading; bigger cards */
.problem-heading h2,.problem-heading h3{font-size:clamp(1.35rem,3vw,2.5rem);line-height:1.18;letter-spacing:-.02em;font-weight:900;margin:0 auto 4px}
.problem-heading{max-width:1100px;margin-bottom:30px}
@media(min-width:760px){.problem-heading h2,.problem-heading h3{white-space:nowrap}}
@media(max-width:999px){
  .problem-card{width:330px;padding:20px 22px 22px;border-radius:26px}
  .problem-card h3{font-size:1.4rem}.problem-card p{font-size:.95rem}
  .problem-card-illustration{width:96px;height:96px;margin:8px 0 6px;border-radius:26px}
}
@media(min-width:1000px){
  .problem-card{width:460px;padding:34px 34px 36px;border-radius:38px}
  .problem-card h3{font-size:2.2rem}.problem-card p{font-size:1.1rem}
  .problem-card-illustration{width:148px;height:148px;margin:16px 0 12px;border-radius:36px}
}

/* faq: illustrated conversation */
.fq-stage{grid-template-columns:150px minmax(0,1fr) 150px;padding:34px;background:#fff;border:1px solid var(--lined);border-radius:40px;box-shadow:0 30px 70px rgba(11,16,32,.08)}
.fq-avatar{width:150px;height:150px;animation:fqBob 3.4s ease-in-out infinite}
.fq-you .fq-avatar{background:#fff1d6}.fq-us .fq-avatar{background:#dcecff;animation-delay:-1.7s}
.fq-avatar svg{width:88%;height:88%;margin-top:14%}
@keyframes fqBob{50%{transform:translateY(-6px)}}
.fq-pop{top:-6px;right:18px}
.fq-who b{font-size:1.05rem}
.fq-float{position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none;opacity:0;transition:opacity .3s}
.is-asking .fq-you .fq-float,.is-answering .fq-us .fq-float{opacity:1}
.fq-float i{position:absolute;bottom:50%;font-style:normal;font-weight:900;font-size:1.5rem;color:#f5a524;opacity:0;animation:fqUp 2.6s linear infinite}
.fq-us .fq-float i{color:var(--accent)}
.fq-float i:nth-child(1){left:6%}.fq-float i:nth-child(2){left:78%;animation-delay:-.9s;font-size:1.9rem}.fq-float i:nth-child(3){left:44%;animation-delay:-1.8s}
@keyframes fqUp{0%{transform:translateY(30px) rotate(-10deg);opacity:0}25%{opacity:1}100%{transform:translateY(-80px) rotate(12deg);opacity:0}}
.fq-thread{height:clamp(300px,46vh,400px)}
.fq-item p{font-size:1.05rem}
.fq-q{display:flex;align-items:center;gap:12px}
.fq-ic{flex:none;width:38px;height:38px;border-radius:12px;background:#fff;color:var(--accent);display:grid;place-items:center;box-shadow:0 4px 10px rgba(11,16,32,.1)}
.fq-ic svg{width:20px;height:20px}
.fq-prog{grid-column:1/-1;display:flex;justify-content:center;gap:8px;margin-top:6px}
.fq-prog span{width:26px;height:6px;border-radius:6px;background:#dde1ea;transition:width .3s,background .3s}
.fq-prog .done{background:#9cc6f7}.fq-prog .on{width:46px;background:var(--accent)}
@media(max-width:759px){
  .fq-stage{grid-template-columns:1fr 1fr;grid-template-areas:"y u" "t t" "p p";padding:22px 16px;border-radius:30px}
  .fq-prog{grid-area:p}
  .fq-avatar{width:84px;height:84px}.fq-pop{right:auto;left:52px}.fq-us .fq-pop{left:auto;right:52px}
  .fq-thread{height:clamp(250px,40vh,330px)}
}

/* home contact: full-bleed brand blue, centred, nothing black */
.cta-section{background:var(--accent);padding:110px 0;overflow:hidden}
.cta-section::before,.cta-section::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:none;border:80px solid rgba(255,255,255,.1);pointer-events:none;animation:ctaRing 14s ease-in-out infinite}
.cta-section::before{right:-170px;top:-210px;left:auto}
.cta-section::after{left:-210px;bottom:-270px;animation-delay:-7s}
@keyframes ctaRing{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.cta-section::before,.cta-section::after{animation:none}}
.cta-dark,.cta-dark:where(*){display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:44px;background:none;border-radius:0;padding:0;box-shadow:none;overflow:visible}
.cta-dark-copy{display:grid;justify-items:center}
.cta-dark .light-subtitle{margin:0 auto}
.cta-dark-actions{justify-content:center}
.cta-dark .pill-cta{background:#fff}
.cta-dark-card{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;width:100%;max-width:960px;background:none;box-shadow:none;border:0;padding:0;border-radius:0}
.cta-dark-card::before,.cta-dark-card::after{content:"";flex-basis:100%;height:0;order:1}
.cta-dark-card::after{order:3}
.cta-live{order:0;background:rgba(255,255,255,.16);color:#fff}
.cta-dark-card .cta-contact-link,.cta-dark-card .cta-contact-link:first-of-type{order:2;flex:1 1 290px;max-width:400px;margin:0;background:#fff;text-align:left;box-shadow:0 18px 40px rgba(2,20,60,.22)}
.cta-dark-card .cta-socials{order:4;justify-content:center;margin:0;padding:0;border:0}
.cta-dark-card .cta-socials a{color:#fff;border-color:rgba(255,255,255,.55)}
.cta-dark-card .cta-socials a:hover{background:#fff;color:var(--accent);border-color:#fff}

.ct-side-card{position:relative;background:#cfe4ff;background-image:repeating-linear-gradient(transparent 0 31px,rgba(11,16,32,.06) 31px 32px);color:var(--ink);border-radius:12px 12px 24px 12px;rotate:-1.4deg;padding:38px 28px 28px;box-shadow:0 1px 1px rgba(11,16,32,.08),0 16px 30px rgba(11,16,32,.14)}
.ct-side-card::before{content:"";position:absolute;top:-14px;left:50%;width:92px;height:28px;margin-left:-46px;background:rgba(255,255,255,.75);rotate:-3deg;box-shadow:0 2px 6px rgba(11,16,32,.15)}
.ct-side-card h3{color:var(--ink)}
.ct-steps li{color:rgba(20,32,58,.78)}.ct-steps strong{color:var(--ink)}
.ct-steps li::before{background:var(--ink);color:#fff}
.ct-direct{background:none;border:0;box-shadow:none;padding:6px 6px 0}

/* ===== v13 ===== */
/* problems heading: smaller, bold, softened */
.problem-heading h2,.problem-heading h3{font-size:clamp(1.25rem,2.5vw,2.1rem);font-weight:800;letter-spacing:.01em;line-height:1.2}
.problem-heading h2{color:rgba(255,255,255,.92)}
.problem-heading h3{color:rgba(4,18,42,.78)}

/* home contact tiles */
.cta-dark-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:820px}
.cta-dark-card::before,.cta-dark-card::after{content:none}
.cta-live{grid-column:1/-1;justify-self:center}
.cta-dark-card .cta-contact-link,.cta-dark-card .cta-contact-link:first-of-type{display:flex;align-items:center;gap:16px;max-width:none;padding:18px 22px;border-radius:26px;font-size:1rem}
.cta-dark-card .cta-contact-link::before{content:none}
.cta-dark-card .cta-contact-link{transition:transform .25s,box-shadow .25s}
.cta-dark-card .cta-contact-link:hover{transform:translateY(-4px);box-shadow:0 24px 46px rgba(2,20,60,.3)}
.cta-ic{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:rgba(8,118,237,.1);color:var(--accent)}
.cta-ic svg{width:20px;height:20px;stroke-width:1.8}
.cta-tx{display:grid;gap:3px;min-width:0;text-align:left}
.cta-tx small{font-size:.84rem;font-weight:700;color:var(--mutedd);letter-spacing:-.01em}
.cta-tx b{font-size:clamp(1.06rem,1.65vw,1.28rem);font-weight:800;letter-spacing:-.015em;line-height:1.14;overflow-wrap:anywhere}
.cta-contact-link-mail .cta-tx b{font-size:clamp(.98rem,1.35vw,1.12rem);font-weight:700;line-height:1.2}
.cta-dark-card .cta-socials{grid-column:1/-1}
@media(max-width:699px){.cta-dark-card{grid-template-columns:1fr}}

/* why choose: every card fully enclosed by dashed lines */
.why-grid{gap:0;padding:0;margin:56px -24px;border-top:1px dashed #c4c8d3;border-bottom:0}
.why-item{padding:46px 24px;border-bottom:1px dashed #c4c8d3}
.why-item:hover{transform:none}
.why-icon{transition:transform .3s}.why-item:hover .why-icon{transform:translateY(-6px)}
@media(min-width:1000px){.why-item:not(:nth-child(3n)){border-right:1px dashed #c4c8d3}}
@media(min-width:700px) and (max-width:999px){.why-item:not(:nth-child(2n)){border-right:1px dashed #c4c8d3}}
@media(max-width:759px){.why-grid{margin-inline:-16px}}

/* intro: logo lands into the nav spot on first load */
html:not(.intro-pending) .intro{display:none}
.intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#ffffff;transition:background-color .7s ease .3s,opacity .45s ease;pointer-events:none}
.intro.is-fade{background-color:rgba(255,255,255,0)}
.intro.is-done{opacity:0}
.intro-logo{display:inline-flex;align-items:center;gap:clamp(16px,3vw,30px);--brand-main:var(--accent);transform-origin:50% 50%;will-change:transform;transition:transform 1s cubic-bezier(.72,0,.2,1)}
.intro-logo .brand-logo-mark{width:clamp(80px,14vw,140px);height:clamp(80px,14vw,140px)}
.intro-logo .brand-logo-word{font-size:clamp(44px,10vw,86px);font-weight:700;letter-spacing:-.02em;line-height:1.05;overflow:hidden;padding-bottom:.12em}
.intro-logo .brand-logo-word>span{display:inline-block;transform:translateY(110%);animation:bl-rise .7s cubic-bezier(.2,.8,.2,1) both}
.intro-logo .brand-logo-word>span:nth-child(1){animation-delay:1.3s}
.intro-logo .brand-logo-word>span:nth-child(2){animation-delay:1.38s}
.intro-logo .brand-logo-word>span:nth-child(3){animation-delay:1.46s}
.intro-logo .brand-logo-word>span:nth-child(4){animation-delay:1.54s}
.intro-logo .brand-logo-word>span:nth-child(5){animation-delay:1.62s}
.intro-logo .brand-logo-word>span:nth-child(6){animation-delay:1.70s}
.intro-logo .brand-logo-word>span:nth-child(7){animation-delay:1.78s}
.intro-logo .bl-ring{stroke-dashoffset:1;animation:bl-draw ease-in-out both}
.intro-logo .bl-r2{animation-duration:.9s;animation-delay:.9s}
.intro-logo .bl-r1{animation-duration:1s;animation-delay:1.1s}
.intro-logo .bl-sun{transform-box:fill-box;transform-origin:center;transform:scale(0);animation:bl-pop .9s cubic-bezier(.3,1.5,.5,1) .2s both}
.intro-logo .bl-dot{transform-box:fill-box;transform-origin:center;transform:scale(0);animation:bl-pop .6s cubic-bezier(.3,1.6,.5,1) both}
.intro-logo .bl-d1{animation-delay:1.9s}
.intro-logo .bl-d2{animation-delay:2.1s}
.intro-logo .bl-d3{animation-delay:2.3s}
@keyframes bl-draw{to{stroke-dashoffset:0}}
@keyframes bl-pop{to{transform:scale(1)}}
@keyframes bl-rise{to{transform:translateY(0)}}
html.intro-pending .site-header .brand-logo{opacity:0}
html.intro-pending body{overflow:hidden}
@media(prefers-reduced-motion:reduce){html.intro-pending .intro{display:none}html.intro-pending body{overflow:visible}html.intro-pending .site-header .brand-logo{opacity:1}}

/* page transition curtain */
html.pt-cover body::before{content:"";position:fixed;inset:0;background:var(--accent);z-index:998}
.pt{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:var(--accent);color:#fff;transform:translateY(100%);pointer-events:none;transition:transform .65s cubic-bezier(.76,0,.24,1)}
.pt.is-cover{transform:none;transition:none}
.pt.is-reveal{transform:translateY(-100%)}
.pt.is-leave{transform:none;pointer-events:all}
.pt-in{display:flex;align-items:center;gap:14px}
.pt-in b{font-size:clamp(2rem,6vw,3.6rem);font-weight:900;letter-spacing:-.04em}
.pt-mark{width:clamp(32px,5vw,54px);aspect-ratio:1;border-radius:50%;background:conic-gradient(#fff,rgba(255,255,255,.35),#fff);animation:ptSpin 1.4s linear infinite}
@keyframes ptSpin{to{transform:rotate(360deg)}}

/* contact page: one step at a time */
.ct-page,.ct-page input,.ct-page select,.ct-page textarea,.ct-page button{font-family:"Poppins",system-ui,sans-serif}
.ct-card,.ct-card+.ct-card{margin:0;padding:0;border:0}
.ct-step{display:none}
.ct-step.is-on{display:block;animation:ctIn .45s cubic-bezier(.2,.8,.2,1)}
@keyframes ctIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
.ct-progress{list-style:none;display:flex;gap:10px;margin:0 0 30px;padding:0}
.ct-progress li{flex:1;display:grid;gap:9px;font-size:.84rem;font-weight:700;color:#9aa0b0}
.ct-progress li::before{content:"";height:5px;border-radius:5px;background:#e3e7ef;transition:background .4s}
.ct-progress li.is-on::before,.ct-progress li.is-done::before{background:var(--accent)}
.ct-progress li.is-on{color:var(--ink)}.ct-progress li.is-done{color:var(--accent)}
.ct-card-head{display:block;margin-bottom:24px}
.ct-card-head b{display:none}
.ct-card-head h2{font-size:1.6rem;font-weight:900;letter-spacing:-.03em;color:var(--ink)}
.ct-card-head p{margin-top:4px;color:var(--mutedd);font-size:.98rem}
.ct-field>span,.ct-legend{font-size:.9rem;font-weight:700;color:#2b3246}
.ct-form input[type=text],.ct-form input[type=email],.ct-form input[type=tel],.ct-form input[type=url],.ct-form select,.ct-form textarea{font-weight:500}
.ct-chip span{font-weight:700}
.ct-chip input:checked+span::before{content:"\2713";margin-right:8px;font-weight:900}
.ct-submit{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px;padding-top:26px;border-top:1px solid #e3e7ef}
.ct-submit .ct-back{background:none;color:var(--ink);box-shadow:none;border:1.5px solid #cfd5e2;padding:14px 22px;margin-right:auto}
.ct-submit .ct-back:hover{background:#f3f6fb;transform:none}
@media(max-width:599px){.ct-progress li span{display:none}.ct-progress li.is-on span{display:block}.ct-submit .ct-next,.ct-submit #ct-button{flex:1}}

/* ===== v14: Poppins everywhere + mobile hardening ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}
body{font-family:"Poppins",system-ui,sans-serif;overflow-x:clip;max-width:100%}
*,*::before,*::after{font-family:inherit}
input,select,textarea,button{font-family:"Poppins",system-ui,sans-serif;font-size:max(16px,1em)}
svg text{font-family:"Poppins",sans-serif}
img,svg,video{max-width:100%}
section,.site-footer,main{max-width:100%;overflow-x:clip}
/* Poppins runs wider than the old font, so headings get slightly lighter weight and tighter sizes */
.hero-title{font-weight:800;letter-spacing:-.03em;line-height:1.1;overflow-wrap:break-word}
.hero-subline,.hero-pill,.button{line-height:1.5}
.problem-heading h2,.problem-heading h3,.process-title,.pn-head h2,.cta-dark .light-title,.ct-head h1,.ct-side-card h3,.ct-done h2,.light-title,.dark-title,.testimonials-title,.why-shell h2,.faq-shell h2,.clients-head h2{font-weight:800;letter-spacing:-.02em;line-height:1.15;overflow-wrap:break-word}
h1,h2,h3,h4,p,li,a,span,b,strong,small,label,button{overflow-wrap:break-word}
.brand-word{font-weight:700}

@media(max-width:759px){
  html{scroll-padding-top:76px}
  .container{width:calc(100% - 32px)}
  .site-header{top:10px;left:0;right:0;transform:none;margin:0 auto;width:calc(100% - 24px);padding:0}
  .brand{padding:7px 14px 7px 9px}
  .brand-logo{padding:0;gap:12px}
  .brand-logo-mark{width:44px;height:44px}
  .brand-logo-word{font-size:1.5rem;letter-spacing:-.02em}
  .menu-toggle{flex:none;width:46px;height:46px;border-radius:14px}
  .site-menu{width:min(92vw,370px);padding:84px 22px calc(24px + env(safe-area-inset-bottom));border-radius:0}
  .site-menu-links a{padding:18px 2px;font-size:1.14rem;font-weight:700}
  .site-menu .menu-cta{gap:10px;padding:14px 16px;min-height:54px}

  .hero-section{padding:104px 0 56px;min-height:auto}
  .hero-inner{gap:18px;width:100%}
  .hero-pill{max-width:100%;font-size:.84rem;text-align:left}
  .hero-pill span{flex:1;min-width:0}
  .hero-title{font-size:clamp(1.95rem,9vw,2.6rem)}
  #hero-line-top .ht{display:none}
  #hero-line-bottom .ht{display:inline-block;width:.24em;height:0;margin:0;background:transparent;box-shadow:none;border-radius:0;color:transparent;animation:none;transform:none;vertical-align:0;overflow:hidden}
  #hero-line-bottom .ht svg{opacity:0}
  .hero-subline{font-size:.96rem}
  .hero-chip{font-size:.66rem;padding:7px 11px}
  .hero-actions{width:100%;flex-direction:column;align-items:stretch}
  .hero-actions .button{width:100%;padding:0 20px}

  .problem-heading h2,.problem-heading h3{font-size:clamp(1.1rem,5.2vw,1.45rem);white-space:normal}
  .pn-head h2{font-size:clamp(1.8rem,8.4vw,2.4rem)}
  .light-title,.dark-title,.testimonials-title,.clients-head h2,.why-shell h2,.faq-shell h2{font-size:clamp(1.6rem,7.6vw,2.2rem)}
  .cta-dark .light-title{font-size:clamp(1.75rem,8vw,2.4rem)}
  .light-subtitle,.dark-subtitle,.testimonials-subtitle,.clients-head p,.why-sub,.faq-shell>p{font-size:.95rem;line-height:1.6}

  .services-shell,.work-scroll-shell{width:calc(100% - 32px)}
  .service-copy-item h3{font-size:1.5rem}
  .work-section .container,.services-section .container{max-width:100%}

  .why-shell{padding:40px 16px}
  .why-item{padding:26px 18px}
  .t-marquee,.clients-marquee{max-width:100vw;overflow:hidden}

  .fq-thread{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .fq-item p{font-size:.96rem}

  .cta-section{padding:64px 0}
  .cta-dark-actions{flex-direction:column;width:100%;align-items:stretch}
  .cta-dark-actions .pill-cta,.cta-dark-actions .pill-ghost{justify-content:space-between;width:100%;text-align:center}
  .cta-dark-actions .pill-ghost{justify-content:center}
  .cta-dark-card{grid-template-columns:1fr!important;max-width:100%}
  .cta-contact-link{word-break:break-word;font-size:.95rem}

  .site-footer-top{gap:30px}
  .site-footer-mark{font-size:30vw}
  .newsletter-field{max-width:100%}
  .newsletter-field input{min-width:0;width:100%}
  .site-footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}
}
@media(max-width:380px){
  .hero-title{font-size:1.85rem}
  .pn-card{width:min(340px,92%)}
  .hero-proof{gap:10px}
}
@media(hover:none){.button:hover,.pill-cta:hover{transform:none}}

/* ===== v15: problems heading, calm two-tier statement (sentence case, white on brand blue) ===== */
.problem-section .problem-heading{max-width:880px;margin:0 auto 40px;padding:0 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.problem-section .problem-heading h2,.problem-section .problem-heading h3{text-transform:none;white-space:normal;text-wrap:balance;margin:0;text-align:center;font-family:"Poppins",system-ui,sans-serif}
.problem-section .problem-heading h2{font-size:clamp(.95rem,1.5vw,1.15rem);font-weight:500;line-height:1.5;letter-spacing:.01em;color:rgba(255,255,255,.82)}
.problem-section .problem-heading h2::before{content:"";display:block;width:36px;height:3px;border-radius:3px;background:rgba(255,255,255,.55);margin:0 auto 16px}
.problem-section .problem-heading h3{font-size:clamp(1.75rem,4.4vw,3.2rem);font-weight:700;line-height:1.12;letter-spacing:-.025em;color:#fff;max-width:16ch}
.problem-section .problem-foot{font-size:clamp(1rem,1.6vw,1.2rem);font-weight:500;letter-spacing:.01em;color:rgba(255,255,255,.85)}
@media(max-width:759px){
  .problem-section .problem-heading{margin-bottom:28px;gap:12px}
  .problem-section .problem-heading h2{font-size:.92rem}
  .problem-section .problem-heading h3{font-size:clamp(1.65rem,8vw,2.1rem);max-width:14ch}
}

/* ===== v16: problems headline is a full-screen intro inside the pinned scene ===== */
.problem-section.has-intro{padding-top:0}
.problem-section .problem-heading.is-intro{position:absolute;inset:0;z-index:40;max-width:none;margin:0;padding:0 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;text-align:center;pointer-events:none;will-change:transform,opacity}
.problem-section .problem-heading.is-intro h2{font-size:clamp(1rem,1.9vw,1.5rem);font-weight:500;color:rgba(255,255,255,.85)}
.problem-section .problem-heading.is-intro h2::before{display:none}
.problem-section .problem-heading.is-intro h3{max-width:15ch;font-size:clamp(2.7rem,8.6vw,7.6rem);font-weight:700;line-height:1.02;letter-spacing:-.04em;color:#fff}
.problem-section .problem-heading.is-intro::after{content:"Scroll";position:absolute;left:50%;bottom:26px;transform:translateX(-50%);padding-bottom:34px;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,.7)) bottom center/1.5px 26px no-repeat;animation:introCue 1.8s ease-in-out infinite}
@keyframes introCue{50%{transform:translate(-50%,6px)}}
@media(max-width:759px){
  .problem-section .problem-heading.is-intro{padding:0 18px;gap:14px}
  .problem-section .problem-heading.is-intro h2{font-size:.95rem}
  .problem-section .problem-heading.is-intro h3{max-width:12ch;font-size:clamp(2.5rem,12.4vw,3.6rem)}
}
@media(prefers-reduced-motion:reduce){.problem-section .problem-heading.is-intro::after{animation:none}}

/* ===== v17: problems = big human illustrations ===== */
.problem-card-illustration{display:block;width:100%;height:auto;aspect-ratio:340/190;margin:12px 0 10px;border-radius:24px;background:#eaf3ff;box-shadow:inset 0 0 0 1px rgba(8,118,237,.14);overflow:hidden}
.problem-card-illustration svg{display:block;width:100%;height:100%;overflow:visible}
@media(min-width:760px){.problem-card-illustration{margin:14px 0 14px}}
@media(max-width:759px){.problem-card-illustration{margin:8px 0 8px;border-radius:20px}}

/* ===== v17: services headline is a full-screen intro inside the pinned scene ===== */
.services-section.has-intro{padding-top:0}
.services-section.has-intro .services-pinned{margin-top:0}
.services-section .services-intro-wrap.is-intro{position:absolute;inset:0;z-index:40;width:100%;max-width:none;margin:0;padding:0 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;text-align:center;pointer-events:none;will-change:transform,opacity}
.services-section .services-intro-wrap.is-intro .section-intro{margin:0;color:rgba(255,255,255,.85)}
.services-section .services-intro-wrap.is-intro .light-title{max-width:15ch;margin:0;font-size:clamp(2.7rem,8.6vw,7.6rem);font-weight:700;line-height:1.02;letter-spacing:-.04em;color:#fff;text-wrap:balance}
.services-section .services-intro-wrap.is-intro .light-subtitle{margin:0 auto;max-width:620px;text-align:center;font-size:clamp(.95rem,1.6vw,1.2rem);color:rgba(255,255,255,.7)}
.services-section .services-intro-wrap.is-intro::after{content:"Scroll";position:absolute;left:50%;bottom:26px;transform:translateX(-50%);padding-bottom:34px;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,.7)) bottom center/1.5px 26px no-repeat;animation:introCue 1.8s ease-in-out infinite}
@media(max-width:759px){
  .services-section .services-intro-wrap.is-intro{padding:0 18px;gap:14px}
  .services-section .services-intro-wrap.is-intro .light-title{max-width:12ch;font-size:clamp(2.4rem,12vw,3.4rem)}
}
@media(prefers-reduced-motion:reduce){.services-section .services-intro-wrap.is-intro::after{animation:none}}

/* ===== v18: problem icons = clean line icons, no tile, no background ===== */
.problem-card-illustration{display:block;width:100%;max-width:340px;height:auto;aspect-ratio:340/150;margin:6px 0 10px;border-radius:0;background:none;box-shadow:none;overflow:visible}
.problem-card-illustration svg{display:block;width:100%;height:100%;overflow:visible}
.pi-cell,.pi-drift,.pi-bob,.pi-ping,.pi-fall,.pi-beat,.pi-rise,.pi-shake,.pi-badge{transform-box:fill-box;transform-origin:center}
.pi-cell{animation:piBlink 2.6s ease-in-out infinite}
.pi-drift{animation:piDrift 5s ease-in-out infinite}
.pi-d2{animation-delay:-2.2s}
.pi-bob{animation:piBob 2.4s ease-in-out infinite}
.pi-draw{stroke-dasharray:1;animation:piDraw 4.2s ease-in-out infinite}
.pi-ping{animation:piPing 2s ease-out infinite}
.pi-fall{opacity:0;animation:piFall 3s ease-in infinite}
.pi-beat{animation:piBeat 1.5s ease-in-out infinite}
.pi-rise{opacity:0;animation:piRise 2.6s ease-out infinite}
.pi-march{animation:piMarch 1s linear infinite}
.pi-shake{animation:piShake 3.2s ease-in-out infinite}
.pi-badge{animation:piBadge 2s ease-in-out infinite}
@keyframes piBlink{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes piDrift{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes piBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes piDraw{0%{stroke-dashoffset:1;opacity:1}55%,88%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes piPing{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@keyframes piFall{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(34px);opacity:0}}
@keyframes piBeat{0%,100%{transform:scale(1)}14%{transform:scale(1.14)}28%{transform:scale(1)}42%{transform:scale(1.08)}}
@keyframes piRise{0%{transform:translateY(0) scale(.6);opacity:0}20%{opacity:1}100%{transform:translateY(-34px) scale(1);opacity:0}}
@keyframes piMarch{to{stroke-dashoffset:-12}}
@keyframes piShake{0%,70%,100%{transform:rotate(0)}76%{transform:rotate(-3deg)}84%{transform:rotate(3deg)}92%{transform:rotate(-2deg)}}
@keyframes piBadge{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
@media(max-width:759px){.problem-card-illustration{max-width:260px;margin:2px 0 6px}}
@media(prefers-reduced-motion:reduce){.problem-card-illustration svg *{animation:none!important;opacity:1!important}.pi-draw{stroke-dashoffset:0}.pi-ping{display:none}}

/* ===== v18: book a call = same pinned intro as services ===== */
.cta-section.has-intro{padding:0}
.cta-section.has-intro .cta-pin{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cta-section.has-intro .cta-pin>.cta-dark{width:100%;gap:28px;transform-origin:50% 50%;will-change:transform}
.cta-section.has-intro .cta-dark-copy{will-change:transform,opacity}
.cta-section.has-intro .cta-dark-card{will-change:transform,opacity}
.cta-section.has-intro .cta-dark .light-subtitle{max-width:640px;font-size:clamp(1.05rem,1.9vw,1.4rem);line-height:1.5}
.cta-section .cta-intro{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:0 24px;text-align:center;pointer-events:none;will-change:transform,opacity}
.cta-section .cta-intro .section-intro{margin:0;color:rgba(255,255,255,.9)}
.cta-section .cta-intro .section-dot{display:inline-block;background:#fff}
.cta-section .cta-intro .section-intro p{margin:0}
.cta-section .cta-intro .light-title{max-width:15ch;margin:0;font-size:clamp(2.7rem,8.6vw,7.6rem);font-weight:700;line-height:1.02;letter-spacing:-.04em;color:#fff;text-transform:none;text-wrap:balance}
.cta-section .cta-intro::after{content:"Scroll";position:absolute;left:50%;bottom:26px;transform:translateX(-50%);padding-bottom:34px;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8);background:linear-gradient(rgba(255,255,255,.8),rgba(255,255,255,.8)) bottom center/1.5px 26px no-repeat;animation:introCue 1.8s ease-in-out infinite}
@media(max-width:759px){
  .cta-section .cta-intro{padding:0 18px;gap:14px}
  .cta-section .cta-intro .light-title{max-width:12ch;font-size:clamp(2.4rem,12vw,3.4rem)}
  .cta-section.has-intro .cta-pin>.cta-dark{gap:22px}
  .cta-section.has-intro .cta-dark-actions{margin-top:20px}
  .cta-section.has-intro .cta-dark-card{gap:10px}
  .cta-section.has-intro .cta-dark-card .cta-contact-link,.cta-section.has-intro .cta-dark-card .cta-contact-link:first-of-type{padding:12px 16px}
  .cta-section.has-intro .cta-ic{width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){.cta-section .cta-intro::after{animation:none}}

/* ===== v19: mobile readability fixes for problems + work ===== */
@media(max-width:759px){
  .problem-section.problem-mobile-sequence .problem-stage-shell{
    overflow:hidden;
    isolation:isolate;
  }
  .problem-section.problem-mobile-sequence .problem-ribbon-svg{
    display:block;
    top:0;
    bottom:0;
    left:-16%;
    width:132%;
    max-width:none;
    opacity:1;
    z-index:1;
  }
  .problem-section.problem-mobile-sequence .problem-ribbon-svg path{
    stroke-width:122;
    stroke-linecap:round;
  }
  .problem-section.problem-mobile-sequence #problem-ribbon-outline{stroke:rgba(255,255,255,.14)}
  .problem-section.problem-mobile-sequence #problem-ribbon-fill{
    stroke:#fff;
    opacity:1;
    filter:none;
  }
  .problem-section.problem-mobile-sequence .problem-card-stage{
    position:relative;
    width:100%;
    height:100%!important;
    transform:none!important;
    z-index:2;
    -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 88px),rgba(0,0,0,.92) calc(100% - 58px),rgba(0,0,0,.55) calc(100% - 28px),transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 88px),rgba(0,0,0,.92) calc(100% - 58px),rgba(0,0,0,.55) calc(100% - 28px),transparent 100%);
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-size:100% 100%;
    mask-size:100% 100%;
  }
  .problem-section.problem-mobile-sequence .problem-card{
    position:absolute;
    top:0;
    left:50%;
    margin:0;
    opacity:0;
    transform:translate3d(-50%,0,0);
    will-change:transform,opacity;
    backface-visibility:hidden;
  }
  .problem-section.problem-mobile-sequence .problem-foot{
    position:relative;
    z-index:3;
    margin-top:24px;
    padding:0 16px;
    opacity:0;
  }

  .work-section.work-mobile-rail .work-scroll-shell{
    width:100%;
    max-width:none;
    padding:0 16px;
  }
  .work-section.work-mobile-rail .work-pinned{
    gap:18px;
    overflow:visible;
    padding-bottom:8px;
  }
  .work-section.work-mobile-rail .work-track{
    gap:14px;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:visible;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    overscroll-behavior-y:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding-right:16px;
    transform:none!important;
    touch-action:pan-x;
  }
  .work-section.work-mobile-rail .work-track::-webkit-scrollbar{display:none}
  .work-section.work-mobile-rail .work-card{
    width:min(82vw,305px);
    scroll-snap-align:start;
  }
  .work-section.work-mobile-rail .work-card-copy{
    padding:16px 16px 16px;
  }
  .work-section.work-mobile-rail .work-card-copy strong{
    font-size:1.4rem;
  }
  .work-section.work-mobile-rail .work-progress{display:none}
}
