:root{
  /* brand accents — constant across both themes */
  --navy:#0d1520; --navy-soft:#16212f; --line-dark:#2a3648; --cream:#f6f2e9;
  --gold:#b9862c; --gold-bright:#d9a24a; --blue:#2f6fed; --teal:#1f6f5c;
  --mono:'SF Mono','Courier New',ui-monospace,monospace;
  --serif:'Iowan Old Style','Palatino Linotype',Georgia,serif;
  --sans:-apple-system,'Segoe UI','Inter',system-ui,sans-serif;

  /* light theme (default) */
  --paper:#faf7f1; --paper-dim:#f0ebe0; --surface:#ffffff;
  --ink:#161b22; --ink-soft:#5b6472; --line:#e2dccd;
  --dot:rgba(13,21,32,.05);
  --shadow:rgba(13,21,32,.35);
}
html[data-theme="dark"]{
  --paper:#0b0d11; --paper-dim:#12151b; --surface:#171b22;
  --ink:#eef1f4; --ink-soft:#98a2b0; --line:rgba(255,255,255,.09);
  --gold-bright:#e8b563;
  --dot:rgba(255,255,255,.05);
  --shadow:rgba(0,0,0,.55);
}
html{background:var(--paper);transition:background .25s ease}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;font-size:16px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;color:var(--ink)}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 28px}
::selection{background:var(--gold);color:#fff}
svg{display:block}
.ic{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ic svg{width:1em;height:1em}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}

/* ---------- TOP BAR ---------- */
.topbar{background:var(--navy);color:#c8cfd8;font-size:13.5px}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding:9px 28px}
.topbar .contacts{display:flex;gap:26px;align-items:center}
.topbar .contacts a:hover{color:var(--gold-bright)}
.topbar .socials{display:flex;gap:14px}
.topbar .socials a{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;color:#c8cfd8;transition:all .2s ease}
.topbar .socials a:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--navy)}

/* ---------- NAV ---------- */
header.mainnav{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}
nav.mainnav-in{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1100px;margin:0 auto}
.brand{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--ink)}
.brand em{font-style:normal;color:var(--gold)}
.navlinks{display:flex;gap:34px;font-size:14.5px;align-items:center}
.navlinks>a,.nav-item>a{color:var(--ink-soft);position:relative;padding:8px 0;display:inline-flex;align-items:center;gap:5px}
.navlinks>a::after,.nav-item>a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;background:var(--gold);transition:width .25s ease}
.navlinks>a:hover,.nav-item>a:hover{color:var(--ink)}
.navlinks>a:hover::after,.nav-item>a:hover::after{width:100%}
.navcta{background:var(--gold-bright);color:var(--navy);padding:10px 22px;border-radius:3px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .2s ease}
.navcta:hover{background:var(--gold);color:#fff}
.menu-btn{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:4px;background:var(--surface);cursor:pointer;align-items:center;justify-content:center;font-size:22px;color:var(--ink)}

/* dropdown */
.nav-item{position:relative}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:14px;width:250px;opacity:0;visibility:hidden;transition:opacity .2s ease;z-index:60}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible}
.dd-box{background:var(--navy);border-radius:6px;box-shadow:0 24px 48px -16px rgba(13,21,32,.4)}
.dd-box a{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-size:14px;color:#c8cfd8;border-bottom:1px solid rgba(255,255,255,.08);transition:background .2s ease,color .2s ease}
.dd-box>a:first-child{border-radius:6px 6px 0 0}
.dd-box>*:last-child>a,.dd-box>a:last-child{border-bottom:none}
.dd-box a:hover{background:var(--gold);color:#fff}
.dd-has-sub{position:relative}
.dd-sub{position:absolute;left:100%;top:0;width:210px;background:var(--navy);border-radius:6px;box-shadow:0 24px 48px -16px rgba(13,21,32,.4);opacity:0;visibility:hidden;transition:opacity .2s ease}
.dd-has-sub:hover .dd-sub,.dd-has-sub:focus-within .dd-sub{opacity:1;visibility:visible}
.dd-sub a:first-child{border-radius:6px 6px 0 0}
.dd-sub a:last-child{border-bottom:none;border-radius:0 0 6px 6px}

/* mobile menu */
.mobile-menu{display:none;background:var(--surface);border-top:1px solid var(--line);padding:8px 28px 22px;max-height:calc(100vh - 70px);overflow-y:auto}
.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink)}
.mobile-menu .mm-label{display:block;padding:14px 0 4px;font-size:12.5px;color:var(--gold);font-weight:600;letter-spacing:.6px}
.mobile-menu a.mm-sub{padding-left:16px;color:var(--ink-soft);font-size:14.5px}
.mobile-menu a.mm-sub2{padding-left:32px;color:var(--ink-soft);font-size:14px}
.mobile-menu .navcta{display:block;text-align:center;color:var(--navy);margin-top:18px;border-bottom:none}
header.mainnav.open .mobile-menu{display:block}

/* ---------- HOME HERO SLIDER ---------- */
.slider{position:relative;overflow:hidden;height:560px;background:var(--navy)}
.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .8s ease;padding:0 28px}
.slide.active{opacity:1;visibility:visible;z-index:2}
.slide-bg{position:absolute;inset:0;z-index:0}
.slide-bg::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 85%);mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.slide-inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.slide .kicker{font-family:var(--mono);font-size:12.5px;letter-spacing:1.5px;color:var(--gold-bright);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.slide .kicker::before{content:"";width:24px;height:1px;background:var(--gold-bright)}
.slide h1{font-size:44px;color:var(--cream);max-width:520px}
.slide p{font-size:16.5px;color:#9aa5b1;max-width:460px;margin-top:20px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:3px;font-weight:600;font-size:14.5px;transition:transform .2s ease,background .2s ease,color .2s ease;cursor:pointer;border:1px solid transparent}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold-bright);color:var(--navy)}
.btn-line{border-color:rgba(255,255,255,.3);color:var(--cream)}
.btn-line:hover{background:rgba(255,255,255,.08)}
.btn-dark{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.btn-dark:hover{border-color:var(--gold)}
.slide .btn{margin-top:30px}
.slide-art{display:flex;align-items:center;justify-content:center;position:relative;height:340px}
.art-badge{position:absolute;bottom:6px;font-family:var(--mono);font-size:10.5px;color:#9aa5b1;letter-spacing:.5px}
.phone{width:150px;height:280px;border:2px solid #cfd6de;border-radius:20px;position:relative;background:linear-gradient(160deg,#1b2532,#0d1520);box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.phone::before{content:"";position:absolute;top:14px;left:50%;transform:translateX(-50%);width:40px;height:4px;background:#cfd6de;border-radius:2px;opacity:.6}
.phone-screen{position:absolute;top:32px;left:10px;right:10px;bottom:32px;border:1px solid var(--line-dark);border-radius:8px;overflow:hidden;background:var(--navy-soft)}
.phone-screen .bar{height:14px;background:var(--teal);opacity:.85}
.phone-screen .row{height:8px;margin:12px 12px 0;background:var(--line-dark);border-radius:2px}
.phone-screen .row.short{width:50%}
.browser{width:100%;max-width:380px;border:1px solid var(--line-dark);border-radius:8px;overflow:hidden;background:var(--navy-soft);box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.browser .bar{display:flex;align-items:center;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line-dark);background:#111a26}
.browser .bar span{width:8px;height:8px;border-radius:50%;background:#3a4759}
.browser .bar span.r{background:#d98a7a}.browser .bar span.y{background:var(--gold-bright)}.browser .bar span.g{background:var(--teal)}
.browser .bar .url{margin-left:10px;font-family:var(--mono);font-size:11px;color:#9aa5b1;background:#0d1520;padding:3px 10px;border-radius:10px;border:1px solid var(--line-dark);width:auto;height:auto}
.browser .body{padding:22px}
.browser .hero-block{height:56px;border-radius:6px;margin-bottom:14px;background:linear-gradient(120deg,var(--gold),var(--gold-bright))}
.browser .line{height:8px;background:var(--line-dark);border-radius:2px;margin-bottom:9px}
.browser .line.w60{width:60%}.browser .line.w40{width:40%}
.ads-art{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:380px}
.ad-card{background:var(--navy-soft);border:1px solid var(--line-dark);border-radius:8px;padding:16px 18px}
.ad-card .plat{font-family:var(--mono);font-size:11px;color:var(--gold-bright);margin-bottom:10px;letter-spacing:.5px}
.ad-card .line{height:7px;background:var(--line-dark);border-radius:2px;margin-bottom:8px}
.ad-card .line.w70{width:70%}.ad-card .line.w50{width:50%}
.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:background .2s ease;font-size:18px}
.arrow:hover{background:rgba(255,255,255,.18)}
.arrow.prev{left:24px}.arrow.next{right:24px}
.dots{position:absolute;bottom:22px;left:0;right:0;z-index:5;display:flex;justify-content:center;gap:10px}
.dots button{width:9px;height:9px;border-radius:50%;border:1px solid var(--gold-bright);background:transparent;cursor:pointer;padding:0}
.dots button.active{background:var(--gold-bright)}

/* ---------- WHY US ---------- */
.whyus{padding:90px 0;background:var(--paper-dim);position:relative;overflow:hidden}
.whyus::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--dot) 1.5px,transparent 1.5px);background-size:22px 22px}
.whyus .wrap{position:relative;z-index:1}
.whyus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.why-item{text-align:center}
.why-icon{width:86px;height:86px;border-radius:50%;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:34px;box-shadow:0 16px 30px -14px rgba(13,21,32,.35)}
.why-item h3{font-size:19px;color:var(--ink);margin-bottom:12px}
.why-item p{font-size:14px;color:var(--ink-soft);line-height:1.65}

/* ---------- HOME SERVICES ---------- */
.services-grid-section{padding:90px 0;background:var(--surface)}
.section-title{text-align:center;margin-bottom:56px}
.section-title h2{font-family:var(--sans);font-weight:700;font-size:34px;color:var(--ink);text-transform:uppercase;letter-spacing:1px}
.title-line{width:60px;height:3px;background:var(--gold);margin:16px auto 0;border-radius:2px}
.section-title p{max-width:560px;margin:18px auto 0;color:var(--ink-soft)}
.services-cards{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.service-card{background:var(--surface);color:var(--ink);padding:44px 30px;text-align:center;border-right:1px solid var(--line);transition:background .25s ease,color .25s ease;display:block}
.service-card:last-child{border-right:none}
.service-card:hover{background:var(--accent);color:#fff}
.card-icon{width:74px;height:74px;border-radius:50%;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;background:var(--paper-dim);color:var(--accent);font-size:30px;transition:background .25s ease,color .25s ease}
.service-card:hover .card-icon{background:rgba(255,255,255,.18);color:#fff}
.service-card h3{font-size:19px;margin-bottom:12px}
.service-card:hover h3{color:#fff}
.service-card p{font-size:14px;color:var(--ink-soft);line-height:1.65;min-height:92px;transition:color .25s ease}
.service-card:hover p{color:rgba(255,255,255,.88)}
.card-link{display:inline-block;margin-top:18px;font-size:13px;font-weight:600;color:var(--accent);border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .25s ease}
.service-card:hover .card-link{color:#fff}
.dm-strip{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;font-size:14px;color:var(--ink-soft)}
.dm-strip a{padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);transition:all .2s ease}
.dm-strip a:hover{background:var(--gold);color:#fff;border-color:var(--gold)}

/* ---------- SERVICE PAGES ---------- */
.page-hero{background:var(--navy);position:relative;overflow:hidden;padding:72px 0 80px}
.page-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 90%);mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.page-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:#9aa5b1;margin-bottom:22px}
.crumbs a:hover{color:var(--gold-bright)}
.crumbs span.sep{opacity:.5}
.crumbs .here{color:var(--gold-bright)}
.page-hero h1{font-size:44px;color:var(--cream);max-width:560px}
.page-hero .lead{font-size:17px;color:#9aa5b1;max-width:520px;margin-top:20px;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.glance{background:var(--navy-soft);border:1px solid var(--line-dark);border-radius:10px;padding:32px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.glance h2{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.8px;color:var(--gold-bright);margin-bottom:18px}
.glance li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-dark);color:#c8cfd8;font-size:15px}
.glance li:last-child{border-bottom:none;padding-bottom:0}
.glance li .ic{color:var(--gold-bright);margin-top:3px;font-size:16px}

.sec{padding:88px 0}
.sec.alt{background:var(--paper-dim)}
.sec.white{background:var(--surface)}
.sec-head{max-width:660px;margin-bottom:48px}
.sec-head h2{font-size:34px}
.sec-head p{margin-top:14px;color:var(--ink-soft);font-size:16.5px;line-height:1.7}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:30px;transition:border-color .2s ease}
.sec.white .card,.sec.alt .card{background:var(--surface)}
.card:hover{border-color:var(--gold)}
a.card{display:block;color:inherit;text-decoration:none}
.card .ico{width:50px;height:50px;border-radius:10px;background:var(--paper-dim);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:20px}
.card h3{font-size:19px;margin-bottom:10px}
.card p{font-size:14.5px;color:var(--ink-soft);line-height:1.7}

.steps{display:grid;grid-template-columns:repeat(var(--n,5),1fr);gap:0}
.step{position:relative;padding-right:22px}
.step .n{width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--gold-bright);font-family:var(--mono);font-size:14px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.step::before{content:"";position:absolute;top:20px;left:40px;right:0;height:1px;background:var(--line)}
.step:last-child::before{display:none}
.step h3{font-size:17px;margin:18px 0 8px}
.step p{font-size:14px;color:var(--ink-soft);line-height:1.65}

.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.split h2{font-size:32px;margin-bottom:16px}
.split>div>p{color:var(--ink-soft);line-height:1.75;margin-bottom:22px}
.ticks li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-soft)}
.ticks li:first-child{padding-top:0}
.ticks li .ic{color:var(--teal);margin-top:4px;font-size:16px}
.ticks li b{color:var(--ink);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:8px 16px;border:1px solid var(--line);background:var(--surface);border-radius:999px;font-size:14px;color:var(--ink)}
.chip-title{font-size:13px;font-weight:600;color:var(--ink-soft);margin:26px 0 12px}
.chip-title:first-child{margin-top:0}

.sub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.subcard{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:32px;position:relative;overflow:hidden;display:block;transition:transform .2s ease,border-color .2s ease}
.subcard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--c,var(--gold))}
.subcard:hover{transform:translateY(-3px);border-color:var(--c,var(--gold))}
.subcard .ico{width:50px;height:50px;border-radius:10px;background:var(--paper-dim);color:var(--c,var(--gold));display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:20px}
.subcard h3{font-size:21px;margin-bottom:10px}
.subcard p{font-size:14.5px;color:var(--ink-soft);line-height:1.7}
.subcard .more{display:inline-block;margin-top:18px;font-size:13.5px;font-weight:600;color:var(--c,var(--gold));border-bottom:1px solid currentColor;padding-bottom:2px}

.related{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.related a{padding:10px 20px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:14.5px;transition:all .2s ease}
.related a:hover{background:var(--gold);color:#fff;border-color:var(--gold)}

.faq{max-width:780px}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:19px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-size:24px;color:var(--gold);line-height:1;transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:12px;color:var(--ink-soft);line-height:1.75;font-size:15.5px}

/* ---------- CTA / CONTACT ---------- */
.cta-band{background:var(--navy);text-align:center;padding:96px 0;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 700px 400px at 50% 0%,rgba(217,162,74,.14),transparent 65%)}
.cta-band .wrap{position:relative;z-index:1}
.cta-band h2{font-size:36px;color:var(--cream);margin-bottom:16px}
.cta-band p{color:#9aa5b1;font-size:16.5px;margin:0 auto 34px;max-width:540px}
.cta-band .hero-actions{justify-content:center;margin-top:0}

/* ---------- FOOTER ---------- */
.site-footer{position:relative;background:var(--navy);color:#c8cfd8;overflow:hidden;border-top:1px solid var(--line-dark)}
.site-footer::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(217,162,74,.28) 1.6px,transparent 1.7px);background-size:14px 14px;-webkit-mask-image:radial-gradient(ellipse 65% 90% at 72% 55%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 65% 90% at 72% 55%,#000 0%,transparent 75%);pointer-events:none}
.footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr 1fr 1.15fr 1fr;gap:48px;padding:80px 28px 64px}
.f-brand{font-family:var(--serif);font-size:28px;font-weight:700;color:var(--cream);margin-bottom:6px}
.f-brand em{font-style:normal;color:var(--gold-bright)}
.f-tag{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--gold-bright);margin-bottom:22px}
.f-about{font-size:14.5px;line-height:1.85;color:#9aa5b1;max-width:340px}
.f-title{font-family:var(--sans);font-size:16px;font-weight:600;color:var(--cream);letter-spacing:.8px;text-transform:uppercase;padding-bottom:16px;position:relative;border-bottom:1px solid var(--line-dark);margin-bottom:26px}
.f-title::after{content:"";position:absolute;left:0;bottom:-1px;width:56px;height:3px;background:var(--gold-bright);border-radius:2px}
.f-title.second{margin-top:44px}
.f-links li{margin-bottom:14px}
.f-links a{display:flex;align-items:center;gap:10px;font-size:14.5px;color:#9aa5b1;transition:color .2s ease,transform .2s ease}
.f-links a::before{content:"›";color:var(--gold-bright);font-size:18px;line-height:1}
.f-links a:hover{color:var(--gold-bright);transform:translateX(3px)}
.f-links a.indent{padding-left:18px;font-size:14px}
.f-contact li{display:flex;gap:14px;margin-bottom:22px;font-size:14.5px;color:#9aa5b1;line-height:1.65}
.f-contact .ic{color:var(--gold-bright);margin-top:3px;font-size:18px}
.f-contact b{display:block;color:var(--cream);font-weight:600}
.f-contact a:hover{color:var(--gold-bright)}
.f-socials{display:flex;gap:12px}
.f-socials a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;color:#c8cfd8;font-size:16px;transition:all .2s ease}
.f-socials a:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--navy)}
.f-bottom{position:relative;z-index:1;border-top:1px solid var(--line-dark);text-align:center;padding:24px 28px;font-size:12.5px;color:#7d8794;font-family:var(--mono);letter-spacing:.5px}

.whatsapp-fab{position:fixed;bottom:26px;left:26px;z-index:40;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px -8px rgba(0,0,0,.4);transition:transform .2s ease}
.whatsapp-fab:hover{transform:scale(1.08)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1000px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:48px 36px}
  .cards{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;gap:36px 20px}
  .step::before{display:none}
  .services-cards{grid-template-columns:1fr 1fr}
  .service-card{border-bottom:1px solid var(--line)}
  .service-card:nth-child(2),.service-card:nth-child(4){border-right:none}
  .service-card:nth-child(3),.service-card:nth-child(4){border-bottom:none}
}
@media (max-width:900px){
  .navlinks,.mainnav-in>.navcta{display:none}
  .menu-btn{display:inline-flex}
  .page-hero .wrap{grid-template-columns:1fr;gap:40px}
  .split{grid-template-columns:1fr;gap:40px}
}
@media (max-width:760px){
  .topbar .contacts a:nth-child(2){display:none}
  .slider{height:auto;padding:60px 0}
  .slide{position:relative;height:0;overflow:hidden;padding:0}
  .slide.active{height:auto}
  .slide-inner{grid-template-columns:1fr;padding:0 28px}
  .slide h1{font-size:32px}
  .slide-art{height:300px;margin-top:24px}
  .arrow{width:38px;height:38px}
  .whyus-grid{grid-template-columns:1fr 1fr;gap:36px 20px}
  .services-cards{grid-template-columns:1fr}
  .service-card{border-right:none;border-bottom:1px solid var(--line)}
  .service-card:last-child{border-bottom:none}
  .service-card p{min-height:0}
  .page-hero{padding:52px 0 60px}
  .page-hero h1{font-size:34px}
  .sec{padding:64px 0}
  .sec-head h2,.split h2{font-size:28px}
  .cards,.sub-grid{grid-template-columns:1fr}
  .cta-band h2{font-size:29px}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr;padding:60px 28px 44px}
  .steps{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}

/* ---------- OUR EXPERTS ---------- */
.services-grid-section{padding-bottom:40px}
/* ---------- TESTIMONIALS ---------- */
.testimonials-section{padding:60px 0;background:var(--paper-dim)}
.testi-panel{background:var(--surface);border-radius:32px;padding:56px 0 50px;box-shadow:0 20px 44px -18px rgba(13,21,32,.28);overflow:hidden}
.testi-head{text-align:center;max-width:640px;margin:0 auto 46px;padding:0 40px}
.testi-head h2{font-family:var(--sans);font-weight:700;font-size:clamp(26px,3.6vw,36px);color:var(--ink);letter-spacing:.2px}
.testi-kicker{font-size:13px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);margin-top:16px}
.testi-head p{margin-top:12px;color:var(--ink-soft);font-size:15px}
.testi-track-outer{overflow:hidden}
.testi-track{display:flex;gap:22px;width:max-content;animation:testiScroll 50s linear infinite}
.testi-track-outer:hover .testi-track{animation-play-state:paused}
.testi-card{flex:0 0 320px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px 26px 24px;box-shadow:0 14px 28px -16px rgba(13,21,32,.3)}
.testi-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.testi-avatar-c{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-weight:700;font-size:17px;flex-shrink:0}
.testi-top h4{font-size:15.5px;color:var(--ink);margin-bottom:2px}
.testi-verified{font-size:12.5px;color:#1f9d55;font-weight:600}
.testi-card .testi-stars{color:var(--gold-bright);font-size:13px;letter-spacing:2px;margin-bottom:10px}
.testi-card .testi-quote{font-family:var(--sans);font-size:14.5px;line-height:1.55;color:var(--ink-soft)}
@keyframes testiScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.testi-track{animation:none}}
@media (max-width:640px){.testi-card{flex-basis:270px}.testi-panel{border-radius:22px;padding:44px 0 40px}.testi-head{padding:0 24px}}

.experts-section{padding:40px 0 90px;background:var(--surface)}
.experts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:960px;margin:0 auto}
.expert-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:48px 24px 30px;text-align:center;border-bottom:4px solid var(--gold-bright);box-shadow:0 18px 36px -18px rgba(13,21,32,.25);transition:transform .25s ease,box-shadow .25s ease}
.expert-card:hover{transform:translateY(-4px);box-shadow:0 24px 44px -16px rgba(13,21,32,.32)}
.expert-photo{width:170px;height:170px;margin:0 auto 26px;border-radius:50%;border:3px solid var(--navy);background:var(--paper-dim);overflow:hidden}
.expert-photo svg{width:100%;height:100%;display:block;fill:#c8c2ae}
.expert-photo img{width:100%;height:100%;object-fit:cover;display:block}
.expert-card h3{font-size:24px;margin-bottom:8px}
.expert-role{color:var(--gold);font-weight:600;font-size:17px;margin-bottom:8px}
.expert-co{color:var(--ink-soft);font-size:15px}
@media (max-width:900px){.experts-grid{grid-template-columns:1fr;gap:28px;max-width:380px}}

/* ---------- HEADER: active link ---------- */
.navlinks>a.active{color:var(--ink)}
.navlinks>a.active::after{width:100%}
.mobile-menu a.active{color:var(--gold);font-weight:600}

/* ---------- INNER PAGE BANNER ---------- */
.banner{background:var(--navy);position:relative;overflow:hidden;padding:76px 0 84px;text-align:center}
.banner::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px}
.banner::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 700px 320px at 50% 0%,rgba(217,162,74,.16),transparent 70%)}
.banner .wrap{position:relative;z-index:1}
.banner h1{font-size:46px;color:var(--cream)}
.banner .lead{max-width:600px;margin:18px auto 0;color:#9aa5b1;font-size:17px;line-height:1.7}
.banner .crumbs{justify-content:center;margin:22px 0 0}

/* ---------- CONTACT ---------- */
.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:-56px;position:relative;z-index:2}
.info-card{background:var(--surface);border:1px solid var(--line);border-bottom:4px solid var(--gold-bright);border-radius:10px;padding:34px 26px;text-align:center;box-shadow:0 18px 36px -20px rgba(13,21,32,.3)}
.info-card .ico{width:60px;height:60px;border-radius:50%;background:var(--paper-dim);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 18px}
.info-card h3{font-size:20px;margin-bottom:10px}
.info-card p,.info-card a{font-size:15px;color:var(--ink-soft);line-height:1.7;display:block}
.info-card a:hover{color:var(--gold)}
.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:start}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:42px}
.form-card h2{font-size:30px;margin-bottom:8px}
.form-card>p{color:var(--ink-soft);margin-bottom:28px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{margin-bottom:18px}
.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px;color:var(--ink)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:15px;padding:13px 15px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,134,44,.15);background:var(--surface)}
.form-card .btn{border:none;cursor:pointer;font:inherit;font-weight:600}
.form-note{margin-top:14px;font-size:13.5px;color:var(--ink-soft)}
.side-panel{background:var(--navy);color:#c8cfd8;border-radius:12px;padding:38px 34px;position:relative;overflow:hidden}
.side-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 320px 220px at 100% 0%,rgba(217,162,74,.2),transparent 70%)}
.side-panel>*{position:relative}
.side-panel h3{color:var(--cream);font-size:22px;margin-bottom:20px}
.side-panel li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line-dark);font-size:15px;line-height:1.6}
.side-panel li:last-child{border-bottom:none}
.side-panel li .ic{color:var(--gold-bright);font-size:20px;margin-top:2px}
.side-panel li b{display:block;color:var(--cream);font-weight:600}
.side-panel .btn{margin-top:24px;width:100%;justify-content:center}
.map-box{margin-top:40px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#e9e3d3,#f6f2e9);background-image:linear-gradient(var(--dot) 1px,transparent 1px),linear-gradient(90deg,var(--dot) 1px,transparent 1px);background-size:38px 38px;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px}
.map-box .ic{font-size:44px;color:var(--gold)}
.map-box h3{font-size:22px;margin:10px 0 6px}
.map-box p{color:var(--ink-soft);margin-bottom:20px}

/* ---------- PORTFOLIO ---------- */
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:44px}
.filters button{font:inherit;font-size:14.5px;padding:10px 24px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer;transition:all .2s ease}
.filters button:hover{border-color:var(--gold)}
.filters button.active{background:var(--gold);border-color:var(--gold);color:#fff}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.work-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.work-card:hover{transform:translateY(-5px);box-shadow:0 26px 44px -22px rgba(13,21,32,.35)}
.thumb{height:210px;background:linear-gradient(135deg,var(--a,#16212f),var(--b,#2a3648));position:relative;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.92);font-size:64px;overflow:hidden}
.thumb::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1.5px,transparent 1.5px);background-size:20px 20px}
.thumb .ic{position:relative}
.thumb .over{position:absolute;inset:0;background:rgba(13,21,32,.72);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:#fff;opacity:0;transition:opacity .25s ease}
.work-card:hover .thumb .over{opacity:1}
.work-body{padding:24px 26px 28px}
.tag{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.6px;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.work-body h3{font-size:20px;margin-bottom:8px}
.work-body p{font-size:14.5px;color:var(--ink-soft);line-height:1.7}
.work-body .chips{margin-top:16px;gap:8px}
.work-body .chip{padding:4px 12px;font-size:12.5px;background:var(--paper)}

/* ---------- BLOG ---------- */
.blog-layout{display:grid;grid-template-columns:1fr 330px;gap:44px;align-items:start}
.post-featured{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:32px}
.post-featured .thumb{height:100%;min-height:300px}
.post-featured .work-body{padding:34px;display:flex;flex-direction:column;justify-content:center}
.post-featured h2{font-size:27px;margin-bottom:12px}
.post-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.post-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -22px rgba(13,21,32,.35)}
.post-card .thumb{height:170px;font-size:50px}
.meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--ink-soft);margin:12px 0 0}
.meta span{display:inline-flex;align-items:center;gap:6px}
.read{display:inline-block;margin-top:16px;font-size:14px;font-weight:600;color:var(--gold);border-bottom:1px solid currentColor;padding-bottom:2px}
.side-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px;margin-bottom:24px}
.side-box h3{font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line);position:relative}
.side-box h3::after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:3px;background:var(--gold-bright)}
.side-box input{width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.side-box input:focus{outline:none;border-color:var(--gold)}
.side-list li{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px dashed var(--line);font-size:14.5px;color:var(--ink-soft)}
.side-list li:last-child{border-bottom:none}
.side-list a:hover{color:var(--gold)}
.recent li{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}
.recent li:last-child{border-bottom:none}
.recent .mini{flex:0 0 58px;height:58px;border-radius:8px;background:linear-gradient(135deg,var(--a),var(--b));color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px}
.recent a{font-size:14.5px;font-weight:600;line-height:1.4;display:block}
.recent a:hover{color:var(--gold)}
.recent small{color:var(--ink-soft);font-size:12.5px}
.tagcloud{display:flex;flex-wrap:wrap;gap:8px}
.tagcloud a{padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--ink-soft);transition:all .2s ease}
.tagcloud a:hover{background:var(--gold);color:#fff;border-color:var(--gold)}

/* ---------- ABOUT ---------- */
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px 22px;border-left:4px solid var(--gold-bright)}
.stat b{display:block;font-family:var(--serif);font-size:26px;color:var(--ink);margin-bottom:4px}
.stat span{font-size:14px;color:var(--ink-soft)}
.mvv{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mvv .card{text-align:center;padding:38px 28px}
.mvv .card .ico{margin:0 auto 20px;border-radius:50%;width:64px;height:64px}
.center-head{text-align:center;margin-left:auto;margin-right:auto}

@media (max-width:1000px){
  .work-grid{grid-template-columns:1fr 1fr}
  .blog-layout{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .banner{padding:56px 0 64px}
  .banner h1{font-size:33px}
  .info-cards,.mvv,.work-grid,.post-grid,.post-featured,.f-row,.about-stats{grid-template-columns:1fr}
  .info-cards{margin-top:-40px}
  .form-card{padding:28px 22px}
}
.post-featured .read{align-self:flex-start}

/* ---------- wider multi-level services dropdown ---------- */
.dropdown{width:270px}
.dd-sub{width:280px}
.dd-has-sub:hover>a{background:var(--gold);color:#fff}
.dd-sub{width:320px}.dd-box a{white-space:nowrap}

/* ---------- THEME TOGGLE BUTTON ---------- */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;transition:all .2s ease;margin-left:18px;flex-shrink:0}
.theme-toggle:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--navy)}
.theme-toggle .ic{font-size:17px}
.theme-toggle .i-moon{display:block}
.theme-toggle .i-sun{display:none}
html[data-theme="dark"] .theme-toggle .i-moon{display:none}
html[data-theme="dark"] .theme-toggle .i-sun{display:block}

/* ---------- DARK THEME: image-based visuals that need explicit override ---------- */
html[data-theme="dark"] .map-box{background:linear-gradient(135deg,#14161b,#1a1d23)}
html[data-theme="dark"] .phone-screen{background:var(--navy-soft)}


/* =====================================================================
   3D LAYER — depth, perspective, bevels & shadows only.
   No colours changed: every fill still comes from the original palette.
   ===================================================================== */
:root{--hl:rgba(255,255,255,.7);--sh:rgba(13,21,32,.30);--edge:var(--line)}
html[data-theme="dark"]{--hl:rgba(255,255,255,.07);--sh:rgba(0,0,0,.65);--edge:rgba(255,255,255,.14)}

/* header depth */
header.mainnav{box-shadow:0 1px 0 var(--hl) inset,0 12px 28px -14px var(--sh)}
.topbar{box-shadow:0 6px 16px -8px rgba(0,0,0,.5);position:relative;z-index:51}
.dd-box,.dd-sub{box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 36px 60px -18px rgba(0,0,0,.65)}
.menu-btn,.theme-toggle{box-shadow:0 1px 0 var(--hl) inset,0 4px 8px -3px var(--sh)}

/* buttons: bevelled & pressable (same fill colours) */
.btn,.navcta{border-radius:8px;transition:transform .15s ease,box-shadow .15s ease,background .2s ease,color .2s ease}
.btn-gold,.navcta{box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 4px 0 var(--gold),0 12px 20px -8px rgba(0,0,0,.5)}
.btn-gold:hover,.navcta:hover{box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 6px 0 var(--gold),0 16px 24px -8px rgba(0,0,0,.5)}
.btn-gold:active,.navcta:active{transform:translateY(4px);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 0 0 var(--gold),0 3px 6px -3px rgba(0,0,0,.5)}
.btn-line{box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 4px 0 rgba(0,0,0,.45),0 12px 20px -8px rgba(0,0,0,.5)}
.btn-line:active{transform:translateY(4px);box-shadow:0 1px 0 rgba(255,255,255,.15) inset,0 0 0 rgba(0,0,0,.45)}
.btn-dark{box-shadow:0 1px 0 var(--hl) inset,0 4px 0 var(--edge),0 12px 18px -8px var(--sh)}

/* hero lighting + extruded headings */
.slider,.page-hero,.banner,.cta-band{isolation:isolate}
.slider::after,.page-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 800px 460px at 78% 15%,rgba(255,255,255,.08),transparent 65%)}
.slide h1,.page-hero h1,.banner h1,.cta-band h2{text-shadow:0 1px 0 var(--line-dark),0 2px 0 var(--navy-soft),0 3px 0 rgba(0,0,0,.6),0 16px 28px rgba(0,0,0,.55)}
.arrow{box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 8px 16px -6px rgba(0,0,0,.7)}
.dots button.active{box-shadow:0 0 10px var(--gold-bright)}

/* 3D hero artwork */
.slide-art{perspective:1100px}
.phone{transform:rotateY(-24deg) rotateX(8deg) rotateZ(2deg);transform-style:preserve-3d;box-shadow:-18px 30px 40px -12px rgba(0,0,0,.75),0 0 0 4px rgba(255,255,255,.06),inset 0 0 0 1px rgba(255,255,255,.1);animation:gkFloat 6s ease-in-out infinite}
.phone::after{content:"";position:absolute;inset:0;border-radius:18px;background:linear-gradient(115deg,rgba(255,255,255,.18),transparent 40%);pointer-events:none}
.phone-screen{transform:translateZ(14px)}
.browser{transform:rotateY(-18deg) rotateX(7deg);transform-style:preserve-3d;box-shadow:-24px 34px 50px -16px rgba(0,0,0,.75),0 1px 0 rgba(255,255,255,.1) inset;animation:gkFloat 7s ease-in-out infinite}
.browser .hero-block{box-shadow:0 10px 18px -8px rgba(0,0,0,.6);transform:translateZ(24px)}
.ads-art{transform-style:preserve-3d;transform:rotateY(-16deg) rotateX(8deg)}
.ad-card{box-shadow:0 1px 0 rgba(255,255,255,.08) inset,-10px 18px 26px -10px rgba(0,0,0,.7);animation:gkFloat 6s ease-in-out infinite}
.ad-card:nth-child(2){animation-delay:-1.5s}.ad-card:nth-child(3){animation-delay:-3s}.ad-card:nth-child(4){animation-delay:-4.5s}
@keyframes gkFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes gkSpin{from{transform:rotateX(-25deg) rotateY(0)}to{transform:rotateX(-25deg) rotateY(360deg)}}
@keyframes gkRing{from{transform:rotateX(70deg) rotateZ(0)}to{transform:rotateX(70deg) rotateZ(360deg)}}

/* floating cubes + ring (injected by main.js) — use the existing gold accent tint */
.shapes{position:absolute;inset:0;pointer-events:none;perspective:900px;overflow:hidden;z-index:1}
.cube{position:absolute;width:var(--s);height:var(--s);transform-style:preserve-3d;animation:gkSpin var(--t,20s) linear infinite}
.cube b{position:absolute;inset:0;border:1px solid rgba(217,162,74,.5);background:linear-gradient(135deg,rgba(217,162,74,.2),rgba(217,162,74,.02))}
.cube b:nth-child(1){transform:translateZ(calc(var(--s)/2))}
.cube b:nth-child(2){transform:rotateY(180deg) translateZ(calc(var(--s)/2))}
.cube b:nth-child(3){transform:rotateY(90deg) translateZ(calc(var(--s)/2))}
.cube b:nth-child(4){transform:rotateY(-90deg) translateZ(calc(var(--s)/2))}
.cube b:nth-child(5){transform:rotateX(90deg) translateZ(calc(var(--s)/2))}
.cube b:nth-child(6){transform:rotateX(-90deg) translateZ(calc(var(--s)/2))}
.c1{--s:64px;top:12%;right:6%}.c2{--s:40px;bottom:14%;left:5%;--t:26s}.c3{--s:26px;top:22%;left:44%;--t:15s}
.ring{position:absolute;width:190px;height:190px;border-radius:50%;border:6px solid rgba(217,162,74,.22);box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 0 0 1px rgba(217,162,74,.2);left:-40px;top:8%;animation:gkRing 24s linear infinite}
@media (max-width:760px){.c1,.ring{opacity:.5}.c3{display:none}}

/* raised cards with tilt */
.card,.subcard,.work-card,.post-card,.post-featured,.info-card,.expert-card,.stat,.form-card,.side-box,.map-box,.service-card{
  border-radius:16px;
  box-shadow:0 1px 0 var(--hl) inset,0 -1px 0 rgba(0,0,0,.05) inset,0 2px 3px rgba(0,0,0,.07),0 14px 26px -10px var(--sh),0 36px 60px -30px var(--sh);
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:transform .18s ease-out,box-shadow .3s ease,border-color .2s ease,background .25s ease,color .25s ease;will-change:transform}
.card:hover,.subcard:hover,.work-card:hover,.post-card:hover,.expert-card:hover,.info-card:hover,.stat:hover,.service-card:hover{
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-8px);
  box-shadow:0 1px 0 var(--hl) inset,0 4px 6px rgba(0,0,0,.1),0 26px 40px -12px var(--sh),0 56px 80px -34px var(--sh)}
.expert-card,.info-card{border-bottom-width:5px}
.form-card,.map-box{border-radius:18px}

/* services: separate raised tiles instead of one joined strip */
.services-cards{gap:28px;border:none;border-radius:0;overflow:visible;padding:8px 0 20px}
.service-card,.service-card:last-child,.service-card:nth-child(n){border:1px solid var(--line);border-radius:18px}
.service-card:hover{border-color:var(--accent)}
.service-card{transform-style:preserve-3d}
.service-card .card-icon{transform:translateZ(34px)}
.service-card h3,.service-card p,.service-card .card-link{transform:translateZ(18px)}

/* embossed icons */
.card-icon,.card .ico,.subcard .ico,.info-card .ico{box-shadow:0 1px 0 var(--hl) inset,0 -6px 10px rgba(0,0,0,.10) inset,0 12px 18px -6px var(--sh)}
.why-icon{box-shadow:0 2px 0 rgba(255,255,255,.35) inset,0 -8px 14px rgba(0,0,0,.28) inset,0 20px 28px -10px rgba(13,21,32,.5)}
.why-item{transition:transform .25s ease}.why-item:hover{transform:translateY(-6px)}
.expert-photo{box-shadow:0 14px 24px -8px rgba(0,0,0,.4),inset 0 -10px 18px rgba(0,0,0,.12)}
.step .n{box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 10px 16px -6px rgba(0,0,0,.5)}
.subcard::before{height:4px}

/* chips / pills */
.chip,.related a,.dm-strip a,.tagcloud a,.filters button{box-shadow:0 1px 0 var(--hl) inset,0 3px 0 var(--edge),0 8px 12px -6px var(--sh);transition:transform .15s ease,box-shadow .15s ease,background .2s ease,color .2s ease}
.related a:hover,.dm-strip a:hover,.tagcloud a:hover,.filters button:hover{transform:translateY(-2px)}

/* dark feature panels */
.glance,.side-panel{transform:perspective(1000px) rotateY(-4deg);box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 40px 70px -28px rgba(0,0,0,.75)}
.thumb{box-shadow:0 -14px 24px rgba(0,0,0,.28) inset}
.thumb .ic{filter:drop-shadow(0 12px 12px rgba(0,0,0,.5))}
.recent .mini{box-shadow:0 8px 12px -4px rgba(0,0,0,.45)}

/* inset form fields */
.field input,.field select,.field textarea,.side-box input{box-shadow:inset 0 3px 6px rgba(0,0,0,.10),0 1px 0 var(--hl)}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:inset 0 3px 6px rgba(0,0,0,.06),0 0 0 3px rgba(185,134,44,.15)}

/* footer & fab */
.f-socials a,.topbar .socials a{box-shadow:0 1px 0 rgba(255,255,255,.1) inset,0 4px 8px -3px rgba(0,0,0,.5)}
.whatsapp-fab{box-shadow:0 2px 0 rgba(255,255,255,.35) inset,0 -6px 10px rgba(0,0,0,.2) inset,0 14px 24px -8px rgba(0,0,0,.5)}

@media (max-width:1000px){.service-card,.service-card:nth-child(n){border:1px solid var(--line)}}
@media (max-width:900px){.glance,.side-panel{transform:none}}
@media (prefers-reduced-motion:reduce){.phone,.browser,.ad-card,.cube,.ring{animation:none!important}.card,.subcard,.work-card,.post-card,.expert-card,.info-card,.stat,.service-card{transform:none!important}}


/* =====================================================================
   THEMED HERO SLIDES — Android / Web / Digital Marketing
   ===================================================================== */
.slider .shapes{display:none}
.slide-art{height:380px;perspective:1200px}
.art{position:relative;width:100%;max-width:470px;height:360px;transform-style:preserve-3d}
.slide .art>*{opacity:0}
.slide.active .art>*{animation:artIn .8s ease var(--d,.2s) both,gkFloat 6s ease-in-out calc(var(--d,.2s) + .8s) infinite}
@keyframes artIn{from{opacity:0;scale:.82}to{opacity:1;scale:1}}
@keyframes fadeIn{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
.slide-bg .glyph{position:absolute;font-family:var(--mono);font-size:20px;color:rgba(255,255,255,.11);animation:gkFloat 9s ease-in-out infinite;pointer-events:none;z-index:0}
.slide-bg{overflow:hidden}
.slide .chip{position:absolute}
.slide .chip{padding:8px 15px;border-radius:999px;font-family:var(--mono);font-size:12px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);box-shadow:0 10px 20px -8px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.25) inset}

/* parallelogram arrows */
.arrow{width:74px;height:88px;border-radius:0;border:none;clip-path:polygon(28% 0,100% 0,72% 100%,0 100%);background:var(--cream);color:var(--navy);box-shadow:none;transition:background .2s ease}
.arrow.next{background:var(--gold-bright)}
.arrow:hover{background:#fff}.arrow.prev{left:14px}.arrow.next{right:14px}

/* ---- ANDROID ---- */
.t-android .slide-bg{background:radial-gradient(ellipse 700px 420px at 75% 45%,rgba(61,220,132,.30),transparent 65%),linear-gradient(135deg,#06150f,#0f4a3b 62%,#0a2a22)}
.t-android .kicker{color:#3ddc84}.t-android .kicker::before{background:#3ddc84}
.t-android .btn-gold{background:#3ddc84;color:#062b1c;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 5px 0 #1f9e5c,0 14px 22px -8px rgba(0,0,0,.6)}
.t-android .btn-gold:hover{box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 7px 0 #1f9e5c,0 18px 26px -8px rgba(0,0,0,.6)}
.t-android .btn-gold:active{box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 1px 0 #1f9e5c}
.a-glow{position:absolute;right:0;bottom:20px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(61,220,132,.45),transparent 68%)}
.a-phone{position:absolute;left:36px;top:6px;width:176px;height:332px;border-radius:26px;background:linear-gradient(160deg,#39424c,#0a0d10);border:3px solid #cfd6de;transform:rotateY(-24deg) rotateX(6deg) rotateZ(-2deg);transform-style:preserve-3d;box-shadow:-20px 34px 44px -12px rgba(0,0,0,.8),0 0 0 4px rgba(255,255,255,.06);--d:.2s}
.a-phone::after{content:"";position:absolute;inset:0;border-radius:23px;background:linear-gradient(115deg,rgba(255,255,255,.2),transparent 42%);pointer-events:none}
.a-notch{position:absolute;top:9px;left:50%;width:46px;height:6px;margin-left:-23px;border-radius:4px;background:#cfd6de;opacity:.55}
.a-screen{position:absolute;inset:26px 10px 14px;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#0c2a24,#081c18);transform:translateZ(14px)}
.a-appbar{height:38px;background:#3ddc84;display:flex;align-items:center;padding:0 12px}
.a-appbar b{width:54px;height:8px;border-radius:4px;background:#062b1c;opacity:.75}
.a-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 14px}
.a-grid i{aspect-ratio:1;border-radius:12px;background:var(--c);box-shadow:0 8px 12px -6px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.35) inset}
.a-nav{position:absolute;left:0;right:0;bottom:0;height:34px;background:#0a1512;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:center;gap:26px;align-items:center}
.a-nav b{width:10px;height:10px;border-radius:50%;border:2px solid #7d8794}.a-nav b:nth-child(2){border-radius:2px}.a-nav b:nth-child(3){border-radius:0;transform:rotate(45deg) scale(.8)}
.a-droid{position:absolute;right:10px;bottom:34px;width:170px;filter:drop-shadow(0 26px 22px rgba(0,0,0,.55));--d:.5s}

/* ---- WEB ---- */
.t-web .slide-bg{background:radial-gradient(ellipse 700px 420px at 75% 45%,rgba(91,143,245,.38),transparent 65%),linear-gradient(135deg,#07112b,#173a8f 64%,#0c1d4d)}
.t-web .kicker{color:#8fb0ff}.t-web .kicker::before{background:#8fb0ff}
.t-web .btn-gold{background:#5b8ff5;color:#07112b;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 5px 0 #2f6fed,0 14px 22px -8px rgba(0,0,0,.6)}
.t-web .btn-gold:hover{box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 7px 0 #2f6fed,0 18px 26px -8px rgba(0,0,0,.6)}
.t-web .btn-gold:active{box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 1px 0 #2f6fed}
.art-web{transform:rotateX(4deg)}
.w-win{position:absolute;width:290px;border-radius:12px;overflow:hidden;background:#fff;box-shadow:-22px 30px 44px -14px rgba(0,0,0,.7);transform:rotateY(-20deg)}
.w1{left:0;top:56px;width:250px;transform:rotateY(-20deg) translateZ(-40px);opacity:.9}
.w2{left:70px;top:0;width:300px;transform:rotateY(-20deg) translateZ(10px)}
.w3{left:170px;top:168px;width:276px;transform:rotateY(-20deg) translateZ(70px)}
.w-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#e8ecf4}
.w-bar.dark{background:#141c2b}
.w-bar s{width:8px;height:8px;border-radius:50%;background:#d98a7a;text-decoration:none}.w-bar s:nth-child(2){background:#d9a24a}.w-bar s:nth-child(3){background:#4cc46a}
.w-bar em{margin-left:8px;font-style:normal;font-family:var(--mono);font-size:10px;color:#5b6472;background:#fff;padding:2px 10px;border-radius:9px}
.w-bar.dark em{background:#0d1520;color:#9aa5b1}
.w-body{padding:12px}
.w-nav{display:flex;gap:8px;margin-bottom:10px}.w-nav b{height:6px;width:34px;border-radius:3px;background:#c8cfd8}
.w-hero{height:54px;border-radius:8px;background:linear-gradient(120deg,#2f6fed,#5b8ff5);margin-bottom:10px}
.w-hero.big{height:84px;display:flex;align-items:center;padding:0 16px;color:#fff;font-weight:700;font-size:20px;font-family:var(--serif)}
.w-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.w-cards i{height:40px;border-radius:6px;background:#eef2fb;border:1px solid #dbe3f3}
.w-body .l{display:block;height:7px;border-radius:3px;background:#dbe3f3;margin-bottom:7px}
.w-code{background:#0d1520;padding:14px 14px;font-family:var(--mono);font-size:10.5px;line-height:1.75;color:#c8cfd8}
.w-code p{margin:0;white-space:nowrap}.w-code u{text-decoration:none;color:#5b8ff5}.w-code a{color:#d9a24a}.w-code q{color:#4cc46a;quotes:none}
.caret{display:inline-block;width:7px;height:13px;background:#8fb0ff;margin-left:4px;vertical-align:-2px;animation:gkBlink 1s steps(2) infinite}
@keyframes gkBlink{50%{opacity:0}}

/* ---- DIGITAL MARKETING ---- */
.t-mkt .slide-bg{background:radial-gradient(ellipse 700px 420px at 75% 45%,rgba(217,162,74,.34),transparent 65%),linear-gradient(135deg,#110c04,#4a340e 64%,#1d1406)}
.t-mkt .kicker{color:var(--gold-bright)}
.m-panel{position:absolute;left:10px;top:36px;width:390px;height:270px;padding:18px 22px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);transform:rotateY(-16deg) rotateX(6deg);box-shadow:-22px 32px 44px -14px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.25) inset}
.m-title{font-family:var(--mono);font-size:11.5px;letter-spacing:1px;color:var(--gold-bright);text-transform:uppercase}
.m-bars{position:absolute;left:30px;right:50px;bottom:26px;height:170px;display:flex;align-items:flex-end;justify-content:space-between}
.bar{position:relative;display:block;width:38px;height:var(--h);background:linear-gradient(180deg,#e9b95f,#b9862c);border-radius:2px 2px 0 0}
.bar::before{content:"";position:absolute;left:0;top:-10px;width:100%;height:10px;background:#f6d38f;transform:skewX(-45deg);transform-origin:bottom left}
.bar::after{content:"";position:absolute;right:-10px;top:-5px;width:10px;height:100%;background:#7d5716;transform:skewY(-45deg);transform-origin:top left}
.slide.active .bar{animation:barUp 1s cubic-bezier(.2,.8,.2,1) calc(.5s + var(--i)*.12s) both}
@keyframes barUp{from{height:0}}
.m-trend{position:absolute;left:30px;right:50px;bottom:48px;width:calc(100% - 80px);height:170px;overflow:visible;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
.m-trend polyline{stroke-dasharray:420;stroke-dashoffset:420}
.slide.active .m-trend polyline{animation:gkDraw 1.6s ease .9s forwards}
@keyframes gkDraw{to{stroke-dashoffset:0}}
.badge{position:absolute;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 -6px 10px rgba(0,0,0,.25) inset,0 16px 22px -8px rgba(0,0,0,.7)}
.b-g{right:26px;top:0;background:#fff;color:#4285F4}.b-f{right:-6px;top:96px;background:#0064E0}
.b-i{right:8px;top:196px;background:linear-gradient(135deg,#a267d6,#C13584 55%,#e0708f)}.b-w{right:78px;top:290px;background:#25a244}
.m-stat{position:absolute;padding:10px 16px;border-radius:12px;background:#fff;color:var(--navy);box-shadow:0 18px 26px -10px rgba(0,0,0,.6)}
.m-stat small{display:block;font-family:var(--mono);font-size:10px;color:#5b6472;letter-spacing:1px}.m-stat b{font-size:22px;font-family:var(--serif)}
.s1{left:0;bottom:12px}.s1 b{color:#1F9E56}.s2{left:250px;top:-6px}.s2 b{color:#b9862c}

@media (max-width:760px){
  .slide-art{height:300px}
  .art{scale:.72;transform-origin:top center;margin:0 auto}
  .arrow{width:52px;height:64px}
}
@media (prefers-reduced-motion:reduce){.slide .art>*{animation:none!important;opacity:1}.m-trend polyline{stroke-dashoffset:0}}
.slide .chip,.badge,.m-stat{transform:translateZ(120px)}


/* =====================================================================
   CATEGORY THEMES ON INNER PAGES (same colours as the hero slider)
   Android = green, Web = blue, Digital Marketing = gold, Software = purple
   ===================================================================== */
body.pg-android{--gold:#1f9e5c;--gold-bright:#3ddc84;--teal:#1f9e5c;--blue:#1f9e5c}
body.pg-web{--gold:#2f6fed;--gold-bright:#5b8ff5;--teal:#2f6fed;--blue:#2f6fed}
body.pg-soft{--gold:#5b4b8a;--gold-bright:#a99bd6;--teal:#5b4b8a;--blue:#5b4b8a}
html[data-theme="dark"] body.pg-android{--gold:#3ddc84}
html[data-theme="dark"] body.pg-web{--gold:#8fb0ff}
html[data-theme="dark"] body.pg-soft{--gold:#b8aae6}

.pg-android .page-hero,.pg-android .cta-band{background:radial-gradient(ellipse 700px 420px at 78% 40%,rgba(61,220,132,.30),transparent 65%),linear-gradient(135deg,#06150f,#0f4a3b 62%,#0a2a22)}
.pg-web .page-hero,.pg-web .cta-band{background:radial-gradient(ellipse 700px 420px at 78% 40%,rgba(91,143,245,.38),transparent 65%),linear-gradient(135deg,#07112b,#173a8f 64%,#0c1d4d)}
.pg-mkt .page-hero,.pg-mkt .cta-band{background:radial-gradient(ellipse 700px 420px at 78% 40%,rgba(217,162,74,.34),transparent 65%),linear-gradient(135deg,#110c04,#4a340e 64%,#1d1406)}
.pg-soft .page-hero,.pg-soft .cta-band{background:radial-gradient(ellipse 700px 420px at 78% 40%,rgba(169,155,214,.34),transparent 65%),linear-gradient(135deg,#0e0a1c,#3b2f66 64%,#171029)}
.pg-android .page-hero .glance,.pg-android .side-panel{background:linear-gradient(150deg,rgba(255,255,255,.10),rgba(255,255,255,.02));border-color:rgba(61,220,132,.35)}
.pg-web .page-hero .glance{background:linear-gradient(150deg,rgba(255,255,255,.10),rgba(255,255,255,.02));border-color:rgba(91,143,245,.4)}
.pg-mkt .page-hero .glance{background:linear-gradient(150deg,rgba(255,255,255,.10),rgba(255,255,255,.02));border-color:rgba(217,162,74,.4)}
.pg-soft .page-hero .glance{background:linear-gradient(150deg,rgba(255,255,255,.10),rgba(255,255,255,.02));border-color:rgba(169,155,214,.4)}

/* buttons keep the bevel, edge colour follows the theme */
.pg-android .btn-gold{background:#3ddc84;color:#062b1c}
.pg-web .btn-gold{background:#5b8ff5;color:#07112b}
.pg-soft .btn-gold{background:#a99bd6;color:#150f2b}
.pg-android .navcta{background:#3ddc84;color:#062b1c}
.pg-web .navcta{background:#5b8ff5;color:#07112b}
.pg-soft .navcta{background:#a99bd6;color:#150f2b}
.pg-android .navcta:hover,.pg-web .navcta:hover,.pg-soft .navcta:hover{color:#fff}

/* floating cubes / ring follow the theme */
.pg-android .cube b{border-color:rgba(61,220,132,.55);background:linear-gradient(135deg,rgba(61,220,132,.22),rgba(61,220,132,.02))}
.pg-android .ring{border-color:rgba(61,220,132,.25);box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 0 0 1px rgba(61,220,132,.2)}
.pg-web .cube b{border-color:rgba(91,143,245,.6);background:linear-gradient(135deg,rgba(91,143,245,.25),rgba(91,143,245,.02))}
.pg-web .ring{border-color:rgba(91,143,245,.28);box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 0 0 1px rgba(91,143,245,.2)}
.pg-soft .cube b{border-color:rgba(169,155,214,.6);background:linear-gradient(135deg,rgba(169,155,214,.25),rgba(169,155,214,.02))}
.pg-soft .ring{border-color:rgba(169,155,214,.28);box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 0 0 1px rgba(169,155,214,.2)}

/* focus ring & form focus follow the theme */
body.pg-android .field input:focus,body.pg-android .field select:focus,body.pg-android .field textarea:focus{box-shadow:inset 0 3px 6px rgba(0,0,0,.06),0 0 0 3px rgba(31,158,92,.2)}
body.pg-web .field input:focus,body.pg-web .field select:focus,body.pg-web .field textarea:focus{box-shadow:inset 0 3px 6px rgba(0,0,0,.06),0 0 0 3px rgba(47,111,237,.2)}

/* ---- Admin-driven content pages: legal pages + single blog post ---- */
.post-body{padding:8px 0 40px;}
.post-body h1,.post-body h2,.post-body h3{margin-top:28px;margin-bottom:12px;}
.post-body p{margin-bottom:16px;color:var(--ink-soft);line-height:1.8;}
.post-body ul,.post-body ol{margin:0 0 16px 22px;color:var(--ink-soft);line-height:1.8;}
.post-body li{margin-bottom:6px;}
#blogPostContent .tag{display:inline-block;margin-bottom:14px;}
#blogPostContent h1{margin-top:6px;margin-bottom:14px;font-size:32px;}
#blogPostContent .meta{display:flex;gap:18px;color:var(--ink-soft);font-size:13.5px;margin-bottom:8px;}
#blogPostContent .meta span{display:flex;align-items:center;gap:6px;}
.work-card[href]{display:block;text-decoration:none;color:inherit;cursor:pointer;}
