:root {
    --ink: #171d12;
    --ink-soft: #48503f;
    --night: #101828;
    --night-2: #1a2312;
    --paper: #f7f8f1;
    --white: #ffffff;
    --line: #dde2d4;
    --lime: #cadb22;
    --lime-bright: #e3ed62;
    --red: #f20d0d;
    --aqua: #a8c51d;
    --blue: #e51a1a;
    --orange: #f06424;
    --font-display: "Manrope", sans-serif;
    --font-body: "DM Sans", sans-serif;
    --container: min(1180px, calc(100vw - 48px));
    --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.65 var(--font-body); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }
.container { width: var(--container); margin-inline: auto; }
.site-noise { position: fixed; inset: 0; opacity: .025; pointer-events: none; z-index: 100; background-image: radial-gradient(circle at 20% 30%, currentColor .5px, transparent .7px), radial-gradient(circle at 70% 65%, currentColor .5px, transparent .7px); background-size: 7px 7px, 11px 11px; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); line-height: 1.1; letter-spacing: -.045em; }
h1 { font-size: clamp(3.25rem, 6.2vw, 6.75rem); }
h2 { font-size: clamp(2.35rem, 4.5vw, 4.65rem); }
h3 { font-size: 1.35rem; }
em { font-family: Georgia, serif; font-weight: 400; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 22px; color: #5b6776; font: 700 .73rem/1 var(--font-display); letter-spacing: .16em; text-transform: uppercase; }
.eyebrow.light { color: #b5c2d0; }
.eyebrow i { width: 7px; height: 7px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 5px rgba(202,219,34,.14); }
.section { padding: 120px 0; }
.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 54px; }
.section-head h2 { margin-bottom: 0; }
.split-heading { display: grid; grid-template-columns: 1.4fr .75fr; gap: 100px; align-items: end; }
.split-heading h2 { margin: 0; }
.split-heading > div:last-child > p { color: #607080; font-size: 1.08rem; margin-bottom: 28px; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 25px; min-height: 56px; padding: 0 25px; border: 1px solid transparent; border-radius: 99px; font: 700 .9rem var(--font-display); transition: transform .25s, background .25s, color .25s, border-color .25s; }
.button:hover { transform: translateY(-3px); }
.button span { font-size: 1.15rem; }
.button-small { min-height: 44px; padding: 0 20px; gap: 14px; font-size: .8rem; }
.button-light { background: var(--lime); color: var(--night); }
.button-light:hover { background: var(--lime-bright); }
.button-dark { background: var(--night); color: white; }
.button-dark:hover { background: #1d2c40; }
.button-outline { border-color: #a8b0b9; }
.button-outline:hover { border-color: var(--ink); background: white; }
.text-link { display: inline-flex; gap: 9px; align-items: center; color: #8b9aab; font-weight: 700; font-size: .9rem; }
.text-link.dark { color: var(--ink); }

.site-header { position: absolute; z-index: 50; top: 0; left: 0; right: 0; border-bottom: 1px solid rgba(255,255,255,.1); color: white; transition: background .3s, transform .3s; }
.site-header.scrolled { position: fixed; background: var(--night); backdrop-filter: blur(18px); box-shadow: 0 10px 35px rgba(0,0,0,.13); }
.header-inner { height: 82px; display: flex; align-items: center; }
.brand { display: inline-flex; align-items: center; white-space: nowrap; }
.brand img { display: block; width: 137px; height: auto; }
.main-nav { display: flex; gap: 34px; margin-left: auto; margin-right: 40px; }
.main-nav a { color: #c7d0db; font-weight: 600; font-size: .88rem; transition: color .2s; }
.main-nav a:hover { color: var(--lime); }
.menu-toggle { display: none; }

.home-hero { position: relative; min-height: 850px; overflow: hidden; color: white; background: var(--night); padding-top: 82px; }
.hero-grid { position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(10px); }
.glow-a { width: 720px; height: 720px; right: -300px; top: 30px; background: radial-gradient(circle, rgba(202,219,34,.2), transparent 67%); }
.glow-b { width: 600px; height: 600px; left: -270px; bottom: -240px; background: radial-gradient(circle, rgba(242,13,13,.16), transparent 67%); }
.hero-layout { min-height: 690px; display: grid; grid-template-columns: 1.12fr .88fr; gap: 70px; align-items: center; position: relative; }
.hero-copy { padding: 70px 0 35px; position: relative; z-index: 2; }
.hero-copy h1 { max-width: 820px; margin-bottom: 28px; font-size: clamp(3.6rem, 6.4vw, 6.7rem); }
.hero-copy h1 em { color: var(--lime); }
.hero-copy > p { max-width: 690px; color: #aebac8; font-size: 1.15rem; line-height: 1.8; }
.hero-actions { display: flex; gap: 28px; align-items: center; margin-top: 38px; }
.play-link { display: inline-flex; align-items: center; gap: 13px; color: #d7dee7; font-weight: 600; font-size: .9rem; }
.play-link b { width: 45px; height: 45px; display: grid; place-items: center; border: 1px solid #647287; border-radius: 50%; color: var(--lime); font-size: .72rem; }
.hero-proof { display: flex; gap: 17px; align-items: center; margin-top: 58px; }
.avatar-stack { display: flex; }
.avatar-stack i { width: 36px; height: 36px; display: grid; place-items: center; margin-left: -8px; border: 3px solid var(--night); border-radius: 50%; background: linear-gradient(140deg, #52677d, #213247); font-style: normal; font-size: .7rem; }
.avatar-stack i:first-child { margin-left: 0; background: #7a5cfa; }
.avatar-stack i:nth-child(2) { background: #e07154; }
.avatar-stack i:nth-child(3) { background: #168f87; }
.hero-proof p { display: flex; flex-direction: column; margin: 0; line-height: 1.35; }
.hero-proof strong { font-size: .84rem; }
.hero-proof span { color: #7f8da0; font-size: .76rem; }
.hero-art { min-height: 560px; position: relative; }
.orbit { position: absolute; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.orbit-one { width: 530px; height: 530px; top: 40px; left: 0; }
.orbit-two { width: 390px; height: 390px; top: 110px; left: 70px; border-color: rgba(199,243,107,.17); }
.code-card { position: absolute; z-index: 2; width: 410px; min-height: 335px; left: 45px; top: 112px; padding: 22px 25px; border: 1px solid rgba(255,255,255,.17); border-radius: 22px; background: linear-gradient(145deg, rgba(24,43,65,.95), rgba(11,24,42,.82)); box-shadow: 0 40px 90px rgba(0,0,0,.35); transform: rotate(-3deg); backdrop-filter: blur(12px); }
.card-top { display: flex; align-items: center; gap: 7px; padding-bottom: 36px; }
.card-top i { width: 8px; height: 8px; border-radius: 50%; background: #ff826d; }
.card-top i:nth-child(2) { background: #ffd166; }
.card-top i:nth-child(3) { background: var(--lime); }
.card-top span { margin-left: auto; color: #78889a; font: .7rem var(--font-display); }
.code-line { height: 10px; margin-bottom: 17px; border-radius: 99px; background: linear-gradient(90deg, var(--aqua) 0 18%, #43556a 18%); opacity: .7; }
.code-line.w85 { width: 85%; }.code-line.w60 { width: 60%; }.code-line.w72 { width: 72%; }.code-line.w45 { width: 45%; }
.code-result { display: flex; justify-content: space-between; align-items: end; margin-top: 48px; padding-top: 20px; border-top: 1px solid #2d4157; }
.code-result span { color: #90a0b0; font-size: .78rem; }
.code-result b { color: var(--lime); font: 700 2.7rem/1 var(--font-display); }
.float-chip { position: absolute; z-index: 3; display: grid; grid-template-columns: 35px 1fr; gap: 0 12px; align-items: center; min-width: 170px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(18,36,57,.9); box-shadow: 0 25px 50px rgba(0,0,0,.3); }
.float-chip i { grid-row: span 2; width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; color: var(--night); background: var(--lime); font-style: normal; }
.float-chip span { color: #8797aa; font-size: .68rem; }
.float-chip b { font-size: .82rem; }
.chip-one { top: 75px; right: -40px; }.chip-two { bottom: 80px; left: -10px; }
.hero-strip { position: relative; z-index: 2; height: 78px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.1); color: #a0adbb; font-size: .82rem; }
.hero-strip b { color: #d7dfe8; font: 600 .83rem var(--font-display); }

.intro-section { background: white; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 90px; border-top: 1px solid var(--line); }
.metrics div { padding: 32px 25px 0 0; border-right: 1px solid var(--line); }
.metrics div:not(:first-child) { padding-left: 30px; }
.metrics div:last-child { border: 0; }
.metrics strong { display: block; font: 700 3rem/1 var(--font-display); letter-spacing: -.06em; }
.metrics span { color: #718090; font-size: .82rem; }

.services-section { background: #edf0ed; }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #cbd2d2; border-left: 1px solid #cbd2d2; }
.service-card { min-height: 360px; display: flex; flex-direction: column; padding: 38px; border-right: 1px solid #cbd2d2; border-bottom: 1px solid #cbd2d2; background: rgba(255,255,255,.18); transition: background .3s, transform .3s, box-shadow .3s; }
.service-card:hover { z-index: 2; background: white; box-shadow: 0 25px 60px rgba(23,38,49,.1); transform: translateY(-5px); }
.service-icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 52px; border-radius: 15px; background: var(--night); color: var(--lime); font: 800 .75rem var(--font-display); }
.service-card:nth-child(3n+2) .service-icon { background: var(--red); color: white; }
.service-card:nth-child(3n+3) .service-icon { background: var(--lime); color: var(--night); }
.service-card h3 { font-size: 1.55rem; margin-bottom: 16px; }
.service-card p { color: #697786; font-size: .93rem; }
.service-card .text-link { margin-top: auto; color: var(--ink); }

.promise-section { background: white; }
.promise-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 110px; align-items: start; }
.promise-copy { position: sticky; top: 125px; }
.promise-copy h2 { margin-bottom: 24px; }
.promise-copy h2 em { color: var(--red); }
.promise-copy p { max-width: 500px; margin-bottom: 28px; color: #65705e; font-size: 1.03rem; }
.promise-list { border-top: 1px solid var(--line); }
.promise-list article { display: grid; grid-template-columns: 58px 1fr; gap: 26px; padding: 32px 0; border-bottom: 1px solid var(--line); }
.promise-list article > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--night); background: var(--lime); font: 800 .7rem var(--font-display); }
.promise-list article:nth-child(2) > span { color: white; background: var(--red); }
.promise-list h3 { margin: 2px 0 9px; font-size: 1.45rem; }
.promise-list p { max-width: 600px; margin: 0; color: #697363; font-size: .93rem; }

.process-section { color: white; background: var(--night); position: relative; overflow: hidden; }
.process-section::after { content: ""; position: absolute; width: 750px; height: 750px; left: -350px; bottom: -500px; border-radius: 50%; background: radial-gradient(circle, rgba(202,219,34,.2), transparent 70%); }
.process-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 110px; position: relative; z-index: 1; }
.process-copy h2 em { color: var(--lime); }
.process-copy p { max-width: 420px; color: #9cabbc; margin-bottom: 35px; }
.process-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #2d3b4d; }
.process-list li { display: grid; grid-template-columns: 60px 1fr; gap: 25px; padding: 30px 0; border-bottom: 1px solid #2d3b4d; }
.process-list li > b { color: var(--lime); font: 600 .75rem var(--font-display); }
.process-list h3 { margin-bottom: 8px; font-size: 1.35rem; }
.process-list p { margin: 0; color: #8998aa; font-size: .9rem; }

.work-section { background: white; }
.projects-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.project-card { display: flex; flex-direction: column; min-height: 570px; padding: 28px; border-radius: var(--radius); background: #f0f2ef; overflow: hidden; transition: transform .3s, box-shadow .3s; }
.project-card:hover { transform: translateY(-7px); box-shadow: 0 30px 70px rgba(21,34,42,.13); }
.project-card:nth-child(4n+2) { background: var(--night); color: white; }
.project-card:nth-child(4n+3) { background: #e8e7ff; }
.project-card:nth-child(4n+4) { background: #eef7e0; }
.project-type { align-self: flex-start; padding: 7px 12px; border: 1px solid currentColor; border-radius: 99px; opacity: .7; font-size: .7rem; font-weight: 700; }
.project-window { width: 85%; height: 250px; margin: 42px auto 35px; position: relative; padding: 22px; border-radius: 14px 14px 6px 6px; background: white; box-shadow: 0 35px 55px rgba(19,35,46,.17); transform: perspective(800px) rotateX(2deg) rotateZ(-2deg); }
.project-window > i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #d2d8df; }
.mock-nav { width: 55%; height: 7px; margin: 20px 0 42px; border-radius: 10px; background: #e2e7eb; }
.mock-copy { width: 72%; height: 55px; background: repeating-linear-gradient(to bottom, var(--project-accent) 0 6px, transparent 6px 15px); opacity: .72; }
.mock-button { width: 70px; height: 25px; margin-top: 22px; border-radius: 30px; background: var(--project-accent); }
.project-meta { margin-top: auto; }
.project-meta > span { color: #73808c; font-size: .76rem; }
.project-meta h3 { margin: 5px 0 10px; font-size: 2rem; }
.project-meta p { color: #667482; margin-bottom: 0; font-size: .9rem; }
.project-card:nth-child(4n+2) .project-meta p, .project-card:nth-child(4n+2) .project-meta > span { color: #98a8bb; }

.testimonial-section { color: white; background: #d90d0d; }
.testimonial-wrap { position: relative; text-align: center; max-width: 940px; }
.quote-mark { display: block; height: 55px; color: var(--lime); font: 100px/1 Georgia, serif; }
.testimonial-track { position: relative; }
.testimonial-slide { display: none; margin: 0; }
.testimonial-slide.is-active { display: block; animation: testimonial-in .4s ease both; }
.testimonial-wrap blockquote { margin: 35px 0; font: 500 clamp(1.8rem, 3.5vw, 3.5rem)/1.25 var(--font-display); letter-spacing: -.04em; }
.quote-author { display: flex; flex-direction: column; font-size: .86rem; }
.quote-author span { color: #ffd1d1; }
.quote-nav { display: flex; gap: 8px; justify-content: center; margin-top: 32px; }
.quote-nav button { width: 44px; height: 44px; color: white; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: transparent; }
.quote-nav button:hover { color: var(--night); background: var(--lime); }
.quote-nav button:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }
.quote-count { min-width: 72px; display: inline-flex; align-items: center; justify-content: center; color: #ffc9c9; font-size: .75rem; }
.quote-count b { margin-right: 4px; color: white; }
@keyframes testimonial-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.insights-section { background: var(--paper); }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.post-card { min-width: 0; }
.post-card > a { display: block; height: 100%; background: white; border-radius: 18px; overflow: hidden; transition: transform .3s, box-shadow .3s; }
.post-card > a:hover { transform: translateY(-6px); box-shadow: 0 22px 55px rgba(21,34,42,.11); }
.post-visual { height: 225px; position: relative; display: grid; place-items: center; overflow: hidden; background: #dfe9fe; }
.post-visual::before, .post-visual::after { content: ""; position: absolute; width: 180px; height: 180px; border: 25px solid rgba(255,255,255,.45); border-radius: 50%; }
.post-visual::before { left: -80px; top: -70px; }.post-visual::after { right: -70px; bottom: -100px; }
.post-visual span { z-index: 1; font: 800 4rem var(--font-display); letter-spacing: -.12em; color: #30446d; }
.visual-2 { background: #f7d8c8; }.visual-2 span { color: #8d402a; }
.visual-3 { background: #d8f1df; }.visual-3 span { color: #28633d; }
.visual-4 { background: #ddd9fc; }.visual-4 span { color: #4b3ba1; }
.post-body { padding: 29px; }
.post-body .eyebrow { margin-bottom: 14px; }
.post-body h3 { min-height: 52px; font-size: 1.4rem; }
.post-body p { min-height: 72px; color: #6e7a87; font-size: .88rem; }
.post-body .text-link { color: var(--ink); }

.idea-section { padding: 95px 0; background: white; }
.idea-card { min-height: 315px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 45px; align-items: center; padding: 58px; position: relative; overflow: hidden; border-radius: 28px; color: white; background: linear-gradient(135deg, var(--night), #2b361f); box-shadow: 0 28px 70px rgba(17,23,12,.14); }
.idea-card::before { content: ""; position: absolute; width: 340px; height: 340px; right: -110px; top: -170px; border-radius: 50%; background: rgba(242,13,13,.34); }
.idea-card::after { content: ""; position: absolute; width: 240px; height: 240px; left: 42%; bottom: -190px; border-radius: 50%; background: rgba(202,219,34,.18); }
.idea-copy, .idea-action { position: relative; z-index: 1; }
.idea-copy .eyebrow { margin-bottom: 16px; }
.idea-copy h2 { margin: 0 0 16px; font-size: clamp(2.65rem, 4.2vw, 4.2rem); }
.idea-copy h2 em { color: var(--lime); }
.idea-copy p { max-width: 720px; margin: 0; color: #b5c0ad; font-size: 1rem; }
.idea-action { text-align: right; }
.prefooter-contact { padding: 110px 0; background: var(--paper); }
.prefooter-contact-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 70px; align-items: start; }
.prefooter-contact-copy h2 { margin: 0 0 20px; font-size: clamp(2.7rem, 4.5vw, 4.6rem); }
.prefooter-contact-copy h2 em { color: var(--red); }
.prefooter-contact-copy > p { max-width: 520px; color: #65705e; }
.prefooter-contact-list { display: grid; gap: 14px; margin-top: 34px; }
.prefooter-contact-list > a, .prefooter-contact-list > div { display: flex; gap: 14px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); }
.prefooter-contact-list > a > span, .prefooter-contact-list > div > span { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 12px; color: var(--night); background: var(--lime); font: 800 .66rem var(--font-display); }
.prefooter-contact-list > a:nth-child(2) > span { color: white; background: var(--red); }
.prefooter-contact-list b, .prefooter-contact-list small { display: block; }
.prefooter-contact-list b { font-size: .8rem; }
.prefooter-contact-list small { color: #66715f; font-size: .79rem; }
.prefooter-contact-form { padding: 36px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: 0 25px 65px rgba(17,30,12,.08); }
.prefooter-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.prefooter-form-grid .full { grid-column: 1 / -1; }
.prefooter-form-grid label { display: flex; flex-direction: column; gap: 8px; color: #3f493a; font-size: .78rem; font-weight: 700; }
.prefooter-form-grid input, .prefooter-form-grid select, .prefooter-form-grid textarea { width: 100%; min-height: 54px; padding: 0 15px; border: 1px solid #cbd3c3; border-radius: 10px; outline: 0; color: var(--ink); background: white; }
.prefooter-form-grid textarea { min-height: 130px; padding-top: 14px; resize: vertical; }
.prefooter-form-grid input:focus, .prefooter-form-grid select:focus, .prefooter-form-grid textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(242,13,13,.1); }
.site-footer { padding: 85px 0 25px; color: #aebac8; background: var(--night); }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 70px; }
.footer-grid h3 { color: white; font-size: .77rem; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 23px; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; font-size: .86rem; }
.footer-grid a:hover { color: var(--lime); }
.footer-brand p { max-width: 325px; margin: 24px 0; font-size: .9rem; }
.socials { display: flex; gap: 8px; }
.socials a { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid #354358; border-radius: 11px; color: white; font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.socials a:hover { border-color: var(--red); color: white; background: var(--red); }
.footer-contact p { margin: 9px 0 0; }
.footer-bottom { position: relative; z-index: 70; display: flex; justify-content: space-between; margin-top: 70px; padding-top: 24px; border-top: 1px solid #273548; font-size: .74rem; }
.footer-credit a { color: white; font-weight: 700; }
.footer-credit a:hover { color: var(--lime); }
.footer-bottom span:last-child { display: flex; gap: 22px; }
.floating-contact { position: fixed; z-index: 60; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 13px; padding: 7px 7px 7px 17px; border-radius: 99px; color: var(--night); background: var(--lime); box-shadow: 0 12px 35px rgba(0,0,0,.2); font-weight: 700; font-size: .78rem; transition: opacity .25s ease, transform .25s ease; }
.floating-contact b { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--night); }
.floating-contact.near-footer { opacity: 0; transform: translateY(18px); pointer-events: none; }
.form-trap { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

/* Inner pages */
.page-hero { min-height: 570px; display: flex; align-items: flex-end; padding: 160px 0 85px; position: relative; overflow: hidden; color: white; background: var(--night); }
.page-hero::after { content: ""; position: absolute; inset: 0; opacity: .11; background-image: linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px); background-size: 75px 75px; mask-image: linear-gradient(90deg, transparent, black); }
.page-hero-inner { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: flex-end; gap: 50px; }
.page-hero-inner h1 { margin: 0 0 25px; font-size: clamp(3.2rem, 6vw, 6rem); }
.page-hero-inner h1 em { color: var(--lime); }
.page-hero-inner p { max-width: 710px; margin: 0; color: #a8b6c5; font-size: 1.13rem; }
.hero-badge { width: 132px; height: 132px; flex: 0 0 auto; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; border-radius: 50%; color: var(--night); background: var(--lime); transform: rotate(7deg); font: 700 .72rem var(--font-display); }
.hero-badge i { align-self: flex-end; font-size: 1.6rem; font-style: normal; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(5px); }
.orb-one { width: 500px; height: 500px; left: -270px; bottom: -340px; background: radial-gradient(circle, rgba(242,13,13,.34), transparent 68%); }
.orb-two { width: 500px; height: 500px; right: -250px; top: -260px; background: radial-gradient(circle, rgba(202,219,34,.18), transparent 65%); }
.story-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 130px; }
.story-grid h2 { margin: 0; }
.rich-copy { color: #52616f; font-size: 1.08rem; }
.rich-copy p { margin-bottom: 25px; }
.values-section, .related-section, .calc-info { background: #ecefeb; }
.value-grid, .stage-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #c8d0d0; border-left: 1px solid #c8d0d0; }
.value-grid article, .stage-grid article { min-height: 300px; padding: 32px; border-right: 1px solid #c8d0d0; border-bottom: 1px solid #c8d0d0; }
.value-grid b, .stage-grid b { color: #87939d; font: 600 .7rem var(--font-display); }
.value-grid h3, .stage-grid h3 { margin-top: 75px; }
.value-grid p, .stage-grid p { color: #697785; font-size: .9rem; }
.services-grid-full .service-card { min-height: 380px; }
.approach-banner { color: white; background: var(--red); }
.approach-banner h2 em { color: var(--lime); }
.approach-banner .split-heading > div:last-child > p { color: #c1caf2; }
.service-detail-grid { display: grid; grid-template-columns: 1fr .9fr; gap: 130px; align-items: center; }
.service-detail-grid h2 { font-size: clamp(2.5rem, 4vw, 4.1rem); }
.service-detail-grid > div:first-child > p { max-width: 610px; color: #64717e; font-size: 1.05rem; margin-bottom: 34px; }
.deliverable-card { padding: 48px; border-radius: var(--radius); color: white; background: var(--night); box-shadow: 20px 20px 0 var(--lime); }
.deliverable-card ul { padding: 0; margin: 10px 0 0; list-style: none; }
.deliverable-card li { display: flex; align-items: center; gap: 15px; padding: 20px 0; border-bottom: 1px solid #2b3a4c; font-weight: 600; }
.deliverable-card li span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--night); background: var(--lime); font-size: .72rem; }
.stages { padding-top: 20px; background: white; }
.stages .stage-grid article { min-height: 275px; }
.portfolio-grid { row-gap: 42px; }
.project-showcase { padding: 100px 0; background: var(--project-accent); }
.large-browser { overflow: hidden; border-radius: 20px; background: #f8fafc; box-shadow: 0 45px 100px rgba(0,0,0,.25); }
.browser-top { height: 54px; display: flex; align-items: center; gap: 8px; padding: 0 20px; background: #e7ebef; }
.browser-top i { width: 9px; height: 9px; border-radius: 50%; background: #aab5bf; }
.browser-top span { margin-left: 25px; color: #697785; font-size: .75rem; }
.browser-body { min-height: 460px; display: grid; grid-template-columns: 1fr .72fr; align-items: center; gap: 80px; padding: 75px; }
.browser-body span { color: var(--project-accent); text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 800; }
.browser-body h2 { font-size: 4rem; margin: 15px 0; }
.browser-body p { color: #677482; }
.browser-body b { font-size: .85rem; }
.browser-body aside { height: 310px; position: relative; border-radius: 20px; background: color-mix(in srgb, var(--project-accent) 15%, white); }
.browser-body aside i { position: absolute; border-radius: 50%; background: var(--project-accent); opacity: .8; }
.browser-body aside i:first-child { width: 150px; height: 150px; right: 35px; top: 30px; }
.browser-body aside i:nth-child(2) { width: 90px; height: 90px; left: 30px; bottom: 40px; opacity: .4; }
.browser-body aside i:last-child { width: 45px; height: 45px; right: 60px; bottom: 35px; opacity: .3; }
.case-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 120px; }
.case-grid h2 { font-size: clamp(2.4rem, 4vw, 4rem); }
.case-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 45px; padding-top: 28px; border-top: 1px solid var(--line); }
.case-facts span { display: flex; flex-direction: column; font-size: .84rem; }
.case-facts b { color: var(--ink); }

.filter-row { display: flex; gap: 8px; margin-bottom: 45px; overflow-x: auto; }
.filter-row button { flex: 0 0 auto; padding: 10px 16px; border: 1px solid #c7cfd3; border-radius: 99px; color: #64717d; background: transparent; font-size: .78rem; }
.filter-row button.active, .filter-row button:hover { color: white; background: var(--night); border-color: var(--night); }
.filter-row button:focus-visible { outline: 3px solid rgba(242,13,13,.28); outline-offset: 3px; }
.post-card[hidden] { display: none; }
.insight-empty { padding: 28px; border: 1px dashed #c7cfd3; border-radius: 14px; text-align: center; color: #64717d; }
.blog-grid { grid-template-columns: repeat(3, 1fr); row-gap: 38px; }
.article-hero { min-height: 650px; display: flex; align-items: flex-end; padding: 160px 0 85px; color: white; background: var(--night); }
.article-head { max-width: 960px; text-align: center; }
.article-head h1 { margin-bottom: 24px; font-size: clamp(3rem, 5.8vw, 5.8rem); }
.article-head > p { max-width: 760px; margin: 0 auto; color: #aebbc9; font-size: 1.12rem; }
.article-byline { display: flex; justify-content: center; align-items: center; gap: 13px; margin-top: 33px; }
.author-avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--night); background: var(--lime); font: 800 .72rem var(--font-display); }
.article-byline > span:last-child { display: flex; flex-direction: column; text-align: left; }
.article-byline b { font-size: .8rem; }.article-byline small { color: #8494a7; font-size: .7rem; }
.article-visual { width: min(1100px, calc(100% - 48px)); height: 500px; margin: -1px auto 0; position: relative; display: grid; place-items: center; overflow: hidden; border-radius: 0 0 28px 28px; background: #dfe9fe; }
.article-visual span { z-index: 1; font: 800 clamp(6rem, 15vw, 13rem) var(--font-display); letter-spacing: -.15em; color: rgba(24,50,95,.82); }
.article-visual i { position: absolute; width: 430px; height: 430px; border: 55px solid rgba(255,255,255,.43); border-radius: 50%; left: -130px; top: -230px; }
.article-visual i:last-child { left: auto; top: auto; right: -130px; bottom: -250px; }
.article-visual.visual-2 { background: #f7d8c8; }.article-visual.visual-2 span { color: #8d402a; }
.article-visual.visual-3 { background: #d8f1df; }.article-visual.visual-3 span { color: #28633d; }
.article-visual.visual-4 { background: #ddd9fc; }.article-visual.visual-4 span { color: #4b3ba1; }
.article-layout { display: grid; grid-template-columns: 220px 1fr; gap: 100px; padding-top: 100px; padding-bottom: 120px; max-width: 1020px; }
.article-aside { position: sticky; top: 120px; align-self: start; display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--line); padding-top: 20px; }
.article-aside > span, .share-label { margin-bottom: 6px; color: #82909d; font: 700 .68rem var(--font-display); text-transform: uppercase; letter-spacing: .13em; }
.article-aside a { color: #61707d; font-size: .78rem; line-height: 1.4; }
.article-aside a:hover { color: var(--ink); }
.share-label { margin-top: 25px; }
.article-content { max-width: 700px; }
.article-content p { color: #485866; font-size: 1.08rem; line-height: 1.85; }
.article-content .article-lead { color: var(--ink); font: 500 1.45rem/1.65 var(--font-display); }
.article-content section { padding-top: 40px; }
.article-content h2 { font-size: 2.4rem; margin-bottom: 20px; }
.article-note { display: flex; flex-direction: column; gap: 8px; margin: 35px 0; padding: 25px 28px; border-left: 4px solid var(--lime); background: white; box-shadow: 0 12px 35px rgba(16,31,43,.06); }
.article-note span { color: #596775; }

.calculator-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.calculator-card { min-height: 270px; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: white; transition: transform .25s, box-shadow .25s; }
.calculator-card:hover { transform: translateY(-5px); box-shadow: 0 22px 50px rgba(20,34,44,.1); }
.calculator-card > span { color: #8b98a3; font: 700 .68rem var(--font-display); }
.calculator-card h2 { margin: 34px 0 13px; font-size: 1.5rem; }
.calculator-card p { color: #697784; font-size: .88rem; }
.calculator-card b { margin-top: auto; font-size: .82rem; }
.page-calculator .page-hero { min-height: 430px; padding-bottom: 62px; }
.page-calculator .page-hero-inner h1 { font-size: clamp(2.9rem, 5vw, 5rem); }
.calculator-section { background: white; }
.calculator-shell { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 28px 70px rgba(19,35,46,.09); }
.calculator-form { padding: 50px; background: #f4f6ef; }
.calc-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; }
.calc-title .eyebrow { margin-bottom: 14px; }
.calc-title h2 { max-width: 560px; margin: 0; font-size: clamp(1.9rem, 3vw, 2.55rem); }
.live-badge { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid #d4dbc9; border-radius: 99px; color: #596252; background: white; font-size: .68rem; font-weight: 700; }
.live-badge i { width: 7px; height: 7px; border-radius: 50%; background: #83a900; box-shadow: 0 0 0 4px rgba(131,169,0,.12); }
.calc-intro { max-width: 580px; margin: 18px 0 0; color: #697363; font-size: .9rem; }
.calc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 32px 0; }
.calc-fields label, .contact-form label { display: flex; flex-direction: column; gap: 8px; position: relative; color: #3e4738; font-size: .78rem; font-weight: 700; }
.calc-fields input, .calc-fields select, .contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-height: 58px; padding: 0 16px; border: 1px solid #cbd3c3; border-radius: 10px; outline: 0; background: white; color: var(--ink); }
.calc-fields input { padding-right: 68px; font-size: 1rem; font-weight: 600; }
.calc-fields select { padding-right: 38px; }
.calc-fields input:focus, .calc-fields select:focus, .contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(242,13,13,.1); }
.calc-fields label > span { position: absolute; right: 15px; top: 44px; color: #778171; font-weight: 600; pointer-events: none; }
.calc-fields label > small { margin-top: -2px; color: #818a7b; font-weight: 500; line-height: 1.45; }
.calculator-result { min-height: 570px; display: flex; flex-direction: column; justify-content: center; padding: 50px; color: white; background: var(--night); }
.calculator-result > span { color: #9eaa96; font-size: .72rem; text-transform: uppercase; letter-spacing: .13em; }
.calculator-result strong { margin: 13px 0 16px; color: var(--lime); font: 700 clamp(2.7rem, 4.2vw, 4.5rem)/1 var(--font-display); letter-spacing: -.065em; overflow-wrap: anywhere; }
.calculator-result > p { min-height: 50px; margin-bottom: 24px; color: #b7c1af; }
.result-breakdown { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 28px; }
.result-breakdown > div { min-width: 0; padding: 15px; border: 1px solid #303a2b; border-radius: 11px; background: #182013; }
.result-breakdown dt { margin-bottom: 5px; color: #899582; font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }
.result-breakdown dd { margin: 0; color: white; font: 700 .98rem var(--font-display); overflow-wrap: anywhere; }
.calculator-result > small { padding-top: 19px; border-top: 1px solid #303a2b; color: #7f8c78; line-height: 1.55; }
.other-calculators { background: white; }
.other-calculators .section-head { margin-bottom: 42px; }
.other-calculator-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.other-calculator-card { min-height: 180px; display: grid; grid-template-columns: 32px 1fr auto; gap: 15px; align-items: start; padding: 24px; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); transition: border-color .25s, background .25s, transform .25s, box-shadow .25s; }
.other-calculator-card:hover { border-color: #bdc89b; background: white; transform: translateY(-4px); box-shadow: 0 18px 40px rgba(20,34,18,.08); }
.other-calculator-card > span { color: #8b9583; font: 700 .67rem var(--font-display); }
.other-calculator-card h3 { margin: 0 0 10px; font-size: 1.08rem; letter-spacing: -.025em; }
.other-calculator-card p { display: -webkit-box; margin: 0; overflow: hidden; color: #6e7868; font-size: .78rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.other-calculator-card b { color: var(--red); font-size: 1.15rem; transition: transform .25s; }
.other-calculator-card:hover b { transform: translateX(3px); }

.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 120px; }
.contact-copy h2 { font-size: clamp(2.5rem, 4vw, 4rem); }
.contact-copy > p { color: #677582; }
.contact-details { display: flex; flex-direction: column; gap: 20px; margin-top: 45px; }
.contact-details a, .contact-details > div { display: flex; flex-direction: column; padding-top: 18px; border-top: 1px solid var(--line); }
.contact-details b { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; }
.contact-details span { color: #586774; }
.contact-summary { text-align: center; }
.contact-summary-inner { max-width: 1080px; }
.contact-summary h2 { max-width: 780px; margin: 10px auto 20px; font-size: clamp(2.7rem, 5vw, 5rem); }
.contact-summary h2 em { color: var(--red); }
.contact-summary-inner > p { max-width: 650px; margin: 0 auto; color: #677582; }
.contact-details-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 50px 0 35px; text-align: left; }
.contact-details-row a, .contact-details-row > div { min-height: 118px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.thank-you-section { background: var(--paper); }
.thank-you-card { max-width: 1040px; padding: 70px; border: 1px solid var(--line); border-radius: 28px; text-align: center; background: white; box-shadow: 0 28px 80px rgba(17,30,12,.08); }
.thank-you-mark { width: 82px; height: 82px; display: grid; place-items: center; margin: -112px auto 30px; border: 10px solid var(--paper); border-radius: 50%; color: white; background: var(--red); font: 800 2rem var(--font-display); }
.thank-you-card h2 { margin: 12px 0 20px; font-size: clamp(2.5rem, 4.5vw, 4.5rem); }
.thank-you-card h2 em { color: var(--red); }
.thank-you-card > p { max-width: 700px; margin: 0 auto; color: #65705e; }
.thank-you-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 45px 0; text-align: left; }
.thank-you-steps > div { min-height: 160px; padding: 24px; border-radius: 16px; background: #f3f6ee; }
.thank-you-steps span, .thank-you-steps strong, .thank-you-steps small { display: block; }
.thank-you-steps span { margin-bottom: 28px; color: var(--red); font: 800 .72rem var(--font-display); }
.thank-you-steps strong { margin-bottom: 7px; color: var(--night); }
.thank-you-steps small { color: #697464; }
.thank-you-actions { display: flex; justify-content: center; align-items: center; gap: 28px; }
.contact-form { padding: 45px; border-radius: 20px; background: white; box-shadow: 0 25px 70px rgba(18,32,42,.08); }
.field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contact-form > label, .contact-form .field-pair { margin-bottom: 20px; }
.contact-form textarea { padding-top: 14px; resize: vertical; }
.contact-form small { display: block; margin-top: 18px; color: #84909a; }.contact-form small a { text-decoration: underline; }
.form-success { padding: 15px; margin-bottom: 20px; border-radius: 8px; color: #275b31; background: #dbf4de; font-size: .84rem; }
.form-error { padding: 15px; margin-bottom: 20px; border-radius: 8px; color: #842029; background: #f8d7da; font-size: .84rem; }
.module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 80px; }
.module-grid article { padding: 30px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.module-grid article > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--night); background: var(--lime); font: 800 .7rem var(--font-display); }
.module-grid h3 { margin: 35px 0 10px; }.module-grid p { color: #6a7783; font-size: .88rem; }
.legal-layout { display: grid; grid-template-columns: 220px 1fr; gap: 110px; max-width: 980px; }
.legal-layout aside { display: flex; flex-direction: column; gap: 11px; position: sticky; top: 120px; align-self: start; }
.legal-layout aside span { font: 700 .7rem var(--font-display); text-transform: uppercase; letter-spacing: .12em; }.legal-layout aside a { color: #697783; font-size: .85rem; }
.legal-layout article section { padding-bottom: 35px; margin-bottom: 35px; border-bottom: 1px solid var(--line); }
.legal-layout article h2 { font-size: 2rem; }.legal-layout article p { color: #53626f; font-size: 1.05rem; }
.legal-layout article a { color: #c90000; text-decoration: underline; }
.not-found { text-align: center; }.not-found .container { display: flex; justify-content: center; align-items: center; gap: 25px; }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1050px) {
    .header-cta { display: none; }
    .main-nav { margin-right: 0; }
    .hero-layout { grid-template-columns: 1fr; }
    .home-hero { min-height: auto; }
    .hero-copy { padding-top: 95px; max-width: 800px; }
    .hero-art { display: none; }
    .hero-strip { gap: 25px; overflow: hidden; }
    .split-heading, .story-grid, .case-grid { gap: 60px; }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .process-layout, .promise-layout { gap: 65px; }
    .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
    .footer-contact { grid-column: 2 / 4; }
    .service-detail-grid, .contact-grid { gap: 65px; }
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
    .other-calculator-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
    :root { --container: min(100% - 32px, 1180px); --radius: 18px; }
    .section { padding: 78px 0; }
    h1 { font-size: 3.25rem; }
    h2 { font-size: 2.5rem; }
    .site-header { position: absolute; }
    .header-inner { height: 72px; }
    .menu-toggle { display: flex; width: 44px; height: 44px; margin-left: auto; padding: 12px; flex-direction: column; justify-content: center; gap: 5px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: transparent; }
    .menu-toggle span { width: 100%; height: 1px; background: white; transition: transform .2s; }.menu-toggle b { display: none; }
    .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(6px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    .main-nav { position: absolute; top: 72px; left: 0; right: 0; width: 100vw; height: calc(100vh - 72px); height: calc(100dvh - 72px); display: flex; flex-direction: column; gap: 0; margin: 0; padding: 25px 24px max(25px, env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; visibility: hidden; pointer-events: none; background: rgba(17,23,12,.99); transform: translateX(100%); transition: transform .3s, visibility 0s linear .3s; }
    .main-nav.open { visibility: visible; pointer-events: auto; transform: translateX(0); transition-delay: 0s; }
    .main-nav a { padding: 20px 0; border-bottom: 1px solid #28364a; font: 600 1.4rem var(--font-display); }
    .home-hero { padding-top: 72px; }
    .hero-layout { min-height: 650px; }
    .hero-copy { padding: 75px 0 35px; }
    .hero-copy h1 { font-size: clamp(3.15rem, 14vw, 4.7rem); }
    .hero-copy > p { font-size: 1rem; }
    .hero-actions { align-items: flex-start; flex-direction: column; }
    .hero-proof { margin-top: 38px; }
    .hero-strip { justify-content: flex-start; white-space: nowrap; }
    .hero-strip span { display: none; }.hero-strip b:nth-last-child(-n+2) { display: none; }
    .split-heading, .story-grid, .service-detail-grid, .process-layout, .promise-layout, .case-grid, .contact-grid, .calculator-shell, .article-layout { grid-template-columns: 1fr; gap: 42px; }
    .section-head { align-items: flex-start; flex-direction: column; }
    .metrics { grid-template-columns: 1fr 1fr; margin-top: 55px; }
    .metrics div { border-bottom: 1px solid var(--line); padding: 26px 15px 26px 0; }
    .metrics div:not(:first-child) { padding-left: 18px; }
    .metrics div:nth-child(2) { border-right: 0; }.metrics div:last-child { border-bottom: 0; }
    .services-grid, .projects-grid, .posts-grid, .calculator-grid, .module-grid { grid-template-columns: 1fr; }
    .other-calculator-grid { grid-template-columns: 1fr; }
    .other-calculator-card { min-height: 0; }
    .service-card { min-height: 320px; }
    .project-card { min-height: 530px; }
    .process-copy { margin-bottom: 10px; }
    .promise-copy { position: static; }
    .idea-section { padding: 65px 0; }
    .idea-card { min-height: 0; grid-template-columns: 1fr; gap: 32px; padding: 40px 28px; text-align: center; }
    .idea-action { text-align: center; }
    .idea-action .button { width: 100%; }
    .prefooter-contact { padding: 78px 0; }
    .prefooter-contact-grid, .prefooter-form-grid { grid-template-columns: 1fr; gap: 38px; }
    .prefooter-form-grid { gap: 18px; }
    .prefooter-form-grid .full { grid-column: auto; }
    .prefooter-contact-form { padding: 28px 22px; }
    .prefooter-contact-form .button { width: 100%; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 45px 25px; }
    .footer-brand { grid-column: 1 / 3; }.footer-contact { grid-column: 1 / 3; }
    .footer-bottom { align-items: flex-start; flex-direction: column; gap: 15px; }
    .floating-contact span { display: none; }.floating-contact { padding: 7px; }
    .page-hero { min-height: 530px; padding: 135px 0 60px; }
    .page-calculator .page-hero { min-height: 390px; padding: 110px 0 45px; }
    .page-calculator .page-hero-inner { gap: 24px; }
    .page-calculator .page-hero-inner h1 { font-size: clamp(2.65rem, 12vw, 3.55rem); }
    .page-calculator .page-hero-inner p { font-size: 1rem; }
    .page-calculator .hero-badge { display: none; }
    .page-hero-inner { align-items: flex-start; flex-direction: column; }
    .page-hero-inner h1 { font-size: clamp(3rem, 13vw, 4.6rem); }
    .hero-badge { width: 95px; height: 95px; padding: 16px; }
    .value-grid, .stage-grid { grid-template-columns: 1fr; }
    .value-grid article, .stage-grid article { min-height: 220px; }.value-grid h3, .stage-grid h3 { margin-top: 45px; }
    .deliverable-card { padding: 32px 26px; box-shadow: 10px 10px 0 var(--lime); }
    .project-showcase { padding: 60px 0; }
    .browser-body { grid-template-columns: 1fr; padding: 35px; }.browser-body h2 { font-size: 2.7rem; }.browser-body aside { display: none; }
    .case-facts { grid-template-columns: 1fr; }
    .article-hero { min-height: 600px; padding: 135px 0 65px; }.article-head h1 { font-size: clamp(2.8rem, 12vw, 4.3rem); }
    .article-visual { height: 320px; width: calc(100% - 32px); }.article-aside { display: none; }
    .article-layout { padding-top: 70px; padding-bottom: 80px; }
    .calc-title { flex-direction: column; }
    .calc-fields, .field-pair, .result-breakdown { grid-template-columns: 1fr; }
    .calculator-shell { gap: 0; }
    .calculator-form, .calculator-result { padding: 35px 25px; }.calculator-result { min-height: 0; }
    .calculator-form .button { width: 100%; }
    .contact-form { padding: 30px 22px; }
    .contact-details-row { grid-template-columns: 1fr; }
    .thank-you-card { padding: 55px 22px 38px; }
    .thank-you-mark { margin-top: -96px; }
    .thank-you-steps { grid-template-columns: 1fr; }
    .thank-you-steps > div { min-height: 0; }
    .thank-you-actions { flex-direction: column; }
    .legal-layout { grid-template-columns: 1fr; gap: 35px; }.legal-layout aside { position: static; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
    .reveal { opacity: 1; transform: none; }
}
