:root {
  --ag-blue: #0F2D52;
  --ag-blue-dark: #081c34;
  --ag-gray: #88BFC9;
  --ag-gray-soft: #eef6f8;
  --ag-gold: #C8A24D;
  --ag-gold-dark: #a88334;
  --ag-white: #ffffff;
  --ag-text: #243447;
  --ag-muted: #64748b;
  --ag-border: rgba(15, 45, 82, 0.12);
  --shadow-soft: 0 18px 50px rgba(15, 45, 82, 0.10);
  --shadow-strong: 0 24px 60px rgba(8, 28, 52, 0.22);
  --radius-lg: 1.5rem;
}

html { scroll-behavior: smooth; }
body { font-family: "Segoe UI", Arial, sans-serif; color: var(--ag-text); background: #fff; overflow-x: hidden; }
a { text-decoration: none; }
img { max-width: 100%; }
.section-anchor { scroll-margin-top: 105px; }
.section-padding { padding: 7rem 0; }
.bg-soft { background: linear-gradient(180deg, #f7fbfc 0%, var(--ag-gray-soft) 100%); }

.topbar { background: var(--ag-blue-dark); color: rgba(255,255,255,.78); font-size: .86rem; padding: .45rem 0; position: relative; z-index: 1040; }
.topbar a { color: rgba(255,255,255,.78); transition: .25s; }
.topbar a:hover { color: var(--ag-gold); }

#mainNavbar { background: rgba(15,45,82,.97); backdrop-filter: blur(12px); transition: all .3s ease; top: 31px; }
#mainNavbar.scrolled { top: 0; box-shadow: 0 10px 35px rgba(8,28,52,.22)!important; }
.navbar-brand { padding: .55rem 0; }
.brand-logo-slot { width: 90px; height: 90px; display: flex; align-items: center; justify-content: center; border-right: 1px solid rgba(255,255,255,.18); padding-right: .8rem; }
.brand-logo-slot img { max-height: 100%; max-width: 100%; object-fit: contain; }
.brand-logo-slot.logo-placeholder::before { content: "AG"; color: var(--ag-gold); font-weight: 800; font-size: 1.45rem; letter-spacing: .05em; }
.brand-copy { line-height: 1.05; }
.brand-title { display:block; color:#fff; font-size:1.05rem; font-weight:800; letter-spacing:.12em; }
.brand-copy small { color: var(--ag-gray); font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; }
.navbar-nav .nav-link { color: rgba(255,255,255,.86); font-weight: 600; padding: 1.45rem .82rem; position: relative; transition: .25s; }
.navbar-nav .nav-link::after { border: 0; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active, .navbar-nav .nav-item.active-parent > .nav-link { color: var(--ag-gold); }
.navbar-nav .nav-link:not(.dropdown-toggle)::before, .navbar-nav .dropdown-toggle::before { content:""; position:absolute; left:.82rem; right:.82rem; bottom:.85rem; height:2px; background:var(--ag-gold); transform:scaleX(0); transform-origin:left; transition:.25s; }
.navbar-nav .nav-link:hover::before, .navbar-nav .nav-link.active::before, .navbar-nav .nav-item.active-parent > .nav-link::before { transform:scaleX(1); }
.dropdown-menu { border: 0; border-top: 3px solid var(--ag-gold); border-radius: 0 0 .9rem .9rem; padding: .7rem; box-shadow: 0 18px 45px rgba(8,28,52,.16); min-width: 250px; }
.dropdown-item { color: var(--ag-blue); font-weight: 600; border-radius: .55rem; padding: .75rem .9rem; transition: .2s; }
.dropdown-item i { color: var(--ag-gold); margin-right: .55rem; }
.dropdown-item:hover, .dropdown-item.active { background: var(--ag-gray-soft); color: var(--ag-gold-dark); }

.btn { border-radius: 999px; font-weight: 700; padding: .78rem 1.45rem; transition: all .25s ease; }
.btn-gold { background: var(--ag-gold); border-color: var(--ag-gold); color: var(--ag-blue-dark); box-shadow: 0 10px 28px rgba(200,162,77,.24); }
.btn-gold:hover { background: var(--ag-gold-dark); border-color: var(--ag-gold-dark); color: #fff; transform: translateY(-2px); }
.btn-primary-custom { background: var(--ag-blue); color:#fff; border:1px solid var(--ag-blue); }
.btn-primary-custom:hover { background: var(--ag-gold); border-color:var(--ag-gold); color:var(--ag-blue-dark); }
.btn-outline-custom { border:1px solid var(--ag-blue); color:var(--ag-blue); }
.btn-outline-custom:hover { background:var(--ag-blue); color:#fff; }

.hero-section { position: relative; background: url("https://images.unsplash.com/photo-1453728013993-6d66e9c9123a?auto=format&fit=crop&w=2000&q=90") center/cover no-repeat; color:#fff; }
.hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(8,28,52,.96) 0%, rgba(15,45,82,.88) 45%, rgba(15,45,82,.30) 100%); }
.eyebrow, .section-kicker { display:inline-block; color:var(--ag-gold); font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:.76rem; margin-bottom:1rem; }
.hero-section h1 { font-size: clamp(3.2rem, 7vw, 6.4rem); line-height:.95; font-weight:800; letter-spacing:-.045em; max-width:900px; }
.hero-section h1 span { color:var(--ag-gray); }
.hero-lead { font-size:1.2rem; line-height:1.75; color:rgba(255,255,255,.82); max-width:680px; }
.hero-trust { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:1rem; max-width:650px; }
.hero-trust div { border-left:2px solid var(--ag-gold); padding-left:1rem; }
.hero-trust strong { display:block; font-size:1.65rem; color:#fff; }
.hero-trust span { display:block; font-size:.85rem; color:rgba(255,255,255,.7); }
.scroll-indicator { position:absolute; left:50%; bottom:25px; transform:translateX(-50%); width:28px; height:45px; border:1px solid rgba(255,255,255,.55); border-radius:20px; }
.scroll-indicator span { position:absolute; width:4px; height:8px; border-radius:3px; background:var(--ag-gold); left:50%; top:8px; transform:translateX(-50%); animation:scrollDot 1.8s infinite; }
@keyframes scrollDot { 0%{opacity:0; transform:translate(-50%,0)} 40%{opacity:1} 100%{opacity:0; transform:translate(-50%,18px)} }

.credibility-strip { background:#fff; box-shadow:0 18px 50px rgba(8,28,52,.12); position:relative; z-index:2; }
.credibility-item { padding:1.6rem 1rem; border-right:1px solid var(--ag-border); display:flex; justify-content:center; align-items:center; gap:.7rem; color:var(--ag-blue); font-weight:700; }
.credibility-item i { color:var(--ag-gold); font-size:1.35rem; }

.section-heading { max-width:760px; }
.section-heading h2, section h2 { color:var(--ag-blue); font-size:clamp(2.2rem,4vw,3.7rem); line-height:1.08; letter-spacing:-.035em; font-weight:800; }
.section-heading p, .lead-muted { color:var(--ag-muted); font-size:1.08rem; line-height:1.8; }
.section-kicker.gold { color:var(--ag-gold); }
.text-white h2, .dark-section h2, .testimonial-section h2, .resource-section h2, .contact-section h2 { color:#fff; }

.image-frame { position:relative; padding:1.25rem 1.25rem 0 0; }
.image-frame::before { content:""; position:absolute; top:0; right:0; width:70%; height:70%; border:2px solid var(--ag-gold); border-radius:var(--radius-lg); }
.image-frame img { position:relative; width:100%; height:580px; object-fit:cover; border-radius:var(--radius-lg); box-shadow:var(--shadow-strong); }
.experience-badge { position:absolute; bottom:-25px; right:-10px; background:var(--ag-blue); color:#fff; border-radius:1rem; padding:1.2rem 1.5rem; box-shadow:var(--shadow-strong); border-left:4px solid var(--ag-gold); }
.experience-badge strong { font-size:2rem; display:block; color:var(--ag-gold); }
.experience-badge span { font-size:.85rem; }
.signature-quote { border-left:4px solid var(--ag-gold); padding:1rem 1.25rem; margin:1.5rem 0; background:var(--ag-gray-soft); color:var(--ag-blue); font-weight:700; font-style:italic; }
.text-link { color:var(--ag-blue); font-weight:800; }
.text-link:hover { color:var(--ag-gold-dark); }

.value-card, .service-card { height:100%; background:#fff; border:1px solid var(--ag-border); border-radius:1.25rem; padding:2rem; transition:.3s; }
.value-card:hover, .service-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-soft); border-color:rgba(200,162,77,.45); }
.value-card i, .service-card > i { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--ag-blue); color:var(--ag-gold); font-size:1.45rem; margin-bottom:1.3rem; }
.value-card h3, .service-card h3 { color:var(--ag-blue); font-size:1.25rem; font-weight:800; }
.value-card p, .service-card p { color:var(--ag-muted); }
.service-card { position:relative; overflow:hidden; }
.service-card > span { position:absolute; top:1rem; right:1.2rem; color:rgba(15,45,82,.08); font-size:3.4rem; font-weight:900; }
.service-card a { color:var(--ag-gold-dark); font-weight:800; }

.dark-section { background:linear-gradient(135deg,var(--ag-blue-dark),var(--ag-blue)); }
.process-line { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; position:relative; }
.process-line::before { content:""; position:absolute; top:28px; left:8%; right:8%; height:1px; background:rgba(255,255,255,.25); }
.process-step { text-align:center; color:#fff; position:relative; padding:0 .5rem; }
.process-step > span { width:56px; height:56px; border-radius:50%; display:grid; place-items:center; margin:0 auto 1.2rem; background:var(--ag-gold); color:var(--ag-blue-dark); font-weight:900; position:relative; z-index:1; }
.process-step h3 { font-size:1.1rem; font-weight:800; }
.process-step p { color:rgba(255,255,255,.68); font-size:.92rem; }

.case-list { display:grid; gap:1rem; }
.case-list article { border-left:4px solid var(--ag-gold); background:var(--ag-gray-soft); padding:1.5rem 1.6rem; border-radius:0 1rem 1rem 0; }
.case-list span { color:var(--ag-gold-dark); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:800; }
.case-list h3 { color:var(--ag-blue); font-size:1.15rem; margin:.5rem 0; }
.case-list p { margin:0; color:var(--ag-muted); }
.sector-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:1rem; }
.sector-grid div { background:#fff; border:1px solid var(--ag-border); padding:1.6rem 1rem; border-radius:1rem; text-align:center; color:var(--ag-blue); font-weight:700; }
.sector-grid i { display:block; font-size:1.7rem; color:var(--ag-gold); margin-bottom:.65rem; }

.team-photo-primary img, .rounded-image { width:100%; height:560px; object-fit:cover; border-radius:var(--radius-lg); box-shadow:var(--shadow-soft); }
.role-title { color:var(--ag-gold-dark); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.profile-list { list-style:none; padding:0; }
.profile-list li { margin:.75rem 0; }
.profile-list i { color:var(--ag-gold-dark); margin-right:.55rem; }

.testimonial-section { background:linear-gradient(rgba(8,28,52,.94),rgba(8,28,52,.94)), url("https://images.unsplash.com/photo-1521791055366-0d553872125f?auto=format&fit=crop&w=1800&q=85") center/cover fixed; }
.testimonial-card { height:100%; margin:0; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:1.2rem; padding:2rem; color:#fff; backdrop-filter:blur(8px); }
.testimonial-card p { font-size:1.08rem; line-height:1.75; }
.testimonial-card footer { color:var(--ag-gold); font-weight:800; }
.testimonial-card footer span { color:rgba(255,255,255,.55); font-weight:400; }
.stars { color:var(--ag-gold); letter-spacing:.12em; margin-bottom:1rem; }
.media-tags { display:flex; flex-wrap:wrap; gap:.7rem; margin:1.5rem 0; }
.media-tags span { background:var(--ag-gray-soft); color:var(--ag-blue); border-radius:999px; padding:.55rem 1rem; font-weight:700; }

.article-card { height:100%; background:#fff; border-radius:1.2rem; overflow:hidden; box-shadow:var(--shadow-soft); }
.article-card img { width:100%; height:220px; object-fit:cover; }
.article-card span { color:var(--ag-gold-dark); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.article-card h3 { color:var(--ag-blue); font-size:1.25rem; margin:.65rem 0; }
.article-card p { color:var(--ag-muted); }
.article-card a { color:var(--ag-blue); font-weight:800; }
.resource-section { background:linear-gradient(115deg,var(--ag-blue-dark),var(--ag-blue)); color:#fff; }
.resource-points { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:1rem 1.5rem; }
.resource-points i { color:var(--ag-gold); }
.resource-form, .contact-form { background:#fff; border-radius:1.4rem; padding:2rem; box-shadow:var(--shadow-strong); color:var(--ag-text); }
.resource-form h3 { color:var(--ag-blue); font-weight:800; }
.resource-form small { display:block; color:var(--ag-muted); margin-top:.8rem; }
.form-control, .form-select { border:1px solid rgba(15,45,82,.18); border-radius:.8rem; padding:.85rem 1rem; }
.form-control:focus, .form-select:focus { border-color:var(--ag-gold); box-shadow:0 0 0 .2rem rgba(200,162,77,.15); }

.accordion-item { border-bottom:1px solid var(--ag-border); }
.accordion-button { color:var(--ag-blue); font-weight:800; padding:1.35rem 0; }
.accordion-button:not(.collapsed) { color:var(--ag-gold-dark); background:transparent; box-shadow:none; }
.accordion-button:focus { box-shadow:none; }
.accordion-body { padding-left:0; color:var(--ag-muted); }

.contact-section { background:linear-gradient(135deg,var(--ag-blue-dark),var(--ag-blue)); }
.contact-info { display:grid; gap:1.1rem; margin-top:2rem; }
.contact-info a, .contact-info > div { color:#fff; display:flex; align-items:center; gap:1rem; }
.contact-info i { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); color:var(--ag-gold); }
.contact-info small { display:block; color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; }

.site-footer { background:#07182c; color:rgba(255,255,255,.68); }
.footer-brand strong { display:block; color:#fff; font-size:1.25rem; letter-spacing:.08em; }
.footer-brand span { color:var(--ag-gold); text-transform:uppercase; font-size:.73rem; letter-spacing:.1em; }
.site-footer h3 { color:#fff; font-size:.95rem; text-transform:uppercase; letter-spacing:.08em; }
.site-footer a { display:block; color:rgba(255,255,255,.62); margin:.5rem 0; }
.site-footer a:hover { color:var(--ag-gold); }
.footer-social { display:flex; gap:.7rem; }
.footer-social a { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); margin:0; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:1.2rem 0; font-size:.84rem; }
.footer-bottom div { display:flex; gap:1rem; }

.whatsapp-float, .back-to-top { position:fixed; right:22px; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; z-index:1050; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.whatsapp-float { bottom:22px; background:#25D366; color:#fff; font-size:1.5rem; }
.back-to-top { bottom:84px; background:var(--ag-gold); color:var(--ag-blue-dark); border:0; opacity:0; visibility:hidden; transition:.25s; }
.back-to-top.show { opacity:1; visibility:visible; }

@media (max-width: 991.98px) {
  #mainNavbar { top:0; }
  .navbar-nav .nav-link { padding:.8rem 0; }
  .navbar-nav .nav-link::before { display:none; }
  .navbar-collapse { max-height:calc(100vh - 80px); overflow-y:auto; padding-bottom:1rem; }
  .dropdown-menu { box-shadow:none; border-top:0; background:rgba(255,255,255,.06); }
  .dropdown-item { color:#fff; }
  .dropdown-item:hover, .dropdown-item.active { color:var(--ag-gold); background:rgba(255,255,255,.07); }
  .hero-section h1 { font-size:clamp(3rem,11vw,5rem); }
  .process-line { grid-template-columns:1fr; text-align:left; }
  .process-line::before { display:none; }
  .process-step { text-align:left; display:grid; grid-template-columns:56px 1fr; gap:0 1rem; }
  .process-step > span { grid-row:1/3; margin:0; }
  .sector-grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 767.98px) {
  .section-padding { padding:5rem 0; }
  .hero-trust { grid-template-columns:1fr; }
  .credibility-item { min-height:100px; flex-direction:column; }
  .image-frame img, .team-photo-primary img, .rounded-image { height:420px; }
  .sector-grid { grid-template-columns:repeat(2,1fr); }
  .resource-points { display:block; }
  .resource-points li { margin:.5rem 0; }
}
