/* Public DomYard product landing. */
.dy-landing {
  --dy-blue: #2f6fed;
  --dy-blue-dark: #1f55c4;
  --dy-cyan: #17a9bd;
  --dy-green: #1fa57f;
  --dy-ink: #162036;
  --dy-muted: #68748a;
  --dy-line: #e5eaf2;
  --dy-soft: #f6f8fc;
  --dy-dark: #152038;
  background: #fff;
  color: var(--dy-ink);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}

.dy-landing .container { max-width: 1180px; }
.dy-landing main section[id] { scroll-margin-top: 84px; }
.dy-landing h1,
.dy-landing h2,
.dy-landing h3,
.dy-landing .dy-brand { letter-spacing: 0; }

.dy-landing .dy-public-header {
  background: rgba(255, 255, 255, .92);
  border-bottom: 1px solid rgba(229, 234, 242, .9);
  backdrop-filter: blur(18px);
}

.dy-landing .dy-public-header .navbar { min-height: 78px; padding: 11px clamp(28px, 3vw, 42px); }
.dy-landing .dy-public-header .nav-link { color: #566177; font-size: .98rem; margin: 0 2px; padding: .72rem .58rem; }
.dy-landing .dy-public-header .nav-link:hover { color: var(--dy-blue); }
.dy-landing .dy-public-header .dy-console-link { color: var(--dy-ink); }

.dy-primary-button,
.dy-secondary-button,
.dy-white-button {
  align-items: center;
  border-radius: 9px;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  gap: 11px;
  justify-content: center;
  min-height: 50px;
  padding: 12px 22px;
  transition: background-color .2s, border-color .2s, box-shadow .2s, color .2s, transform .2s;
}

.dy-primary-button { background: var(--dy-blue); border-color: var(--dy-blue); box-shadow: 0 10px 25px rgba(47, 111, 237, .22); color: #fff; }
.dy-primary-button:hover { background: var(--dy-blue-dark); border-color: var(--dy-blue-dark); color: #fff; transform: translateY(-1px); }
.dy-secondary-button { background: #fff; border-color: #dce3ed; color: #303a4f; }
.dy-secondary-button:hover { border-color: #bcc9dc; color: var(--dy-blue); }
.dy-header-cta { box-shadow: none; font-size: .92rem; min-height: 44px; padding: 10px 16px; }

.dy-kicker {
  color: var(--dy-blue);
  display: block;
  font-size: .84rem;
  font-weight: 800;
  letter-spacing: .11em;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.dy-kicker.light { color: #85adff; }

.dy-hero {
  background: linear-gradient(180deg, #fff 0%, #f8faff 100%);
  overflow: hidden;
  padding: 88px 0 82px;
  position: relative;
}

.dy-hero-glow { border-radius: 50%; height: 520px; pointer-events: none; position: absolute; width: 520px; }
.dy-hero-glow-left { background: radial-gradient(circle, rgba(99, 102, 241, .14), transparent 68%); left: -300px; top: 70px; }
.dy-hero-glow-right { background: radial-gradient(circle, rgba(23, 169, 189, .12), transparent 68%); right: -250px; top: -80px; }
.dy-hero h1 { font-size: clamp(2.75rem, 3.55vw, 3.8rem); font-weight: 800; line-height: 1.07; margin: 0 0 26px; }
.dy-hero h1 span { background: linear-gradient(105deg, #2f6fed 10%, #735fe6 54%, #15a6bd 95%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dy-hero-copy { color: var(--dy-muted); font-size: 1.12rem; line-height: 1.72; margin: 0; max-width: 620px; }
.dy-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.dy-hero-note { color: #657187; font-size: .9rem; line-height: 1.55; margin: 18px 0 0; }
.dy-hero-note i { color: var(--dy-green); margin-right: 6px; }

.dy-hero-visual {
  border-radius: 24px;
  box-shadow: 0 34px 75px rgba(35, 52, 87, .18);
  height: 500px;
  margin: 0 0 0 18px;
  overflow: hidden;
  position: relative;
}

.dy-hero-visual::after { background: linear-gradient(180deg, transparent 48%, rgba(16, 28, 50, .38)); content: ""; inset: 0; position: absolute; }
.dy-hero-visual > img { height: 100%; object-fit: cover; width: 100%; }
.dy-hero-visual figcaption { background: rgba(19, 30, 51, .66); border-radius: 99px; color: #fff; font-size: .82rem; left: 18px; padding: 7px 11px; position: absolute; top: 18px; z-index: 2; }
.dy-hero-visual-card { align-items: center; backdrop-filter: blur(14px); background: rgba(255, 255, 255, .91); border: 1px solid rgba(255, 255, 255, .84); border-radius: 13px; box-shadow: 0 16px 35px rgba(17, 31, 56, .17); display: flex; gap: 12px; padding: 14px 16px; position: absolute; z-index: 2; }
.dy-hero-visual-card > i { align-items: center; background: #eaf1ff; border-radius: 9px; color: var(--dy-blue); display: flex; flex: 0 0 auto; height: 38px; justify-content: center; width: 38px; }
.dy-hero-visual-card span,
.dy-hero-visual-card strong { display: block; }
.dy-hero-visual-card span { color: #6e7a8e; font-size: .82rem; }
.dy-hero-visual-card strong { color: #2c374b; font-size: .88rem; margin-bottom: 3px; }
.dy-hero-card-top { right: 18px; top: 82px; }
.dy-hero-card-bottom { bottom: 22px; left: 22px; }

.dy-proof-strip { border-bottom: 1px solid var(--dy-line); border-top: 1px solid var(--dy-line); }
.dy-proof-strip .container { display: grid; grid-template-columns: repeat(4, 1fr); }
.dy-proof-strip .container > div { align-items: center; display: flex; gap: 12px; min-height: 92px; padding: 18px 24px; }
.dy-proof-strip .container > div + div { border-left: 1px solid var(--dy-line); }
.dy-proof-strip i { color: var(--dy-blue); font-size: 1.2rem; }
.dy-proof-strip span,
.dy-proof-strip strong { display: block; }
.dy-proof-strip span { color: #798496; font-size: .8rem; line-height: 1.5; }
.dy-proof-strip strong { color: #354056; font-size: .9rem; margin-bottom: 3px; }

.dy-section,
.dy-showcase-section,
.dy-process-section,
.dy-mobile-section,
.dy-story-section,
.dy-integrations-section,
.dy-placement-section,
.dy-security-section,
.dy-onboarding-section,
.dy-faq-section { padding: 108px 0; }

.dy-centered-heading { margin: 0 auto 54px; max-width: 780px; text-align: center; }
.dy-centered-heading h2,
.dy-process-section h2,
.dy-mobile-section h2,
.dy-story-section h2,
.dy-placement-section h2,
.dy-faq-section h2 { font-size: clamp(2.1rem, 4vw, 3.35rem); font-weight: 780; line-height: 1.08; margin: 0; }
.dy-centered-heading p,
.dy-process-section .col-lg-5 > p,
.dy-faq-section .col-lg-4 > p { color: var(--dy-muted); font-size: 1rem; line-height: 1.72; margin: 19px auto 0; }

.dy-feature-grid { display: grid; gap: 17px; grid-template-columns: repeat(3, 1fr); }
.dy-feature-grid article { background: #fff; border: 1px solid var(--dy-line); border-radius: 15px; min-height: 245px; padding: 28px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.dy-feature-grid article:hover { border-color: #d2dbe9; box-shadow: 0 20px 45px rgba(39, 54, 87, .08); transform: translateY(-4px); }
.dy-feature-grid article > div { align-items: center; border-radius: 10px; display: flex; font-size: 1.16rem; height: 45px; justify-content: center; margin-bottom: 24px; width: 45px; }
.dy-feature-grid h3 { font-size: 1.08rem; font-weight: 750; margin-bottom: 10px; }
.dy-feature-grid p { color: #69768c; font-size: .96rem; line-height: 1.67; margin: 0; }
.dy-feature-grid .blue { background: #eaf1ff; color: #2f6fed; }
.dy-feature-grid .cyan { background: #e7f8fa; color: #1697aa; }
.dy-feature-grid .violet { background: #f0edff; color: #7159d8; }
.dy-feature-grid .green { background: #e8f8f1; color: #218f6d; }
.dy-feature-grid .orange { background: #fff2e7; color: #df7d2c; }
.dy-feature-grid .pink { background: #ffedf3; color: #d35482; }
.dy-feature-grid .red { background: #fff0ef; color: #dd615b; }
.dy-feature-grid .slate { background: #eff2f6; color: #657288; }

.dy-showcase-section { background: var(--dy-soft); border-bottom: 1px solid #edf0f5; border-top: 1px solid #edf0f5; }
.dy-role-tabs { background: #e9edf5; border-radius: 12px; display: grid; gap: 5px; grid-template-columns: repeat(5, 1fr); margin: 0 auto 16px; max-width: 1080px; padding: 5px; }
.dy-role-tabs button { background: transparent; border: 0; border-radius: 8px; color: #68748a; font-size: .92rem; font-weight: 700; min-height: 48px; padding: 11px 15px; }
.dy-role-tabs button i { margin-right: 7px; }
.dy-role-tabs button:hover { color: var(--dy-blue); }
.dy-role-tabs button.active { background: #fff; box-shadow: 0 6px 18px rgba(38, 54, 86, .09); color: var(--dy-blue); }
.dy-role-tabs button:focus-visible { box-shadow: 0 0 0 3px rgba(47, 111, 237, .2); outline: 0; }
.dy-showcase-card { background: #fff; border: 1px solid #e0e6ef; border-radius: 18px; box-shadow: 0 24px 55px rgba(37, 53, 87, .1); overflow: hidden; }
.dy-showcase-card .tab-pane.active { display: grid; grid-template-columns: .9fr 1.25fr; min-height: 500px; }
.dy-showcase-copy { align-self: center; padding: 52px; }
.dy-showcase-copy > span { color: var(--dy-blue); font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dy-showcase-copy h3 { font-size: clamp(1.8rem, 3vw, 2.65rem); font-weight: 780; line-height: 1.1; margin: 12px 0 18px; }
.dy-showcase-copy p { color: var(--dy-muted); font-size: 1.04rem; line-height: 1.72; }
.dy-showcase-copy ul { color: #59667c; display: grid; gap: 11px; list-style: none; margin: 27px 0 0; padding: 0; }
.dy-showcase-copy li::before { color: var(--dy-green); content: "✓"; font-weight: 800; margin-right: 10px; }
.dy-showcase-card figure { height: 500px; margin: 0; overflow: hidden; position: relative; }
.dy-showcase-card figure::after { background: linear-gradient(180deg, transparent 68%, rgba(12, 22, 42, .46)); content: ""; inset: 0; position: absolute; }
.dy-showcase-card figure img { height: 100%; object-fit: cover; width: 100%; }
.dy-showcase-card figure.interface { background: linear-gradient(145deg, #edf2f8, #e2e9f3); }
.dy-showcase-card figure.portrait.interface img { object-fit: contain; object-position: center; }
.dy-showcase-card figure.dual-interface { padding: 25px; }
.dy-showcase-card figure.dual-interface::after { background-image: linear-gradient(180deg, transparent 76%, rgba(12, 22, 42, .5) 100%), linear-gradient(90deg, transparent 52%, rgba(12, 22, 42, .4) 100%); background-position: center, center; background-repeat: no-repeat; background-size: 100% 100%, 100% 100%; }
.dy-showcase-card figure.dual-interface img.tech-desktop { border-radius: 12px; box-shadow: 0 12px 35px rgba(27, 43, 75, .18); height: 100%; object-fit: cover; object-position: left top; width: 100%; }
.dy-showcase-card figure.dual-interface img.tech-mobile { border: 4px solid #fff; border-radius: 22px; box-shadow: 14px 16px 22px -12px rgba(22, 39, 72, .34); height: 410px; object-fit: cover; object-position: top; position: absolute; right: 25px; top: 45px; width: 231px; z-index: 1; }
.dy-showcase-card figure.dual-interface figcaption { max-width: 58%; z-index: 3; }
.dy-showcase-card figure.mobile-gallery { align-items: center; display: flex; gap: 12px; justify-content: center; padding: 26px 18px 42px; }
.dy-showcase-card figure.mobile-gallery .phone-shell { aspect-ratio: 941 / 1672; background: #fff; border: 4px solid #fff; border-radius: 22px; box-shadow: 0 16px 34px rgba(29, 45, 78, .2); box-sizing: content-box; height: 405px; overflow: hidden; position: relative; z-index: 1; }
.dy-showcase-card figure.mobile-gallery .phone-shell img { border-radius: 18px; display: block; height: 100%; object-fit: fill; width: 100%; }
.dy-showcase-card figure.mobile-gallery.three .phone-shell { height: 315px; }
.dy-showcase-card figure.mobile-gallery figcaption { z-index: 3; }
.dy-showcase-card figcaption { bottom: 17px; color: rgba(255, 255, 255, .94); font-size: .82rem; font-weight: 650; left: 18px; position: absolute; right: auto; text-align: left; z-index: 2; }

.dy-process-section { background: #fff; }
.dy-process-section .col-lg-5 > p { margin: 0; }
.dy-process-list { display: grid; gap: 0; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 0; padding: 0; }
.dy-process-list li { border-top: 1px solid #dfe5ed; padding: 28px 24px 0 0; position: relative; }
.dy-process-list li::before { background: var(--dy-blue); border: 4px solid #e9f0ff; border-radius: 50%; content: ""; height: 14px; left: 0; position: absolute; top: -7px; width: 14px; }
.dy-process-list li > span { color: #8b96a8; font-size: .8rem; font-weight: 800; }
.dy-process-list i { color: var(--dy-blue); display: block; font-size: 1.3rem; margin: 22px 0 17px; }
.dy-process-list h3 { font-size: 1.08rem; font-weight: 750; }
.dy-process-list p { color: #6e7b90; font-size: .9rem; line-height: 1.62; margin: 0; }

.dy-mobile-section { background: var(--dy-dark); color: #fff; overflow: hidden; }
.dy-mobile-section h2 { color: #fff; }
.dy-mobile-section .col-lg-6 > p { color: #aeb9cc; font-size: 1rem; line-height: 1.75; margin: 22px 0 0; max-width: 570px; }
.dy-mobile-models { display: grid; gap: 12px; margin-top: 31px; }
.dy-mobile-models article { background: rgba(255, 255, 255, .055); border: 1px solid rgba(255, 255, 255, .1); border-radius: 13px; padding: 20px 22px; }
.dy-mobile-models span { color: #8cb3ff; display: block; font-size: .82rem; font-weight: 800; letter-spacing: .1em; margin-bottom: 8px; text-transform: uppercase; }
.dy-mobile-models h3 { font-size: 1.1rem; font-weight: 750; margin: 0 0 7px; }
.dy-mobile-models p { color: #bdc7d8; font-size: .94rem; line-height: 1.62; margin: 0; }
.dy-mobile-visual { height: 570px; margin-left: 26px; position: relative; }
.dy-mobile-visual::before { background: radial-gradient(circle, rgba(72, 126, 238, .35), transparent 67%); content: ""; height: 620px; left: 0; position: absolute; top: -30px; width: 620px; }
.dy-mobile-visual figure { background: #fff; border: 4px solid #fff; border-radius: 24px; box-shadow: 0 28px 55px rgba(0, 0, 0, .32); box-sizing: content-box; margin: 0; overflow: hidden; position: absolute; width: 235px; }
.dy-mobile-visual figure img { border-radius: 20px; display: block; height: auto; width: 100%; }
.dy-mobile-visual figure.resident { left: 45px; top: 20px; }
.dy-mobile-visual figure.employee { right: 20px; top: 70px; }
.dy-mobile-badge { align-items: center; backdrop-filter: blur(15px); background: rgba(255, 255, 255, .94); border-radius: 13px; bottom: 18px; box-shadow: 0 18px 38px rgba(0, 0, 0, .28); color: var(--dy-ink); display: flex; gap: 12px; left: 0; padding: 14px 17px; position: absolute; z-index: 4; }
.dy-mobile-badge i { color: var(--dy-blue); font-size: 1.25rem; }
.dy-mobile-badge span,
.dy-mobile-badge strong { display: block; }
.dy-mobile-badge span { color: #6e7a8d; font-size: .82rem; }
.dy-mobile-badge strong { color: #334056; font-size: .88rem; margin-bottom: 3px; }

.dy-story-section { background: #fff; }
.dy-story-photo { border-radius: 20px; box-shadow: 0 28px 58px rgba(37, 52, 82, .14); height: 540px; margin: 0 20px 0 0; overflow: hidden; position: relative; }
.dy-story-photo::after { background: linear-gradient(180deg, transparent 60%, rgba(13, 24, 43, .65)); content: ""; inset: 0; position: absolute; }
.dy-story-photo img { height: 100%; object-fit: cover; width: 100%; }
.dy-story-photo figcaption { bottom: 24px; color: #fff; font-size: .88rem; font-weight: 650; left: 26px; position: absolute; right: 26px; z-index: 2; }
.dy-story-section .col-lg-6 > p { color: var(--dy-muted); font-size: 1.04rem; line-height: 1.75; margin: 18px 0 0; }
.dy-story-section blockquote { border-left: 4px solid var(--dy-blue); color: #334056; font-size: 1.17rem; font-weight: 700; line-height: 1.55; margin: 30px 0 0; padding: 4px 0 4px 20px; }

.dy-integrations-section { background: var(--dy-soft); border-bottom: 1px solid #edf0f5; border-top: 1px solid #edf0f5; }
.dy-integration-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); }
.dy-integration-grid span { align-items: center; background: #fff; border: 1px solid #e1e7f0; border-radius: 11px; color: #4f5b70; display: flex; font-size: .98rem; font-weight: 700; gap: 11px; justify-content: center; min-height: 78px; padding: 15px; }
.dy-integration-grid i,
.dy-integration-grid b { color: var(--dy-blue); font-size: 1.16rem; }
.dy-integration-grid b { font-size: .82rem; }

.dy-placement-section { background: var(--dy-dark); color: #fff; overflow: hidden; position: relative; }
.dy-placement-section::before { background: radial-gradient(circle, rgba(47, 111, 237, .25), transparent 68%); content: ""; height: 680px; position: absolute; right: -280px; top: -320px; width: 680px; }
.dy-placement-section h2 { color: #fff; position: relative; }
.dy-placement-section .col-lg-5 > p { color: #aeb9cc; line-height: 1.75; margin: 0; position: relative; }
.dy-placement-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, 1fr); position: relative; }
.dy-placement-grid article { background: rgba(255, 255, 255, .055); border: 1px solid rgba(255, 255, 255, .11); border-radius: 16px; padding: 34px; position: relative; }
.dy-placement-grid article.featured { background: rgba(47, 111, 237, .14); border-color: rgba(102, 151, 250, .52); }
.dy-placement-icon { align-items: center; background: rgba(255, 255, 255, .09); border-radius: 10px; color: #80aaff; display: flex; font-size: 1.1rem; height: 44px; justify-content: center; margin-bottom: 20px; width: 44px; }
.dy-placement-grid article > span { color: #a3b1c8; display: block; font-size: .82rem; font-weight: 800; letter-spacing: .12em; margin-bottom: 9px; text-transform: uppercase; }
.dy-placement-grid h3 { font-size: 1.45rem; font-weight: 750; }
.dy-placement-grid p { color: #bbc5d5; font-size: .96rem; line-height: 1.68; }
.dy-placement-grid ul { border-top: 1px solid rgba(255, 255, 255, .1); color: #dbe1ea; display: grid; font-size: .92rem; gap: 11px; list-style: none; margin: 23px 0 0; padding: 21px 0 0; }
.dy-placement-grid li::before { color: #5fd0b2; content: "✓"; font-weight: 800; margin-right: 9px; }
.dy-placement-label { background: var(--dy-blue); border-radius: 0 14px 0 9px; color: #fff !important; font-size: .82rem !important; padding: 9px 13px; position: absolute; right: 0; top: 0; }

.dy-security-section { background: #fff; }
.dy-security-grid { display: grid; gap: 17px; grid-template-columns: repeat(4, 1fr); }
.dy-security-grid article { background: var(--dy-soft); border: 1px solid #edf0f5; border-radius: 14px; padding: 27px; }
.dy-security-grid i { color: var(--dy-blue); font-size: 1.35rem; margin-bottom: 22px; }
.dy-security-grid h3 { font-size: 1rem; font-weight: 750; }
.dy-security-grid p { color: #6d798e; font-size: .94rem; line-height: 1.62; margin: 0; }

.dy-onboarding-section { background: var(--dy-soft); border-bottom: 1px solid #edf0f5; border-top: 1px solid #edf0f5; }
.dy-onboarding-list { counter-reset: step; display: grid; gap: 14px; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 0; padding: 0; }
.dy-onboarding-list li { background: #fff; border: 1px solid var(--dy-line); border-radius: 13px; min-height: 220px; padding: 25px 22px; position: relative; }
.dy-onboarding-list li:not(:last-child)::after { align-items: center; background: var(--dy-blue); border: 4px solid var(--dy-soft); border-radius: 50%; color: #fff; content: "→"; display: flex; font-size: .78rem; height: 28px; justify-content: center; position: absolute; right: -21px; top: 43px; width: 28px; z-index: 2; }
.dy-onboarding-list span { color: var(--dy-blue); display: block; font-size: .82rem; font-weight: 800; margin-bottom: 35px; }
.dy-onboarding-list h3 { font-size: 1.08rem; font-weight: 750; }
.dy-onboarding-list p { color: #6f7b90; font-size: .9rem; line-height: 1.62; margin: 0; }

.dy-faq-section { background: #fff; }
.dy-faq-section .col-lg-4 > p { margin-left: 0; }
.dy-faq { border-top: 1px solid #e0e5ed; }
.dy-faq .accordion-item { border: 0; border-bottom: 1px solid #e0e5ed; }
.dy-faq .accordion-button { background: transparent; box-shadow: none; color: #2b364b; font-size: 1.08rem; font-weight: 700; padding: 24px 4px; }
.dy-faq .accordion-button:not(.collapsed) { color: var(--dy-blue); }
.dy-faq .accordion-button:focus { box-shadow: 0 0 0 3px rgba(47, 111, 237, .13); }
.dy-faq .accordion-body { color: #647187; font-size: 1rem; line-height: 1.72; padding: 0 36px 25px 4px; }

.dy-demo-section { padding: 0 0 100px; }
.dy-demo-card { align-items: center; background: linear-gradient(130deg, #255fd5 0%, #355cc7 45%, #6758db 100%); border-radius: 18px; color: #fff; display: flex; justify-content: space-between; overflow: hidden; padding: 58px 62px; position: relative; }
.dy-demo-glow { background: radial-gradient(circle, rgba(255, 255, 255, .22), transparent 68%); height: 520px; position: absolute; right: -130px; top: -250px; width: 520px; }
.dy-demo-card > div > span { color: #d6e1ff; font-size: .82rem; font-weight: 800; letter-spacing: .12em; }
.dy-demo-card h2 { font-size: clamp(1.9rem, 3.2vw, 2.75rem); font-weight: 780; line-height: 1.13; margin: 13px 0 15px; }
.dy-demo-card p { color: #e2e9ff; font-size: 1rem; line-height: 1.68; margin: 0; max-width: 570px; }
.dy-demo-actions { align-items: center; display: flex; flex: 0 0 auto; flex-direction: column; gap: 14px; margin-left: 35px; }
.dy-white-button { background: #fff; border-color: #fff; color: #244b9d; white-space: nowrap; }
.dy-white-button:hover { background: #eef3ff; color: #183d88; }
.dy-demo-actions > a:last-child { color: #e2e9ff; font-size: .86rem; }
.dy-demo-actions > a:last-child strong { color: #fff; }

.dy-footer { border-top: 1px solid var(--dy-line); color: inherit; padding: 65px 0 24px; }
.dy-footer-main { display: flex; justify-content: space-between; }
.dy-footer-main > div:first-child p { color: #707c90; font-size: .9rem; line-height: 1.65; margin: 18px 0 0; }
.dy-footer-links { display: grid; gap: 65px; grid-template-columns: repeat(3, 1fr); }
.dy-footer-links > div { display: flex; flex-direction: column; gap: 9px; }
.dy-footer-links strong { color: #344056; font-size: .9rem; margin-bottom: 4px; }
.dy-footer-links a { color: #707c90; font-size: .88rem; }
.dy-footer-links a:hover { color: var(--dy-blue); }
.dy-footer-bottom { border-top: 1px solid #e7ebf1; color: #8490a3; display: flex; font-size: .8rem; justify-content: space-between; margin-top: 48px; padding-top: 22px; }
.dy-footer-bottom a { color: #929bad; }
.dy-footer-bottom a:hover { color: var(--dy-blue); }

@media (max-width: 1199.98px) {
  .dy-hero-visual { height: 490px; margin-left: 0; }
  .dy-mobile-visual { margin-left: 0; }
  .dy-mobile-visual figure { width: 220px; }
  .dy-security-grid { grid-template-columns: repeat(2, 1fr); }
  .dy-onboarding-list { grid-template-columns: repeat(3, 1fr); }
  .dy-onboarding-list li::after { display: none; }
}

@media (max-width: 991.98px) {
  .dy-landing .dy-public-header .navbar-collapse { background: #fff; border: 1px solid var(--dy-line); border-radius: 12px; box-shadow: 0 18px 40px rgba(35, 48, 78, .12); margin-top: 10px; padding: 12px; }
  .dy-landing .dy-public-header .dy-header-cta { margin-top: 8px; width: 100%; }
  .dy-hero { padding-top: 70px; }
  .dy-hero-visual { height: 530px; margin-top: 10px; }
  .dy-proof-strip .container { grid-template-columns: repeat(2, 1fr); }
  .dy-proof-strip .container > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--dy-line); }
  .dy-proof-strip .container > div:nth-child(4) { border-top: 1px solid var(--dy-line); }
  .dy-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .dy-showcase-card .tab-pane.active { grid-template-columns: 1fr; }
  .dy-showcase-card figure { height: 430px; order: -1; }
  .dy-showcase-card figure.dual-interface img.tech-mobile { height: 350px; top: 40px; width: 197px; }
  .dy-showcase-card figure.mobile-gallery.two .phone-shell { height: 350px; }
  .dy-showcase-card figure.mobile-gallery.three .phone-shell { height: 305px; }
  .dy-mobile-visual { margin: 20px auto 0; max-width: 600px; }
  .dy-story-photo { height: 470px; margin-right: 0; }
  .dy-placement-grid { grid-template-columns: 1fr; }
  .dy-demo-card { align-items: flex-start; flex-direction: column; gap: 32px; }
  .dy-demo-actions { align-items: flex-start; margin-left: 0; }
}

@media (max-width: 767.98px) {
  .dy-section,
  .dy-showcase-section,
  .dy-process-section,
  .dy-mobile-section,
  .dy-story-section,
  .dy-integrations-section,
  .dy-placement-section,
  .dy-security-section,
  .dy-onboarding-section,
  .dy-faq-section { padding: 82px 0; }
  .dy-hero h1 { font-size: clamp(2.65rem, 10vw, 4rem); }
  .dy-role-tabs { grid-template-columns: repeat(2, 1fr); }
  .dy-role-tabs .dy-role-wide { grid-column: 1 / -1; }
  .dy-process-list { gap: 16px; grid-template-columns: 1fr; }
  .dy-process-list li { border-left: 1px solid #dfe5ed; border-top: 0; padding: 0 0 15px 28px; }
  .dy-process-list li::before { left: -7px; top: 3px; }
  .dy-process-list i { margin-top: 16px; }
  .dy-integration-grid { grid-template-columns: repeat(2, 1fr); }
  .dy-onboarding-list { grid-template-columns: 1fr 1fr; }
  .dy-footer-main { flex-direction: column; gap: 44px; }
  .dy-footer-links { gap: 30px; }
}

@media (max-width: 575.98px) {
  .dy-landing .dy-public-header .navbar { min-height: 72px; padding-left: max(24px, env(safe-area-inset-left)); padding-right: max(24px, env(safe-area-inset-right)); }
  .dy-hero { padding: 58px 0 64px; }
  .dy-hero h1 { font-size: clamp(2.25rem, 10.5vw, 3rem); line-height: 1.06; }
  .dy-hero-copy { font-size: 1rem; }
  .dy-hero-actions { align-items: stretch; flex-direction: column; }
  .dy-hero-note { font-size: .84rem; }
  .dy-hero-visual { border-radius: 17px; height: 410px; }
  .dy-hero-visual-card { padding: 11px 12px; }
  .dy-hero-visual-card > i { height: 34px; width: 34px; }
  .dy-hero-card-top { left: 12px; right: 12px; top: 92px; }
  .dy-hero-card-bottom { bottom: 14px; left: 12px; }
  .dy-proof-strip .container { grid-template-columns: 1fr; }
  .dy-proof-strip .container > div { border-left: 0 !important; border-top: 1px solid var(--dy-line); min-height: 78px; }
  .dy-proof-strip .container > div:first-child { border-top: 0; }
  .dy-centered-heading { margin-bottom: 40px; }
  .dy-centered-heading h2,
  .dy-process-section h2,
  .dy-mobile-section h2,
  .dy-story-section h2,
  .dy-placement-section h2,
  .dy-faq-section h2 { font-size: 2rem; }
  .dy-feature-grid { grid-template-columns: 1fr; }
  .dy-feature-grid article { min-height: auto; padding: 25px; }
  .dy-role-tabs { grid-template-columns: 1fr 1fr; }
  .dy-role-tabs button { font-size: .9rem; padding: 10px 7px; }
  .dy-showcase-card figure { height: 330px; }
  .dy-showcase-card figure.dual-interface { padding: 14px; }
  .dy-showcase-card figure.dual-interface img.tech-mobile { border-radius: 16px; height: 278px; right: 14px; top: 25px; width: 156px; }
  .dy-showcase-card figure.dual-interface figcaption { font-size: .72rem; left: 22px; max-width: 52%; right: auto; }
  .dy-showcase-card figure.mobile-gallery { gap: 6px; padding: 20px 14px 38px; }
  .dy-showcase-card figure.mobile-gallery.two .phone-shell { height: 270px; }
  .dy-showcase-card figure.mobile-gallery.three .phone-shell { border-radius: 16px; height: 190px; }
  .dy-showcase-card figure.mobile-gallery.three .phone-shell img { border-radius: 12px; }
  .dy-showcase-card figure.mobile-gallery figcaption { font-size: .72rem; left: 15px; right: auto; }
  .dy-showcase-copy { padding: 31px 25px 35px; }
  .dy-showcase-copy h3 { font-size: 1.9rem; }
  .dy-mobile-visual { height: 470px; }
  .dy-mobile-visual::before { height: 480px; width: 480px; }
  .dy-mobile-visual figure { border-radius: 24px; width: 172px; }
  .dy-mobile-visual figure.resident { left: 8px; }
  .dy-mobile-visual figure.employee { right: 4px; top: 60px; }
  .dy-mobile-badge { bottom: 16px; left: 10px; right: 10px; }
  .dy-story-photo { height: 390px; }
  .dy-integration-grid { grid-template-columns: 1fr 1fr; }
  .dy-integration-grid span { font-size: .86rem; min-height: 68px; }
  .dy-placement-grid article { padding: 29px 24px; }
  .dy-security-grid { grid-template-columns: 1fr; }
  .dy-onboarding-list { grid-template-columns: 1fr; }
  .dy-onboarding-list li { min-height: auto; }
  .dy-onboarding-list span { margin-bottom: 22px; }
  .dy-demo-section { padding-bottom: 72px; }
  .dy-demo-card { border-radius: 14px; padding: 39px 25px; }
  .dy-demo-card h2 br { display: none; }
  .dy-demo-actions,
  .dy-white-button { align-items: stretch; text-align: center; width: 100%; }
  .dy-demo-actions > a:last-child { text-align: center; }
  .dy-footer-links { grid-template-columns: 1fr 1fr; }
  .dy-footer-bottom { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .dy-feature-grid article,
  .dy-primary-button,
  .dy-secondary-button { transition: none; }
}
