/* AutoSnaply – additions for the multi-page site (keeps autosnaply.css untouched) */

/* lighter, compressed backgrounds (same images, jpg) */
#introductions { background-image: url("../img/top-image.jpg"); }
.interested-holder { background-image: url("../img/interested-in-our-products.jpg"); }
#contact { background-image: url("../img/footer-image.jpg"); }

.header .container { position: relative; }
.logo a { background: none !important; width: auto; height: 40px; display: flex; align-items: center; text-decoration: none; }
.logo a::before { content: "Auto"; font-family: "MuseoModerno", "Inter", Arial, sans-serif; font-weight: 600; font-size: 30px; line-height: 40px; color: #fff; letter-spacing: -0.5px; }
.logo a::after { content: "Snaply"; font-family: "MuseoModerno", "Inter", Arial, sans-serif; font-weight: 600; font-size: 30px; line-height: 40px; color: #FF5F00; letter-spacing: -0.5px; }

/* ---------- Solutions dropdown ---------- */
ul.nav-list li.has-dd { position: static; }
.dd-caret { color: #fff; cursor: pointer; font-size: 11px; margin-left: 6px; user-select: none; }
ul.nav-list li.has-dd:hover .dd-caret { color: #ff5f00; }
.dd-panel {
  display: none; position: absolute; left: 10px; right: 10px; top: 100%;
  background: #fff; border-radius: 10px; box-shadow: 0 20px 40px rgba(0,55,100,.25);
  padding: 25px 30px; margin-top: 0;
  grid-template-columns: repeat(5, 1fr); column-gap: 24px; z-index: 100;
}
ul.nav-list li.has-dd.dd-open .dd-panel { display: grid; }
/* hover bridge: the Solutions item's hit area reaches down into the panel, so the pointer never leaves it */
@media (min-width: 1025px) {
  ul.nav-list li.has-dd { padding: 22px 0; margin-top: -22px; margin-bottom: -22px; }
  ul.nav-list li.has-dd.dd-open > a { color: #ff5f00; }
}
.dd-panel h5 { font-family: 'MuseoModerno', sans-serif; font-size: 15px; line-height: 20px; color: #ff5f00; margin: 0 0 10px; }
.dd-col { display: flex; flex-direction: column; row-gap: 8px; }
ul.nav-list .dd-panel a,
ul.nav-list li:hover .dd-panel a,
ul.nav-list li.active .dd-panel a { color: #003764; font-size: 14px; line-height: 18px; }
ul.nav-list .dd-panel a:hover { color: #ff5f00; }
ul.nav-list .dd-panel a::after,
ul.nav-list li:hover .dd-panel a::after,
ul.nav-list li.active .dd-panel a::after { display: none; }
.dd-panel .dd-all { grid-column: 1 / -1; margin-top: 15px; padding-top: 12px; border-top: 1px solid #e6ebf1; }
ul.nav-list .dd-panel .dd-all a { color: #ff5f00; font-weight: 600; }

/* ---------- Hero variations ---------- */
.main-section h2.tagline { color: #ff5f00; font-size: 64px; line-height: 70px; margin: 0; }
.hero-desc { color: #fff; font-size: 22px; line-height: 36px; max-width: 820px; margin: 0; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 20px; }
.main-section .hero-buttons a.button { float: none; max-width: none; padding: 15px 40px; }
a.button.ghost { background: transparent; border: 2px solid #fff; padding: 13px 38px; }
a.button.ghost:hover { background: #fff; color: #003764; }
.page-hero { background: #003764 url("../img/hero-network.jpg") center center / cover no-repeat; padding: 11rem 0 6rem; }
.page-hero.dark { background-image: url("../img/hero-dark.jpg"); }
.page-hero .main-section-text { row-gap: 40px; }
.page-hero .main-section h2 { font-size: 64px; line-height: 70px; margin: 0; }
.breadcrumb-da { color: rgba(255,255,255,.75); font-size: 15px; line-height: 20px; }
.breadcrumb-da a { color: #ff5f00; text-decoration: none; }

/* ---------- Generic blocks ---------- */
.section-intro { text-align: center; max-width: 820px; margin: -40px auto 50px; }
.bg-light-da { background: #f4f7fb; }
.area-block { margin-bottom: 60px; }
.area-block:last-child { margin-bottom: 0; }
.area-head { display: flex; align-items: baseline; column-gap: 20px; flex-wrap: wrap; margin-bottom: 25px; border-bottom: 2px solid #ff5f00; padding-bottom: 10px; }
.area-head h3 { margin: 0; }
.area-head p { margin: 0; font-size: 17px; line-height: 26px; color: #4a6884; }
.area-num { font-family: 'MuseoModerno', sans-serif; color: #ff5f00; font-size: 30px; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.card-grid.four { grid-template-columns: repeat(4, 1fr); }
.card-grid.two { grid-template-columns: repeat(2, 1fr); }
.da-card {
  background: #fff; border-radius: 15px; padding: 28px; box-shadow: 0 8px 30px rgba(0,55,100,.08);
  display: flex; flex-direction: column; row-gap: 14px; text-decoration: none; color: #003764;
  border: 1px solid #e6ebf1; transition: box-shadow .3s ease, transform .3s ease;
}
a.da-card:hover { box-shadow: 0 14px 40px rgba(0,55,100,.18); transform: translateY(-3px); color: #003764; }
.da-card h4 { font-size: 22px; line-height: 28px; margin: 0; }
.da-card p { font-size: 16px; line-height: 26px; margin: 0; }
.da-card .more { margin-top: auto; color: #ff5f00; font-weight: 600; font-size: 16px; line-height: 20px; }

.da-icon { width: 64px; height: 64px; border-radius: 22px; background: rgba(255,95,0,.3); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.da-icon span { width: 50px; height: 50px; border-radius: 15px; background: #ff5f00; display: flex; align-items: center; justify-content: center; }
.da-icon i { color: #fff; font-size: 22px; }

/* problem strip */
.problem-list { display: flex; flex-direction: column; row-gap: 30px; }
.problem-item { display: flex; column-gap: 25px; align-items: flex-start; }
.problem-item .num { font-family: 'MuseoModerno', sans-serif; color: #ff5f00; font-size: 40px; line-height: 40px; }
.problem-item p { margin: 0; font-size: 22px; line-height: 32px; }
.photo-rounded { width: 100%; height: auto; border-radius: 20px; display: block; }

/* packages on orange */
.pack-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 10px; }
.pack { background: #fff; border-radius: 15px; padding: 25px 20px; text-align: left; text-decoration: none; color: #003764; display: flex; flex-direction: column; row-gap: 10px; }
.pack:hover { color: #003764; box-shadow: 0 14px 40px rgba(0,0,0,.2); }
.pack .n { font-family: 'MuseoModerno', sans-serif; color: #ff5f00; font-size: 34px; line-height: 34px; }
.pack h4 { font-size: 20px; line-height: 26px; margin: 0; }
.pack p { font-size: 15px; line-height: 23px; margin: 0; }
.key-holder h2.center { text-align: center; }

/* value table */
.value-table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border-radius: 15px; overflow: hidden; box-shadow: 0 8px 30px rgba(0,55,100,.08); }
.value-table th { background: #003764; color: #fff; font-family: 'MuseoModerno', sans-serif; font-weight: 400; font-size: 20px; padding: 16px 20px; }
.value-table td { padding: 16px 20px; font-size: 16px; line-height: 25px; vertical-align: top; border-top: 1px solid #e6ebf1; }
.value-table td:first-child { font-weight: 600; width: 28%; }
.value-table td:nth-child(2) { width: 32%; color: #4a6884; }
.value-table tr:nth-child(even) td { background: #f8fafc; }
.value-table a { color: #ff5f00; text-decoration: none; font-weight: 600; }
.value-table a:hover { text-decoration: underline; }

/* industries */
.industry-band { background: #003764 url("../img/hero-dark.jpg") center / cover no-repeat; padding: 70px 0; }
.industry-band h2 { color: #fff; text-align: center; margin-bottom: 50px; }
.industry-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.industry { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.15); border-radius: 15px; padding: 22px 10px; text-align: center; color: #fff; font-size: 16px; line-height: 22px; }
.industry i { display: block; color: #ff5f00; font-size: 30px; margin-bottom: 12px; }

/* results */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; text-align: center; }
.stat .big { font-family: 'MuseoModerno', sans-serif; color: #ff5f00; font-size: 60px; line-height: 64px; }
.stat p { font-size: 18px; line-height: 28px; margin: 10px 0 0; }
.note { text-align: center; color: #6b8299; font-size: 15px; margin-top: 30px; }
.stats-orange .stat .big { color: #fff; }
.stats-orange .stat p { color: #fff; }

/* steps */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; counter-reset: s; }
.steps.four { grid-template-columns: repeat(4, 1fr); }
.step { position: relative; background: #fff; border-radius: 15px; padding: 30px 25px; border: 1px solid #e6ebf1; box-shadow: 0 8px 30px rgba(0,55,100,.08); }
.step .n { width: 46px; height: 46px; border-radius: 50%; background: #ff5f00; color: #fff; font-family: 'MuseoModerno', sans-serif; font-size: 24px; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.step h4 { font-size: 22px; line-height: 28px; margin: 0 0 10px; }
.step p { font-size: 16px; line-height: 26px; margin: 0; }
.step .tag { display: inline-block; margin-top: 12px; font-size: 13px; line-height: 18px; color: #ff5f00; border: 1px solid #ff5f00; border-radius: 20px; padding: 3px 10px; }

/* security (orange key-holder) */
.sec-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px 40px; text-align: left; margin-bottom: 40px; }
.sec-item { display: flex; column-gap: 15px; }
.sec-item i { color: #003764; font-size: 26px; margin-top: 6px; width: 30px; }
.sec-item h4 { color: #fff; font-family: 'MuseoModerno', sans-serif; font-size: 22px; line-height: 28px; margin: 0 0 4px; }
.sec-item p { color: #fff; font-size: 16px; line-height: 24px; margin: 0; }

/* product page */
.check-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px 40px; }
.check-list li { display: flex; column-gap: 15px; font-size: 17px; line-height: 27px; }
.check-list li i { color: #ff5f00; margin-top: 5px; }
.check-list li strong { display: block; }
.whom-list { list-style: none; padding: 0; margin: 0; }
.whom-list li { padding: 12px 0 12px 30px; border-bottom: 1px solid #e6ebf1; position: relative; font-size: 17px; line-height: 26px; }
.whom-list li::before { content: ""; position: absolute; left: 0; top: 22px; width: 14px; height: 3px; background: #ff5f00; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.two-col h3 { margin-bottom: 25px; }
.flow { display: flex; align-items: stretch; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.flow .fstep { flex: 1 1 0; min-width: 150px; background: #003764; color: #fff; border-radius: 12px; padding: 16px 18px; font-size: 15px; line-height: 22px; }
.flow .fstep b { display: block; font-family: 'MuseoModerno', sans-serif; font-weight: 400; font-size: 20px; color: #ff5f00; margin-bottom: 4px; }
.flow .arrow { display: flex; align-items: center; color: #ff5f00; font-size: 20px; }
#works .section-text p.lead-p { margin-bottom: 25px; }

/* sub navigation for in-page sections (semantic search) */
.subnav { background: #fff; border-bottom: 1px solid #e6ebf1; position: sticky; top: 60px; z-index: 50; }
.subnav ul { list-style: none; display: flex; flex-wrap: wrap; column-gap: 30px; margin: 0; padding: 14px 0; }
.subnav a { color: #003764; text-decoration: none; font-size: 16px; line-height: 20px; }
.subnav li.active a, .subnav a:hover { color: #ff5f00; }
.subnav a.portal-link { color: #ff5f00; font-weight: 600; }
.section[id] { scroll-margin-top: 120px; }

/* about */
.about-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }

/* contact footer list */
.contact-bottom a.mail { display: inline; }

@media (max-width: 1200px) {
  .pack-grid { grid-template-columns: repeat(3, 1fr); }
  .industry-grid { grid-template-columns: repeat(4, 1fr); }
  ul.nav-list li { margin-left: 22px; }
}
@media (max-width: 1024px) {
  ul.nav-list.active { position: fixed; height: 100vh; overflow-y: auto; padding-bottom: 60px; }
  .dd-caret { font-size: 18px; padding: 6px 12px; margin-left: 4px; display: inline-block; }
  ul.nav-list li.has-dd:focus-within .dd-panel { display: none; }
  ul.nav-list li.has-dd.open:focus-within .dd-panel { display: grid; }
  .dd-panel { position: static; display: none; grid-template-columns: 1fr; background: rgba(255,255,255,.06); box-shadow: none; margin: 15px 20px 0; padding: 15px; text-align: left; }
  ul.nav-list li.has-dd:hover .dd-panel, ul.nav-list li.has-dd.dd-open:not(.open) .dd-panel { display: none; }
  ul.nav-list li.has-dd.open .dd-panel { display: grid; row-gap: 15px; }
  ul.nav-list .dd-panel a, ul.nav-list li:hover .dd-panel a, ul.nav-list li.active .dd-panel a { color: #fff; font-size: 17px; line-height: 22px; }
  .dd-panel h5 { margin-bottom: 6px; }
  .dd-panel .dd-all { border-top-color: rgba(255,255,255,.2); margin-top: 0; }
  ul.nav-list li a.portal { margin: auto; }
  .card-grid, .card-grid.four { grid-template-columns: repeat(2, 1fr); }
  .stats { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
  .steps.four { grid-template-columns: repeat(2, 1fr); }
  .main-section h2.tagline, .page-hero .main-section h2 { font-size: 50px; line-height: 56px; text-align: center; }
  .hero-desc { text-align: center; margin: auto; }
  .hero-buttons { justify-content: center; }
  .breadcrumb-da { text-align: center; }
}
@media (max-width: 980px) {
  .two-col { grid-template-columns: 1fr; gap: 40px; }
  .steps { grid-template-columns: 1fr; }
  .pack-grid { grid-template-columns: repeat(2, 1fr); }
  .industry-grid { grid-template-columns: repeat(3, 1fr); }
  .about-points { grid-template-columns: 1fr; }
  .value-table thead { display: none; }
  .value-table, .value-table tbody, .value-table tr, .value-table td { display: block; width: 100% !important; }
  .value-table tr { border-top: 3px solid #ff5f00; }
  .value-table td { border-top: 0; padding: 8px 20px; }
  .value-table td:first-child { padding-top: 18px; }
  .value-table td:last-child { padding-bottom: 18px; }
  .value-table td::before { content: attr(data-label); display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: #ff5f00; font-weight: 600; }
  .page-hero { padding: 8rem 0 4rem; }
  .subnav { top: 56px; }
}
@media (max-width: 767px) {
  .card-grid, .card-grid.four, .card-grid.two, .check-list, .sec-list, .pack-grid, .steps.four { grid-template-columns: 1fr; }
  .industry-grid { grid-template-columns: repeat(2, 1fr); }
  .stats { grid-template-columns: 1fr 1fr; }
  .stat .big { font-size: 40px; line-height: 44px; }
  .main-section h2.tagline, .page-hero .main-section h2 { font-size: 34px; line-height: 40px; }
  .hero-desc { font-size: 18px; line-height: 28px; }
  .problem-item p { font-size: 18px; line-height: 28px; }
  .section-intro { margin-top: -20px; font-size: 17px; line-height: 28px; }
  .subnav ul { column-gap: 18px; row-gap: 8px; }
  .subnav a { font-size: 14px; }
  .flow .arrow { display: none; }
  .flow .fstep { min-width: 100%; }
  .main-section a.button, .main-section .hero-buttons a.button { width: 100%; }
}

/* security band button (same as #key) */
#security a.button { background: #003764; display: inline-block; }
#security a.button:hover { color: #003764; background: #fff; }
#security .key-text { flex: 1 1 auto; }
.stat .big { white-space: nowrap; font-size: 54px; }
@media (max-width: 767px) { .stat .big { font-size: 38px; } .stats-orange { grid-template-columns: 1fr !important; } }
.key-holder .pack h4 { color: #003764; font-family: 'MuseoModerno', sans-serif; font-size: 20px; line-height: 26px; margin: 0; }
@media (max-width: 1024px) {
  ul.nav-list.active { background: #003764; }
  .dd-panel { background: #0a4677; }
}
.da-card p a { color: #ff5f00; text-decoration: none; } .da-card p a:hover { text-decoration: underline; }
ul.nav-list li a.portal { width: auto; padding: 0 16px; }
/* thin invisible bridge above the open panel (below the nav text, not over the AutoSnaply Apps button) */
@media (min-width: 1025px) {
  .dd-panel::before { content: ""; position: absolute; left: 0; right: 165px; top: -11px; height: 11px; }
}
/* product page extras (semantic search) */
.anchor-alias { display: block; height: 0; scroll-margin-top: 120px; }
.da-svg-icon { width: 64px; height: 64px; }
.tree-img { width: 100%; height: auto; display: block; }
/* step flow inside the narrow "What it does" column: vertical, arrows pointing down */
.section-text .flow { flex-direction: column; gap: 6px; flex-wrap: nowrap; }
.section-text .flow .fstep { flex: none; min-width: 0; }
.section-text .flow .arrow { display: flex; padding-left: 22px; font-size: 16px; }
.section-text .flow .arrow i { transform: rotate(90deg); }
