/*
Theme Name: Business Empire
Theme URI: https://business-empire.hr/
Author: Business Empire
Description: Premium dark/gold marketing theme with services, portfolio, FAQ, chat widget and contact form.
Version: 1.0.0
Text Domain: business-empire
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400..800&display=swap');

:root { --bg: #171719; --surface: #202023; --surface-2: #2a2a2d; --text: #fbfbfa; --muted: #b4b4b5; --gold: #e2b63e; --gold-light: #f0cc61; --line: rgba(255,255,255,.14); --radius: .75rem; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: 'DM Sans', Arial, sans-serif; font-feature-settings: 'kern' 1; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.content-container { width: 100%; max-width: 1400px; margin: 0 auto; padding-right: 32px; padding-left: 32px; }
.app-frame { min-height: 100vh; background: var(--bg); }

.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(23,23,25,.94); backdrop-filter: blur(15px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; max-width: 1400px; height: 70px; margin: 0 auto; padding: 0 32px; }
.logo { display: inline-flex; align-items: center; gap: 9px; font-size: 17px; font-weight: 700; letter-spacing: -.045em; white-space: nowrap; }
.logo b { color: var(--gold); }
.logo-symbol { display: inline-flex; align-items: flex-end; justify-content: center; gap: 2px; width: 27px; height: 27px; padding: 4px; border: 1px solid var(--gold); border-radius: 50%; transform: rotate(-35deg); }
.logo-symbol i { width: 4px; border-radius: 3px; background: var(--gold); }
.logo-symbol i:nth-child(1) { height: 8px; opacity: .5; }.logo-symbol i:nth-child(2) { height: 13px; opacity: .75; }.logo-symbol i:nth-child(3) { height: 18px; }
.desktop-nav { display: flex; align-items: center; gap: 27px; margin-left: auto; margin-right: 30px; }
.desktop-nav a { color: var(--muted); font-size: 13px; transition: color .2s; }.desktop-nav a:hover { color: var(--gold-light); }
.menu-trigger { display: none; flex-direction: column; gap: 5px; width: 35px; padding: 8px 0; border: 0; background: transparent; }.menu-trigger span { display: block; width: 24px; height: 2px; background: var(--text); }
.drawer-backdrop { position: fixed; inset: 0; z-index: 55; visibility: hidden; background: rgba(0,0,0,.58); opacity: 0; transition: opacity .25s, visibility .25s; }.drawer-backdrop.visible { visibility: visible; opacity: 1; }
.mobile-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 60; display: flex; flex-direction: column; width: min(390px, 88vw); padding: 25px 25px; background: #252527; box-shadow: -15px 0 45px rgba(0,0,0,.25); transform: translateX(101%); transition: transform .3s cubic-bezier(.2,.8,.2,1); }.mobile-drawer.open { transform: translateX(0); }.drawer-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 26px; border-bottom: 1px solid var(--line); }.drawer-head button { border: 0; color: var(--text); background: transparent; font-size: 31px; line-height: 1; }.mobile-drawer nav { display: flex; flex-direction: column; margin-top: 25px; }.mobile-drawer nav a { display: flex; justify-content: space-between; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 18px; }.mobile-drawer nav a span { color: var(--gold); }.drawer-foot { margin-top: auto; color: #99999d; font-size: 12px; line-height: 1.8; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 45px; padding: 0 20px; border: 1px solid transparent; border-radius: 7px; font-size: 13px; font-weight: 700; transition: transform .2s, background .2s, color .2s; }.button:hover { transform: translateY(-2px); }.button b { font-size: 17px; font-weight: 400; }.button.primary { background: var(--gold); color: #181818; }.button.primary:hover { background: var(--gold-light); }.button.outline { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.06); }.button.outline:hover { border-color: var(--gold); color: var(--gold-light); }.button.light { background: var(--text); color: #1a1a1b; }.button.full { width: 100%; }.badge { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 12px; border: 1px solid rgba(226,182,62,.4); border-radius: 99px; color: var(--gold-light); background: rgba(226,182,62,.11); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

.home-hero { position: relative; display: flex; align-items: center; min-height: calc(100vh - 70px); overflow: hidden; }.home-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }.home-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,23,25,.98) 0%, rgba(23,23,25,.88) 44%, rgba(23,23,25,.64) 100%); }.hero-content { position: relative; z-index: 1; padding-top: 95px; padding-bottom: 95px; }.hero-logo-lockup { display: flex; align-items: center; gap: 14px; margin-bottom: 27px; color: var(--gold-light); }.hero-logo-lockup small { font-size: 10px; font-weight: 700; letter-spacing: .16em; line-height: 1.25; }.hero-emblem { display: grid; place-items: center; width: 63px; height: 63px; border: 1px solid var(--gold); border-radius: 50%; font-size: 31px; transform: rotate(14deg); }.hero-content h1 { max-width: 760px; margin: 0 0 24px; font-size: clamp(43px, 6.6vw, 88px); line-height: .97; letter-spacing: -.075em; }.hero-content h1 span, .center-heading h2 span, .page-heading h1 span, .about-intro h2 span, .mission-grid h2 span, .contact-info h2 span, .process-section h2 span, .service-hero h1 span { color: var(--gold); }.hero-content > p { max-width: 650px; margin: 0 0 33px; color: #ceced0; font-size: clamp(16px, 1.6vw, 20px); line-height: 1.52; }.hero-buttons { display: flex; gap: 14px; }
.offer-strip { padding: 44px 0; background: var(--gold); color: #1d1d1e; text-align: center; }.offer-inner { display: flex; flex-direction: column; align-items: center; }.offer-inner .badge { border-color: rgba(29,29,30,.35); color: #29271f; background: rgba(255,255,255,.18); }.offer-inner h2 { margin: 16px 0 7px; font-size: clamp(24px, 3.1vw, 42px); letter-spacing: -.055em; }.offer-inner p { margin: 0; font-size: 15px; }.countdown { display: flex; align-items: center; gap: 10px; margin: 23px 0; }.countdown > div { min-width: 75px; padding: 10px 11px; border-radius: 8px; background: rgba(255,255,255,.19); }.countdown strong { display: block; font-size: 31px; line-height: 1; }.countdown small { display: block; margin-top: 7px; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }.countdown i { font-size: 26px; font-style: normal; }.offer-inner .button { min-width: 220px; }

.center-heading { max-width: 800px; margin: 0 auto 58px; text-align: center; }.center-heading .badge { margin-bottom: 15px; }.center-heading h2 { margin: 0 0 14px; font-size: clamp(30px, 4vw, 51px); line-height: 1.04; letter-spacing: -.065em; }.center-heading p { max-width: 650px; margin: 0 auto; color: var(--muted); font-size: 16px; line-height: 1.55; }.home-services { padding-top: 105px; padding-bottom: 110px; }.reference-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.reference-service-card { position: relative; display: flex; flex-direction: column; min-height: 280px; padding: 24px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); transition: border-color .25s, transform .25s, background .25s; }.reference-service-card:hover { border-color: rgba(226,182,62,.58); background: #29292b; transform: translateY(-5px); }.service-icon { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 12px; color: #191919; background: var(--gold); font-size: 22px; font-weight: 700; }.service-card-number { position: absolute; top: 27px; right: 24px; color: #6f6f73; font-size: 11px; letter-spacing: .15em; }.reference-service-card h3 { margin: 27px 0 10px; font-size: 20px; line-height: 1.1; letter-spacing: -.045em; }.reference-service-card p { max-width: 330px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }.card-link { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 20px; color: var(--gold-light); font-size: 12px; font-weight: 700; }.card-link b { font-size: 17px; font-weight: 400; }
.reference-marquee { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #1d1d20; }.reference-marquee-track { display: flex; align-items: center; gap: 34px; min-width: max-content; padding: 19px 0; color: #848489; font-size: 10px; font-weight: 700; letter-spacing: .17em; animation: marquee 24s linear infinite; }.reference-marquee-track b { color: var(--gold); font-size: 15px; font-weight: 400; }@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-28%); } }
.testimonials-section { padding: 105px 0; background: var(--surface); }.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.testimonial-card { display: flex; flex-direction: column; min-height: 250px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.025); }.stars { color: var(--gold); letter-spacing: 4px; }.testimonial-card > p { margin: 22px 0 25px; color: #dadadd; font-size: 14px; line-height: 1.6; }.testimonial-author { display: flex; align-items: center; gap: 11px; margin-top: auto; }.testimonial-author > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: #191919; background: var(--gold); font-weight: 800; }.testimonial-author strong, .testimonial-author small { display: block; }.testimonial-author strong { font-size: 12px; }.testimonial-author small { margin-top: 3px; color: #88888e; font-size: 10px; }.home-cta { padding-top: 90px; padding-bottom: 90px; }.home-cta > div { padding: 55px 35px; border: 1px solid rgba(226,182,62,.4); border-radius: var(--radius); background: linear-gradient(120deg, rgba(226,182,62,.12), rgba(255,255,255,.025)); text-align: center; }.home-cta h2 { margin: 0 0 13px; font-size: clamp(27px, 3.2vw, 43px); letter-spacing: -.06em; }.home-cta p { max-width: 620px; margin: 0 auto 28px; color: var(--muted); line-height: 1.5; }

.page-heading { max-width: 930px; margin: 0 auto; padding: 115px 32px 90px; text-align: center; }.page-heading h1 { margin: 23px 0 17px; font-size: clamp(42px, 6vw, 78px); line-height: .98; letter-spacing: -.075em; }.page-heading p { max-width: 680px; margin: 0 auto; color: var(--muted); font-size: 18px; line-height: 1.5; }
.about-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 78px; align-items: center; padding-bottom: 120px; }.about-image { height: 430px; overflow: hidden; border-radius: var(--radius); }.about-image img { width: 100%; height: 100%; object-fit: cover; }.about-intro h2, .mission-grid h2 { margin: 21px 0 18px; font-size: clamp(32px, 4vw, 54px); line-height: 1; letter-spacing: -.07em; }.about-intro p, .mission-grid p { margin: 0 0 17px; color: var(--muted); font-size: 16px; line-height: 1.6; }.mission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding-bottom: 115px; }.mission-grid article { padding: 35px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }.values-section { padding: 105px 0; background: var(--surface); }.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.values-grid > div { padding-top: 20px; border-top: 2px solid var(--gold); }.values-grid strong { color: var(--gold); font-size: 13px; }.values-grid h3 { margin: 21px 0 10px; font-size: 23px; letter-spacing: -.04em; }.values-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.portfolio-section { padding-bottom: 130px; }.portfolio-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 35px; }.portfolio-filters button { padding: 9px 14px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); background: transparent; font-size: 12px; }.portfolio-filters button.active, .portfolio-filters button:hover { border-color: var(--gold); color: #191919; background: var(--gold); }.portfolio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 38px 18px; }.portfolio-art { display: flex; align-items: flex-end; justify-content: space-between; height: 330px; padding: 25px; overflow: hidden; border-radius: var(--radius); }.portfolio-art span { font-size: clamp(26px, 4vw, 50px); font-weight: 800; letter-spacing: -.08em; }.portfolio-art b { align-self: flex-start; font-size: 25px; font-weight: 400; }.portfolio-coastal { color: #171719; background: linear-gradient(135deg, #e2b63e 0 25%, #f4d87a 25% 56%, #bb7c33 56%); }.portfolio-meridian { color: #fff; background: linear-gradient(140deg, #151b2c, #3c5885 62%, #e2b63e); }.portfolio-elm { color: #171719; background: linear-gradient(135deg, #d6ebba, #f8c6b4 50%, #c8acdf); }.portfolio-northline { color: #fff; background: linear-gradient(135deg, #4740a0, #d2a9f7 48%, #e2b63e); }.portfolio-card > small { display: block; margin-top: 15px; color: var(--gold-light); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }.portfolio-card h3 { margin: 7px 0 0; font-size: 22px; letter-spacing: -.045em; }

.faq-section { display: grid; grid-template-columns: 1.15fr .85fr; gap: 75px; padding-bottom: 130px; }.faq-list { border-top: 1px solid var(--line); }.faq-item { border-bottom: 1px solid var(--line); }.faq-item button { display: grid; grid-template-columns: 45px 1fr 25px; gap: 16px; align-items: center; width: 100%; padding: 23px 0; border: 0; color: var(--text); background: transparent; text-align: left; }.faq-item button > span { color: var(--gold); font-size: 11px; }.faq-item button strong { font-size: 16px; }.faq-item button b { justify-self: end; color: var(--gold); font-size: 22px; font-weight: 400; }.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s; }.faq-answer p { overflow: hidden; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }.faq-item.open .faq-answer { grid-template-rows: 1fr; }.faq-item.open .faq-answer p { padding: 0 45px 24px 61px; }.faq-callout { align-self: start; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }.faq-callout h2 { margin: 20px 0 12px; font-size: 29px; line-height: 1.05; letter-spacing: -.06em; }.faq-callout p { margin: 0 0 24px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-bottom: 130px; }.contact-form-card { padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }.contact-form-card form { display: grid; gap: 21px; }.contact-form-card label { display: flex; flex-direction: column; gap: 8px; color: #d6d6d8; font-size: 12px; font-weight: 600; }.contact-form-card input, .contact-form-card select, .contact-form-card textarea { width: 100%; border: 1px solid rgba(255,255,255,.15); border-radius: 6px; outline: 0; padding: 12px 13px; color: var(--text); background: #2a2a2d; }.contact-form-card textarea { resize: vertical; }.contact-form-card input:focus, .contact-form-card select:focus, .contact-form-card textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(226,182,62,.15); }.contact-form-card input::placeholder, .contact-form-card textarea::placeholder { color: #7d7d82; }.contact-form-card select option { color: #fff; background: #2a2a2d; }.contact-info h2 { margin: 21px 0 16px; font-size: clamp(32px, 4vw, 53px); line-height: 1; letter-spacing: -.07em; }.contact-info > p { max-width: 430px; color: var(--muted); line-height: 1.55; }.info-list { display: grid; gap: 24px; margin-top: 38px; }.info-list > div { display: flex; gap: 15px; align-items: flex-start; }.info-list > div > span { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 9px; color: var(--gold); background: rgba(226,182,62,.12); font-size: 20px; }.info-list p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }.info-list small, .working-hours small { display: block; margin-bottom: 3px; color: var(--text); font-size: 11px; font-weight: 700; }.info-list a { transition: color .2s; }.info-list a:hover { color: var(--gold); }.working-hours { margin-top: 35px; padding-top: 25px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }.working-hours p { margin: 7px 0; }.form-success { min-height: 430px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }.form-success > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: #191919; background: var(--gold); font-size: 25px; }.form-success h2 { margin: 22px 0 10px; font-size: 31px; letter-spacing: -.06em; }.form-success p { margin: 0 0 24px; color: var(--muted); }.text-button { border: 0; padding: 0; color: var(--gold); background: transparent; font-size: 13px; font-weight: 700; }

.service-hero { padding: 105px 0; background: linear-gradient(135deg, #202024, #171719); }.service-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 78px; align-items: center; }.service-hero h1 { margin: 24px 0 18px; font-size: clamp(40px, 5.8vw, 72px); line-height: .98; letter-spacing: -.075em; }.service-hero p { max-width: 570px; margin: 0 0 30px; color: var(--muted); font-size: 17px; line-height: 1.58; }.service-hero-grid > img { width: 100%; max-height: 460px; object-fit: cover; border-radius: var(--radius); box-shadow: 0 25px 70px rgba(0,0,0,.25); }.service-benefits { padding: 105px 0; background: var(--surface); }.benefits-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }.benefits-grid > div { padding: 22px 18px; border-top: 2px solid var(--gold); background: rgba(255,255,255,.025); }.benefits-grid > div > span { color: var(--gold); font-size: 19px; }.benefits-grid p { margin: 14px 0 0; color: #d5d5d7; font-size: 13px; line-height: 1.45; }.process-section { padding-top: 115px; padding-bottom: 130px; }.process-list { max-width: 900px; margin: 54px auto 0; border-top: 1px solid var(--line); }.process-row { display: grid; grid-template-columns: 60px 1fr 35px; gap: 20px; align-items: start; padding: 26px 0; border-bottom: 1px solid var(--line); }.process-row > strong { color: var(--gold); font-size: 13px; }.process-row h3 { margin: 0 0 8px; font-size: 21px; letter-spacing: -.04em; }.process-row p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }.process-row > span { color: var(--gold); font-size: 22px; }.service-cta { padding: 86px 0; background: var(--gold); color: #191919; text-align: center; }.service-cta .content-container { display: flex; flex-direction: column; align-items: center; }.service-cta .badge { border-color: rgba(25,25,25,.35); color: #312a18; background: rgba(255,255,255,.18); }.service-cta h2 { margin: 19px 0 12px; font-size: clamp(29px, 4vw, 54px); letter-spacing: -.07em; }.service-cta p { margin: 0 0 25px; font-size: 16px; }.simple-info { min-height: 400px; padding-bottom: 120px; }.simple-info h2 { margin: 23px 0 10px; font-size: 42px; letter-spacing: -.07em; }.simple-info p { color: var(--muted); }.simple-info a { color: var(--gold); }

.site-footer { padding: 60px 0 25px; border-top: 1px solid var(--line); background: #202023; }.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1.35fr 1fr; gap: 35px; max-width: 1400px; margin: 0 auto; padding: 0 32px 52px; }.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }.footer-grid .logo { margin-bottom: 10px; }.footer-grid p { max-width: 280px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }.footer-grid h3 { margin: 0 0 7px; color: var(--gold-light); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }.footer-grid > div > a:not(.logo) { color: var(--muted); font-size: 13px; }.footer-grid > div > a:not(.logo):hover { color: var(--gold); }.socials { display: flex; gap: 10px; }.socials a { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); font-size: 12px; }.socials a:hover { color: #191919; background: var(--gold); }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; max-width: 1400px; margin: 0 auto; padding: 21px 32px 0; border-top: 1px solid var(--line); color: #85858a; font-size: 11px; }.footer-bottom div { display: flex; gap: 23px; }.footer-bottom a:hover { color: var(--gold); }
.chat-widget { position: fixed; right: 25px; bottom: 22px; z-index: 70; }.chat-launcher { display: grid; place-items: center; width: 56px; height: 56px; border: 0; border-radius: 50%; color: #1b1b1c; background: var(--gold); box-shadow: 0 0 0 7px rgba(226,182,62,.14), 0 10px 28px rgba(0,0,0,.25); font-size: 28px; }.chat-window { position: absolute; right: 0; bottom: 73px; display: none; width: min(375px, calc(100vw - 32px)); overflow: hidden; border: 1px solid rgba(226,182,62,.32); border-radius: var(--radius); background: #f5f5f5; color: #191919; box-shadow: 0 20px 60px rgba(0,0,0,.35); }.chat-window.open { display: block; animation: chat-in .2s ease-out; }@keyframes chat-in { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }.chat-head { display: flex; justify-content: space-between; align-items: center; padding: 17px; color: #191919; background: var(--gold); }.chat-head button { border: 0; color: #191919; background: transparent; font-size: 25px; }.chat-messages { display: flex; flex-direction: column; gap: 10px; max-height: 220px; overflow-y: auto; padding: 15px; }.chat-bubble { align-self: flex-start; max-width: 82%; padding: 9px 11px; border-radius: 10px; color: #35353a; background: #e4e4e7; font-size: 12px; line-height: 1.4; }.chat-bubble.user { align-self: flex-end; color: #fff; background: #252527; }.quick-replies { display: flex; flex-direction: column; gap: 7px; padding: 14px; border-top: 1px solid #ddd; }.quick-replies small { color: #777; font-size: 10px; }.quick-replies button { padding: 8px 10px; border: 1px solid #ccc; border-radius: 6px; color: #414145; background: #fff; font-size: 11px; text-align: left; }.quick-replies button:hover { border-color: var(--gold); }

@media (max-width: 900px) { .content-container { padding-right: 24px; padding-left: 24px; }.header-inner { padding: 0 24px; }.desktop-nav { gap: 15px; margin-right: 10px; }.reference-service-grid { grid-template-columns: repeat(2, 1fr); }.testimonial-grid, .values-grid { grid-template-columns: 1fr; }.benefits-grid { grid-template-columns: repeat(3, 1fr); }.about-intro, .contact-layout, .service-hero-grid, .faq-section { gap: 40px; }.about-intro { grid-template-columns: 1fr; }.about-image { height: 350px; }.contact-layout, .service-hero-grid, .faq-section { grid-template-columns: 1fr; }.footer-grid { grid-template-columns: repeat(2, 1fr); padding-right: 24px; padding-left: 24px; }.footer-bottom { padding-right: 24px; padding-left: 24px; }.page-heading { padding-right: 24px; padding-left: 24px; }.benefits-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .content-container { padding-right: 18px; padding-left: 18px; }.header-inner { height: 62px; padding: 0 18px; }.logo { font-size: 13px; }.logo-symbol { width: 23px; height: 23px; }.desktop-nav { display: none; }.menu-trigger { display: flex; }.home-hero { min-height: calc(100vh - 62px); }.home-hero-overlay { background: linear-gradient(90deg, rgba(23,23,25,.98), rgba(23,23,25,.82)); }.hero-content { padding-top: 70px; padding-bottom: 70px; }.hero-logo-lockup { margin-bottom: 22px; }.hero-emblem { width: 50px; height: 50px; font-size: 25px; }.hero-logo-lockup small { font-size: 8px; }.hero-content h1 { font-size: clamp(43px, 13vw, 70px); }.hero-content > p { font-size: 15px; }.hero-buttons { flex-direction: column; align-items: flex-start; }.hero-buttons .button { width: 100%; }.offer-strip { padding: 36px 0; }.offer-inner h2 { font-size: 28px; }.countdown { gap: 5px; }.countdown > div { min-width: 66px; }.countdown strong { font-size: 26px; }.home-services { padding-top: 78px; padding-bottom: 80px; }.center-heading { margin-bottom: 38px; }.center-heading h2 { font-size: 34px; }.reference-service-grid { grid-template-columns: 1fr; }.reference-service-card { min-height: 260px; }.testimonials-section { padding: 78px 0; }.home-cta { padding-top: 60px; padding-bottom: 70px; }.home-cta > div { padding: 38px 20px; }.page-heading { padding-top: 80px; padding-bottom: 62px; }.page-heading h1 { font-size: 48px; }.page-heading p { font-size: 15px; }.about-intro { padding-bottom: 78px; }.about-image { height: 260px; }.about-intro h2, .mission-grid h2, .contact-info h2 { font-size: 38px; }.mission-grid { grid-template-columns: 1fr; padding-bottom: 78px; }.mission-grid article { padding: 25px; }.values-section { padding: 75px 0; }.portfolio-section { padding-bottom: 80px; }.portfolio-grid { grid-template-columns: 1fr; }.portfolio-art { height: 260px; }.faq-section, .contact-layout { padding-bottom: 80px; }.faq-item button { grid-template-columns: 28px 1fr 20px; gap: 10px; }.faq-item button strong { font-size: 14px; }.faq-item.open .faq-answer p { padding-left: 38px; }.contact-form-card { padding: 20px; }.service-hero { padding: 75px 0; }.service-hero h1 { font-size: 49px; }.service-hero p { font-size: 15px; }.service-benefits { padding: 75px 0; }.benefits-grid { grid-template-columns: 1fr; }.process-section { padding-top: 78px; padding-bottom: 80px; }.process-row { grid-template-columns: 35px 1fr 20px; gap: 11px; }.service-cta { padding: 70px 0; }.footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 18px; padding-bottom: 38px; }.footer-grid > div:first-child { grid-column: 1 / -1; }.footer-bottom { flex-direction: column; padding-top: 17px; }.footer-bottom div { flex-wrap: wrap; gap: 12px; }.chat-widget { right: 18px; bottom: 17px; } }
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

