@view-transition{navigation:auto}

:root{
  --navy:#09142b;
  --navy-2:#111f3f;
  --blue:#3658f5;
  --violet:#7956f6;
  --aqua:#4ad9cf;
  --ink:#101b36;
  --muted:#626d86;
  --paper:#f7f8fc;
  --surface:#fff;
  --surface-soft:#f0f3fb;
  --line:#dfe4f0;
  --shadow-sm:0 12px 35px rgba(20,37,79,.08);
  --shadow-md:0 24px 70px rgba(20,37,79,.13);
  --shadow-lg:0 42px 110px rgba(20,37,79,.18);
  --radius-sm:16px;
  --radius:24px;
  --radius-lg:36px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{
  margin:0;
  overflow-x:hidden;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 18%,rgba(54,88,245,.08),transparent 28rem),
    radial-gradient(circle at 88% 12%,rgba(121,86,246,.09),transparent 32rem),
    linear-gradient(#fafbfe,#f7f8fc);
}
::selection{background:#d9ddff;color:var(--navy)}
img{max-width:100%}
a,button,input,textarea,summary{touch-action:manipulation}
.solutions-grid>*,.case-grid>*,.process-row>*,.method-grid>*,.about-process-grid>*,
.about-values-list>*,.portfolio-summary>*,.portfolio-gallery-grid>*,.footer-grid>*{min-width:0}
a,button{transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .25s ease,transform .25s ease}
:where(a,button,input,textarea,summary):focus-visible{
  outline:3px solid #84f3e9;
  outline-offset:3px;
  border-radius:8px;
}
.scroll-progress{
  --scroll:0;
  position:fixed;
  inset:0 auto auto 0;
  z-index:999;
  width:calc(var(--scroll) * 100%);
  height:3px;
  pointer-events:none;
  background:linear-gradient(90deg,var(--aqua),var(--blue),var(--violet));
  box-shadow:0 0 14px rgba(74,217,207,.55);
}

/* Header */
.topbar{
  min-height:34px;
  padding:8px max(22px,calc((100vw - 1240px)/2));
  background:var(--navy);
  color:#aab7d4;
  border-bottom:1px solid rgba(255,255,255,.08);
  letter-spacing:.02em;
}
.topbar a{color:#fff}
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  width:100%;
  max-width:none;
  height:82px;
  padding:0 max(24px,calc((100vw - 1240px)/2));
  border:0;
  background:rgba(250,251,254,.86);
  backdrop-filter:blur(20px) saturate(150%);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
}
.site-header::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(54,88,245,.18),transparent);
}
.header-scrolled .site-header{box-shadow:0 14px 40px rgba(15,31,70,.08)}
.site-header .brand-logo{flex:0 0 auto}
.site-header nav{gap:8px}
.site-header nav a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border-radius:999px;
  color:#39445f;
  font-size:13px;
  font-weight:700;
}
.site-header nav a:hover{background:#fff;color:var(--blue);box-shadow:var(--shadow-sm)}
.locale-switcher{
  margin-left:12px;
  margin-right:12px;
  border-color:rgba(54,88,245,.12);
  background:rgba(255,255,255,.74);
  box-shadow:0 8px 24px rgba(31,49,95,.06);
}
.locale-switcher a{min-width:31px;height:30px}
.locale-switcher a[aria-current="page"]{color:var(--blue)!important;box-shadow:0 4px 14px rgba(54,88,245,.15)}
.button,.footer-button{
  min-height:50px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--blue),var(--violet));
  color:#fff;
  box-shadow:0 14px 32px rgba(54,88,245,.24);
  font-weight:800;
  letter-spacing:-.01em;
}
.button{padding:15px 23px;gap:16px}
.button-small{min-height:44px;padding:11px 17px;font-size:12px;white-space:nowrap}
.button:hover,.footer-button:hover{
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 19px 40px rgba(54,88,245,.32);
}
.button:active,.footer-button:active{transform:translateY(-1px) scale(.99)}

/* Type and shared section rhythm */
.section-label,.eyebrow,.footer-kicker{
  color:var(--blue);
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  line-height:1.4;
  text-transform:uppercase;
}
.section-label::before{
  content:"";
  display:inline-block;
  width:22px;
  height:2px;
  margin:0 9px 3px 0;
  border-radius:2px;
  background:linear-gradient(90deg,var(--aqua),var(--blue));
}
h1,h2,h3{color:var(--navy);text-wrap:balance}
p{color:var(--muted)}
.section-intro h2,.split-feature h2,.section-head h2,.wide-cta h2,.detail-grid h2,.question-block h2,
.contact-next h2,.faq-bottom h2,.about-intro h2,.about-process h2,.about-values h2,.about-final h2,
.portfolio-feature h2,.portfolio-gallery-head h2{
  font-family:inherit;
  font-weight:760;
  letter-spacing:-.055em;
}
.text-link,.text-arrow,.section-head>a{
  position:relative;
  color:var(--blue);
  font-weight:800;
  text-decoration:none;
}
.text-link::after,.section-head>a::after{
  content:" →";
  display:inline-block;
  transition:transform .2s ease;
}
.text-link:hover::after,.section-head>a:hover::after{transform:translateX(5px)}

/* Homepage hero */
.startup-hero{
  position:relative;
  isolation:isolate;
  min-height:720px;
  padding:96px max(28px,calc((100vw - 1240px)/2)) 110px;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:80px;
  overflow:hidden;
  background:
    linear-gradient(rgba(54,88,245,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(54,88,245,.035) 1px,transparent 1px),
    radial-gradient(circle at 76% 25%,rgba(121,86,246,.16),transparent 30%),
    linear-gradient(145deg,#fbfcff 0%,#f2f5ff 52%,#faf8ff 100%);
  background-size:34px 34px,34px 34px,auto,auto;
}
.startup-hero::before{
  content:"";
  position:absolute;
  width:640px;
  height:640px;
  right:-260px;
  bottom:-390px;
  z-index:-1;
  border:1px solid rgba(54,88,245,.12);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(54,88,245,.025),0 0 0 140px rgba(121,86,246,.018);
}
.startup-hero .hero-content{max-width:760px}
.startup-hero h1{
  max-width:830px;
  margin:25px 0 30px;
  color:var(--navy);
  font-family:inherit;
  font-size:clamp(58px,6.25vw,92px);
  font-weight:770;
  line-height:.94;
  letter-spacing:-.068em;
}
.startup-hero h1 em{
  position:relative;
  color:var(--blue);
  font-family:inherit;
  font-weight:inherit;
  font-style:normal;
}
.startup-hero h1 em::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-5px;
  height:9px;
  z-index:-1;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(74,217,207,.7),rgba(121,86,246,.25));
  transform:rotate(-1deg);
}
.startup-hero .hero-copy{max-width:680px;color:#57627c;font-size:19px;line-height:1.72}
.hero-actions{gap:24px;margin-top:36px}
.trust-row{gap:12px;margin-top:50px}
.trust-row span{
  padding:9px 12px;
  border:1px solid rgba(54,88,245,.1);
  border-radius:999px;
  background:rgba(255,255,255,.65);
  color:#5d6882;
  box-shadow:0 6px 18px rgba(32,49,94,.04);
}
.trust-row span::before{color:#20a694}
.hero-orb{filter:blur(2px);opacity:.7}
.orb-one{animation:orb-drift 10s ease-in-out infinite}
.orb-two{animation:orb-drift 13s ease-in-out -4s infinite reverse}
.growth-board{
  --tilt-x:0deg;
  --tilt-y:0deg;
  position:relative;
  overflow:hidden;
  padding:30px;
  border:1px solid rgba(255,255,255,.85);
  border-radius:var(--radius-lg);
  background:
    radial-gradient(circle at 90% 5%,rgba(121,86,246,.22),transparent 33%),
    linear-gradient(155deg,#101d3a,#0b152c);
  color:#fff;
  box-shadow:var(--shadow-lg);
  transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition:transform .18s ease-out,box-shadow .3s ease;
}
.growth-board::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.1),transparent 30%);
}
.board-top{position:relative;border-color:rgba(255,255,255,.12);color:#fff}
.board-top b{background:rgba(74,217,207,.15);color:#7cf3e8}
.chart{position:relative}
.chart::before{
  content:"";
  position:absolute;
  inset:24px 0 10px;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.08) 0 1px,transparent 1px 44px);
}
.chart i{
  position:relative;
  background:linear-gradient(180deg,var(--aqua),#6572ff 58%,var(--violet));
  box-shadow:0 12px 28px rgba(54,88,245,.35);
  transform-origin:bottom;
  animation:bar-rise .85s cubic-bezier(.16,1,.3,1) both;
}
.chart i:nth-child(2){animation-delay:.08s}.chart i:nth-child(3){animation-delay:.16s}
.chart i:nth-child(4){animation-delay:.24s}.chart i:nth-child(5){animation-delay:.32s}
.chart i:nth-child(6){animation-delay:.4s}
.board-metrics div{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.07)}
.board-metrics strong{color:#fff}.board-metrics small{color:#9fabc8}
.mini-flow{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055)}
.mini-flow b{color:var(--aqua)}
.logo-strip{
  min-height:76px;
  padding:20px max(28px,calc((100vw - 1240px)/2));
  border:0;
  background:#fff;
  color:#7b859d;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.logo-strip span{display:flex;align-items:center;gap:8px}
.logo-strip span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--aqua)}

/* Services */
.solutions,.case-preview.inner{max-width:1296px;padding:120px 28px}
.section-intro{gap:100px;margin-bottom:52px}
.section-intro h2{font-size:clamp(45px,5vw,70px)}
.solutions-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:16px;
  overflow:visible;
  border:0;
  border-radius:0;
}
.solution-card{
  position:relative;
  grid-column:span 4;
  min-height:330px;
  overflow:hidden;
  padding:30px;
  border:1px solid rgba(28,48,91,.09);
  border-radius:var(--radius);
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 35px rgba(26,43,83,.055);
  backdrop-filter:blur(14px);
}
.solution-card:nth-child(1),.solution-card:nth-child(5){grid-column:span 8}
.solution-card::before{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  right:-95px;
  top:-95px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(121,86,246,.18),transparent 70%);
  transition:transform .45s ease;
}
.solution-card::after{
  content:"↗";
  position:absolute;
  right:24px;
  bottom:22px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(54,88,245,.15);
  border-radius:50%;
  color:var(--blue);
  background:#f4f6ff;
  transition:transform .3s ease,background .3s ease,color .3s ease;
}
.solution-card:hover{
  z-index:2;
  border-color:rgba(54,88,245,.2);
  background:#fff;
  box-shadow:var(--shadow-md);
  transform:translateY(-7px);
}
.solution-card:hover::before{transform:scale(1.35)}
.solution-card:hover::after{background:var(--blue);color:#fff;transform:rotate(45deg)}
.solution-card span{color:var(--violet)}
.solution-card h3{
  max-width:490px;
  margin:48px 0 16px;
  color:var(--navy);
  font-family:inherit;
  font-size:clamp(23px,2vw,30px);
  font-weight:750;
  line-height:1.13;
  letter-spacing:-.035em;
}
.solution-card p{max-width:530px;color:var(--muted);font-size:14px;line-height:1.7}
.solution-card b{color:var(--blue)}

/* Feature, cases and process */
.split-feature{
  max-width:1240px;
  margin:10px auto 130px;
  padding:0 28px;
  gap:90px;
}
.feature-visual{
  height:520px;
  border:1px solid rgba(54,88,245,.1);
  border-radius:var(--radius-lg);
  background:
    radial-gradient(circle at 28% 25%,rgba(74,217,207,.24),transparent 28%),
    radial-gradient(circle at 75% 76%,rgba(121,86,246,.24),transparent 30%),
    linear-gradient(145deg,#eef2ff,#f9f7ff);
  box-shadow:inset 0 1px #fff,var(--shadow-sm);
}
.feature-visual::before,.feature-visual::after{
  content:"";
  position:absolute;
  border:1px solid rgba(54,88,245,.16);
  border-radius:50%;
}
.feature-visual::before{width:330px;height:330px;animation:orbit-spin 18s linear infinite}
.feature-visual::after{width:245px;height:245px;border-style:dashed;animation:orbit-spin 14s linear infinite reverse}
.orbit-core{
  position:relative;
  z-index:2;
  background:linear-gradient(145deg,#2947d9,var(--violet));
  box-shadow:0 28px 65px rgba(54,88,245,.32),inset 0 1px rgba(255,255,255,.28);
}
.float-pill{z-index:3;border:1px solid rgba(54,88,245,.09);box-shadow:var(--shadow-sm);animation:pill-float 6s ease-in-out infinite}
.p2{animation-delay:-2s}.p3{animation-delay:-4s}
.check-list li{padding:14px 0;border-color:var(--line);color:#46516b}
.case-preview{
  padding:120px max(28px,calc((100vw - 1240px)/2));
  background:
    linear-gradient(rgba(54,88,245,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(54,88,245,.035) 1px,transparent 1px),
    #eef2fa;
  background-size:32px 32px;
}
.section-head{margin-bottom:48px}
.case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.case-card{
  padding:14px!important;
  border:1px solid rgba(24,45,89,.1);
  border-radius:var(--radius)!important;
  background:rgba(255,255,255,.88);
  box-shadow:0 14px 42px rgba(25,43,83,.08);
}
.case-card:hover{border-color:rgba(54,88,245,.22);box-shadow:var(--shadow-md);transform:translateY(-7px)}
.case-card .case-image,.case-card .case-art{aspect-ratio:16/9;margin-bottom:22px!important;border-radius:17px}
.case-card-real .case-image img{transition:transform .65s cubic-bezier(.16,1,.3,1),filter .4s ease}
.case-card-real:hover .case-image img{transform:scale(1.045);filter:saturate(1.05)}
.case-card small{padding:0 9px;color:#73809b;font-weight:750}
.case-card h3{
  min-height:auto;
  margin:12px 9px 10px;
  font-family:inherit;
  font-size:clamp(24px,2.2vw,32px);
  font-weight:750;
  letter-spacing:-.035em;
}
.case-card p{min-height:auto;margin:0 9px 18px;color:#6d7790;font-size:12px}
.case-card b{margin:0 9px 10px;padding-top:7px;color:var(--blue)}
.process-band{
  position:relative;
  overflow:hidden;
  padding:115px max(28px,calc((100vw - 1240px)/2));
  background:
    radial-gradient(circle at 92% 12%,rgba(121,86,246,.28),transparent 28rem),
    radial-gradient(circle at 8% 90%,rgba(74,217,207,.12),transparent 24rem),
    var(--navy);
}
.process-band::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.035) 50%,transparent 50.1%);
  background-size:90px 100%;
}
.process-band .section-label{position:relative;color:#a9b4ff}
.process-row{position:relative;gap:14px}
.process-row>div{
  min-height:240px;
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  background:rgba(255,255,255,.045);
}
.process-row>div:hover{background:rgba(255,255,255,.075);transform:translateY(-4px)}
.process-row b{color:var(--aqua)}
.process-row h3{color:#fff}
.process-row p{color:#aeb9d1}
.wide-cta,.faq-bottom{
  position:relative;
  overflow:hidden;
  padding:100px max(28px,calc((100vw - 1240px)/2));
  background:linear-gradient(135deg,#edf2ff,#f9f6ff);
}
.wide-cta::after,.faq-bottom::after{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  right:-150px;
  bottom:-180px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(74,217,207,.2),rgba(121,86,246,.18));
}
.wide-cta>*,.faq-bottom>*{position:relative;z-index:1}

/* Inner pages and service pages */
.page-hero{
  position:relative;
  overflow:hidden;
  padding:112px max(28px,calc((100vw - 1060px)/2)) 120px;
  background:
    radial-gradient(circle at 12% 12%,rgba(74,217,207,.16),transparent 24rem),
    radial-gradient(circle at 90% 20%,rgba(121,86,246,.15),transparent 28rem),
    linear-gradient(145deg,#fbfcff,#f0f3ff);
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(54,88,245,.14) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(to bottom,#000,transparent);
  opacity:.48;
}
.page-hero>*{position:relative}
.page-hero h1,.contact-page h1{
  max-width:1080px;
  margin:25px auto 28px;
  font-family:inherit;
  font-size:clamp(54px,6.7vw,90px);
  font-weight:770;
  line-height:.96;
  letter-spacing:-.065em;
}
.page-hero>p{max-width:780px;color:#5f6b84;font-size:18px;line-height:1.75}
.breadcrumbs a{color:var(--blue)}
.service-hero .breadcrumbs{
  width:min(100%,820px);
  margin:0 auto 22px;
  color:#78839b;
  font-size:12px;
  line-height:1.5;
}
.service-hero>.section-label{margin-left:auto;margin-right:auto}
.service-hero>.button{margin-top:16px}
.detail-grid,.question-block{
  width:min(100%,1240px);
  max-width:1240px;
  margin-left:auto;
  margin-right:auto;
  padding:115px 28px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  align-items:start;
  gap:80px;
}
.detail-grid>div,.question-block>div{min-width:0}
.deliverables{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:11px;
}
.deliverables>div{
  min-height:68px;
  padding:17px 19px;
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:14px;
  border:1px solid rgba(31,52,96,.08);
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 26px rgba(28,44,80,.045);
}
.deliverables i{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:linear-gradient(145deg,rgba(74,217,207,.18),rgba(54,88,245,.12));
  color:var(--blue);
  font-style:normal;
  font-weight:900;
}
.deliverables span{min-width:0;overflow-wrap:anywhere;color:#34405d;font-weight:720;line-height:1.45}
.deliverables>div:hover{border-color:rgba(54,88,245,.18);transform:translateX(5px)}
.method-section{
  padding:105px max(28px,calc((100vw - 1240px)/2)) 110px;
  overflow:hidden;
  background:#eef2fa;
}
.method-section>.section-label,.method-grid{width:100%;max-width:1240px;margin-left:auto;margin-right:auto}
.method-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:45px;
}
.method-grid>div{
  min-width:0;
  min-height:230px;
  padding:28px;
  border:1px solid rgba(24,45,89,.08);
  border-radius:20px;
  background:rgba(255,255,255,.85);
  box-shadow:0 10px 30px rgba(28,44,80,.05);
}
.method-grid h3{font-family:inherit;font-weight:750}
.method-grid p{overflow-wrap:anywhere;line-height:1.65}
.question-block>div:last-child{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.question-block details{
  overflow:hidden;
  border:1px solid rgba(24,45,89,.1);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(28,44,80,.04);
}
.question-block summary{min-height:58px;padding:18px 20px}
.question-block details>p{margin:0;padding:0 20px 20px;line-height:1.7}
.question-block details[open]{border-color:rgba(54,88,245,.18);box-shadow:var(--shadow-sm)}

/* Portfolio detail */
.portfolio-hero{
  max-width:1240px;
  padding:105px 28px 68px;
  gap:72px;
}
.portfolio-hero h1{
  margin:22px 0 24px;
  font-family:inherit;
  font-size:clamp(50px,5.8vw,78px);
  font-weight:770;
  line-height:.97;
  letter-spacing:-.06em;
}
.portfolio-hero h1 em{color:var(--blue);font-style:normal}
.portfolio-meta span{border-color:rgba(54,88,245,.12);background:#f7f8ff;color:#4f5d79}
.portfolio-hero-media{
  --tilt-x:0deg;
  --tilt-y:0deg;
  padding:13px;
  border:1px solid rgba(54,88,245,.12);
  border-radius:30px;
  background:linear-gradient(145deg,#e9eeff,#fff);
  box-shadow:var(--shadow-lg);
  transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition:transform .18s ease-out;
}
.portfolio-hero-media img{border-radius:20px}
.portfolio-hero-media::after{right:26px;bottom:24px;background:rgba(255,255,255,.92)}
.portfolio-summary{max-width:1240px;gap:16px}
.portfolio-summary article{
  position:relative;
  overflow:hidden;
  padding:31px;
  border-color:rgba(24,45,89,.09);
  border-radius:20px;
  box-shadow:0 10px 30px rgba(28,44,80,.05);
}
.portfolio-summary article::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:3px;
  background:linear-gradient(90deg,var(--aqua),var(--blue),var(--violet));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
}
.portfolio-summary article:hover::after{transform:scaleX(1)}
.portfolio-feature{max-width:1240px;gap:70px}
.portfolio-feature img{border-radius:28px;box-shadow:var(--shadow-md)}
.portfolio-list span{border:1px solid rgba(54,88,245,.08);background:#f1f4fb}
.portfolio-gallery{max-width:1240px}
.portfolio-gallery-grid{gap:24px}
.portfolio-shot{padding:12px;border-color:rgba(24,45,89,.1);border-radius:24px;box-shadow:var(--shadow-sm)}
.portfolio-shot:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.portfolio-disclosure{
  max-width:1184px;
  border:1px solid rgba(54,88,245,.1);
  border-left:4px solid var(--blue);
  background:#eef2fb;
}

/* Contact */
.contact-page{
  padding:110px 28px 125px;
  background:
    radial-gradient(circle at 8% 85%,rgba(74,217,207,.14),transparent 26rem),
    radial-gradient(circle at 92% 10%,rgba(121,86,246,.17),transparent 30rem),
    linear-gradient(145deg,#fbfcff,#f0f3ff);
}
.contact-shell{max-width:1240px;gap:90px}
.contact-intro h1{
  font-family:inherit;
  font-size:clamp(55px,6.1vw,84px);
  font-weight:770;
  letter-spacing:-.065em;
}
.contact-intro h1 em{color:var(--blue);font-style:normal}
.contact-icon{border-color:rgba(54,88,245,.11);box-shadow:var(--shadow-sm)}
.contact-card{
  --tilt-x:0deg;
  --tilt-y:0deg;
  padding:36px;
  border-color:rgba(54,88,245,.11);
  border-radius:30px;
  box-shadow:var(--shadow-lg);
  transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition:transform .18s ease-out;
}
.contact-card::before{left:36px;right:36px;background:linear-gradient(90deg,var(--aqua),var(--blue),var(--violet))}
.contact-card .contact-form input,.contact-card .contact-form textarea{
  border-color:#dce3f1;
  border-radius:13px;
  background:#f7f9fd;
}
.contact-card .contact-form input:focus,.contact-card .contact-form textarea:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(54,88,245,.1);
}
.contact-next{max-width:1240px}

/* About, FAQ, sitemap */
.about-hero,.faq-hero,.sitemap-hero{
  background:
    radial-gradient(circle at 12% 20%,rgba(74,217,207,.14),transparent 25rem),
    radial-gradient(circle at 88% 20%,rgba(121,86,246,.16),transparent 30rem),
    linear-gradient(145deg,#fbfcff,#f0f3ff);
}
.about-hero-copy h1,.faq-hero h1,.sitemap-hero h1{
  font-family:inherit;
  font-weight:770;
  letter-spacing:-.065em;
}
.about-hero-copy h1 em,.faq-hero h1 em,.sitemap-hero h1 em{color:var(--blue);font-style:normal}
.about-system{border-color:rgba(54,88,245,.11);box-shadow:var(--shadow-md)}
.system-core{background:linear-gradient(145deg,var(--blue),var(--violet))}
.system-ring{border-color:rgba(54,88,245,.15)}
.ring-one{animation:orbit-spin 18s linear infinite}
.ring-two{animation:orbit-spin 24s linear infinite reverse}
.system-node{border-color:rgba(54,88,245,.1);box-shadow:var(--shadow-sm)}
.about-pillars article,.about-process-grid>div,.about-values-list>div{
  border-color:rgba(24,45,89,.09);
  background:rgba(255,255,255,.82);
}
.about-pillars article:hover,.about-process-grid>div:hover,.about-values-list>div:hover{
  box-shadow:var(--shadow-md);
  transform:translateY(-5px);
}
.faq-hero-card{
  --tilt-x:0deg;
  --tilt-y:0deg;
  border-color:rgba(54,88,245,.11);
  border-radius:26px;
  box-shadow:var(--shadow-lg);
  transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition:transform .18s ease-out;
}
.faq-list-pro details{border-color:var(--line)}
.faq-list-pro details[open]{border-radius:16px;background:#f2f5fd}
.faq-list-pro summary{min-height:74px}
.faq-list-pro summary i{border-color:rgba(54,88,245,.13);background:#fff}
.sitemap-grid{gap:18px}
.sitemap-grid>div{
  border:1px solid rgba(24,45,89,.09);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 32px rgba(28,44,80,.055);
}
.sitemap-grid>div:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.legal{
  width:min(820px,calc(100% - 36px));
  margin:72px auto 110px;
  padding:clamp(28px,5vw,62px);
  border:1px solid rgba(24,45,89,.09);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.9);
  box-shadow:var(--shadow-md);
}
.legal h1{margin:16px 0 30px;font-size:clamp(44px,6vw,70px);line-height:.98;letter-spacing:-.06em}
.legal h2{margin:38px 0 12px;font-size:24px;letter-spacing:-.03em}
.legal p{font-size:15px;line-height:1.8}
.legal a{color:var(--blue);font-weight:700}
.legal code{padding:3px 7px;border-radius:7px;background:#edf1fb;color:var(--navy)}

/* Footer and consent */
.footer-pro{
  background:
    radial-gradient(circle at 88% 10%,rgba(121,86,246,.28),transparent 28rem),
    radial-gradient(circle at 15% 95%,rgba(74,217,207,.1),transparent 24rem),
    #081329;
}
.footer-glow{background:radial-gradient(circle,rgba(93,91,255,.35),transparent 68%)}
.footer-cta{max-width:1240px;padding-top:96px}
.footer-cta h2{font-family:inherit;font-weight:760;letter-spacing:-.055em}
.footer-button{
  min-height:62px;
  padding:10px 12px 10px 24px;
  gap:24px;
  color:var(--navy);
  background:#fff;
  box-shadow:0 18px 48px rgba(0,0,0,.25);
}
.footer-button:hover{color:var(--navy);background:#f7f8ff}
.footer-button span{width:40px;height:40px}
.footer-grid,.footer-bottom{max-width:1240px}
.footer-column a:hover{transform:translateX(4px)}
.cookie{
  border:1px solid rgba(54,88,245,.13)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 28px 80px rgba(17,31,66,.2)!important;
  backdrop-filter:blur(18px);
}

/* Motion */
.motion-ready .reveal{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .75s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),
    transform .75s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms);
}
.motion-ready .reveal.is-visible{opacity:1;transform:none}
.tilt-surface{will-change:transform}

@keyframes bar-rise{from{transform:scaleY(0);opacity:.2}to{transform:scaleY(1);opacity:1}}
@keyframes orb-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(20px,-18px,0)}}
@keyframes pill-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes orbit-spin{to{transform:rotate(360deg)}}

/* Responsive */
@media(max-width:1100px){
  .site-header nav{gap:2px}
  .site-header nav a{padding:0 9px}
  .desktop-cta{display:none}
  .solutions-grid{grid-template-columns:repeat(2,1fr)}
  .solution-card,.solution-card:nth-child(1),.solution-card:nth-child(5){grid-column:auto}
}

@media(max-width:900px){
  .site-header{height:74px;padding:0 22px}
  .site-header>nav,.desktop-cta{display:none}
  .mobile-nav{
    position:fixed;
    top:108px;
    left:14px;
    right:14px;
    z-index:99;
    padding:18px;
    border:1px solid rgba(54,88,245,.12);
    border-radius:0 0 22px 22px;
    background:rgba(250,251,254,.98);
    box-shadow:var(--shadow-lg);
    backdrop-filter:blur(20px);
  }
  .header-scrolled .mobile-nav{top:74px}
  .mobile-nav nav{display:grid}
  .mobile-nav nav a{border-bottom:1px solid var(--line);font-weight:750}
  .mobile-nav .button{margin-top:14px}
  .startup-hero{grid-template-columns:1fr;min-height:auto;padding:82px 24px 92px;gap:58px}
  .startup-hero .hero-content{max-width:760px}
  .growth-board{max-width:680px}
  .solutions,.case-preview.inner{padding:90px 24px}
  .section-intro{grid-template-columns:1fr;gap:24px}
  .solutions-grid{grid-template-columns:1fr 1fr}
  .split-feature{padding:0;margin:0 24px 95px}
  .case-preview{padding:90px 24px}
  .process-band{padding:90px 24px}
  .detail-grid,.question-block{grid-template-columns:minmax(0,1fr);gap:48px;padding:90px 24px}
  .method-section{padding:82px 24px 90px}
  .method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wide-cta,.faq-bottom{padding:80px 24px}
  .portfolio-hero{padding:78px 24px 50px}
  .portfolio-summary,.portfolio-feature,.portfolio-gallery{padding-left:24px;padding-right:24px}
  .contact-page{padding:85px 24px 98px}
  .tilt-surface{transform:none!important}
}

@media(max-width:620px){
  .topbar{min-height:32px;padding:8px 14px}
  .site-header{height:68px;padding:0 16px}
  .mobile-nav{top:100px;left:8px;right:8px}
  .header-scrolled .mobile-nav{top:68px}
  .startup-hero{padding:60px 18px 72px;gap:42px;background-size:25px 25px,25px 25px,auto,auto}
  .startup-hero h1{font-size:clamp(44px,13.6vw,57px);line-height:.96;letter-spacing:-.058em}
  .startup-hero .hero-copy{font-size:16px}
  .hero-actions{align-items:stretch}
  .hero-actions .button{width:100%}
  .trust-row{gap:8px;margin-top:36px}
  .trust-row span{padding:8px 10px;font-size:10px}
  .growth-board{padding:20px;border-radius:24px}
  .chart{height:145px}
  .logo-strip{min-height:auto;padding:18px;gap:10px 18px}
  .solutions,.case-preview.inner{padding:72px 18px}
  .solutions-grid{grid-template-columns:1fr}
  .solution-card{min-height:290px;padding:25px 23px}
  .solution-card h3{margin-top:34px}
  .split-feature{margin:0 18px 75px}
  .feature-visual{height:370px}
  .case-preview{padding:72px 18px}
  .case-grid{grid-template-columns:1fr}
  .case-card h3{font-size:26px}
  .process-band{padding:72px 18px}
  .process-row>div{min-height:auto;padding:24px}
  .wide-cta,.faq-bottom{padding:68px 18px}
  .page-hero{padding:70px 18px 78px}
  .page-hero h1,.contact-page h1{font-size:clamp(43px,13vw,54px)!important;letter-spacing:-.055em!important}
  .detail-grid,.question-block{padding:76px 18px!important}
  .method-section{padding:75px 18px}
  .method-grid{grid-template-columns:minmax(0,1fr)}
  .method-grid>div{min-height:auto}
  .portfolio-hero{padding:58px 18px 42px}
  .portfolio-hero h1{font-size:clamp(42px,12vw,54px)}
  .portfolio-summary,.portfolio-feature,.portfolio-gallery{padding-left:18px;padding-right:18px}
  .portfolio-summary article{padding:24px}
  .portfolio-hero-media{padding:9px;border-radius:22px}
  .portfolio-feature img{border-radius:20px}
  .portfolio-shot{padding:8px;border-radius:17px}
  .contact-page{padding:64px 18px 76px}
  .contact-card{padding:25px 20px;border-radius:22px}
  .contact-card::before{left:22px;right:22px}
  .footer-cta{padding-top:72px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .motion-ready .reveal{opacity:1;transform:none}
  .tilt-surface{transform:none!important}
}
