/* ==========================================================================
   Free Light LLC — нийтийн сайтын загвар
   freelight.mn-ийн анхны загвар дээр суурилсан; олон хуудастай, админаас
   удирдагдах бүтцэд тохируулж өргөтгөв. Өнгөнүүд (--dark, --brand-1,
   --brand-2) Админ → Тохиргоо → Загварын өнгө хэсгээс ирнэ (header.php).
   ========================================================================== */
:root{
  --bg:#fdfbf7;
  --bg-alt:#f6f1e6;
  --card:#ffffff;
  --ink:#141f2c;
  --ink-muted:#57626f;
  --ink-soft:#94a0ac;
  --border:rgba(20,32,46,0.10);
  --border-strong:rgba(20,32,46,0.16);
  --brand-1:#f7ac21;
  --brand-2:#ee6a1f;
  --brand-grad:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  --green:#1c8a43;
  --green-soft:rgba(28,138,67,0.10);
  --red:#d62828;
  --dark:#0f1c2b;
  --dark-2:#15263a;
  --dark-field:#0e2035;
  --dark-border:rgba(255,255,255,0.09);
  --dark-border-strong:rgba(255,255,255,0.17);
  --dark-text:#f4f1ea;
  --dark-muted:#93a4b6;
  --dark-dim:#5f7488;
  --radius:18px;
  --radius-sm:12px;
  --header-h:88px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4,h5,.brand-font{font-family:'Golos Text',sans-serif;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
@media (max-width:520px){.wrap{padding:0 18px;}}
section{scroll-margin-top:var(--header-h);}
.icon{width:1.15em;height:1.15em;flex-shrink:0;}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--dark);color:#fff;padding:8px 14px;border-radius:8px;z-index:100;}
.skip-link:focus{left:12px;}
.text-center{text-align:center;}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--brand-2);margin-bottom:14px;
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-grad);}

.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;font-weight:700;
  font-size:14.5px;cursor:pointer;border:1.5px solid transparent;transition:.15s;font-family:inherit;line-height:1.2;
}
.btn-primary{background:var(--brand-grad);color:#1a1103;box-shadow:0 10px 24px -10px rgba(238,106,31,0.55);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px -10px rgba(238,106,31,0.65);}
.btn-outline{border-color:var(--border-strong);color:var(--ink);background:transparent;}
.btn-outline:hover{border-color:var(--brand-2);color:var(--brand-2);}
.btn-dark{background:var(--dark);color:#fff;}
.btn-dark:hover{background:var(--dark-2);}
.btn-block{width:100%;justify-content:center;}
.link-more{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--ink);}
.link-more:hover{color:var(--brand-2);}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(253,251,247,0.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 28px;}
.nav-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.nav-brand img{height:60px;width:auto;}
.nav-links{display:flex;align-items:center;gap:26px;}
.nav-item{position:relative;display:flex;align-items:center;gap:2px;}
.nav-links a,.nav-item-label{font-size:14.5px;font-weight:600;color:var(--ink-muted);}
.nav-links a:hover,.nav-links a.active{color:var(--brand-2);}
.nav-item-btn > a{color:var(--ink);}
.nav-submenu-toggle{background:none;border:none;padding:2px;cursor:pointer;color:var(--ink-muted);display:flex;}
.nav-submenu-toggle .icon{width:15px;height:15px;}
.submenu{
  position:absolute;top:100%;left:-14px;min-width:210px;background:var(--card);border:1px solid var(--border);
  border-radius:14px;padding:8px;box-shadow:0 18px 40px -18px rgba(20,32,46,.35);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s;margin-top:10px;
}
.submenu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;}
.submenu a{display:block;padding:9px 12px;border-radius:9px;font-size:14px;}
.submenu a:hover{background:var(--bg-alt);}
.nav-item.has-children:hover .submenu,.nav-item.has-children:focus-within .submenu{opacity:1;visibility:visible;transform:none;}
.nav-cta{display:flex;align-items:center;gap:12px;}
.nav-cta .btn{padding:11px 20px;font-size:14px;}
.burger{display:none;background:none;border:none;cursor:pointer;color:var(--ink);padding:6px;}
.burger .icon{width:26px;height:26px;}
.lang-switch{display:flex;gap:2px;background:var(--bg-alt);border-radius:999px;padding:3px;}
.lang-switch a{font-size:12px;font-weight:700;padding:5px 9px;border-radius:999px;color:var(--ink-muted);}
.lang-switch a.active{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);}
@media (max-width:1100px){.nav-links{gap:18px;}}
@media (max-width:980px){
  .nav-links{position:fixed;top:var(--header-h);left:0;right:0;background:var(--bg);flex-direction:column;
    padding:18px 28px 26px;border-bottom:1px solid var(--border);display:none;gap:4px;align-items:stretch;
    max-height:calc(100vh - var(--header-h));overflow:auto;box-shadow:0 20px 30px -20px rgba(0,0,0,.25);}
  .nav-links.open{display:flex;}
  .nav-item{flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid var(--border);padding:10px 0;}
  .nav-links a,.nav-item-label{font-size:15.5px;}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;margin:4px 0 0;
    padding:0 0 0 12px;width:100%;display:none;background:transparent;}
  .nav-item.sub-open .submenu{display:block;}
  .nav-item.has-children:hover .submenu{display:none;}
  .nav-item.sub-open:hover .submenu{display:block;}
  .burger{display:block;}
  .nav-cta .btn-outline{display:none;}
}
@media (max-width:520px){
  .nav{padding:10px 18px;}
  .nav-brand img{height:50px;}
  .nav-cta .btn-primary{padding:9px 14px;font-size:13px;}
}
.admin-bypass-banner{background:#fff4d6;color:#6b4a00;font-size:13.5px;padding:9px 20px;text-align:center;}
.admin-bypass-banner a{font-weight:700;text-decoration:underline;margin-left:8px;}

/* ---------- Hero ---------- */
.hero{padding:64px 0 40px;position:relative;overflow:hidden;}
.hero h1{font-size:clamp(30px,4.4vw,50px);line-height:1.12;font-weight:800;margin:0 0 18px;letter-spacing:-0.01em;max-width:820px;}
.hero h1 span,.grad-text{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p.lead{color:var(--ink-muted);font-size:16.5px;max-width:620px;margin:0 0 28px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px;}
.license-badge{
  display:inline-flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);
  border-radius:999px;padding:8px 16px 8px 8px;font-size:13px;font-weight:600;color:var(--ink-muted);
}
.license-badge .dot{width:30px;height:30px;border-radius:50%;background:var(--green-soft);color:var(--green);
  display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
@media (max-width:600px){.license-badge{border-radius:16px;}}

.hs-wide{position:relative;width:100%;aspect-ratio:21/9;border-radius:22px;overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(20,32,46,0.35);margin:36px 0 0;background:var(--dark);}
@media (max-width:760px){.hs-wide{aspect-ratio:4/3;}}
.hs-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease;}
.hs-slide.active{opacity:1;}
.hs-caption{position:absolute;left:0;right:0;bottom:0;padding:60px 28px 42px;color:#fff;
  background:linear-gradient(180deg,transparent,rgba(10,20,32,.72));opacity:0;transition:opacity .8s;pointer-events:none;}
.hs-caption.active{opacity:1;}
.hs-caption strong{display:block;font-family:'Golos Text',sans-serif;font-size:clamp(18px,2.4vw,26px);}
.hs-caption span{font-size:14px;opacity:.9;}
.hs-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2;}
.hs-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);transition:.2s;border:none;padding:0;cursor:pointer;}
.hs-dot.active{background:#fff;width:16px;border-radius:4px;}

.stats-bar{background:var(--dark);border-radius:var(--radius);margin:8px 0 0;padding:28px 32px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media (max-width:760px){.stats-bar{grid-template-columns:1fr 1fr;padding:24px 20px;}}
.stat{text-align:center;}
.stat .sv{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:16px;color:var(--brand-1);}
.stat .sl{font-size:12px;color:var(--dark-muted);margin-top:4px;}

/* ---------- Section shell ---------- */
.section{padding:78px 0;}
.section.alt{background:var(--bg-alt);}
.section.tight{padding-top:30px;}
.section-head{max-width:640px;margin-bottom:46px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(24px,3vw,34px);margin:0 0 14px;font-weight:800;line-height:1.2;}
.section-head p{color:var(--ink-muted);font-size:15.5px;margin:0;}
.section-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px;flex-wrap:wrap;}
.section-head-row .section-head{margin-bottom:0;}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:30px;}
@media (max-width:600px){.card{padding:22px;}}
.empty-note{color:var(--ink-soft);text-align:center;padding:30px 0;}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{background:var(--dark);color:var(--dark-text);padding:62px 0 56px;position:relative;overflow:hidden;background-size:cover;background-position:center;}
.page-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--brand-grad);z-index:2;}
.page-hero.has-image .page-hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,28,43,.92) 30%,rgba(15,28,43,.55));}
.page-hero .inner{position:relative;z-index:1;}
.page-hero h1{font-size:clamp(28px,4vw,44px);margin:0;line-height:1.15;font-weight:800;max-width:860px;}
.page-hero .lead{color:var(--dark-muted);max-width:640px;margin:14px 0 0;font-size:15.5px;}
.breadcrumb{font-size:13px;color:var(--dark-muted);margin-bottom:14px;}
.breadcrumb a:hover{color:var(--brand-1);}
.page-hero-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--dark-muted);}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;gap:32px;}}
.about-grid h2{font-size:clamp(24px,3vw,30px);font-weight:800;margin:0 0 18px;line-height:1.2;}
.about-text p{color:var(--ink-muted);font-size:15.5px;margin:0 0 16px;}
.values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;}
.values-row.one-col{grid-template-columns:1fr;margin-top:0;}
@media (max-width:760px){.values-row{grid-template-columns:1fr;}}
.value-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px;}
.value-card .vi{width:38px;height:38px;border-radius:10px;background:var(--brand-grad);display:flex;align-items:center;
  justify-content:center;color:#1a1103;font-size:17px;font-weight:800;margin-bottom:12px;font-family:'IBM Plex Mono',monospace;}
.value-card .vi .icon{width:20px;height:20px;}
.value-card h4{margin:0 0 6px;font-size:15px;}
.value-card p{margin:0;font-size:13.5px;color:var(--ink-muted);}
.about-photo{border-radius:18px;box-shadow:0 20px 40px -20px rgba(20,32,46,0.3);width:100%;margin-top:40px;aspect-ratio:21/9;object-fit:cover;}
.license-card{margin-top:40px;display:flex;gap:22px;align-items:flex-start;}
.license-card .lic-icon{width:52px;height:52px;border-radius:14px;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.license-card .lic-icon .icon{width:26px;height:26px;}
.license-card h3{margin:0 0 10px;font-size:18px;}
.license-card p{color:var(--ink-muted);font-size:13.5px;margin:0 0 8px;}
.license-card p:last-child{margin-bottom:0;}
.license-card .eyebrow{margin-bottom:10px;}
@media (max-width:600px){.license-card{flex-direction:column;}}

/* ---------- Services ---------- */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:900px){.service-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.service-grid{grid-template-columns:1fr;}}
.service-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px 24px 26px;transition:.15s;display:flex;flex-direction:column;}
a.service-card:hover{border-color:var(--brand-2);transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(20,32,44,0.25);}
.service-photo{width:100%;height:150px;object-fit:cover;border-radius:12px;margin-bottom:16px;}
.service-card .si{width:44px;height:44px;border-radius:12px;background:var(--green-soft);color:var(--green);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.service-card .si .icon{width:22px;height:22px;}
.service-card h3{font-size:16.5px;margin:0 0 8px;}
.service-card p{font-size:13.5px;color:var(--ink-muted);margin:0 0 14px;flex:1;}
.service-card .link-more{font-size:13px;}

.systems-card{margin-top:36px;background:linear-gradient(180deg,var(--card),var(--bg-alt));border-color:var(--border-strong);}
.systems-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:700px){.systems-row{grid-template-columns:1fr;}}
.system-item{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:14px 16px;}
.system-item strong{display:block;font-size:14.5px;font-family:'Golos Text',sans-serif;letter-spacing:.02em;}
.system-item span{color:var(--ink-muted);font-size:12.5px;}
.systems-card p.note{color:var(--ink-muted);font-size:13.5px;margin:16px 0 0;}
.systems-card p.note a{color:var(--brand-2);font-weight:700;}

/* ---------- Projects / brands ---------- */
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.project-grid.two{grid-template-columns:repeat(2,1fr);}
@media (max-width:900px){.project-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.project-grid,.project-grid.two{grid-template-columns:1fr;}}
.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.15s;}
a.project-card:hover{border-color:var(--brand-2);transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(20,32,44,0.25);}
.project-thumb-img{height:190px;width:100%;object-fit:cover;background:var(--bg-alt);}
.project-thumb-empty{height:190px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:rgba(255,255,255,.9);}
.project-thumb-empty .icon{width:44px;height:44px;}
.project-body{padding:18px 20px 20px;}
.tag{display:inline-block;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);margin-bottom:10px;}
.project-body h4{margin:0 0 4px;font-size:15.5px;}
.project-body .meta{font-size:12.5px;color:var(--ink-soft);}
.brand-card .project-thumb-img{height:210px;}

/* ---------- News ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:900px){.news-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.news-grid{grid-template-columns:1fr;}}
.news-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;}
.news-card .news-thumb{height:170px;width:100%;object-fit:cover;}
.news-card .news-body{padding:22px;display:flex;flex-direction:column;flex:1;}
.news-card .nd{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--brand-2);font-weight:600;margin-bottom:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.news-card h4{font-size:15.5px;margin:0 0 8px;line-height:1.35;}
.news-card h4 a:hover{color:var(--brand-2);}
.news-card p{font-size:13.5px;color:var(--ink-muted);margin:0 0 12px;flex:1;}
.news-card .more{font-size:13px;font-weight:700;color:var(--ink);}
.news-card .more:hover{color:var(--brand-2);}
.cat-badge{display:inline-block;font-family:'Inter',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:999px;background:rgba(238,106,31,.1);color:var(--brand-2);}
.cat-badge.badge-tips{background:var(--green-soft);color:var(--green);}
.cat-badge.badge-company{background:rgba(20,32,46,.08);color:var(--ink);}
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px;}
.filter-tabs a{padding:8px 16px;border-radius:999px;border:1px solid var(--border-strong);font-size:13.5px;font-weight:600;color:var(--ink-muted);background:var(--card);}
.filter-tabs a:hover{border-color:var(--brand-2);color:var(--brand-2);}
.filter-tabs a.active{background:var(--dark);border-color:var(--dark);color:#fff;}
.pagination{display:flex;gap:6px;justify-content:center;margin-top:40px;}
.pagination a,.pagination span{min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border-strong);font-weight:600;font-size:14px;background:var(--card);}
.pagination .current{background:var(--dark);color:#fff;border-color:var(--dark);}

/* ---------- Detail pages ---------- */
.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start;}
@media (max-width:900px){.detail-grid{grid-template-columns:1fr;}}
.detail-cover{width:100%;border-radius:var(--radius);margin-bottom:30px;max-height:520px;object-fit:cover;}
.detail-cover-portrait{display:block;max-width:360px;margin:0 auto 30px;}
.detail-cover-portrait img{border-radius:var(--radius);}
.detail-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;}
.detail-meta > div{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 16px;min-width:160px;}
.detail-meta .lbl{display:block;font-size:11.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-weight:700;}
.detail-meta .val{font-weight:600;font-size:14.5px;}
.side-card{background:var(--dark);color:var(--dark-text);border-radius:var(--radius);padding:28px;position:sticky;top:calc(var(--header-h) + 20px);}
.side-card .si{width:46px;height:46px;border-radius:12px;background:rgba(247,172,33,.15);color:var(--brand-1);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.side-card h3{margin:0 0 8px;font-size:18px;}
.side-card p{color:var(--dark-muted);font-size:14px;margin:0 0 20px;}
.side-card .side-contacts{margin-top:18px;padding-top:16px;border-top:1px solid var(--dark-border);font-size:13.5px;display:grid;gap:8px;}
.side-card .side-contacts a{display:flex;gap:8px;align-items:center;color:var(--dark-text);}
.side-card .side-contacts .icon{color:var(--brand-1);}

.prose{font-size:16px;color:#2a3542;max-width:780px;}
.prose.center{margin:0 auto;}
.prose p{margin:0 0 1.1em;}
.prose h2{font-size:24px;margin:1.6em 0 .6em;color:var(--ink);}
.prose h3{font-size:19px;margin:1.4em 0 .5em;color:var(--ink);}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.1em;}
.prose li{margin-bottom:.35em;}
.prose a{color:var(--brand-2);text-decoration:underline;}
.prose img{border-radius:12px;margin:1em 0;height:auto;}
.prose blockquote{margin:1.2em 0;padding:12px 20px;border-left:4px solid var(--brand-1);background:var(--bg-alt);border-radius:0 12px 12px 0;}
.prose table{width:100%;border-collapse:collapse;margin:1em 0;font-size:14.5px;}
.prose th,.prose td{border:1px solid var(--border-strong);padding:9px 12px;text-align:left;}
.prose th{background:var(--bg-alt);}
.table-scroll{overflow-x:auto;}

.gallery-heading{font-size:22px;margin:50px 0 18px;}
.project-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:30px;}
.gallery-thumb{display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:var(--bg-alt);}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.gallery-thumb:hover img{transform:scale(1.05);}
.lightbox{position:fixed;inset:0;background:rgba(8,14,22,.93);z-index:200;display:none;align-items:center;justify-content:center;padding:40px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:100%;max-height:100%;border-radius:8px;}
.lightbox button{position:absolute;background:rgba(255,255,255,.1);border:none;color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lightbox button:hover{background:rgba(255,255,255,.2);}
.lightbox-close{top:20px;right:20px;}
.lightbox-prev{left:20px;top:50%;transform:translateY(-50%) rotate(180deg);}
.lightbox-next{right:20px;top:50%;transform:translateY(-50%);}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:30px;}
@media (max-width:520px){.contact-form{padding:22px;}}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
@media (max-width:520px){.cf-row{grid-template-columns:1fr;}}
.contact-form label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-muted);margin-bottom:6px;}
.contact-form label .req{color:var(--red);}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--border-strong);border-radius:10px;
  padding:11px 13px;font-family:'Inter',system-ui,sans-serif;font-size:14px;background:var(--bg);color:var(--ink);}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--brand-2);}
.contact-form textarea{resize:vertical;min-height:120px;margin-bottom:16px;display:block;}
.contact-form .cf-error{color:var(--red);font-size:12px;margin-top:4px;display:none;}
.contact-form .has-error input,.contact-form .has-error textarea{border-color:var(--red);}
.contact-form .has-error .cf-error{display:block;}
.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}
.alert{padding:14px 18px;border-radius:12px;margin-bottom:18px;font-size:14px;}
.alert-success{background:var(--green-soft);color:#12622f;border:1px solid rgba(28,138,67,.25);}
.alert-error{background:rgba(214,40,40,.08);color:#9b1c1c;border:1px solid rgba(214,40,40,.25);}
.info-card{background:var(--dark);color:var(--dark-text);border-radius:var(--radius);padding:30px;}
.info-row{display:flex;gap:14px;margin-bottom:20px;}
.info-row .ii{width:38px;height:38px;border-radius:10px;background:rgba(247,172,33,0.15);color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.info-row .it{font-size:11.5px;color:var(--dark-dim);margin-bottom:3px;}
.info-row .iv{font-size:14.5px;font-weight:600;word-break:break-word;}
.info-row .iv a:hover{color:var(--brand-1);}
.map-block{margin-top:6px;border-radius:12px;overflow:hidden;height:220px;background:repeating-linear-gradient(45deg,#15263a,#15263a 10px,#122236 10px,#122236 20px);
  display:flex;align-items:center;justify-content:center;color:var(--dark-dim);font-size:12px;font-family:'IBM Plex Mono',monospace;}
.map-block iframe{width:100%;height:100%;border:0;}

/* ---------- Share ---------- */
.share-buttons{padding:10px 0 50px;}
.share-buttons-inner{display:flex;gap:10px;justify-content:flex-end;}
.btn-share{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:700;background:#1877f2;color:#fff;}
.btn-share:hover{opacity:.9;}

/* ---------- Footer ---------- */
.site-footer{background:var(--dark);color:var(--dark-muted);padding:56px 0 26px;margin-top:20px;position:relative;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:36px;margin-bottom:40px;}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr;}}
.footer-brand img{height:90px;width:auto;margin-bottom:14px;}
.footer-brand p{font-size:13px;max-width:280px;color:var(--dark-dim);margin:0 0 14px;}
.footer-social{display:flex;gap:8px;}
.footer-social a{width:34px;height:34px;border-radius:50%;border:1px solid var(--dark-border-strong);display:flex;align-items:center;justify-content:center;color:var(--dark-text);}
.footer-social a:hover{border-color:var(--brand-1);color:var(--brand-1);}
.footer-col h5{color:var(--dark-text);font-size:13px;margin:0 0 14px;}
.footer-col a,.footer-col .footer-address{display:block;font-size:13.5px;color:var(--dark-muted);margin-bottom:10px;word-break:break-word;}
.footer-col .footer-address{color:var(--dark-dim);font-size:12.5px;}
.footer-col a:hover{color:var(--brand-1);}
.footer-bottom{border-top:1px solid var(--dark-border);padding-top:22px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:10px;font-size:12px;color:var(--dark-dim);}
.scroll-top-btn{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;border:none;background:var(--brand-grad);color:#1a1103;
  cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -8px rgba(238,106,31,.6);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s;z-index:40;}
.scroll-top-btn.show{opacity:1;visibility:visible;transform:none;}

/* ---------- Maintenance page ---------- */
.maint-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px;background:var(--bg-alt);}
.maint-card{background:#fff;border-radius:22px;padding:44px 36px;max-width:520px;text-align:center;box-shadow:0 30px 60px -30px rgba(0,0,0,.3);}
.maint-logo{height:90px;margin:0 auto 20px;}
.maint-icon{width:56px;height:56px;border-radius:50%;background:rgba(238,106,31,.12);color:var(--brand-2);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.maint-card h1{margin:0 0 10px;font-size:24px;}
.maint-card p{color:var(--ink-muted);}
.maint-contact{display:flex;flex-direction:column;gap:8px;margin-top:20px;font-weight:600;align-items:center;}
.maint-contact a{display:inline-flex;gap:8px;align-items:center;}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;scroll-behavior:auto !important;}
}

/* Тооцоолуурын хүснэгт утсан дээр багтахгүй үед хэвтээ гүйлгэнэ
   (calculator.css-ийг анхны хэвээр нь үлдээж, энд л нэмэв). */
@media (max-width:560px){
  table.app-table{display:block;overflow-x:auto;white-space:nowrap;}
  table.app-table input{min-width:58px;}
  table.app-table td:first-child input{min-width:130px;}
}

/* ---------- Hero banner (цэсний доорх бүтэн өргөн зурган баннер) ---------- */
.hero-banner{position:relative;overflow:hidden;background:var(--dark);color:#fff;
  min-height:clamp(560px,82vh,760px);display:flex;align-items:center;}
.hero-banner .hs-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;transform:scale(1.04);}
.hero-banner .hs-slide.active{opacity:1;animation:heroZoom 9s ease-out forwards;}
@keyframes heroZoom{from{transform:scale(1.08);}to{transform:scale(1);}}
.hero-banner-overlay{position:absolute;inset:0;z-index:1;
  background:linear-gradient(95deg,rgba(10,20,32,.88) 0%,rgba(10,20,32,.70) 42%,rgba(10,20,32,.18) 100%),
             linear-gradient(0deg,rgba(10,20,32,.55),transparent 35%);}
.hero-banner-inner{position:relative;z-index:2;padding-top:80px;padding-bottom:110px;width:100%;}
.hero-banner .eyebrow{color:var(--brand-1);}
.hero-banner h1{font-size:clamp(32px,4.8vw,56px);line-height:1.1;font-weight:800;margin:0 0 18px;letter-spacing:-0.01em;max-width:760px;color:#fff;}
.hero-banner h1 span{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-banner p.lead{color:rgba(255,255,255,.85);font-size:17px;max-width:520px;margin:0 0 28px;}
.btn-outline-light{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(4px);}
.btn-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.14);}
.hero-banner .license-badge{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.88);backdrop-filter:blur(6px);}
.hero-banner .license-badge .dot{background:rgba(28,138,67,.25);color:#6fdc94;}
.hero-banner .hs-dots{bottom:76px;z-index:3;}
.hero-banner.no-slides{min-height:auto;}
.hero-stats-wrap{position:relative;z-index:4;margin-top:-52px;}
.hero-stats-wrap .stats-bar{margin:0;box-shadow:0 24px 50px -24px rgba(10,20,32,.55);border:1px solid rgba(255,255,255,.06);}
@media (max-width:760px){
  .hero-banner{min-height:auto;}
  .hero-banner-inner{padding-top:56px;padding-bottom:96px;}
  .hero-banner-overlay{background:linear-gradient(180deg,rgba(10,20,32,.72),rgba(10,20,32,.86));}
  .hero-banner .hs-dots{bottom:66px;}
  .hero-actions .btn{flex:1 1 auto;justify-content:center;}
}

/* Эрхэм зорилго / Алсын хараа / үнэт зүйлсийн картуудыг голлуулна */
.value-card{text-align:center;}
.value-card .vi{margin-left:auto;margin-right:auto;}
