/* Agouty customization layer. Keeps the Cleanu visual language, removes demo identity. */
:root {
  --agouty-blue: #1239ac;
  --agouty-blue-dark: #0a2a8c;
  --agouty-teal: #00c6c7;
  --agouty-yellow: #ffb400;
  --agouty-ink: #1d2746;
  --agouty-muted: #667085;
  --agouty-soft: #f4f7fb;
}

html { scroll-behavior: smooth; }
body { color: var(--agouty-muted); }
a { transition: .2s ease; }
img { max-width: 100%; height: auto; }

/* Header */
.agouty-site-header {
  position: sticky;
  top: 0;
  z-index: 999;
}
body.admin-bar .agouty-site-header { top: 32px; }
.agouty-topbar {
  background: var(--agouty-blue-dark);
  color: #fff;
  font-size: 14px;
  overflow: hidden;
  max-height: 44px;
  transition: max-height .28s ease, opacity .28s ease, transform .28s ease;
}
.agouty-topbar-inner {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.agouty-topbar a { color: #fff; }
.agouty-top-contact { display: flex; gap: 24px; flex-wrap: wrap; }
.agouty-topbar i { color: var(--agouty-yellow); margin-right: 7px; }

.agouty-mainbar {
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(16, 35, 82, .08);
  transition: box-shadow .28s ease, background .28s ease;
}
.agouty-mainbar-inner {
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  transition: min-height .28s ease, gap .28s ease;
}
.agouty-brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  text-decoration: none !important;
}
.agouty-brand-image { display:block; width: 245px; height:auto; }
.agouty-brand-image-footer { width: 255px; }

.agouty-menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 12px;
  background: #edf2ff;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  padding: 0;
}
.agouty-menu-toggle span {
  width: 20px;
  height: 2px;
  background: var(--agouty-ink);
  border-radius: 4px;
  display: block;
  transition: .25s ease;
}
.agouty-menu-toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.agouty-menu-toggle.is-active span:nth-child(2) { opacity: 0; }
.agouty-menu-toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.agouty-menu-panel {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 22px;
}
.agouty-nav-shell { display: flex; align-items: center; }
.agouty-menu,
.agouty-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.agouty-menu {
  display: flex;
  align-items: center;
  gap: 6px;
}
.agouty-menu > li {
  position: relative;
}
.agouty-menu > li > a {
  display: inline-flex;
  align-items: center;
  padding: 12px 14px;
  color: var(--agouty-ink);
  font-size: 17px;
  font-weight: 700;
  border-radius: 10px;
  text-decoration: none;
}
.agouty-menu > li > a:hover,
.agouty-menu > li.current-menu-item > a,
.agouty-menu > li.current-menu-parent > a,
.agouty-menu > li.current_page_parent > a,
.agouty-menu > li.current-page-ancestor > a {
  color: var(--agouty-blue);
  background: rgba(18,57,172,.06);
}
.agouty-menu > li.menu-item-has-children > a::after {
  content: "\f107";
  font-family: "FontAwesome";
  font-size: 12px;
  margin-left: 9px;
  color: currentColor;
}
.agouty-menu .sub-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  min-width: 290px;
  background: #fff;
  border: 1px solid #e7edf8;
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(16,35,82,.12);
  padding: 10px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: .22s ease;
  z-index: 40;
}
.agouty-menu li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.agouty-menu .sub-menu li { width: 100%; }
.agouty-menu .sub-menu a {
  display: block;
  padding: 11px 18px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--agouty-ink);
  text-decoration: none;
}
.agouty-menu .sub-menu a:hover {
  background: #f5f8fe;
  color: var(--agouty-blue);
}

.agouty-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 22px;
  border-radius: 12px;
  background: var(--agouty-yellow);
  color: #192138 !important;
  font-weight: 800;
  white-space: nowrap;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(255, 180, 0, .18);
}
.agouty-header-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(255, 180, 0, .24);
}

body.agouty-scrolled .agouty-topbar {
  max-height: 0;
  opacity: 0;
  transform: translateY(-100%);
}
body.agouty-scrolled .agouty-mainbar-inner {
  min-height: 76px;
}
body.agouty-scrolled .agouty-mainbar {
  box-shadow: 0 14px 34px rgba(16,35,82,.12);
}
body.agouty-scrolled .agouty-brand-image {
  width: 205px;
}

/* Main content */
.agouty-page-content { overflow: hidden; }
.agouty-hero {
  position: relative;
  padding: 100px 0 85px;
  background: radial-gradient(circle at 90% 20%, rgba(0,198,199,.18), transparent 26%), linear-gradient(120deg,#f7faff 0%,#eef4ff 55%,#fff 100%);
  overflow: hidden;
}
.agouty-hero::before { content:""; position:absolute; width:360px; height:360px; border:70px solid rgba(18,57,172,.035); border-radius:50%; left:-150px; bottom:-180px; }
.agouty-eyebrow { display: inline-block; color: var(--agouty-blue); font-size: 14px; font-weight: 900; text-transform: uppercase; letter-spacing: 1.6px; margin-bottom: 13px; }
.agouty-hero h1 { color: var(--agouty-ink); font-size: clamp(42px, 5vw, 72px); line-height: 1.02; letter-spacing: -2.2px; margin-bottom: 24px; max-width: 850px; }
.agouty-lead { font-size: 20px; line-height: 1.7; color: #536078; }
.agouty-actions { display: flex; gap: 13px; flex-wrap: wrap; margin-top: 28px; }
.agouty-btn-outline { border: 2px solid var(--agouty-blue) !important; color: var(--agouty-blue) !important; background: transparent !important; }
.agouty-btn-outline:hover { background: var(--agouty-blue) !important; color: #fff !important; }
.agouty-hero-points { display:flex; flex-wrap:wrap; gap:18px; margin-top:30px; font-weight:700; color:var(--agouty-ink); }
.agouty-hero-points i { color: var(--agouty-teal); margin-right: 6px; }
.agouty-hero-visual { min-height: 470px; display:flex; align-items:center; justify-content:center; position:relative; }
.agouty-hero-visual img { max-width: 100%; max-height: 490px; object-fit: contain; filter: drop-shadow(0 24px 35px rgba(20,45,95,.12)); }
.agouty-experience { position:absolute; right:5%; bottom:5%; background:#fff; padding:18px 23px; border-radius:16px; box-shadow:0 18px 45px rgba(18,57,172,.17); display:flex; align-items:center; gap:10px; }
.agouty-experience strong { color:var(--agouty-blue); font-size:34px; }
.agouty-experience span { color:var(--agouty-ink); font-weight:800; max-width:70px; line-height:1.15; }

.agouty-section { padding: 90px 0; }
.agouty-section h2 { color:var(--agouty-ink); font-size: clamp(34px, 4vw, 52px); line-height:1.12; letter-spacing:-1.2px; margin-bottom:20px; }
.agouty-section h3 { color:var(--agouty-ink); }
.agouty-section p { font-size: 17px; line-height: 1.8; }
.agouty-section-heading { max-width: 790px; margin: 0 auto 48px; text-align:center; }
.agouty-soft { background: var(--agouty-soft); }
.agouty-dark-section { background: var(--agouty-ink); color:#dce4f3; }
.agouty-dark-section h2, .agouty-dark-section h3 { color:#fff; }
.agouty-dark-section .agouty-eyebrow { color:#72e4dc; }
.agouty-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.agouty-service-card { background:#fff; border:1px solid #e8edf5; border-radius:18px; padding:32px; box-shadow:0 12px 35px rgba(20,45,95,.055); transition:.22s ease; }
.agouty-service-card:hover { transform:translateY(-6px); box-shadow:0 22px 50px rgba(18,57,172,.11); border-color:#d8e3fa; }
.agouty-service-icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; border-radius:14px; background:linear-gradient(135deg,rgba(18,57,172,.1),rgba(0,198,199,.14)); color:var(--agouty-blue); font-size:24px; margin-bottom:20px; }
.agouty-service-card h3 { font-size:23px; margin-bottom:12px; }
.agouty-service-card p { font-size:15.5px; line-height:1.7; }
.agouty-text-link { font-weight:800; color:var(--agouty-blue); }
.agouty-text-link i { margin-left:6px; font-size:12px; }
.agouty-image-panel { position:relative; min-height:430px; background:linear-gradient(145deg,#eaf0ff,#dff9f7); border-radius:28px; padding:32px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.agouty-image-panel img { max-height:410px; max-width:100%; object-fit:contain; }
.agouty-feature-list { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:25px; }
.agouty-feature-list span { background:#fff; border:1px solid #e8edf5; padding:15px 16px; border-radius:10px; color:var(--agouty-ink); font-weight:700; }
.agouty-feature-list i { color:var(--agouty-blue); margin-right:7px; }
.agouty-feature-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.agouty-feature-cards > div { background:#fff; padding:34px; border-radius:18px; border:1px solid #e5ebf5; }
.agouty-feature-cards i { color:var(--agouty-blue); font-size:30px; margin-bottom:18px; }
.agouty-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.agouty-step { position:relative; background:#fff; border:1px solid #e8edf5; border-radius:16px; padding:29px; }
.agouty-step span { display:inline-flex; width:50px; height:50px; align-items:center; justify-content:center; border-radius:50%; background:var(--agouty-blue); color:#fff; font-weight:900; margin-bottom:15px; }
.agouty-step h3 { font-size:21px; }
.agouty-dark-section .agouty-steps { grid-template-columns:1fr; }
.agouty-dark-section .agouty-step { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.13); }
.agouty-dark-section .agouty-step p { color:#dce4f3; }
.agouty-cta { background:linear-gradient(120deg,var(--agouty-blue-dark),var(--agouty-blue)); padding:64px 0; color:#eaf1ff; }
.agouty-cta .container { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.agouty-cta h2 { color:#fff; font-size:39px; margin:0 0 10px; }
.agouty-cta p { margin:0; font-size:17px; }
.agouty-cta .agouty-eyebrow { color:#7fe3db; }
.agouty-btn-light { background:#fff !important; color:var(--agouty-blue) !important; white-space:nowrap; }

.breadcrumb-area { background:linear-gradient(120deg,var(--agouty-blue-dark),var(--agouty-blue)) !important; padding:75px 0 !important; }
.breadcrumb-area h1 { color:#fff; }
.breadcrumb-area .breadcrumb a, .breadcrumb-area .breadcrumb li { color:#eef3ff !important; }
.agouty-service-intro .agouty-actions { margin-bottom:0; }
.agouty-form-card { background:#fff; border:1px solid #e3eaf5; border-radius:20px; padding:35px; box-shadow:0 18px 50px rgba(20,45,95,.08); }
.agouty-form { display:grid; gap:18px; }
.agouty-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.agouty-form label { color:var(--agouty-ink); font-weight:800; font-size:14px; }
.agouty-form input, .agouty-form select, .agouty-form textarea { width:100%; margin-top:7px; border:1px solid #dbe3ef; border-radius:9px; background:#fbfcfe; padding:13px 14px; min-height:48px; color:var(--agouty-ink); font-weight:500; }
.agouty-form textarea { min-height:130px; resize:vertical; }
.agouty-form input:focus, .agouty-form select:focus, .agouty-form textarea:focus { outline:none; border-color:var(--agouty-blue); box-shadow:0 0 0 3px rgba(18,57,172,.08); }
.agouty-form-help { font-size:13px !important; background:#f5f8fc; padding:12px 14px; border-radius:8px; margin:0; }
.agouty-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.agouty-alert { padding:14px 16px; border-radius:9px; margin-bottom:18px; font-weight:700; }
.agouty-alert.success { background:#e8f8ef; color:#167344; }
.agouty-alert.error { background:#fff0f0; color:#a92f2f; }
.agouty-contact-cards { display:grid; gap:12px; margin-top:28px; }
.agouty-contact-cards > div { border:1px solid #e3eaf5; border-radius:14px; padding:20px 20px 16px 65px; position:relative; }
.agouty-contact-cards i { position:absolute; left:20px; top:22px; color:var(--agouty-blue); font-size:25px; }
.agouty-contact-cards h3 { margin:0 0 4px; font-size:18px; }
.agouty-contact-cards p { margin:0; font-size:15px; }
.agouty-quote-side { background:var(--agouty-soft); border-radius:20px; padding:34px; }
.agouty-phone-big { display:block; font-size:30px; color:var(--agouty-blue); font-weight:900; margin:8px 0 16px; }
.agouty-quote-side ul { margin:15px 0 0; padding:0; list-style:none; }
.agouty-quote-side li { padding:9px 0; border-bottom:1px solid #dce4ef; }
.agouty-quote-side li::before { content:"✓"; color:var(--agouty-teal); font-weight:900; margin-right:8px; }
.agouty-legal { max-width:900px; }
.agouty-legal h3 { margin-top:28px; }
.agouty-note { margin-top:32px; background:#fff7dc; border-left:4px solid var(--agouty-yellow); padding:18px 20px; border-radius:8px; color:#5b4b16; }
.agouty-centered-section { text-align:center; min-height:60vh; display:flex; align-items:center; }
.agouty-404 { max-width:700px; margin:auto; }

.agouty-project-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px; }
.agouty-project-card { background:#fff; border:1px solid #e5ebf5; border-radius:18px; overflow:hidden; box-shadow:0 12px 35px rgba(20,45,95,.06); }
.agouty-project-card img { width:100%; height:220px; object-fit:cover; display:block; }
.agouty-project-card-content { padding:22px; }

/* Footer */
.agouty-footer { background:#111a35; color:#cfd8ea; padding-top:70px; }
.agouty-footer h4 { color:#fff; margin-bottom:18px; }
.agouty-footer p { color:#cfd8ea; }
.agouty-footer ul { list-style:none; padding:0; margin:0; }
.agouty-footer li { margin:9px 0; }
.agouty-footer a { color:#dce5f7; }
.agouty-footer a:hover { color:#fff; }
.agouty-brand-footer { margin-bottom:20px; }
.agouty-eco i { color:#69ddd4; margin-right:7px; }
.agouty-footer-grid { padding-bottom:55px; }
.agouty-footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:20px 0; text-align:center; color:#aebbd3; }

@media (max-width: 991px) {
  body.admin-bar .agouty-site-header { top: 46px; }
  .agouty-topbar { display:none; }
  .agouty-mainbar-inner { min-height: 82px; gap: 16px; }
  .agouty-brand-image { width: 195px; }
  .agouty-menu-toggle { display: inline-flex; margin-left: auto; }
  .agouty-menu-panel {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    left: 15px;
    right: 15px;
    margin-left: 0;
    background: #fff;
    border: 1px solid #e5ebf5;
    border-radius: 18px;
    box-shadow: 0 20px 45px rgba(16,35,82,.14);
    padding: 18px;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .agouty-menu-panel.is-open { display:flex; }
  .agouty-nav-shell { display:block; }
  .agouty-menu { display:block; }
  .agouty-menu > li { border-bottom:1px solid #eef2f8; }
  .agouty-menu > li:last-child { border-bottom:0; }
  .agouty-menu > li > a { display:flex; justify-content:space-between; padding:14px 0; border-radius:0; }
  .agouty-menu .sub-menu {
    position: static;
    min-width: 0;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 0 0 8px 14px;
    display: block;
  }
  .agouty-menu .sub-menu a { padding: 8px 0; }
  .agouty-header-cta { width:100%; }
  .agouty-service-grid,
  .agouty-feature-cards,
  .agouty-project-gallery { grid-template-columns:repeat(2,1fr); }
  .agouty-steps { grid-template-columns:1fr; }
  .agouty-hero { padding:70px 0; }
  .agouty-hero-visual { margin-top:30px; min-height:350px; }
  .agouty-cta .container { flex-direction:column; align-items:flex-start; }
  .agouty-image-panel { margin-top:30px; }
}

@media (max-width: 782px) {
  body.admin-bar .agouty-site-header { top: 46px; }
}

@media (max-width: 767px) {
  .agouty-hero h1 { font-size:42px; letter-spacing:-1.3px; }
  .agouty-lead { font-size:18px; }
  .agouty-section { padding:65px 0; }
  .agouty-service-grid,
  .agouty-feature-cards,
  .agouty-feature-list,
  .agouty-form-grid,
  .agouty-project-gallery { grid-template-columns:1fr; }
  .agouty-form-card { padding:24px; }
  .agouty-cta h2 { font-size:32px; }
}

/* Rich content blocks for the complete Agouty content migration */
.agouty-info-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.agouty-info-grid > div {
  background:#fff;
  border:1px solid #e5ebf5;
  border-radius:18px;
  padding:28px;
  box-shadow:0 12px 34px rgba(20,45,95,.05);
}
.agouty-info-grid i {
  display:inline-flex;
  width:52px;
  height:52px;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(18,57,172,.10),rgba(0,198,199,.14));
  color:var(--agouty-blue);
  font-size:22px;
  margin-bottom:18px;
}
.agouty-info-grid h3 { font-size:21px; margin-bottom:10px; }
.agouty-info-grid p { font-size:15.5px; line-height:1.7; margin-bottom:0; }
.agouty-checklist {
  list-style:none;
  padding:0;
  margin:24px 0 0;
  display:grid;
  gap:10px;
}
.agouty-checklist li {
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--agouty-ink);
  font-weight:700;
}
.agouty-checklist i {
  flex:0 0 auto;
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,198,199,.12);
  color:#119c91;
  font-size:11px;
  margin-top:2px;
}
.agouty-service-intro h3 {
  margin-top:28px;
  margin-bottom:10px;
  font-size:25px;
}
.agouty-service-intro .agouty-lead + h3 { margin-top:34px; }
.agouty-service-checks {
  background:#f7f9fd;
  border:1px solid #e5ebf5;
  border-radius:16px;
  padding:22px 24px;
  margin:28px 0 4px;
}
.agouty-service-checks .agouty-checklist { margin:0; grid-template-columns:repeat(2, minmax(0,1fr)); }

@media (max-width: 1199px) {
  .agouty-info-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 767px) {
  .agouty-info-grid { grid-template-columns:1fr; }
  .agouty-service-checks .agouty-checklist { grid-template-columns:1fr; }
}
