@font-face{font-family:Manrope;src:local("Manrope");font-display:swap} @font-face{font-family:Inter;src:local("Inter");font-display:swap}
:root{--bg:#fafaf7;--surface:#fff;--soft:#f1f6f8;--text:#24262a;--muted:#656a73;--line:#dce3e8;--blue:#08aeea;--purple:#6552e8;--orange:#ff7020;--radius:22px;--container:min(1360px,calc(100vw - 48px));--shadow:0 22px 70px rgba(43,55,68,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:var(--container);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;z-index:1000;left:1rem;top:-5rem;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.eyebrow{margin:0 0 1rem;color:var(--purple);font-weight:700;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase}.lead{max-width:700px;color:var(--muted);font-size:clamp(1.05rem,1.4vw,1.3rem)}h1,h2,h3{margin:0;font-family:Manrope,Arial,sans-serif;line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(3rem,6.8vw,7.2rem)}h2{font-size:clamp(2.25rem,4.4vw,5rem)}h3{font-size:clamp(1.25rem,2vw,2rem)}p{margin-top:0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:.8rem 1.3rem;border:1px solid var(--blue);border-radius:999px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer;transition:transform .22s ease,background .22s ease}.button:hover{background:#079bcf;transform:translateY(-2px)}.button--small{min-height:44px;padding:.55rem 1rem;font-size:.9rem}.button--secondary{border-color:var(--line);background:transparent;color:var(--text)}.button--secondary:hover{background:var(--soft)}.text-link{display:inline-flex;gap:.5rem;align-items:center;color:var(--purple);font-weight:700}.text-link::after{content:'→';transition:transform .2s}.text-link:hover::after{transform:translateX(4px)}
.site-header{position:sticky;z-index:100;top:0;border-bottom:1px solid rgba(220,227,232,.82);background:rgba(250,250,247,.9);backdrop-filter:blur(16px)}.site-header__inner{display:grid;grid-template-columns:160px 1fr auto;gap:2rem;align-items:center;min-height:84px}.brand{width:120px}.navigation{justify-self:center}.navigation__list{display:flex;gap:.25rem;align-items:center;margin:0;padding:0;list-style:none}.navigation__link,.navigation__toggle{display:flex;gap:.35rem;align-items:center;padding:.8rem .9rem;border:0;background:none;color:var(--text);font-weight:650;cursor:pointer}.navigation__link:hover,.navigation__toggle:hover,.is-active{color:var(--purple)}.navigation__item{position:relative}.mega-menu{position:absolute;top:calc(100% + 14px);left:-140px;display:grid;grid-template-columns:230px 1fr;width:620px;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s}.navigation__item.is-open .mega-menu{opacity:1;visibility:visible;transform:none}.mega-menu__lead{display:flex;flex-direction:column;justify-content:space-between;padding:1.2rem;border-radius:14px;background:var(--soft)}.mega-menu__lead span{color:var(--muted);font-size:.9rem}.mega-menu__links{display:grid;grid-template-columns:1fr 1fr;gap:.2rem;padding-left:1rem}.mega-menu__links a,.mega-menu--compact a{padding:.65rem;border-radius:10px}.mega-menu__links a:hover,.mega-menu--compact a:hover{background:var(--soft)}.mega-menu--compact{left:-30px;display:flex;width:340px;flex-direction:column}.menu-button,.mobile-menu{display:none}
.hero{padding:clamp(5rem,10vw,10rem) 0 6rem;overflow:hidden}.hero__grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);gap:6vw;align-items:end}.hero h1 span{color:var(--blue)}.hero__copy{max-width:770px}.hero__copy .lead{margin:2rem 0}.hero__actions{display:flex;gap:.8rem;flex-wrap:wrap}.hero-visual{position:relative;min-height:540px}.interface{position:absolute;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.interface--main{inset:4% 0 8% 10%;padding:1.2rem;transform:rotate(2deg)}.interface--side{right:58%;bottom:0;width:50%;padding:1rem;transform:rotate(-5deg)}.interface__bar{display:flex;gap:.4rem;margin-bottom:1.4rem}.interface__bar i{width:8px;height:8px;border-radius:50%;background:var(--line)}.interface__panel{height:190px;border-radius:14px;background:linear-gradient(135deg,#eefaff,#f5f2ff)}.interface__lines{display:grid;gap:.65rem;margin-top:1rem}.interface__lines i{height:10px;border-radius:8px;background:#e3e8ec}.interface__lines i:nth-child(2){width:75%}.interface__lines i:nth-child(3){width:42%;background:#cceefa}.orbit{position:absolute;right:-30px;top:0;width:110px;height:110px;border:18px dotted rgba(255,112,32,.55);border-radius:50%}
.section{padding:clamp(5rem,9vw,9rem) 0}.section--soft{background:var(--soft)}.section--accent{background:#eefaff}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:4rem}.section-heading p{margin:0;color:var(--muted)}.services-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.service-card{position:relative;display:flex;min-height:260px;flex-direction:column;justify-content:space-between;padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;transition:transform .25s,border-color .25s}.service-card:hover{transform:translateY(-5px);border-color:#a7dff3}.service-card:nth-child(1),.service-card:nth-child(2){grid-column:span 6;min-height:360px}.service-card:nth-child(n+3){grid-column:span 4}.service-card:nth-child(8){grid-column:span 8}.service-card__number{color:var(--muted);font-size:.8rem}.service-card p{max-width:430px;color:var(--muted)}.service-card__arrow{position:absolute;right:1.4rem;top:1.4rem;color:var(--purple);font-size:1.5rem}.project-placeholder{display:grid;grid-template-columns:1.25fr .75fr;min-height:540px;border:1px solid var(--line);border-radius:28px;background:#fff;overflow:hidden}.project-placeholder__visual{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ebfaff,#f7f3ff)}.project-placeholder__window{width:72%;padding:1rem;border:1px solid #dbe4ec;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.project-placeholder__screen{height:230px;border-radius:12px;background:linear-gradient(145deg,#f4f7f9 55%,#d9f3fb 55%)}.project-placeholder__copy{display:flex;flex-direction:column;justify-content:flex-end;padding:3rem}.project-placeholder__copy p{color:var(--muted)}.process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process__item{padding:2rem 1.5rem;border-right:1px solid var(--line)}.process__item:last-child{border:0}.process__item span{color:var(--orange);font-weight:700}.process__item p{margin-top:1.5rem;color:var(--muted)}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.benefit{padding:2rem;background:var(--bg)}.benefit p{color:var(--muted)}.practice-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.practice-card{display:flex;min-height:390px;flex-direction:column;justify-content:space-between;padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);border-radius:28px;background:#fff}.practice-card--paid{background:#fff8f1}.ecosystem{display:grid;grid-template-columns:.7fr 1.3fr;gap:5vw;align-items:start}.ecosystem__mark{font-size:clamp(3rem,9vw,9rem);color:var(--purple);line-height:.7}.split-heading{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end}.split-heading .button{margin-top:1.5rem}
.page-hero{padding:clamp(5rem,9vw,9rem) 0 4rem}.page-hero h1{max-width:1100px;font-size:clamp(3rem,6vw,6.5rem)}.page-hero .lead{margin-top:2rem}.content-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:5vw}.sticky-title{position:sticky;top:130px;align-self:start}.rich-content h2{margin:4rem 0 1.5rem;font-size:clamp(2rem,3.5vw,3.8rem)}.rich-content h2:first-child{margin-top:0}.rich-content p,.rich-content li{color:var(--muted)}.rich-content ul{display:grid;gap:.75rem;padding-left:1.2rem}.catalog{display:grid;gap:1rem}.catalog-item{display:grid;grid-template-columns:80px 1fr auto;gap:2rem;align-items:center;padding:2rem;border-top:1px solid var(--line)}.catalog-item:hover{background:#fff}.catalog-item span{color:var(--muted)}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.filter{padding:.65rem 1rem;border:1px solid var(--line);border-radius:999px;background:transparent;cursor:pointer}.filter.is-active{background:var(--text);color:#fff}.empty-state{padding:5rem;border:1px solid var(--line);border-radius:28px;background:#fff;text-align:center}.form{display:grid;gap:1.3rem}.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form label{display:grid;gap:.45rem;font-weight:650}.form input,.form select,.form textarea{width:100%;padding:.95rem 1rem;border:1px solid #cbd4dc;border-radius:12px;background:#fff;color:var(--text)}.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid rgba(8,174,234,.18);border-color:var(--blue)}.file-field span{color:var(--muted);font-size:.85rem;font-weight:400}.checkbox{display:flex!important;grid-template-columns:22px 1fr;align-items:start;font-weight:400!important}.checkbox input{width:20px;height:20px;margin-top:.15rem}.checkbox a{text-decoration:underline}.form .button{justify-self:start}.honeypot{position:absolute;left:-9999px}.form__status{margin:0}.legal-note{padding:1.2rem;border-left:3px solid var(--orange);background:#fff8f1}.contact-list{display:grid;gap:1rem}.contact-list a{font-family:Manrope;font-size:clamp(1.5rem,3vw,3rem);font-weight:700;letter-spacing:-.04em}
.site-footer{padding:5rem 0 2rem;border-top:1px solid var(--line);background:#fff}.site-footer__top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:3rem}.site-footer__intro img{width:110px;margin-bottom:1.5rem}.site-footer__intro p{max-width:340px;color:var(--muted)}.site-footer h2{margin-bottom:1.2rem;font-family:Inter;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.site-footer__top>div:not(:first-child){display:flex;flex-direction:column;gap:.55rem}.site-footer__top a:hover{color:var(--purple)}.site-footer__legal{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.link-button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.cookie-banner{position:fixed;z-index:200;right:1.5rem;bottom:1.5rem;width:min(440px,calc(100vw - 3rem));padding:1.4rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.cookie-banner p{margin-bottom:.6rem}.cookie-banner__actions{display:flex;gap:.6rem;margin:1rem 0}.cookie-banner>a{text-decoration:underline;font-size:.85rem}
@media(max-width:1050px){.navigation,.header-cta{display:none}.site-header__inner{grid-template-columns:1fr auto}.menu-button{display:grid;width:48px;height:48px;place-content:center;gap:5px;border:1px solid var(--line);border-radius:50%;background:#fff}.menu-button span:not(.sr-only){display:block;width:20px;height:2px;background:var(--text)}.mobile-menu{position:fixed;inset:84px 0 0;display:block;overflow:auto;background:var(--bg)}.mobile-menu[hidden]{display:none}.mobile-menu__content{display:flex;width:var(--container);margin:auto;padding:2rem 0 5rem;flex-direction:column}.mobile-menu__content>a{padding:.7rem 0;font-family:Manrope;font-size:1.5rem;font-weight:700}.mobile-menu__content .mobile-menu__sub{padding:.35rem 0 .35rem 1.2rem;color:var(--muted);font-size:1rem}.mobile-menu__actions{display:grid;gap:.6rem;margin:2rem 0}.mobile-menu__contacts{display:flex;flex-direction:column;gap:.5rem}.hero__grid{grid-template-columns:1fr}.hero-visual{min-height:440px}.service-card:nth-child(n){grid-column:span 6}.process{grid-template-columns:1fr 1fr}.process__item:nth-child(2){border-right:0}.benefits{grid-template-columns:1fr 1fr}.site-footer__top{grid-template-columns:1.3fr 1fr 1fr}.site-footer__top>div:last-child{grid-column:2}.project-placeholder{grid-template-columns:1fr}.project-placeholder__visual{min-height:400px}}
@media(max-width:700px){:root{--container:calc(100vw - 32px);--radius:18px}.site-header__inner{min-height:72px}.brand{width:95px}.mobile-menu{inset:72px 0 0}.hero{padding-top:4rem}.hero-visual{min-height:360px}.interface--main{left:5%}.interface--side{right:48%;width:55%}.section-heading,.split-heading,.ecosystem,.content-grid{grid-template-columns:1fr}.section-heading{gap:1.5rem}.services-grid{display:block}.service-card{min-height:240px!important;margin-bottom:.8rem}.project-placeholder__visual{min-height:290px}.project-placeholder__copy{padding:2rem}.process,.benefits,.practice-split{grid-template-columns:1fr}.process__item{border-right:0;border-bottom:1px solid var(--line)}.sticky-title{position:static}.catalog-item{grid-template-columns:45px 1fr}.catalog-item>a{grid-column:2}.form__grid{grid-template-columns:1fr}.site-footer__top{grid-template-columns:1fr 1fr}.site-footer__intro{grid-column:1/-1}.site-footer__top>div:last-child{grid-column:auto}.cookie-banner__actions{flex-direction:column}.cookie-banner__actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Точное выравнивание навигации и стрелок раскрытия. */
.navigation__link,.navigation__toggle{gap:.55rem;min-height:44px;padding:.7rem .9rem;line-height:1.2}
.navigation__chevron{display:block;width:7px;height:7px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s ease,margin .2s ease}
.navigation__item.is-open .navigation__chevron{margin-top:3px;transform:rotate(225deg)}

/* Сбалансированная сетка услуг: 2 крупных блока, затем 2 ряда по 3. */
.service-card:nth-child(8){grid-column:span 4}

/* Компактный первый экран: содержание важнее декоративного макета. */
.hero{padding:clamp(3.5rem,6vw,6rem) 0 clamp(3.5rem,6vw,5.5rem)}
.hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:4vw;align-items:center}
.hero h1{max-width:850px;font-size:clamp(3rem,5.1vw,5.6rem)}
.hero__copy .lead{max-width:680px;margin:1.5rem 0}
.hero-visual{width:min(100%,520px);min-height:390px;justify-self:end}
.interface__panel{height:145px}
.field-label{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.field-label small{color:var(--muted);font-size:.72rem;font-weight:500}
.form label>span[aria-hidden="true"]{display:none!important}
.captcha{display:grid;grid-template-columns:1fr auto;gap:.45rem 1rem;align-items:end;padding:1rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55)}.captcha label{grid-column:1}.captcha__question{display:block;margin:.25rem 0;font-family:Manrope,Arial,sans-serif;font-size:1.25rem;font-weight:750}.captcha input{max-width:180px}.captcha__refresh{grid-column:2;grid-row:1;align-self:end;margin-bottom:1rem;color:var(--purple);text-decoration:underline}.captcha>small{grid-column:1/-1;color:var(--muted)}
@media(max-width:700px){.captcha{grid-template-columns:1fr}.captcha__refresh{grid-column:1;grid-row:auto;justify-self:start;margin:0}.captcha input{max-width:none}}
.captcha__image{width:min(320px,100%);height:76px;margin:.35rem 0 .65rem;border:1px solid #b8dce8;border-radius:12px;background:#eaf8fc;object-fit:cover;user-select:none}

/* Файлы главной: загрузите изображения в assets/images/home/ с указанными именами. */
.hero .interface--main .interface__panel{background-color:#eef8fc;background-image:linear-gradient(120deg,rgba(255,255,255,.05),rgba(101,82,232,.06)),url('../images/home/hero-product.webp');background-position:center;background-size:cover}
.hero .interface--side{background-color:#fff;background-image:linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)),url('../images/home/hero-mobile.webp');background-position:center;background-size:cover}
.project-placeholder__screen{background-color:#f4f7f9;background-image:linear-gradient(145deg,rgba(244,247,249,.05),rgba(217,243,251,.1)),url('../images/home/project-01-cover.webp');background-position:center;background-size:cover}
.project-placeholder__visual{position:relative;overflow:hidden}.project-placeholder__window{position:relative;z-index:2}.project-placeholder__visual::before,.project-placeholder__visual::after{content:'';position:absolute;width:34%;aspect-ratio:1.6;border:1px solid #dbe4ec;border-radius:14px;background-color:#fff;background-position:center;background-size:cover;box-shadow:var(--shadow)}.project-placeholder__visual::before{left:-5%;bottom:7%;z-index:3;background-image:url('../images/home/project-02-cover.webp');transform:rotate(-4deg)}.project-placeholder__visual::after{right:-4%;top:8%;z-index:1;background-image:url('../images/home/project-03-cover.webp');transform:rotate(5deg)}
.practice-card{background-image:linear-gradient(90deg,#fff 42%,rgba(255,255,255,.76) 70%,rgba(255,255,255,.18)),url('../images/home/practice-cover.webp');background-position:center,right bottom;background-size:auto,58% auto;background-repeat:no-repeat}
.practice-card--paid{background-image:linear-gradient(90deg,#fff8f1 42%,rgba(255,248,241,.8) 70%,rgba(255,248,241,.2)),url('../images/home/practice-cover.webp')}
@media(max-width:700px){.project-placeholder__visual::after{display:none}.project-placeholder__visual::before{width:44%}.practice-card,.practice-card--paid{background-size:auto,74% auto}}

/* Компактная типографическая группа в карточках услуг — без мёртвых зон. */
.service-card{min-height:190px;justify-content:flex-start;padding-top:2.25rem}
.service-card:nth-child(1),.service-card:nth-child(2){min-height:235px}
.service-card>div{margin-top:0;padding-right:2rem}
@media(max-width:700px){.service-card,.service-card:nth-child(1),.service-card:nth-child(2){min-height:0!important}.service-card>div{margin-top:0}}

/* Светлые индивидуальные фоны и сдержанная анимация услуг. */
.service-card{background-color:#fff;background-size:150% 150%;background-position:0 0;animation:service-card-in .45s ease both;transition:transform .28s ease,border-color .28s ease,background-position .45s ease,box-shadow .28s ease}
.service-card:nth-child(1){background-image:linear-gradient(135deg,#fff 8%,#edfaff 100%)}
.service-card:nth-child(2){background-image:linear-gradient(135deg,#fff 8%,#f3f0ff 100%)}
.service-card:nth-child(3){background-image:linear-gradient(135deg,#fff 12%,#fff5ed 100%)}
.service-card:nth-child(4){background-image:linear-gradient(135deg,#fff 12%,#eef7ff 100%)}
.service-card:nth-child(5){background-image:linear-gradient(135deg,#fff 12%,#f5f2ff 100%)}
.service-card:nth-child(6){background-image:linear-gradient(135deg,#fff 12%,#effaf8 100%)}
.service-card:nth-child(7){background-image:linear-gradient(135deg,#fff 12%,#fff6ee 100%)}
.service-card:nth-child(8){background-image:linear-gradient(135deg,#fff 12%,#eff6ff 100%)}
.service-card:nth-child(2){animation-delay:.04s}.service-card:nth-child(3){animation-delay:.08s}.service-card:nth-child(4){animation-delay:.12s}.service-card:nth-child(5){animation-delay:.16s}.service-card:nth-child(6){animation-delay:.2s}.service-card:nth-child(7){animation-delay:.24s}.service-card:nth-child(8){animation-delay:.28s}
.service-card:hover{background-position:100% 100%;box-shadow:0 16px 42px rgba(43,55,68,.08)}
.service-card__arrow{transition:transform .25s ease,color .25s ease}.service-card:hover .service-card__arrow{color:var(--orange);transform:translate(3px,-3px)}
@keyframes service-card-in{from{opacity:0}to{opacity:1}}
.catalog-item{grid-template-columns:1fr auto}
@media(max-width:700px){.catalog-item{grid-template-columns:1fr}.catalog-item>a{grid-column:1}}

/* Компактный вертикальный ритм страницы без сложения больших отступов. */
.section{padding:clamp(3.25rem,4.5vw,4.75rem) 0}
.section-heading{margin-bottom:clamp(2rem,3.2vw,3rem)}
.section h2{font-size:clamp(2.15rem,3.8vw,4.25rem)}
.project-placeholder{min-height:440px}
.project-placeholder__visual{min-height:340px}
.practice-card{min-height:315px}
.site-footer{padding:3.75rem 0 1.75rem}
.site-footer__legal{margin-top:3rem}
@media(max-width:700px){.section{padding:3rem 0}.section-heading{margin-bottom:2rem}.project-placeholder{min-height:0}.project-placeholder__visual{min-height:260px}.practice-card{min-height:280px}}
.ecosystem--compact{display:block}.ecosystem--compact>div{max-width:900px}.ecosystem--compact h2{max-width:800px}

/* Выразительные преимущества с анимацией появления при прокрутке. */
.benefits{gap:12px;border:0;background:transparent}
.benefit{position:relative;min-height:165px;padding:2.1rem;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.benefit:nth-child(1){background:#eefaff}.benefit:nth-child(2){background:#f4f1ff}.benefit:nth-child(3){background:#fff5ed}.benefit:nth-child(4){background:#eff9f7}.benefit:nth-child(5){background:#f1f6ff}.benefit:nth-child(6){background:#fff8f2}
.benefit::before{content:'';position:absolute;left:2.1rem;top:1.35rem;width:30px;height:3px;border-radius:3px;background:var(--blue);transition:width .3s ease,background .3s ease}.benefit:nth-child(2)::before,.benefit:nth-child(5)::before{background:var(--purple)}.benefit:nth-child(3)::before,.benefit:nth-child(6)::before{background:var(--orange)}
.benefit h3{max-width:340px;margin-top:1.15rem;font-size:clamp(1.25rem,1.75vw,1.85rem);line-height:1.12}
.benefit:hover{z-index:1;transform:translateY(-5px);border-color:#b9dce9;box-shadow:0 18px 42px rgba(43,55,68,.09)}.benefit:hover::before{width:58px;background:var(--orange)}
.benefit.reveal-ready{opacity:0;transform:translateY(16px)}.benefit.reveal-ready.is-visible{opacity:1;transform:translateY(0)}.benefit.reveal-ready.is-visible:hover{transform:translateY(-5px)}
.benefit:nth-child(2){transition-delay:.04s}.benefit:nth-child(3){transition-delay:.08s}.benefit:nth-child(4){transition-delay:.12s}.benefit:nth-child(5){transition-delay:.16s}.benefit:nth-child(6){transition-delay:.2s}
@media(max-width:700px){.benefits{gap:.75rem}.benefit{min-height:140px;padding:1.7rem}.benefit::before{left:1.7rem;top:1.15rem}.benefit h3{margin-top:1rem}}
@media(max-width:700px){.hero{padding:3rem 0 3.5rem}.hero h1{font-size:clamp(2.65rem,13vw,4.25rem)}.hero-visual{width:100%;min-height:290px}.interface__panel{height:120px}}

/* Preserve the supplied logo proportions and prevent layout compression. */
.brand{display:block;width:120px;min-width:120px;max-width:120px;flex-shrink:0;overflow:hidden}
.brand img{display:block;width:120px;height:auto;max-width:100%;aspect-ratio:162/69;object-fit:contain}
.site-footer__intro img{width:110px;min-width:0;height:auto;max-width:100%}
html,body{width:100%;max-width:100%;overflow-x:hidden}
.container{max-width:100%}
.site-header__inner,.hero__grid,.hero__copy,.hero-visual,main,section{min-width:0;max-width:100%}
@media(max-width:1050px){
  .hero__grid{grid-template-columns:minmax(0,1fr);gap:2.25rem;align-items:start}
  .hero__copy{max-width:800px}
  .hero-visual{width:min(100%,560px);min-height:360px;justify-self:center}
}
@media(max-width:700px){
  .brand{width:120px;min-width:120px;max-width:120px}
  .site-header__inner{grid-template-columns:minmax(0,1fr) auto;gap:1rem}
  .hero{padding:2.75rem 0 3.25rem}
  .hero__grid{display:flex;gap:2rem;flex-direction:column}
  .hero__copy{width:100%;max-width:none}
  .hero h1{max-width:none;font-size:clamp(2.45rem,12vw,4rem);overflow-wrap:normal;word-break:normal}
  .hero__copy .lead{margin:1.25rem 0}
  .hero-visual{position:relative;width:100%;min-height:280px;margin-top:.25rem;align-self:stretch}
  .interface--main{inset:0 0 8% 8%}
  .interface--side{right:52%;bottom:0;width:48%}
}

/* Service navigation and detail pages. */
.mega-menu__groups{grid-template-columns:1fr 1fr;gap:.8rem 1rem;align-content:start}
.mega-menu__group{display:flex;min-width:0;flex-direction:column;gap:.15rem}
.mega-menu__group>strong{padding:.35rem .65rem;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.mega-menu__group>a{padding:.45rem .65rem;font-size:.88rem}
.mega-menu__group:first-child{grid-row:span 2}
.mobile-menu__group{margin:1rem 0 .15rem;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.service-catalog{display:grid;gap:3.5rem}
.service-catalog__group{display:grid;grid-template-columns:minmax(180px,.32fr) 1fr;gap:3rem;border-top:1px solid var(--line);padding-top:1.5rem}
.service-catalog__items{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.service-catalog__item{display:flex;min-height:190px;justify-content:space-between;gap:1.5rem;padding:1.7rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.78);transition:transform .22s,border-color .22s,background .22s}
.service-catalog__item:hover{border-color:#a7dff3;background:#fff;transform:translateY(-3px)}
.service-catalog__item h2{font-size:clamp(1.35rem,2.1vw,2rem)}
.service-catalog__item p{margin:.8rem 0 0;color:var(--muted)}
.service-catalog__item>span{color:var(--purple);font-size:1.35rem}
.service-hero{padding-bottom:clamp(3.5rem,6vw,6rem)}
.service-hero h1{max-width:1050px}
.service-hero .button{margin-top:1.25rem}
.breadcrumbs{display:flex;gap:.55rem;align-items:center;margin-bottom:2rem;color:var(--muted);font-size:.85rem}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.service-summary,.service-columns,.service-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.service-summary h2,.service-columns h2,.service-faq h2{font-size:clamp(2rem,3.8vw,4rem)}
.service-points,.service-list{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}
.service-points li,.service-list li{position:relative;padding:1rem 1rem 1rem 2.4rem;border-top:1px solid var(--line)}
.service-points li::before,.service-list li::before{content:'→';position:absolute;left:.35rem;color:var(--purple)}
.service-formats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.service-formats article{min-height:200px;padding:1.6rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#fff,#f5fbfd)}
.service-formats article:nth-child(3n+2){background:linear-gradient(145deg,#fff,#f8f6ff)}
.service-formats article:nth-child(3n){background:linear-gradient(145deg,#fff,#fff8f2)}
.service-formats p,.service-columns p,.service-stages p,.service-faq p{margin-top:.8rem;color:var(--muted)}
.service-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:0;padding:0;list-style:none;counter-reset:stage}
.service-stages li{min-height:230px;padding:1.6rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.service-stages li>span{display:block;margin-bottom:2.6rem;color:var(--orange);font-size:.78rem;font-weight:700}
.service-stages h3{font-size:clamp(1.25rem,1.8vw,1.75rem)}
.service-faq details{border-top:1px solid var(--line);padding:1.3rem 0}
.service-faq details:last-child{border-bottom:1px solid var(--line)}
.service-faq summary{font-family:Manrope,Arial,sans-serif;font-size:1.15rem;font-weight:700;cursor:pointer}
.service-faq details p{max-width:720px;margin-bottom:0}
.related-services{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.related-services a{display:flex;min-height:150px;justify-content:space-between;gap:1rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.related-services a:hover{border-color:#a7dff3}
.related-services span{color:var(--purple)}
@media(max-width:900px){.service-catalog__group,.service-summary,.service-columns,.service-faq{grid-template-columns:1fr;gap:1.5rem}.service-stages{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.mega-menu__groups{grid-template-columns:1fr}.service-catalog{gap:2.5rem}.service-catalog__items,.service-formats,.service-stages,.related-services{grid-template-columns:1fr}.service-catalog__item,.service-formats article,.service-stages li{min-height:0}.service-stages li>span{margin-bottom:1.5rem}.service-hero .breadcrumbs{overflow:hidden}.service-hero h1{font-size:clamp(2.5rem,12vw,4rem)}}

/* The backdrop-filter on the sticky header creates a containing block.
   Keep the mobile panel below the header and give it an explicit viewport height. */
@media(max-width:1050px){.mobile-menu{position:absolute;z-index:110;top:100%;right:0;bottom:auto;left:0;width:100%;height:calc(100dvh - 84px);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 45px rgba(43,55,68,.09)}}
@media(max-width:700px){.mobile-menu{height:calc(100dvh - 72px)}}

/* Project practice overview. */
.practice-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.practice-option{display:flex;min-height:620px;flex-direction:column;justify-content:space-between;gap:2rem;padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,#fff,#f3fbfe)}
.practice-option--paid{background:linear-gradient(145deg,#fff,#fff7ef)}
.practice-option h2{max-width:620px;font-size:clamp(2.2rem,4vw,4.5rem)}
.practice-option>div>p:last-child{max-width:650px;margin-top:1.4rem;color:var(--muted)}
.practice-option dl{display:grid;gap:0;margin:0}
.practice-option dl>div{display:grid;grid-template-columns:145px 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.practice-option dt{color:var(--muted);font-size:.85rem}
.practice-option dd{margin:0;font-weight:650}
.practice-option .button{align-self:flex-start}
.practice-choice,.practice-notice{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.practice-choice h2,.practice-notice h2{font-size:clamp(2rem,3.8vw,4rem)}
.practice-choice__items{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.practice-choice__items article{min-height:240px;padding:1.7rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.practice-choice__items article:last-child{background:#fff8f1}
.practice-choice__items p,.practice-notice>p{margin-top:1rem;color:var(--muted)}
.practice-notice{padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);border-radius:28px;background:#fff}
@media(max-width:900px){.practice-options,.practice-choice,.practice-notice{grid-template-columns:1fr}.practice-option{min-height:0}.practice-choice__items{grid-template-columns:1fr}}
@media(max-width:520px){.practice-option dl>div{grid-template-columns:1fr;gap:.25rem}.practice-option .button{width:100%}}
.practice-steps{grid-template-columns:repeat(4,1fr)}
.practice-notice>div:last-child p{color:var(--muted)}
@media(max-width:900px){.practice-steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.practice-steps{grid-template-columns:1fr}}
.contact-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.contact-channel{display:flex;min-height:230px;padding:2rem;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.contact-channel:nth-child(2){background:#f5f2ff}.contact-channel:nth-child(3){background:#fff6ef}.contact-channel span,.contact-channel small{color:var(--muted)}.contact-channel strong{margin:auto 0;font-family:Manrope;font-size:clamp(1.35rem,2.2vw,2.25rem);letter-spacing:-.04em;overflow-wrap:anywhere}.contact-channel:hover{transform:translateY(-5px);border-color:#a7dff3;box-shadow:0 18px 42px rgba(43,55,68,.08)}
@media(max-width:800px){.contact-channels{grid-template-columns:1fr}.contact-channel{min-height:170px}.contact-channel strong{margin:1.7rem 0}}
.contact-channel.reveal-ready{opacity:0;transform:translateY(16px)}.contact-channel.reveal-ready.is-visible{opacity:1;transform:translateY(0)}.contact-channel.reveal-ready.is-visible:hover{transform:translateY(-5px)}.contact-channel:nth-child(2){transition-delay:.05s}.contact-channel:nth-child(3){transition-delay:.1s}
.legal-nav{display:flex;flex-direction:column;gap:.7rem}.legal-nav a{color:var(--muted)}.legal-nav a:hover{color:var(--purple)}.legal-page .rich-content section+section{margin-top:3rem}.legal-page .rich-content section h2{margin-top:0}
.error-page__section{padding:clamp(4rem,8vw,8rem) 0;background:linear-gradient(135deg,#f4fbfe,#faf8ff 55%,#fff7f0)}.error-page__grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,7vw,7rem);align-items:center}.error-page__code{font-family:Manrope;font-size:clamp(8rem,20vw,18rem);font-weight:800;line-height:.8;letter-spacing:-.09em;color:#dff4fb}.error-page__content h1{max-width:760px;font-size:clamp(3rem,6vw,6.5rem)}.error-page__content .lead{max-width:700px;margin-top:1.5rem}.error-page__actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.error-page__help{margin-top:2rem;color:var(--muted)}
@media(max-width:700px){.error-page__grid{grid-template-columns:1fr}.error-page__code{font-size:7rem}.error-page__actions{display:grid}.error-page__actions .button{width:100%}}

/* Projects portfolio. */
.projects-hero{padding:clamp(4.5rem,8vw,8rem) 0;background:linear-gradient(135deg,#fafaf7 15%,#f0faff 60%,#faf7ff)}
.projects-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:clamp(2rem,7vw,7rem);align-items:end}.projects-hero h1{max-width:940px;font-size:clamp(3.2rem,6.2vw,6.8rem)}
.projects-hero__copy{padding-bottom:.5rem}.projects-hero__copy .lead{margin:0 0 1rem}.projects-hero__copy>p:not(.lead){max-width:620px;color:var(--muted)}.projects-hero__copy .button{margin-top:1rem}
.projects-heading h2{max-width:800px}.project-filters{display:flex;gap:.55rem;margin:-1rem 0 2.3rem;overflow-x:auto;padding:.25rem 0 .65rem;scrollbar-width:thin}
.filter{flex:0 0 auto;padding:.7rem 1rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72);color:var(--text);font-weight:650;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}.filter:hover{border-color:#aaddec;transform:translateY(-1px)}.filter.is-active{border-color:var(--purple);background:var(--purple);color:#fff}
.projects-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}.project-card{grid-column:span 4;display:flex;min-height:390px;flex-direction:column;padding:1.7rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#fff,#f0faff);overflow:hidden;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.project-card:nth-child(3n+2){background:linear-gradient(145deg,#fff,#f6f2ff)}.project-card:nth-child(3n){background:linear-gradient(145deg,#fff,#fff5ed)}.project-card:nth-child(1),.project-card:nth-child(6){grid-column:span 6}.project-card[hidden]{display:none}.project-card:hover{transform:translateY(-5px);border-color:#a7dff3;box-shadow:0 18px 42px rgba(43,55,68,.08)}
.project-card__top{display:flex;justify-content:space-between;gap:1rem;align-items:start;color:var(--muted);font-size:.73rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.project-card__status{padding:.28rem .55rem;border:1px solid rgba(101,82,232,.22);border-radius:999px;color:var(--purple);text-align:right;letter-spacing:0;text-transform:none}.project-card__body{margin:auto 0 1.4rem}.project-card__index{display:block;margin-bottom:1.2rem;color:var(--orange);font-size:.75rem;font-weight:700}.project-card h3{max-width:560px;font-size:clamp(1.65rem,2.5vw,2.7rem)}.project-card__body p,.project-card__work{color:var(--muted)}.project-card__body p{max-width:600px;margin:1rem 0 0}.project-card__work{margin:0;padding-top:1.15rem;border-top:1px solid rgba(101,106,115,.18);font-size:.9rem}.projects-empty{padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted)}
.project-process{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:0;padding:0;list-style:none}.project-process li{min-height:270px;padding:1.7rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.project-process li:nth-child(2){background:#f5f2ff}.project-process li:nth-child(3){background:#eefaff}.project-process li:nth-child(4){background:#fff6ef}.project-process span{display:block;margin-bottom:3rem;color:var(--purple);font-size:.76rem;font-weight:700}.project-process h3{font-size:clamp(1.3rem,1.8vw,1.8rem)}.project-process p{margin:1rem 0 0;color:var(--muted)}
.project-card.reveal-ready,.project-process li.reveal-ready{opacity:0;transform:translateY(18px)}.project-card.reveal-ready.is-visible,.project-process li.reveal-ready.is-visible{opacity:1;transform:none}.project-card.reveal-ready.is-visible:hover{transform:translateY(-5px)}
@media(max-width:1000px){.projects-hero__grid{grid-template-columns:1fr}.project-card,.project-card:nth-child(1),.project-card:nth-child(6){grid-column:span 6}.project-process{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.projects-hero{padding:3.5rem 0}.projects-hero h1{font-size:clamp(2.65rem,12vw,4.3rem)}.project-filters{margin-top:0}.project-card,.project-card:nth-child(1),.project-card:nth-child(6){grid-column:1/-1;min-height:0}.project-card__body{margin:3rem 0 1.2rem}.project-process{grid-template-columns:1fr}.project-process li{min-height:0}.project-process span{margin-bottom:2rem}}

/* Product-led homepage and case pages. */
.hero--product .hero__note{max-width:650px;margin:-.6rem 0 1.5rem;color:var(--muted);font-size:.92rem}.competence-strip{border-block:1px solid var(--line);background:#fff}.competence-strip .container{display:flex;gap:.65rem 2rem;align-items:center;justify-content:space-between;padding-block:1rem;overflow-x:auto;color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.featured-projects__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.featured-project{display:grid;min-height:430px;grid-template-rows:220px 1fr;border:1px solid var(--line);border-radius:28px;background:#f5f2ff;overflow:hidden;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.featured-project--lead{grid-column:1/-1;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr;min-height:500px;background:#eefaff}.featured-project--wide{grid-column:1/-1;grid-template-columns:.85fr 1.15fr;grid-template-rows:1fr;min-height:360px;background:#f3f8fb}.featured-project--warm{background:#fff6ef}.featured-project:hover{transform:translateY(-5px);border-color:#a7dff3;box-shadow:0 18px 46px rgba(43,55,68,.09)}.featured-project__copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.6rem,3vw,3rem)}.featured-project__copy>span{margin-bottom:auto;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.featured-project__copy h3{margin-top:2rem;font-size:clamp(2rem,3.5vw,4.2rem)}.featured-project__copy p{max-width:590px;margin:1rem 0;color:var(--muted)}.featured-project__copy strong{color:var(--purple);font-size:.9rem}.featured-project__visual{min-height:220px;background-color:#edf7fb;background-position:center;background-size:cover}.featured-project__visual--medical{background-image:linear-gradient(135deg,rgba(238,250,255,.12),rgba(245,242,255,.1)),url('../images/home/project-01-cover.webp')}.featured-project__visual--services{background-image:url('../images/home/project-02-cover.webp')}.featured-project__visual--delivery{background-image:url('../images/home/project-03-cover.webp')}.featured-project__visual--market{background-image:linear-gradient(135deg,#edfaff,#f5f2ff);position:relative}.featured-project__visual--market::before,.featured-project__visual--market::after{content:'';position:absolute;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.featured-project__visual--market::before{inset:15% 8% 18% 14%}.featured-project__visual--market::after{right:5%;bottom:8%;width:34%;height:42%;background:linear-gradient(145deg,#fff,#fff5ed)}
.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.scenario-grid>a{display:flex;min-height:245px;flex-direction:column;padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:transform .25s,border-color .25s,box-shadow .25s}.scenario-grid>a:nth-child(2){background:#f5f2ff}.scenario-grid>a:nth-child(3){background:#fff6ef}.scenario-grid>a:nth-child(4){background:#eefaff}.scenario-grid span{color:var(--orange);font-size:.75rem;font-weight:700}.scenario-grid h3{margin-top:auto}.scenario-grid p{margin:.8rem 0;color:var(--muted)}.scenario-grid strong{color:var(--purple);font-size:.88rem}.scenario-grid>a:hover{transform:translateY(-4px);border-color:#a7dff3;box-shadow:0 16px 38px rgba(43,55,68,.07)}
.services-grid--compact .service-card:nth-child(n){grid-column:span 4;min-height:200px}.services-grid--compact .service-card:nth-child(1),.services-grid--compact .service-card:nth-child(2){grid-column:span 6;min-height:230px}.services-grid--compact .service-card:nth-child(7){grid-column:span 8}.process--outcomes .process__item{min-height:230px}.benefits--facts .benefit{min-height:155px}.practice-banner{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);border-radius:28px;background:linear-gradient(120deg,#fff,#fff8f1)}.practice-banner h2{max-width:850px}.practice-banner p:not(.eyebrow){margin:1rem 0 0;color:var(--muted)}
.file-field{padding:1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.55)}.file-field summary{font-weight:700;cursor:pointer}.file-field[open] summary{margin-bottom:1rem}.captcha__image{width:min(280px,100%);height:68px}
.service-case{padding-top:0}.service-case>a{display:grid;grid-template-columns:.85fr 1.15fr;min-height:360px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#eefaff,#f7f4ff);overflow:hidden}.service-case>a>div:first-child{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2rem,4vw,4rem)}.service-case h2{font-size:clamp(2.4rem,4vw,4.5rem)}.service-case strong{color:var(--purple)}.service-case__visual{background-image:linear-gradient(135deg,rgba(238,250,255,.05),rgba(245,242,255,.08)),url('../images/home/project-01-cover.webp');background-position:center;background-size:cover}
.project-detail__hero{background:linear-gradient(135deg,#fafaf7,#eefaff 62%,#f7f4ff)}.project-detail__hero-grid{display:grid;grid-template-columns:1fr .75fr;gap:5vw;align-items:center}.project-detail__hero .button{margin-top:1.2rem}.project-detail__visual{position:relative;min-height:420px}.project-detail__visual div{position:absolute;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.project-detail__visual div:nth-child(1){inset:8% 0 12% 12%;background:linear-gradient(145deg,#fff,#eefaff)}.project-detail__visual div:nth-child(2){right:48%;bottom:2%;width:42%;height:46%;background:linear-gradient(145deg,#fff,#f5f2ff);transform:rotate(-4deg)}.project-detail__visual div:nth-child(3){right:-3%;top:0;width:30%;height:34%;background:linear-gradient(145deg,#fff,#fff5ed);transform:rotate(5deg)}.project-passport{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding-block:2rem}.project-passport>div{display:flex;min-height:100px;flex-direction:column;justify-content:space-between;padding:1rem 1.4rem;border-left:1px solid var(--line)}.project-passport>div:first-child{border:0}.project-passport span{color:var(--muted);font-size:.78rem}.project-functions{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.project-functions article{min-height:210px;padding:1.7rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#fff,#eefaff)}.project-functions article:nth-child(2n){background:linear-gradient(145deg,#fff,#f7f4ff)}.project-functions p{margin-top:1rem;color:var(--muted)}
.featured-project.reveal-ready,.scenario-grid>a.reveal-ready,.project-functions article.reveal-ready{opacity:0;transform:translateY(16px)}.featured-project.reveal-ready.is-visible,.scenario-grid>a.reveal-ready.is-visible,.project-functions article.reveal-ready.is-visible{opacity:1;transform:none}.featured-project.reveal-ready.is-visible:hover,.scenario-grid>a.reveal-ready.is-visible:hover{transform:translateY(-4px)}
@media(max-width:900px){.featured-project--lead,.featured-project--wide,.service-case>a,.project-detail__hero-grid{grid-template-columns:1fr}.featured-project--lead,.featured-project--wide{grid-template-rows:260px 1fr}.featured-project--wide .featured-project__copy{order:2}.project-passport{grid-template-columns:1fr 1fr}.project-passport>div:nth-child(3){border-left:0}.services-grid--compact .service-card:nth-child(n){grid-column:span 6}.practice-banner{grid-template-columns:1fr}.practice-banner .button{justify-self:start}.project-detail__visual{min-height:320px}}
@media(max-width:700px){.competence-strip .container{justify-content:flex-start}.featured-projects__grid,.scenario-grid,.project-functions{grid-template-columns:1fr}.featured-project,.featured-project--lead,.featured-project--wide{grid-column:1;min-height:0;grid-template-columns:1fr;grid-template-rows:190px 1fr}.featured-project__copy h3{margin-top:2.5rem}.services-grid--compact .service-card:nth-child(n){min-height:0!important}.practice-banner{gap:1.5rem}.practice-banner .button{width:100%}.service-case>a{min-height:0}.service-case__visual{min-height:230px}.project-passport{grid-template-columns:1fr}.project-passport>div{min-height:75px;border-left:0;border-top:1px solid var(--line)}.project-passport>div:first-child{border-top:0}.project-detail__visual{min-height:270px}.project-functions article{min-height:0}.cookie-banner{right:.6rem;bottom:.6rem;width:calc(100vw - 1.2rem);padding:1rem;border-radius:16px}.cookie-banner p{font-size:.85rem;line-height:1.45}.cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:.7rem 0}.cookie-banner__actions .button{width:100%;min-height:42px;padding:.5rem .65rem;font-size:.78rem}}

/* Context-specific case imagery for the homepage. */
.featured-project__visual--medical{background-image:url('../images/home/case-telemedicine-v2.webp')}
.featured-project__visual--services{background-image:url('../images/home/case-services-v2.webp')}
.featured-project__visual--delivery{background-image:url('../images/home/case-delivery-v2.webp')}
.featured-project__visual--market{background-image:url('../images/home/case-marketplace-v2.webp')}
.featured-project__visual--market::before,.featured-project__visual--market::after{display:none}

/* QA accessibility and contextual service-case fixes. */
:root{--blue:#007aa8}
.button:hover{background:#00658b}
.mobile-menu__content>a{font-family:Manrope,Arial,sans-serif}
.service-case__visual--medical{background-image:url('../images/home/case-telemedicine-v2.webp')}
.service-case__visual--services{background-image:url('../images/home/case-services-v2.webp')}
.service-case__visual--delivery{background-image:url('../images/home/case-delivery-v2.webp')}
.service-case__visual--market{background-image:url('../images/home/case-marketplace-v2.webp')}
.service-case__visual--communication{background-image:linear-gradient(145deg,#edfaff,#f5f2ff);position:relative}
.service-case__visual--communication::before,.service-case__visual--communication::after{content:'';position:absolute;border:1px solid #cfdde5;border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.service-case__visual--communication::before{inset:16% 12% 30% 22%}
.service-case__visual--communication::after{inset:48% 28% 13% 9%;background:linear-gradient(135deg,#fff 58%,#eefaff 58%)}
.service-case__visual--classifieds{background-image:linear-gradient(135deg,rgba(255,255,255,.12),rgba(245,242,255,.08)),url('../images/home/case-services-v2.webp')}
