@import url('./interactions.css?v=20260925-service-intent');
/* Role bindings; foundations live in tokens.css, component geometry in its own file. */
html { font-family: var(--font-family); }
body { font-size: var(--type-body); letter-spacing: var(--tracking); }
.reviews-heading h2,.team-heading h2,.why-us-title h2 { font-size:var(--type-section); line-height:1.05; }
.contact-intro h2 { font-size:var(--type-section); line-height:1.05; }
.contact-intro p { font-size:var(--type-body); line-height:1.4; }
.contact-field :is(input,textarea) { font-size:var(--type-result); line-height:1.4; }
.contact-field > span,.contact-consent p,.contact-actions > span,.contact-status { font-size:var(--type-label); line-height:1.5; }
.contact-consent p,.contact-telegram { font-size:var(--text-16); line-height:1.5; }
.contact-error { font-size:var(--type-label); line-height:1.4; }
.contact-submit { font-size:var(--type-control); line-height:1.4; }
/* Square UI on the landing page; chart marks and illustrative shapes stay intact. */
.landing-page :is(button,.button-fill,.service-more,.case-primary,.case-southern,.case-tile,.case-graphic,.case-southern-visual,.case-southern-image,.review-card,.team-photo,.team-back,dialog,.review-dialog-author img,.about-founder img,.project-dialog img,.case-client-photo,.case-evidence,.case-study,.services-menu,.specialist img,.chart-card,.case-card,.value,.name-tag,.project-chart-tooltip) { border-radius:0; }
.why-us-title h2 { line-height:1; }
.review-card blockquote { font-size:var(--type-review-quote); line-height:var(--line-review-quote); letter-spacing:var(--tracking); }
.review-dialog h2 { font-size:var(--type-result); line-height:1.1; }
.review-dialog-copy { font-size:var(--type-reading); line-height:1.65; }
.review-close { font-size:var(--text-24); }
.reviews-draft { font-size:var(--type-label); line-height:1.4; }
.review-author { font-size:var(--type-body); line-height:1.4; }
.review-author-row .review-author { font-size:var(--text-16); line-height:1.5; }
.review-full,.team-link,.case-read { font-size:var(--text-18); line-height:1.2; }
.team-card h3,.footer-cell h2,.footer-cell li a,.footer-year { font-size:var(--type-case-heading); line-height:1.125; }
.cases-all-title { font-size:var(--type-case-heading); line-height:1.125; }
.cases-all-note { font-size:var(--text-16); line-height:1.2; }
.reviews-heading h2,.team-heading h2,.why-us-title h2,.services-header h2 { text-wrap:balance; }
.case-metrics dt { font-size:var(--type-label); line-height:1.2; }
.case-metrics dd { font-size:var(--type-metric); line-height:1.05; }
.why-us-kicker { font-size:var(--type-body); line-height:1.3; }
.why-us-intro p { font-size:var(--type-body); line-height:1.6; color:var(--color-dark-muted); }
.why-cell--text h3 { font-size:var(--type-why-heading,var(--type-lead)); line-height:1.25; }
.why-cell--text p,.team-card p { font-size:var(--type-body); line-height:1.4; }
.why-cell--text p { font-size:var(--text-18); line-height:1.5; }
@media(max-width:599px) { .why-cell--text p { font-size:var(--text-16); } }
.footer-request,.footer-email { font-size:var(--type-control); line-height:1.3; }
.footer-strip p { font-size:var(--type-label); line-height:1.4; }
.topbar { padding-inline: var(--page-gutter); gap: var(--space-24); grid-template-columns: 226px minmax(0, 1fr) 180px; }
.brand { width: 226px; height: 45px; }
.brand-word span { font-size: 26px; }
.brand-word b { font-size: 35px; }
.brand-sub { font-size: 13px; }
.nav { font-size: var(--type-nav); gap: var(--space-40); }
.hero-editorial { margin-inline: var(--page-gutter); }
.brand-hero-promise { font-size: var(--type-brand-promise); line-height: 1.1; font-weight: 400; }
.brand-hero-description { font-size: var(--type-body); line-height: 1.35; }
.brand-hero-cta, .brand-hero-news { font: inherit; font-size: var(--type-control); }
.brand-hero-project-label { font-size: var(--type-body); line-height: 1.2; }
.brand-hero-project-label > span { font-size: var(--type-label); }
.brand-hero .ph, .hero-news-close .ph { font-size: var(--text-24); }
.campaign-promise { font-size: var(--type-campaign-promise); line-height: 1.04; font-weight: 400; }
.campaign-description { font-size: var(--type-body); line-height: 1.4; }
.studio-story h1 { font-size:var(--type-studio-title); line-height:.98; }
.studio-description { font-size:var(--type-body); line-height:1.45; }
.studio-about .about-manifesto { font-size:var(--type-studio-manifesto); line-height:var(--line-studio-manifesto); }
.studio-hero .studio-request { font-size:var(--text-20); }
@media(min-width:1600px) {
  .studio-story h1 { line-height:.9; }
  .studio-description { font-size:var(--type-lead); }
}
.hero-editorial .hero-text h1 { font-size: var(--type-hero); line-height: 1.06; }
.hero-editorial .lead { font-size: var(--type-body); line-height: 1.4; }
.hero-editorial .case-card h2 { font-size: var(--text-22); }
.hero-v2 .case-card h2 { font-size:var(--type-result); }
.hero-editorial .chart-card h3 { font-size: var(--type-body); line-height: 1.2; }
.hero-editorial .chart-card .value { font-size: var(--type-metric); line-height: 1.05; }
.hero-editorial .case-result p { font-size: var(--type-result); line-height: 1.1; }
.hero-editorial :is(.project,.specialist) { font-size: var(--type-label); }
.hero-editorial .chart-card { background: var(--color-surface); }
.hero-editorial .chart-share-track { fill: var(--color-track); }
.hero-editorial .case-chart-svg .chart-bar { fill: var(--color-before); }
.hero-editorial :is(.primary-action,.secondary-action),
.service-request,.service-more,.top-request { font-size: var(--type-control); border-radius: var(--radius-control); }
.topbar .top-request { border-radius:0; }
.hero-editorial :is(.primary-action,.secondary-action),.service-request,.service-more { min-height: 52px; }
.about-section,.services-section,.projects { margin-inline: var(--page-gutter); }
.about-manifesto { font-size: var(--type-manifesto); line-height: var(--line-manifesto); }
.about-number { font-size: var(--type-stat); }
.about-label,.about-founder figcaption,.about-fact dt { font-size: var(--type-body); }
.about-founder img { border-radius: var(--radius-photo); }
.services-header h2,.projects-heading h2 { font-size: var(--type-section); line-height: 1.05; }
.service-summary h3,.service-index { font-size: var(--type-service); line-height: 1; }
.service-summary > p { font-size: var(--type-body); line-height: 1.5; }
.service-outcome p,.service-fit p { font-size: var(--type-body); line-height: 1.4; }
.service-outcome > span,.service-fit > span { font-size: var(--type-body); }
.service-price strong { font-size: var(--text-32); }
.service-price span { font-weight:400; }
.team small { font-size:var(--text-16); line-height:1.5; }
.landing-page .team-card > p { font-size:var(--text-16); line-height:1.5; }
.landing-page .footer-cell h2 { color:var(--color-dark-muted); opacity:1; }
.contact-consent label { font-size:var(--text-16); line-height:1.5; }
.landing-page :is(.services-header h2,.service-index,.studio-case-copy p) { color:var(--color-muted); }
.landing-page :is(.about-fact--accent,.cases-v3 .case-metrics) { color:var(--color-ink); }
.case-story > h3 { font-size: var(--type-card-title); line-height: 1.1; }
.case-story .case-context { font-size: var(--type-body); }
.case-evidence > figcaption > strong { font-size: var(--text-28); }
.case-takeaway > strong { font-size: var(--type-metric); }
.service-details-inner > * { min-width: 0; max-width: 100%; }
.screen { margin-bottom:var(--section-gap); }
.screen + .about-section { margin-top:0; }
.about-section,.projects,.services-section { margin-block:0 var(--section-gap); }
.service-commerce { grid-template-columns: minmax(0,1fr); }
.services-header h2,.service-summary h3 { overflow-wrap: break-word; }

@media (max-width: 1399px) {
  .topbar { grid-template-columns: 1fr auto; }
  .nav,.top-request,.nav-backdrop { display: none; }
  .burger { display: block; justify-self: end; }
}
@media (min-width: 1100px) {
  .landing-page { --type-service:var(--text-64); }
  .landing-page .services-header h2 { font-size:var(--text-72); }
  .landing-page :is(.cases-heading,.reviews-heading,.team-heading) { margin-bottom:var(--space-48); align-items:flex-end; }
  .landing-page .team-aside { padding-bottom:0; }
  .landing-page .services-header { padding-bottom:var(--space-48); }
  .landing-page .service-summary { align-content:start; }
  .landing-page .service-summary > p { align-self:start; padding-top:var(--space-8); }
  .landing-page .service-item.is-open .service-details { margin-top:calc(-1 * var(--service-content-offset,0px)); }
  .hero-editorial .lead { max-width: 620px; }
  .service-summary,.service-details-inner {
    grid-template-columns: var(--service-index-column, 100px) minmax(0,1fr) minmax(0,1fr);
    column-gap: var(--space-24);
    padding-right: var(--service-control-column, 112px);
  }
  .service-summary { padding-block: var(--space-32); min-height: 220px; }
  .service-details-inner > * { width: 100%; }
  .services-header { padding-block: 0 var(--space-40); min-height: 0; }
  .services-header h2 { margin-left: calc(var(--service-index-column, 100px) + var(--space-24)); }
  .service-open { width: 76px; height: 76px; }
}
@media (min-width: 1600px) {
  .hero-v2 .hero-text h1 { line-height:1; }
  .hero-v2 .chart-card h3 { font-size:var(--type-result); line-height:1.2; max-width:240px; }
  .hero-v2 :is(.project,.specialist) { font-size:var(--text-16); }
  .hero-v2 .specialist { grid-template-columns:48px 1fr; }
  .hero-v2 .specialist img { width:48px; height:48px; }
  :root { --service-index-column: 138px; --service-control-column: 150px; }
  .service-open { width: 92px; height: 92px; }
}
@media (min-width: 768px) and (max-width: 1099px) {
  .service-summary { grid-template-columns: 64px minmax(0,1fr); padding: 32px 96px 32px 0; column-gap: 24px; }
  .service-summary > p { grid-column: 2; }
  .service-details-inner { grid-template-columns: 64px minmax(0,1fr); padding-right: 96px; column-gap: 24px; }
  .service-details-inner > * { grid-column: 2; }
  .services-header h2 { margin-left: 88px; }
}
@media (max-width: 599px) {
  .team small { font-size:var(--text-14); }
  .cases-all-title { font-size: var(--text-18); line-height: 1.2; }
  .cases-all-note { font-size: var(--text-14); }
}
@media (max-width: 767px) {
  .services-header { padding-inline: 0; }
  .services-header h2 { margin-left: 0; }
  .service-summary { padding: 88px 0 32px; }
  .service-summary h3 { width: 100%; }
  .service-index { grid-area: auto; top: 32px; left: 0; right: auto; font-size: var(--type-label); }
  .service-open { top: 16px; right: 0; }
  .service-details-inner { padding-inline: 0; }
  .about-fact--retention dt,.about-fact--team dt { font-size: var(--type-label); }
}
@media (prefers-reduced-motion: reduce) {
  :root { --duration-fast: 0ms; --duration-normal: 0ms; }
}
