/*
Theme Name: ENCOT Microfinance V14 Mobile Menu Fix
Theme URI: https://microfinance.encot.org/
Author: OpenAI
Author URI: https://openai.com/
Description: Installable WordPress theme rebuilt from the live ENCOT Microfinance website with real visible content, real downloaded site images, real partner logos, stronger colors, improved inner-page styling, and a more premium financial-institution presentation.
Version: 14.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: encot-microfinance-pro
*/

:root {
  --encot-teal: #16756f;
  --encot-teal-dark: #0d4e4a;
  --encot-teal-soft: #edf8f7;
  --encot-orange: #f08b2f;
  --encot-orange-dark: #d56f0b;
  --encot-gold: #f7b74a;
  --encot-navy: #0b2239;
  --encot-navy-soft: #12395a;
  --encot-text: #213549;
  --encot-muted: #637589;
  --encot-bg: #f4f8fb;
  --encot-panel: #ffffff;
  --encot-panel-soft: #f9fcfe;
  --encot-border: #dbe8ef;
  --encot-shadow: 0 18px 40px rgba(11, 34, 57, 0.08);
  --encot-shadow-lg: 0 28px 70px rgba(11, 34, 57, 0.14);
  --encot-radius: 24px;
  --encot-radius-sm: 18px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--encot-text);
  background: linear-gradient(180deg, #ffffff 0%, var(--encot-bg) 100%);
  line-height: 1.7;
}
a { color: var(--encot-teal); text-decoration: none; }
a:hover { color: var(--encot-teal-dark); }
img { max-width: 100%; height: auto; display: block; }
.container { width: min(1220px, calc(100% - 32px)); margin: 0 auto; }
.section { padding: 86px 0; }
.section-sm { padding: 54px 0; }
.section-xs { padding: 32px 0; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.muted { color: var(--encot-muted); }
.mb-0 { margin-bottom: 0; }
.mt-0 { margin-top: 0; }
.lead { font-size: 18px; color: var(--encot-muted); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(219,232,239,.95);
}
.topbar {
  background: linear-gradient(90deg, var(--encot-navy), var(--encot-navy-soft), var(--encot-teal-dark));
  color: #eff7ff;
  font-size: 14px;
}
.topbar .container {
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:center; padding:10px 0;
}
.topbar a { color:#fff; }
.brand-row {
  display:grid; grid-template-columns:auto 1fr auto; gap:24px; align-items:center; padding:16px 0;
}
.brand-stack { display:flex; align-items:center; gap:14px; min-width:0; }
.site-logo-link { display:inline-flex; align-items:center; }
.site-logo { max-height:70px; width:auto; }
.site-branding { min-width:0; }
.site-title { display:block; font-size:27px; font-weight:800; letter-spacing:-.03em; color:var(--encot-navy); }
.site-tagline { margin:3px 0 0; font-size:14px; color:var(--encot-muted); }
.header-cta {
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 24px; border-radius:999px;
  font-weight:800; color:#fff; background:linear-gradient(135deg, var(--encot-orange), var(--encot-orange-dark));
  box-shadow:0 16px 34px rgba(240,139,47,.27);
  animation:encotCtaFloat 2.8s ease-in-out infinite, encotCtaPulse 2.8s ease-in-out infinite;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.header-cta::after {
  content:'➜';
  font-size:15px;
  line-height:1;
  animation:encotCtaArrow 1.2s ease-in-out infinite;
}
.header-cta::before {
  content:'';
  position:absolute;
  top:0;
  left:-120%;
  width:70%;
  height:100%;
  transform:skewX(-24deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
  animation:encotCtaShine 3.6s ease-in-out infinite;
}
.header-cta:hover { color:#fff; transform:translateY(-3px) scale(1.02); box-shadow:0 22px 44px rgba(240,139,47,.36); filter:saturate(1.08); }
.header-cta:focus-visible { outline:3px solid rgba(240,139,47,.25); outline-offset:4px; }
@keyframes encotCtaFloat {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-3px); }
}
@keyframes encotCtaPulse {
  0%,100% { box-shadow:0 16px 34px rgba(240,139,47,.27), 0 0 0 0 rgba(240,139,47,.18); }
  50% { box-shadow:0 22px 40px rgba(240,139,47,.34), 0 0 0 10px rgba(240,139,47,0); }
}
@keyframes encotCtaArrow {
  0%,100% { transform:translateX(0); }
  50% { transform:translateX(3px); }
}
@keyframes encotCtaShine {
  0%, 20% { left:-120%; }
  55% { left:140%; }
  100% { left:140%; }
}

@media (prefers-reduced-motion: reduce) {
  .header-cta, .header-cta::before, .header-cta::after { animation:none !important; }
}

.menu-toggle {
  display:none; background:var(--encot-navy); color:#fff; border:0; border-radius:14px; padding:12px 16px; font-weight:700; cursor:pointer;
}
.main-navigation { justify-self:center; }
.main-navigation ul { list-style:none; margin:0; padding:0; display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.main-navigation li { position:relative; }
.main-navigation > div > ul > li { padding:18px 0; }
.main-navigation a { color:var(--encot-navy); font-size:15px; font-weight:700; }
.main-navigation > div > ul > li > a { display:inline-flex; align-items:center; padding:6px 0; }
.main-navigation .menu-item-has-children > a::after { content:' ▾'; font-size:12px; }
.main-navigation ul ul {
  opacity:0; visibility:hidden; pointer-events:none; display:block; position:absolute; left:0; top:100%; min-width:310px; padding:12px;
  background:#fff; border-radius:20px; border:1px solid var(--encot-border); box-shadow:var(--encot-shadow-lg); transform:translateY(8px); transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.main-navigation li:hover > ul,
.main-navigation li:focus-within > ul,
.main-navigation li.submenu-open > ul {
  opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0);
}
.main-navigation ul ul li { margin:6px 0; padding:0; }
.main-navigation ul ul a { display:block; padding:12px 14px; border-radius:12px; font-weight:700; }
.main-navigation ul ul a:hover,
.main-navigation ul ul a:focus-visible { background:var(--encot-teal-soft); color:var(--encot-teal-dark); }
.main-navigation ul ul::before {
  content:''; position:absolute; top:-10px; left:24px; border-left:10px solid transparent; border-right:10px solid transparent; border-bottom:10px solid #fff;
}



.submenu-toggle {
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(219,232,239,.95);
  background:#fff;
  color:var(--encot-navy);
  font-size:16px;
  font-weight:900;
  box-shadow:none;
  padding:0;
}
.submenu-toggle:hover { transform:none; background:var(--encot-teal-soft); color:var(--encot-teal-dark); }
.submenu-toggle:focus-visible { outline:3px solid rgba(22,117,111,.18); outline-offset:2px; }
.menu-item-has-children.submenu-open > .submenu-toggle { background:var(--encot-teal-soft); color:var(--encot-teal-dark); }

@media (max-width: 991px) {
  .brand-row { grid-template-columns:1fr auto; }
  .menu-toggle { display:inline-flex; }
  .main-navigation { display:none; grid-column:1 / -1; justify-self:stretch; }
  .main-navigation.open { display:block; }
  .main-navigation ul { flex-direction:column; align-items:stretch; gap:0; background:#fff; padding:10px; border:1px solid var(--encot-border); border-radius:18px; box-shadow:var(--encot-shadow); }
  .main-navigation > div > ul > li { padding:0; border-bottom:1px solid rgba(219,232,239,.8); }
  .main-navigation > div > ul > li:last-child { border-bottom:0; }
  .main-navigation > div > ul > li { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
  .main-navigation > div > ul > li > a { display:flex; align-items:center; padding:14px 12px; min-width:0; }
  .main-navigation .menu-item-has-children > a::after { display:none; }
  .submenu-toggle { display:inline-flex; margin-right:10px; }
  .main-navigation ul ul { grid-column:1 / -1; position:static; min-width:0; margin:0 8px 10px; padding:8px; border-radius:14px; box-shadow:none; border:1px solid rgba(219,232,239,.9); opacity:1; visibility:visible; pointer-events:auto; display:none; transform:none; }
  .main-navigation li.submenu-open > ul { display:block; }
  .main-navigation li:hover > ul, .main-navigation li:focus-within > ul { display:none; }
  .main-navigation li.submenu-open:hover > ul, .main-navigation li.submenu-open:focus-within > ul { display:block; }
  .main-navigation ul ul::before { display:none; }
  .header-cta { justify-self:end; }
}


.btn, .wp-block-button__link, button, input[type="submit"] {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:15px 24px; line-height:1;
  border-radius:999px; border:0; font-weight:800; cursor:pointer; transition:.2s ease;
}
.btn:hover, button:hover, input[type="submit"]:hover { transform:translateY(-2px); }
.btn-primary, button, input[type="submit"] {
  color:#fff; background:linear-gradient(135deg, var(--encot-teal), var(--encot-teal-dark)); box-shadow:0 18px 35px rgba(22,117,111,.22);
}
.btn-outline { background:#fff; color:var(--encot-teal); border:1.5px solid rgba(22,117,111,.24); }
.btn-accent {
  color:#fff; background:linear-gradient(135deg, var(--encot-orange), var(--encot-orange-dark)); box-shadow:0 18px 34px rgba(240,139,47,.26);
}
.btn-dark { color:#fff; background:linear-gradient(135deg, var(--encot-navy), var(--encot-navy-soft)); }

.hero {
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at left top, rgba(22,117,111,.18), transparent 32%),
    radial-gradient(circle at right top, rgba(240,139,47,.18), transparent 26%),
    linear-gradient(180deg, #f9fdfd 0%, #edf6fa 100%);
  padding:100px 0 88px;
}
.hero::before {
  content:''; position:absolute; right:-80px; bottom:-140px; width:320px; height:320px; border-radius:50%;
  background:rgba(240,139,47,.11); filter:blur(28px);
}
.hero::after {
  content:''; position:absolute; left:-60px; top:40px; width:240px; height:240px; border-radius:50%;
  background:rgba(22,117,111,.09); filter:blur(20px);
}
.hero-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:34px; align-items:center; }
.eyebrow {
  display:inline-flex; align-items:center; gap:10px; padding:9px 16px; border-radius:999px; font-size:13px; font-weight:800;
  background:rgba(22,117,111,.10); color:var(--encot-teal-dark); margin-bottom:16px;
}
.hero h1, .hero h2 { margin:0 0 18px; font-size:clamp(36px,4.4vw,64px); line-height:1.02; letter-spacing:-.045em; color:var(--encot-navy); }
.hero p { font-size:18px; color:var(--encot-muted); margin:0 0 28px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.hero-panel, .glass-panel {
  position:relative; background:rgba(255,255,255,.78); border:1px solid rgba(219,232,239,.92); border-radius:28px; box-shadow:var(--encot-shadow-lg);
  padding:28px;
}
.hero-logo-wrap {
  display:flex; align-items:center; justify-content:flex-start; padding:18px; border-radius:24px;
  background:linear-gradient(135deg, rgba(22,117,111,.08), rgba(240,139,47,.08)); border:1px solid rgba(219,232,239,.85);
}
.subtle-label, .meta-badge {
  display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.02em;
  background:rgba(11,34,57,.06); color:var(--encot-navy);
}
.meta-badge.alt { background:rgba(240,139,47,.13); color:#934c03; }
.check-list { list-style:none; padding:0; margin:0; }
.check-list li { position:relative; padding-left:28px; margin:12px 0; }
.check-list li::before { content:'✓'; position:absolute; left:0; top:0; color:var(--encot-teal); font-weight:900; }
.hero-badge-grid, .trust-ribbon { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.mini-badge, .trust-chip {
  padding:10px 14px; border-radius:999px; background:#fff; border:1px solid var(--encot-border); color:var(--encot-navy); font-size:13px; font-weight:700;
}
.hero-stats, .stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:26px; }
.stat-box, .stat-card {
  background:#fff; padding:18px; border-radius:22px; border:1px solid var(--encot-border); box-shadow:var(--encot-shadow);
}
.stat-box strong, .stat-card strong { display:block; font-size:28px; color:var(--encot-navy); margin-bottom:4px; }
.stat-box span, .stat-card span { color:var(--encot-muted); font-size:14px; }
.section-title { margin:0 0 14px; font-size:clamp(30px,3vw,48px); line-height:1.08; letter-spacing:-.03em; color:var(--encot-navy); }
.section-intro { width:min(760px,100%); margin:0 auto 28px; color:var(--encot-muted); font-size:18px; }

.metrics-bar, .surface-panel {
  background:linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%); border:1px solid var(--encot-border); border-radius:30px; box-shadow:var(--encot-shadow);
}
.metrics-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding:26px; }
.metric-number { display:block; font-size:42px; color:var(--encot-orange); font-weight:900; line-height:1; margin-bottom:8px; }
.cards-2, .cards-3, .cards-4, .archive-grid, .branch-grid, .partner-grid, .timeline-grid, .impact-grid, .team-grid, .info-grid {
  display:grid; gap:22px;
}
.cards-2 { grid-template-columns:repeat(2,1fr); }
.cards-3, .archive-grid, .impact-grid { grid-template-columns:repeat(3,1fr); }
.cards-4, .partner-grid { grid-template-columns:repeat(4,1fr); }
.branch-grid { grid-template-columns:repeat(3,1fr); }
.info-grid { grid-template-columns:repeat(4,1fr); }
.card, .entry-card, .contact-card, .feature-panel, .process-step, .branch-card, .partner-card, .impact-card, .team-card, .info-card {
  background:var(--encot-panel); padding:26px; border-radius:24px; border:1px solid var(--encot-border); box-shadow:var(--encot-shadow);
}
.card h3, .entry-card h3, .contact-card h3, .feature-panel h3, .process-step h3, .branch-card h3, .impact-card h3, .team-card h3, .info-card h3 {
  margin:12px 0 10px; color:var(--encot-navy); font-size:24px; line-height:1.15;
}
.card p, .entry-card p, .contact-card p, .feature-panel p, .process-step p, .branch-card p, .impact-card p, .team-card p, .info-card p { color:var(--encot-muted); }
.icon-circle {
  display:inline-flex; width:56px; height:56px; align-items:center; justify-content:center; border-radius:50%; font-size:22px; font-weight:900;
  background:linear-gradient(135deg, rgba(22,117,111,.12), rgba(240,139,47,.12)); color:var(--encot-teal-dark);
}
.split { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cta-strip {
  background:linear-gradient(135deg, var(--encot-navy), var(--encot-navy-soft)); color:#fff; padding:34px; border-radius:30px; box-shadow:var(--encot-shadow-lg);
}
.cta-strip h3, .cta-strip p { color:#fff; }
.cta-strip .btn-outline { background:transparent; color:#fff; border-color:rgba(255,255,255,.28); }
.info-ribbon {
  background:linear-gradient(90deg, rgba(22,117,111,.08), rgba(240,139,47,.08)); padding:18px 20px; border:1px solid var(--encot-border); border-radius:22px;
}
.highlight-banner {
  background:linear-gradient(135deg, rgba(22,117,111,.08), rgba(11,34,57,.03), rgba(240,139,47,.10)); border:1px solid var(--encot-border);
  border-radius:30px; padding:32px;
}
.partner-card {
  min-height:140px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; background:linear-gradient(180deg, #fff 0%, #f9fcfe 100%);
}
.partner-mark {
  width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg, var(--encot-orange), var(--encot-teal)); margin-bottom:12px; opacity:.9;
}
.team-avatar {
  width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg, rgba(22,117,111,.15), rgba(240,139,47,.15)); display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:900; color:var(--encot-navy);
}
.branch-card .branch-meta { display:block; margin-top:8px; font-size:14px; color:var(--encot-muted); }
.branch-card .branch-phone { margin-top:10px; display:inline-block; font-weight:700; }
.entry-meta { font-size:14px; color:var(--encot-muted); }
.page-hero {
  position:relative; overflow:hidden; padding:54px 0 50px; background:linear-gradient(180deg, #fff 0%, #f4f9fb 100%); border-bottom:1px solid var(--encot-border);
}
.page-hero h1 { margin:0 0 12px; font-size:clamp(34px,3.8vw,54px); line-height:1.05; color:var(--encot-navy); }
.page-hero p { max-width:760px; margin:0; color:var(--encot-muted); font-size:17px; }
.breadcrumbs { font-size:14px; color:var(--encot-muted); margin-bottom:14px; }
.content-shell {
  width:min(920px, calc(100% - 32px)); margin:0 auto; background:rgba(255,255,255,.92); padding:36px; border:1px solid var(--encot-border); border-radius:28px; box-shadow:var(--encot-shadow);
}
.entry-content > *:first-child { margin-top:0; }
.entry-content h2, .entry-content h3 { color:var(--encot-navy); }
.entry-content ul li { margin:8px 0; }
.notice {
  padding:16px 18px; border-radius:16px; margin-bottom:18px; border:1px solid var(--encot-border);
}
.notice-success { background:#effaf5; color:#166534; }
.notice-error { background:#fff3f0; color:#9a3412; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.form-group { margin-bottom:16px; }
label { display:block; font-weight:700; color:var(--encot-navy); }
input[type="text"], input[type="email"], input[type="number"], input[type="date"], select, textarea {
  width:100%; margin-top:8px; padding:15px 16px; border-radius:16px; border:1px solid #cfdde7; background:#fff; color:var(--encot-text); font:inherit;
}
textarea { min-height:150px; resize:vertical; }
.loan-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:24px; }
.footer-grid { display:grid; grid-template-columns:1.15fr .9fr .8fr .9fr; gap:24px; }
.site-footer {
  margin-top:78px; background:linear-gradient(180deg, var(--encot-navy) 0%, #091a2b 100%); color:#dce8f5; padding:68px 0 18px;
}
.site-footer h4 { color:#fff; margin-top:0; }
.site-footer p, .site-footer li, .site-footer a { color:#dce8f5; }
.site-footer ul { list-style:none; padding:0; margin:0; }
.site-footer li { margin:8px 0; }
.footer-brand { display:flex; gap:14px; align-items:center; }
.footer-brand img { max-height:58px; }
.copyright {
  margin-top:28px; padding-top:18px; border-top:1px solid rgba(220,232,245,.15); text-align:center; color:#b8cadf; font-size:14px;
}
.search-form { display:flex; gap:12px; }
.search-form label { flex:1; }
.search-form .search-field { margin-top:0; }

@media (max-width: 1100px) {
  .brand-row { grid-template-columns:1fr auto; }
  .main-navigation { grid-column:1 / -1; order:3; }
  .header-cta { display:none; }
  .hero-grid, .split, .loan-layout, .footer-grid { grid-template-columns:1fr; }
  .cards-4, .info-grid { grid-template-columns:repeat(2,1fr); }
  .cards-3, .archive-grid, .impact-grid, .branch-grid, .team-grid, .process-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 860px) {
  .menu-toggle { display:inline-flex; }
  .main-navigation { display:none; }
  .main-navigation.active { display:block; }
  .main-navigation ul { flex-direction:column; align-items:stretch; gap:12px; }
  .main-navigation .menu-item-has-children > a::after { display:none; }
  .submenu-toggle { display:inline-flex; }
  .main-navigation ul ul { position:static; display:none; box-shadow:none; border:1px solid var(--encot-border); margin-top:10px; min-width:0; }
  .main-navigation li.submenu-open > ul { display:block; }
  .main-navigation li:hover > ul, .main-navigation li:focus-within > ul { display:none; }
  .main-navigation li.submenu-open:hover > ul, .main-navigation li.submenu-open:focus-within > ul { display:block; }
  .hero { padding:82px 0 70px; }
  .hero-stats, .stats-grid, .metrics-grid, .cards-2, .cards-3, .cards-4, .archive-grid, .branch-grid, .partner-grid, .process-grid, .impact-grid, .team-grid, .info-grid, .form-grid {
    grid-template-columns:1fr;
  }
  .content-shell { padding:26px; }
}
@media (max-width: 600px) {
  .container { width:min(100% - 20px, 1220px); }
  .section { padding:64px 0; }
  .site-title { font-size:22px; }
  .hero h1, .hero h2, .page-hero h1 { font-size:34px; }
  .cta-strip { padding:24px; }
  .card, .entry-card, .contact-card, .feature-panel, .process-step, .branch-card, .partner-card, .impact-card, .team-card, .info-card, .hero-panel, .glass-panel { padding:22px; }
}


.hero-premium { background: radial-gradient(circle at top right, rgba(240,139,47,.18), transparent 30%), linear-gradient(135deg, var(--encot-teal-dark), var(--encot-teal)); color:#fff; }
.hero-premium .eyebrow,.hero-premium p,.hero-premium span,.hero-premium li { color:rgba(255,255,255,.88); }
.premium-grid { align-items:center; }
.hero-media-card { background:rgba(255,255,255,.12); backdrop-filter: blur(8px); border:1px solid rgba(255,255,255,.16); padding:24px; border-radius:32px; box-shadow:var(--encot-shadow-lg); }
.hero-photo { width:100%; border-radius:24px; display:block; margin-top:18px; aspect-ratio: 4/3; object-fit:cover; }
.hero-premium .hero-logo-wrap { background:#fff; padding:18px; border-radius:20px; }
.hero-premium .hero-logo-wrap img { max-width:100%; height:auto; }
.section-tinted { background: linear-gradient(180deg, #fff 0%, #eef8f7 100%); }
.section-dark-accent { background: linear-gradient(135deg, var(--encot-navy), #163b52); color:#fff; }
.section-dark-accent .section-title,.section-dark-accent p,.section-dark-accent blockquote,.section-dark-accent strong { color:#fff; }
.service-visual-grid,.project-grid,.loan-products-grid,.gallery-grid,.faq-grid { display:grid; gap:24px; }
.service-visual-grid { grid-template-columns:repeat(3,1fr); }
.service-visual-card { background:#fff; border:1px solid var(--encot-border); border-radius:var(--encot-radius); box-shadow:var(--encot-shadow); padding:28px; text-align:left; }
.service-visual-card img { width:104px; height:104px; object-fit:contain; display:block; margin-bottom:14px; }
.showcase-split,.center-split { align-items:center; }
.showcase-image-stack { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.showcase-image-stack img { width:100%; border-radius:22px; object-fit:cover; min-height:240px; box-shadow:var(--encot-shadow); }
.project-grid { grid-template-columns:repeat(3,1fr); }
.project-card { background:#fff; border-radius:24px; overflow:hidden; box-shadow:var(--encot-shadow); border:1px solid var(--encot-border); }
.project-card img { width:100%; height:220px; object-fit:cover; display:block; background:var(--encot-teal-soft); }
.project-card div { padding:24px; text-align:left; }
.testimonial-panel { background:#fff; color:var(--encot-text); border-radius:28px; padding:24px; box-shadow:var(--encot-shadow-lg); max-width:430px; }
.testimonial-panel img { width:100%; border-radius:20px; display:block; margin-bottom:16px; }
.testimonial-panel blockquote { margin:0 0 12px; font-size:22px; line-height:1.45; color:var(--encot-navy); }
.real-partners { grid-template-columns:repeat(3,1fr); }
.partner-logo-card { text-align:center; }
.partner-logo-card img { width:100%; max-width:210px; height:110px; object-fit:contain; margin:0 auto 14px; display:block; }
.photo-card { overflow:hidden; padding:0; }
.photo-card img { width:100%; height:300px; object-fit:cover; display:block; }
.team-copy { padding:22px; }
.team-copy .role { color:var(--encot-orange-dark); font-weight:700; }
.board-grid .photo-card img { height:260px; object-fit:contain; background:#f7fbfc; }
.content-image-banner { margin-bottom:26px; }
.content-image-banner img { width:100%; max-height:420px; object-fit:cover; border-radius:28px; box-shadow:var(--encot-shadow); }
.leadership-message { display:grid; grid-template-columns:320px 1fr; gap:28px; align-items:center; }
.leadership-photo img { width:100%; border-radius:26px; box-shadow:var(--encot-shadow); }
.product-card,.faq-card,.gallery-card { background:#fff; border:1px solid var(--encot-border); border-radius:24px; box-shadow:var(--encot-shadow); }
.loan-products-grid,.faq-grid { grid-template-columns:repeat(2,1fr); }
.product-card,.faq-card { padding:24px; }
.gallery-grid { grid-template-columns:repeat(3,1fr); }
.gallery-card { overflow:hidden; }
.gallery-card img { width:100%; height:240px; display:block; object-fit:cover; }
.gallery-card figcaption { padding:14px 18px; font-weight:700; }
.accent-panel { background:linear-gradient(180deg, #fef7ee 0%, #fff 100%); }
@media (max-width: 1100px) { .service-visual-grid,.project-grid,.gallery-grid,.real-partners { grid-template-columns:repeat(2,1fr); } .leadership-message { grid-template-columns:1fr; } }
@media (max-width: 860px) { .service-visual-grid,.project-grid,.loan-products-grid,.gallery-grid,.faq-grid,.real-partners,.showcase-image-stack { grid-template-columns:1fr; } }


/* Version 5 homepage polish */
.hero-actions { align-items:center; }
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:50px; padding:14px 22px; border-radius:999px; font-weight:800;
  letter-spacing:.01em; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  box-shadow:0 10px 22px rgba(11,34,57,.08);
}
.btn:hover { transform:translateY(-2px); box-shadow:0 16px 30px rgba(11,34,57,.14); }
.btn-primary { background:linear-gradient(135deg, var(--encot-orange), #ffac53); color:#fff; border-color:transparent; }
.btn-primary:hover { background:linear-gradient(135deg, var(--encot-orange-dark), var(--encot-orange)); color:#fff; }
.btn-accent { background:linear-gradient(135deg, var(--encot-teal), #1c9289); color:#fff; border-color:transparent; }
.btn-accent:hover { background:linear-gradient(135deg, var(--encot-teal-dark), var(--encot-teal)); color:#fff; }
.btn-outline { background:#fff; color:var(--encot-navy); border:1px solid rgba(11,34,57,.14); }
.btn-outline:hover { background:var(--encot-navy); color:#fff; border-color:var(--encot-navy); }
.hero-premium .btn-outline { background:rgba(255,255,255,.14); color:#fff; border-color:rgba(255,255,255,.28); }
.hero-premium .btn-outline:hover { background:#fff; color:var(--encot-navy); }
.hero-stats .stat-box {
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(5px); border-radius:24px; padding:18px 16px;
}
.hero-stats .stat-box strong { color:#fff; font-size:32px; }
.hero-stats .stat-box span { color:rgba(255,255,255,.82); }
.service-visual-card, .project-card, .management-card, .partner-slide { transition:transform .2s ease, box-shadow .2s ease; }
.service-visual-card:hover, .project-card:hover, .management-card:hover, .partner-slide:hover { transform:translateY(-6px); box-shadow:var(--encot-shadow-lg); }
.service-visual-card h3 { margin-top:0; }
.service-visual-card .btn-outline { margin-top:8px; }
.service-visual-card, .project-card div { text-align:left; }
.partners-section { overflow:hidden; }
.partner-slider {
  position:relative; overflow:hidden; margin-top:26px; padding:10px 0;
  mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
.partner-slider-track {
  display:flex; align-items:stretch; gap:22px; width:max-content;
  animation:encot-marquee 26s linear infinite;
}
.partner-slider:hover .partner-slider-track { animation-play-state:paused; }
.partner-slide {
  width:240px; flex:0 0 240px; background:#fff; border:1px solid var(--encot-border);
  border-radius:28px; padding:22px 18px; box-shadow:var(--encot-shadow);
}
.partner-logo-shell {
  height:110px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg, #fff, #f7fbfd); border-radius:20px; padding:14px;
}
.partner-logo-shell img { max-width:100%; max-height:72px; object-fit:contain; }
.partner-slide p { margin:14px 0 0; font-weight:700; color:var(--encot-navy); font-size:15px; }
@keyframes encot-marquee {
  from { transform:translateX(0); }
  to { transform:translateX(calc(-50% - 11px)); }
}
.management-section { position:relative; }
.management-grid {
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px; margin-top:30px;
}
.management-card {
  background:#fff; border:1px solid var(--encot-border); border-radius:28px; overflow:hidden;
  box-shadow:var(--encot-shadow); text-align:left;
}
.management-photo {
  aspect-ratio: 4 / 4.2; background:linear-gradient(180deg, #eef8f7, #d8efec); overflow:hidden;
}
.management-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.management-copy { padding:20px 20px 22px; }
.profile-tag {
  display:inline-flex; padding:7px 12px; border-radius:999px; background:rgba(22,117,111,.10);
  color:var(--encot-teal-dark); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px;
}
.management-copy h3 { margin:0 0 8px; font-size:21px; line-height:1.2; color:var(--encot-navy); }
.management-copy p { margin:0; color:var(--encot-muted); min-height:44px; }
.cta-strip .btn-accent { background:#fff; color:var(--encot-teal-dark); }
.cta-strip .btn-accent:hover { background:var(--encot-orange); color:#fff; }
.trust-chip {
  background:#fff; border:1px solid var(--encot-border); color:var(--encot-navy);
  border-radius:999px; padding:10px 16px; font-weight:700; box-shadow:var(--encot-shadow);
}
@media (max-width: 1100px) {
  .management-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .management-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .service-visual-grid, .project-grid { grid-template-columns:1fr; }
  .partner-slide { width:220px; flex-basis:220px; }
}
@media (max-width: 600px) {
  .management-grid { grid-template-columns:1fr; }
  .partner-slide { width:200px; flex-basis:200px; padding:18px 14px; }
  .partner-logo-shell { height:92px; }
}


.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.footer-links li{margin:0}
.footer-links a{color:#eaf6f5;text-decoration:none;font-weight:600}
.footer-links a:hover{color:#f6b24a}


.hero-slider-card { padding: 0; overflow: hidden; }
.hero-slider {
  position: relative;
  min-height: 560px;
  border-radius: 30px;
  overflow: hidden;
  background: #0b2239;
  box-shadow: var(--encot-shadow-lg);
}
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .7s ease, visibility .7s ease, transform .7s ease;
  transform: scale(1.02);
}
.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.hero-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11,34,57,.12) 0%, rgba(11,34,57,.72) 100%);
}
.hero-photo {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  display: block;
}
.hero-slide-caption {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 2;
  padding: 18px 20px;
  border-radius: 22px;
  color: #fff;
  background: rgba(7, 25, 41, .52);
  backdrop-filter: blur(8px);
}
.hero-slide-caption strong {
  display: block;
  font-size: 24px;
  margin-bottom: 6px;
}
.hero-slide-caption span {
  display: block;
  color: rgba(255,255,255,.92);
  font-size: 15px;
  line-height: 1.5;
}
.hero-slider-controls {
  position: absolute;
  left: 24px;
  bottom: 118px;
  z-index: 3;
  display: flex;
  gap: 10px;
}
.hero-slider-dot {
  width: 12px;
  height: 12px;
  padding: 0;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,.45);
  box-shadow: none;
}
.hero-slider-dot.is-active {
  width: 34px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--encot-orange), #ffd3a8);
}
.floating-loan-btn {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 18px;
  border-radius: 999px;
  color: #fff;
  font-weight: 800;
  background: linear-gradient(135deg, var(--encot-orange), var(--encot-orange-dark));
  box-shadow: 0 20px 45px rgba(240,139,47,.35);
  animation: encotFloatButton 2.8s ease-in-out infinite, encotCtaPulse 2.8s ease-in-out infinite;
}
.floating-loan-btn:hover { color: #fff; transform: translateY(-3px) scale(1.02); }
.floating-loan-btn__icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.18);
  animation: encotCtaArrow 1.2s ease-in-out infinite;
}
@keyframes encotFloatButton {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
@media (max-width: 980px) {
  .hero-slider { min-height: 420px; }
  .hero-photo { min-height: 420px; }
}
@media (max-width: 782px) {
  .hero-slider-controls { bottom: 104px; left: 18px; }
  .hero-slide-caption { left: 18px; right: 18px; bottom: 18px; }
  .hero-slide-caption strong { font-size: 20px; }
  .floating-loan-btn { right: 14px; bottom: 14px; padding: 14px 16px; }
  .floating-loan-btn__text { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-slide, .floating-loan-btn, .floating-loan-btn__icon { transition: none !important; animation: none !important; }
}


.quick-highlights {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.quick-highlight-card {
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%);
  border:1px solid var(--encot-border);
  border-radius:24px;
  box-shadow:var(--encot-shadow);
  padding:22px 20px;
}
.quick-highlight-card strong {
  display:block;
  color:var(--encot-navy);
  font-size:20px;
  line-height:1.2;
  margin-bottom:8px;
}
.quick-highlight-card span {
  display:block;
  color:var(--encot-muted);
  font-size:15px;
  line-height:1.6;
}
@media (max-width: 980px) {
  .quick-highlights { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .quick-highlights { grid-template-columns:1fr; }
}


.head-office-map-wrap { align-items:stretch; }
.office-info-card {
  background:#fff; border:1px solid var(--encot-border); border-radius:28px; box-shadow:var(--encot-shadow);
  padding:26px; margin-top:18px;
}
.office-info-card h3 { margin:0 0 12px; color:var(--encot-navy); }
.office-info-card p { margin:0 0 10px; color:var(--encot-muted); }
.office-actions { margin-top:18px !important; }
.map-card {
  background:#fff; border:1px solid var(--encot-border); border-radius:30px; overflow:hidden; box-shadow:var(--encot-shadow-lg);
  min-height:420px;
}
.map-card iframe { width:100%; height:100%; min-height:420px; border:0; display:block; }
@media (max-width: 860px) {
  .map-card, .map-card iframe { min-height:320px; }
}


.map-card iframe,
.map-frame iframe {
    width: 100%;
    min-height: 420px;
    border: 0;
    border-radius: 22px;
    background: #e7efe9;
}
