/* Commercial homepage. All brand colours come from the existing style.css. */
html { overflow-x:clip; }
body { font-family:'Inter',sans-serif; overflow-x:clip; }
.container { max-width:1280px; padding-inline:40px; overflow:visible; }
.header { padding:18px 0; background:rgba(10,25,41,.84); }
.header.scrolled { padding:14px 0; }
.header__container { gap:24px; }
.logo__text { font-size:27px; letter-spacing:-.8px; }
.nav { gap:23px; }
.nav__link { font-size:12px; font-weight:500; }
.header__right { gap:16px; }
.header-cta { display:flex; align-items:center; gap:14px; padding:11px 17px; color:#fff; text-decoration:none; font-size:11px; font-weight:600; border:1px solid rgba(96,165,250,.35); background:rgba(37,99,235,.1); border-radius:8px; transition:background .3s,border-color .3s; }
.header-cta:hover { background:rgba(37,99,235,.25); border-color:var(--primary-light); }
.lang-select { font-size:10px; padding:9px 27px 9px 12px; border-radius:8px; }
.hero { min-height:760px; padding:140px 0 85px; }
.hero__container { grid-template-columns:1.2fr 1fr; gap:30px; text-align:left; }
.hero__badge { font-size:10px; font-weight:500; letter-spacing:1px; padding:8px 12px; margin-bottom:24px; }
.hero__title { margin-bottom:24px; }
.hero__title-line { overflow:visible; }
.hero__title-text { font-size:clamp(42px,4.4vw,64px); font-weight:700; line-height:1.13; letter-spacing:-2.6px; }
.hero__title-sparkle { display:none; }
.hero__subtitle { font:400 15px/1.9 'Inter',sans-serif; max-width:450px; margin-bottom:28px; }
.hero__actions { gap:12px; margin-bottom:17px; justify-content:flex-start; }
.btn { font-family:'Inter',sans-serif; font-size:12px; font-weight:600; letter-spacing:0; padding:15px 22px; border-radius:9px; }
.btn--hero { font-size:12px; padding:17px 25px; }
.btn--primary { box-shadow:0 8px 24px rgba(37,99,235,.18); }
.btn__icon { font-size:13px; }
.hero-note { display:flex; gap:9px; font-size:10px; line-height:1.7; color:var(--text-muted); margin-bottom:32px; }
.hero-note i { color:var(--primary-light); padding-top:3px; }
.hero__stats { display:flex; gap:44px; border-top:1px solid var(--border-color); padding-top:23px; margin:0; max-width:420px; }
.stat { text-align:left; }.stat__value { font-family:'Inter',sans-serif; font-weight:600; font-size:30px; line-height:1.2; }
.stat__label { font-size:10px; margin-top:8px; color:var(--text-muted); }
.mascot-container { width:440px; height:440px; }.mascot { width:350px; height:350px; }
.floating-code { font-family:'Inter',sans-serif; font-size:10px; padding:12px 14px; background:rgba(26,42,58,.85); box-shadow:0 12px 32px rgba(0,0,0,.1); display:flex; align-items:center; gap:9px; }
.floating-code i { color:var(--primary-light); }
.floating-code--1 { top:10%; left:2%; }.floating-code--2 { top:56%; right:0; }.floating-code--3 { bottom:12%; left:3%; }
.hero__scroll { bottom:20px; }.scroll-indicator { flex-direction:row; gap:10px; }.scroll-indicator__mouse { width:17px; height:27px; border-width:1px; }.scroll-indicator__text { font-size:9px; letter-spacing:1px; }
.capabilities { border-block:1px solid var(--border-color); background:rgba(26,42,58,.35); }
.capabilities__inner { display:flex; align-items:center; justify-content:space-between; gap:22px; padding-block:26px; }
.capabilities__label { font-size:10px; text-transform:uppercase; letter-spacing:1.2px; color:var(--text-muted); }
.capabilities__inner > span:not(:first-child) { font-size:13px; color:var(--text-secondary); }.capabilities__inner b { font-weight:400; color:var(--primary-light); }
.services,.projects,.contact,.work-process,.commercial-faq { padding:96px 0; }
.section-header { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; text-align:left; margin-bottom:40px; }
.section-title__accent { font:500 10px/1.5 'Inter',sans-serif; text-transform:uppercase; letter-spacing:1.5px; color:var(--primary-light); margin-bottom:19px; }
.section-title__main { font:600 clamp(32px,3.4vw,46px)/1.16 'Inter',sans-serif; text-transform:none; letter-spacing:-1.7px; background:none; -webkit-text-fill-color:var(--text-primary); }
.section-subtitle { max-width:330px; font-size:12px; line-height:1.9; margin:0; color:var(--text-muted); }
.services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:0; gap:18px; }
.service-card { display:flex; flex-direction:column; padding:30px; border-radius:14px; background:rgba(26,42,58,.65); backdrop-filter:blur(12px); transition:transform .4s,border-color .4s,box-shadow .4s; }
.service-card:hover { transform:translateY(-6px); }.service-card.popular { border-color:rgba(96,165,250,.5); box-shadow:none; background:linear-gradient(145deg,rgba(37,99,235,.16),rgba(26,42,58,.8)); }
.popular-badge { background:rgba(37,99,235,.18); color:var(--primary-light); font-size:9px; font-weight:500; letter-spacing:.2px; border:1px solid rgba(96,165,250,.25); top:29px; right:24px; border-radius:6px; }
.service-card__icon { width:45px; height:45px; border-radius:10px; background:rgba(37,99,235,.12); border:1px solid rgba(96,165,250,.2); color:var(--primary-light); font-size:20px; margin-bottom:24px; }
.service-card h3 { font-size:19px; font-weight:600; letter-spacing:-.4px; margin-bottom:12px; line-height:1.5; }.service-card__desc { font-size:12px; line-height:1.9; margin-bottom:24px; color:var(--text-muted); }
.service-card__price { border-bottom:1px solid var(--border-color); padding-bottom:20px; margin-bottom:18px; }.price-value { font-size:30px; font-weight:600; letter-spacing:-1px; }.price-from,.price-currency { font-size:12px; }
.service-card__features { margin-bottom:25px; }.service-card__features li { font-size:11px; padding-block:5px; }.service-card__features li::before { color:var(--primary-light); }
.service-card__btn { position:relative; z-index:1; margin-top:auto; padding:13px 12px; font-size:11px; gap:12px; }
.projects { border-block:1px solid var(--border-color); background:rgba(10,25,41,.25); }
.projects-slider { overflow:hidden; padding:0; margin-bottom:0; }.projects-slider__slide { flex:0 0 100%; min-width:100%; padding:0; }
.project-card { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:44px; height:auto; min-height:420px; padding:40px; background:rgba(26,42,58,.8); border-radius:16px; }
.project-card:hover { transform:none; }.project-card__bg-text { display:none; }.project-card__content { height:auto; grid-column:1; grid-row:1; }.project-card__header { margin-bottom:12px; }.project-card__tag { font-size:10px; background:rgba(37,99,235,.1); color:var(--primary-light); border-radius:5px; }.project-card__year { font-size:10px; }.project-card__title { font:600 29px/1.2 'Inter',sans-serif; letter-spacing:-.8px; margin-bottom:17px; }.project-card__description { font-size:13px; line-height:1.85; }.project-card__tech { margin:22px 0; }.project-card__tech span { font-size:10px; border-radius:5px; }.project-card__link { width:fit-content; padding:12px 17px; border-radius:8px; font-size:11px; margin-top:8px; }
.product-visual { grid-column:2; grid-row:1; padding:0; border:1px solid rgba(96,165,250,.3); border-radius:12px; background:rgba(10,25,41,.9); box-shadow:0 20px 50px rgba(0,0,0,.2); transform:rotate(-2deg); transition:transform .6s; overflow:hidden; }
.project-card:hover .product-visual { transform:rotate(0); }.product-bar { display:flex; justify-content:space-between; padding:15px 20px; border-bottom:1px solid var(--border-color); font-size:11px; color:var(--text-muted); }.product-brand { color:var(--text-secondary); }.product-body { padding:28px 23px; }.product-eyebrow { display:block; font-size:8px; letter-spacing:1.5px; color:var(--primary-light); margin-bottom:12px; }.product-body > strong { display:block; font-size:24px; line-height:1.3; font-weight:500; letter-spacing:-.6px; margin-bottom:24px; }.product-task { display:flex; align-items:center; gap:9px; padding:12px; margin-top:8px; background:rgba(96,165,250,.05); border:1px solid var(--border-light); border-radius:6px; font-size:10px; }.product-task > span { color:var(--primary-light); }.product-task em { margin-left:auto; font-size:8px; font-style:normal; color:var(--primary-light); padding:3px 7px; border-radius:4px; background:rgba(37,99,235,.1); }.product-upload { display:flex; flex-direction:column; gap:10px; padding:20px; align-items:center; border:1px dashed rgba(96,165,250,.3); border-radius:8px; }.product-upload i { font-size:27px; color:var(--primary-light); }.product-upload span { font-size:10px; color:var(--text-muted); }.product-gifts { display:flex; gap:10px; }.product-gifts > div { flex:1; text-align:center; padding:22px 6px; background:rgba(124,58,237,.12); border:1px solid rgba(124,58,237,.2); font-size:30px; color:var(--primary-light); border-radius:9px; }.product-gifts small { display:block; font-size:8px; margin-top:10px; color:var(--text-secondary); }
.projects-slider__controls { margin-top:24px; justify-content:flex-end; }.slider-btn { width:42px; height:42px; font-size:12px; }
.work-process__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }.work-process__grid article { border-top:1px solid rgba(96,165,250,.3); padding-top:22px; }.work-process__grid article > span { color:var(--primary-light); font-size:11px; }.work-process__grid h3 { font-size:17px; font-weight:600; letter-spacing:-.3px; margin:27px 0 12px; }.work-process__grid p { font-size:12px; color:var(--text-muted); line-height:1.9; }
.commercial-faq { padding-top:30px; }.commercial-faq__grid { display:grid; grid-template-columns:1fr 1.4fr; gap:60px; }.faq-list details { border-bottom:1px solid var(--border-color); }.faq-list summary { list-style:none; display:flex; justify-content:space-between; gap:20px; padding:23px 0; font-size:14px; font-weight:500; cursor:pointer; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary::after { content:'+'; color:var(--primary-light); font-size:23px; line-height:20px; font-weight:400; }.faq-list details[open] summary::after { content:'−'; }.faq-list p { font-size:12px; color:var(--text-muted); line-height:1.9; padding:0 30px 24px 0; }
.contact { border-top:1px solid var(--border-color); background:linear-gradient(145deg,rgba(37,99,235,.06),rgba(124,58,237,.05)); }.contact__wrapper { gap:64px; }.contact-info__item { background:none; padding:16px 0; border:0; }.contact-info__item:hover { transform:none; background:none; }.contact-info__icon { width:44px; height:44px; font-size:17px; border-radius:10px; background:rgba(37,99,235,.1); border:1px solid rgba(96,165,250,.2); color:var(--primary-light); }.contact-info__content h3 { font-size:12px; }.contact-info__content a,.contact-info__content p { font-size:13px; }.contact__social h3 { font-size:12px; }.social-link { width:40px; height:40px; font-size:17px; border-radius:10px; }
.contact-form { padding:32px; gap:27px; border-radius:14px; background:rgba(26,42,58,.8); }.form-heading h3 { font-size:20px; font-weight:600; letter-spacing:-.5px; margin-bottom:8px; }.form-heading p { font-size:11px; line-height:1.8; color:var(--text-muted); }.form-input,.form-textarea { font-family:'Inter',sans-serif; font-size:13px; }.form-label { font-size:12px; }.form-privacy { color:var(--text-muted); font-size:10px; line-height:1.8; }.form-privacy a { color:var(--primary-light); }
.footer { padding-top:55px; }.footer__logo { font-family:'Inter',sans-serif; font-size:28px; }.footer__tagline { font-size:12px; line-height:1.8; }.footer__column h4 { font-size:12px; }.footer__column a { font-size:11px; }.footer__copyright,.footer__madeby { font-size:10px; }
.cookie-banner { bottom:16px; left:20px; right:20px; padding:16px 22px; border:1px solid var(--border-color); border-radius:12px; background:rgba(10,25,41,.97); }.cookie-banner__text { font-size:11px; }.cookie-btn { font-size:11px; }.cookie-btn--accept { background:var(--gradient-primary); }.cookie-btn--decline { border-color:var(--border-color); }
.ai-audit-popup__icon { display:none; }.ai-audit-popup__content { background:var(--bg-secondary); }.ai-audit-popup__title { font-size:18px; }.ai-audit-popup__desc { font-size:12px; }
:focus-visible { outline:2px solid var(--primary-light); outline-offset:5px; }
@media(max-width:1100px) { .nav { gap:15px; }.nav__link { font-size:11px; }.header-cta { padding:10px 12px; }.hero__title-text { font-size:47px; }.mascot-container { width:360px; height:400px; }.mascot { width:310px; height:310px; }.container { padding-inline:30px; }.service-card { padding:25px; } }
@media(max-width:1024px) { .nav { display:none; }.burger { display:flex; }.hero__container { grid-template-columns:1.15fr 1fr; }.hero__title-text { font-size:42px; letter-spacing:-1.7px; }.hero__actions .btn { padding:14px 17px; }.hero__subtitle { font-size:14px; }.mascot-container { width:320px; height:370px; }.mascot { width:290px; height:290px; }.services-grid { grid-template-columns:1fr 1fr; }.capabilities__inner { flex-wrap:wrap; justify-content:center; }.capabilities__label { width:100%; text-align:center; }.contact__wrapper { gap:30px; } }
@media(max-width:767px) { .container { padding-inline:22px; overflow:visible; }.header { padding:14px 0; }.header__right { gap:10px; }.header-cta { display:none; }.hero { padding:110px 0 60px; min-height:auto; }.hero__container { grid-template-columns:1fr; gap:25px; text-align:left; }.hero__badge { font-size:9px; letter-spacing:.4px; margin-bottom:23px; }.hero__title-text { font-size:clamp(32px,8.5vw,48px); letter-spacing:-1.3px; line-height:1.17; }.hero__subtitle { font-size:13px; margin-bottom:24px; }.hero__actions { flex-direction:row; align-items:stretch; flex-wrap:wrap; gap:10px; }.hero__actions .btn { width:auto; font-size:11px; padding:14px 17px; }.hero-note { font-size:10px; margin-bottom:24px; }.hero__stats { display:flex; gap:35px; padding-top:20px; }.stat { text-align:left; }.stat__value { font-size:28px; }.stat__label { font-size:9px; }.mascot-container { width:300px; height:310px; }.mascot { width:260px; height:260px; }.hero__image { margin:12px 0 0; }.hero__scroll { display:none; }.floating-code { display:none; }.capabilities__inner { padding-block:20px; gap:12px 18px; }.capabilities__inner > span:not(:first-child) { font-size:11px; }.capabilities__inner b { font-size:11px; }.capabilities__inner b:last-of-type { display:none; }.services,.projects,.contact,.work-process,.commercial-faq { padding:65px 0; }.section-header { display:block; margin-bottom:30px; }.section-title__accent { font-size:9px; margin-bottom:17px; }.section-title__main { font-size:34px; letter-spacing:-1.2px; }.section-subtitle { margin-top:19px; font-size:11px; max-width:100%; }.services-grid { grid-template-columns:1fr; gap:15px; }.service-card { padding:27px; }.service-card__desc { font-size:12px; }.service-card__features li { font-size:12px; }.service-card__btn { font-size:12px; }.project-card { grid-template-columns:1fr; min-height:0; padding:25px; gap:28px; }.project-card__content { grid-column:1; grid-row:2; }.project-card__title { font-size:25px; }.product-visual { grid-column:1; grid-row:1; transform:none; }.product-body { padding:23px 16px; }.product-body > strong { font-size:23px; }.product-bar { padding:13px 16px; }.product-task { font-size:9px; padding:10px 8px; }.project-card__description { font-size:12px; }.projects-slider__controls { justify-content:center; }.work-process__grid { grid-template-columns:1fr 1fr; gap:28px 20px; }.work-process__grid h3 { font-size:16px; line-height:1.5; margin-top:20px; }.work-process__grid p { font-size:11px; }.commercial-faq { padding-top:0; }.commercial-faq__grid { grid-template-columns:1fr; gap:22px; }.faq-list summary { font-size:13px; }.contact__wrapper { grid-template-columns:1fr; gap:30px; }.contact-form { padding:27px 22px; }.form-row { grid-template-columns:1fr; gap:27px; }.form-label { font-size:11px; }.form-heading h3 { font-size:18px; }.form-input,.form-textarea { font-size:16px; }.footer__main { grid-template-columns:1fr; gap:30px; }.footer__links { grid-template-columns:1fr 1fr; gap:25px; }.cookie-banner { left:12px; right:12px; bottom:12px; padding:16px; }.cookie-banner__content { align-items:stretch; text-align:left; gap:12px; }.cookie-banner__text { min-width:0; font-size:10px; }.cookie-banner__actions { flex-direction:row; }.cookie-btn { width:auto; flex:1; padding:10px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; }.hero__title-text { transform:none; }.hero__subtitle { opacity:1; } }

.price-value--custom { font-size:27px; letter-spacing:-.6px; }
