/* Adapted from the supplied ADN homepage. Scoped to the home view. */
.adn-home { --pink: #d9154f; --pink2: #ff5b88; --ink: #111214; --muted: #6c7076; --soft: #f7f5f2; --line: #e8e5e1; --white: #fff; --dark: #1d1d1d; --max: 1280px; }
.adn-home * { box-sizing: border-box; }
.adn-home { scroll-behavior: smooth; }
.adn-home { margin: 0px; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: rgb(255, 255, 255); overflow-x: clip; }
.adn-home a { text-decoration: none; color: inherit; }
.adn-home .wrap { max-width: var(--max); margin: auto; padding: 0px 28px; }
.adn-home ::selection { background: var(--pink); color: rgb(255, 255, 255); }
.adn-home .hero { min-height: 100vh; padding-top: 72px; display: grid; place-items: center; position: relative; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(217, 21, 79, 0.08), transparent 29%), linear-gradient(rgb(255, 255, 255) 0%, rgb(252, 251, 250) 100%); }
.adn-home .hero::before, .adn-home .hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.adn-home .hero::before { width: 520px; height: 520px; border: 78px solid rgba(217, 21, 79, 0.043); left: -200px; bottom: -240px; }
.adn-home .hero::after { width: 360px; height: 360px; border: 58px solid rgba(217, 21, 79, 0.035); right: -110px; top: 60px; }
.adn-home .hero-center { text-align: center; max-width: 1100px; padding: 120px 28px 100px; position: relative; z-index: 2; }
.adn-home .hero-kicker { text-transform: uppercase; letter-spacing: 0.22em; font-size: 12px; font-weight: 800; color: var(--pink); margin-bottom: 30px; }
.adn-home .hero-lines { display: grid; gap: .1em; }
.adn-home .hero-line { font-size: clamp(54px, 7.3vw, 112px); line-height: 1.12; letter-spacing: -0.07em; font-weight: 780; }
.adn-home .hero-line.muted { color: rgb(111, 115, 121); font-weight: 390; }
.adn-home .hero-line.accent { color: var(--pink); }
.adn-home .hero-copy { max-width: 740px; margin: 34px auto 0px; font-size: 18px; line-height: 1.65; color: rgb(85, 89, 95); }
.adn-home .scroll-cue { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); font-size: 11px; text-transform: uppercase; letter-spacing: 0.18em; color: rgb(141, 144, 149); }
.adn-home .scroll-cue::after { content: ""; display: block; width: 1px; height: 54px; background: linear-gradient(var(--pink),transparent); margin: 12px auto 0px; }
.adn-home .story { background: rgb(16, 17, 20); color: white; }
.adn-home .story-layout { display: grid; grid-template-columns: 43% 57%; min-height: 400vh; }
.adn-home .story-sticky { position: sticky; top: 72px; height: calc(-72px + 100vh); display: flex; align-items: center; padding: 60px 6vw; overflow: hidden; background: radial-gradient(circle at 22% 68%, rgba(217, 21, 79, 0.2), transparent 24%), linear-gradient(145deg, rgb(17, 18, 22), rgb(27, 29, 33)); }
.adn-home .story-word { font-size: clamp(64px, 7.5vw, 122px); line-height: 0.84; letter-spacing: -0.075em; font-weight: 780; }
.adn-home .story-word span { color: var(--pink); }
.adn-home .story-count { font-size: 12px; letter-spacing: 0.2em; color: rgb(112, 116, 124); margin-bottom: 20px; }
.adn-home .story-caption { margin-top: 26px; max-width: 420px; color: rgb(183, 187, 192); line-height: 1.65; }
.adn-home .story-progress { height: 2px; background: rgb(48, 50, 55); margin-top: 36px; }
.adn-home .story-progress span { display: block; height: 100%; width: 25%; background: var(--pink); transition: 0.35s; }
.adn-home .story-steps { background: rgb(246, 246, 247); color: var(--ink); }
.adn-home .step { min-height: 100vh; padding: 19vh 8vw; border-bottom: 1px solid rgb(229, 229, 231); display: flex; align-items: center; }
.adn-home .stepin { max-width: 640px; }
.adn-home .kicker { font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--pink); font-weight: 800; }
.adn-home .step h2 { font-size: clamp(42px, 4.8vw, 70px); line-height: 0.98; letter-spacing: -0.055em; margin: 18px 0px 26px; }
.adn-home .step p { font-size: 19px; line-height: 1.65; color: rgb(89, 93, 99); }
.adn-home .section-head { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 50px; align-items: end; margin-bottom: 70px; }
.adn-home .section-head h2 { font-size: clamp(46px, 5vw, 76px); line-height: 0.95; letter-spacing: -0.06em; margin: 14px 0px 0px; }
.adn-home .section-head p { font-size: 18px; line-height: 1.7; color: rgb(100, 104, 110); max-width: 680px; }
@keyframes pulse { 
  0% { box-shadow: rgba(217, 21, 79, 0.24) 0px 0px 65px; }
  100% { box-shadow: rgba(217, 21, 79, 0.5) 0px 0px 150px; }
}
.adn-home .clients { padding: 135px 0px; background: var(--soft); }
.adn-home .clients-head { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 48px; align-items: end; margin-bottom: 58px; }
.adn-home .clients-head h2 { font-size: clamp(46px, 5vw, 74px); margin: 14px 0px 0px; line-height: 0.96; letter-spacing: -0.055em; }
.adn-home .clients-head p { font-size: 18px; line-height: 1.65; color: rgb(103, 107, 113); max-width: 680px; }
.adn-home .client-strip { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 2px 28px; scrollbar-width: none; }
.adn-home .client-strip::-webkit-scrollbar { display: none; }
.adn-home .client-card { flex: 0 0 370px; min-height: 300px; background: rgb(255, 255, 255); border: 1px solid rgb(232, 227, 222); border-radius: 22px; padding: 28px; scroll-snap-align: start; display: flex; flex-direction: column; justify-content: space-between; transition: 0.3s; }
.adn-home .client-card:hover { transform: translateY(-8px); box-shadow: rgba(0, 0, 0, 0.08) 0px 24px 70px; }
.adn-home .client-tag { align-self: flex-start; background: rgb(255, 240, 244); color: rgb(185, 20, 71); border: 1px solid rgb(245, 183, 202); padding: 8px 12px; border-radius: 8px; font-size: 11px; letter-spacing: 0.08em; font-weight: 800; text-transform: uppercase; }
.adn-home .client-card h3 { font-size: 25px; margin: 24px 0px 8px; letter-spacing: -0.03em; }
.adn-home .client-card p { color: rgb(102, 106, 112); line-height: 1.6; }
.adn-home .client-link { color: rgb(189, 18, 70); font-weight: 800; font-size: 13px; }
.adn-home .insights { padding: 135px 0px; background: rgb(255, 255, 255); }
.adn-home .final { min-height: 70vh; display: grid; place-items: center; text-align: center; background: radial-gradient(circle at 50% 58%, rgba(217, 21, 79, 0.2), transparent 27%), rgb(17, 18, 20); color: rgb(255, 255, 255); padding: 100px 24px; }
.adn-home .final h2 { font-size: clamp(58px, 8vw, 112px); line-height: 0.9; letter-spacing: -0.07em; margin: 0px; max-width: 1080px; }
.adn-home .final h2 span { color: var(--pink); }
.adn-home .final p { max-width: 650px; margin: 28px auto; color: rgb(184, 187, 192); font-size: 18px; line-height: 1.65; }
.adn-home .final a { display: inline-flex; padding: 16px 24px; border-radius: 999px; background: var(--pink); font-weight: 800; }
.adn-home [data-reveal] { opacity: 0; transform: translateY(30px); transition: 0.7s cubic-bezier(0.2, 0.7, 0.2, 1); }
@media (max-width: 1000px) {
.adn-home .hero-center { padding-top: 100px; }
.adn-home .story-layout { grid-template-columns: 1fr; }
.adn-home .story-sticky { position: relative; top: 0px; height: 70vh; }
.adn-home .step { min-height: auto; padding: 110px 28px; }
.adn-home .section-head, .adn-home .clients-head { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
.adn-home .wrap { padding: 0px 18px; }
.adn-home .hero-line { font-size: 51px; }
.adn-home .hero-copy { font-size: 16px; }
.adn-home .client-card { flex-basis: 84vw; }
}
.adn-home .adn-mountain { background: rgb(255, 255, 255); padding: 120px 0px 110px; }
.adn-home .compact-head { margin-bottom: 52px; }
.adn-home .mountain-panel { position: relative; height: 560px; max-width: 1480px; margin: 0px auto; overflow: hidden; background: rgb(223, 228, 233); box-shadow: rgba(0, 0, 0, 0.1) 0px 28px 80px; }
.adn-home .mountain-image { position: absolute; inset: -3%; background-image: url("/Images/home/mountain.webp"); background-size: cover; background-position: center 52%; transform: scale(1.045); transition: transform 0.22s ease-out, filter 0.3s; filter: saturate(0.78) contrast(0.96) brightness(0.93); }
.adn-home .mountain-overlay { position: absolute; inset: 0px; background: linear-gradient(90deg, rgba(12, 13, 16, 0.34) 0%, rgba(12, 13, 16, 0.1) 34%, rgba(255, 255, 255, 0.02) 63%, rgba(12, 13, 16, 0.12) 100%), linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.14)); }
.adn-home .mountain-stage { position: absolute; inset: 0px; }
.adn-home .adn-tag { position: absolute; appearance: none; border: 1px solid rgba(255, 255, 255, 0.72); background: rgba(255, 255, 255, 0.76); backdrop-filter: blur(16px); border-radius: 14px; padding: 12px 15px; min-width: 145px; text-align: left; cursor: pointer; box-shadow: rgba(0, 0, 0, 0.11) 0px 14px 38px; opacity: 0.6; transform: translateY(0px) scale(0.97); transition: 0.28s; }
.adn-home .adn-tag span { display: block; font-size: 9px; letter-spacing: 0.16em; color: var(--pink); font-weight: 850; margin-bottom: 3px; }
.adn-home .adn-tag strong { display: block; color: rgb(19, 20, 22); font-size: 16px; letter-spacing: -0.02em; }
.adn-home .adn-tag:hover, .adn-home .adn-tag.active { opacity: 1; transform: translateY(-5px) scale(1.04); background: rgba(255, 255, 255, 0.94); border-color: rgba(229, 0, 70, 0.24); box-shadow: rgba(229, 0, 70, 0.16) 0px 20px 55px; }
.adn-home .adn-tag.active::after { content: ""; position: absolute; left: 15px; right: 15px; bottom: -7px; height: 3px; border-radius: 10px; background: var(--pink); }
.adn-home .adn-info { position: absolute; left: 5.5%; top: 7%; width: min(405px, 36vw); padding: 22px 24px; border-radius: 18px; background: rgba(18, 19, 22, 0.72); border: 1px solid rgba(255, 255, 255, 0.14); color: rgb(255, 255, 255); backdrop-filter: blur(18px); box-shadow: rgba(0, 0, 0, 0.16) 0px 18px 55px; transition: transform 0.3s, opacity 0.3s; }
.adn-home .adn-info-index { font-size: 10px; letter-spacing: 0.17em; color: rgb(255, 125, 164); font-weight: 850; }
.adn-home .adn-info h3 { margin: 8px 0px 5px; font-size: 31px; letter-spacing: -0.04em; }
.adn-home .adn-info p { margin: 0px; color: rgb(213, 216, 220); line-height: 1.55; font-size: 14px; }
.adn-home .growth-chip { position: absolute; right: 5.5%; bottom: 7%; padding: 14px 18px; border-radius: 16px; background: rgba(229, 0, 70, 0.9); color: white; box-shadow: rgba(229, 0, 70, 0.2) 0px 18px 50px; }
.adn-home .growth-chip span { display: block; font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.75; }
.adn-home .growth-chip strong { display: block; font-size: 21px; letter-spacing: -0.03em; margin-top: 2px; }
@media (max-width: 900px) {
.adn-home .mountain-panel { height: 500px; }
.adn-home .adn-info { left: 18px; top: 18px; width: calc(100% - 36px); }
.adn-home .adn-tag { min-width: 118px; padding: 10px 12px; }
.adn-home .adn-tag strong { font-size: 13px; }
.adn-home .growth-chip { right: 18px; bottom: 18px; }
}
@media (max-width: 650px) {
.adn-home .adn-mountain { padding: 90px 0px; }
.adn-home .mountain-panel { height: 460px; }
.adn-home .adn-info h3 { font-size: 25px; }
.adn-home .adn-tag { min-width: auto; }
.adn-home .adn-tag span { display: none; }
}
.adn-home .adn-info { transition: opacity 0.18s, transform 0.18s; }
.adn-home .client-strip { cursor: grab; scroll-behavior: smooth; overscroll-behavior-x: contain; }

/* Integration with the shared site typography, carousels and responsive menu. */
.adn-home { font-family: 'IBM Plex Sans', sans-serif; font-size: 16px; }
.adn-home * { font-family: inherit; font-size: inherit; }
.adn-home [id] { scroll-margin-top: 110px; }
.adn-home h1 { margin: 0; }
.adn-home .hero-lines > span { display: block; }
.adn-home [data-reveal] { opacity: 1; transform: none; }
.adn-home a:focus-visible, .adn-home button:focus-visible, .adn-home [tabindex]:focus-visible { outline: 3px solid var(--pink); outline-offset: 5px; }
.adn-home .hero { min-height: calc(100svh - 85px); padding-top: 0; }
.adn-home .hero-center { padding-top: 95px; padding-bottom: 125px; }
.adn-home .story-word, .adn-home .story-word span { font-size: clamp(64px,7.5vw,122px); line-height: .84; letter-spacing: -.075em; }
.adn-home .story-sticky { align-self: start; top: 85px; height: calc(100vh - 85px); }
.adn-home .story-layout { min-height: 0; }
.adn-home .step { min-height: calc(100vh - 85px); padding-block: 90px; }
.adn-home .client-strip { gap: 24px; padding: 10px 2px 24px; cursor: auto; }
.adn-home .client-card { flex-basis: 355px; }
.adn-home .client-card h3 { margin-top: 14px; }
.adn-home .client-card p { font-size: 16px; }
.adn-home .client-logo { height: 115px; margin-top: 22px; padding: 12px; border-radius: 10px; display: grid; place-items: center; }
.adn-home .client-logo img { max-width: 100%; width: 220px; height: 90px; object-fit: contain; }
.adn-home .client-logo.is-dark { background: #20282c; }
.adn-home .home-blog-track { gap: 24px; }
.adn-home .home-blog-track .blog-card { flex: 0 0 calc((100% - 48px) / 3); }
.adn-home .blog-cover { display: block; flex-shrink: 0; }
.adn-home .blog-cover img { width: 100%; height: 100%; object-fit: cover; }
.adn-home .blog-cover:has(img)::after { display: none; }
.adn-home .blog-body h3 a { font: inherit; color: inherit; }
.adn-home .blog-body p { font-size: 16px; }
.adn-home .blog-more { margin-top: auto; }
.adn-home .home-all-news { display: inline-block; margin-top: 24px; font-weight: 600; color: var(--pink); }
.adn-home .adn-tag { opacity: 1; min-height: 62px; }
.adn-home .adn-info { background: rgba(18,19,22,.88); min-height: 166px; }
.adn-home .final h2 span { font: inherit; color: var(--pink); }
@media (max-width: 991px) {
  .adn-home .home-blog-track .blog-card { flex-basis: calc((100% - 24px) / 2); }
}
@media (max-width: 900px) {
  .adn-home .mountain-panel { height: auto; padding: 260px 20px 28px; }
  .adn-home .mountain-stage { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; }
  .adn-home .adn-tag { position: static; width: 100%; min-width: 0; transform: none; }
  .adn-home .adn-tag:hover, .adn-home .adn-tag.active { transform: none; }
  .adn-home .adn-info { position: static; width: 100%; grid-column: 1 / -1; min-height: 190px; }
  .adn-home .growth-chip { position: static; grid-column: 1 / -1; justify-self: end; }
  .adn-home .adn-tag span { display: block; }
}
@media (max-width: 700px) {
  .adn-home .hero-center { padding: 70px 22px 105px; }
  .adn-home .hero-line { font-size: clamp(38px,10vw,65px); line-height: 1.14; }
  .adn-home .hero-copy { font-size: 16px; }
  .adn-home .story-layout { display: block; }
  .adn-home .story-sticky { display: none; }
  .adn-home .step { min-height: 0; padding: 65px 26px; }
  .adn-home .step h2 { font-size: 40px; }
  .adn-home .step p { font-size: 17px; }
  .adn-home .clients, .adn-home .insights, .adn-home .adn-mountain { padding-block: 65px; }
  .adn-home .home-blog-track .blog-card, .adn-home .client-card { flex-basis: 88%; }
  .adn-home .final { min-height: 0; padding: 90px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .adn-home *, .adn-home *::before, .adn-home *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.adn-home .blog-card { border: 1px solid #e5dfda; border-radius: 20px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.adn-home .blog-body { padding: 26px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.adn-home .blog-body h3 { font-size: 23px; line-height: 1.18; letter-spacing: -.025em; font-weight: 600; margin: 0; }
.adn-home .blog-body p { font-size: 16px; line-height: 1.6; color: #666a70; margin: 0; }
.adn-home .blog-tag { align-self: flex-start; background: #fff0f4; color: #b91447; border: 1px solid #f5b7ca; padding: 6px 10px; border-radius: 5px; font-size: 10px; letter-spacing: .08em; font-weight: 700; text-transform: uppercase; }
.adn-home .blog-cover { height: 220px; background: linear-gradient(135deg,#ffd7e5,#d9154f); overflow: hidden; }
.adn-home .blog-more { color: #bd1246; font-weight: 600; font-size: 14px; }
.adn-home .blog-body h3 a { font-size: inherit; color: inherit; }
.adn-home .final h2 { color: #fff; }
@media (max-width: 900px) { .adn-home .growth-chip { justify-self: start; } }
