
:root{
  --bg:#060606;--bg-2:#0c0b09;--card:#11100d;--card-2:#17140e;--text:#fffaf0;--muted:rgba(255,250,240,.72);--muted-2:rgba(255,250,240,.54);--gold:#d6a83d;--gold-2:#f5d77c;--gold-dark:#8b671d;--gold-text:#f5d77c;--line:rgba(214,168,61,.22);--line-soft:rgba(255,255,255,.1);--shadow:0 28px 80px rgba(0,0,0,.42);--radius:28px;--container:1180px;--section:92px;--font:Inter,'Noto Sans Devanagari',system-ui,sans-serif;--whatsapp:#25D366;--whatsapp-ink:#062e18;--whatsapp-dark:#128C7E;--viber:#7360f2;--facebook:#1877F2;color-scheme:dark
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.65;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 10% 5%,rgba(214,168,61,.20),transparent 28%),radial-gradient(circle at 84% 12%,rgba(255,255,255,.08),transparent 24%),linear-gradient(135deg,#000,#10100e 45%,#050505)}body:after{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;opacity:.22;pointer-events:none}:root[data-theme="light"] body{--gold-text:#7a5a14;--bg:#f7f3ea;--bg-2:#fffaf0;--card:#ffffff;--card-2:#fff8e7;--text:#14110b;--muted:rgba(20,17,11,.72);--muted-2:rgba(20,17,11,.66);--line:rgba(139,103,29,.25);--line-soft:rgba(20,17,11,.12);--shadow:0 24px 70px rgba(35,25,5,.13);color-scheme:light}:root[data-theme="light"] body:before{background:radial-gradient(circle at 10% 5%,rgba(214,168,61,.24),transparent 28%),radial-gradient(circle at 86% 12%,rgba(255,255,255,.95),transparent 26%),linear-gradient(135deg,#fbf7ed,#fffdf7 46%,#efe7d5)}:root[data-theme="light"] body:after{opacity:.18;background-image:linear-gradient(90deg,rgba(139,103,29,.055) 1px,transparent 1px),linear-gradient(rgba(139,103,29,.055) 1px,transparent 1px)}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(100% - 40px,var(--container));margin-inline:auto}.center{text-align:center}.gap-top{margin-top:30px}.hidden{display:none!important}.kicker,.eyebrow{font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:var(--gold-text);font-size:13px;margin-bottom:12px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(46px,6vw,84px);line-height:1.02;letter-spacing:-.055em;margin-bottom:22px}h2{font-size:clamp(34px,4vw,56px);line-height:1.08;letter-spacing:-.04em;margin-bottom:16px}h3{font-size:22px;line-height:1.22;margin-bottom:10px}p{color:var(--muted);font-size:16px}h1 span{background:linear-gradient(90deg,var(--gold),var(--gold-2),var(--gold-dark));-webkit-background-clip:text;background-clip:text;color:transparent}.topbar{border-bottom:1px solid var(--line);background:rgba(0,0,0,.45);font-size:13px;color:var(--muted);position:relative;z-index:60}.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:9px 0}.topbar strong{color:var(--gold-text)}.site-header{position:sticky;top:0;z-index:70;background:rgba(5,5,5,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:84px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:12px;min-width:235px}.brand img{width:62px;height:62px;border-radius:50%;border:1px solid rgba(214,168,61,.65);box-shadow:0 0 34px rgba(214,168,61,.18)}.brand strong{display:block;color:var(--gold-text);letter-spacing:.20em;font-size:14px}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:22px;margin-left:auto;color:var(--muted);font-size:14px;font-weight:800}.main-nav a{padding:8px 0}.main-nav a:hover,.main-nav a.active{color:var(--gold-text)}.site-controls{display:flex;gap:8px}.control-btn,.menu-toggle{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);border-radius:999px;padding:10px 13px;font-weight:900;cursor:pointer}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 22px;border:1px solid transparent;font-weight:950;cursor:pointer;transition:.2s ease;text-align:center;line-height:1.2}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#080806;box-shadow:0 16px 34px rgba(214,168,61,.22)}.btn-outline{background:rgba(255,255,255,.06);border-color:var(--line);color:var(--text)}.btn-whatsapp,.whatsapp-submit{background:var(--whatsapp)!important;border-color:var(--whatsapp)!important;color:var(--whatsapp-ink)!important;box-shadow:0 18px 35px rgba(37,211,102,.24)!important}.btn-whatsapp:hover,.whatsapp-submit:hover{background:var(--whatsapp-dark)!important;border-color:var(--whatsapp-dark)!important;color:#fff!important}.wa-icon{width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 auto}.wa-icon svg{width:100%;height:100%;display:block}.hero{position:relative;min-height:760px;overflow:hidden;border-bottom:1px solid var(--line)}.hero-media{position:absolute;inset:0;z-index:-1}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.76) 34%,rgba(0,0,0,.35) 62%,rgba(0,0,0,.15)),linear-gradient(0deg,var(--bg) 0%,transparent 35%)}.hero-inner{display:grid;grid-template-columns:1.05fr .65fr;gap:52px;align-items:center;padding:98px 0}.hero-copy p{font-size:19px;max-width:730px}.hero-actions,.page-actions,.cta-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;max-width:720px}.trust-pill{border:1px solid var(--line-soft);background:rgba(255,255,255,.06);border-radius:18px;padding:13px;text-align:center;font-weight:900;color:var(--muted)}.hero-card,.form-card,.contact-card,.info-card,.why-card,.step,.faq,.service-card,.project-card{background:rgba(17,16,13,.84);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:34px;display:grid;justify-items:center;text-align:center}.logo-large{width:148px;height:148px;border-radius:50%;border:1px solid rgba(214,168,61,.65);box-shadow:0 0 52px rgba(214,168,61,.22);margin-bottom:22px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:18px}.mini-grid span{background:rgba(255,255,255,.055);border:1px solid var(--line-soft);border-radius:16px;padding:12px;color:var(--muted);font-weight:900}.section{padding:var(--section) 0}.section-alt{background:rgba(255,255,255,.025);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:34px;margin-bottom:38px}.section-head p{max-width:510px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card,.project-card{overflow:hidden}.card-img{position:relative;height:250px;overflow:hidden;display:block}.card-img img{width:100%;height:100%;object-fit:cover;transition:.65s ease}.service-card:hover img,.project-card:hover img{transform:scale(1.06)}.service-icon{position:absolute;left:18px;bottom:18px;width:54px;height:54px;border-radius:18px;background:var(--gold);color:#080806;display:grid;place-items:center;font-size:24px;font-weight:950}.card-body{padding:24px}.text-link{color:var(--gold-text);font-weight:950}.ba-strip{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}.ba-feature,.ba-mini{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#111}.ba-feature img,.ba-mini img{width:100%;height:100%;object-fit:cover}.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ba-mini{min-height:230px}.badge{position:absolute;left:15px;top:15px;border-radius:999px;background:rgba(0,0,0,.72);color:var(--gold-2);padding:7px 12px;font-size:12px;font-weight:950;border:1px solid rgba(214,168,61,.32)}.why-grid,.process,.info-grid,.project-grid{display:grid;gap:20px}.why-grid{grid-template-columns:repeat(4,1fr)}.why-card,.info-card,.faq{padding:24px}.icon{font-size:34px;margin-bottom:14px}.cta-panel{display:grid;grid-template-columns:1fr .72fr;gap:34px;align-items:center;background:linear-gradient(135deg,rgba(214,168,61,.13),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:36px;padding:38px;box-shadow:var(--shadow)}.cta-image{border-radius:30px;overflow:hidden;border:1px solid var(--line);height:330px}.cta-image img{width:100%;height:100%;object-fit:cover}.page-hero{position:relative;padding:96px 0 78px;border-bottom:1px solid var(--line);overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.58)),var(--hero-bg);background-size:cover;background-position:center}.page-hero h1{max-width:860px}.page-hero p{max-width:760px;font-size:18px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.rounded-img{border-radius:32px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--card)}.rounded-img img{width:100%;height:100%;object-fit:cover}.check-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}.check-list li{padding-left:34px;position:relative;color:var(--muted);font-weight:800}.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--gold-text);font-weight:950}.info-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(3,1fr)}.project-card .card-img{height:304px}.form-card,.contact-card{padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:8px;font-size:14px;font-weight:900;color:var(--muted);margin-bottom:16px}input,select,textarea{width:100%;border:1px solid var(--line-soft);background:rgba(255,255,255,.06);border-radius:16px;color:var(--text);padding:14px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:rgba(214,168,61,.62);box-shadow:0 0 0 3px rgba(214,168,61,.12)}select option{background:#111;color:#fff}.form-note{font-size:13px;margin:12px 0 0}.notice{border:1px solid var(--line);background:rgba(214,168,61,.08);border-radius:22px;padding:18px;margin-top:22px}.footer{border-top:1px solid var(--line);background:#050505;padding:54px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .8fr .8fr;gap:34px}.footer-logo{display:flex;gap:14px;align-items:center;margin-bottom:16px}.footer-logo img{width:74px;height:74px;border-radius:50%;border:1px solid rgba(214,168,61,.55)}.footer h4{color:var(--gold-text);margin:0 0 14px}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:var(--muted)}.copyright{border-top:1px solid var(--line-soft);margin-top:30px;padding-top:18px;color:var(--muted-2);font-size:13px;display:flex;justify-content:space-between;gap:16px}.mobile-sticky{display:none}.support-widget{position:fixed;right:22px;bottom:24px;z-index:120;font-family:var(--font)}.support-toggle{border:0;border-radius:999px;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#080806;box-shadow:0 20px 50px rgba(0,0,0,.38),0 10px 28px rgba(214,168,61,.28);font-weight:1000;display:flex;align-items:center;gap:9px;min-height:56px;padding:14px 18px;cursor:pointer;transition:.2s ease}.support-menu{position:absolute;right:0;bottom:72px;width:300px;display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:24px;background:rgba(5,5,5,.96);box-shadow:0 28px 70px rgba(0,0,0,.52);opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transition:.18s ease;backdrop-filter:blur(18px)}.support-widget.open .support-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.support-option{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid var(--line-soft);color:#fff;transition:.18s ease}.support-option:hover{transform:translateY(-1px);background:rgba(255,255,255,.075);border-color:var(--line)}.support-option strong{display:block;font-size:14px;line-height:1.2}.support-option small{display:block;color:rgba(255,255,255,.62);font-size:12px;margin-top:2px}.support-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-weight:1000;font-size:18px;color:#fff}.support-option .wa-icon{background:var(--whatsapp);border-radius:50%;padding:9px;width:42px;height:42px}.viber-icon{background:var(--viber)}.call-icon{background:var(--gold);color:#080806}.sms-icon{background:#2b8cff}.fb-icon{background:var(--facebook);font-family:Arial,sans-serif;font-size:24px;font-weight:900}:root[data-theme="light"] body .topbar,:root[data-theme="light"] body .site-header{background:rgba(255,250,240,.86);border-color:var(--line);color:var(--muted)}:root[data-theme="light"] body .main-nav a,:root[data-theme="light"] body .brand small{color:var(--muted)}:root[data-theme="light"] body .main-nav a:hover,:root[data-theme="light"] body .main-nav a.active{color:#8b671d}:root[data-theme="light"] body .hero-media:after{background:linear-gradient(90deg,rgba(247,243,234,.96) 0%,rgba(247,243,234,.86) 30%,rgba(247,243,234,.36) 62%,rgba(247,243,234,.12)),linear-gradient(0deg,var(--bg) 0%,transparent 42%)}:root[data-theme="light"] body .page-hero:before{background:linear-gradient(90deg,rgba(247,243,234,.95),rgba(247,243,234,.66)),var(--hero-bg);background-size:cover;background-position:center}:root[data-theme="light"] body .hero-card,:root[data-theme="light"] body .form-card,:root[data-theme="light"] body .contact-card,:root[data-theme="light"] body .info-card,:root[data-theme="light"] body .why-card,:root[data-theme="light"] body .step,:root[data-theme="light"] body .faq,:root[data-theme="light"] body .service-card,:root[data-theme="light"] body .project-card,:root[data-theme="light"] body .trust-pill,:root[data-theme="light"] body .mini-grid span{background:rgba(255,255,255,.78);color:var(--text)}:root[data-theme="light"] body .section-alt{background:rgba(255,255,255,.42)}:root[data-theme="light"] body .footer{background:#fff7e8;color:var(--text)}:root[data-theme="light"] body input,:root[data-theme="light"] body select,:root[data-theme="light"] body textarea{background:#fff;color:var(--text);border-color:rgba(20,17,11,.15)}:root[data-theme="light"] body select option{background:#fff;color:var(--text)}:root[data-theme="light"] body .support-menu{background:rgba(255,255,255,.96);color:var(--text)}:root[data-theme="light"] body .support-option{color:var(--text);background:rgba(20,17,11,.045)}:root[data-theme="light"] body .support-option small{color:var(--muted-2)}@media(max-width:980px){:root{--section:72px}.main-nav{display:none;position:absolute;left:18px;right:18px;top:88px;background:rgba(0,0,0,.96);border:1px solid var(--line);border-radius:22px;padding:18px;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.menu-toggle{display:block}.nav-cta{display:none}.hero-inner,.two-col,.ba-strip,.cta-panel{grid-template-columns:1fr}.hero{min-height:auto}.hero-card{display:none}.service-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.why-grid,.process,.info-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){:root{--section:58px}h1{font-size:42px}.container{width:min(100% - 28px,var(--container))}.topbar-inner{display:grid;text-align:center;gap:4px}.nav{height:78px;gap:10px}.brand{min-width:auto}.brand img{width:52px;height:52px}.brand strong{font-size:12px}.brand small{font-size:9px}.site-controls{margin-left:auto}.control-btn,.menu-toggle{padding:8px 10px;font-size:13px}.hero-inner{padding:56px 0}.hero-actions,.page-actions,.cta-actions,.contact-actions{display:grid}.trust-row,.service-grid,.project-grid,.why-grid,.process,.info-grid,.form-grid,.ba-grid,.footer-grid{grid-template-columns:1fr}.section-head{display:block}.card-img{height:230px}.ba-mini{min-height:230px}.cta-panel{padding:24px;border-radius:28px}.page-hero{padding:70px 0 58px}.mobile-sticky{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:90}.mobile-sticky a{padding:14px;text-align:center;font-weight:1000;background:var(--gold);color:#070707;border-right:1px solid rgba(0,0,0,.2)}.mobile-sticky a.whatsapp-link{background:var(--whatsapp)!important;color:var(--whatsapp-ink)!important;display:flex;align-items:center;justify-content:center;gap:8px}body{padding-bottom:54px}.support-widget{right:14px;bottom:70px}.support-toggle{min-height:52px;padding:12px 15px}.support-toggle-text{display:none}.support-menu{right:0;bottom:64px;width:min(304px,calc(100vw - 28px))}.copyright{display:grid}.footer-logo{align-items:flex-start}}

/* ---- Pre-launch fixes: a11y, Devanagari, mobile input ---- */

/* Visible keyboard focus (was missing entirely) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold-2);outline-offset:3px;border-radius:6px}

/* Skip link for keyboard and screen-reader users */
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--gold);color:#14110b;padding:12px 20px;font-weight:700;border-radius:0 0 10px 0}
.skip-link:focus{left:0}

/* Devanagari needs more vertical room than Latin for matras */
:root[lang="ne"] body{line-height:1.85}
:root[lang="ne"] h1,:root[lang="ne"] h2,:root[lang="ne"] h3{line-height:1.4}

/* iOS Safari force-zooms any input under 16px */
input,select,textarea{font-size:16px !important}

/* Touch targets: inline text links were 20px tall on mobile */
@media(max-width:680px){
  .text-link{display:inline-block;min-height:44px;line-height:44px}
  .main-nav a{min-height:44px;display:flex;align-items:center}
  .control-btn,.menu-toggle{min-height:44px;min-width:44px}
}

/* Respect reduced-motion preference */
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  html{scroll-behavior:auto}
}

/* Reserve aspect ratio so declared width/height don't distort layout */
img{max-width:100%;height:auto}

/* SVG icons replacing the previous emoji/glyph characters */
.service-icon svg{width:26px;height:26px;display:block}
.why-card .icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,rgba(214,168,61,.18),rgba(214,168,61,.06));border:1px solid var(--line);color:var(--gold-text);margin-bottom:16px}
.why-card .icon svg{width:28px;height:28px;display:block}

/* Footer link tap targets on mobile */
@media(max-width:680px){
  .footer-grid ul li{margin:0}
  .footer-grid ul li a{display:inline-flex;align-items:center;min-height:44px}
}

/* Hero card title is an h2 for correct heading order; keep h3 visual scale */
.hero-card-title{font-size:1.17em;font-weight:700;line-height:1.4;margin-bottom:.6em}

/* Hero card title is an h2 for correct heading order; keep its h3 visual scale */
.hero-card-title{font-size:1.17em;font-weight:700;line-height:1.4;margin-bottom:.6em}

/* Footer column headings: h3 for correct heading order, h4 visual scale */
.footer-heading{font-size:1em;font-weight:700;line-height:1.4;margin-bottom:.8em}

/* ================= Review + project marquee ================= */
.reviews{overflow:hidden}
.marquee{position:relative;margin-top:26px}
/* Edge fade via overlays, not mask-image: mask + overflow:hidden + a transform
   animation drops the composited layer in some engines and the row paints blank. */
.marquee:before,.marquee:after{content:"";position:absolute;top:0;bottom:0;width:8%;z-index:2;pointer-events:none}
.marquee:before{left:0;background:linear-gradient(90deg,var(--bg-2),transparent)}
.marquee:after{right:0;background:linear-gradient(270deg,var(--bg-2),transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee-scroll var(--marquee-duration,60s) linear infinite}
.marquee[data-reverse="true"] .marquee-track{animation-direction:reverse}
.marquee-row{display:flex;gap:22px;margin:0;padding:0 11px;list-style:none}
@keyframes marquee-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* WCAG 2.2.2 — moving content must be pausable */
.marquee:hover .marquee-track,
.marquee:focus-within .marquee-track,
.marquee.is-paused .marquee-track{animation-play-state:paused}

.marquee{overflow:hidden}
.marquee-pause{display:inline-flex;align-items:center;gap:8px;margin-top:14px;min-height:44px;padding:0 18px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--gold-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.marquee-pause svg{width:16px;height:16px;flex:0 0 16px}
.marquee-pause:hover{background:var(--card-2)}
:root[data-theme="light"] body .marquee-pause{background:rgba(255,255,255,.82);color:var(--gold-dark)}

/* Review card */
.review-card{flex:0 0 340px;background:rgba(17,16,13,.84);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.review-shot{margin:-28px -28px 2px;border-bottom:1px solid var(--line)}
.review-shot img{display:block;width:100%;height:172px;object-fit:cover}
:root[data-theme="light"] body .review-card{background:rgba(255,255,255,.82);color:var(--text)}
.review-card blockquote{margin:0;font-size:16px;color:var(--muted);line-height:1.7}
.stars{display:flex;gap:3px;color:var(--gold-text)}
.stars svg{width:17px;height:17px}
.review-by{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:6px;border-top:1px solid var(--line-soft)}
.review-by strong{display:block;font-size:15px}
.review-by small{display:block;font-size:13px;color:var(--muted-2)}
.review-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:linear-gradient(145deg,var(--gold),var(--gold-dark));color:#14110b}

@media(max-width:680px){
  .review-card{flex:0 0 280px;padding:22px}
  .review-shot{margin:-22px -22px 2px}
  .review-shot img{height:150px}
  .marquee-pause{top:-42px;right:8px}
}

/* Reduced motion: stop the animation, let people scroll it by hand */
@media(prefers-reduced-motion:reduce){
  .marquee{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .marquee-track{animation:none !important;width:auto}
}



/* ================= Social links ================= */
:root{--instagram:#E1306C;--tiktok:#000000;--tiktok-accent:#25F4EE}

.social-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;list-style:none;margin-top:6px}
.social-link{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--line);background:var(--card);color:var(--gold-text);transition:background .2s,color .2s,border-color .2s,transform .2s}
.social-link svg{width:20px;height:20px;display:block}
.social-link:hover{transform:translateY(-2px);color:#fff}
.social-link:nth-child(1):hover{background:var(--facebook);border-color:var(--facebook)}
.social-link:nth-child(2):hover{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF);border-color:#DD2A7B}
.social-link:nth-child(3):hover{background:#111;border-color:var(--tiktok-accent);color:var(--tiktok-accent)}
:root[data-theme="light"] body .social-link{background:rgba(255,255,255,.82);color:var(--gold-dark)}
.social-row--btns{margin-top:14px}

/* support widget icons are now SVG, not letters */
.support-icon svg{width:21px;height:21px;display:block}
.fb-icon{background:var(--facebook);font-size:0}
.ig-icon{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF)}
.tt-icon{background:#111;color:var(--tiktok-accent);border:1px solid rgba(255,255,255,.18)}

/* Gallery card titles are h2 for heading order; keep their h3 visual scale */
.project-card-title{font-size:1.17em;font-weight:700;line-height:1.4;margin-bottom:.5em}
.thanks-next{font-size:1.3em;margin-top:26px}

/* Brand subtitle was 9-11px; 12px minimum keeps it legible */
.brand small{font-size:12px}

/* Gradient-clipped headings use pale gold, which drops to ~2:1 against the
   light-themed hero wash. Darken the ramp in light mode. */
:root[data-theme="light"] body h1 span{background-image:linear-gradient(90deg,var(--gold-dark),#a87c1f,var(--gold-dark));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ================= Our process =================
   Was six 180px columns holding a number and a label that wrapped to two lines
   in every card. Now three columns with room for a line of explanation, and a
   rule that connects the steps so it reads as a sequence. */
.process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:step}
.step{position:relative;display:flex;gap:16px;align-items:flex-start;padding:26px 24px}
.step-num{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;
  background:linear-gradient(145deg,var(--gold-2),var(--gold));color:#0b0a07;font-weight:900;font-size:17px;
  box-shadow:0 6px 18px rgba(214,168,61,.28)}
.step-body{min-width:0}
.step h3{font-size:17px;line-height:1.35;margin:6px 0 6px;font-weight:800}
.step p{margin:0;font-size:14.5px;line-height:1.65;color:var(--muted)}

/* connector between steps within a row */
.process .step:after{content:"";position:absolute;top:48px;right:-20px;width:20px;height:1px;
  background:linear-gradient(90deg,var(--line),transparent)}
.process .step:nth-child(3n):after,.process .step:last-child:after{display:none}

@media(max-width:980px){
  .process{grid-template-columns:repeat(2,1fr)}
  .process .step:after{display:none}
  .process .step:nth-child(2n):after{display:none}
}
@media(max-width:680px){
  .process{grid-template-columns:1fr;gap:14px}
  .step{padding:20px}
  .step-num{flex:0 0 40px;width:40px;height:40px;font-size:16px}
}

/* ================= Site videos =================
   preload="none" + a poster image means zero video bytes load until the visitor
   taps play — important when most traffic is Nepali mobile data. */
.clip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.clip{margin:0;background:rgba(17,16,13,.84);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
:root[data-theme="light"] body .clip{background:rgba(255,255,255,.82)}
.clip video{display:block;width:100%;aspect-ratio:9/16;max-height:min(62vh,520px);object-fit:cover;background:#0a0a08;cursor:pointer}
.clip figcaption{padding:16px 18px 18px}
.clip figcaption strong{display:block;font-size:15.5px;line-height:1.35;margin-bottom:4px}
.clip figcaption small{display:block;font-size:13px;color:var(--muted-2);line-height:1.5}
.clip-tag{display:inline-block;margin-bottom:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:800;color:var(--gold-text);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.clip-note{margin-top:18px;font-size:13.5px;color:var(--muted-2)}

@media(max-width:980px){.clip-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.clip-grid{grid-template-columns:1fr;gap:16px}}

/* ================= Header controls =================
   Menu / language / dark-mode always sit together in the top-right corner,
   at every breakpoint. Flex `order` does this without touching the DOM order,
   so the tab sequence still follows the markup. */
.nav{position:relative}
.nav .brand{order:1}
.nav .main-nav{order:2}
.nav .nav-cta{order:3}
.nav .menu-toggle{order:4}
.nav .site-controls{order:5;margin-left:0}
/* push everything after the brand hard to the right */
.nav .main-nav{margin-left:auto}
@media(max-width:980px){
  /* nav links collapse into the dropdown, so the toggle group takes over */
  .nav .menu-toggle{margin-left:auto}
  .nav .site-controls{margin-left:0}
}
.site-controls{align-items:center}
.control-btn{display:grid;place-items:center;min-height:44px;min-width:44px;line-height:1}

/* The before/after strip was built around square poster graphics. Real site
   photos are portrait (9:16), which stretched the panel to ~1130px tall, so
   pin the crop shape instead of letting the image dictate height. */
.ba-feature{aspect-ratio:4/5;height:auto}
.ba-mini{aspect-ratio:1/1;min-height:0;height:auto}
.ba-feature img,.ba-mini img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:980px){
  .ba-feature{aspect-ratio:16/10}
  .ba-mini{aspect-ratio:1/1}
}

/* WCAG 2.5.8 Target Size (Minimum, AA) wants 24x24 CSS px for pointer targets
   at every viewport — the earlier rules only covered <=680px, so "Learn More"
   links and footer links were 20px tall on desktop. */
.text-link{display:inline-flex;align-items:center;min-height:24px}
.footer-grid ul li a{display:inline-flex;align-items:center;min-height:24px}

/* <video> fallback text only appears when the browser cannot play the file.
   It inherited black on the black video box, so it would have been invisible
   in exactly the situation it exists for. */
.clip video p{color:var(--text);padding:16px;text-align:center;font-size:14px}

/* mailto links in the contact card were 20px tall (WCAG 2.5.8 wants 24) */
.notice a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:24px}

/* ================= Long-form service content ================= */
.prose{max-width:78ch}
.prose .lead{font-size:19px;line-height:1.75;color:var(--text)}
.prose h2{font-size:26px;line-height:1.3;margin:38px 0 12px}
.prose p{font-size:16.5px;line-height:1.8;color:var(--muted)}
.prose .check-list{margin-top:8px}
.prose .check-list a{color:var(--gold-text);font-weight:700}

/* FAQ — <details> so it works with no JS and stays keyboard accessible */
.faq-list{margin-top:14px;display:grid;gap:12px}
.faq-item{background:rgba(17,16,13,.84);border:1px solid var(--line);border-radius:18px;
  padding:0 22px;box-shadow:var(--shadow)}
:root[data-theme="light"] body .faq-item{background:rgba(255,255,255,.82)}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:800;font-size:16.5px;
  line-height:1.45;display:flex;align-items:flex-start;gap:12px;min-height:44px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:before{content:"+";flex:0 0 auto;color:var(--gold-text);font-weight:900;font-size:20px;line-height:1.2}
.faq-item[open] summary:before{content:"\2212"}
.faq-item p{margin:0;padding:0 0 20px 30px;color:var(--muted);font-size:15.5px;line-height:1.8}
@media(max-width:680px){
  .prose h2{font-size:22px;margin:30px 0 10px}
  .prose .lead{font-size:17px}
  .faq-item{padding:0 18px}
  .faq-item p{padding-left:0}
}

/* ================= Blog ================= */
.page-hero--plain:before{background:linear-gradient(120deg,rgba(214,168,61,.10),transparent 62%),var(--bg-2)}
:root[data-theme="light"] body .page-hero--plain:before{background:linear-gradient(120deg,rgba(214,168,61,.16),transparent 62%),var(--bg-2)}
.post-meta{font-size:13.5px;color:var(--muted-2);letter-spacing:.02em;margin:0 0 6px}
.post-image{border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:26px}
.post-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.post-cta{margin-top:34px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{background:rgba(17,16,13,.84);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
:root[data-theme="light"] body .post-card{background:rgba(255,255,255,.82)}
.post-card .card-img{display:block;overflow:hidden}
.post-card .card-img img{display:block;width:100%;height:200px;object-fit:cover;transition:.3s ease}
.post-card:hover .card-img img{transform:scale(1.05)}
.post-card .card-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-card-title{font-size:18px;line-height:1.35;margin:0}
.post-card-title a{color:var(--text)}
.post-card-title a:hover{color:var(--gold-text)}
.post-card p{margin:0;font-size:14.5px;line-height:1.7;color:var(--muted)}
.post-card .text-link{margin-top:auto}
@media(max-width:980px){.post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.post-grid{grid-template-columns:1fr}.post-image img{aspect-ratio:3/2}}
