/* =========================================
   ASLAN SOLAR GRUP — Ana Site Stilleri
   ========================================= */
:root {
    --primary: #d8aa1e;
    --primary-dark: #9d7610;
    --primary-light: #f1c946;
    --accent: #f4d35e;
    --accent-light: #fff0ad;
    --ink: #091419;
    --ink-2: #101f26;
    --dark: #14232a;
    --gray: #66737a;
    --light: #f6f7f5;
    --warm: #fbf7ea;
    --white: #ffffff;
    --border: #e5e8e7;
    --shadow: 0 14px 40px rgba(9, 20, 25, .09);
    --shadow-lg: 0 28px 80px rgba(9, 20, 25, .16);
    --transition: all .35s cubic-bezier(.2,.75,.25,1);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family:'Manrope','Poppins',sans-serif;
    font-size:16px;
    line-height:1.7;
    color:#344047;
    background:var(--white);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}
a { color:var(--primary-dark); text-decoration:none; transition:var(--transition); }
a:hover { color:var(--primary); }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }
button,input,textarea,select { font:inherit; }
.container { width:min(1240px, calc(100% - 40px)); margin-inline:auto; }
section { padding:96px 0; }

/* Buttons */
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:52px;
    padding:13px 28px;
    border-radius:8px;
    border:1px solid transparent;
    font-size:14px;
    font-weight:800;
    letter-spacing:.35px;
    cursor:pointer;
    transition:var(--transition);
}
.btn i { font-size:14px; }
.btn-primary { background:linear-gradient(135deg,var(--primary-light),var(--primary)); color:var(--ink); box-shadow:0 10px 28px rgba(216,170,30,.25); }
.btn-primary:hover { color:var(--ink); transform:translateY(-3px); box-shadow:0 16px 34px rgba(216,170,30,.36); }
.btn-dark { background:var(--ink); color:#fff; }
.btn-dark:hover { background:var(--ink-2); color:var(--accent); transform:translateY(-3px); }
.btn-light { background:#fff; color:var(--ink); }
.btn-light:hover { color:var(--ink); transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,.12); }
.btn-outline { background:transparent; border-color:rgba(255,255,255,.65); color:#fff; }
.btn-outline:hover { background:#fff; color:var(--ink); border-color:#fff; }
.btn-ghost { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.35); color:#fff; backdrop-filter:blur(10px); }
.btn-ghost:hover { background:#fff; border-color:#fff; color:var(--ink); transform:translateY(-3px); }

/* Simulator announcement + Topbar */
.announcement-bar {
    background:linear-gradient(100deg,#203d63 0%,#213e78 48%,#1d3f91 100%);
    color:#fff;
    font-size:14px;
    border-bottom:3px solid rgba(42,184,116,.55);
    transition:opacity .25s ease,transform .25s ease,max-height .3s ease;
    overflow:hidden;
}
.announcement-bar.is-hidden { opacity:0; transform:translateY(-100%); max-height:0; border:0; }
.announcement-inner { min-height:86px; display:flex; align-items:center; gap:24px; }
.announcement-status { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.status-pulse {
    width:40px; height:40px; border-radius:50%; background:rgba(54,211,133,.14);
    position:relative; display:inline-grid; place-items:center;
}
.status-pulse::before { content:''; width:14px; height:14px; border-radius:50%; background:#43d68b; box-shadow:0 0 0 0 rgba(67,214,139,.55); animation:simulatorPulse 1.9s infinite; }
@keyframes simulatorPulse { 70% { box-shadow:0 0 0 12px rgba(67,214,139,0); } 100% { box-shadow:0 0 0 0 rgba(67,214,139,0); } }
.new-badge { background:#f5b91d; color:#18365d; font-size:12px; font-weight:900; letter-spacing:.35px; border-radius:6px; padding:8px 12px; }
.announcement-copy { display:flex; align-items:center; justify-content:center; gap:18px; flex:1; min-width:0; }
.announcement-copy > i { color:#ffc52e; font-size:27px; filter:drop-shadow(0 5px 12px rgba(255,197,46,.25)); }
.announcement-copy span { display:flex; align-items:baseline; justify-content:center; flex-wrap:wrap; gap:7px 12px; }
.announcement-copy strong { font-size:21px; font-weight:800; letter-spacing:-.35px; }
.announcement-copy em { color:#dce4f4; font-size:16px; font-style:normal; font-weight:500; }
.simulator-button {
    color:#112d55; background:#fff; border:1px solid rgba(255,255,255,.85); border-radius:999px;
    min-height:54px; padding:0 26px; font-size:16px; font-weight:800; display:inline-flex; align-items:center; gap:14px;
    box-shadow:0 10px 26px rgba(8,23,55,.2); flex-shrink:0;
}
.simulator-button:hover { color:#112d55; transform:translateY(-2px); box-shadow:0 15px 30px rgba(8,23,55,.3); }
.announcement-close { width:36px; height:36px; border:0; background:transparent; color:#b9c8e5; display:grid; place-items:center; font-size:17px; cursor:pointer; border-radius:50%; flex-shrink:0; }
.announcement-close:hover { background:rgba(255,255,255,.1); color:#fff; }
.top-bar { background:#061015; color:#d9dfe1; font-size:12px; border-bottom:1px solid rgba(255,255,255,.07); }
.top-bar .container { min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.top-bar .info { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.top-bar a,.top-location { color:#d9dfe1; display:inline-flex; align-items:center; gap:8px; }
.top-bar a:hover { color:var(--accent); }
.top-bar i { color:var(--primary-light); }

/* Header */
.header {
    background:rgba(9,20,25,.98);
    position:sticky;
    top:0;
    z-index:1000;
    border-bottom:1px solid rgba(255,255,255,.06);
    transition:var(--transition);
}
.header.scrolled { box-shadow:0 12px 35px rgba(0,0,0,.24); background:rgba(9,20,25,.96); backdrop-filter:blur(16px); }
.header .container { height:94px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.logo { display:flex; align-items:center; flex-shrink:0; }
.logo img { width:92px; height:82px; object-fit:contain; border-radius:16px; }
.logo .text-logo { color:#fff; font-size:21px; font-weight:900; letter-spacing:.8px; }
.logo .text-logo span { color:var(--primary-light); display:block; font-size:13px; letter-spacing:2px; }
.main-menu { display:flex; align-items:center; gap:1px; }
.main-menu > li { position:relative; }
.main-menu > li > a {
    display:flex;
    align-items:center;
    gap:6px;
    padding:18px 12px;
    color:#f1f4f5;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
    position:relative;
}
.main-menu > li > a::after {
    content:'';
    position:absolute;
    left:12px;
    right:12px;
    bottom:11px;
    height:2px;
    background:var(--primary-light);
    transform:scaleX(0);
    transform-origin:left;
    transition:var(--transition);
}
.main-menu > li > a:hover,.main-menu > li.active > a { color:var(--accent); }
.main-menu > li > a:hover::after,.main-menu > li.active > a::after { transform:scaleX(1); }
.main-menu > li > a i.fa-chevron-down { font-size:9px; }
.nav-cta { margin-left:7px; }
.nav-cta > a { background:var(--primary); color:var(--ink)!important; border-radius:7px; padding:12px 16px!important; }
.nav-cta > a::after { display:none; }
.nav-cta > a:hover { background:var(--primary-light); transform:translateY(-2px); }
.submenu {
    position:absolute;
    top:calc(100% - 4px);
    left:0;
    min-width:255px;
    padding:10px;
    background:#fff;
    border-top:3px solid var(--primary);
    border-radius:0 0 10px 10px;
    box-shadow:var(--shadow-lg);
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:var(--transition);
}
.submenu-wide { min-width:310px; max-height:430px; overflow:auto; }
.main-menu > li:hover .submenu { opacity:1; visibility:visible; transform:translateY(0); }
.submenu li a { display:block; padding:10px 13px; border-radius:6px; color:var(--dark); font-size:13px; font-weight:650; }
.submenu li a:hover { color:var(--primary-dark); background:var(--warm); padding-left:18px; }
.menu-toggle,.menu-close { display:none; background:none; border:0; cursor:pointer; color:#fff; }
.menu-toggle { font-size:25px; }
.menu-overlay { display:none; position:fixed; inset:0; z-index:998; background:rgba(0,0,0,.65); }
.menu-overlay.active { display:block; }

/* Hero */
.hero-slider { position:relative; overflow:hidden; background:var(--ink); }
.hero-slide { height:680px; background-size:cover; background-position:center; display:flex; align-items:center; position:relative; }
.hero-slide::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,12,16,.94) 0%,rgba(7,18,23,.83) 43%,rgba(7,18,23,.42) 72%,rgba(0,0,0,.24) 100%); }
.hero-slide::after { content:''; position:absolute; inset:auto 0 0; height:180px; background:linear-gradient(transparent,rgba(9,20,25,.55)); }
.hero-content { position:relative; z-index:2; max-width:780px; color:#fff; animation:heroReveal .9s ease both; }
.hero-subtitle,.section-tag {
    display:inline-flex;
    align-items:center;
    padding:7px 13px;
    border-left:3px solid var(--primary-light);
    background:rgba(216,170,30,.14);
    color:var(--accent);
    font-size:12px;
    font-weight:800;
    letter-spacing:1.8px;
    margin-bottom:20px;
}
.hero-title { font-size:clamp(42px,5vw,68px); line-height:1.07; letter-spacing:-1.8px; font-weight:800; margin-bottom:22px; max-width:760px; }
.hero-desc { max-width:680px; font-size:18px; line-height:1.75; color:#e0e6e8; margin-bottom:32px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:13px; }
.hero-points { margin-top:28px; display:flex; flex-wrap:wrap; gap:12px 22px; color:#dfe6e8; font-size:13px; font-weight:650; }
.hero-points span { display:flex; align-items:center; gap:7px; }
.hero-points i { color:var(--primary-light); }
.swiper-button-next,.swiper-button-prev { width:52px!important; height:52px!important; border:1px solid rgba(255,255,255,.35); background:rgba(6,16,21,.4); border-radius:50%; color:#fff!important; backdrop-filter:blur(10px); transition:var(--transition); }
.swiper-button-next:hover,.swiper-button-prev:hover { background:var(--primary); color:var(--ink)!important; border-color:var(--primary); }
.swiper-button-next::after,.swiper-button-prev::after { font-size:16px!important; font-weight:900; }
.swiper-pagination { bottom:24px!important; }
.swiper-pagination-bullet { background:#fff!important; opacity:.45!important; width:9px!important; height:9px!important; transition:var(--transition); }
.swiper-pagination-bullet-active { background:var(--primary-light)!important; opacity:1!important; width:34px!important; border-radius:8px!important; }
@keyframes heroReveal { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }

/* Trust strip */
.trust-strip-section { padding:0; background:#fff; position:relative; z-index:5; }
.trust-strip { transform:translateY(-34px); background:#fff; box-shadow:var(--shadow-lg); border-radius:12px; display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; }
.trust-item { display:flex; align-items:center; gap:15px; min-height:112px; padding:25px; border-right:1px solid var(--border); }
.trust-item:last-child { border-right:0; }
.trust-item > i { width:46px; height:46px; border-radius:10px; display:grid; place-items:center; background:var(--warm); color:var(--primary-dark); font-size:19px; flex:0 0 auto; }
.trust-item strong,.trust-item span { display:block; }
.trust-item strong { color:var(--ink); font-size:15px; margin-bottom:3px; }
.trust-item span { color:var(--gray); font-size:12px; line-height:1.45; }

/* Common section headings */
.section-head { text-align:center; max-width:820px; margin:0 auto 54px; }
.section-head .tag { display:inline-flex; padding:7px 15px; background:var(--warm); color:var(--primary-dark); border-radius:4px; font-size:11px; font-weight:900; letter-spacing:1.8px; margin-bottom:15px; }
.section-head h2,.about-content h2 { color:var(--ink); font-size:clamp(31px,4vw,46px); line-height:1.18; letter-spacing:-1.25px; font-weight:800; }
.section-head h2 span,.about-content h2 span { color:var(--primary-dark); }
.section-head p { margin:16px auto 0; max-width:720px; color:var(--gray); font-size:16px; }
.section-action { text-align:center; margin-top:42px; }

/* About */
.about-section { padding-top:70px; }
.about-wrap { display:grid; grid-template-columns:1.02fr .98fr; gap:72px; align-items:center; }
.about-img { min-height:560px; position:relative; padding:0 36px 36px 0; }
.about-img > img { width:100%; height:560px; object-fit:cover; border-radius:10px; box-shadow:var(--shadow-lg); }
.about-img::before { content:''; position:absolute; right:0; bottom:0; width:48%; height:48%; border:2px solid var(--primary); border-radius:10px; z-index:-1; }
.about-img .badge { position:absolute; top:30px; right:-6px; min-width:118px; padding:18px 20px; background:var(--ink); color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:8px; text-align:center; box-shadow:var(--shadow); }
.about-img .badge strong { display:block; font-size:31px; color:var(--primary-light); line-height:1; margin-bottom:4px; }
.about-image-overlay { position:absolute; left:25px; bottom:6px; display:flex; align-items:center; gap:14px; min-width:315px; padding:20px; background:#fff; border-left:4px solid var(--primary); border-radius:7px; box-shadow:var(--shadow-lg); }
.about-image-overlay > i { width:46px; height:46px; border-radius:8px; background:var(--warm); color:var(--primary-dark); display:grid; place-items:center; font-size:20px; }
.about-image-overlay strong,.about-image-overlay span { display:block; }
.about-image-overlay strong { color:var(--ink); font-size:14px; }
.about-image-overlay span { color:var(--gray); font-size:11px; }
.about-content .section-tag { color:var(--primary-dark); background:var(--warm); }
.about-content > p { margin-top:17px; color:var(--gray); }
.about-features { display:grid; grid-template-columns:1fr 1fr; gap:13px 20px; margin:27px 0 30px; }
.about-features li { color:var(--dark); font-size:14px; font-weight:700; display:flex; align-items:flex-start; gap:9px; }
.about-features i { color:var(--primary); margin-top:5px; }
.about-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
.text-link { font-weight:800; color:var(--ink); display:inline-flex; align-items:center; gap:8px; }
.text-link i { color:var(--primary-dark); }

/* Services */
.services-bg { background:var(--light); position:relative; overflow:hidden; }
.services-bg::before { content:''; position:absolute; width:520px; height:520px; border:80px solid rgba(216,170,30,.06); border-radius:50%; top:-250px; right:-220px; }
.services-grid { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.service-card { min-height:340px; padding:18px 18px 22px; border-radius:9px; background:#fff; border:1px solid var(--border); display:flex; flex-direction:column; transition:var(--transition); position:relative; overflow:hidden; }
.service-card::before { content:''; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,var(--primary),var(--primary-light)); transform:scaleX(0); transform-origin:left; transition:var(--transition); }
.service-card:hover { transform:translateY(-9px); box-shadow:var(--shadow-lg); border-color:transparent; }
.service-card:hover::before { transform:scaleX(1); }
.service-icon { width:58px; height:58px; border-radius:10px; display:grid; place-items:center; background:var(--ink); color:var(--primary-light); font-size:23px; margin-bottom:21px; transition:var(--transition); }
.service-card:hover .service-icon { background:var(--primary); color:var(--ink); transform:rotate(-5deg); }
.service-card h3 { color:var(--ink); font-size:17px; line-height:1.35; margin-bottom:11px; min-height:46px; }
.service-card p { color:var(--gray); font-size:13px; line-height:1.65; margin-bottom:18px; }
.service-card .more { margin-top:auto; color:var(--primary-dark); font-size:11px; font-weight:900; letter-spacing:.7px; text-transform:uppercase; display:flex; align-items:center; gap:8px; }
.service-card .more i { transition:var(--transition); }
.service-card:hover .more i { transform:translateX(5px); }

/* Process */
.process-section { background:#fff; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; position:relative; }
.process-grid::before { content:''; position:absolute; left:11%; right:11%; top:58px; border-top:1px dashed #d6c278; }
.process-card { position:relative; z-index:1; padding:28px 24px 25px; background:#fff; border:1px solid var(--border); border-radius:9px; transition:var(--transition); }
.process-card:hover { transform:translateY(-7px); box-shadow:var(--shadow); border-color:#e4cb78; }
.process-card > span { position:absolute; right:18px; top:14px; color:#e8e9e7; font-size:43px; font-weight:900; line-height:1; }
.process-icon { width:62px; height:62px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:var(--primary-light); font-size:22px; margin-bottom:23px; box-shadow:0 0 0 8px #fff; }
.process-card h3 { color:var(--ink); font-size:18px; margin-bottom:9px; }
.process-card p { color:var(--gray); font-size:13px; }

/* Sector section */
.sector-section { background:linear-gradient(120deg,#071116,#0f222b); color:#fff; position:relative; overflow:hidden; }
.sector-section::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 12% 15%,rgba(216,170,30,.19),transparent 30%),radial-gradient(circle at 86% 86%,rgba(216,170,30,.1),transparent 33%); }
.sector-layout { position:relative; display:grid; grid-template-columns:.78fr 1.22fr; gap:70px; align-items:center; }
.section-tag.light { color:var(--accent); background:rgba(216,170,30,.1); }
.sector-copy h2 { font-size:clamp(34px,4vw,49px); line-height:1.13; letter-spacing:-1.3px; margin-bottom:20px; }
.sector-copy p { color:#bfcbcf; margin-bottom:30px; }
.sector-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.sector-card { padding:27px; border:1px solid rgba(255,255,255,.11); border-radius:9px; background:rgba(255,255,255,.045); backdrop-filter:blur(8px); transition:var(--transition); }
.sector-card:hover { transform:translateY(-5px); border-color:rgba(244,211,94,.5); background:rgba(255,255,255,.07); }
.sector-card i { color:var(--primary-light); font-size:25px; margin-bottom:16px; }
.sector-card h3 { font-size:17px; margin-bottom:7px; }
.sector-card p { color:#afbdc1; font-size:13px; }

/* Projects / applications */
.projects-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:23px; }
.project-card { height:410px; position:relative; overflow:hidden; border-radius:10px; box-shadow:var(--shadow); }
.project-card img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.project-card:hover img { transform:scale(1.08); }
.project-overlay { position:absolute; inset:0; padding:28px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:linear-gradient(180deg,transparent 30%,rgba(5,15,19,.94) 100%); }
.project-cat { width:max-content; padding:5px 10px; border-radius:3px; background:var(--primary); color:var(--ink); font-size:10px; font-weight:900; letter-spacing:1px; margin-bottom:11px; }
.project-card h3 { font-size:21px; line-height:1.35; margin-bottom:8px; }
.project-card .info { display:flex; flex-wrap:wrap; gap:13px; color:#dce4e6; font-size:12px; }
.project-card .info i { color:var(--primary-light); margin-right:5px; }
.project-card::after { content:'\f061'; font-family:'Font Awesome 6 Free'; font-weight:900; position:absolute; right:20px; top:20px; width:42px; height:42px; border-radius:50%; background:var(--primary); color:var(--ink); display:grid; place-items:center; transform:scale(.6); opacity:0; transition:var(--transition); }
.project-card:hover::after { opacity:1; transform:scale(1); }
.application-section { background:#fff; }
.application-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:23px; }
.application-card { border:1px solid var(--border); border-radius:10px; overflow:hidden; background:#fff; transition:var(--transition); }
.application-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.application-card img { width:100%; height:260px; object-fit:cover; }
.application-card > div { padding:25px; }
.application-card span { color:var(--primary-dark); font-size:10px; font-weight:900; letter-spacing:1.3px; }
.application-card h3 { color:var(--ink); font-size:19px; margin:8px 0; }
.application-card p { color:var(--gray); font-size:13px; }

/* Why */
.why-bg { background:var(--warm); }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.why-item { padding:30px 23px; background:#fff; border:1px solid rgba(216,170,30,.18); border-radius:9px; text-align:left; transition:var(--transition); }
.why-item:hover { transform:translateY(-7px); box-shadow:var(--shadow); }
.why-item .num { width:54px; height:54px; border-radius:9px; display:grid; place-items:center; background:var(--ink); color:var(--primary-light); font-size:19px; margin-bottom:20px; }
.why-item h4 { color:var(--ink); font-size:17px; margin-bottom:9px; }
.why-item p { color:var(--gray); font-size:13px; }

/* News */
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.news-card { border:1px solid var(--border); border-radius:10px; overflow:hidden; background:#fff; transition:var(--transition); }
.news-card:hover { transform:translateY(-7px); box-shadow:var(--shadow-lg); }
.news-img { height:245px; overflow:hidden; position:relative; }
.news-img img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.news-card:hover .news-img img { transform:scale(1.07); }
.news-date { position:absolute; left:15px; top:15px; padding:7px 10px; background:var(--ink); color:#fff; border-radius:4px; font-size:10px; font-weight:800; }
.news-body { padding:25px; }
.news-cat { color:var(--primary-dark); font-size:10px; font-weight:900; letter-spacing:1.3px; }
.news-body h3 { margin:9px 0 10px; font-size:19px; line-height:1.45; }
.news-body h3 a { color:var(--ink); }
.news-body h3 a:hover { color:var(--primary-dark); }
.news-body p { color:var(--gray); font-size:13px; margin-bottom:15px; }
.news-more { color:var(--ink); font-size:12px; font-weight:800; }
.news-more i { color:var(--primary-dark); margin-left:5px; }

/* Contact band */
.contact-band { padding:38px 0; background:var(--primary); color:var(--ink); }
.contact-band-inner { display:flex; align-items:center; gap:22px; }
.contact-band-icon { width:62px; height:62px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:var(--primary-light); font-size:24px; }
.contact-band span { font-size:11px; font-weight:900; letter-spacing:1.5px; }
.contact-band h2 { font-size:25px; line-height:1.25; }
.contact-band-actions { margin-left:auto; display:flex; gap:15px; }
.contact-band-actions > a { display:flex; align-items:center; gap:11px; min-width:215px; padding:12px 16px; background:rgba(255,255,255,.32); color:var(--ink); border-radius:7px; }
.contact-band-actions > a:hover { background:#fff; transform:translateY(-2px); }
.contact-band-actions i { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--ink); color:var(--primary-light); }
.contact-band-actions span { font-size:13px; letter-spacing:0; }
.contact-band-actions small { display:block; font-size:9px; opacity:.7; margin-top:1px; }

/* CTA */
.cta { padding:74px 0; background:linear-gradient(120deg,#111f26,#071116); color:#fff; }
.cta-inner { display:grid; grid-template-columns:1fr auto; align-items:center; gap:50px; }
.cta-kicker { color:var(--primary-light); font-size:11px; font-weight:900; letter-spacing:1.6px; }
.cta h2 { max-width:760px; font-size:clamp(29px,3.4vw,42px); line-height:1.22; margin:8px 0 12px; }
.cta p { max-width:720px; color:#bfcacf; }
.cta-actions { display:flex; flex-direction:column; gap:12px; min-width:220px; }

/* Footer */
.footer { background:#071116; color:#afbcc0; padding-top:72px; border-top:1px solid rgba(255,255,255,.05); }
.footer-grid { display:grid; grid-template-columns:1.25fr .65fr 1.2fr 1.1fr; gap:42px; padding-bottom:52px; }
.footer-logo img { width:150px; height:145px; object-fit:contain; border-radius:18px; margin-bottom:18px; }
.footer-about p { font-size:13px; line-height:1.85; }
.footer-about strong { color:#fff; }
.footer h4 { color:#fff; font-size:15px; margin-bottom:21px; padding-bottom:11px; position:relative; }
.footer h4::after { content:''; position:absolute; left:0; bottom:0; width:38px; height:2px; background:var(--primary); }
.footer ul li { margin-bottom:9px; }
.footer ul li a { color:#afbcc0; font-size:12px; display:inline-flex; align-items:center; gap:7px; }
.footer ul:not(.footer-contact) li a::before { content:'›'; color:var(--primary); font-size:16px; line-height:1; }
.footer ul li a:hover { color:#fff; transform:translateX(3px); }
.footer-services { display:grid; grid-template-columns:1fr 1fr; gap:0 15px; }
.footer-services li { line-height:1.3; }
.footer-contact li { display:flex; gap:12px; font-size:12px; line-height:1.6; margin-bottom:16px; }
.footer-contact > li > i { color:var(--primary-light); font-size:16px; margin-top:3px; width:18px; }
.footer-contact div { display:flex; flex-direction:column; gap:4px; }
.footer-socials { margin-top:18px; display:flex; gap:8px; }
.footer-socials a { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.07); color:#fff; }
.footer-socials a:hover { background:var(--primary); color:var(--ink); transform:translateY(-3px); }
.footer-bottom { min-height:66px; border-top:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:space-between; gap:20px; color:#829196; font-size:11px; }
.footer-bottom strong { color:#dce4e6; }

/* Inner pages */
.page-banner { min-height:315px; padding:75px 20px; display:flex; align-items:center; justify-content:center; text-align:center; color:#fff; background:linear-gradient(100deg,rgba(5,14,18,.93),rgba(10,28,34,.75)),url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?auto=format&fit=crop&w=1920&q=80') center/cover; position:relative; }
.page-banner::after { content:''; position:absolute; inset:auto 0 0; height:4px; background:linear-gradient(90deg,transparent,var(--primary),transparent); }
.page-banner h1 { font-size:clamp(34px,5vw,51px); line-height:1.15; margin-bottom:11px; }
.page-banner .crumb { color:#d2dcdf; font-size:12px; }
.page-banner .crumb a { color:var(--primary-light); }
.content { color:#526066; }
.content h2,.content h3,.content h4 { color:var(--ink); margin:1.15em 0 .5em; line-height:1.3; }
.content h2 { font-size:31px; }
.content h3 { font-size:23px; }
.content p { margin-bottom:1em; }
.content ul { margin:16px 0 20px; }
.content ul li { margin:8px 0; padding-left:23px; position:relative; }
.content ul li::before { content:'\f058'; font-family:'Font Awesome 6 Free'; font-weight:900; color:var(--primary-dark); position:absolute; left:0; top:1px; }

/* Forms */
.form-control { width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--border); border-radius:7px; background:#fff; color:var(--dark); outline:none; transition:var(--transition); }
textarea.form-control { min-height:120px; resize:vertical; }
.form-control:focus { border-color:var(--primary); box-shadow:0 0 0 4px rgba(216,170,30,.13); }

/* Fade reveal */
.fade-in { opacity:0; transform:translateY(22px); transition:opacity .75s ease,transform .75s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

/* WhatsApp */
.wa-widget { position:fixed; right:24px; bottom:24px; z-index:9999; }
.wa-btn { width:60px; height:60px; border:0; border-radius:50%; display:grid; place-items:center; background:#25d366; color:#fff; font-size:29px; cursor:pointer; box-shadow:0 10px 30px rgba(37,211,102,.35); animation:waPulse 2s infinite; position:relative; }
@keyframes waPulse { 0% { box-shadow:0 10px 30px rgba(37,211,102,.35),0 0 0 0 rgba(37,211,102,.55); } 70% { box-shadow:0 10px 30px rgba(37,211,102,.35),0 0 0 18px rgba(37,211,102,0); } 100% { box-shadow:0 10px 30px rgba(37,211,102,.35),0 0 0 0 rgba(37,211,102,0); } }
.wa-tooltip { position:absolute; right:72px; top:50%; transform:translateY(-50%); padding:8px 12px; border-radius:6px; background:#fff; color:var(--dark); font-size:11px; white-space:nowrap; box-shadow:var(--shadow); opacity:0; visibility:hidden; transition:var(--transition); }
.wa-btn:hover .wa-tooltip { opacity:1; visibility:visible; right:76px; }
.wa-chat { position:absolute; right:0; bottom:76px; width:340px; background:#fff; border-radius:12px; overflow:hidden; box-shadow:var(--shadow-lg); opacity:0; visibility:hidden; transform:translateY(14px) scale(.95); transform-origin:bottom right; transition:var(--transition); }
.wa-chat.active { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.wa-chat-header { padding:18px; display:flex; align-items:center; gap:11px; background:linear-gradient(135deg,#128c7e,#075e54); color:#fff; position:relative; }
.wa-avatar { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:#fff; color:#25d366; font-size:21px; }
.wa-info h4 { font-size:14px; line-height:1.3; }
.wa-info p { font-size:10px; opacity:.9; }
.wa-close { position:absolute; right:13px; top:13px; border:0; background:none; color:#fff; cursor:pointer; }
.wa-chat-body { min-height:150px; padding:28px 18px; background:#e5ddd5; display:flex; align-items:center; }
.wa-message { max-width:87%; padding:11px 13px; border-radius:9px; border-top-left-radius:0; background:#fff; color:#333; font-size:12px; box-shadow:0 1px 2px rgba(0,0,0,.1); }
.wa-time { display:block; margin-top:4px; text-align:right; color:#999; font-size:9px; }
.wa-chat-footer { padding:13px; background:#f1f1f1; }
.wa-send-btn { min-height:44px; border-radius:30px; display:flex; align-items:center; justify-content:center; gap:8px; background:#25d366; color:#fff; font-size:12px; font-weight:800; }
.wa-send-btn:hover { background:#1ebd5b; color:#fff; }

/* Responsive */
@media (max-width:1180px) {
    .main-menu > li > a { padding-inline:8px; font-size:12px; }
    .nav-cta > a { padding-inline:11px!important; }
    .services-grid { grid-template-columns:repeat(3,1fr); }
    .footer-grid { grid-template-columns:1.1fr .7fr 1.1fr; }
    .footer-grid > div:last-child { grid-column:1 / -1; }
    .footer-contact { display:grid; grid-template-columns:1fr 1fr 2fr; gap:20px; }
}
@media (max-width:980px) {
    .menu-toggle { display:block; }
    .main-menu { position:fixed; right:-100%; top:0; width:min(380px,88vw); height:100vh; padding:72px 22px 30px; display:flex; flex-direction:column; align-items:stretch; gap:0; background:#071116; overflow-y:auto; z-index:999; box-shadow:-16px 0 50px rgba(0,0,0,.4); transition:right .4s ease; }
    .main-menu.active { right:0; }
    .menu-close { display:block; position:absolute; right:22px; top:20px; font-size:23px; }
    .main-menu > li { border-bottom:1px solid rgba(255,255,255,.07); }
    .main-menu > li > a { padding:14px 8px; font-size:14px; }
    .main-menu > li > a::after { display:none; }
    .nav-cta { margin:15px 0 0; border:0!important; }
    .nav-cta > a { justify-content:center; }
    .submenu { position:static; min-width:0; max-height:none; padding:2px 8px 10px; margin-bottom:8px; background:rgba(255,255,255,.04); border:0; border-radius:6px; box-shadow:none; opacity:1; visibility:visible; transform:none; display:none; }
    .main-menu > li.open .submenu { display:block; }
    .submenu li a { color:#cbd4d7; }
    .submenu li a:hover { background:rgba(255,255,255,.06); color:var(--accent); }
    .trust-strip { grid-template-columns:1fr 1fr; }
    .trust-item:nth-child(2) { border-right:0; }
    .trust-item:nth-child(-n+2) { border-bottom:1px solid var(--border); }
    .about-wrap,.sector-layout { grid-template-columns:1fr; }
    .about-wrap { gap:55px; }
    .about-img { max-width:740px; }
    .process-grid,.why-grid { grid-template-columns:1fr 1fr; }
    .process-grid::before { display:none; }
    .projects-grid,.application-grid,.news-grid { grid-template-columns:1fr 1fr; }
    .contact-band-inner { flex-wrap:wrap; }
    .contact-band-actions { width:100%; margin-left:84px; }
    .cta-inner { grid-template-columns:1fr; }
    .cta-actions { flex-direction:row; }
}
@media (max-width:1050px) and (min-width:761px) {
    .announcement-inner { min-height:76px; gap:14px; }
    .announcement-copy strong { font-size:17px; }
    .announcement-copy em { font-size:13px; }
    .simulator-button { min-height:48px; padding:0 19px; font-size:14px; }
}
@media (max-width:760px) {
    .container { width:min(100% - 30px,1240px); }
    section { padding:72px 0; }
    .announcement-inner { min-height:70px; gap:10px; }
    .announcement-status { gap:6px; }
    .status-pulse { width:30px; height:30px; }
    .status-pulse::before { width:11px; height:11px; }
    .new-badge { display:none; }
    .announcement-copy { justify-content:flex-start; text-align:left; gap:9px; }
    .announcement-copy > i { font-size:19px; }
    .announcement-copy span { display:block; line-height:1.3; }
    .announcement-copy strong { display:block; font-size:13px; }
    .announcement-copy em { display:none; }
    .simulator-button { min-height:42px; padding:0 14px; font-size:12px; gap:8px; }
    .announcement-close { width:28px; height:28px; font-size:14px; }
    .top-bar .container { min-height:42px; justify-content:center; }
    .top-bar .info a:nth-child(n+2),.top-location { display:none; }
    .header .container { height:78px; }
    .logo img { width:76px; height:68px; }
    .hero-slide { height:650px; background-position:62% center; }
    .hero-slide::before { background:linear-gradient(90deg,rgba(4,12,16,.96),rgba(7,18,23,.78)); }
    .hero-title { letter-spacing:-1px; }
    .hero-desc { font-size:15px; }
    .hero-actions { align-items:stretch; }
    .hero-actions .btn { width:100%; }
    .hero-points { display:grid; gap:8px; }
    .swiper-button-next,.swiper-button-prev { display:none!important; }
    .trust-strip { transform:translateY(-24px); }
    .trust-item { min-height:95px; padding:18px; }
    .trust-item > i { width:40px; height:40px; }
    .about-section { padding-top:46px; }
    .about-img { min-height:450px; padding:0 15px 27px 0; }
    .about-img > img { height:450px; }
    .about-img .badge { right:0; top:18px; }
    .about-image-overlay { left:13px; min-width:0; width:calc(100% - 40px); }
    .about-features { grid-template-columns:1fr; }
    .services-grid { grid-template-columns:1fr 1fr; }
    .service-card { min-height:280px; }
    .sector-grid { grid-template-columns:1fr; }
    .projects-grid,.application-grid,.news-grid { grid-template-columns:1fr; }
    .project-card { height:390px; }
    .contact-band-actions { margin-left:0; display:grid; grid-template-columns:1fr 1fr; width:100%; }
    .contact-band-actions > a { min-width:0; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .footer-grid > div:last-child { grid-column:1 / -1; }
    .footer-contact { grid-template-columns:1fr; }
    .footer-bottom { align-items:flex-start; flex-direction:column; justify-content:center; padding:18px 0; }
}
@media (max-width:520px) {
    .trust-strip,.services-grid,.process-grid,.why-grid,.footer-grid { grid-template-columns:1fr; }
    .trust-item { border-right:0; border-bottom:1px solid var(--border)!important; }
    .trust-item:last-child { border-bottom:0!important; }
    .service-card { min-height:0; }
    .process-card,.why-item { padding:25px 21px; }
    .about-img { min-height:390px; }
    .about-img > img { height:390px; }
    .about-img .badge { padding:13px 15px; min-width:95px; }
    .about-img .badge strong { font-size:25px; }
    .about-image-overlay { padding:15px; }
    .about-actions,.cta-actions { align-items:stretch; flex-direction:column; }
    .about-actions .btn,.cta-actions .btn { width:100%; }
    .contact-band-inner { align-items:flex-start; }
    .contact-band-icon { width:48px; height:48px; }
    .contact-band h2 { font-size:21px; }
    .contact-band-actions { grid-template-columns:1fr; }
    .footer-grid > div:last-child { grid-column:auto; }
    .footer-services { grid-template-columns:1fr; }
    .wa-widget { right:15px; bottom:18px; }
    .wa-btn { width:55px; height:55px; }
    .wa-tooltip { display:none; }
    .wa-chat { width:calc(100vw - 30px); right:0; }
}

/* Contact page */
.contact-page { background:#fff; }
.contact-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:-135px; position:relative; z-index:4; margin-bottom:75px; }
.contact-info-card { min-height:155px; padding:24px 20px; background:#fff; color:var(--dark); border-radius:9px; border:1px solid var(--border); box-shadow:var(--shadow); display:flex; align-items:flex-start; gap:13px; transition:var(--transition); }
a.contact-info-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); color:var(--dark); }
.contact-info-icon { width:44px; height:44px; flex:0 0 auto; border-radius:8px; display:grid; place-items:center; background:var(--ink); color:var(--primary-light); }
.contact-info-card span,.contact-info-card strong,.contact-info-card small { display:block; }
.contact-info-card > div:last-child > span { color:var(--primary-dark); font-size:9px; font-weight:900; letter-spacing:1.2px; text-transform:uppercase; }
.contact-info-card strong { color:var(--ink); font-size:14px; line-height:1.45; margin:5px 0; word-break:break-word; }
.contact-info-card small { color:var(--gray); font-size:10px; line-height:1.55; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.contact-form-panel,.contact-map-panel { border:1px solid var(--border); border-radius:10px; background:#fff; overflow:hidden; }
.contact-form-panel { padding:38px; box-shadow:var(--shadow); }
.contact-form-panel h2,.contact-map-head h2 { color:var(--ink); font-size:31px; line-height:1.25; margin-bottom:12px; }
.contact-form-panel > p,.contact-map-head p { color:var(--gray); font-size:14px; margin-bottom:28px; }
.contact-form { display:flex; flex-direction:column; gap:16px; }
.contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.contact-form label > span { display:block; color:var(--dark); font-size:11px; font-weight:800; margin-bottom:6px; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; min-height:49px; padding:12px 14px; border:1px solid var(--border); border-radius:7px; background:#fff; outline:none; color:var(--dark); transition:var(--transition); }
.contact-form textarea { min-height:140px; resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--primary); box-shadow:0 0 0 4px rgba(216,170,30,.12); }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-notice { margin:18px 0 23px; padding:14px; border-radius:7px; display:flex; align-items:flex-start; gap:11px; font-size:12px; }
.form-notice strong,.form-notice span { display:block; }
.form-notice.success { background:#ecfdf3; color:#166534; border:1px solid #bbf7d0; }
.form-notice.error { background:#fff1f2; color:#9f1239; border:1px solid #fecdd3; }
.contact-map-head { padding:37px 37px 22px; }
.contact-map-panel iframe { width:100%; height:390px; border:0; display:block; }
.office-details { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); }
.office-details > div { padding:20px; background:var(--light); display:flex; gap:11px; }
.office-details i { color:var(--primary-dark); margin-top:4px; }
.office-details span,.office-details strong { display:block; }
.office-details strong { color:var(--ink); font-size:12px; margin-bottom:4px; }
.office-details span { color:var(--gray); font-size:10px; }
.office-details a { word-break:break-word; }
@media (max-width:980px) { .contact-cards { grid-template-columns:1fr 1fr; margin-top:-90px; } .contact-layout { grid-template-columns:1fr; } }
@media (max-width:620px) { .contact-cards { grid-template-columns:1fr; margin-top:-65px; } .contact-form-panel,.contact-map-head { padding:25px; } .contact-form-row,.office-details { grid-template-columns:1fr; } }

/* Services commitment */
.service-commitment { background:linear-gradient(120deg,#071116,#10252e); color:#fff; }
.service-commitment-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.service-commitment h2 { font-size:clamp(32px,4vw,48px); line-height:1.15; }
.commitment-list { display:grid; gap:14px; }
.commitment-list > div { display:flex; align-items:center; gap:16px; padding:20px; border:1px solid rgba(255,255,255,.1); border-radius:9px; background:rgba(255,255,255,.04); }
.commitment-list i { width:46px; height:46px; border-radius:9px; display:grid; place-items:center; background:var(--primary); color:var(--ink); flex:0 0 auto; }
.commitment-list strong,.commitment-list span { display:block; }
.commitment-list strong { color:#fff; font-size:14px; }
.commitment-list span { color:#b8c5c9; font-size:12px; }

/* Detail pages */
.detail-section { background:#fff; }
.detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:42px; align-items:start; }
.detail-cover { width:100%; max-height:520px; object-fit:cover; border-radius:10px; margin-bottom:30px; box-shadow:var(--shadow); }
.detail-heading { display:flex; align-items:flex-start; gap:18px; padding-bottom:25px; margin-bottom:25px; border-bottom:1px solid var(--border); }
.detail-heading-icon { width:72px; height:72px; border-radius:12px; display:grid; place-items:center; flex:0 0 auto; background:var(--ink); color:var(--primary-light); font-size:28px; }
.detail-heading span { color:var(--primary-dark); font-size:10px; font-weight:900; letter-spacing:1.4px; }
.detail-heading h2 { color:var(--ink); font-size:32px; line-height:1.25; margin:4px 0 7px; }
.detail-heading p { color:var(--gray); font-size:14px; }
.detail-content { font-size:15px; line-height:1.9; }
.detail-bottom-cta { margin-top:42px; padding:28px; border-radius:9px; background:var(--warm); border:1px solid rgba(216,170,30,.25); display:flex; align-items:center; justify-content:space-between; gap:25px; }
.detail-bottom-cta span { color:var(--primary-dark); font-size:9px; font-weight:900; letter-spacing:1.2px; }
.detail-bottom-cta h3 { color:var(--ink); font-size:20px; }
.detail-sidebar { position:sticky; top:118px; display:grid; gap:22px; }
.side-card { padding:24px; border-radius:9px; background:var(--light); border:1px solid var(--border); }
.side-card > h3 { color:var(--ink); font-size:17px; padding-bottom:12px; margin-bottom:15px; border-bottom:2px solid var(--primary); }
.side-service-list { display:grid; gap:8px; }
.side-service-list a { min-height:52px; padding:10px 12px; border-radius:7px; background:#fff; display:grid; grid-template-columns:24px 1fr 12px; align-items:center; gap:7px; color:var(--dark); font-size:11px; font-weight:750; }
.side-service-list a:hover { transform:translateX(4px); color:var(--primary-dark); box-shadow:var(--shadow); }
.side-service-list a > i:first-child { color:var(--primary-dark); font-size:15px; }
.side-service-list a > i:last-child { color:#adb5b8; font-size:9px; }
.side-contact-card { padding:30px 24px; border-radius:9px; background:linear-gradient(135deg,var(--primary),var(--primary-light)); color:var(--ink); text-align:center; }
.side-contact-card > i { font-size:35px; margin-bottom:12px; }
.side-contact-card > span { display:block; font-size:9px; font-weight:900; letter-spacing:1.2px; }
.side-contact-card h3 { font-size:20px; line-height:1.35; margin:7px 0 12px; }
.side-contact-card > a:not(.btn) { display:block; color:var(--ink); font-weight:900; margin-bottom:18px; }
.side-contact-card .btn { width:100%; }
.project-facts { display:grid; }
.project-facts li { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--border); }
.project-facts li:last-child { border-bottom:0; }
.project-facts i { width:38px; height:38px; border-radius:8px; display:grid; place-items:center; background:var(--warm); color:var(--primary-dark); }
.project-facts small,.project-facts strong { display:block; }
.project-facts small { color:var(--gray); font-size:9px; text-transform:uppercase; letter-spacing:.8px; }
.project-facts strong { color:var(--ink); font-size:12px; }
.project-gallery { margin-top:38px; }
.project-gallery > h3 { color:var(--ink); font-size:22px; margin-bottom:18px; }
.project-gallery > div { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.project-gallery img { width:100%; height:190px; object-fit:cover; border-radius:8px; transition:var(--transition); }
.project-gallery a:hover img { transform:scale(1.03); box-shadow:var(--shadow); }
.filter-bar { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin-bottom:40px; }
.filter-bar .btn { min-height:42px; padding:9px 17px; font-size:11px; }
.empty-state { grid-column:1/-1; padding:65px 25px; text-align:center; border:1px dashed #d4d9d7; border-radius:10px; background:var(--light); }
.empty-state i { font-size:40px; color:var(--primary); margin-bottom:15px; }
.empty-state h3 { color:var(--ink); font-size:21px; }
.empty-state p { color:var(--gray); margin-top:7px; }
@media (max-width:980px) { .service-commitment-grid,.detail-layout { grid-template-columns:1fr; } .detail-sidebar { position:static; } }
@media (max-width:620px) { .detail-heading { flex-direction:column; } .detail-heading h2 { font-size:27px; } .detail-bottom-cta { align-items:stretch; flex-direction:column; } .detail-bottom-cta .btn { width:100%; } .project-gallery > div { grid-template-columns:1fr 1fr; } }

/* =========================================
   Listing, corporate, gallery, career pages
   ========================================= */
.page-kicker { display:inline-block; margin-bottom:12px; color:var(--primary-light); font-size:11px; font-weight:900; letter-spacing:2px; }
.page-subtitle { max-width:760px; margin:0 auto 12px; color:#dbe3e5; font-size:16px; }
.listing-section { background:linear-gradient(180deg,#fff 0%,#f7f8f6 100%); }
.article-banner h1 { max-width:980px; margin-inline:auto; font-size:clamp(32px,4.5vw,50px); }
.article-section { background:#f8f9f7; }
.article-main { padding:34px; background:#fff; border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow); }
.article-meta { display:flex; flex-wrap:wrap; gap:13px 24px; margin-bottom:25px; padding-bottom:18px; border-bottom:1px solid var(--border); color:var(--gray); font-size:11px; font-weight:700; }
.article-meta span { display:inline-flex; align-items:center; gap:7px; }
.article-meta i { color:var(--primary-dark); }
.article-lead { margin:0 0 26px; padding:20px 22px; border-left:4px solid var(--primary); background:var(--warm); color:var(--ink); font-size:17px; font-weight:650; line-height:1.8; }
.share-panel { margin-top:38px; padding:22px; display:flex; align-items:center; justify-content:space-between; gap:22px; border:1px solid var(--border); border-radius:9px; background:var(--light); }
.share-panel span,.share-panel strong { display:block; }
.share-panel span { color:var(--primary-dark); font-size:9px; font-weight:900; letter-spacing:1.3px; }
.share-panel strong { color:var(--ink); font-size:15px; margin-top:3px; }
.share-links { display:flex; gap:8px; }
.share-links a { width:41px; height:41px; border-radius:50%; display:grid; place-items:center; background:var(--ink); color:#fff; }
.share-links a:hover { background:var(--primary); color:var(--ink); transform:translateY(-3px); }
.side-news-list { display:grid; gap:13px; }
.side-news-list > a { display:grid; grid-template-columns:82px 1fr; gap:12px; padding-bottom:13px; border-bottom:1px solid var(--border); color:inherit; }
.side-news-list > a:last-child { padding-bottom:0; border-bottom:0; }
.side-news-list img { width:82px; height:72px; object-fit:cover; border-radius:7px; }
.side-news-list span,.side-news-list small,.side-news-list strong,.side-news-list time { display:block; }
.side-news-list small { color:var(--primary-dark); font-size:8px; font-weight:900; letter-spacing:.6px; text-transform:uppercase; }
.side-news-list strong { margin:3px 0; color:var(--ink); font-size:11px; line-height:1.45; }
.side-news-list time { color:var(--gray); font-size:8px; }
.side-news-list a:hover strong { color:var(--primary-dark); }
.side-empty { color:var(--gray); font-size:12px; }

.not-found-section { background:var(--light); }
.not-found-section .empty-state { max-width:720px; margin:auto; background:#fff; }
.not-found-code { display:block; color:var(--primary); font-size:76px; line-height:1; }
.not-found-section h1 { margin:12px 0 7px; color:var(--ink); font-size:29px; }
.not-found-section .btn { margin-top:22px; }
.corporate-page { background:linear-gradient(180deg,#f7f8f6,#fff); }
.corporate-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:42px; align-items:start; }
.corporate-content { position:relative; min-height:520px; padding:48px; background:#fff; border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow); overflow:hidden; }
.corporate-content::before { content:''; position:absolute; left:0; top:0; width:5px; height:100%; background:linear-gradient(var(--primary-light),var(--primary-dark)); }
.corporate-mark { float:right; width:155px; height:155px; margin:0 0 20px 35px; display:grid; place-items:center; border-radius:50%; background:var(--ink); box-shadow:var(--shadow); }
.corporate-mark img { width:136px; height:136px; object-fit:contain; }
.corporate-sidebar { position:sticky; top:118px; display:grid; gap:22px; }
.corporate-nav a.current { background:var(--ink); color:#fff; }
.corporate-nav a.current > i { color:var(--primary-light); }

.gallery-section { background:#f7f8f6; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; }
.gallery-card { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; border-radius:10px; background:var(--ink); box-shadow:var(--shadow); }
.gallery-card::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(5,14,18,.92)); opacity:.88; transition:var(--transition); }
.gallery-card img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.gallery-card > strong { position:absolute; z-index:2; left:18px; right:60px; bottom:16px; color:#fff; font-size:13px; line-height:1.35; }
.gallery-zoom { position:absolute; z-index:3; right:16px; bottom:14px; width:39px; height:39px; display:grid; place-items:center; border-radius:50%; background:var(--primary); color:var(--ink); transform:scale(.9); opacity:.9; }
.gallery-card:hover img { transform:scale(1.07); }
.gallery-card:hover .gallery-zoom { transform:scale(1); }
.gallery-modal { position:fixed; inset:0; z-index:10050; padding:30px; display:flex; align-items:center; justify-content:center; background:rgba(3,10,13,.94); opacity:0; visibility:hidden; transition:var(--transition); }
.gallery-modal.active { opacity:1; visibility:visible; }
.gallery-modal figure { max-width:min(1100px,92vw); max-height:88vh; margin:0; text-align:center; }
.gallery-modal img { max-width:100%; max-height:80vh; margin:auto; object-fit:contain; border-radius:8px; box-shadow:0 20px 80px rgba(0,0,0,.55); }
.gallery-modal figcaption { margin-top:12px; color:#e7edef; font-size:13px; }
.gallery-modal-close { position:absolute; top:22px; right:24px; width:48px; height:48px; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(255,255,255,.08); color:#fff; font-size:20px; cursor:pointer; }
.gallery-modal-close:hover { background:var(--primary); color:var(--ink); }

.career-section { background:linear-gradient(145deg,#f7f8f6,#fff); }
.career-layout { display:grid; grid-template-columns:.92fr 1.08fr; gap:65px; align-items:start; }
.career-copy { padding-top:22px; }
.career-copy > h2 { max-width:630px; color:var(--ink); font-size:clamp(34px,4vw,49px); line-height:1.18; letter-spacing:-1px; }
.career-copy > p { margin-top:20px; max-width:660px; color:var(--gray); font-size:15px; }
.career-values { display:grid; gap:12px; margin-top:34px; }
.career-values article { display:flex; align-items:flex-start; gap:15px; padding:18px; border:1px solid var(--border); border-radius:8px; background:#fff; }
.career-values article > i { width:44px; height:44px; flex:0 0 auto; display:grid; place-items:center; border-radius:9px; background:var(--warm); color:var(--primary-dark); font-size:18px; }
.career-values strong,.career-values span { display:block; }
.career-values strong { color:var(--ink); font-size:13px; }
.career-values span { margin-top:3px; color:var(--gray); font-size:11px; line-height:1.55; }
.career-contact-note { margin-top:20px; padding:18px; display:flex; align-items:center; gap:14px; border-radius:8px; background:var(--ink); color:#fff; }
.career-contact-note > i { color:var(--primary-light); font-size:23px; }
.career-contact-note small,.career-contact-note strong { display:block; }
.career-contact-note small { color:#abb8bd; font-size:8px; letter-spacing:1.1px; }
.career-contact-note strong { color:#fff; font-size:13px; }
.career-form-panel { padding:38px; border-top:4px solid var(--primary); border-radius:10px; background:#fff; box-shadow:var(--shadow-lg); }
.career-form-panel h3 { color:var(--ink); font-size:29px; line-height:1.25; }
.career-form-panel > p { margin:8px 0 24px; color:var(--gray); font-size:12px; }
.file-field { position:relative; }
.file-field > span small { margin-left:7px; color:#8a9498; font-weight:500; }
.file-field input[type=file] { position:absolute; inset:29px 0 0; width:100%; opacity:0; cursor:pointer; z-index:2; }
.file-field em { min-height:88px; padding:18px; display:flex; align-items:center; justify-content:center; gap:10px; border:1px dashed #bfc7c9; border-radius:8px; background:var(--light); color:var(--gray); font-size:11px; font-style:normal; transition:var(--transition); }
.file-field:hover em,.file-field.has-file em { border-color:var(--primary); background:var(--warm); color:var(--ink); }
.file-field em i { color:var(--primary-dark); font-size:20px; }

@media (max-width:980px) {
  .corporate-layout,.career-layout { grid-template-columns:1fr; }
  .corporate-sidebar { position:static; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .article-main,.corporate-content,.career-form-panel { padding:25px; }
  .corporate-mark { float:none; width:125px; height:125px; margin:0 auto 25px; }
  .corporate-mark img { width:110px; height:110px; }
  .share-panel { align-items:flex-start; flex-direction:column; }
  .gallery-grid { grid-template-columns:1fr; }
  .gallery-modal { padding:15px; }
}


/* Catalogs + social media expansion — 2026-08-05 */
.top-actions { display:flex; align-items:center; gap:16px; }
.top-socials { display:flex; align-items:center; gap:6px; padding-left:14px; border-left:1px solid rgba(255,255,255,.12); }
.top-socials a { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.06); color:#d9dfe1; }
.top-socials a i { color:inherit; }
.top-socials a:hover { background:var(--primary); color:var(--ink); transform:translateY(-2px); }

.catalog-home-section,.catalog-listing-section { background:linear-gradient(180deg,#fff 0%,#f5f6f3 100%); }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.catalog-card { min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:14px; background:#fff; box-shadow:var(--shadow); transition:var(--transition); }
.catalog-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:rgba(216,170,30,.45); }
.catalog-cover { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(145deg,#081419,#17313b); }
.catalog-cover::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(5,14,18,.36)); pointer-events:none; }
.catalog-cover img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.catalog-card:hover .catalog-cover img { transform:scale(1.045); }
.catalog-placeholder { width:100%; height:100%; display:grid; place-items:center; align-content:center; gap:14px; color:var(--primary-light); background:radial-gradient(circle at 20% 10%,rgba(216,170,30,.2),transparent 38%),linear-gradient(145deg,#071116,#17313b); }
.catalog-placeholder i { font-size:68px; }
.catalog-placeholder small { color:#fff; font-weight:800; letter-spacing:2px; }
.catalog-file-badge { position:absolute; z-index:2; top:16px; right:16px; display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border-radius:7px; background:#fff; color:#9f1d20; font-size:11px; font-weight:900; box-shadow:0 8px 24px rgba(0,0,0,.15); }
.catalog-body { padding:25px; }
.catalog-body h3 { margin-bottom:10px; color:var(--ink); font-size:20px; line-height:1.35; }
.catalog-body p { min-height:48px; margin-bottom:20px; color:var(--gray); font-size:13px; }
.catalog-actions { display:flex; align-items:center; gap:10px; }
.catalog-actions .btn { flex:1; min-height:47px; padding:10px 16px; font-size:12px; }
.catalog-download { width:47px; height:47px; flex:0 0 47px; display:grid; place-items:center; border-radius:8px; border:1px solid var(--border); background:var(--warm); color:var(--primary-dark); }
.catalog-download:hover { background:var(--primary); color:var(--ink); transform:translateY(-2px); }
.catalog-meta { display:flex; align-items:center; gap:10px; margin-bottom:16px; color:var(--gray); font-size:11px; font-weight:700; }
.catalog-meta i { color:#a51d22; }

.home-gallery-section { background:#071116; }
.home-gallery-section .section-head h2 { color:#fff; }
.home-gallery-section .section-head p { color:#b9c5c9; }
.home-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

.social-follow-section { padding:62px 0; background:linear-gradient(120deg,#d7aa1e,#f0cb4c); color:var(--ink); }
.social-follow-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:45px; align-items:center; }
.social-follow-copy span { display:block; margin-bottom:8px; font-size:11px; font-weight:900; letter-spacing:1.7px; }
.social-follow-copy h2 { max-width:680px; font-size:clamp(25px,3vw,38px); line-height:1.25; }
.social-follow-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.social-follow-links a { min-width:104px; min-height:76px; padding:12px; display:grid; place-items:center; align-content:center; gap:5px; border:1px solid rgba(9,20,25,.18); border-radius:10px; background:rgba(255,255,255,.28); color:var(--ink); font-size:11px; font-weight:800; }
.social-follow-links a i { font-size:21px; }
.social-follow-links a:hover { background:var(--ink); color:#fff; transform:translateY(-4px); border-color:var(--ink); }

@media (max-width:980px) {
  .top-socials { display:none; }
  .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .social-follow-inner { grid-template-columns:1fr; }
  .social-follow-links { justify-content:flex-start; }
}
@media (max-width:620px) {
  .catalog-grid,.home-gallery-grid { grid-template-columns:1fr; }
  .catalog-body { padding:21px; }
  .social-follow-links { display:grid; grid-template-columns:repeat(3,1fr); width:100%; }
  .social-follow-links a { min-width:0; }
}

@media (max-width:520px) {
    .announcement-status { display:none; }
    .announcement-inner { min-height:64px; gap:7px; }
    .announcement-copy > i { display:none; }
    .announcement-copy strong { font-size:12px; line-height:1.25; }
    .simulator-button { min-height:38px; padding:0 11px; font-size:11px; white-space:nowrap; }
    .announcement-close { width:24px; height:24px; font-size:12px; }
}

/* 2026-08-05 Kurumsal, KVKK ve İnsan Kaynakları geliştirmeleri */
.detail-content h2 { margin:0 0 18px; color:var(--ink); font-size:clamp(25px,3vw,35px); line-height:1.25; }
.detail-content h2:not(:first-child) { margin-top:36px; }
.detail-content h3 { margin:30px 0 12px; color:var(--ink); font-size:20px; line-height:1.35; }
.detail-content p { margin:0 0 16px; }
.detail-content ul,.detail-content ol { margin:14px 0 22px; padding-left:22px; }
.detail-content li { margin:8px 0; padding-left:4px; }
.detail-content li::marker { color:var(--primary); font-weight:800; }
.detail-content a:not(.btn) { color:var(--primary-dark); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.content-highlight,.content-note { margin:26px 0; padding:20px 22px; border-radius:8px; line-height:1.75; }
.content-highlight { border-left:4px solid var(--primary); background:linear-gradient(135deg,#fff9df,#fff); color:var(--ink); }
.content-note { border:1px solid #dfe6e8; border-left:4px solid var(--primary-dark); background:#f5f8f8; color:#39484e; }
.legal-page .corporate-content { padding-top:52px; }
.legal-page .detail-content { max-width:940px; }
.legal-page .detail-content > p:first-of-type { padding:12px 16px; border-radius:6px; background:#f5f7f7; color:#5d6b70; font-size:12px; }
.legal-side-card { border-top:3px solid var(--primary); }
.footer-legal { display:flex; align-items:center; justify-content:flex-end; gap:16px; flex-wrap:wrap; }
.footer-legal a { color:#aab6ba; transition:.2s ease; }
.footer-legal a:hover { color:var(--primary-light); }
.career-roles { margin-top:22px; padding:20px; border:1px solid var(--border); border-radius:8px; background:#fff; }
.career-roles > span { display:block; margin-bottom:12px; color:var(--ink); font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.career-roles > div { display:flex; gap:8px; flex-wrap:wrap; }
.career-roles em { padding:7px 10px; border-radius:99px; background:var(--warm); color:var(--primary-dark); font-size:10px; font-style:normal; font-weight:700; }
.privacy-consents { display:grid; gap:11px; margin:18px 0 20px; }
.consent-row { display:flex!important; align-items:flex-start; gap:11px; padding:14px 15px; border:1px solid var(--border); border-radius:8px; background:#f9fbfb; cursor:pointer; }
.consent-row input { width:17px!important; height:17px!important; min-width:17px; margin-top:2px; accent-color:var(--primary-dark); }
.consent-row span { color:#526066; font-size:11px; line-height:1.6; }
.consent-row span strong { color:#c62828; }
.consent-row a { color:var(--primary-dark); font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.consent-row small { display:block; margin-top:4px; color:#78868b; }
.required-consent { border-color:#d9dfd4; background:#fffdf4; }
.optional-consent { background:#f5f8f8; }
.form-security-note { display:flex; align-items:flex-start; gap:8px; margin:14px 0 0!important; color:#718087!important; font-size:10px!important; line-height:1.55; }
.form-security-note i { margin-top:2px; color:var(--primary-dark); }
.file-field.is-dragging { border-color:var(--primary)!important; background:#fff8d9!important; transform:translateY(-1px); }
.file-field.has-file em { color:var(--primary-dark); font-weight:800; }

@media (max-width:760px) {
  .footer-legal { justify-content:flex-start; gap:10px 14px; }
  .legal-page .corporate-content { padding:26px 22px; }
  .privacy-consents { margin-top:14px; }
}


/* Yönetilebilir sosyal medya ikonları — 2026-08-05 */
.social-icon{position:relative;isolation:isolate;transition:transform .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
.social-icon:focus-visible{outline:3px solid rgba(229,188,50,.42);outline-offset:3px}
.social-style-circle .social-icon{border-radius:999px}
.social-style-rounded .social-icon{border-radius:10px!important}
.social-style-minimal .social-icon{background:transparent!important;border:1px solid currentColor;box-shadow:none}
.top-socials .social-icon:hover,.footer-socials .social-icon:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.social-follow-links .social-icon:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(9,20,25,.18)}
.social-icon[data-network="instagram"]:hover{background:#c13584!important;color:#fff!important;border-color:#c13584!important}
.social-icon[data-network="facebook"]:hover{background:#1877f2!important;color:#fff!important;border-color:#1877f2!important}
.social-icon[data-network="linkedin"]:hover{background:#0a66c2!important;color:#fff!important;border-color:#0a66c2!important}
.social-icon[data-network="twitter"]:hover,.social-icon[data-network="threads"]:hover{background:#000!important;color:#fff!important;border-color:#000!important}
.social-icon[data-network="youtube"]:hover{background:#ff0000!important;color:#fff!important;border-color:#ff0000!important}
.social-icon[data-network="tiktok"]:hover{background:#111!important;color:#fff!important;border-color:#111!important}
.social-icon[data-network="pinterest"]:hover{background:#e60023!important;color:#fff!important;border-color:#e60023!important}
.social-icon[data-network="telegram"]:hover{background:#229ed9!important;color:#fff!important;border-color:#229ed9!important}
.social-icon[data-network="whatsapp"]:hover{background:#25d366!important;color:#fff!important;border-color:#25d366!important}
@media(max-width:560px){.social-follow-links{grid-template-columns:repeat(2,minmax(0,1fr))}.social-follow-links a{min-height:68px}}


/* 2026-08-13 müşteri faaliyet sınıflandırması */
.activity-directory .section-head { margin-bottom:42px; }
.home-activity-groups { display:grid; gap:50px; }
.activity-group { position:relative; padding:28px; border:1px solid var(--border); border-radius:13px; background:rgba(255,255,255,.7); box-shadow:0 12px 35px rgba(7,20,26,.045); }
.activity-group + .activity-group { margin-top:34px; }
.activity-group-head { display:flex; align-items:flex-start; gap:16px; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--border); }
.activity-group-head.compact { margin-bottom:20px; }
.activity-group-icon { width:52px; height:52px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; background:var(--ink); color:var(--primary-light); font-size:20px; }
.activity-group-head span { display:block; color:var(--primary-dark); font-size:9px; line-height:1.4; font-weight:900; letter-spacing:1.25px; text-transform:uppercase; margin-bottom:4px; }
.activity-group-head h3 { color:var(--ink); font-size:clamp(21px,2.2vw,29px); line-height:1.25; }
.activity-group-head p { max-width:850px; margin-top:7px; color:var(--gray); font-size:13px; line-height:1.7; }
.activity-services-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.activity-group-solar { border-top:4px solid var(--primary); }
.activity-group-generation { border-top:4px solid #506976; }
.activity-group-infrastructure { border-top:4px solid #7a8285; }
.service-thumb { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:9px; margin-bottom:16px; background:#071419; }
.service-thumb img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .5s ease; }
.service-card:hover .service-thumb img { transform:scale(1.045); }
.service-scale-badge { position:absolute; left:10px; top:10px; z-index:2; max-width:calc(100% - 20px); padding:7px 9px; border-radius:6px; background:rgba(5,18,24,.9); color:#fff; font-size:8px; font-weight:900; letter-spacing:.75px; text-transform:uppercase; box-shadow:0 5px 16px rgba(0,0,0,.18); }
.activity-group-solar .service-card:nth-child(-n+3) { border-color:rgba(216,170,30,.35); }
.activity-group-solar .service-card:nth-child(-n+3) .service-thumb { aspect-ratio:16/9; }
.submenu-grouped { min-width:390px; max-height:560px; }
.submenu-heading { padding:11px 13px 5px; pointer-events:none; }
.submenu-heading span { display:flex; align-items:center; gap:8px; color:var(--primary-dark); font-size:8px; font-weight:950; letter-spacing:1px; text-transform:uppercase; }
.submenu-heading:not(:first-child) { margin-top:7px; border-top:1px solid var(--border); padding-top:13px; }
.submenu-heading i { width:18px; text-align:center; }
@media (max-width:1180px) { .activity-services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:820px) { .activity-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .activity-group { padding:20px; } .submenu-grouped { min-width:0; } .submenu-heading span { color:var(--accent); } }
@media (max-width:520px) { .activity-services-grid { grid-template-columns:1fr; } .activity-group { padding:16px; } .activity-group-head { gap:12px; } .activity-group-icon { width:44px; height:44px; } }
