:root {
    --navy:        #0D3B7A;
    --navy-mid:    #002b5b;
    --navy-light:  #0d3a7a;
    --accent:      #4a90d9;
    --accent-pale: #a9c7ff;
    --surface:     #f7f9fb;
    --surface-low: #eceef0;
    --muted:       #64748b;
    --text:        #0f1c2e;
    --white:       #ffffff;
    --font-display: 'Barlow Condensed', sans-serif;
    --font-body:    'Barlow', sans-serif;
    --transition: .35s cubic-bezier(.25,.46,.45,.94);
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 16px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--text); background: var(--surface); overflow-x: hidden; }
img { display: block; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-display); letter-spacing: -.02em; }

/* ─── Navbar ────────────────────────────────────── */
#mainNav {
    background: #fff;
    border-bottom: 1px solid rgba(0,23,54,.08);
    transition: box-shadow var(--transition);
    padding: 0;
}
#mainNav.scrolled { box-shadow: 0 4px 32px rgba(0,23,54,.12); }
.navbar-brand {
    font-family: var(--font-display);
    font-weight: 900;
    font-size: 1.55rem;
    letter-spacing: .05em;
    color: var(--navy) !important;
    text-transform: uppercase;
    padding: 0.6rem 0;
}
.nav-item-mega { position: static !important; }
.main-nav-link {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: .9rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--navy) !important;
    padding: 1.35rem .9rem !important;
    display: flex; align-items: center; gap: .3rem;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: color var(--transition), border-color var(--transition);
    white-space: nowrap;
}
.main-nav-link:hover,
.main-nav-link.active-drop { color: var(--navy-mid) !important; border-bottom-color: var(--accent); }
.main-nav-link .drop-arrow { font-size: .7rem; transition: transform var(--transition); opacity: .5; }
.main-nav-link.active-drop .drop-arrow { transform: rotate(180deg); opacity: 1; }
.navbar-toggler { border: 2px solid rgba(0,23,54,.3); border-radius: 4px; padding: .4rem .6rem; }
.navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23001736' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
.nav-lang-switch { display: flex; align-items: center; gap: .25rem; white-space: nowrap; }
.lang-btn { font-family: var(--font-display); font-weight: 800; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); text-decoration: none; padding: .3rem .5rem; border-radius: var(--radius-sm); transition: color var(--transition), background var(--transition); }
.lang-btn:hover { color: var(--navy); }
.lang-btn.active { color: var(--navy); background: var(--surface-low); }
.lang-sep { color: #cbd5e1; font-weight: 300; font-size: .9rem; }

/* ─── Mega / Simple Dropdowns ───────────────────── */
.mega-panel {
    display: none; position: absolute; top: 100%; left: 0; width: 100%;
    background: #fff; border-top: 3px solid var(--accent);
    box-shadow: 0 24px 60px rgba(0,23,54,.15); z-index: 1000;
    animation: megaFadeIn .22s ease;
}
.mega-panel.open { display: block; }
@keyframes megaFadeIn { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
.mega-inner { padding: 1.75rem 0 2.25rem; }
.mega-sport-card { position: relative; border-radius: var(--radius-md); overflow: hidden; height: 160px; cursor: pointer; display: block; text-decoration: none; }
.mega-sport-card img { width:100%;height:100%;object-fit:cover;transition:transform .5s ease; }
.mega-sport-card:hover img { transform:scale(1.07); }
.mega-sport-card .msc-grad { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,23,54,.88) 0%,rgba(0,23,54,.1) 60%,transparent 100%); }
.mega-sport-card .msc-label { position:absolute;bottom:0;left:0;right:0;padding:.9rem 1rem;font-family:var(--font-display);font-size:1.15rem;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.06em; }
.mega-sport-card:hover .msc-label { color:var(--accent-pale); }
.mega-sport-card.all-sports { background:var(--navy);display:flex;align-items:center;justify-content:center; }
.mega-sport-card.all-sports .msc-label { position:static;text-align:center;font-size:1rem;padding:0; }
.mega-sport-card.all-sports:hover { background:var(--navy-mid); }
.simple-drop {
    display: none; position: absolute; top: 100%; left: 0; min-width: 220px;
    background: #fff; border-top: 3px solid var(--accent);
    box-shadow: 0 16px 48px rgba(0,23,54,.13);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    z-index: 1000; padding: .5rem 0; animation: megaFadeIn .2s ease;
}
.simple-drop.open { display: block; }
.simple-drop a { display:block;padding:.65rem 1.25rem;font-family:var(--font-display);font-weight:700;font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text);text-decoration:none;transition:background var(--transition),color var(--transition),padding var(--transition); }
.simple-drop a:hover { background:var(--surface-low);color:var(--navy-mid);padding-left:1.6rem; }
.simple-drop .drop-divider { height:1px;background:var(--surface-low);margin:.25rem 0; }
@media(max-width:991.98px){
.mega-panel,.simple-drop{position:static;box-shadow:none;border-top:none;animation:none;}
.mega-panel{border-left:3px solid var(--accent);margin-left:1rem;padding:.5rem 0;}
.mega-inner{padding:.75rem 0;} .mega-sport-card{height:120px;}
.simple-drop{border-left:3px solid var(--accent);margin-left:1rem;}
.main-nav-link{padding:.75rem 1rem!important;border-bottom:none;border-left:3px solid transparent;}
.main-nav-link:hover,.main-nav-link.active-drop{border-left-color:var(--accent);border-bottom:none;}
}
/* Barlow Condensed has no Armenian glyphs → falls back to a wider font.
   Compensate on the navbar so HY links match the density of EN links. */
[lang="hy"] .main-nav-link {
  font-size: .8rem;
  letter-spacing: .01em;
  padding-left: .6rem !important;
  padding-right: .6rem !important;
}
[lang="hy"] .lang-btn {
  font-size: .78rem;
  letter-spacing: .02em;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  [lang="hy"] .main-nav-link {
    font-size: .74rem;
    padding-left: .45rem !important;
    padding-right: .45rem !important;
  }
}

/* ─── Page Hero ─────────────────────────────────── */
.page-hero {
    min-height: 480px;
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    padding-bottom: 4rem;
}
.page-hero .hero-bg {
    position: absolute; inset: 0;
    background-image: url('/assets/img/golf-machinery.webp');
    background-size: cover;
    background-position: center 40%;
    transform: scale(1.04);
    transition: transform 8s ease;
}
.page-hero.loaded .hero-bg { transform: scale(1); }
.page-hero .hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,10,30,.88) 0%, rgba(0,10,30,.5) 55%, rgba(0,10,30,.2) 100%);
}
.page-hero-content { position: relative; z-index: 2; }
.hero-breadcrumb {
    display: flex; align-items: center; gap: .5rem;
    font-family: var(--font-display); font-size: .75rem; font-weight: 700;
    letter-spacing: .15em; text-transform: uppercase;
    color: rgba(255,255,255,.55); margin-bottom: 1.25rem;
}
.hero-breadcrumb a { color: rgba(255,255,255,.55); text-decoration: none; transition: color var(--transition); }
.hero-breadcrumb a:hover { color: #fff; }
.hero-breadcrumb i { font-size: .6rem; }

/* ─── Service quick nav pills ────────────────────── */
.svc-nav {
    display: flex; flex-wrap: wrap; gap: .5rem;
}
.svc-nav-item {
    font-family: var(--font-display); font-weight: 700; font-size: .82rem;
    letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.7);
    text-decoration: none; padding: .5rem 1.2rem;
    border: 2px solid rgba(255,255,255,.25);
    border-radius: var(--radius-sm);
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(6px);
    transition: all var(--transition);
    display: flex; align-items: center; gap: .4rem;
    white-space: nowrap;
}
.svc-nav-item:hover { background: rgba(255,255,255,.18); color: #fff; border-color: rgba(255,255,255,.5); }
.svc-nav-item i { font-size: .95rem; }

/* ─── Section Utility ───────────────────────────── */
.section-label { font-family:var(--font-display);font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);display:inline-block;margin-bottom:.75rem; }
.section-title { font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--navy);text-transform:uppercase;line-height:1.05; }
.divider-accent { width:48px;height:4px;background:var(--accent);border-radius:2px;margin:1rem 0 1.5rem; }
.text-highlight{background-color:rgba(26,111,196,.15);padding:4px 8px;border-radius:4px;display:inline-block}

/* ─── Services overview strip ────────────────────── */
.svc-strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    border: 1px solid var(--surface-low);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
@media(max-width:991.98px) { .svc-strip { grid-template-columns: repeat(3,1fr); } }
@media(max-width:575.98px) { .svc-strip { grid-template-columns: 1fr 1fr; } }
.svc-strip-item {
    padding: 1.75rem 1.25rem;
    text-align: center;
    background: #fff;
    border-right: 1px solid var(--surface-low);
    cursor: pointer;
    text-decoration: none;
    transition: background var(--transition), transform var(--transition);
    display: flex; flex-direction: column; align-items: center; gap: .6rem;
}
.svc-strip-item:last-child { border-right: none; }
.svc-strip-item:hover { background: var(--navy); }
.svc-strip-item .strip-icon {
    width: 52px; height: 52px;
    border-radius: var(--radius-md);
    background: rgba(0,43,91,.07);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem; color: var(--navy);
    transition: background var(--transition), color var(--transition);
}
.svc-strip-item:hover .strip-icon { background: rgba(255,255,255,.15); color: #fff; }
.svc-strip-item .strip-num {
    font-family: var(--font-display); font-size: .65rem; font-weight: 800;
    letter-spacing: .18em; text-transform: uppercase; color: var(--accent);
    transition: color var(--transition);
}
.svc-strip-item:hover .strip-num { color: var(--accent-pale); }
.svc-strip-item h5 {
    font-size: 1rem; font-weight: 700; color: var(--navy);
    text-transform: uppercase; margin: 0; line-height: 1.2;
    transition: color var(--transition);
}
.svc-strip-item:hover h5 { color: #fff; }
.svc-strip-item p { font-size: .78rem; color: var(--muted); margin: 0; line-height: 1.4; transition: color var(--transition); }
.svc-strip-item:hover p { color: rgba(255,255,255,.65); }

/* ─── Service detail sections ────────────────────── */
.svc-section { scroll-margin-top: 90px; }

.feature-list { list-style: none; padding: 0; margin: 0; }
.feature-list li {
    display: flex; align-items: flex-start; gap: .75rem;
    padding: .65rem 0; border-bottom: 1px solid var(--surface-low);
    font-size: .92rem; color: var(--text); line-height: 1.5;
}
.feature-list li:last-child { border-bottom: none; }
.feature-list li i { color: var(--accent); font-size: 1rem; margin-top: .15rem; flex-shrink: 0; }

.spec-tag {
    display: inline-flex; align-items: center; gap: .4rem;
    background: var(--surface-low); border-radius: var(--radius-sm);
    padding: .45rem 1rem; font-family: var(--font-display);
    font-size: .78rem; font-weight: 700; letter-spacing: .1em;
    text-transform: uppercase; color: var(--navy);
}
.spec-tag i { font-size: .9rem; color: var(--accent); }

.svc-img-wrap { position: relative; border-radius: var(--radius-lg); overflow: hidden; }
.svc-img-wrap img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.svc-img-wrap .img-badge {
    position: absolute; bottom: 1.25rem; left: 1.25rem;
    background: var(--navy); color: #fff;
    font-family: var(--font-display); font-weight: 800;
    font-size: .78rem; letter-spacing: .12em; text-transform: uppercase;
    padding: .5rem 1rem; border-radius: var(--radius-sm);
    display: flex; align-items: center; gap: .4rem;
}
.svc-img-wrap .img-badge i { color: var(--accent-pale); }

/* Step counter badge in section */
.svc-step-badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 48px; height: 48px;
    border-radius: 50%;
    background: var(--navy); color: #fff;
    font-family: var(--font-display); font-size: 1.3rem; font-weight: 900;
    flex-shrink: 0; margin-bottom: 1rem;
}

/* ─── 360° Lifecycle Timeline ────────────────────── */
#lifecycle { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%); position: relative; overflow: hidden; }
#lifecycle::before { content:'';position:absolute;width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,255,255,.05);top:-200px;right:-200px; }
#lifecycle::after { content:'';position:absolute;width:400px;height:400px;border-radius:50%;border:1px solid rgba(255,255,255,.05);bottom:-150px;left:-100px; }

.lifecycle-step {
    text-align: center;
    position: relative;
    z-index: 1;
}
.lifecycle-num {
    font-family: var(--font-display);
    font-size: 4.5rem;
    font-weight: 900;
    color: rgba(255,255,255,.06);
    line-height: 1;
    position: absolute;
    top: -1rem; left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    pointer-events: none;
}
.lifecycle-icon {
    width: 80px; height: 80px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.07);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.8rem; color: var(--accent-pale);
    margin: 0 auto 1.25rem;
    backdrop-filter: blur(4px);
    transition: background var(--transition), border-color var(--transition);
}
.lifecycle-step:hover .lifecycle-icon { background: rgba(74,144,217,.25); border-color: var(--accent); }
.lifecycle-step h5 { font-size: 1.2rem; font-weight: 800; color: #fff; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .5rem; }
.lifecycle-step p { font-size: .85rem; color: var(--accent-pale); line-height: 1.6; }

/* ─── Why Choose cards ───────────────────────────── */
.why-card {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 2rem;
    border: 1px solid rgba(0,23,54,.07);
    height: 100%;
    transition: transform var(--transition), box-shadow var(--transition);
}
.why-card:hover { transform: translateY(-5px); box-shadow: 0 20px 48px rgba(0,23,54,.12); }
.why-card .why-icon {
    width: 56px; height: 56px;
    border-radius: var(--radius-md);
    background: rgba(0,43,91,.07);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; color: var(--navy-mid);
    margin-bottom: 1.25rem;
    transition: background var(--transition), color var(--transition);
}
.why-card:hover .why-icon { background: var(--navy); color: #fff; }
.why-card h5 { font-size: 1.15rem; font-weight: 800; color: var(--navy); text-transform: uppercase; margin-bottom: .6rem; }
.why-card p { font-size: .88rem; color: var(--muted); line-height: 1.65; margin: 0; }

/* ─── Sports applicability strip ────────────────── */
.sport-applicability {
    display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1.25rem;
}
.sport-pill {
    display: inline-flex; align-items: center; gap: .35rem;
    font-family: var(--font-display); font-size: .72rem; font-weight: 800;
    letter-spacing: .12em; text-transform: uppercase;
    background: rgba(13,59,122,.08); color: var(--navy);
    border-radius: 100px; padding: .3rem .9rem;
}
.sport-pill i { font-size: .75rem; color: var(--accent); }

/* ─── CTA ───────────────────────────────────────── */
#cta { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%); position: relative; overflow: hidden; }
#cta .cta-bg-icon { position:absolute;right:-2rem;top:50%;transform:translateY(-50%);font-size:22rem;color:rgba(255,255,255,.04);line-height:1;pointer-events:none; }
#cta h2 { font-size:clamp(2rem,5vw,3.5rem);font-weight:900;color:#fff;text-transform:uppercase;line-height:1.05; }
.btn-cta { font-family:var(--font-display);font-weight:800;font-size:1.1rem;letter-spacing:.1em;text-transform:uppercase;background:#fff;color:var(--navy);border:none;border-radius:var(--radius-sm);padding:1rem 3rem;text-decoration:none;display:inline-block;transition:background var(--transition),transform var(--transition); }
.btn-cta:hover { background:var(--accent-pale);transform:translateY(-2px);color:var(--navy); }

/* ─── Footer ────────────────────────────────────── */
footer { background:#020e1f;color:#8da0b8;font-size:.88rem; }
footer .brand-name { font-family:var(--font-display);font-size:1.8rem;font-weight:900;color:#fff;letter-spacing:.04em; }
footer h6 { font-family:var(--font-display);font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:1.25rem; }
footer a { color:#8da0b8;text-decoration:none;transition:color var(--transition); }
footer a:hover { color:var(--accent-pale); }
.footer-divider { border-color:rgba(255,255,255,.07); }
.footer-contact-item { display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.9rem; }
.footer-contact-item i { color:var(--accent);font-size:1.1rem;margin-top:.05rem;flex-shrink:0; }

/* ─── Animations ─────────────────────────────────── */
.reveal { opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease; }
.reveal.visible { opacity:1;transform:none; }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }

/* ─── Misc ──────────────────────────────────────── */
.bg-view-all-btn { font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--navy);color:var(--navy);background:transparent;border-radius:var(--radius-sm);padding:.6rem 1.6rem;transition:all var(--transition);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem; }
.bg-view-all-btn:hover { background:var(--navy);color:#fff;gap:.8rem; }
.stat-pill { display:inline-flex;align-items:center;gap:.6rem;background:var(--surface-low);border-radius:var(--radius-md);padding:.75rem 1.25rem; }
.stat-pill .num { font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--navy);line-height:1; }
.stat-pill .lbl { font-size:.78rem;color:var(--muted);line-height:1.3; }

[id] { scroll-margin-top: 90px; }
