/* Shared page system for the About, Services, SEO, Web Design and case-study pages. */
.inner-page { overflow-x: clip; }
.inner-page .page-hero { position: relative; isolation: isolate; padding: 35px 0 78px; background: radial-gradient(ellipse at 86% 30%, #efedff 0, transparent 42%), linear-gradient(135deg,#fff 0%,#fbfaff 100%); }
.inner-page .page-hero::after { content:""; position:absolute; z-index:-1; right:-150px; top:40px; width:430px; height:430px; border:1px solid #513ff812; border-radius:50%; box-shadow:0 0 0 42px #513ff808,0 0 0 86px #513ff805; pointer-events:none; }
.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 30px; color:#777b8b; font-size:11px; font-weight:600; }
.breadcrumbs a { color:#626779; transition:color .2s; }
.breadcrumbs a:hover { color:var(--primary); }
.breadcrumbs [aria-current="page"] { color:#27283a; }
.page-hero-grid { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); align-items:center; gap:48px; min-height:440px; }
.page-hero-copy { min-width:0; padding-bottom:8px; }
.section-label { display:inline-flex; align-items:center; gap:9px; color:var(--primary); font-size:10px; font-weight:700; letter-spacing:1.35px; line-height:1.4; text-transform:uppercase; }
.page-hero-copy h1,.case-hub-hero h1 { margin:13px 0 18px; color:#111325; font:800 clamp(42px,5.1vw,68px)/1.06 var(--heading); letter-spacing:-3.7px; }
.page-hero-copy h1 span,.case-hub-hero h1 span { color:var(--primary); }
.page-hero-lede { max-width:555px; margin:0; color:#606579; font-size:14px; line-height:1.9; }
.page-hero-note { max-width:500px; margin:13px 0 0; color:#27283a; font-size:13px; font-weight:700; }
.page-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:25px; }
.page-actions .button { min-height:50px; }
.page-hero-visual { position:relative; min-width:0; height:430px; margin:4px 0 0; border:7px solid #fff; border-radius:18px; background:#eceafa; box-shadow:0 30px 85px #27234b24; }
.page-hero-visual::before { content:""; position:absolute; z-index:-1; inset:20px -19px -18px 23px; border:1px solid #513ff82e; border-radius:18px; }
.page-hero-visual img { width:100%; height:100%; border-radius:12px; object-fit:cover; object-position:center; }
.visual-label { position:absolute; left:18px; bottom:18px; display:flex; align-items:center; gap:9px; max-width:calc(100% - 36px); padding:11px 15px; border:1px solid #ffffffc7; border-radius:9px; background:#ffffffed; box-shadow:0 9px 25px #14142712; color:#28293b; font-size:11px; font-weight:700; }
.visual-label-dot { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#39b87e; box-shadow:0 0 0 4px #39b87e20; }
.visual-index { position:absolute; top:18px; right:18px; display:flex; align-items:center; gap:10px; padding:11px 14px; border:1px solid #ffffffbd; border-radius:10px; background:#fffefa; box-shadow:0 9px 25px #14142712; }
.visual-index strong { color:var(--primary); font:800 20px/1 var(--heading); }
.visual-index span { color:#565b6b; font-size:9px; font-weight:700; line-height:1.35; }
.page-hero-simple { padding-top:32px !important; }
.page-hero-simple .breadcrumbs { margin-bottom:25px; }
.case-hub-hero { display:grid; grid-template-columns:minmax(0,1fr) 220px; align-items:center; gap:48px; padding:14px 0 39px; }
.case-hub-hero h1 { max-width:790px; margin-top:14px; font-size:clamp(46px,6.3vw,76px); }
.case-hub-hero .page-hero-lede { max-width:610px; }
.case-hub-mark { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:190px; padding:24px; overflow:hidden; border-radius:18px; background:#17172c; color:#fff; box-shadow:0 22px 50px #201d5026; }
.case-hub-mark::after { content:""; position:absolute; width:165px; height:165px; right:-74px; bottom:-75px; border:1px solid #ffffff30; border-radius:50%; box-shadow:0 0 0 20px #ffffff0b,0 0 0 42px #ffffff08; }
.case-hub-mark>span,.case-hub-mark>small { position:relative; z-index:1; color:#c6c6d6; font-size:9px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.case-hub-mark strong { position:relative; z-index:1; margin:5px 0 0; color:#fff; font:800 55px/.98 var(--heading); letter-spacing:-3px; }
.case-hub-mark>i { position:absolute; z-index:1; top:20px; right:20px; color:#aca3ff; font-size:21px; font-style:normal; }
.case-hub-mark-search { background:linear-gradient(145deg,#3f31c8,#17172c 76%); }
.case-hub-mark-design { background:linear-gradient(145deg,#634cff,#211c58 82%); }
.case-category-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.case-category-links>a { display:flex; align-items:center; gap:15px; min-width:0; padding:18px 20px; border:1px solid #e7e5f3; border-radius:12px; background:#ffffffc9; transition:transform .2s,border-color .2s,box-shadow .2s; }
.case-category-links>a:hover { transform:translateY(-3px); border-color:#c9c3ff; box-shadow:0 15px 35px #30257912; }
.category-icon { display:grid; place-items:center; width:42px; height:42px; flex:0 0 auto; border-radius:12px; background:#f0eeff; color:var(--primary); font-size:19px; }
.case-category-links>a>span:nth-child(2) { display:grid; gap:2px; min-width:0; }
.case-category-links small { color:#85889a; font-size:9px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; }
.case-category-links strong { color:#17182a; font:750 14px var(--heading); }
.case-category-links>a>b { margin-left:auto; color:var(--primary); font-size:18px; }
.story-section { background:#fff; }
.story-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.story-grid h2,.section-heading h2,.faq-layout h2 { margin:12px 0 0; font:800 clamp(34px,4vw,49px)/1.1 var(--heading); letter-spacing:-2px; }
.story-grid h2 span { color:var(--primary); }
.story-copy { max-width:660px; color:#626779; font-size:13px; line-height:1.9; }
.story-copy p { margin:0 0 16px; }
.story-copy .story-lede { color:#24263a; font-size:18px; font-weight:600; line-height:1.65; }
.about-numbers { padding:36px 0; background:#17172c; color:#fff; }
.about-number-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 1.15fr; gap:22px; align-items:center; }
.about-number-grid>div { display:grid; gap:5px; padding:2px 0 2px 22px; border-left:1px solid #ffffff30; }
.about-number-grid>div:first-child { border-left:0; padding-left:0; }
.about-number-grid strong { font:800 38px/1.05 var(--heading); letter-spacing:-2px; }
.about-number-grid strong span { color:#a59aff; }
.about-number-grid>div>span { color:#d2d1df; font-size:10px; }
.about-number-grid>p { max-width:220px; margin:0 0 0 auto; color:#c6c4d6; font-size:12px; line-height:1.65; }
.team-section { background:#f9f8ff; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:36px; }
.section-heading h2 { font-size:clamp(35px,4.1vw,50px); }
.section-intro { max-width:480px; margin:0; color:#606579; font-size:13px; line-height:1.85; }
.section-intro p { margin:0 0 14px; }
.section-intro.plain { max-width:440px; }
.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.team-card { padding:25px; border:1px solid #e8e6f2; border-radius:13px; background:#fff; box-shadow:0 9px 25px #27234b08; }
.team-monogram { display:grid; place-items:center; width:48px; height:48px; margin-bottom:20px; border-radius:15px; font:800 19px var(--heading); }
.monogram-purple { background:#eeebff; color:#513ff8; }.monogram-blue { background:#e8f1ff; color:#3478cb; }.monogram-peach { background:#fff0e8; color:#d0784f; }
.team-role { color:#777b8b; font-size:9px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; }
.team-card h3 { margin:5px 0; font:750 21px var(--heading); }
.team-card p { margin:0; color:#696d7c; font-size:11px; }
.niches-section { background:#fff; }
.niche-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.niche-grid span { padding:13px 15px; border:1px solid #e9e7f3; border-radius:9px; background:#fff; color:#353749; font-size:11px; font-weight:600; }
.about-process,.service-process { background:#f8f7ff; }
.timeline-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; counter-reset:steps; }
.timeline-grid article { position:relative; min-height:175px; padding:24px; border:1px solid #e5e3f2; border-radius:12px; background:#fff; }
.timeline-grid article>span { display:grid; place-items:center; width:34px; height:34px; margin-bottom:18px; border-radius:10px; background:#f0eeff; color:var(--primary); font:800 11px var(--heading); }
.timeline-grid h3 { margin:0 0 8px; font:750 16px var(--heading); }
.timeline-grid p { margin:0; color:#686c7b; font-size:11px; line-height:1.7; }
.four-steps { grid-template-columns:repeat(4,minmax(0,1fr)); }
.included-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.three-included { grid-template-columns:repeat(3,minmax(0,1fr)); }
.included-grid article { position:relative; min-height:220px; padding:24px; border:1px solid #e7e5f1; border-radius:13px; background:#fff; box-shadow:0 10px 26px #27234b07; }
.included-number { position:absolute; top:21px; right:21px; color:#b1b1bf; font:700 10px var(--heading); }
.included-icon { display:grid; place-items:center; width:43px; height:43px; margin-bottom:24px; border-radius:12px; background:#f0eeff; color:var(--primary); font-size:21px; }
.included-grid h3 { margin:0 0 8px; font:750 16px var(--heading); }
.included-grid p { margin:0; color:#686c7b; font-size:11px; line-height:1.75; }
.page-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.page-service-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; min-height:255px; padding:23px; border:1px solid #e6e4f1; border-radius:13px; background:#fff; box-shadow:0 9px 25px #27234b07; transition:transform .2s,border-color .2s,box-shadow .2s; }
.page-service-card:hover { transform:translateY(-4px); border-color:#c9c3ff; box-shadow:0 18px 36px #30257912; }
.service-index { color:#888b9a; font-size:8px; font-weight:700; letter-spacing:.8px; }
.page-service-icon { display:grid; place-items:center; width:43px; height:43px; margin:17px 0 13px; border-radius:13px; background:#f0eeff; color:var(--primary); font-size:21px; }
.page-service-card h3 { max-width:260px; margin:0 0 7px; color:#1d1e31; font:750 16px/1.3 var(--heading); }
.page-service-card p { margin:0 0 18px; color:#686c7b; font-size:10px; line-height:1.75; }
.page-service-link { display:flex; align-items:center; gap:8px; margin-top:auto; color:var(--primary); font-size:9px; font-weight:700; }
.page-service-link b { font-size:14px; }
.reason-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.reason-grid article { min-width:0; padding:22px; border:1px solid #e7e5f1; border-radius:12px; background:#fff; }
.reason-grid article>span { display:grid; place-items:center; width:32px; height:32px; margin-bottom:16px; border-radius:10px; background:#f0eeff; color:var(--primary); font:800 10px var(--heading); }
.reason-grid h3 { margin:0 0 8px; font:750 14px/1.4 var(--heading); }
.reason-grid p { margin:0; color:#686c7b; font-size:10px; line-height:1.75; }
.page-proof-points { display:flex; flex-wrap:wrap; gap:11px 19px; margin-top:22px; color:#55596b; font-size:10px; font-weight:600; }
.page-proof-points span { display:inline-flex; align-items:center; gap:7px; }
.page-proof-points b { display:grid; place-items:center; width:17px; height:17px; border-radius:50%; background:#e9f8f1; color:#21895f; font-size:10px; }
.why-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.why-card { padding:22px; border:1px solid #e7e5f1; border-radius:12px; background:#fff; }
.why-card>span { display:grid; place-items:center; width:39px; height:39px; margin-bottom:18px; border-radius:12px; background:#f0eeff; color:var(--primary); font-size:18px; }
.why-card h3 { margin:0 0 8px; font:750 15px var(--heading); }
.why-card p { margin:0; color:#686c7b; font-size:11px; line-height:1.75; }
.portfolio-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.portfolio-grid>a { overflow:hidden; border:1px solid #e7e5f1; border-radius:12px; background:#fff; transition:transform .2s,box-shadow .2s; }
.portfolio-grid>a:hover { transform:translateY(-4px); box-shadow:0 18px 40px #24204716; }
.portfolio-grid img { width:100%; height:190px; object-fit:cover; transition:transform .45s; }
.portfolio-grid>a:hover img { transform:scale(1.04); }
.portfolio-grid>a>span { display:flex; align-items:center; justify-content:space-between; padding:13px 14px; color:#202136; font-size:11px; font-weight:700; }
.portfolio-grid b { color:var(--primary); font-size:15px; }
.package-section { background:#f8f7ff; }
.package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:15px; }
.package-card { position:relative; display:flex; flex-direction:column; padding:27px; border:1px solid #e5e3f0; border-radius:14px; background:#fff; }
.package-featured { border:1px solid #887aff; box-shadow:0 18px 45px #513ff817; }
.package-badge { position:absolute; top:-12px; right:19px; padding:5px 10px; border-radius:99px; background:var(--primary); color:#fff; font-size:9px; font-weight:700; }
.package-name { color:#5f6272; font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.package-price { margin:7px 0 1px; font:800 35px/1.2 var(--heading); letter-spacing:-1.5px; }
.package-description { color:#707484; font-size:10px; }
.package-card ul { display:grid; gap:10px; margin:22px 0 24px; padding:0; list-style:none; color:#414456; font-size:10px; }
.package-card li { display:flex; gap:8px; align-items:flex-start; }
.package-card li::before { content:"✓"; color:#32a879; font-weight:800; }
.package-card>.text-link,.package-card>.button { margin-top:auto; width:max-content; }
.faq-section { background:#fff; }
.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:75px; align-items:start; }
.faq-layout>div:first-child>p { margin:18px 0 0; color:#707484; font-size:12px; }
.faq-layout>div:first-child>p a { color:var(--primary); font-weight:700; }
.faq-list { border-top:1px solid #e8e6f1; }
.faq-list details { border-bottom:1px solid #e8e6f1; }
.faq-list summary { position:relative; padding:20px 38px 20px 0; color:#212337; font:700 13px var(--heading); cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; top:17px; right:0; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#f0eeff; color:var(--primary); font:500 17px var(--body); }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { max-width:650px; margin:-3px 30px 20px 0; color:#666a7a; font-size:11px; line-height:1.8; }
.page-cta { padding:70px 0; background:radial-gradient(circle at 82% 15%,#ffffff24,transparent 25%),linear-gradient(115deg,#4332d9,#513ff8 57%,#624dff); color:#fff; }
.page-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.page-cta .section-label { color:#d4d0ff; }
.page-cta h2 { max-width:720px; margin:12px 0 10px; font:800 clamp(34px,4.4vw,53px)/1.08 var(--heading); letter-spacing:-2.5px; }
.page-cta p { max-width:600px; margin:0; color:#e1defe; font-size:12px; }
.button-white { flex:0 0 auto; border:1px solid #ffffffa8; background:#fff; color:#3528b9; box-shadow:0 12px 28px #1d176536; }
.site-footer { background:#121321; color:#fff; }
.footer-main { display:grid; grid-template-columns:1.2fr .7fr .8fr 1.35fr; gap:35px; padding-top:54px; padding-bottom:42px; }
.footer-brand .brand { color:#fff; }.footer-brand .brand-accent { color:#a99fff; }
.footer-brand p { margin:17px 0 8px; color:#b8b9c7; font-size:11px; }
.footer-location { color:#858797; font-size:9px; }
.footer-col { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.footer-col h2 { margin:5px 0 6px; color:#fff; font:700 11px var(--heading); }
.footer-col a { color:#b9bac7; font-size:10px; transition:color .2s; }
.footer-col a:hover,.footer-contact a:hover { color:#b6adff; }
.footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.footer-contact .section-label { color:#a99fff; font-size:9px; }
.footer-email { color:#fff; font:700 15px var(--heading); }
.footer-email span { color:#a99fff; }
.footer-cta { padding-bottom:5px; border-bottom:1px solid #7772b8; color:#c9c5ff; font-size:10px; }
.footer-bottom { display:flex; justify-content:space-between; gap:16px; padding-top:15px; padding-bottom:17px; border-top:1px solid #ffffff1b; color:#898a9a; font-size:9px; }
.footer-bottom a { color:#c4c2d1; }
.case-library { background:#fff; }
.case-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px; }
.library-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); min-width:0; overflow:hidden; border:1px solid #e8e6f1; border-radius:14px; background:#fff; transition:transform .2s,box-shadow .2s; }
.library-card:hover { transform:translateY(-4px); box-shadow:0 19px 45px #28234f13; }
.library-image { position:relative; min-height:220px; overflow:hidden; background:#efedf8; }
.library-image img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:transform .45s; }
.library-card:hover .library-image img { transform:scale(1.04); }
.library-result { position:absolute; left:13px; bottom:13px; display:grid; gap:2px; padding:10px 13px; border:1px solid #ffffffb8; border-radius:9px; background:#fffefa; box-shadow:0 8px 20px #1112221c; }
.library-result small { color:#737789; font-size:8px; font-weight:700; letter-spacing:.65px; text-transform:uppercase; }
.library-result strong { color:#18192c; font:800 22px/1.05 var(--heading); }
.library-tag { position:absolute; top:13px; left:13px; padding:6px 9px; border:1px solid #ffffffa8; border-radius:99px; background:#fff; color:#4f40d7; font-size:8px; font-weight:700; }
.library-copy { display:flex; flex-direction:column; align-items:flex-start; padding:22px; }
.case-meta { display:inline-flex; gap:7px; color:#777b8b; font-size:8px; font-weight:700; letter-spacing:.8px; }
.library-copy h3 { margin:12px 0 6px; font:800 19px/1.2 var(--heading); letter-spacing:-.5px; }
.library-copy p { margin:0 0 18px; color:#6c7080; font-size:10px; line-height:1.75; }
.case-more { display:inline-flex; align-items:center; gap:9px; margin-top:auto; color:var(--primary); font-size:10px; font-weight:700; }
.case-more b { font-size:14px; }
.seo-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.seo-story { min-width:0; overflow:hidden; border:1px solid #e7e5f1; border-radius:14px; background:#fff; box-shadow:0 9px 28px #27234b08; transition:transform .2s,box-shadow .2s; }
.seo-story:hover { transform:translateY(-4px); box-shadow:0 18px 42px #27234b14; }
.seo-story-image { position:relative; height:270px; overflow:hidden; background:#efedf8; }
.seo-story-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.seo-story:hover img { transform:scale(1.04); }
.seo-outcome { position:absolute; left:18px; bottom:18px; display:grid; gap:3px; min-width:142px; padding:13px 15px; border:1px solid #ffffffc4; border-radius:10px; background:#fffefa; box-shadow:0 10px 28px #10111c1a; }
.seo-outcome small { color:#6d7180; font-size:8px; font-weight:700; letter-spacing:.65px; text-transform:uppercase; }
.seo-outcome strong { color:#16172b; font:800 26px/1.1 var(--heading); letter-spacing:-1px; }
.seo-story-content { padding:21px 23px 23px; }
.seo-story-content .case-meta b { color:#bbb9c8; }
.seo-story-content h3 { margin:9px 0 5px; font:800 20px var(--heading); letter-spacing:-.5px; }
.seo-story-content p { min-height:39px; margin:0 0 18px; color:#696d7c; font-size:11px; line-height:1.7; }
.case-disclaimer { margin:19px 0 0; color:#838697; font-size:9px; }
.website-projects { background:#f8f7ff; }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.project-card { position:relative; display:block; min-width:0; height:280px; overflow:hidden; border:5px solid #fff; border-radius:13px; background:#e7e5f3; box-shadow:0 14px 34px #27234b0d; }
.project-card::after { content:""; position:absolute; inset:28% 0 0; background:linear-gradient(transparent,#10101dd9); }
.project-card.project-large { grid-column:span 2; height:365px; }
.project-card>img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.project-card:hover>img { transform:scale(1.04); }
.project-card .project-overlay { z-index:1; right:24px; bottom:21px; left:24px; color:#fff; }
.project-card .project-overlay small { max-width:calc(100% - 45px); color:#d7d2ff; }
.project-card .project-overlay strong { max-width:670px; font-size:clamp(17px,2vw,25px); line-height:1.25; }
.project-card .project-overlay>b { position:static; display:block; width:auto; height:auto; margin-top:9px; border:0; border-radius:0; color:#e3e0ff; font-size:9px; }
.project-card.project-large .project-overlay strong { font-size:clamp(22px,3vw,37px); }
.website-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.website-project { display:block; min-width:0; }
.website-project-image { position:relative; aspect-ratio:1.45; overflow:hidden; border:6px solid #fff; border-radius:14px; background:#e7e5f3; box-shadow:0 15px 40px #27234b10; }
.website-project-image::after { content:""; position:absolute; inset:38% 0 0; background:linear-gradient(transparent,#10101dc9); }
.website-project-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.website-project:hover .website-project-image img { transform:scale(1.045); }
.project-overlay { position:absolute; z-index:1; right:22px; bottom:19px; left:22px; display:flex; flex-direction:column; align-items:flex-start; color:#fff; }
.project-overlay small { color:#e1defe; font-size:8px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.project-overlay strong { margin-top:3px; font:800 clamp(18px,2.4vw,27px)/1.15 var(--heading); letter-spacing:-.6px; }
.project-overlay b { position:absolute; right:0; bottom:0; display:grid; place-items:center; width:34px; height:34px; border:1px solid #ffffff77; border-radius:50%; font-size:14px; }
.project-caption { display:flex; justify-content:space-between; gap:12px; padding:12px 3px 0; color:#7a7d8e; font-size:8px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; }

@media(max-width:950px) {
  .page-hero-grid { gap:30px; }
  .page-hero-visual { height:370px; }
  .about-number-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .about-number-grid>p { grid-column:1/-1; max-width:none; margin:6px 0 0; }
  .four-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .included-grid,.why-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reason-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-card.project-large { grid-column:1/-1; height:320px; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-contact { grid-column:1/-1; }
  .library-card { grid-template-columns:1fr; }
  .library-image { min-height:220px; }
}
@media(max-width:700px) {
  .inner-page .page-hero { padding:27px 0 57px; }
  .inner-page .page-hero::after { width:270px; height:270px; right:-135px; top:80px; }
  .breadcrumbs { margin-bottom:22px; }
  .page-hero-grid { grid-template-columns:1fr; gap:29px; min-height:0; }
  .page-hero-copy h1,.case-hub-hero h1 { font-size:clamp(39px,10vw,58px); letter-spacing:-2.8px; }
  .page-hero-visual { height:min(74vw,370px); min-height:245px; margin-right:9px; }
  .case-hub-hero { grid-template-columns:minmax(0,1fr) 120px; gap:15px; padding:8px 0 27px; }
  .case-hub-mark { min-height:145px; padding:14px; }
  .case-hub-mark strong { font-size:40px; }
  .case-hub-mark>i { top:13px; right:12px; }
  .case-category-links { grid-template-columns:1fr; gap:9px; }
  .section-pad { padding:64px 0; }
  .story-grid,.faq-layout { grid-template-columns:1fr; gap:27px; }
  .story-grid h2,.section-heading h2,.faq-layout h2 { font-size:37px; }
  .about-number-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
  .about-number-grid>div { padding-left:11px; }
  .about-number-grid strong { font-size:30px; }
  .about-number-grid>div>span { font-size:8px; line-height:1.4; }
  .about-number-grid>p { font-size:11px; }
  .section-heading { margin-bottom:27px; }
  .team-grid,.package-grid { grid-template-columns:1fr; }
  .team-card { padding:20px; }
  .niche-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .timeline-grid,.four-steps { grid-template-columns:1fr; }
  .timeline-grid article { min-height:0; }
  .included-grid,.why-grid { grid-template-columns:1fr; }
  .included-grid article { min-height:0; }
  .page-service-grid { grid-template-columns:1fr; }
  .page-service-card { min-height:0; }
  .reason-grid { grid-template-columns:1fr; }
  .portfolio-grid { gap:10px; }
  .project-grid { grid-template-columns:1fr; }
  .project-card,.project-card.project-large { grid-column:auto; height:270px; }
  .portfolio-grid img { height:145px; }
  .portfolio-grid>a>span { padding:11px; font-size:9px; }
  .page-cta { padding:54px 0; }
  .page-cta-inner { align-items:flex-start; flex-direction:column; }
  .page-cta h2 { font-size:37px; letter-spacing:-1.7px; }
  .footer-main { gap:27px 18px; padding-top:42px; }
  .footer-brand { grid-column:1/-1; }
  .footer-email { font-size:12px; }
  .footer-bottom { font-size:8px; }
  .case-library-grid,.seo-story-grid,.website-project-grid { grid-template-columns:1fr; }
  .library-card { grid-template-columns:minmax(0,1fr) minmax(0,.95fr); }
  .library-image { min-height:200px; }
  .library-copy { padding:17px; }
  .library-copy h3 { font-size:16px; }
  .library-copy p { font-size:9px; }
  .seo-story-image { height:230px; }
  .project-caption { font-size:7px; }
}
@media(max-width:420px) {
  .case-hub-hero { grid-template-columns:1fr; }
  .case-hub-mark { display:none; }
  .portfolio-grid img { height:122px; }
  .library-card { grid-template-columns:1fr; }
  .library-image { min-height:205px; }
  .footer-main { grid-template-columns:1fr 1fr; }
}
