:root{--bg:#ffffff;--soft:#f4f2f0;--card:#ffffff;--line:#e3e7ee;--txt:#12161d;--mut:#667085;--acc:#fa6b05;--acc-d:#c85504;--acc-l:#feeadb;--ink:#12161d}
*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,Segoe UI,Arial,sans-serif}
html{scroll-behavior:smooth}
body{color:var(--txt);background:var(--bg);line-height:1.6}
a{color:inherit}
button{font-family:inherit;color:inherit}
h1,h2,h3{line-height:1.12}
/* header */
.nav{display:flex;justify-content:space-between;align-items:center;padding:16px 6%;position:fixed;top:0;left:0;right:0;z-index:50;transition:.3s;background:transparent}
.nav.solid,.page-doc .nav{background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.page-doc .nav{position:sticky}
.nav nav{display:flex;align-items:center;gap:22px}
.nav nav a,.dd-t{text-decoration:none;color:var(--txt);font-size:14px;font-weight:600}
.logo{font-weight:700;text-decoration:none;color:var(--txt);font-size:20px;letter-spacing:-.01em}
.logo span{font-weight:400;color:var(--mut)}
.menu-btn{display:none;background:none;border:0;color:var(--txt);font-size:26px;cursor:pointer}
.dd{position:relative}
.mega{display:none;position:absolute;top:100%;left:-20px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(18,22,29,.10);border-radius:14px;padding:22px;gap:30px;min-width:540px;grid-auto-flow:column}
.mega b{display:block;margin-bottom:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.mega a{display:block;padding:4px 0;font-weight:500}
.mega a:hover{color:var(--acc)}
.dd:hover .mega,.dd:focus-within .mega,.dd.open .mega{display:grid}
.icon-btn,.lang{background:none;border:0;color:var(--txt);cursor:pointer;font-size:14px}
.lang{font-weight:700}
.btn-light{background:var(--acc);color:#fff!important;padding:9px 20px;border-radius:30px;font-weight:700}
.btn-light:hover{background:var(--acc-d)}
.searchbar{display:none;background:#fff;padding:14px 6%;position:fixed;top:60px;left:0;right:0;z-index:49;border-bottom:1px solid var(--line)}
.searchbar.show{display:flex;gap:14px;align-items:center}
.searchbar input{max-width:420px}
/* buttons */
.pill{display:inline-block;background:var(--acc);color:#fff;padding:12px 28px;border-radius:30px;text-decoration:none;font-weight:700;font-size:14px;border:0;cursor:pointer}
.pill:hover{background:var(--acc-d)}
.pill.dark{background:var(--ink);color:#fff}
.pill.dark:hover{background:#2b3240}
.link-btn{margin-top:22px;background:none;border:0;text-decoration:underline;cursor:pointer;font-size:14px;color:var(--mut)}
/* hero */
.intro{position:relative;background:var(--bg)}
.wave-pin{position:sticky;top:0;height:100vh;margin-bottom:-100vh;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 20%,#eeeeff 0%,#fff 70%)}
#wave{position:absolute;inset:0;width:100%;height:100%}
.hero{position:relative;height:200vh;z-index:1}
.hero-stick{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero-in{position:relative;z-index:2;padding:0 6%;will-change:transform,opacity}
.hero h1{font-size:clamp(40px,7vw,84px);font-weight:700;max-width:900px;margin:0 auto 24px;letter-spacing:-.02em;color:var(--ink)}
.chev{display:inline-block;font-size:34px;text-decoration:none;color:var(--mut);animation:bob 2s infinite}
@keyframes bob{50%{transform:translateY(8px)}}
.ask{position:absolute;z-index:3;left:50%;bottom:34px;transform:translateX(-50%);width:min(440px,88%);display:flex;background:rgba(255,255,255,.85);border:1px solid var(--line);box-shadow:0 8px 30px rgba(18,22,29,.08);border-radius:30px;padding:6px;backdrop-filter:blur(6px)}
.ask input{background:none;border:0;color:var(--txt);flex:1;padding:10px 16px;font-size:15px}
.ask button{width:42px;height:42px;border-radius:50%;border:0;background:var(--acc);color:#fff;font-size:20px;cursor:pointer}
/* partner */
.partner{position:relative;z-index:2;padding:110px 6% 90px;text-align:center}
.partner h2{font-size:clamp(28px,4vw,44px);max-width:760px;margin:0 auto 18px}
.partner p{color:var(--mut);max-width:620px;margin:0 auto 28px}
.logo-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:20px 30px;margin:60px auto 0;max-width:1000px;color:#8a94a6;font-weight:700}
.logo-wall .xtra{display:none}
.logo-wall.open .xtra{display:block}
/* services pinned */
.svc{position:relative;background:#0e0e3a;color:#fff}
.svc-pin{height:420vh;position:relative}
.svc-h{font-size:clamp(20px,2.3vw,34px);color:#fff;margin-bottom:18px;max-width:1100px}
.svc-stick{position:sticky;top:0;height:100vh;padding:88px 5% 34px;display:flex;flex-direction:column;overflow:hidden}
.svc-tabs{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#161616;border:2px solid #262626;border-radius:16px;padding:6px;margin-bottom:28px;width:90%}
.svc-slider{position:absolute;z-index:1;left:6px;top:6px;bottom:6px;width:calc((100% - 12px - 24px)/4);background:var(--acc);border-radius:12px;transition:transform .55s cubic-bezier(.65,0,.25,1);pointer-events:none;box-shadow:0 0 30px rgba(250,107,5,.45)}
.svc-tabs button{position:relative;background:transparent;border:0;padding:0;border-radius:12px;font-weight:700;font-size:clamp(13px,1.15vw,18px);cursor:pointer;color:#fff;font-family:inherit;height:clamp(52px,7.4vh,76px)}
.svc-tabs button::before{content:'';position:absolute;inset:0;background:#262626;border-radius:12px;transition:background .25s}
.svc-tabs button:hover::before{background:#333}
.svc-tabs button span{position:relative;z-index:2}
.svc-body{flex:1;position:relative;min-height:0;max-height:660px;overflow:hidden;width:90%}
.svc-track{display:flex;height:100%;transition:transform .7s cubic-bezier(.65,0,.25,1)}
.svc-panel{flex:0 0 100%;display:grid;grid-template-columns:1fr 1.08fr;gap:5%;height:100%;padding-right:20px;box-sizing:border-box}
.svc-text h3{font-size:clamp(32px,4vw,64px);line-height:1.05;margin-bottom:24px;color:#fff;letter-spacing:-.02em}
.svc-text p{color:#fff;max-width:520px;margin-bottom:22px;font-size:clamp(15px,1.25vw,19px);line-height:1.5}
.pill-w{background:#fff;color:var(--acc);text-transform:uppercase;font-weight:600;letter-spacing:.01em;box-shadow:0 0 40px rgba(255,255,255,.12)}
.pill-w:hover{background:#e8e8ff;color:var(--acc)}
.hl{margin-top:26px;border:1px solid #2c2c2c;background:transparent;border-radius:6px;padding:20px 28px;max-width:620px}
.hl b{display:block;margin-bottom:10px;font-size:19px;color:#fff}
.hl div{display:flex;gap:14px;font-size:clamp(14px,1.1vw,17px);padding:7px 0;align-items:baseline;flex-wrap:wrap}
.hl span{color:#fff}
.hl a{color:#ff9a4d;text-decoration:underline;font-weight:500}
.hl a i{font-style:normal;margin-left:4px;text-decoration:none;display:inline-block}
.hl a:hover{color:#ffc499}
.svc-vis{border:6px solid #3a3a3a;border-radius:18px;max-height:640px;background:radial-gradient(ellipse at 50% 100%,rgba(250,107,5,.35),transparent 60%),#0e0e3a;position:relative;overflow:hidden;margin-top:8px}
.svc-3d{position:absolute;inset:0}
.svc-cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.svc-ask{position:absolute;z-index:3;left:37%;bottom:7%;width:34%;display:flex;align-items:center;background:rgba(22,24,30,.92);border:1px solid #2b2e38;border-radius:60px;padding:6px 6px 6px 28px;backdrop-filter:blur(8px)}
.svc-ask input{flex:1;background:none;border:0;outline:0;color:#fff;font-size:clamp(15px,1.4vw,22px);padding:14px 0;font-family:inherit}
.svc-ask input::placeholder{color:#8b8f9a}
.svc-ask button{width:58px;height:58px;border-radius:50%;border:0;background:var(--acc);color:#fff;font-size:26px;cursor:pointer;flex:none}
/* shared */
.row-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}
.row-h h2,.strength h2,.insights h2{font-size:clamp(28px,4vw,44px)}
.arrows{display:flex;gap:10px}
.arrows button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px;cursor:pointer}
.arrows button.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.ph{border-radius:12px;height:150px;display:flex;align-items:center;justify-content:center;color:#44506a;font-weight:600}
.g1{background:linear-gradient(135deg,#dedeff,#f4f6f9)}
.g2{background:linear-gradient(135deg,#e4e8ef,#f8f9fb)}
.g3{background:linear-gradient(135deg,#d9d9fb,#f1f1fb)}
.g4{background:linear-gradient(135deg,#e8ecf2,#f5f7fa)}
/* expertise */
.expert{padding:100px 6%}
.expert-grid{display:grid;grid-template-columns:230px 1fr;gap:26px;align-items:start}
.vtabs{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.vtabs button{text-align:left;padding:16px 18px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:700;cursor:pointer}
.vtabs button.active{background:var(--acc);color:#fff;border-color:var(--acc)}
.note{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:18px;font-size:14px}
.note p{color:var(--mut);margin:6px 0 10px}
.note a{color:var(--acc);text-decoration:none;font-weight:700}
.car{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px}
.car::-webkit-scrollbar{display:none}
.xcard{flex:0 0 290px;scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}
.xcard h3{margin:14px 0 6px;font-size:20px}
.xcard p{font-size:14px;color:var(--mut);margin-bottom:12px}
.xcard a{font-weight:700;text-decoration:none;font-size:14px;color:var(--acc)}
.xcard.hide{display:none}
/* testimonials */
.testi{padding:90px 6%;background:var(--soft)}
.t-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.t-track::-webkit-scrollbar{display:none}
.tcard{flex:0 0 min(520px,86%);scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;min-height:330px;display:flex;flex-direction:column}
.tlogo{color:var(--mut);font-weight:700;margin-bottom:auto;padding-bottom:30px}
.q{font-size:54px;line-height:.6;color:var(--acc);font-family:Georgia,serif}
.tcard p{margin:12px 0 18px}
.tcard small{color:var(--mut)}
/* strength */
.strength{padding:90px 6%}
.bento{display:grid;grid-template-columns:1.1fr 1.6fr 1.1fr;grid-template-areas:"intro photo eco" "quote photo spot" "tech tech tech";gap:16px;margin:30px 0}
.b{border-radius:16px;padding:24px;border:1px solid var(--line);background:var(--card)}
.b-intro{grid-area:intro;background:var(--acc);color:#fff;font-weight:700;font-size:20px;border-color:var(--acc)}
.b-photo{grid-area:photo;padding:0;overflow:hidden}
.b-photo .ph{height:100%;min-height:340px;border-radius:0}
.b-eco{grid-area:eco;background:var(--soft)}
.b-eco a{color:var(--acc);font-weight:700;text-decoration:none;display:block;margin-top:10px}
.b-quote{grid-area:quote}
.b-spot{grid-area:spot;background:var(--ink);color:#fff;border-color:var(--ink)}
.b-spot small{display:block;margin-bottom:10px;font-weight:600;color:#c5cbd6}
.b-spot a{display:flex;justify-content:space-between;text-decoration:none;font-weight:700;padding:8px 0;border-top:1px solid rgba(255,255,255,.18)}
.b-tech{grid-area:tech;display:flex;gap:12px;flex-wrap:wrap;align-items:center;background:var(--soft)}
.b-tech small{color:var(--mut);margin-right:10px}
.b-tech span{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 14px;font-weight:600;font-size:14px}
.who{display:flex;gap:12px;align-items:center;margin-top:18px}
.av{width:44px;height:44px;border-radius:50%;background:#d5dbe6;display:inline-block}
.who small{display:block;color:var(--mut)}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:40px}
.stat-row b,.stat-row em{font-size:clamp(36px,5vw,58px);font-style:normal;font-weight:700}
.stat-row em{color:var(--acc)}
.stat-row span{display:block;color:var(--mut);font-size:14px}
/* contact */
.contact{display:grid;grid-template-columns:1fr 1.2fr;min-height:640px}
.c-left{background:var(--acc);color:#fff;padding:90px 6%}
.c-left h2{font-size:clamp(28px,4vw,44px);margin-bottom:26px}
.c-left li{list-style:none;padding:6px 0 6px 28px;position:relative;font-weight:600}
.c-left li:before{content:"\2713";position:absolute;left:0}
.c-left .who small{color:#d0d0ff}
.c-left .av{background:rgba(255,255,255,.3)}
.c-right{background:var(--soft);color:var(--txt);padding:70px 6%}
.c-right h3{color:var(--acc);margin-bottom:20px}
.c-right form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:640px}
.c-right .full{grid-column:1/-1}
.c-right input,.c-right textarea,.c-right select{background:#fff;border:1px solid var(--line);color:var(--txt)}
.chk{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--mut)}
.chk input{width:auto}
.phone-row{display:grid;grid-template-columns:100px 1fr;gap:8px}
input,textarea,select{padding:13px;border:1px solid var(--line);border-radius:8px;font-size:15px;width:100%;background:#fff;color:var(--txt)}
input:focus,textarea:focus,select:focus{outline:2px solid var(--acc-l);border-color:var(--acc)}
/* insights */
.insights{padding:90px 6%}
.icards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:30px}
.icards a{text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:block}
.icards b{display:block;margin:14px 0 4px;font-size:18px}
.icards p{color:var(--mut);font-size:14px}
.icards a:hover{border-color:var(--acc);box-shadow:0 10px 26px rgba(250,107,5,.12)}
/* promo + chat */
.promo{position:fixed;right:20px;bottom:20px;width:300px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(18,22,29,.15);border-radius:14px;padding:18px;z-index:60}
.promo.hide{display:none}
.promo button{position:absolute;right:10px;top:6px;background:none;border:0;font-size:22px;cursor:pointer;color:var(--mut)}
.promo small{color:var(--acc);font-weight:700}
.promo h4{margin:6px 0}
.promo p{color:var(--mut);font-size:14px;margin-bottom:12px}
/* footer */
.footer{padding:60px 6% 30px;background:var(--soft);color:var(--txt);border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:26px;margin-bottom:34px}
.footer a{display:block;color:var(--mut);text-decoration:none;margin-top:8px;font-size:14px}
.footer a:hover{color:var(--acc)}
.footer p{color:var(--mut);margin-top:8px;font-size:13px;word-break:break-all}
.newsletter{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 30px;border-top:1px solid var(--line);padding-top:26px;max-width:none}
.newsletter input{max-width:300px}
.newsletter .btn-light{margin:0;border:0;cursor:pointer}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:20px}
.footer-bottom a{display:inline;margin:0 10px 0 0}
.footer small{color:var(--mut)}
#toTop{position:fixed;left:20px;bottom:20px;width:44px;height:44px;border-radius:50%;border:0;background:var(--acc);color:#fff;font-size:20px;cursor:pointer;display:none;z-index:60}
#toTop.show{display:block}
/* doc pages */
.doc{max-width:860px;margin:0 auto;padding:100px 6%}
.doc h1{font-size:42px;margin-bottom:10px}
.doc h2{font-size:22px;margin-top:28px}
.doc p{margin-top:8px;color:#3b4350}
.center{text-align:center}
.center .pill{margin-top:24px}
.reveal{opacity:0;transform:translateY(20px);transition:.7s}
.reveal.show{opacity:1;transform:none}
@media(max-width:900px){
  .menu-btn{display:block}
  .nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px 6%;flex-direction:column;align-items:flex-start;gap:14px}
  .menu-open .nav nav{display:flex}
  .mega{position:static;min-width:0;grid-auto-flow:row;border:0;box-shadow:none;padding:8px 0 0 12px}
  .dd:hover .mega{display:none}
  .dd.open .mega{display:grid}
  .logo-wall{grid-template-columns:repeat(2,1fr)}
  .svc-pin{height:auto}
  .svc-stick{position:static;height:auto;padding:30px 5% 40px}
  .svc-tabs{grid-template-columns:1fr 1fr;width:100%}
  .svc-slider{display:none}
  .svc-tabs button.active::before{background:var(--acc)}
  .svc-body{width:100%;overflow:visible}
  .svc-track{display:block;transform:none!important}
  .svc-panel{display:none;grid-template-columns:1fr;padding:0}
  .svc-panel.active{display:grid}
  .svc-vis{height:300px;border-bottom:6px solid #3a3a3a;border-radius:18px}
  .svc-ask{position:static;width:100%;margin-top:22px}
  .expert-grid{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr;grid-template-areas:"intro" "photo" "eco" "quote" "spot" "tech"}
  .contact{grid-template-columns:1fr}
  .c-right form{grid-template-columns:1fr}
  .promo{display:none}
}
