:root{
  --navy:#1d2258;
  --violet:#7856ee;
  --lavender:#a78bfa;
  --sky:#78b9f5;
  --mint:#55ddcf;
  --pink:#f1a4d7;
  --paper:#fbfbff;
  --white:#ffffff;
  --text:#191d4c;
  --muted:#65698a;
  --line:#e8e8f5;
  --shadow:0 20px 60px rgba(57,57,122,.12);
  --radius:28px;
  --container:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 12% 4%,rgba(120,185,245,.18),transparent 20%),radial-gradient(circle at 88% 10%,rgba(241,164,215,.16),transparent 22%),linear-gradient(180deg,#fff 0%,#fbfbff 100%);line-height:1.55}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,textarea{font:inherit}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.section{padding:90px 0}
.eyebrow{display:inline-block;margin-bottom:14px;font-size:.76rem;line-height:1;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#5f64a4}
h1,h2,h3,p{margin-top:0} h1,h2,h3{line-height:1.08} h2{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.045em} p{color:var(--muted)} span{box-sizing:border-box}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(230,230,245,.75)}
.nav-wrap{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:330px;height:auto;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:30px;font-size:.92rem;font-weight:700}
.main-nav a,.footer-links a{transition:.2s ease}
.main-nav a:hover,.footer-links a:hover{color:var(--violet)}
.nav-actions{display:flex;align-items:center;gap:16px}
.social-mini,.footer-social{display:flex;gap:8px}
.social-mini a,.footer-social a{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800;text-transform:lowercase;background:rgba(255,255,255,.75)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font-weight:800;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{color:#fff;background:linear-gradient(135deg,#8c63f3,#6554ef 58%,#568cf5);box-shadow:0 12px 28px rgba(110,82,239,.28)}
.btn-secondary{background:rgba(255,255,255,.72);border-color:#8870ee;color:#5f51dd}
.btn-small{min-height:42px;padding-inline:18px;font-size:.86rem}
.menu-toggle{display:none;background:none;border:0;padding:8px} .menu-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0}
.hero{position:relative;overflow:hidden;min-height:720px;display:flex;align-items:center;background:linear-gradient(135deg,rgba(247,249,255,.94),rgba(254,247,252,.95)),radial-gradient(circle at 20% 20%,#fff,transparent)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:58px}
.hero-copy{padding:80px 0} .hero h1{margin-bottom:26px;font-size:clamp(3.2rem,7vw,6.6rem);letter-spacing:-.07em;color:#131947}
.hero h1 span{background:linear-gradient(90deg,#7a4bf5,#6c83ef,#5cb9ee);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{max-width:690px;font-size:1.13rem} .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0}
.hero-points{display:flex;gap:32px;flex-wrap:wrap;margin-top:34px} .hero-points div{display:flex;align-items:center;gap:10px}
.hero-points i{width:13px;height:13px;border-radius:50%;background:linear-gradient(135deg,var(--mint),var(--sky));box-shadow:0 0 0 7px rgba(85,221,207,.12)}
.hero-points span{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#606691}
.hero-visual{position:relative;min-height:560px;display:flex;align-items:center}
.universe-card{position:relative;width:100%;aspect-ratio:1.06/1;border-radius:44px;overflow:hidden;background:radial-gradient(circle at 68% 32%,rgba(255,255,255,.85),transparent 18%),linear-gradient(145deg,#dff4ff 0%,#e9e4ff 34%,#ffdff0 62%,#dff8f7 100%);box-shadow:var(--shadow)}
.universe-card:before,.universe-card:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.8)}
.universe-card:before{width:580px;height:220px;left:-80px;bottom:45px;transform:rotate(-16deg)} .universe-card:after{width:500px;height:210px;left:80px;bottom:90px;transform:rotate(12deg)}
.planet{position:absolute;border-radius:50%;filter:blur(.1px);box-shadow:inset -20px -20px 50px rgba(74,63,150,.12)}
.planet-a{width:140px;height:140px;right:9%;top:10%;background:linear-gradient(145deg,#fff,#a6cbff)} .planet-b{width:80px;height:80px;left:8%;bottom:12%;background:linear-gradient(145deg,#fff,#f7bfe2)} .planet-c{width:34px;height:34px;right:18%;bottom:16%;background:linear-gradient(145deg,#fff,#89e7db)}
.hero-symbol{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:min(60%,340px);filter:drop-shadow(0 20px 30px rgba(86,69,174,.18))}
.hero-message{position:absolute;right:42px;bottom:38px;display:flex;flex-direction:column;font-weight:700;letter-spacing:.25em;font-size:.84rem;color:#4a4f83}
.hero-message strong{color:#7458e9}
.orb{position:absolute;border-radius:50%;filter:blur(8px);opacity:.35} .orb-1{width:320px;height:320px;background:#cde9ff;left:-130px;top:-100px} .orb-2{width:280px;height:280px;background:#f7c8e5;right:-90px;bottom:-40px}
.hero-wave{position:absolute;width:900px;height:280px;border-radius:50%;border:2px solid rgba(137,113,239,.13);transform:rotate(-8deg)} .wave-a{right:-300px;top:170px} .wave-b{left:-260px;bottom:0;transform:rotate(11deg)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px} .section-heading h2{max-width:780px;margin-bottom:0}
.text-link{font-weight:800;color:#6657e9;white-space:nowrap}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-card{padding:30px;min-height:300px;border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:24px;box-shadow:0 10px 28px rgba(68,68,128,.05);transition:.25s ease}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.icon-box,.feature-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin-bottom:34px;font-size:1.7rem;color:#6d58e8;background:linear-gradient(135deg,#ece5ff,#def7ff)}
.service-card:nth-child(2) .icon-box{background:linear-gradient(135deg,#eee2ff,#fce8f4)} .service-card:nth-child(3) .icon-box{background:linear-gradient(135deg,#e2f3ff,#dff9f5)} .service-card:nth-child(4) .icon-box{background:linear-gradient(135deg,#ffe5f3,#f1e7ff)}
.service-card h3{font-size:1.26rem} .service-card>a{display:grid;place-items:center;width:34px;height:34px;margin-top:22px;border:1px solid #d7d5ee;border-radius:50%;color:#725be7}
.process{padding-top:30px} .process-panel{padding:38px;display:grid;grid-template-columns:.8fr 2.2fr;gap:40px;background:linear-gradient(135deg,rgba(251,248,255,.96),rgba(242,249,255,.96));border:1px solid var(--line);border-radius:32px;box-shadow:0 20px 60px rgba(65,65,125,.07)}
.process-intro h2{font-size:2.4rem;margin-bottom:8px} .process-intro h2 span{color:#7859ec}
.steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:center} .step{display:flex;gap:16px}
.step-num{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,#8a61f3,#4f94f5)}
.step h3{font-size:1rem;margin-bottom:8px} .step p{font-size:.86rem;margin-bottom:0} .step-arrow{color:#765ce9;font-size:1.6rem}
.cta-section{padding-top:24px} .cta-banner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:44px;border-radius:32px;background:radial-gradient(circle at 10% 30%,rgba(255,255,255,.92),transparent 22%),linear-gradient(115deg,#e9ddff 0%,#f8e7f3 45%,#d9f3ff 100%)}
.cta-banner:after{content:"";position:absolute;inset:auto -150px -90px auto;width:620px;height:230px;border:2px solid rgba(255,255,255,.7);border-radius:50%;transform:rotate(-8deg)} .cta-banner>*{position:relative;z-index:2} .cta-banner h2{font-size:2.2rem;margin-bottom:8px} .cta-banner p{margin-bottom:0}
.about-grid{display:grid;grid-template-columns:1.2fr 1fr .85fr;gap:42px;align-items:center} .about-copy h2{font-size:3rem} .about-copy h2 span{color:#7859ec} .about-copy p{font-size:1.02rem;margin-bottom:26px}
.feature{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)} .feature:last-child{border-bottom:0} .feature-icon{width:46px;height:46px;border-radius:14px;margin:0;font-size:1.15rem} .feature h3{font-size:1rem;margin-bottom:6px} .feature p{font-size:.88rem;margin-bottom:0}
.office-card{min-height:340px;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(155deg,#e8f5ff,#f6e7f7 55%,#def8f2);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;padding:34px}
.office-card img{width:150px;margin-bottom:18px} .office-card span{font-size:1.2rem;font-weight:800;letter-spacing:.04em} .office-card small{margin-top:6px;color:#6e7091}
.contact{background:linear-gradient(180deg,rgba(248,248,255,.8),#fff)} .contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start} .contact-copy h2{font-size:3.2rem}
.contact-note{display:flex;flex-direction:column;gap:4px;padding-top:18px} .contact-note span{color:var(--muted);font-size:.86rem}
.contact-form{padding:34px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)} .contact-form label{display:block;margin-bottom:18px} .contact-form label>span{display:block;margin-bottom:8px;font-weight:700;font-size:.86rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
input,textarea{width:100%;border:1px solid #dddded;background:#fcfcff;color:var(--text);border-radius:14px;padding:14px 16px;outline:none;transition:.2s ease}
input:focus,textarea:focus{border-color:#9378f3;box-shadow:0 0 0 4px rgba(147,120,243,.11)} textarea{resize:vertical} .form-status{min-height:20px;margin:14px 0 0;font-size:.86rem}
.site-footer{border-top:1px solid var(--line);background:#fff} .footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px 0} .footer-brand img{width:280px} .footer-links{display:flex;gap:22px;font-size:.85rem;font-weight:700}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0 30px;border-top:1px solid var(--line);font-size:.78rem;color:#7c7f9d} .footer-bottom div{display:flex;gap:18px}
.reveal{opacity:1;transform:none}
@media (max-width:1150px){.brand img{width:290px}.main-nav{gap:18px}.nav-actions .social-mini{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr 1fr}.about-art{grid-column:1/-1}.office-card{min-height:250px}.process-panel{grid-template-columns:1fr}}
@media (max-width:850px){.nav-wrap{min-height:76px}.brand img{width:240px}.menu-toggle{display:block;margin-left:auto}.main-nav{position:absolute;left:20px;right:20px;top:78px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav a{padding:14px}.nav-actions{display:none}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:70px 0 16px}.hero-visual{min-height:0;padding-bottom:60px}.universe-card{max-width:650px;margin:auto}.section{padding:70px 0}.section-heading{align-items:start;flex-direction:column}.steps{grid-template-columns:1fr}.step-arrow{transform:rotate(90deg);margin-left:12px}.cta-banner{align-items:flex-start;flex-direction:column}.about-grid,.contact-grid{grid-template-columns:1fr}.footer-main{flex-direction:column;align-items:flex-start}}
@media (max-width:600px){.container{width:min(calc(100% - 28px),var(--container))}.brand img{width:205px}.hero h1{font-size:3.25rem}.hero-points{gap:20px}.service-grid{grid-template-columns:1fr}.process-panel{padding:26px}.cta-banner{padding:30px}.field-row{grid-template-columns:1fr}.contact-form{padding:24px}.footer-links{flex-wrap:wrap}.footer-bottom{flex-direction:column}.hero-message{right:22px;bottom:22px;font-size:.68rem}.hero-symbol{width:150px}.footer-brand img{width:220px}}

img{height:auto}
section[id],main[id]{scroll-margin-top:120px}
fieldset{border:0;padding:0;margin:0;min-width:0}
fieldset:disabled{opacity:.65}
fieldset:disabled .btn{cursor:not-allowed;transform:none}
:focus-visible{outline:3px solid #5740b9;outline-offset:4px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:#fff;padding:12px;border:2px solid #5740b9}
.skip-link:focus{top:12px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:380px){.hero h1{font-size:2.75rem}.nav-wrap{gap:12px}.brand img{width:190px}.contact-copy h2{font-size:2.6rem}}
