/* Site-specific components layered on the home-one theme. */
.dbv-section { padding: 90px 0; }
.dbv-section.alt { background: #f4f7fb; }
.dbv-title { font-family: var(--rs-ff-title); color: var(--rs-theme-blue); font-size: clamp(28px, 4vw, 42px); margin-bottom: 12px; }
.dbv-eyebrow { display:inline-block; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color: var(--rs-theme-blue); background: var(--rs-theme-yellow); padding:4px 12px; border-radius: 20px; margin-bottom: 14px; font-weight:600; }
.dbv-lead { color: var(--rs-text-secondary); max-width: 640px; }

.dbv-hero { position: relative; min-height: 92vh; display:flex; align-items:center; color:#fff; background: var(--rs-theme-blue) center/cover no-repeat; padding: 140px 0 80px; }
.dbv-hero::before { content:""; position:absolute; inset:0; background: linear-gradient(100deg, rgba(0,30,55,.92) 0%, rgba(0,30,55,.7) 55%, rgba(0,30,55,.35) 100%); }
.dbv-hero .container { position:relative; z-index:1; }
.dbv-hero h1 { color:#fff; font-size: clamp(34px, 6vw, 68px); line-height:1.08; margin: 0 0 18px; max-width: 760px; }
.dbv-hero p { color: rgba(255,255,255,.88); max-width: 600px; font-size: 18px; }
.dbv-hero .actions { display:flex; flex-wrap:wrap; gap:12px; margin-top: 26px; }
.dbv-btn { display:inline-flex; align-items:center; gap:8px; padding: 14px 26px; border-radius: 6px; font-weight:600; text-decoration:none; border:2px solid transparent; transition:.2s; }
.dbv-btn.primary { background: var(--rs-theme-yellow); color: var(--rs-theme-blue); }
.dbv-btn.primary:hover { background:#fff; }
.dbv-btn.ghost { border-color: rgba(255,255,255,.7); color:#fff; }
.dbv-btn.ghost:hover { background:#fff; color: var(--rs-theme-blue); }
.dbv-btn.dark { background: var(--rs-theme-blue); color:#fff; }
.dbv-btn.dark:hover { background: var(--rs-theme-blue-two); color:#fff; }
.dbv-notice { background: var(--rs-theme-yellow); color: var(--rs-theme-blue); padding: 14px 0; font-weight:600; }
.dbv-notice a { color: var(--rs-theme-blue); text-decoration: underline; }

.dbv-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow: 0 6px 24px rgba(7,41,77,.08); height:100%; display:flex; flex-direction:column; transition: transform .2s, box-shadow .2s; }
.dbv-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(7,41,77,.14); }
.dbv-card .thumb { aspect-ratio: 4/3; background:#dfe6ee; overflow:hidden; }
.dbv-card .thumb img { width:100%; height:100%; object-fit:cover; }
.dbv-card .body { padding: 20px; flex:1; display:flex; flex-direction:column; }
.dbv-card h3, .dbv-card h4 { font-size: 20px; margin: 0 0 8px; }
.dbv-card h3 a, .dbv-card h4 a { color: var(--rs-theme-blue); text-decoration:none; }
.dbv-card p { color: var(--rs-text-secondary); font-size:15px; flex:1; }
.dbv-card .meta { font-size:13px; color:#7a8594; margin-bottom:6px; }

.dbv-stat { text-align:center; padding: 28px 12px; }
.dbv-stat .n { font-family: var(--rs-ff-title); font-size: 48px; color: var(--rs-theme-yellow); line-height:1; }
.dbv-stat .l { color:#fff; opacity:.9; margin-top:8px; }
.dbv-dark { background: var(--rs-theme-blue); color:#fff; }
.dbv-dark .dbv-title { color:#fff; }

.dbv-panel { border-radius:14px; padding:34px; height:100%; }
.dbv-panel.blue { background: var(--rs-theme-blue); color:#fff; }
.dbv-panel.blue h3 { color:#fff; }
.dbv-panel.yellow { background: var(--rs-theme-yellow); color: var(--rs-theme-blue); }
.dbv-panel.yellow h3 { color: var(--rs-theme-blue); }

.dbv-quote { background:#fff; border-radius:12px; padding:26px; box-shadow:0 6px 24px rgba(7,41,77,.08); height:100%; }
.dbv-partner { display:flex; align-items:center; justify-content:center; height:90px; padding:12px; background:#fff; border-radius:10px; }
.dbv-partner img { max-height:60px; max-width:100%; object-fit:contain; }

.dbv-form label { font-weight:600; font-size:14px; margin-bottom:4px; display:block; }
.dbv-form .form-control, .dbv-form .form-select { border-radius:6px; padding: 10px 12px; margin-bottom: 14px; }
.dbv-steps { display:flex; gap:8px; flex-wrap:wrap; margin-bottom: 24px; padding:0; list-style:none; }
.dbv-steps li { padding:6px 14px; border-radius:20px; background:#e9eef5; font-size:13px; }
.dbv-steps li.active { background: var(--rs-theme-blue); color:#fff; }
.dbv-steps li.done { background: var(--rs-theme-yellow); color: var(--rs-theme-blue); }
.dbv-timeline { list-style:none; padding:0; margin:0; }
.dbv-timeline li { padding: 8px 0 8px 18px; border-left: 3px solid var(--rs-theme-yellow); margin-left: 6px; }

@media (max-width: 767px) {
  .dbv-section { padding: 60px 0; }
  .dbv-hero { min-height: 80vh; padding-top: 120px; }
  .dbv-btn { width:100%; justify-content:center; }
}


/* The theme's nice-select plugin replaces native selects; keep the native, full-width ones in forms. */
.dbv-form .nice-select, .form-card .nice-select { display: none !important; }
.dbv-form select, .form-card select { display: block !important; width: 100%; }

/* Emblem logo sizing (template logo slot is a wide image; ours is the square-ish emblem). */
.header-logo img { height: 64px; width: auto; max-width: none; }
.rs-footer-widget-logo img { height: 90px; width: auto; }
.offcanvas-logo img { height: 60px; width: auto; }
#pre-load .loader-icon img { height: 80px; width: auto; }
/* Demo-only panel that the template script injects (RTL/LTR switcher). */
.rs-theme-settings-area { display: none !important; }
/* Flash message */
.dbv-flash { position: fixed; top: 110px; left: 16px; right: 16px; max-width: 520px; margin: 0 auto; z-index: 1000; padding: 14px 18px; border-radius: 8px; background: #d1e7dd; color: #0a3622; box-shadow: 0 6px 20px rgba(0,0,0,.2); }

/* Readability overlay for photographic hero images (the template's own banner photo is dark). */
.rs-banner-one .rs-banner-bg-thumb { position: absolute; }
.rs-banner-one .rs-banner-bg-thumb::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,30,55,.55), rgba(0,30,55,.75)); z-index: 0; }
.rs-banner-one .rs-banner-wrapper { position: relative; z-index: 3; }
.dbv-foot-note { color: rgba(255,255,255,.75); font-size: 14px; margin: 14px 0 0; }
.rs-footer-widget-contact-info { flex-wrap: wrap; row-gap: 8px; }

/* Utility classes used by inner pages (previously inline in the layout). */
.form-card { background:#fff; border:1px solid #e5e8ee; border-radius:12px; padding:28px; }
.status-pill { display:inline-block; padding:4px 14px; border-radius:20px; font-size:13px; background:#eef2f7; color:var(--rs-theme-blue); text-decoration:none; }
.status-pill:hover { background: var(--rs-theme-yellow); color: var(--rs-theme-blue); }
.prose p { margin-bottom: 1rem; }
.dbv-section { padding: 90px 0; }
@media (max-width: 767px) { .dbv-section { padding: 56px 0; } }

/* Nine menu items are wider than the template's demo menu: tighten spacing between 1200px and 1439px so the Apply button is never pushed off-screen. */
@media (min-width: 1200px) and (max-width: 1599px) {
  .rs-header-one .main-menu > ul { column-gap: 14px !important; }
  .rs-header-one .main-menu > ul > li > a { font-size: 15px; }
  .rs-header-one .header-right { gap: 8px; }
  .rs-header-one .header-btn .rs-btn { padding-inline: 14px; }
}
/* Dark wash so the transparent header and breadcrumb text stay readable over photos. */
.rs-breadcrumb-bg-thumb { position: relative; }
.rs-breadcrumb-bg-thumb::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,35,65,.82), rgba(0,35,65,.45)); }
.rs-header-one .header-btn .rs-btn, .rs-header-one .header-btn .btn-text-wrap { white-space: nowrap; }

/* Compact header: the template's "has-space" variant pads menu links by 50px; keep the same design but a shorter bar. */
.rs-header-one.has-space .main-menu > ul > li > a { padding: 24px 0; }
.rs-header-one .header-wrapper { padding-top: 6px; padding-bottom: 6px; }
.header-logo img { height: 52px; width: auto; }
.rs-header-one .rs-sticky-header.active .main-menu > ul > li > a { padding: 22px 0; }

/* Accessibility */
.dbv-skip{position:absolute;left:-9999px;top:8px;z-index:100000;background:#fff;color:#0a2f5c;padding:10px 16px;border-radius:6px;font-weight:600}
.dbv-skip:focus{left:8px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f5b50a;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Slimmer header (static + sticky) */
.rs-header-one .main-menu > ul > li > a,
.rs-header-one.has-space .main-menu > ul > li > a,
.rs-header-one .rs-sticky-header .main-menu > ul > li > a { padding: 18px 0 !important; }
.rs-header-one .header-wrapper, .rs-header-one .rs-sticky-header .header-wrapper { padding-top: 4px; padding-bottom: 4px; }
.header-logo img { height: 46px; }
.rs-header-one .header-btn .rs-btn { padding: 12px 22px; }
