@font-face{font-family:Figtree;font-weight:400;font-style:normal;font-display:swap;src:url(fonts/figtree-400.woff2) format("woff2")}
@font-face{font-family:Figtree;font-weight:500;font-style:normal;font-display:swap;src:url(fonts/figtree-500.woff2) format("woff2")}
@font-face{font-family:Figtree;font-weight:600;font-style:normal;font-display:swap;src:url(fonts/figtree-600.woff2) format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/bricolage-700.woff2) format("woff2")}
:root{--paper:#f7f6f1;--white:#fff;--ink:#181837;--night:#171638;--night-2:#222153;--muted:#66677d;--line:#e4e3dc;--lime:#d8fa69;--violet:#a898ff;--coral:#ff7968;--display:"Bricolage Grotesque","Trebuchet MS",sans-serif;--body:"Figtree","Segoe UI",Arial,sans-serif;--wrap:1200px;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
button,input,textarea{font:inherit}
:focus-visible{outline:3px solid #8e78ff;outline-offset:4px}
.wrap{width:min(100% - 48px,var(--wrap));margin-inline:auto}
.skip-link{position:fixed;top:8px;left:8px;z-index:30;padding:10px 16px;border-radius:99px;background:var(--lime);color:var(--ink);transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header,header:not(.site-header){position:fixed;z-index:20;inset:0 0 auto;background:rgba(247,246,241,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(24,24,55,.08)}
.header-row{height:78px;display:flex;align-items:center;gap:38px}
header:not(.site-header)>.wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--night);font:700 1rem/1 var(--display);letter-spacing:.025em;white-space:nowrap}
.brand img{width:35px;height:35px;object-fit:contain}
.brand svg{width:35px;height:35px;fill:#7161e6;transition:transform .6s}
.brand:hover svg{transform:rotate(360deg)}
.brand i{font-style:normal;font-weight:400;letter-spacing:.09em}
header nav{display:flex;align-items:center;gap:30px;margin-left:auto}
header nav a{text-decoration:none;font-size:.88rem;font-weight:600;color:#56566d;transition:color .2s}
header nav a:hover,header nav a.on{color:#6651df}
.header-cta{display:inline-flex;align-items:center;gap:18px;text-decoration:none;color:var(--night);background:var(--lime);padding:13px 19px;border-radius:99px;font-size:.86rem;font-weight:700;transition:transform .2s,background .2s}
.header-cta:hover{transform:translateY(-2px);background:#c9ef4d}
.header-cta span{font-size:1rem}
#bar{position:absolute;left:0;bottom:0;width:100%;height:2px;background:#7c67f0;transform:scaleX(0);transform-origin:left}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:14px 22px;border:0;border-radius:999px;text-decoration:none;font-size:.92rem;font-weight:700;cursor:pointer;transition:transform .22s,background .22s,box-shadow .22s}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(13,13,43,.17)}
.btn span{font-size:1.05rem}
.btn-lime{background:var(--lime);color:var(--night)}
.btn-lime:hover{background:#c9ef4d}
.text-link{display:inline-flex;align-items:center;gap:15px;text-decoration:none;font-weight:700;font-size:.91rem}
.text-link span{transition:transform .2s}
.text-link:hover span{transform:translate(3px,-3px)}
.light-link{color:var(--white)}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 22px;color:#6358a4;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700}
.eyebrow-mark{color:#735ff2;font-size:1.15rem;line-height:1}
.eyebrow.light{color:#d2cef7}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(216,250,105,.15);animation:blink 2s ease-in-out infinite}
@keyframes blink{50%{box-shadow:0 0 0 8px rgba(216,250,105,0)}}
.hero{position:relative;min-height:min(800px,100svh);padding:144px 0 82px;overflow:hidden;color:var(--white);background:radial-gradient(ellipse at 74% 48%,rgba(101,79,196,.32),transparent 34%),radial-gradient(ellipse at 4% 96%,rgba(50,62,147,.34),transparent 40%),linear-gradient(123deg,#171638 0%,#1d1b4a 55%,#25205b 100%)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to right,transparent 12%,#000 100%);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:25px;min-height:550px}
.hero-copy{position:relative;z-index:2;padding:14px 0}
.hero h1{max-width:720px;margin:0 0 24px;font:700 clamp(3.55rem,7.4vw,6.8rem)/.91 var(--display);letter-spacing:-.065em}
.hero h1 em,.method-heading h2 em,.contact-copy h2 em{color:var(--lime);font-style:normal}
.hero-lead{max-width:485px;margin:0;color:#d2d1e2;font-size:1.16rem;line-height:1.65}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:32px}
.hero-note{margin:24px 0 0;color:#9999b9;font-size:.84rem}
.hero-art{position:relative;justify-self:end;width:min(100%,540px);aspect-ratio:1;isolation:isolate}
.art-glow{position:absolute;inset:13%;border-radius:50%;background:radial-gradient(circle,rgba(177,158,255,.33),rgba(96,68,207,.11) 45%,transparent 70%);filter:blur(8px)}
.orbit-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orbit{stroke:rgba(216,213,255,.3);stroke-width:1;stroke-dasharray:2 8}
.orbit-1{stroke:rgba(216,250,105,.5);stroke-dasharray:1 0}
.orbit-2{stroke:rgba(201,187,255,.65);stroke-width:1.2;animation:orbit-spin 32s linear infinite;transform-origin:280px 280px}
.orbit-3{stroke:rgba(255,255,255,.27);animation:orbit-spin 45s linear infinite reverse;transform-origin:280px 280px}
.orbit-4{stroke:rgba(216,213,255,.12);stroke-dasharray:2 6}
.orbit-dot{fill:var(--lime);filter:drop-shadow(0 0 9px rgba(216,250,105,.8))}
.dot-2{fill:#ff8474}.dot-3{fill:#b7a7ff}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
.planet{position:absolute;left:50%;top:50%;width:155px;aspect-ratio:1;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(238,230,255,.56);border-radius:50%;background:radial-gradient(circle at 34% 30%,#c7b8ff 0,#8470ef 25%,#5544b0 53%,#27205d 75%);box-shadow:inset -22px -18px 35px rgba(13,10,48,.62),inset 9px 10px 24px rgba(255,255,255,.3),0 0 78px rgba(151,126,255,.46)}
.planet::before{content:"";position:absolute;inset:-12px;border:1px solid rgba(216,250,105,.72);border-radius:50%;transform:rotate(-24deg) scaleY(.32)}
.planet::after{content:"";position:absolute;inset:-31px;border:1px solid rgba(255,255,255,.22);border-radius:50%;transform:rotate(38deg) scaleY(.3)}
.planet span{position:relative;z-index:1;font:700 4.2rem/.8 var(--display);letter-spacing:-.12em;color:#f3efff;text-shadow:0 2px 30px rgba(255,255,255,.55)}
.planet i{position:absolute;right:10px;top:26px;width:13px;height:13px;border-radius:50%;background:var(--lime);box-shadow:0 0 20px var(--lime)}
.orbit-tag{position:absolute;z-index:2;display:grid;gap:4px;padding:13px 16px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(31,29,78,.76);box-shadow:0 16px 44px rgba(9,8,35,.2);backdrop-filter:blur(12px);transform:rotate(-4deg)}
.orbit-tag small{color:#aaa8cf;font-size:.53rem;letter-spacing:.11em;font-weight:700}
.orbit-tag b{font:700 1.05rem/1.05 var(--display);letter-spacing:-.02em}
.tag-one{top:19%;left:0}
.tag-two{right:1%;bottom:22%;transform:rotate(4deg)}
.tag-two small{color:var(--lime)}
.orbit-stamp{position:absolute;top:10%;right:7%;width:94px;height:94px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--lime);color:var(--night);font:700 .8rem/1.1 var(--display);letter-spacing:-.01em;transform:rotate(10deg)}
.orbit-stamp span{position:absolute;right:-9px;top:-8px;font-size:1.7rem;color:#fff}
.art-caption{position:absolute;left:50%;bottom:3%;display:flex;gap:11px;white-space:nowrap;transform:translateX(-50%);color:#9998b5;font-size:.53rem;letter-spacing:.16em}
.art-caption b{color:#d9d6ed}
.hero-index{position:absolute;right:24px;bottom:24px;color:#8483a6;font-size:.62rem;letter-spacing:.17em;writing-mode:vertical-rl}
.ticker{overflow:hidden;background:var(--lime);color:var(--night);padding:15px 0}
.ticker-track{display:flex;align-items:center;justify-content:space-around;gap:34px;width:max-content;min-width:100%;animation:ticker-move 38s linear infinite}
.ticker-track span{text-transform:uppercase;letter-spacing:.09em;font-size:.75rem;font-weight:700;white-space:nowrap}
.ticker-track i{font-style:normal;font-size:1.05rem}
@keyframes ticker-move{to{transform:translateX(-50%)}}
.section-pad{padding:112px 0}
.intro-section{background:var(--paper)}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:end}
h2{margin:0;font:700 clamp(2.5rem,5.1vw,4.5rem)/.98 var(--display);letter-spacing:-.055em}
.intro-grid h2 span,.section-heading h2 span{color:#7665e7}
.intro-text{padding-bottom:6px}
.intro-text>p{margin:0 0 23px;color:#59596d;font-size:1.14rem;line-height:1.75}
.intro-text .text-link{color:#5b4acf}
.services-section{background:#efeee8}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:50px}
.section-heading h2{font-size:clamp(2.5rem,4.8vw,4rem)}
.section-heading>p{max-width:310px;margin:0 0 5px;color:#656577;line-height:1.65}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.service-card{position:relative;display:flex;flex-direction:column;min-height:335px;padding:25px 26px 24px;overflow:hidden;border:1px solid rgba(24,24,55,.08);border-radius:19px;background:#faf9f5;text-decoration:none;transition:transform .3s,box-shadow .3s,background .3s,color .3s}
.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(31,29,73,.1)}
.service-featured{background:#7866e6;color:white;border-color:#7866e6}
.service-featured::before{content:"";position:absolute;width:230px;height:230px;right:-74px;top:104px;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 0 23px rgba(255,255,255,.04),0 0 0 48px rgba(255,255,255,.035)}
.service-featured::after{content:"";position:absolute;width:10px;height:10px;right:74px;top:118px;border-radius:50%;background:var(--lime);box-shadow:0 0 16px var(--lime)}
.service-dark{background:var(--night);color:#fff;border-color:var(--night)}
.service-top{display:flex;align-items:center;justify-content:space-between}
.service-number{font-size:.67rem;letter-spacing:.15em;font-weight:700;opacity:.58}
.service-symbol{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--lime);color:var(--night);font:700 1.55rem/1 var(--display);transition:transform .35s}
.service-card:hover .service-symbol{transform:rotate(45deg)}
.service-featured .service-symbol{background:#fff;color:#7764e4}
.service-dark .service-symbol{background:#a998ff;color:var(--night)}
.symbol-window{font-size:1.8rem}
.symbol-search{font-size:2rem}
.service-copy{position:relative;z-index:1;margin-top:auto}
.service-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;font-weight:700;color:#7668db}
.service-featured .service-kicker{color:#e2dcff}
.service-dark .service-kicker{color:#c2b9ff}
.service-copy h3{margin:0 0 9px;font:700 clamp(1.65rem,2.4vw,2.15rem)/.98 var(--display);letter-spacing:-.045em}
.service-copy>p:not(.service-kicker){max-width:33ch;margin:0 0 14px;color:#646477;font-size:.91rem;line-height:1.55}
.service-featured .service-copy>p:not(.service-kicker),.service-dark .service-copy>p:not(.service-kicker){color:#d0cee0}
.service-include{display:inline-block;padding-top:12px;border-top:1px solid rgba(24,24,55,.12);color:#767585;font-size:.69rem}
.service-featured .service-include{border-color:rgba(255,255,255,.23);color:#f0edff}
.service-dark .service-include{border-color:rgba(255,255,255,.2);color:#c5c2d6}
.service-arrow{position:absolute;right:24px;top:24px;color:var(--night);font-size:1rem;opacity:0;transform:translate(-5px,5px);transition:.25s}
.service-card:hover .service-arrow{opacity:1;transform:translate(0)}
.service-featured .service-arrow,.service-dark .service-arrow{color:#fff}
.service-contact{background:var(--lime);border-color:var(--lime)}
.service-contact .service-kicker{color:#6258a2}
.contact-orbit{position:absolute;right:-5px;top:-17px;width:165px;height:165px;border:1px solid rgba(24,24,55,.2);border-radius:50%}
.contact-orbit::before,.contact-orbit::after{content:"";position:absolute;inset:21px -22px;border:1px solid rgba(24,24,55,.2);border-radius:50%;transform:rotate(-38deg)}
.contact-orbit::after{transform:rotate(42deg)}
.contact-orbit span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--night);color:var(--lime);font-size:2rem}
.services-foot{display:flex;align-items:center;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid #d9d8d1;color:#777783;font-size:.64rem;letter-spacing:.13em;font-weight:700}
.services-foot .foot-spark{margin-left:auto;color:#7665e7;font-size:1.3rem}
.method-section{position:relative;overflow:hidden;background:var(--night);color:#fff}
.method-section::before{content:"";position:absolute;width:700px;height:700px;right:-210px;top:-260px;border:1px solid rgba(198,189,255,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(198,189,255,.025),0 0 0 120px rgba(198,189,255,.02)}
.method-section .wrap{position:relative;z-index:1}
.method-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:65px}
.method-heading .eyebrow{grid-column:1/-1}
.method-heading h2{font-size:clamp(3rem,6vw,5.15rem)}
.method-heading h2 em{color:var(--lime)}
.method-heading>p:last-child{justify-self:end;max-width:245px;margin:0;color:#b4b2cc}
.method-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.method-track::before{content:"";position:absolute;left:0;right:0;top:33px;height:1px;background:linear-gradient(90deg,var(--lime),rgba(216,250,105,.12))}
.method-step{position:relative;padding:0 22px 0 0}
.method-step:not(:first-child){padding-left:21px}
.step-no{position:absolute;top:0;right:20px;color:#787793;font-size:.65rem;letter-spacing:.12em}
.step-icon{position:relative;z-index:1;display:grid;place-items:center;width:66px;height:66px;margin-bottom:29px;border:1px solid rgba(216,250,105,.58);border-radius:50%;background:var(--night);color:var(--lime);font-size:1.32rem;transition:background .3s,color .3s,transform .3s}
.method-step:hover .step-icon{transform:rotate(-10deg) scale(1.07);background:var(--lime);color:var(--night)}
.method-step h3{margin:0 0 8px;font:700 1.5rem/1.1 var(--display);letter-spacing:-.03em}
.method-step>p{max-width:225px;min-height:76px;margin:0;color:#b5b3ca;font-size:.9rem}
.step-result{display:grid;gap:7px;max-width:236px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);color:#fff;font-size:.84rem;font-weight:600}
.step-result span{color:var(--lime);font-size:.6rem;letter-spacing:.15em}
.method-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:64px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15)}
.method-bottom>span{color:#9997b4;font-size:.65rem;letter-spacing:.15em;font-weight:700}
.faq-section{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:10%;align-items:start}
.faq-heading h2{font-size:clamp(2.9rem,5.3vw,4.6rem)}
.faq-heading h2 span{color:#7564e6}
.faq-heading>p:not(.eyebrow){max-width:285px;margin:24px 0;color:#686879}
.faq-heading .text-link{color:#5a49cf}
.fq details{border-top:1px solid #d9d8d2}
.fq details:last-child{border-bottom:1px solid #d9d8d2}
.fq summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 4px 21px 0;list-style:none;cursor:pointer;font:700 1.08rem/1.35 var(--display);letter-spacing:-.012em}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";flex:0 0 31px;display:grid;place-items:center;width:31px;height:31px;border:1px solid #d8d6cd;border-radius:50%;color:#6956dc;font:400 1.2rem/1 var(--body);transition:transform .25s,background .25s,color .25s}
.fq details[open] summary::after{transform:rotate(45deg);background:#7665e7;border-color:#7665e7;color:#fff}
.fq details p{max-width:60ch;margin:0;padding:0 42px 22px 0;color:#686879;font-size:.97rem}
.contact-section{position:relative;overflow:hidden;background:linear-gradient(130deg,#5142b2,#6655d8 55%,#7868e4);color:#fff}
.contact-section::before{content:"";position:absolute;left:-250px;bottom:-460px;width:740px;height:740px;border:1px solid rgba(255,255,255,.17);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 100px rgba(255,255,255,.025)}
.contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.05fr;gap:8%;align-items:center}
.contact-copy h2{font-size:clamp(3.2rem,6vw,5.4rem)}
.contact-copy h2 em{color:var(--lime)}
.contact-copy>p:not(.eyebrow){max-width:410px;margin:23px 0 30px;color:#e3defe}
.contact-email{display:inline-flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.55);color:#fff;text-decoration:none;font-size:clamp(1rem,1.7vw,1.32rem);font-weight:600}
.contact-email span{color:var(--lime)}
.contact-form{display:grid;gap:17px;padding:31px 34px 28px;border-radius:21px;background:#fff;color:var(--night);box-shadow:0 24px 55px rgba(18,15,62,.22)}
.form-title{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:0 0 2px;font:700 1.35rem/1.2 var(--display);letter-spacing:-.025em}
.form-title span{font:500 .67rem/1.2 var(--body);color:#858494}
.contact-form label{display:grid;gap:5px;font-size:.79rem;font-weight:700}
.contact-form input,.contact-form textarea{width:100%;padding:10px 1px;border:0;border-bottom:1px solid #dedde4;border-radius:0;background:transparent;color:var(--night);outline:none;transition:border .2s}
.contact-form input:focus,.contact-form textarea:focus{border-color:#7160e4}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#aaa9b4;font-weight:400}
.contact-form textarea{min-height:76px;resize:vertical}
.contact-form .btn{justify-self:start;margin-top:1px}
.form-note{margin:-7px 0 0;color:#858494;font-size:.7rem}
.contact-star{position:absolute;right:7%;top:10%;color:rgba(216,250,105,.35);font-size:3rem}
.site-footer{background:#12122e;color:#fff}
footer:not(.site-footer){background:#12122e;color:#fff;padding:0;font-size:.8rem}
footer:not(.site-footer) .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:21px;color:#9c9ab4}
footer:not(.site-footer) a{color:inherit;text-decoration:none}
footer:not(.site-footer) a:hover{color:#fff}
.footer-main{display:flex;align-items:center;gap:28px;padding-top:30px;padding-bottom:29px}
.footer-brand{color:#fff}
.footer-main>p{margin:0;color:#a7a6be;font-size:.82rem;line-height:1.45}
.footer-up{margin-left:auto;color:var(--lime);font-size:.82rem;font-weight:600;text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:17px;padding-bottom:20px;border-top:1px solid rgba(255,255,255,.15);color:#9291ab;font-size:.67rem}
.footer-bottom>span:nth-child(2){text-align:center}
.footer-bottom a{color:inherit;text-decoration:none}
.footer-bottom a:hover{color:#fff}
.reveal{opacity:1;transform:none}
.js-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js-ready .reveal.is-visible{opacity:1;transform:none}
.service-grid .reveal:nth-child(2),.method-track .reveal:nth-child(2){transition-delay:.08s}
.service-grid .reveal:nth-child(3),.method-track .reveal:nth-child(3){transition-delay:.16s}
.service-grid .reveal:nth-child(4),.method-track .reveal:nth-child(4){transition-delay:.08s}
.service-grid .reveal:nth-child(5),.method-track .reveal:nth-child(5){transition-delay:.16s}
@media(max-width:980px){
  .wrap{width:min(100% - 40px,var(--wrap))}
  .header-row{gap:20px}
  header nav{gap:19px}
  .hero{min-height:730px}
  .hero-grid{grid-template-columns:1.03fr .97fr}
  .hero h1{font-size:clamp(3.4rem,7vw,5.6rem)}
  .hero-art{width:min(100%,460px)}
  .service-card{min-height:315px;padding:22px}
  .section-pad{padding:92px 0}
}
@media(max-width:760px){
  html{scroll-padding-top:120px}
  .wrap{width:min(100% - 36px,var(--wrap))}
  .header-row,header:not(.site-header)>.wrap{height:auto;min-height:72px;flex-wrap:wrap;gap:0;padding-top:10px}
  .brand{font-size:.88rem}
  .brand img{width:31px;height:31px}
  header nav{order:3;display:flex;width:100%;justify-content:space-between;gap:13px;margin:0;padding:8px 0 11px;overflow:auto;scrollbar-width:none}
  header nav::-webkit-scrollbar{display:none}
  header nav a{flex:0 0 auto;font-size:.73rem}
  .header-cta{margin-left:auto;padding:10px 14px;font-size:.76rem}
  .header-cta span{display:none}
  .hero{min-height:auto;padding:155px 0 56px}
  .hero-grid{grid-template-columns:1fr;gap:18px;min-height:0}
  .hero-copy{padding:0}
  .hero h1{font-size:clamp(3.35rem,13vw,5.1rem)}
  .hero-lead{font-size:1.02rem}
  .hero-actions{gap:18px}
  .hero-actions .btn{min-height:50px;padding:12px 17px}
  .hero-actions .text-link{font-size:.8rem}
  .hero-note{margin-top:17px}
  .hero-art{justify-self:center;width:min(100%,400px);margin:-3px auto -22px}
  .tag-one{left:-2%;top:17%}
  .tag-two{right:-1%;bottom:16%}
  .orbit-tag{padding:10px 12px}
  .orbit-tag b{font-size:.91rem}
  .orbit-tag small{font-size:.45rem}
  .orbit-stamp{width:75px;height:75px;right:2%;top:7%;font-size:.68rem}
  .art-caption{font-size:.43rem;gap:7px;bottom:4%}
  .hero-index{display:none}
  .ticker{padding:12px 0}
  .ticker-track{gap:22px}
  .ticker-track span{font-size:.65rem}
  .section-pad{padding:72px 0}
  .intro-grid{grid-template-columns:1fr;gap:24px}
  h2{font-size:clamp(2.6rem,10vw,3.6rem)}
  .intro-text>p{font-size:1.02rem}
  .section-heading{display:block;margin-bottom:34px}
  .section-heading h2{font-size:clamp(2.5rem,9vw,3.5rem)}
  .section-heading>p{margin:20px 0 0;max-width:440px;font-size:.96rem}
  .service-grid{grid-template-columns:1fr 1fr;gap:10px}
  .service-card{min-height:310px;padding:18px 17px}
  .service-copy h3{font-size:clamp(1.48rem,5.5vw,2rem)}
  .service-copy>p:not(.service-kicker){font-size:.84rem}
  .service-include{font-size:.61rem;line-height:1.4}
  .service-top{margin-bottom:22px}
  .service-symbol{width:38px;height:38px;font-size:1.3rem}
  .service-contact{grid-column:1/-1;min-height:235px}
  .services-foot{gap:10px;font-size:.55rem;letter-spacing:.08em}
  .method-heading{display:block;margin-bottom:45px}
  .method-heading h2{font-size:clamp(3rem,11vw,4.3rem)}
  .method-heading>p:last-child{margin:18px 0 0}
  .method-track{grid-template-columns:1fr 1fr;gap:38px 20px}
  .method-track::before{display:none}
  .method-step,.method-step:not(:first-child){padding:0}
  .step-no{right:0}
  .step-icon{width:56px;height:56px;margin-bottom:19px}
  .method-step h3{font-size:1.35rem}
  .method-step>p{min-height:88px;font-size:.84rem}
  .step-result{font-size:.77rem}
  .method-bottom{align-items:flex-start;flex-direction:column;gap:14px;margin-top:44px}
  .faq-grid{grid-template-columns:1fr;gap:38px}
  .faq-heading h2{font-size:clamp(3rem,11vw,4.1rem)}
  .faq-heading>p:not(.eyebrow){margin:17px 0}
  .fq summary{font-size:1rem;padding:18px 0}
  .fq details p{font-size:.9rem}
  .contact-grid{grid-template-columns:1fr;gap:35px}
  .contact-copy h2{font-size:clamp(3.1rem,11vw,4.3rem)}
  .contact-copy>p:not(.eyebrow){margin:18px 0 23px}
  .contact-form{padding:25px 21px 22px;gap:15px}
  .form-title{font-size:1.18rem}
  .form-title span{font-size:.59rem}
  .contact-star{right:6%;top:7%;font-size:2rem}
  .footer-main{flex-wrap:wrap;gap:13px 18px}
  .footer-main>p{font-size:.72rem}
  .footer-up{font-size:.75rem}
  .footer-bottom{flex-direction:column;gap:8px;font-size:.64rem}
  .footer-bottom>span:nth-child(2){text-align:left;order:3}
}
@media(max-width:390px){
  .wrap{width:min(100% - 30px,var(--wrap))}
  .brand{font-size:.78rem}
  .header-cta{padding:9px 12px;font-size:.7rem}
  .hero h1{font-size:3.15rem}
  .hero-actions{align-items:flex-start;flex-direction:column}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:265px}
  .service-contact{grid-column:auto}
  .services-foot{font-size:.48rem}
  .method-track{gap:34px 15px}
  .form-title span{max-width:95px;text-align:right}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js-ready .reveal{opacity:1;transform:none}
}

/* Stile condiviso delle pagine di approfondimento */
.pg{padding-top:78px}
.ph{position:relative;overflow:hidden;padding:68px 0 74px;background:var(--night);color:#fff}
.ph::before{content:"";position:absolute;width:560px;height:560px;right:-70px;top:-275px;border:1px solid rgba(201,191,255,.19);border-radius:50%;box-shadow:0 0 0 44px rgba(201,191,255,.04),0 0 0 95px rgba(201,191,255,.025)}
.ph .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(220px,4fr);gap:50px;align-items:center}
.crumb{margin-bottom:28px;color:#aaa8ca;font-size:.82rem}
.crumb a{color:#d8d6eb;text-decoration:none}
.crumb a:hover{color:var(--lime)}
.ph h1{max-width:780px;margin:0 0 22px;font:700 clamp(2.75rem,5.8vw,5.2rem)/.96 var(--display);letter-spacing:-.055em;color:#fff}
.ph p{max-width:570px;margin:0 0 28px;color:#d2d0e1;font-size:1.12rem}
.ph .btn{background:var(--lime);color:var(--night)}
.vis{position:relative;justify-self:end;display:grid;place-items:center;width:min(100%,320px);aspect-ratio:1;border:1px solid rgba(216,250,105,.34);border-radius:50%;background:radial-gradient(circle,rgba(120,101,230,.38),transparent 68%)}
.vis::before,.vis::after{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.2);border-radius:50%;transform:rotate(-35deg) scaleY(.37)}
.vis::after{inset:1%;transform:rotate(35deg) scaleY(.27);border-color:rgba(255,255,255,.15)}
.vis svg{position:relative;z-index:1;display:block;width:42%;overflow:visible;color:var(--lime)}
.vis svg *{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vis svg .f{fill:currentColor;stroke:none}
.vis .ln{stroke-dasharray:100;animation:draw-line 1.6s ease-out .2s both}
.vis .bl{transform-box:fill-box;transform-origin:left;animation:slide-line .7s cubic-bezier(.2,.7,.2,1) both}
.vis .bl:nth-of-type(2){animation-delay:.15s}.vis .bl:nth-of-type(3){animation-delay:.3s}
.vis .pu{animation:pulse-dot 1.8s ease-in-out 1.8s infinite}
@keyframes draw-line{from{stroke-dashoffset:100}}
@keyframes slide-line{from{transform:scaleX(0)}}
@keyframes pulse-dot{50%{transform:scale(1.7);opacity:.4}}
.vis .bx{transform-box:fill-box;transform-origin:bottom;animation:grow-bar .7s cubic-bezier(.2,.7,.2,1) both}
.vis .bx:nth-of-type(2){animation-delay:.12s}.vis .bx:nth-of-type(3){animation-delay:.24s}
@keyframes grow-bar{from{transform:scaleY(.15)}}
.vis .lz{animation:float-lens 1.1s ease-in-out infinite alternate}
@keyframes float-lens{to{transform:translate(8px,-6px)}}
.vis .mo{animation:soft-shape 1.4s ease-in-out infinite alternate}
@keyframes soft-shape{from{rx:2px}to{rx:26px}}
.pg section{padding:72px 0}
.pg section:nth-of-type(even){background:#efeee8}
.pg h2{margin:0 0 30px;font-size:clamp(2.25rem,4.5vw,3.5rem)}
.pr{max-width:68ch;margin:0 0 18px;color:#656577}
.pr a,.fin a.tx{color:#5f4dd5}
.it{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.it div{position:relative;padding:25px 22px 23px 58px;border:1px solid #e1e0d9;border-radius:15px;background:#faf9f5}
.it div::before{content:"✳";position:absolute;left:21px;top:25px;color:#7765e6;font-size:.95rem}
.it h3{margin:0 0 7px;font:700 1.15rem/1.2 var(--display);letter-spacing:-.02em}
.it p{margin:0;color:#676779;font-size:.93rem}
.fin{position:relative;overflow:hidden;background:#6d5bdd!important;color:#fff}
.fin h2{max-width:19ch}
.fin .big{display:block;margin:0 0 32px;color:var(--lime);font:700 clamp(1.65rem,5.2vw,4rem)/1.1 var(--display);letter-spacing:-.04em;text-decoration:none;word-break:break-word}
.fin .btn{background:var(--lime);color:var(--night)}
@media(max-width:760px){
  .pg{padding-top:119px}
  .ph{padding:43px 0 52px}
  .ph .wrap{grid-template-columns:1fr;gap:22px}
  .crumb{margin-bottom:22px;font-size:.76rem}
  .ph h1{font-size:clamp(2.75rem,11vw,4rem)}
  .ph p{font-size:1rem}
  .vis{justify-self:center;width:min(80%,245px)}
  .pg section{padding:54px 0}
  .pg h2{font-size:2.5rem}
  .it{grid-template-columns:1fr}
}
