* Responsive and visual QA refinements. */ html { scroll-padding-top: 100px; } body { overflow-x: hidden; background: radial-gradient(circle at 10% 8%, rgba(21, 87, 233, .11), transparent 28rem), radial-gradient(circle at 92% 18%, rgba(255, 196, 37, .14), transparent 24rem), linear-gradient(180deg, #fffdfa 0%, #f7faff 42%, #fffdfa 100%); } body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(rgba(21, 87, 233, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(21, 87, 233, .035) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .7), transparent 70%); } .site-loader { position: fixed; inset: 0; z-index: 999; display: grid; place-items: center; background: radial-gradient(circle at 35% 30%, rgba(48, 107, 255, .28), transparent 26rem), radial-gradient(circle at 68% 72%, rgba(255, 193, 55, .22), transparent 22rem), #fffdfa; transition: opacity .55s ease, visibility .55s ease; } .site-loader.is-hidden { opacity: 0; visibility: hidden; } .loader-card { width: min(300px, calc(100vw - 46px)); padding: 30px 28px; display: grid; justify-items: center; gap: 18px; border: 1px solid rgba(21, 87, 233, .14); border-radius: 24px; background: rgba(255, 255, 255, .78); box-shadow: 0 28px 70px rgba(11, 24, 48, .14); backdrop-filter: blur(18px); animation: loaderPop .6s ease both; } .loader-card img { width: 154px; height: auto; } .loader-card span { width: 100%; height: 5px; overflow: hidden; border-radius: 99px; background: #e8eefc; position: relative; } .loader-card span::after { content: ""; position: absolute; inset: 0; width: 44%; border-radius: inherit; background: linear-gradient(90deg, #1557e9, #5d8cff, #ffc338); animation: loaderBar 1.05s ease-in-out infinite; } .loader-card p { margin: 0; color: var(--muted); font-size: 12px; font-weight: 700; } .site-header { background: rgba(255, 255, 255, .76); box-shadow: 0 16px 50px rgba(22, 44, 84, .04); } .hero { position: relative; background: radial-gradient(circle at 17% 22%, rgba(21, 87, 233, .12), transparent 25rem), radial-gradient(circle at 82% 24%, rgba(255, 199, 62, .18), transparent 22rem), linear-gradient(135deg, #fffdfa 0%, #f4f8ff 56%, #fff7e6 100%); } .hero::before, .hero::after { content: ""; position: absolute; border-radius: 999px; pointer-events: none; } .hero::before { width: 280px; height: 280px; right: -90px; top: 115px; background: rgba(21, 87, 233, .08); filter: blur(4px); animation: floatBlob 8s ease-in-out infinite; } .hero::after { width: 180px; height: 180px; left: -70px; bottom: 10px; background: rgba(255, 190, 35, .13); animation: floatBlob 9s ease-in-out infinite reverse; } .hero-grid, .compare-strip { position: relative; z-index: 1; } .primary-button, .dark-button, .light-button { box-shadow: 0 12px 28px rgba(21, 87, 233, .16); } .secondary-button, .results-copy a { box-shadow: 0 10px 24px rgba(21, 87, 233, .07); } .primary-button:hover, .secondary-button:hover, .dark-button:hover, .light-button:hover, .results-copy a:hover { transform: translateY(-3px); } .browser-mock, .phone-mock { animation: floatDevice 5.8s ease-in-out infinite; } .phone-mock { animation-delay: .35s; } .art-card, .phone-art, .mini-site i { background-size: 180% 180%; animation: softGradient 7s ease infinite; } .compare-strip { top: 0; margin-top: 30px; background: linear-gradient(100deg, rgba(255, 248, 229, .92), rgba(243, 251, 246, .92), rgba(240, 246, 255, .92)); box-shadow: 0 24px 70px rgba(22, 44, 84, .1); } .primary-button, .secondary-button, .dark-button, .light-button { min-height: 48px; } .primary-button:focus-visible, .secondary-button:focus-visible, .dark-button:focus-visible, .light-button:focus-visible, .main-menu a:focus-visible, .menu-button:focus-visible, .calculator-card input:focus-visible + span, .calculator-card select:focus-visible { outline: 3px solid rgba(21, 87, 233, .28); outline-offset: 3px; } .menu-button span { transition: transform .2s ease, opacity .2s ease; } .menu-button[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); } .menu-button[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); } .results-copy h2, .why-card h2, .calculator-intro h2, .center-heading h2, .testimonial-layout h2 { font-size: 30px; } .results-copy p, .testimonial-layout > div p, .contact-panel p { font-size: 14px; } .results-copy a { padding: 12px 15px; font-size: 12px; } .case-card { padding: 12px; border-radius: 12px; box-shadow: 0 8px 24px rgba(26, 45, 82, .05); } .case-card h3 { font-size: 14px; } .case-card-link { color: inherit; display: block; text-decoration: none; } .dynamic-case-card p { color: var(--muted); font-size: 10px; min-height: 46px; margin: 0 0 10px; } .dynamic-case-card em { color: var(--blue); display: inline-block; font-style: normal; font-size: 10px; font-weight: 800; } .case-image-visual { background: linear-gradient(135deg, #0b1830, #1557e9); } .case-image-visual.has-image { padding: 0; } .case-image-visual img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; } .dynamic-case-card:hover .case-image-visual img { transform: scale(1.04); } .case-image-visual > span { position: absolute; left: 10px; top: 10px; z-index: 2; } .case-stats span { font-size: 9px; } .case-stats b { font-size: 15px; } .why-card li { font-size: 13px; } .steps h3 { font-size: 13px; } .steps p { font-size: 11px; line-height: 1.45; } .service-row h3 { font-size: 14px; } .service-row p { font-size: 12px; line-height: 1.5; } .option-grid label span b { font-size: 13px; } .option-grid label span small, .field-help, .estimate-result span { font-size: 11px; } .calculator-card select { font-size: 13px; } .estimate-result small { font-size: 10px; } .pain { background: linear-gradient(180deg, rgba(255, 253, 250, .78), rgba(255, 255, 255, .96)); } .pain article, .case-card, .split-band, .service-row, blockquote { background-color: rgba(255, 255, 255, .86); backdrop-filter: blur(10px); } .pain article { border-radius: 12px; padding: 18px 18px 24px; position: relative; } .pain article, .case-card, .service-row article, blockquote, .calculator-card { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; } .pain article:hover, .case-card:hover, .service-row article:hover, blockquote:hover, .calculator-card:hover { transform: translateY(-5px); box-shadow: 0 24px 55px rgba(22, 44, 84, .1); } .pain article:hover { z-index: 2; } .results { background: radial-gradient(circle at 80% 10%, rgba(21, 87, 233, .09), transparent 24rem), linear-gradient(180deg, #f2f6fc 0%, #eef4fb 100%); } .process { background: radial-gradient(circle at 17% 35%, rgba(255, 196, 37, .16), transparent 18rem), linear-gradient(180deg, rgba(255, 253, 250, .96), rgba(255, 255, 255, .7)); } .split-band { box-shadow: 0 22px 70px rgba(23, 44, 82, .08); } .why-card { background: radial-gradient(circle at 86% 76%, rgba(248, 188, 24, .22), transparent 8rem), linear-gradient(135deg, #fff6d8, #fffdf4); } .services { background: radial-gradient(circle at 50% 75%, rgba(21, 87, 233, .08), transparent 26rem), linear-gradient(180deg, rgba(255, 255, 255, .85), rgba(247, 250, 255, .9)); } .service-row { overflow: hidden; box-shadow: 0 20px 58px rgba(22, 44, 84, .06); } .calculator { position: relative; overflow: hidden; background: radial-gradient(circle at 17% 24%, rgba(21, 87, 233, .38), transparent 24rem), radial-gradient(circle at 84% 72%, rgba(69, 130, 255, .22), transparent 22rem), linear-gradient(135deg, #07162c 0%, #0d2a5e 58%, #061225 100%); } .calculator::before { content: ""; position: absolute; inset: 24px; pointer-events: none; border: 1px solid rgba(255, 255, 255, .06); border-radius: 28px; } .calculator-card { position: relative; box-shadow: 0 30px 80px rgba(0, 0, 0, .2); } .calculator-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(135deg, rgba(21, 87, 233, .14), transparent 34%, rgba(255, 194, 48, .12)); opacity: .75; } .calculator-card > * { position: relative; } .testimonials { background: radial-gradient(circle at 12% 20%, rgba(21, 87, 233, .08), transparent 18rem), linear-gradient(180deg, #fffdfa, #ffffff); } .contact-panel { background: radial-gradient(circle at 82% 20%, rgba(69, 130, 255, .2), transparent 18rem), linear-gradient(135deg, #08172d, #102d62); box-shadow: 0 25px 80px rgba(8, 23, 45, .18); } .reveal-item { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; } .reveal-item.is-visible { opacity: 1; transform: translateY(0); } .case-card:nth-child(2), .pain article:nth-of-type(2), .service-row article:nth-child(2), blockquote:nth-of-type(2) { transition-delay: .08s; } .case-card:nth-child(3), .pain article:nth-of-type(3), .service-row article:nth-child(3) { transition-delay: .16s; } .pain article:nth-of-type(4), .service-row article:nth-child(4) { transition-delay: .24s; } .service-row article:nth-child(5) { transition-delay: .32s; } @keyframes loaderPop { from { opacity: 0; transform: translateY(14px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } } @keyframes loaderBar { 0% { transform: translateX(-110%); } 55%, 100% { transform: translateX(230%); } } @keyframes floatBlob { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(-18px, 16px, 0) scale(1.05); } } @keyframes floatDevice { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } @keyframes softGradient { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } @media (max-width: 1100px) { .hero { padding-top: 48px; } .hero-grid { grid-template-columns: 1fr; min-height: auto; } .hero-copy { max-width: 790px; margin-inline: auto; text-align: center; } .hero h1 { max-width: 760px; margin-inline: auto; } .hero-copy > p { margin-inline: auto; } .hero-actions, .trust-line { justify-content: center; } .hero-showcase { width: 620px; max-width: 100%; height: 430px; margin: 28px auto 0; } .browser-mock { left: 20px; } .note-one { right: 0; } .compare-strip { margin-top: 0; } .pain-grid { grid-template-columns: 1.2fr repeat(4, 1fr); } .hand-note { display: none; } .results-layout { grid-template-columns: 190px 1fr; } } @media (max-width: 900px) { .site-header { height: 76px; } .menu-button { display: block; } .nav-button { display: inline-flex; margin-left: auto; margin-right: 12px; } .main-menu { display: none; position: absolute; top: 75px; left: 20px; right: 20px; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 18px 40px rgba(11, 24, 48, .13); flex-direction: column; align-items: stretch; gap: 4px; } .main-menu.open { display: flex; } .main-menu a { padding: 11px 12px; border-radius: 7px; } .main-menu a:hover { background: #f2f6ff; } .main-menu a::after { display: none; } .hero { padding-top: 55px; } .hero h1 { font-size: clamp(47px, 7vw, 62px); } .hero-showcase { height: 410px; } .pain-grid { grid-template-columns: repeat(4, 1fr); } .pain-title { grid-column: 1 / -1; margin-bottom: 28px; padding: 0; text-align: center; } .pain-title span { margin: auto; } .results-layout { grid-template-columns: 1fr; } .results-copy { max-width: 520px; margin: auto; text-align: center; } .split-band { grid-template-columns: 1fr; } .calculator-shell { grid-template-columns: 1fr; } .calculator-intro { position: static; max-width: 650px; margin: auto; text-align: center; } .testimonial-layout { grid-template-columns: 1fr 1fr; } .testimonial-layout > div { grid-column: 1 / -1; text-align: center; } } @media (max-width: 720px) { .site-header { height: 70px; } .nav-button { display: none; } .main-menu { top: 69px; left: 13px; right: 13px; } .hero { padding-top: 38px; } .hero-grid { display: block; } .pill { font-size: 11px; } .hero h1 { margin-top: 20px; font-size: clamp(38px, 11.2vw, 48px); line-height: 1.08; letter-spacing: -.045em; } .hero h1 em { margin-top: 4px; } .hero-copy > p { font-size: 16px; line-height: 1.65; } .hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 25px 0; } .hero-actions a { padding: 13px 10px; font-size: 12px; } .trust-line { margin-top: 28px; } .hero-showcase { width: 100%; height: 310px; margin: 30px auto 0; transform: none; } .browser-mock { top: 8px; left: 0; width: 100%; height: 250px; border-width: 3px; border-radius: 10px; } .browser-bar { height: 25px; } .mock-nav { height: 38px; padding: 0 15px; } .mock-body { height: 150px; padding: 10px 15px; grid-template-columns: 1fr 1.15fr; } .mock-body h2 { margin: 6px 0 10px; font-size: 18px; } .art-card { height: 128px; } .art-card span:nth-child(1) { width: 110px; height: 110px; } .art-card span:nth-child(2) { top: 35px; width: 55px; height: 120px; } .art-card span:nth-child(3) { inset: 78px 10px 10px; } .art-card b { top: 15px; right: 12px; font-size: 42px; } .mock-footer { height: 34px; } .phone-mock { right: -2px; bottom: 4px; width: 110px; height: 220px; padding: 11px 7px; border-width: 4px; border-radius: 17px; } .phone-top { width: 36px; height: 6px; } .phone-copy { padding: 14px 4px 7px; } .phone-copy h3 { margin: 10px 0; font-size: 12px; } .phone-art { height: 92px; } .phone-art b { font-size: 35px; } .note-one, .note-two { display: none; } .compare-strip { top: 0; min-height: 150px; margin-top: 0; padding: 22px 12px; grid-template-columns: 1fr 1fr; gap: 22px; } .compare-strip strong { font-size: 15px; } .compare-strip span { font-size: 9px; } .versus { position: absolute; top: 50%; left: 50%; width: 42px; height: 42px; transform: translate(-50%, -50%); } .section-pad { padding: 72px 0; } .pain { padding-top: 72px; } .pain-grid { grid-template-columns: 1fr 1fr; gap: 30px 12px; } .pain-title { margin-bottom: 8px; } .pain article { padding: 0 8px; border: 0; } .pain article h3 { font-size: 14px; } .pain article p { font-size: 11px; } .signal { width: 48px; height: 48px; } .case-grid { grid-template-columns: 1fr; gap: 18px; } .case-card { padding: 12px; } .case-visual { height: 200px; } .why-card, .process-card { padding: 28px 22px; } .coin { right: 24px; bottom: 25px; } .steps { grid-template-columns: 1fr 1fr; gap: 28px 15px; } .steps article:nth-child(2)::after { display: none; } .service-row { grid-template-columns: 1fr; } .service-row article { min-height: 0; padding: 24px; display: grid; grid-template-columns: 48px 1fr; column-gap: 15px; align-items: center; text-align: left; border-right: 0; border-bottom: 1px solid var(--line); } .service-icon { grid-row: 1 / 3; margin: 0; } .service-row h3, .service-row p { margin: 0; } .calculator-shell { gap: 35px; } .calculator-intro h2 { font-size: 34px; } .calculator-card { padding: 24px 18px; } .calculator-card fieldset { margin-bottom: 26px; } .option-grid { grid-template-columns: 1fr; } .option-grid label span { padding: 15px; } .estimate-result { align-items: stretch; flex-direction: column; } .estimate-result .primary-button { width: 100%; } .testimonial-layout { grid-template-columns: 1fr; gap: 15px; } .testimonial-layout > div { padding: 0; } blockquote { padding: 24px; } blockquote > p { min-height: 0; font-size: 14px; } .contact-panel { padding: 38px 24px; } .contact-panel h2 { font-size: 29px; } .site-footer .shell { flex-direction: column; gap: 9px; text-align: center; } .site-footer p { margin: 0; } } @media (max-width: 420px) { .shell { width: min(100% - 26px, 1160px); } .logo img { width: 132px; } .hero-actions { grid-template-columns: 1fr; } .hero-actions a { font-size: 13px; } .hero h1 { font-size: 39px; } .trust-line { gap: 10px; } .avatar-stack span { width: 32px; height: 32px; } .trust-line b, .trust-line small { font-size: 10px; } .browser-mock { height: 235px; } .mock-body { height: 138px; } .art-card { height: 116px; } .mock-footer { height: 32px; } .phone-mock { bottom: 18px; height: 205px; } .phone-art { height: 80px; } .hero-showcase { height: 285px; } .compare-strip { min-height: 145px; } .compare-strip > div { padding: 0 4px; } .calculator-intro h2 { font-size: 30px; } .estimate-result strong { font-size: 23px; } .contact-panel h2 { font-size: 26px; } } .calculator { padding-block: 78px; } .calculator-shell { grid-template-columns: minmax(270px, .72fr) minmax(0, 1.65fr); gap: 52px; align-items: center; } .calculator-intro { position: static; top: auto; } .calculator-intro h2 { max-width: 390px; margin-bottom: 14px; font-size: 39px; } .calculator-intro > p { max-width: 390px; margin-bottom: 0; } .estimate-note { max-width: 390px; margin-top: 25px; padding: 17px 18px; } .calculator-card { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 18px; padding: 28px; } .calculator-card fieldset { min-width: 0; margin: 0; } .calculator-card fieldset:first-child, .calculator-card .estimate-result { grid-column: 1 / -1; } .calculator-card fieldset:nth-child(2) { grid-column: span 1; } .calculator-card fieldset:nth-child(3) { grid-column: span 2; } .calculator-card fieldset:nth-child(4) { grid-column: span 1; } .calculator-card legend { margin-bottom: 10px; font-size: 13px; } .project-options { grid-template-columns: repeat(4, minmax(0, 1fr)); } .project-options label span { min-height: 66px; padding: 11px 12px; } .add-ons { grid-template-columns: repeat(2, minmax(0, 1fr)); } .add-ons label span { min-height: 46px; padding: 10px 11px; gap: 7px; } .add-ons label span b { font-size: 11px; } .add-ons label span small { white-space: nowrap; } .range-row { min-height: 43px; gap: 12px; } .range-row output { min-width: 58px; font-size: 11px; } .calculator-card select { min-height: 43px; padding: 10px 12px; } .estimate-result { min-height: 88px; padding: 16px 18px; } .estimate-result strong { font-size: 23px; } @media (max-width: 980px) { .calculator { padding-block: 72px; } .calculator-shell { grid-template-columns: 1fr; gap: 34px; } .calculator-intro, .calculator-intro h2, .calculator-intro > p, .estimate-note { max-width: 680px; margin-inline: auto; } .calculator-intro { text-align: center; } .calculator-card { grid-template-columns: 1fr 1fr; } .calculator-card fieldset:first-child, .calculator-card fieldset:nth-child(3), .calculator-card .estimate-result { grid-column: 1 / -1; } .calculator-card fieldset:nth-child(2), .calculator-card fieldset:nth-child(4) { grid-column: span 1; } .project-options, .add-ons { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 620px) { .calculator-card { grid-template-columns: 1fr; padding: 22px 17px; gap: 22px; } .calculator-card fieldset, .calculator-card fieldset:first-child, .calculator-card fieldset:nth-child(3), .calculator-card .estimate-result { grid-column: 1; } .project-options, .add-ons { grid-template-columns: 1fr 1fr; } .project-options label span { min-height: 72px; } } @media (max-width: 420px) { .calculator { padding-block: 64px; } .project-options, .add-ons { grid-template-columns: 1fr 1fr; } .project-options label span { min-height: 0; } .estimate-result { min-height: 0; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } .reveal-item { opacity: 1; transform: none; } } body { background: radial-gradient(circle at 8% 4%, rgba(21, 87, 233, .24), transparent 26rem), radial-gradient(circle at 92% 12%, rgba(255, 190, 35, .25), transparent 24rem), linear-gradient(180deg, #eef4ff 0%, #fff7df 26%, #edf5ff 54%, #fffdfa 100%); } .site-header { background: rgba(246, 250, 255, .86); border-bottom-color: rgba(21, 87, 233, .08); } .hero { background: linear-gradient(115deg, rgba(238, 246, 255, .96) 0%, rgba(255, 248, 225, .86) 47%, rgba(231, 241, 255, .98) 100%), radial-gradient(circle at 18% 20%, rgba(21, 87, 233, .22), transparent 24rem), radial-gradient(circle at 86% 26%, rgba(255, 190, 35, .3), transparent 22rem); } .hero h1 { text-shadow: 0 10px 28px rgba(11, 24, 48, .08); } .pill, .trust-line { background: rgba(255, 255, 255, .68); border: 1px solid rgba(21, 87, 233, .1); box-shadow: 0 16px 38px rgba(22, 44, 84, .07); } .trust-line { width: max-content; max-width: 100%; padding: 10px 14px; border-radius: 999px; } .compare-strip { border-color: rgba(21, 87, 233, .16); background: linear-gradient(100deg, rgba(255, 243, 201, .98), rgba(230, 247, 238, .96) 50%, rgba(225, 237, 255, .98)); } .pain { background: radial-gradient(circle at 86% 18%, rgba(21, 87, 233, .12), transparent 20rem), linear-gradient(180deg, #fff8e8 0%, #f0f7ff 100%); } .pain-grid { padding: 30px; border: 1px solid rgba(21, 87, 233, .08); border-radius: 24px; background: rgba(255, 255, 255, .58); box-shadow: 0 26px 70px rgba(22, 44, 84, .08); } .results { background: radial-gradient(circle at 12% 20%, rgba(255, 190, 35, .16), transparent 22rem), radial-gradient(circle at 84% 14%, rgba(21, 87, 233, .16), transparent 26rem), linear-gradient(180deg, #e8f1ff 0%, #dfeaff 100%); } .process { background: linear-gradient(135deg, rgba(8, 23, 45, .98), rgba(13, 42, 94, .96)), radial-gradient(circle at 16% 28%, rgba(255, 196, 37, .22), transparent 20rem); color: #fff; } .process .kicker, .process .section-heading h2, .process .steps h3 { color: #fff; } .process .steps p, .process .why-card li { color: rgba(255, 255, 255, .76); } .process .process-card { background: rgba(255, 255, 255, .06); } .process .split-band { border-color: rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .06); } .process .why-card { color: var(--ink); } .services { background: radial-gradient(circle at 50% 16%, rgba(21, 87, 233, .18), transparent 24rem), linear-gradient(180deg, #f5eecf 0%, #edf5ff 100%); } .service-row { background: rgba(255, 255, 255, .66); } .testimonials { background: radial-gradient(circle at 15% 20%, rgba(21, 87, 233, .16), transparent 22rem), radial-gradient(circle at 92% 60%, rgba(255, 190, 35, .16), transparent 20rem), linear-gradient(180deg, #f1f6ff 0%, #fff6df 100%); } .site-footer { background: #f3f7ff; } @media (max-width: 720px) { .pain-grid { padding: 24px 14px; border-radius: 20px; } .trust-line { width: 100%; justify-content: center; border-radius: 18px; } } :root { --logo-navy: #07162f; --logo-blue: #1b5cff; --logo-indigo: #34328c; --logo-lavender: #eef0ff; --logo-mist: #f4f7ff; } body { background: radial-gradient(circle at 8% 6%, rgba(27, 92, 255, .2), transparent 28rem), radial-gradient(circle at 92% 14%, rgba(52, 50, 140, .16), transparent 25rem), linear-gradient(180deg, #edf4ff 0%, #f7f8ff 32%, #edf4ff 62%, #ffffff 100%); } .site-loader { background: radial-gradient(circle at 35% 30%, rgba(27, 92, 255, .3), transparent 26rem), radial-gradient(circle at 70% 72%, rgba(52, 50, 140, .2), transparent 22rem), linear-gradient(135deg, #f7faff, #eef1ff); } .loader-card span::after { background: linear-gradient(90deg, var(--logo-indigo), var(--logo-blue), #8aa7ff); } .site-header { background: rgba(245, 248, 255, .9); } .hero { background: radial-gradient(circle at 12% 18%, rgba(27, 92, 255, .18), transparent 24rem), radial-gradient(circle at 88% 28%, rgba(52, 50, 140, .16), transparent 23rem), linear-gradient(116deg, #f2f7ff 0%, #ffffff 44%, #edf2ff 100%); } .hero::before { background: rgba(52, 50, 140, .1); } .hero::after { background: rgba(27, 92, 255, .1); } .pill, .trust-line, .pain-grid, .service-row, blockquote { border-color: rgba(52, 50, 140, .12); } .compare-strip { border-color: rgba(27, 92, 255, .18); background: linear-gradient(100deg, rgba(239, 243, 255, .98), rgba(247, 249, 255, .98) 48%, rgba(232, 239, 255, .98)); } .versus, .service-row article > span, .steps span, blockquote footer > span { background: var(--logo-lavender); color: var(--logo-blue); } .pain { background: radial-gradient(circle at 88% 16%, rgba(52, 50, 140, .1), transparent 20rem), linear-gradient(180deg, #f4f7ff 0%, #edf4ff 100%); } .pain-grid { background: rgba(255, 255, 255, .72); } .results { background: radial-gradient(circle at 14% 22%, rgba(52, 50, 140, .12), transparent 22rem), radial-gradient(circle at 84% 12%, rgba(27, 92, 255, .14), transparent 26rem), linear-gradient(180deg, #eaf1ff 0%, #dfe9ff 100%); } .process { background: radial-gradient(circle at 18% 22%, rgba(27, 92, 255, .22), transparent 24rem), radial-gradient(circle at 86% 70%, rgba(52, 50, 140, .28), transparent 24rem), linear-gradient(135deg, #07162f 0%, #0b2454 58%, #17166a 100%); } .process .why-card { color: var(--logo-navy); background: radial-gradient(circle at 88% 78%, rgba(27, 92, 255, .1), transparent 9rem), linear-gradient(135deg, #ffffff, #eef3ff); } .process .why-card .kicker { color: var(--logo-blue); } .process .why-card h2, .process .why-card li { color: var(--logo-navy); } .process .why-card li::before { background: var(--logo-blue); color: #fff; } .process .coin { background: linear-gradient(135deg, var(--logo-blue), var(--logo-indigo)); box-shadow: 0 6px 0 #071f69; } .process .process-card { background: rgba(255, 255, 255, .08); } .services { background: radial-gradient(circle at 50% 12%, rgba(27, 92, 255, .16), transparent 24rem), linear-gradient(180deg, #f7f9ff 0%, #edf4ff 100%); } .calculator { background: radial-gradient(circle at 17% 24%, rgba(27, 92, 255, .38), transparent 24rem), radial-gradient(circle at 84% 72%, rgba(52, 50, 140, .3), transparent 22rem), linear-gradient(135deg, #07162f 0%, #0c2b62 58%, #15145f 100%); } .testimonials { background: radial-gradient(circle at 15% 20%, rgba(27, 92, 255, .14), transparent 22rem), radial-gradient(circle at 92% 60%, rgba(52, 50, 140, .11), transparent 20rem), linear-gradient(180deg, #f5f8ff 0%, #eef3ff 100%); } .contact-panel { background: radial-gradient(circle at 82% 20%, rgba(82, 111, 255, .24), transparent 18rem), linear-gradient(135deg, #07162f, #102c66 64%, #17166a); } .site-footer { background: linear-gradient(180deg, #f8faff, #edf3ff); } .service-row { align-items: stretch; } .service-row article { overflow: hidden; } .hero-image-showcase { height: 470px; display: grid; place-items: center; isolation: isolate; } .hero-image-showcase::before { content: ""; position: absolute; width: min(520px, 82%); height: 250px; border-radius: 999px; background: radial-gradient(circle, rgba(27, 92, 255, .22), rgba(52, 50, 140, .08) 48%, transparent 72%); filter: blur(20px); z-index: -1; } .hero-banner-image { width: min(620px, 100%); height: auto; display: block; filter: drop-shadow(0 34px 45px rgba(7, 22, 47, .24)); animation: floatDevice 5.8s ease-in-out infinite; } @media (max-width: 1100px) { .hero-image-showcase { width: min(700px, 100%); height: auto; min-height: 390px; } .hero-banner-image { width: min(650px, 100%); } } @media (max-width: 720px) { .hero-image-showcase { height: auto; min-height: 260px; margin-top: 28px; } .hero-image-showcase::before { width: 90%; height: 180px; } .hero-banner-image { width: min(100%, 520px); filter: drop-shadow(0 22px 30px rgba(7, 22, 47, .2)); } } @media (max-width: 420px) { .hero-image-showcase { min-height: 220px; } } .page-section-head { max-width: 720px; margin-bottom: 24px; } .page-section-head h2 { margin: 8px 0 0; font: 700 32px/1.22 var(--display); letter-spacing: -.012em; } .filter-tabs { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 34px; } .filter-tabs button { min-height: 42px; padding: 0 18px; border: 1px solid rgba(52, 50, 140, .13); border-radius: 999px; background: rgba(255, 255, 255, .72); color: var(--logo-navy); font: 700 12px var(--body); cursor: pointer; box-shadow: 0 10px 24px rgba(22, 44, 84, .05); transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease; } .filter-tabs button:hover, .filter-tabs button.active { transform: translateY(-2px); border-color: var(--logo-blue); background: var(--logo-blue); color: #fff; box-shadow: 0 14px 28px rgba(27, 92, 255, .16); } .portfolio-page { background: radial-gradient(circle at 84% 10%, rgba(27, 92, 255, .12), transparent 24rem), linear-gradient(180deg, #f8faff 0%, #edf4ff 100%); } .portfolio-index { padding: 82px 0 92px; } .portfolio-index-head { max-width: 760px; margin: 0 0 28px; } .portfolio-index-head h1 { margin: 10px 0 14px; color: var(--logo-navy); font: 800 clamp(42px, 5.6vw, 76px)/1.04 var(--display); letter-spacing: -.025em; } .portfolio-index-head p { max-width: 620px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; } .portfolio-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; gap: 22px; } .portfolio-card { grid-column: span 4; border-radius: 8px; padding: 10px; background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(246, 249, 255, .96)); border: 1px solid rgba(27, 92, 255, .1); box-shadow: 0 18px 45px rgba(22, 44, 84, .1), 0 1px 0 rgba(255, 255, 255, .9) inset; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; } .portfolio-card:nth-child(2), .portfolio-card:nth-child(6), .portfolio-card:nth-child(9) { transform: translateY(28px); } .portfolio-card.wide-card { grid-column: span 8; } .portfolio-card.tall-card { grid-row: span 2; } .portfolio-card:hover { transform: translateY(-6px); border-color: rgba(27, 92, 255, .22); box-shadow: 0 28px 70px rgba(22, 44, 84, .18), 0 0 0 5px rgba(27, 92, 255, .045), 0 1px 0 rgba(255, 255, 255, .95) inset; } .portfolio-card:nth-child(2):hover, .portfolio-card:nth-child(6):hover, .portfolio-card:nth-child(9):hover { transform: translateY(20px); } .portfolio-card[hidden] { display: none; } .project-thumb { position: relative; min-height: 292px; overflow: hidden; display: grid; align-items: end; padding: 24px; color: #fff; text-decoration: none; isolation: isolate; } .project-thumb::before { content: ""; position: absolute; inset: 28px 28px 0 88px; border-radius: 10px 10px 0 0; background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(241, 246, 255, .86)), repeating-linear-gradient(0deg, rgba(27, 92, 255, .08) 0 1px, transparent 1px 44px); box-shadow: 0 15px 32px rgba(0, 0, 0, .15); transition: transform .35s ease; } .project-thumb::after { content: ""; position: absolute; inset: auto 50px 34px 122px; height: 86px; border-radius: 8px 8px 0 0; background: linear-gradient(90deg, rgba(27, 92, 255, .18), rgba(52, 50, 140, .12)), repeating-linear-gradient(90deg, rgba(7, 22, 47, .12) 0 1px, transparent 1px 36px); z-index: 0; transition: transform .35s ease, opacity .35s ease; } .project-thumb span { position: absolute; right: 46px; top: 50px; width: 118px; height: 82px; border-radius: 10px; background: linear-gradient(135deg, rgba(255, 255, 255, .28), rgba(255, 255, 255, .08)), repeating-linear-gradient(135deg, rgba(255, 255, 255, .32) 0 2px, transparent 2px 14px); transition: transform .35s ease; } .project-thumb b { position: relative; z-index: 1; max-width: 170px; font: 700 20px var(--display); letter-spacing: .01em; } .project-thumb em { position: absolute; right: 22px; bottom: 22px; z-index: 2; display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 0 14px; border-radius: 7px; background: rgba(255, 255, 255, .94); color: var(--logo-blue); font-style: normal; font-size: 12px; font-weight: 700; opacity: 0; transform: translateY(12px); transition: opacity .25s ease, transform .25s ease; } .project-thumb:hover::before { transform: translateY(-10px) scale(1.02); } .project-thumb:hover::after { opacity: .82; transform: translateY(-12px); } .project-thumb:hover span { transform: translate(-10px, 8px); } .project-thumb:hover em { opacity: 1; transform: translateY(0); } .project-thumb.has-image { min-height: 310px; padding: 0; overflow: hidden; border-radius: 6px; background: linear-gradient(135deg, #eef4ff, #ffffff 52%, #e8efff); box-shadow: 0 0 0 1px rgba(11, 24, 48, .08) inset, 0 14px 28px rgba(22, 44, 84, .1) inset; } .project-thumb.has-image::before { display: none; } .project-thumb.has-image img { position: absolute; inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px); border-radius: 5px; object-fit: cover; object-position: top center; box-shadow: 0 0 0 1px rgba(11, 24, 48, .12), 0 16px 34px rgba(11, 24, 48, .18); transition: transform .7s ease, filter .35s ease, box-shadow .35s ease; } .project-thumb.has-image span { position: absolute; top: 18px; left: 18px; right: auto; z-index: 2; width: auto; height: auto; padding: 8px 11px; border: 1px solid rgba(255, 255, 255, .36); border-radius: 7px; background: rgba(7, 22, 47, .74); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(10px); } .project-thumb.has-image b { position: absolute; left: 18px; bottom: 20px; z-index: 2; max-width: calc(100% - 130px); color: #fff; text-shadow: 0 5px 18px rgba(0, 0, 0, .36); } .project-thumb.has-image::selection, .project-thumb.has-image b::selection, .project-thumb.has-image span::selection { background: rgba(27, 92, 255, .32); } .project-thumb.has-image:hover img { transform: scale(1.055) translateY(-1.8%); filter: saturate(1.06) contrast(1.02); box-shadow: 0 0 0 1px rgba(27, 92, 255, .18), 0 22px 42px rgba(11, 24, 48, .22); } .project-thumb.has-image::after { display: block; position: absolute; inset: 10px; border-radius: 5px; z-index: 1; background: linear-gradient(180deg, rgba(7, 22, 47, .02) 30%, rgba(7, 22, 47, .8) 100%), linear-gradient(90deg, rgba(255, 255, 255, .42), transparent 24%, transparent 76%, rgba(255, 255, 255, .28)); pointer-events: none; } .project-thumb.has-image:hover span { transform: translateY(-3px); } .project-thumb.has-image:hover em { opacity: 1; transform: translateY(0); } .portfolio-card[data-category="brand"] .project-thumb.has-image img { object-position: center; } .portfolio-card[data-category="brand"] .project-thumb.has-image { background: #fff; } body.lightbox-open { overflow: hidden; } .image-lightbox { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 38px; background: rgba(7, 22, 47, .86); opacity: 0; pointer-events: none; transition: opacity .22s ease; } .image-lightbox[aria-hidden="false"] { opacity: 1; pointer-events: auto; } .image-lightbox figure { position: relative; width: min(1120px, 100%); max-height: calc(100vh - 76px); margin: 0; overflow: auto; border-radius: 10px; background: #fff; box-shadow: 0 30px 90px rgba(0, 0, 0, .38); } .image-lightbox img { display: block; width: 100%; height: auto; } .image-lightbox figcaption { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 18px; background: rgba(255, 255, 255, .94); border-top: 1px solid rgba(52, 50, 140, .12); backdrop-filter: blur(12px); } .image-lightbox figcaption span { color: var(--logo-blue); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; } .image-lightbox figcaption b { color: var(--logo-navy); font: 700 14px var(--display); } .lightbox-close { position: fixed; top: 18px; right: 18px; z-index: 2; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; background: rgba(255, 255, 255, .95); color: var(--logo-navy); cursor: pointer; font-size: 25px; line-height: 1; box-shadow: 0 16px 36px rgba(0, 0, 0, .18); } .lightbox-close:focus-visible { outline: 3px solid rgba(255, 255, 255, .46); outline-offset: 3px; } .wide-card .project-thumb { min-height: 330px; } .wide-card .project-thumb::before { inset: 28px 28px 0 170px; } .tall-card .project-thumb { min-height: 606px; } .tall-card .project-thumb::before { inset: 62px 34px 34px 108px; border-radius: 26px; } .tall-card .project-thumb::after { inset: auto 70px 84px 132px; height: 190px; border-radius: 22px; } .thumb-navy { background: linear-gradient(135deg, #07162f, #1b5cff); } .thumb-blue { background: linear-gradient(135deg, #0b4dc4, #85a8ff); } .thumb-lime { background: linear-gradient(135deg, #124d4a, #9ed66f); } .thumb-indigo { background: linear-gradient(135deg, #34328c, #9a8cff); } .thumb-slate { background: linear-gradient(135deg, #203247, #8ea0b7); } .thumb-coral { background: linear-gradient(135deg, #8f3248, #ff8f6b); } .thumb-mint { background: linear-gradient(135deg, #0e646a, #7bd9c2); } .thumb-gold { background: linear-gradient(135deg, #7b4d00, #f4bd45); } .thumb-violet { background: linear-gradient(135deg, #431c78, #d596ff); } .price-card > span { display: block; margin: 18px 20px 6px; color: var(--logo-blue); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; } .pricing-page { background: radial-gradient(circle at 14% 16%, rgba(52, 50, 140, .1), transparent 22rem), linear-gradient(180deg, #f8faff 0%, #edf4ff 100%); } .pricing-index { padding: 82px 0 92px; } .pricing-index-head { max-width: 790px; margin: 0 0 28px; } .pricing-index-head h1 { margin: 10px 0 14px; color: var(--logo-navy); font: 800 clamp(40px, 5.2vw, 70px)/1.06 var(--display); letter-spacing: -.025em; } .pricing-index-head p { max-width: 660px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; } .package-panel { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } .package-panel.active { display: grid; } .price-card { position: relative; overflow: hidden; display: flex; min-height: 100%; flex-direction: column; border: 1px solid rgba(52, 50, 140, .13); border-radius: 8px; padding: 14px 24px 24px; background: rgba(255, 255, 255, .9); box-shadow: 0 16px 42px rgba(22, 44, 84, .06); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; } .price-card:hover { transform: translateY(-6px); border-color: rgba(27, 92, 255, .32); box-shadow: 0 26px 68px rgba(22, 44, 84, .12); } .price-card h3 { margin: 0 0 8px; font: 700 38px/1 var(--display); letter-spacing: -.012em; } .price-card p { min-height: 54px; margin: 0; color: var(--muted); font-size: 13px; } .price-card ul { display: grid; gap: 10px; margin: 22px 0 24px; padding: 20px 0 0; border-top: 1px solid var(--line); list-style: none; } .price-card li { color: #243655; font-size: 13px; } .price-card li::before { content: "\2713"; display: inline-grid; width: 18px; height: 18px; place-items: center; margin-right: 9px; border-radius: 50%; background: var(--logo-lavender); color: var(--logo-blue); font-size: 10px; font-weight: 800; } .price-card .primary-button { margin-top: auto; } .featured-price { border-color: var(--logo-blue); box-shadow: 0 24px 62px rgba(27, 92, 255, .13); } .featured-price small { position: absolute; top: 0; right: 0; padding: 8px 14px; border-radius: 0 0 0 10px; color: #fff; background: linear-gradient(135deg, var(--logo-blue), var(--logo-indigo)); font-size: 8px; font-weight: 800; letter-spacing: .1em; } .site-footer { padding: 0; border-top: 1px solid rgba(52, 50, 140, .12); background: radial-gradient(circle at 16% 20%, rgba(27, 92, 255, .12), transparent 20rem), linear-gradient(180deg, #f8faff, #eaf0ff); } .site-footer .footer-grid { display: grid; grid-template-columns: 1.35fr .75fr .85fr 1fr; gap: 34px; align-items: start; justify-content: stretch; padding: 50px 0 34px; color: var(--ink); font-size: 14px; } .footer-brand p { max-width: 310px; margin: 14px 0 18px; color: var(--muted); font-size: 14px; } .footer-cta { display: inline-flex; gap: 8px; color: var(--logo-blue); text-decoration: none; font-size: 13px; font-weight: 800; } .footer-col { display: grid; gap: 10px; } .footer-col h2 { margin: 5px 0 4px; color: var(--logo-navy); font: 800 13px var(--display); letter-spacing: .08em; text-transform: uppercase; } .footer-col a, .footer-col span { color: var(--muted); text-decoration: none; font-size: 13px; } .footer-col a:hover { color: var(--logo-blue); } .site-footer .footer-bottom { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; border-top: 1px solid rgba(52, 50, 140, .12); color: var(--muted); font-size: 12px; } @media (max-width: 980px) { .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .portfolio-card, .portfolio-card.wide-card, .portfolio-card.tall-card { grid-column: auto; grid-row: auto; } .portfolio-card.wide-card { grid-column: 1 / -1; } .tall-card .project-thumb { min-height: 330px; } .package-panel.active { grid-template-columns: repeat(2, minmax(0, 1fr)); } .site-footer .footer-grid { grid-template-columns: 1fr 1fr; } } @media (max-width: 680px) { .page-section-head h2 { font-size: 28px; } .filter-tabs { display: grid; grid-template-columns: 1fr 1fr; } .filter-tabs button { padding: 0 10px; } .portfolio-grid, .package-panel.active, .site-footer .footer-grid { grid-template-columns: 1fr; } .portfolio-card, .portfolio-card:nth-child(2), .portfolio-card:nth-child(6), .portfolio-card:nth-child(9), .portfolio-card.wide-card { grid-column: auto; transform: none; } .portfolio-card:nth-child(2):hover, .portfolio-card:nth-child(6):hover, .portfolio-card:nth-child(9):hover { transform: translateY(-6px); } .project-thumb { height: 205px; min-height: 230px; } .wide-card .project-thumb, .tall-card .project-thumb { min-height: 250px; } .wide-card .project-thumb::before, .tall-card .project-thumb::before { inset: 28px 28px 0 88px; border-radius: 10px 10px 0 0; } .tall-card .project-thumb::after { inset: auto 50px 34px 122px; height: 86px; border-radius: 8px 8px 0 0; } .price-card p { min-height: 0; } .image-lightbox { padding: 56px 13px 18px; } .image-lightbox figure { max-height: calc(100vh - 78px); border-radius: 8px; } .image-lightbox figcaption { align-items: flex-start; flex-direction: column; gap: 4px; } .site-footer .footer-grid { padding-top: 38px; gap: 24px; } .site-footer .footer-bottom { flex-direction: column; gap: 8px; text-align: center; } } .portfolio-page { position: relative; overflow: hidden; padding: 68px 0 88px; background: radial-gradient(circle at 78% 6%, rgba(27, 92, 255, .16), transparent 26rem), radial-gradient(circle at 14% 34%, rgba(110, 154, 255, .12), transparent 24rem), linear-gradient(180deg, #ffffff 0%, #f8fbff 52%, #ffffff 100%); } .portfolio-ambient { position: absolute; inset: 0; pointer-events: none; } .portfolio-ambient::before, .portfolio-ambient::after { content: ""; position: absolute; border-radius: 999px; background: rgba(27, 92, 255, .14); filter: blur(46px); } .portfolio-ambient::before { width: 280px; height: 280px; top: 74px; right: 9vw; } .portfolio-ambient::after { width: 190px; height: 190px; top: 430px; left: 5vw; background: rgba(105, 145, 255, .12); } .portfolio-hero-shell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .95fr) minmax(390px, .9fr); gap: clamp(34px, 5vw, 64px); align-items: center; min-height: 455px; } .portfolio-index { padding: 0; } .portfolio-index-head { max-width: 620px; margin: 0; } .portfolio-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--logo-blue); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; } .portfolio-eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; } .portfolio-index-head h1 { margin: 14px 0 16px; max-width: 590px; color: #07162f; font: 800 clamp(46px, 5.3vw, 76px)/.96 var(--display); letter-spacing: -.035em; } .portfolio-index-head p { max-width: 560px; margin: 0; color: #52627a; font-size: clamp(16px, 1.35vw, 18px); line-height: 1.62; } .filter-tabs { gap: 10px; } .hero-filter-tabs { margin: 24px 0 0; } .filter-tabs button { min-height: 42px; padding: 0 16px; border: 1px solid rgba(27, 92, 255, .14); border-radius: 999px; background: rgba(255, 255, 255, .78); color: #0b1830; box-shadow: 0 14px 34px rgba(22, 44, 84, .07); backdrop-filter: blur(16px); transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease; } .filter-tabs button:hover, .filter-tabs button.active { transform: translateY(-3px); border-color: rgba(27, 92, 255, .55); background: linear-gradient(135deg, #1b5cff, #0b46d8); color: #fff; box-shadow: 0 18px 38px rgba(27, 92, 255, .22); } .portfolio-showcase { position: relative; min-height: 420px; isolation: isolate; perspective: 1200px; transform-style: preserve-3d; } .portfolio-showcase::before { content: ""; position: absolute; inset: 72px 4% 28px 0; border-radius: 50%; background: radial-gradient(circle at 58% 56%, rgba(27, 92, 255, .28), rgba(27, 92, 255, .08) 46%, transparent 72%); filter: blur(12px); animation: portfolioGlow 6s ease-in-out infinite; } .showcase-card { position: absolute; display: block; overflow: hidden; border: 8px solid rgba(255, 255, 255, .72); border-radius: 24px; background: rgba(255, 255, 255, .74); box-shadow: 0 34px 82px rgba(27, 92, 255, .18), 0 18px 45px rgba(22, 44, 84, .16), 0 0 0 1px rgba(27, 92, 255, .08) inset; backdrop-filter: blur(16px); transform-style: preserve-3d; transition: transform .35s ease, box-shadow .35s ease; animation: portfolioFloat 7s ease-in-out infinite; } .showcase-card img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top center; padding: 0; border-radius: 15px; background: linear-gradient(135deg, #f3f7ff, #fff 48%, #e9f1ff); box-shadow: 0 0 0 1px rgba(11, 24, 48, .1), 0 14px 30px rgba(22, 44, 84, .12); } .showcase-card span { position: absolute; left: 20px; bottom: 20px; z-index: 2; padding: 9px 12px; border: 1px solid rgba(255, 255, 255, .42); border-radius: 999px; background: rgba(7, 22, 47, .62); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; backdrop-filter: blur(12px); } .showcase-card-1 { z-index: 3; width: min(66%, 390px); height: 250px; top: 54px; left: 12%; transform: rotateY(-13deg) rotateZ(-4deg) translateZ(48px); } .showcase-card-2 { z-index: 2; width: min(52%, 300px); height: 310px; top: 64px; right: 4%; transform: rotateY(-18deg) rotateZ(6deg) translateZ(10px); animation-delay: .5s; } .showcase-card-3 { z-index: 5; width: min(72%, 430px); height: 225px; left: 3%; bottom: 34px; transform: rotateY(-9deg) rotateZ(5deg) translateZ(96px); animation-delay: 1s; } .portfolio-showcase:hover .showcase-card { box-shadow: 0 42px 110px rgba(22, 44, 84, .24), 0 0 0 1px rgba(27, 92, 255, .14) inset; } .credibility-strip { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 14px; } .credibility-strip article { display: flex; align-items: center; gap: 14px; min-height: 78px; padding: 15px; border: 1px solid rgba(27, 92, 255, .1); border-radius: 20px; background: rgba(255, 255, 255, .76); box-shadow: 0 18px 44px rgba(22, 44, 84, .08); backdrop-filter: blur(16px); } .credibility-strip span { flex: 0 0 auto; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(135deg, #eef4ff, #fff); color: #1b5cff; font-size: 11px; font-weight: 800; box-shadow: inset 0 0 0 1px rgba(27, 92, 255, .1); } .credibility-strip b { color: #12213c; font: 800 15px/1.25 var(--display); } .portfolio-gallery-shell { position: relative; z-index: 2; margin-top: 62px; } .portfolio-gallery-head { position: sticky; top: 88px; z-index: 12; display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; padding: 14px; border: 1px solid rgba(27, 92, 255, .1); border-radius: 24px; background: rgba(255, 255, 255, .78); box-shadow: 0 18px 55px rgba(22, 44, 84, .08); backdrop-filter: blur(20px); } .portfolio-gallery-head h2 { max-width: 520px; margin: 8px 0 0; color: #07162f; font: 800 clamp(26px, 2.6vw, 38px)/1.08 var(--display); letter-spacing: -.035em; } .gallery-filter-tabs { flex: 0 0 auto; margin: 0; } .portfolio-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-flow: dense; grid-auto-rows: 150px; gap: 16px; } .portfolio-card, .portfolio-card:nth-child(2), .portfolio-card:nth-child(6), .portfolio-card:nth-child(9), .portfolio-card.wide-card, .portfolio-card.tall-card { grid-column: auto; grid-row: auto; transform: none; } .portfolio-card { position: relative; min-height: 0; grid-column: span 2; grid-row: span 2; padding: 0; overflow: visible; border: 0; border-radius: 20px; background: transparent; box-shadow: none; transition: opacity .32s ease, transform .32s ease, filter .32s ease; } .portfolio-card.bento-featured { grid-column: span 4; grid-row: span 2; } .portfolio-card.bento-medium { grid-column: span 2; grid-row: span 2; } .portfolio-card.bento-featured::before, .portfolio-card.bento-wide::before { content: ""; position: absolute; inset: 18px; z-index: -1; border-radius: 26px; background: radial-gradient(circle at 50% 36%, rgba(27, 92, 255, .22), transparent 68%); filter: blur(20px); opacity: .72; transition: opacity .32s ease, transform .32s ease; } .portfolio-card.bento-featured:hover::before, .portfolio-card.bento-wide:hover::before { opacity: 1; transform: translateY(8px) scale(1.03); } .portfolio-card.bento-wide { grid-column: span 3; grid-row: span 2; } .portfolio-card.bento-small { grid-column: span 2; grid-row: span 2; } .portfolio-card[hidden] { display: none; opacity: 0; pointer-events: none; transform: scale(.96) translateY(12px); filter: blur(4px); } .portfolio-card.is-filtered-out { opacity: 0; pointer-events: none; transform: scale(.96) translateY(12px); filter: blur(4px); } .project-thumb.has-image { height: 100%; min-height: inherit; padding: 0; overflow: hidden; border: 1px solid rgba(27, 92, 255, .16); border-radius: 20px; background: linear-gradient(135deg, #eef4ff, #fff 46%, #eaf1ff); box-shadow: 0 18px 46px rgba(22, 44, 84, .11), 0 0 0 1px rgba(27, 92, 255, .08) inset; transform-style: preserve-3d; transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease; } .project-thumb.has-image::before { display: block; inset: 0; z-index: 1; border-radius: inherit; background: linear-gradient(180deg, rgba(7, 22, 47, 0) 28%, rgba(7, 22, 47, .38) 58%, rgba(7, 22, 47, .86) 100%), linear-gradient(135deg, rgba(27, 92, 255, .14), transparent 40%); opacity: .9; pointer-events: none; transition: opacity .32s ease; } .project-thumb.has-image::after { display: block; inset: 10px; z-index: 1; border: 1px solid rgba(11, 24, 48, .1); border-radius: 16px; background: linear-gradient(135deg, rgba(255, 255, 255, .38), transparent 32%), linear-gradient(180deg, transparent 0%, rgba(7, 22, 47, .24) 100%); box-shadow: 0 0 0 1px rgba(255, 255, 255, .78) inset, 0 16px 34px rgba(22, 44, 84, .12) inset; opacity: 1; pointer-events: none; } .project-thumb.has-image img { inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px); padding: 10px; border-radius: 16px; object-fit: cover; object-position: top center; background: #fff; box-shadow: 0 0 0 1px rgba(11, 24, 48, .12), 0 18px 32px rgba(22, 44, 84, .12); transition: transform .65s ease, filter .32s ease; } .portfolio-card[data-category="brand"] .project-thumb.has-image img { object-fit: contain; object-position: center; background: linear-gradient(135deg, #f2f6ff, #fff 45%, #e8f0ff); } .portfolio-card[data-category="brand"] .project-thumb.has-image { background: linear-gradient(135deg, #eaf1ff, #fff 48%, #edf4ff); } .project-thumb.has-image .project-badge, .project-thumb.has-image span { position: absolute; top: 20px; left: 20px; right: auto; z-index: 3; width: auto; height: auto; padding: 9px 12px; border: 1px solid rgba(255, 255, 255, .42); border-radius: 999px; background: rgba(7, 22, 47, .72); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(12px); } .project-thumb.has-image strong, .project-thumb.has-image b { position: absolute; left: 20px; right: 20px; bottom: 54px; z-index: 3; max-width: 560px; color: #fff; font: 800 clamp(20px, 1.85vw, 30px)/1.08 var(--display); letter-spacing: -.025em; text-shadow: 0 8px 24px rgba(0, 0, 0, .72); } .project-thumb.has-image small { position: absolute; left: 20px; bottom: 28px; z-index: 3; color: rgba(255, 255, 255, .9); text-shadow: 0 5px 18px rgba(0, 0, 0, .62); font-size: 12px; font-weight: 700; } .project-thumb.has-image em { right: 20px; bottom: 20px; z-index: 4; min-height: 42px; padding: 0 16px; border: 1px solid rgba(255, 255, 255, .42); border-radius: 999px; background: rgba(255, 255, 255, .94); color: #0b46d8; font-size: 12px; box-shadow: 0 14px 34px rgba(7, 22, 47, .16); } .portfolio-card:hover, .portfolio-card:nth-child(2):hover, .portfolio-card:nth-child(6):hover, .portfolio-card:nth-child(9):hover { transform: translateY(-8px); } .portfolio-card:hover .project-thumb.has-image { border-color: rgba(27, 92, 255, .22); box-shadow: 0 26px 64px rgba(22, 44, 84, .16), 0 0 0 6px rgba(27, 92, 255, .045); } .project-thumb.has-image:hover::before { opacity: .98; } .project-thumb.has-image:hover img { transform: scale(1.045); filter: saturate(1.08) contrast(1.03); box-shadow: none; } .project-thumb.has-image:hover .project-badge, .project-thumb.has-image:hover span { transform: translateY(-3px); } .project-thumb.has-image:hover em { opacity: 1; transform: translateY(0); } .portfolio-card.reveal-item { transition-delay: calc(var(--reveal-order, 0) * 45ms); } @keyframes portfolioFloat { 0%, 100% { margin-top: 0; } 50% { margin-top: -12px; } } @keyframes portfolioGlow { 0%, 100% { transform: scale(1); opacity: .85; } 50% { transform: scale(1.08); opacity: 1; } } @media (max-width: 1100px) { .portfolio-hero-shell { grid-template-columns: 1fr; min-height: 0; } .portfolio-index-head { max-width: 760px; } .portfolio-showcase { min-height: 430px; } .credibility-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } .portfolio-gallery-head { align-items: flex-start; flex-direction: column; } } @media (max-width: 900px) { .portfolio-page { padding-top: 70px; } .portfolio-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 160px; } .portfolio-card.bento-featured, .portfolio-card.bento-wide { grid-column: span 4; } } @media (max-width: 680px) { .portfolio-page { padding: 52px 0 72px; } .portfolio-index-head h1 { font-size: 42px; max-width: 100%; } .hero-filter-tabs, .gallery-filter-tabs { display: flex; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; } .filter-tabs button { flex: 0 0 auto; padding: 0 15px; white-space: nowrap; } .portfolio-showcase { min-height: 390px; } .showcase-card-1 { width: 76%; height: 240px; top: 82px; left: 5%; } .showcase-card-2 { width: 54%; height: 180px; top: 26px; right: 3%; } .showcase-card-3 { width: 64%; height: 170px; left: 7%; right: auto; bottom: 36px; } .credibility-strip, .portfolio-grid { grid-template-columns: 1fr; grid-auto-rows: auto; } .portfolio-card, .portfolio-card.bento-featured, .portfolio-card.bento-medium, .portfolio-card.bento-wide, .portfolio-card.bento-small { grid-column: auto; grid-row: auto; min-height: 360px; } .portfolio-card.bento-small { min-height: 300px; } .portfolio-gallery-head { top: 78px; padding: 15px; } .project-thumb.has-image strong, .project-thumb.has-image b { bottom: 62px; font-size: 24px; } .project-thumb.has-image em { left: 24px; right: auto; bottom: 18px; } .project-thumb.has-image small { display: none; } } @media (prefers-reduced-motion: reduce) { .showcase-card, .portfolio-showcase::before { animation: none; } } @media (max-width: 680px) { .portfolio-page { padding-top: 0; overflow: hidden; } .portfolio-hero-shell { width: 100%; padding: 56px 20px 0; gap: 28px; } .portfolio-index-head { max-width: none; min-width: 0; overflow: hidden; } .portfolio-eyebrow { font-size: 10px; letter-spacing: .14em; } .portfolio-eyebrow::before { width: 30px; } .portfolio-index-head h1 { max-width: 340px; margin: 14px 0 16px; font-size: clamp(34px, 10.4vw, 42px); line-height: .98; letter-spacing: -.055em; } .portfolio-index-head p { max-width: 100%; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; } .hero-filter-tabs { width: calc(100vw - 40px); margin-top: 22px; padding: 0 0 8px; overflow-x: auto; overflow-y: hidden; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; } .hero-filter-tabs::-webkit-scrollbar, .gallery-filter-tabs::-webkit-scrollbar { display: none; } .filter-tabs button { min-width: max-content; min-height: 38px; padding: 0 15px; font-size: 11px; white-space: nowrap; } .portfolio-showcase { width: 100%; min-height: 360px; margin-top: 0; overflow: visible; transform: none; } .portfolio-showcase::before { inset: 76px -18px 18px -18px; filter: blur(10px); } .showcase-card { border-width: 6px; border-radius: 19px; animation: none; } .showcase-card img { border-radius: 12px; } .showcase-card span { left: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 7px 9px; font-size: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .showcase-card-1 { width: 84%; height: 205px; top: 76px; left: 4%; transform: rotateZ(-3deg); } .showcase-card-2 { width: 64%; height: 165px; top: 24px; right: 0; transform: rotateZ(4deg); } .showcase-card-3 { width: 88%; height: 162px; left: 0; bottom: 18px; transform: rotateZ(5deg); } .credibility-strip { margin-top: 18px; padding-inline: 20px; } } @media (max-width: 420px) { .portfolio-hero-shell { padding-inline: 14px; } .portfolio-index-head h1 { max-width: 315px; font-size: 39px; } .hero-filter-tabs { width: calc(100vw - 28px); } .portfolio-showcase { min-height: 340px; } .showcase-card-1 { width: 86%; height: 192px; top: 74px; } .showcase-card-2 { width: 62%; height: 150px; } .showcase-card-3 { width: 88%; height: 150px; bottom: 14px; } } @media (max-width: 680px) { body { overflow-x: hidden; } .portfolio-gallery-shell { width: 100%; margin-top: 34px; padding: 0 14px; } .portfolio-gallery-head { position: static; z-index: auto; display: block; margin-bottom: 18px; padding: 16px; border-radius: 18px; } .portfolio-gallery-head h2 { max-width: 100%; font-size: 26px; line-height: 1.12; } .gallery-filter-tabs { width: 100%; margin-top: 16px; padding-bottom: 8px; overflow-x: auto; overflow-y: hidden; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; } .portfolio-grid { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; gap: 18px; width: 100%; } .portfolio-card, .portfolio-card:nth-child(2), .portfolio-card:nth-child(6), .portfolio-card:nth-child(9), .portfolio-card.bento-featured, .portfolio-card.bento-medium, .portfolio-card.bento-wide, .portfolio-card.bento-small, .portfolio-card.wide-card, .portfolio-card.tall-card { width: 100%; min-height: 0; grid-column: auto; grid-row: auto; transform: none; } .portfolio-card::before, .portfolio-card.bento-featured::before, .portfolio-card.bento-wide::before { display: none; } .portfolio-card:hover, .portfolio-card:nth-child(2):hover, .portfolio-card:nth-child(6):hover, .portfolio-card:nth-child(9):hover { transform: none; } .project-thumb.has-image { height: auto; min-height: 0; aspect-ratio: 4 / 3; border-radius: 18px; box-shadow: 0 16px 34px rgba(22, 44, 84, .12), 0 0 0 1px rgba(27, 92, 255, .08) inset; } .project-thumb.has-image::before { background: linear-gradient(180deg, rgba(7, 22, 47, 0) 34%, rgba(7, 22, 47, .48) 64%, rgba(7, 22, 47, .9) 100%), linear-gradient(135deg, rgba(27, 92, 255, .12), transparent 42%); } .project-thumb.has-image::after { inset: 8px; border-radius: 14px; } .project-thumb.has-image img { inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); padding: 0; border-radius: 14px; object-fit: cover; object-position: top center; } .portfolio-card[data-category="logo"] .project-thumb.has-image img, .portfolio-card[data-category="brand"] .project-thumb.has-image img { padding: 14px; object-fit: contain; object-position: center; background: linear-gradient(135deg, #f2f6ff, #fff 45%, #e8f0ff); } .portfolio-card[data-category="logo"] .project-thumb.has-image, .portfolio-card[data-category="brand"] .project-thumb.has-image { background: linear-gradient(135deg, #eaf1ff, #fff 48%, #edf4ff); } .project-thumb.has-image .project-badge, .project-thumb.has-image span { top: 15px; left: 15px; max-width: calc(100% - 30px); padding: 7px 10px; font-size: 8px; letter-spacing: .08em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .project-thumb.has-image strong, .project-thumb.has-image b { left: 15px; right: 15px; bottom: 50px; max-width: calc(100% - 30px); font-size: clamp(19px, 6vw, 24px); line-height: 1.08; text-wrap: balance; } .project-thumb.has-image small { display: block; left: 15px; right: 128px; bottom: 25px; max-width: none; overflow: hidden; color: rgba(255, 255, 255, .88); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; } .project-thumb.has-image em { right: 15px; bottom: 14px; left: auto; min-height: 34px; padding: 0 12px; font-size: 10px; } .project-thumb.has-image:hover img { transform: none; filter: none; } .credibility-strip { width: 100%; grid-template-columns: 1fr; gap: 10px; padding-inline: 14px; } .credibility-strip article { min-height: 58px; padding: 12px; border-radius: 14px; } .credibility-strip span { width: 32px; height: 32px; border-radius: 10px; } .credibility-strip b { font-size: 13px; } .footer-cta-band { padding: 36px 14px 44px; } } @media (max-width: 420px) { .portfolio-gallery-shell { padding-inline: 12px; } .project-thumb.has-image { aspect-ratio: 1 / 1.04; } .project-thumb.has-image strong, .project-thumb.has-image b { bottom: 52px; font-size: 20px; } .project-thumb.has-image small { right: 118px; } .project-thumb.has-image em { min-height: 32px; padding: 0 10px; font-size: 9px; } } .case-study-hero { padding: 86px 0 70px; background: radial-gradient(circle at 72% 22%, #e8edff 0, transparent 30%), linear-gradient(145deg, #fffdfa, #f4f7ff); overflow: hidden; } .case-study-hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 62px; min-height: 520px; } .case-study-copy h1 { font: 800 clamp(44px, 5vw, 70px)/1.04 var(--display); letter-spacing: -.055em; margin: 14px 0 18px; } .case-study-copy p, .case-study-overview p, .case-study-results p { color: var(--muted); font-size: 17px; max-width: 610px; } .case-index-hero { padding-bottom: 76px; } .case-index-head { max-width: 760px; text-align: center; padding-top: 68px; } .case-index-head h1 { font: 800 clamp(44px, 5vw, 70px)/1.04 var(--display); letter-spacing: -.055em; margin: 14px 0 18px; } .case-index-head p { color: var(--muted); font-size: 17px; margin: 0 auto; max-width: 640px; } .case-index-list { background: #f5f7fb; } .case-index-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; } .case-index-card, .case-empty-state { padding: 32px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 16px 36px rgba(11, 24, 48, .06); } .case-index-card { min-height: 320px; display: flex; flex-direction: column; align-items: flex-start; } .case-index-card h2, .case-empty-state h2 { font: 800 26px/1.15 var(--display); letter-spacing: -.03em; margin: 14px 0 10px; } .case-index-card p, .case-empty-state p { color: var(--muted); font-size: 13px; } .case-index-card .primary-button { margin-top: auto; } .case-empty-state { max-width: 680px; margin: auto; text-align: center; } .case-study-visual { min-height: 470px; position: relative; } .case-study-hero-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; } .case-window { width: min(620px, 100%); min-height: 390px; margin: 96px 0 0 auto; border: 4px solid var(--ink); border-radius: 17px; overflow: hidden; background: #fff; box-shadow: 0 24px 55px rgba(11, 24, 48, .18); transform: rotate(-1.5deg); position: relative; z-index: 2; } .case-window-bar { height: 42px; background: #f4f7ff; display: flex; justify-content: space-between; align-items: center; padding: 0 15px; font-size: 9px; color: var(--muted); } .case-window-bar i { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #f07b67; margin-right: 4px; } .case-window-bar i:nth-child(2) { background: #e5c553; } .case-window-bar i:nth-child(3) { background: #63ba70; } .case-window-body { min-height: 345px; background: #fff; display: flex; align-items: stretch; } .case-floating-stat { position: absolute; z-index: 2; padding: 17px 20px; border-radius: 12px; background: #fff; border: 1px solid var(--line); box-shadow: 0 18px 35px rgba(11, 24, 48, .16); } .case-floating-stat b, .case-floating-stat span { display: block; } .case-floating-stat b { font: 800 30px var(--display); color: var(--blue); } .case-floating-stat span { color: var(--muted); font-size: 10px; } .stat-one { left: 0; bottom: 60px; } .stat-two { right: 18px; top: 34px; } .case-study-split { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; align-items: start; } .case-study-split h2 { font: 800 clamp(32px, 4vw, 54px)/1.08 var(--display); letter-spacing: -.04em; margin: 10px 0 16px; } .case-fact-grid, .case-result-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; } .case-fact-grid article, .case-result-grid article { min-height: 150px; padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 16px 36px rgba(11, 24, 48, .06); } .case-fact-grid span, .case-fact-grid b, .case-result-grid span, .case-result-grid b { display: block; } .case-fact-grid span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; } .case-fact-grid b { margin-top: 18px; font: 800 22px/1.15 var(--display); } .case-study-solution { background: linear-gradient(135deg, #09172d, #0e2b5f); color: #fff; } .case-study-solution .center-heading p { color: #b8c7de; } .case-study-solution .kicker { color: #8fb4ff; } .case-solution-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; } .case-solution-grid article { min-height: 300px; padding: 26px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px; background: rgba(255, 255, 255, .06); } .case-solution-grid span { color: #8fb4ff; font-size: 11px; font-weight: 800; } .case-solution-grid h3 { font: 800 20px var(--display); margin: 58px 0 10px; } .case-solution-grid p { color: #c9d6ea; font-size: 12px; } .case-study-results { background: #f5f7fb; } .case-result-grid article { min-height: 175px; } .case-result-grid b { font: 800 clamp(38px, 5vw, 62px) var(--display); letter-spacing: -.055em; color: var(--blue); } .case-result-grid span { color: var(--muted); max-width: 220px; } @media(max-width:980px) { .case-study-hero-grid, .case-study-split { grid-template-columns: 1fr; gap: 45px; } .case-study-copy { text-align: center; } .case-study-copy p { margin-inline: auto; } .case-study-copy .hero-actions { justify-content: center; } .case-index-grid { grid-template-columns: repeat(2, 1fr); } .case-solution-grid { grid-template-columns: repeat(2, 1fr); } } @media(max-width:720px) { .case-study-hero { padding: 48px 0 60px; } .case-study-copy h1 { font-size: 40px; } .case-study-copy .hero-actions { flex-direction: column; } .case-index-head { padding-top: 28px; } .case-index-grid { grid-template-columns: 1fr; } .case-study-visual { min-height: 390px; } .case-window { margin-top: 78px; min-height: 330px; } .case-window-body { min-height: 285px; } .case-floating-stat { position: static; display: inline-block; margin: 12px 6px 0; } .case-fact-grid, .case-result-grid, .case-solution-grid { grid-template-columns: 1fr; } .case-solution-grid article { min-height: 0; } .case-solution-grid h3 { margin-top: 32px; } } .service-row.expanded-services { overflow: visible; } .service-row.expanded-services article { overflow: visible; }
