@import url("https://fonts.googleapis.com/css2?family=Commissioner:wght@400..800&family=Golos+Text:wght@400..900&family=Onest:wght@400..800&family=Sofia+Sans:wght@400..800&family=Ubuntu:wght@500;700&display=swap");



h1,h2,h3,h4,h5,h6,p,blockquote,figure,dl,dd{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,textarea,select{font:inherit}button{background:transparent;border:0}img,svg{display:block;vertical-align:middle}img{max-width:100%;height:auto}ol,ul{list-style:none;margin:0;padding:0}summary{display:list-item}

:root {
  --font-body: "Golos Text", Arial, sans-serif;
  --font-display: "Commissioner", "Golos Text", Arial, sans-serif;
  --ink: #11131b;
  --paper: #f3f5fc;
  --white: #ffffff;
  --blue: #4252f4;
  --blue-bright: #7480ff;
  --blue-soft: #dfe3ff;
  --muted: #616574;
  --line: rgba(17, 19, 27, 0.14);
  --pad: clamp(20px, 3vw, 42px);
  --section-gap: clamp(76px, 7vw, 104px);
  --max-width: 1240px;
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --shadow: 0 26px 70px rgba(17, 19, 27, 0.15);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4,
.proof-item strong,
.featured-case-result strong,
.case-metric strong,
.contact-link strong,
.case-detail-metric strong,
.cases-index-grid strong {
  font-family: var(--font-display);
}

body::selection { background: var(--blue); color: white; }

a { color: inherit; text-decoration: none; }
button { font: inherit; }

.site-header {
  position: sticky;
  z-index: 50;
  top: 0;
  border-bottom: 1px solid rgba(17,19,27,.08);
  background: rgba(243,245,252,.9);
  backdrop-filter: blur(18px);
}

.header-inner {
  width: min(calc(100% - 40px), var(--max-width));
  min-height: 76px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.brand { width: max-content; font-family: "Ubuntu", Arial, sans-serif; font-size: clamp(22px, 1.7vw, 26px); font-weight: 700; letter-spacing: -0.055em; }
.brand span { color: var(--blue); }

.desktop-nav { display: flex; gap: 4px; font-size: 16px; }
.desktop-nav a { padding: 10px 13px; border-radius: 8px; color: #3f4350; font-weight: 600; transition: background .18s ease; }
.desktop-nav a:hover { background: rgba(17,19,27,.06); }

.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.language-switch { display: flex; gap: 2px; border: 1px solid var(--line); border-radius: 999px; padding: 3px; }
.language-switch button, .language-switch a { width: 40px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font-size: 12px; font-weight: 700; cursor: pointer; }
.language-switch .active { background: var(--ink); color: white; }

.header-cta { min-height: 46px; display: flex; align-items: center; gap: 14px; padding: 0 18px; border-radius: var(--radius-sm); background: var(--blue); color: white; font-size: 15px; font-weight: 700; }
.header-cta span { font-size: 16px; }

.hero {
  position: relative;
  min-height: calc(100svh - 76px);
  display: flex;
  align-items: center;
  padding: 62px 0 54px;
  overflow: hidden;
  isolation: isolate;
  color: white;
  background-color: var(--ink);
  background-image: url("/hero-workspace-sea-v1.png");
  background-position: center 54%;
  background-size: cover;
}

.hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,10,17,.82) 0%, rgba(8,10,17,.68) 48%, rgba(8,10,17,.42) 100%),
    linear-gradient(180deg, rgba(8,10,17,.12) 0%, rgba(8,10,17,.28) 100%);
}

.hero-shell { position: relative; z-index: 1; width: min(calc(100% - 40px), var(--max-width)); margin-inline: auto; }
.hero-copy { width: 100%; }
.eyebrow { width: max-content; max-width: 100%; display: inline-flex; align-items: center; margin: 0 0 25px; padding: 8px 11px; border: 1px solid rgba(66,82,244,.26); border-radius: 999px; color: var(--blue); background: rgba(255,255,255,.45); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hero .eyebrow { border-color: rgba(255,255,255,.34); color: rgba(255,255,255,.92); background: rgba(9,11,20,.28); backdrop-filter: blur(10px); }
.hero h1 { max-width: none; margin: 0; color: white; font-size: clamp(70px, 8.6vw, 132px); line-height: .93; letter-spacing: -.045em; font-weight: 500; text-wrap: balance; text-shadow: 0 2px 30px rgba(0,0,0,.24); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.hero-copy .hero-actions { margin-top: 34px; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: space-between; gap: 26px; padding: 0 20px; border: 1px solid transparent; border-radius: var(--radius-sm); font-size: 16px; font-weight: 750; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--blue); color: white; }
.button-primary:hover { background: #3041e6; }
.button-ghost { border-color: var(--line); background: rgba(255,255,255,.6); }
.hero .button-ghost { border-color: rgba(255,255,255,.54); color: white; background: rgba(9,11,20,.22); backdrop-filter: blur(10px); }
.hero .button-ghost:hover { border-color: white; background: rgba(255,255,255,.12); }


.proof-section { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.42); }
.proof-intro { width: min(calc(100% - 40px), var(--max-width)); margin-inline: auto; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(300px,.92fr); gap: clamp(70px, 9vw, 144px); align-items: start; padding: clamp(72px, 8vw, 112px) 0 clamp(82px, 9vw, 128px); }
.proof-intro-main { max-width: 820px; margin: 0; font-size: clamp(30px, 2.7vw, 42px); font-weight: 540; line-height: 1.18; letter-spacing: -.035em; text-wrap: balance; }
.proof-intro-support { max-width: 570px; margin: 7px 0 0; color: var(--muted); font-size: clamp(16px, 1.15vw, 18px); line-height: 1.65; }
.proof-strip { width: min(calc(100% - 40px), var(--max-width)); margin-inline: auto; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.proof-item { min-height: 132px; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; border-right: 1px solid var(--line); }
.proof-item:last-child { border-right: 0; }
.proof-item strong { color: var(--blue); font-size: clamp(32px, 2.7vw, 44px); letter-spacing: -.06em; }
.proof-item span { max-width: 180px; color: var(--muted); font-size: 14px; line-height: 1.4; }

.section { width: min(calc(100% - 40px), var(--max-width)); margin: var(--section-gap) auto 0; padding: 0; }
.search-landscape-section { padding-bottom: 0; }
.services-section { padding-top: 0; }
.section-marker { width: max-content; max-width: 100%; display: inline-flex; gap: 8px; align-items: center; margin-bottom: clamp(42px, 6vw, 72px); padding: 8px 11px; border: 1px solid rgba(66,82,244,.22); border-radius: 999px; background: rgba(255,255,255,.45); color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.section-marker span:first-child { display: inline; width: auto; height: auto; border: 0; color: inherit; }
.section-marker.light { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.06); color: var(--blue-bright); }

.perspective-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: clamp(46px, 7vw, 92px); padding: clamp(34px, 5vw, 64px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255,255,255,.72); }
.perspective-grid h2, .section-intro h2, .cases-heading h2, .reviews-heading h2, .studio-layout h2, .product-copy h2, .contact-section h2, .fit-heading h2 { margin: 0; font-size: clamp(40px, 5vw, 70px); line-height: 1.02; letter-spacing: -.04em; text-wrap: balance; }
.perspective-copy { padding-top: 4px; }
.perspective-copy p { margin: 0 0 26px; max-width: 680px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.perspective-copy .lead { color: var(--ink); font-size: clamp(23px, 2.2vw, 34px); line-height: 1.3; letter-spacing: -.035em; }
.perspective-copy .accent-note { padding: 18px 0 0 22px; border-left: 3px solid var(--blue); color: var(--ink); font-weight: 700; }

.fit-section { width: min(calc(100% - 40px), var(--max-width)); margin: var(--section-gap) auto 0; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(54px, 7vw, 112px); padding: clamp(56px, 6vw, 84px); border-radius: var(--radius-lg); background: var(--blue); color: white; box-shadow: 0 22px 60px rgba(66,82,244,.2); }
.fit-heading { padding-right: 0; }
.fit-heading .eyebrow { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.08); color: white; }
.fit-heading h2 { max-width: 590px; font-size: clamp(38px, 3.4vw, 50px); line-height: 1.08; letter-spacing: -.045em; font-weight: 560; }
.fit-content { display: flex; flex-direction: column; justify-content: space-between; gap: clamp(70px, 8vw, 124px); border-left: 1px solid rgba(255,255,255,.28); padding-left: clamp(36px, 5vw, 76px); }
.fit-content > p { max-width: 650px; margin: 0; color: rgba(255,255,255,.9); font-size: clamp(17px, 1.25vw, 20px); line-height: 1.58; letter-spacing: -.015em; }
.sector-list { display: flex; flex-wrap: wrap; gap: 8px; }
.sector-list span { padding: 9px 13px; border: 1px solid rgba(255,255,255,.34); border-radius: 999px; background: rgba(255,255,255,.06); font-size: 13px; letter-spacing: .02em; }

.search-landscape-intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: 28px 70px; align-items: end; }
.search-landscape-intro .eyebrow { grid-column: 1 / -1; margin-bottom: 12px; }
.search-landscape-intro > p:last-child { max-width: 560px; margin: 0 0 6px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.platform-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.platform-card { min-height: 300px; display: flex; flex-direction: column; padding: clamp(28px, 3vw, 40px); border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,255,255,.7); }
.platform-card > span { color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.platform-card h3 { max-width: none; margin: 46px 0 20px; font-size: clamp(28px, 2.1vw, 34px); line-height: 1.06; letter-spacing: -.04em; }
.platform-card p { max-width: 500px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.62; }
.terms-panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 8vw, 110px); margin-top: 14px; padding: clamp(34px, 5vw, 62px); border-radius: var(--radius-md); background: var(--ink); color: white; }
.terms-heading h3 { max-width: 420px; margin: 0 0 24px; font-size: clamp(32px, 3.5vw, 50px); line-height: 1.02; letter-spacing: -.05em; }
.terms-heading p { max-width: 480px; margin: 0; color: rgba(255,255,255,.64); font-size: 17px; line-height: 1.62; }
.terms-list { margin: 0; border-top: 1px solid rgba(255,255,255,.18); }
.terms-list > div { display: grid; grid-template-columns: minmax(140px,.7fr) 1.3fr; gap: 22px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.terms-list dt { color: var(--blue-bright); font-size: 14px; font-weight: 800; }
.terms-list dd { margin: 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.5; }

.section-intro { margin-bottom: clamp(48px, 7vw, 78px); }
.section-intro h2 { max-width: 1000px; }
.services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.service-card { min-height: 390px; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 46px); border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,255,255,.72); transition: transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease; }
.service-card:hover { transform: translateY(-4px); background: var(--ink); color: white; box-shadow: var(--shadow); }
.card-number { color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.service-card h3 { max-width: 580px; margin: 58px 0 20px; font-size: clamp(28px, 3vw, 42px); line-height: 1.03; letter-spacing: -.035em; }
.service-card > p { max-width: 620px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.6; }
.service-card:hover > p { color: rgba(255,255,255,.66); }
.tag-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 34px; }
.tag-list span { padding: 7px 9px; border: 1px solid currentColor; border-radius: 999px; color: var(--muted); font-size: 12px; letter-spacing: .04em; }
.service-card:hover .tag-list span { color: rgba(255,255,255,.7); }
.card-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--blue); font-size: 15px; font-weight: 800; }
.service-card:hover .card-link { border-color: rgba(255,255,255,.18); color: var(--blue-bright); }

.cases-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; align-items: end; margin-bottom: clamp(48px, 7vw, 82px); }
.cases-heading > p { max-width: 560px; margin: 0 0 4px; color: var(--muted); font-size: 16px; line-height: 1.6; }
.featured-case { display: grid; grid-template-columns: 1fr 1fr; min-height: 430px; margin-bottom: 14px; overflow: hidden; border-radius: var(--radius-lg); background: var(--ink); color: white; box-shadow: var(--shadow); }
.featured-case-copy, .featured-case-result { padding: clamp(32px, 5vw, 64px); }
.featured-case-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; text-align: left; }
.case-sector { margin: 0; color: var(--blue-bright); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.featured-case h3 { max-width: 640px; margin: clamp(54px, 6vw, 82px) 0 25px; font-size: clamp(36px, 4vw, 60px); line-height: 1; letter-spacing: -.04em; }
.featured-case-copy > p:last-child { max-width: 640px; margin: 0; color: rgba(255,255,255,.62); font-size: 15px; line-height: 1.6; }
.case-detail-link { width: max-content; display: inline-flex; align-items: center; gap: 14px; margin-top: 28px; color: var(--blue-bright); font-size: 13px; font-weight: 800; }
.featured-case-result { display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgba(255,255,255,.2); background: linear-gradient(145deg,rgba(66,82,244,.2),transparent 70%); }
.featured-case-result strong { color: var(--blue-bright); font-size: clamp(42px, 5vw, 76px); letter-spacing: -.065em; white-space: nowrap; }
.featured-case-result > span { margin-top: 8px; color: rgba(255,255,255,.65); font-size: 14px; }
.featured-case-result small { margin-top: 70px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); font-size: 13px; }
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.case-card { position: relative; min-height: 420px; display: grid; grid-template-rows: subgrid; grid-row: span 5; row-gap: 24px; padding: clamp(26px, 3vw, 40px); border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,255,255,.68); transition: transform .22s ease, background .22s ease, box-shadow .22s ease; }
.case-card:hover { transform: translateY(-4px); background: white; box-shadow: 0 20px 50px rgba(17,19,27,.1); }
.case-card h3 { max-width: 400px; margin: 0; font-size: clamp(25px, 2.3vw, 35px); line-height: 1.05; letter-spacing: -.045em; }
.case-metric { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; }
.case-metric strong { line-height: 1; color: var(--blue); font-size: clamp(42px, 4.4vw, 64px); letter-spacing: -.06em; }
.case-metric span { color: var(--muted); font-size: 13px; }
.case-card > p:not(.case-sector) { max-width: 390px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.case-arrow { justify-self: end; align-self: end; margin-top: 8px; display: grid; min-height: 42px; padding: 0 16px; place-items: center; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--blue); font-size: 13px; font-weight: 750; cursor: pointer; }
.cases-footer { display: flex; justify-content: space-between; gap: 40px; align-items: flex-start; margin-top: 38px; }
.text-link { display: inline-flex; gap: 14px; align-items: center; color: var(--blue); font-size: 16px; font-weight: 800; }
.text-link span { font-size: 18px; }
.cases-footer > p { max-width: 500px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; text-align: right; }

.reviews-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: end; margin-bottom: clamp(48px, 7vw, 76px); }
.reviews-heading > p { max-width: 520px; margin: 0 0 5px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.reviews-heading-single { grid-template-columns: 1fr; }
.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.review-card { min-height: 390px; display: flex; flex-direction: column; padding: clamp(28px, 3vw, 40px); border: 1px dashed rgba(17,19,27,.28); border-radius: var(--radius-md); background: rgba(255,255,255,.56); }
.quote-mark { height: 54px; color: var(--blue); font-size: 72px; line-height: .9; font-weight: 700; }
.review-card blockquote { margin: 30px 0 42px; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.55; letter-spacing: -.018em; }
.review-person { display: flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }
.review-avatar { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-size: 11px; font-weight: 800; }
.review-person p { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.review-person strong { font-size: 13px; }
.review-person p span { color: var(--muted); font-size: 12px; }

.studio-section { width: min(calc(100% - 40px), var(--max-width)); margin: var(--section-gap) auto 0; padding: clamp(38px, 4.6vw, 62px); scroll-margin-top: 96px; border-radius: var(--radius-lg); background: var(--blue); color: white; box-shadow: 0 22px 60px rgba(66,82,244,.2); }
.studio-section > .section-marker { margin-bottom: clamp(24px, 3vw, 34px); border-color: rgba(255,255,255,.52); background: rgba(255,255,255,.14); color: white; box-shadow: 0 8px 24px rgba(22,31,142,.16); }
.studio-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(44px, 6vw, 78px); align-items: start; }
.studio-layout h2 { max-width: 510px; font-size: clamp(36px, 3.7vw, 50px); line-height: 1.05; font-weight: 520; }
.studio-copy { margin-top: 26px; }
.studio-copy p { max-width: 520px; margin: 0 0 16px; color: rgba(255,255,255,.9); font-size: clamp(16px, 1.25vw, 18px); line-height: 1.55; letter-spacing: -.012em; }
.studio-copy p:not(:first-child) { color: rgba(255,255,255,.72); }
.principle-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 28px; }
.principle-list span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(255,255,255,.07); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.principle-list b { color: rgba(255,255,255,.58); }
.team-block { margin: 0; padding: 0; border: 0; }
.team-heading { display: block; margin-bottom: 22px; }
.team-heading .eyebrow { margin-bottom: 14px; border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.09); color: white; }
.team-heading h3 { max-width: 600px; margin: 0; font-size: clamp(28px, 2.7vw, 38px); line-height: 1.05; letter-spacing: -.045em; font-weight: 540; }
.team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.team-card { display: flex; flex-direction: column; align-items: center; padding: clamp(20px, 2.2vw, 28px); overflow: hidden; border: 1px solid rgba(255,255,255,.26); border-radius: var(--radius-md); background: rgba(255,255,255,.09); text-align: center; }
.team-photo { width: clamp(132px, 13vw, 168px); aspect-ratio: 1; display: block; flex: 0 0 auto; border: 3px solid rgba(255,255,255,.78); border-radius: 50%; object-fit: cover; object-position: center; background: rgba(255,255,255,.1); box-shadow: 0 14px 36px rgba(17,23,89,.2); }
.team-copy { padding: 20px 0 0; }
.team-copy h4 { margin: 0 0 11px; font-size: clamp(23px, 2vw, 29px); line-height: 1.05; letter-spacing: -.04em; }
.team-role { max-width: 240px; margin: 0 auto 10px; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 700; line-height: 1.45; letter-spacing: .02em; }
.team-copy > p:last-child { margin: 0; color: white; font-size: 14px; font-weight: 700; line-height: 1.45; }

.product-section { width: min(calc(100% - 40px), var(--max-width)); margin: var(--section-gap) auto 0; padding: 0; }
.product-copy { width: 100%; }
.product-copy h2 { font-size: clamp(40px, 4.8vw, 66px); line-height: 1.03; letter-spacing: -.055em; }
.product-copy > p:not(.eyebrow) { max-width: none; margin: 32px 0; color: var(--muted); font-size: 16px; line-height: 1.65; }

.contact-section { width: min(calc(100% - 40px), var(--max-width)); margin: var(--section-gap) auto 0; padding: clamp(42px, 5vw, 68px); overflow: hidden; border-radius: var(--radius-lg); background: var(--blue-soft); }
.contact-section h2 { max-width: none; font-size: clamp(40px, 4.4vw, 62px); line-height: 1.04; letter-spacing: -.05em; white-space: nowrap; }
.contact-bottom { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: end; margin-top: clamp(38px, 5vw, 64px); }
.contact-bottom > p { max-width: 550px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.contact-link { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 0 0 18px; border-bottom: 2px solid var(--ink); }
.contact-link strong { font-size: clamp(24px, 3.6vw, 52px); letter-spacing: -.05em; }
.contact-link > span { grid-column: auto; margin: 0; color: var(--blue); font-size: 30px; }

.home-footer { width: min(calc(100% - 40px), var(--max-width)); min-height: 116px; margin: 20px auto 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding: 0 32px; border-radius: var(--radius-lg) var(--radius-lg) 0 0; background: var(--ink); color: white; }
.home-footer p { margin: 0; color: rgba(255,255,255,.5); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.home-footer p:last-child { text-align: right; }

.detail-page { width: min(calc(100% - 40px), var(--max-width)); min-height: 100svh; margin-inline: auto; padding-bottom: 20px; }
.detail-header { min-height: 82px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.detail-header > a:last-child { color: var(--blue); font-size: 13px; font-weight: 800; }
.detail-hero { padding: clamp(72px, 10vw, 150px) 0 clamp(60px, 8vw, 110px); }
.detail-hero h1 { max-width: 1100px; margin: 0; font-size: clamp(56px, 8vw, 118px); line-height: .93; letter-spacing: -.045em; text-wrap: balance; }
.detail-hero > p:last-child { max-width: 760px; margin: 42px 0 0 auto; color: var(--muted); font-size: clamp(19px, 2vw, 28px); line-height: 1.45; letter-spacing: -.025em; }
.detail-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 8vw, 110px); padding: clamp(46px, 7vw, 82px); border-radius: var(--radius-lg); background: var(--ink); color: white; }
.detail-result > span { color: var(--blue-bright); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.detail-result > p { max-width: 560px; margin: 34px 0 0; font-size: clamp(25px, 3vw, 42px); line-height: 1.22; letter-spacing: -.04em; }
.detail-grid ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.2); }
.detail-grid li { display: grid; grid-template-columns: 50px 1fr; gap: 12px; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.detail-grid li > span { color: var(--blue-bright); font-size: 12px; font-weight: 800; }
.detail-grid li > p { margin: 0; font-size: 16px; line-height: 1.5; }
.detail-contact { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 30px; margin-top: 20px; padding: clamp(40px, 6vw, 72px); border-radius: var(--radius-lg); background: var(--blue-soft); }
.detail-contact p { max-width: 700px; margin: 0; font-size: clamp(28px, 4vw, 56px); line-height: 1.04; letter-spacing: -.05em; }
.detail-contact a { padding-bottom: 8px; border-bottom: 2px solid var(--ink); color: var(--blue); font-size: clamp(20px, 2.4vw, 34px); font-weight: 800; }
.case-detail-metric { display: flex; flex-direction: column; margin-bottom: 20px; padding: clamp(48px, 7vw, 90px); border-radius: var(--radius-lg); background: var(--blue); color: white; }
.case-detail-metric strong { font-size: clamp(54px, 8vw, 116px); line-height: .95; letter-spacing: -.065em; }
.case-detail-metric span { margin-top: 16px; color: rgba(255,255,255,.72); font-size: 15px; }
.cases-index-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding-bottom: 20px; }
.cases-index-grid > a { min-height: 430px; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 48px); border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,255,255,.7); transition: transform .2s ease, box-shadow .2s ease; }
.cases-index-grid > a:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(17,19,27,.1); }
.cases-index-grid > a > span { color: var(--blue); font-size: 12px; font-weight: 800; }
.cases-index-grid > a > p { margin: 32px 0 12px; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cases-index-grid h2 { max-width: 520px; margin: 0; font-size: clamp(29px, 3.2vw, 46px); line-height: 1.02; letter-spacing: -.05em; }
.cases-index-grid strong { margin-top: auto; color: var(--blue); font-size: clamp(38px, 4.5vw, 66px); letter-spacing: -.06em; }
.cases-index-grid small { color: var(--muted); font-size: 12px; }
.cases-index-grid b { margin-top: 34px; font-size: 13px; }

@media (max-width: 1050px) {
  .header-inner { grid-template-columns: 1fr auto; }
  .desktop-nav { display: none; }
  .proof-strip { grid-template-columns: repeat(2, 1fr); }
  .proof-item:nth-child(2) { border-right: 0; }
  .proof-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .case-grid { grid-template-columns: 1fr; }
  .case-card { min-height: 360px; }
  .platform-grid { grid-template-columns: 1fr; }
  .platform-card { min-height: 280px; }
  .reviews-grid { grid-template-columns: 1fr; }
  .review-card { min-height: 320px; }
}

@media (max-width: 760px) {
  :root { --pad: 20px; --section-gap: 64px; }
  .header-inner { width: calc(100% - 32px); min-height: 64px; }
  .header-cta { display: none; }
  .hero { min-height: calc(100svh - 64px); padding: 48px 0 36px; background-position: 61% center; }
  .hero::before { background: linear-gradient(90deg, rgba(8,10,17,.86) 0%, rgba(8,10,17,.68) 100%); }
  .hero-shell { width: calc(100% - 32px); gap: 42px; }
  .hero h1 { font-size: clamp(48px, 15vw, 72px); }
  .section, .fit-section, .studio-section, .product-section, .contact-section, .home-footer { width: calc(100% - 32px); }
  .proof-intro, .proof-strip { width: calc(100% - 32px); }
  .proof-intro { grid-template-columns: 1fr; gap: 32px; padding: 72px 0 82px; }
  .proof-intro-main { font-size: clamp(30px, 9.5vw, 40px); }
  .proof-intro-support { margin-top: 0; }
  .proof-item { min-height: 132px; padding: 22px 20px; }
  .perspective-grid, .fit-section, .search-landscape-intro, .terms-panel, .services-grid, .cases-heading, .reviews-heading, .featured-case, .studio-layout, .team-heading, .contact-bottom { grid-template-columns: 1fr; }
  .perspective-grid, .studio-layout { gap: 54px; }
  .perspective-grid { padding: 30px 24px; }
  .fit-section, .studio-section, .contact-section { padding: 52px 24px; border-radius: 20px; }
  .fit-section { gap: 50px; }
  .fit-heading h2 { font-size: clamp(36px, 11vw, 48px); }
  .fit-content { gap: 46px; padding: 50px 0 0; border-top: 1px solid rgba(255,255,255,.3); border-left: 0; }
  .search-landscape-intro .eyebrow { grid-column: auto; }
  .terms-panel { gap: 50px; padding: 38px 24px; }
  .terms-list > div { grid-template-columns: 1fr; gap: 6px; }
  .service-card { min-height: 360px; }
  .cases-heading { align-items: start; }
  .featured-case-result { min-height: 310px; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
  .featured-case-result strong { font-size: clamp(38px, 11vw, 58px); }
  .cases-footer { flex-direction: column; }
  .cases-footer > p { text-align: left; }
  .studio-section { padding: 42px 24px; }
  .studio-layout { gap: 48px; }
  .studio-layout h2 { max-width: 440px; font-size: clamp(34px, 10vw, 44px); }
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .team-card { padding: 18px 12px; }
  .team-photo { width: min(112px, 78%); }
  .team-copy { padding-top: 16px; }
  .team-copy h4 { font-size: clamp(19px, 5.4vw, 24px); }
  .team-role { font-size: 12px; }
  .contact-section { padding: 40px 24px; }
  .contact-bottom { gap: 60px; margin-top: 52px; }
  .contact-section h2 { font-size: clamp(36px, 10vw, 48px); white-space: normal; }
  .contact-link strong { font-size: 28px; }
  .home-footer { grid-template-columns: 1fr auto; padding-inline: 22px; }
  .home-footer p:first-of-type { display: none; }
  .detail-page { width: calc(100% - 32px); }
  .detail-header { min-height: 68px; }
  .detail-hero h1 { font-size: clamp(48px, 15vw, 76px); }
  .detail-hero > p:last-child { margin-left: 0; }
  .detail-grid, .detail-contact, .cases-index-grid { grid-template-columns: 1fr; }
  .detail-grid, .detail-contact, .case-detail-metric { padding: 42px 24px; border-radius: 20px; }
  .detail-contact { align-items: start; }
  .detail-contact a { width: max-content; }
  .cases-index-grid > a { min-height: 370px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

/* Suhov Media / fluid editorial concept */
:root {
  --font-body: "Onest", "Golos Text", Arial, sans-serif;
  --font-display: "Sofia Sans", "Commissioner", Arial, sans-serif;
  --ink: #090d1b;
  --paper: #f7f8ff;
  --white: #ffffff;
  --blue: #2947ef;
  --blue-bright: #8ea2ff;
  --blue-soft: #dfe6ff;
  --muted: #555d76;
  --line: rgba(9, 13, 27, .17);
  --section-gap: clamp(96px, 9vw, 144px);
  --max-width: 1420px;
  --radius-sm: 999px;
  --radius-md: 30px;
  --radius-lg: 44px;
  --shadow: 0 28px 70px rgba(11, 21, 83, .12);
}

body { background: var(--paper); }
body::selection { background: var(--ink); color: white; }
.site-header { border-bottom: 1px solid rgba(9, 13, 27, .1); background: rgba(247, 248, 255, .94); }
.header-inner { width: min(calc(100% - 64px), var(--max-width)); min-height: 86px; }
.brand { font-size: clamp(25px, 2vw, 30px); }
.desktop-nav { gap: clamp(2px, .8vw, 13px); font-size: 16px; }
.desktop-nav a { border-radius: 999px; }
.desktop-nav a:hover { background: var(--blue-soft); }
.language-switch { border-color: var(--ink); }
.language-switch button, .language-switch a { width: 42px; height: 34px; font-size: 13px; }
.header-cta { min-height: 48px; padding-inline: 22px; border-radius: 999px; background: var(--ink); font-size: 15px; }
.header-cta:hover { background: var(--blue); }

.hero {
  min-height: min(850px, calc(100svh - 86px));
  align-items: center;
  padding: clamp(78px, 8vw, 126px) 0 clamp(150px, 14vw, 200px);
  background-color: #0c3df1;
  background-image: url("/seo-hero-mountains.webp");
  background-position: center center;
  background-size: cover;
  color: white;
}
.hero::before { background: linear-gradient(90deg, rgba(9, 47, 167, .46) 0%, rgba(9, 47, 167, .18) 57%, rgba(9, 47, 167, .03) 100%); }
.hero-wave { position: absolute; z-index: 2; right: 0; bottom: -1px; left: 0; width: 100%; height: clamp(72px, 8vw, 110px); fill: var(--ink); }
.hero-shell { width: min(calc(100% - 64px), var(--max-width)); }
.hero-copy { position: relative; z-index: 1; }
.hero .eyebrow { margin-bottom: 32px; border: 0; border-radius: 0; padding: 0 0 12px; border-bottom: 1px solid rgba(255,255,255,.65); background: transparent; font-size: 14px; font-weight: 650; letter-spacing: .055em; backdrop-filter: none; }
.hero .eyebrow::before { display: none; }
.hero h1 { max-width: min(69vw, 990px); font-size: clamp(70px, 8.4vw, 128px); font-weight: 570; line-height: .87; letter-spacing: -.055em; text-shadow: 0 2px 22px rgba(1, 25, 110, .18); }
.hero-copy .hero-actions { margin-top: clamp(44px, 6vw, 78px); }
.button { min-height: 62px; min-width: 210px; justify-content: center; border-radius: 999px; font-size: 17px; font-weight: 700; }
.button-primary { background: var(--ink); }
.button-primary:hover { background: #17244b; }
.hero .button-ghost { background: transparent; border-color: rgba(255,255,255,.8); backdrop-filter: none; }
.hero .button-ghost:hover { color: var(--blue); background: white; }

.proof-section { margin-top: -1px; border: 0; background: var(--ink); color: white; }
.proof-intro { width: min(calc(100% - 64px), var(--max-width)); grid-template-columns: 1.2fr .8fr; gap: clamp(50px, 9vw, 160px); padding: clamp(60px, 7vw, 100px) 0 clamp(68px, 8vw, 120px); }
.proof-intro-main { max-width: 840px; font-family: var(--font-display); font-size: clamp(38px, 4.7vw, 70px); line-height: 1.06; letter-spacing: -.04em; }
.proof-intro-support { color: rgba(255,255,255,.68); font-size: clamp(17px, 1.3vw, 20px); }
.proof-strip { width: min(calc(100% - 64px), var(--max-width)); border-color: rgba(255,255,255,.22); }
.proof-item { min-height: 180px; padding: 25px 30px; border-color: rgba(255,255,255,.22); }
.proof-item strong { color: var(--blue-bright); font-size: clamp(44px, 4.3vw, 68px); font-weight: 530; }
.proof-item span { color: rgba(255,255,255,.7); font-size: 15px; }

.section, .fit-section, .studio-section, .product-section, .contact-section, .home-footer { width: min(calc(100% - 64px), var(--max-width)); }
.eyebrow, .section-marker { margin-bottom: clamp(26px, 3vw, 42px); border: 0; border-radius: 0; padding: 0; background: transparent; color: var(--blue); font-size: 13px; font-weight: 750; letter-spacing: .09em; }
.section-marker::before, .eyebrow::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 9px; border-radius: 50%; background: currentColor; }
.hero .eyebrow::before { background: white; }
.section-marker.light { border: 0; background: transparent; color: var(--blue-bright); }
.perspective-grid h2, .section-intro h2, .cases-heading h2, .reviews-heading h2, .studio-layout h2, .product-copy h2, .contact-section h2, .fit-heading h2 { font-size: clamp(52px, 6vw, 92px); font-weight: 560; line-height: .96; letter-spacing: -.055em; }
.perspective-grid { position: relative; grid-template-columns: 1.2fr .8fr; gap: clamp(55px, 8vw, 130px); overflow: hidden; padding: clamp(50px, 6vw, 96px); border: 0; border-radius: 44px 44px 180px 44px; background: #e5ebff; }
.perspective-grid::after { content: ""; position: absolute; right: -85px; bottom: -128px; width: 280px; height: 280px; border: 60px solid rgba(41,71,239,.15); border-radius: 50%; pointer-events: none; }
.perspective-copy .lead { font-family: var(--font-display); font-size: clamp(26px, 2.6vw, 39px); line-height: 1.15; }
.perspective-copy p { font-size: 17px; }
.perspective-copy .accent-note { max-width: 540px; padding-left: 18px; }

.fit-section { position: relative; overflow: hidden; grid-template-columns: 1fr .95fr; gap: clamp(70px, 9vw, 145px); padding: clamp(62px, 7vw, 110px); border-radius: 44px 150px 44px 44px; background: var(--blue); box-shadow: none; }
.fit-section::after { content: ""; position: absolute; top: -85px; right: -80px; width: 220px; height: 220px; border: 42px solid rgba(255,255,255,.18); border-radius: 50%; pointer-events: none; }
.fit-heading .eyebrow { color: white; }
.fit-heading h2 { max-width: 750px; font-size: clamp(48px, 5.2vw, 78px); font-weight: 570; line-height: .99; }
.fit-content { gap: 60px; border-color: rgba(255,255,255,.48); }
.fit-content > p { font-size: clamp(19px, 1.7vw, 25px); line-height: 1.45; }
.sector-list span { padding: 10px 16px; border-color: rgba(255,255,255,.65); font-size: 14px; }

.search-landscape-intro { grid-template-columns: 1fr .72fr; gap: 32px 100px; }
.search-landscape-intro > p:last-child { font-size: 18px; }
.platform-grid { gap: 16px; }
.platform-card { min-height: 335px; padding: clamp(30px, 3.4vw, 54px); border: 0; border-radius: 34px 34px 94px 34px; background: #e6ebff; }
.platform-card:nth-child(2) { border-radius: 94px 34px 34px 34px; background: var(--ink); color: white; }
.platform-card:nth-child(3) { border-radius: 34px 94px 34px 34px; background: #cfd9ff; }
.platform-card > span { font-size: 16px; }
.platform-card:nth-child(2) > span { color: var(--blue-bright); }
.platform-card h3 { margin-top: 70px; font-size: clamp(34px, 3.15vw, 48px); font-weight: 560; }
.platform-card p { color: var(--muted); font-size: 17px; }
.platform-card:nth-child(2) p { color: rgba(255,255,255,.7); }
.terms-panel { grid-template-columns: .78fr 1.22fr; margin-top: 18px; padding: clamp(48px, 5vw, 80px); border-radius: 34px 34px 34px 120px; background: #e6ebff; color: var(--ink); }
.terms-heading h3 { font-size: clamp(38px, 4.2vw, 62px); font-weight: 560; }
.terms-heading p { color: var(--muted); font-size: 18px; }
.terms-list, .terms-list > div { border-color: rgba(9,13,27,.18); }
.terms-list dt { color: var(--blue); font-size: 17px; }
.terms-list dd { color: var(--muted); font-size: 16px; }

.services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.service-card { min-height: 470px; padding: clamp(32px, 3vw, 48px); border: 0; border-radius: 34px 34px 90px 34px; background: white; box-shadow: 0 1px 0 rgba(9,13,27,.08); }
.service-card:nth-child(3n + 2) { border-radius: 90px 34px 34px 34px; background: #e8ecff; }
.service-card:nth-child(3n) { border-radius: 34px 90px 34px 34px; }
.service-card:hover { background: var(--blue); }
.card-number { color: var(--blue); font-family: var(--font-display); font-size: 38px; font-weight: 520; line-height: 1; }
.service-card:hover .card-number { color: white; }
.service-card h3 { margin: 38px 0 18px; font-size: clamp(31px, 2.7vw, 42px); font-weight: 550; }
.service-card > p { font-size: 16px; }
.tag-list { padding-top: 25px; }
.tag-list span { border: 0; border-radius: 0; padding: 0; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.tag-list span:not(:last-child)::after { content: " · "; padding-inline: 5px; }
.card-link { font-size: 16px; }

.featured-case { grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); min-height: 480px; border-radius: 42px 150px 42px 42px; box-shadow: none; }
.featured-case-copy, .featured-case-result { min-width: 0; padding: clamp(42px, 5vw, 76px); }
.featured-case h3 { margin-top: clamp(58px, 7vw, 100px); font-size: clamp(46px, 4.8vw, 72px); font-weight: 540; }
.featured-case-copy > p:last-child { font-size: 17px; }
.case-detail-link { font-size: 16px; }
.featured-case-result { padding-inline: clamp(36px, 4vw, 58px); background: var(--blue); }
.featured-case-result .featured-case-change { color: white; font-size: clamp(30px, 4vw, 60px); font-weight: 520; line-height: 1; letter-spacing: -.05em; word-spacing: .06em; white-space: nowrap; }
.featured-case-result > span, .featured-case-result small { color: rgba(255,255,255,.8); }
.case-grid { gap: 24px 16px; }
.case-card { min-height: 480px; padding: clamp(32px, 3.5vw, 52px); border: 0; border-radius: 34px 34px 90px 34px; background: #e6ebff; }
.case-card:nth-child(2) { border-radius: 90px 34px 34px 34px; background: white; }
.case-card:nth-child(3) { border-radius: 34px 90px 34px 34px; background: #d1dcff; }
.case-card h3 { font-size: clamp(30px, 2.6vw, 40px); font-weight: 560; }
.case-metric strong { font-size: clamp(52px, 5vw, 80px); font-weight: 540; }
.case-arrow { min-height: 50px; border: 0; background: var(--ink); color: white; }
.text-link { font-size: 18px; }

.reviews-grid { gap: 16px; }
.review-card { min-height: 420px; border: 0; border-radius: 34px 34px 90px 34px; background: var(--ink); color: white; }
.review-card:nth-child(2) { border-radius: 90px 34px 34px 34px; background: #e6ebff; color: var(--ink); }
.review-card:nth-child(3) { border-radius: 34px 90px 34px 34px; background: var(--blue); }
.quote-mark { color: var(--blue-bright); }
.review-card:nth-child(2) .quote-mark { color: var(--blue); }
.review-card blockquote { font-size: clamp(17px, 1.45vw, 20px); }
.review-person { border-color: rgba(255,255,255,.2); }
.review-card:nth-child(2) .review-person { border-color: var(--line); }
.review-person p span { color: rgba(255,255,255,.6); }
.review-card:nth-child(2) .review-person p span { color: var(--muted); }
.review-avatar { background: rgba(255,255,255,.13); color: white; }
.review-card:nth-child(2) .review-avatar { background: #d1dcff; color: var(--blue); }

.studio-section { padding: clamp(56px, 6vw, 90px); border-radius: 44px 44px 160px 44px; background: var(--ink); box-shadow: none; }
.studio-section > .section-marker { border: 0; background: transparent; box-shadow: none; }
.studio-layout { grid-template-columns: .9fr 1.1fr; }
.studio-layout h2 { font-size: clamp(48px, 5vw, 74px); }
.studio-copy p { font-size: 18px; }
.principle-list span { border-color: rgba(255,255,255,.45); font-size: 12px; }
.team-heading .eyebrow { border: 0; background: transparent; color: var(--blue-bright); }
.team-card { border: 0; border-radius: 34px 34px 74px 34px; background: #202b54; }
.team-card:nth-child(2) { border-radius: 74px 34px 34px 34px; }
.team-photo { border: 4px solid var(--blue-bright); }
.team-copy h4 { font-size: clamp(24px, 2.2vw, 31px); }

.product-section { padding: clamp(48px, 6vw, 92px); border-radius: 44px 140px 44px 44px; background: #e6ebff; }
.product-copy h2 { font-size: clamp(46px, 5.7vw, 84px); }
.product-copy > p:not(.eyebrow) { max-width: 850px; font-size: 19px; }
.contact-section { padding: clamp(56px, 7vw, 108px); border-radius: 44px 44px 160px 44px; background: var(--ink); color: white; }
.contact-section h2 { font-size: clamp(54px, 6.2vw, 94px); font-weight: 550; white-space: normal; }
.contact-bottom { gap: 80px; }
.contact-bottom > p { color: rgba(255,255,255,.7); font-size: 19px; }
.contact-link { border-color: white; }
.contact-link strong { font-size: clamp(32px, 4.2vw, 64px); font-weight: 560; }
.home-footer { margin-top: 24px; border-radius: 32px 32px 0 0; }

.detail-page { width: min(calc(100% - 64px), var(--max-width)); }
.detail-hero h1 { font-weight: 560; }
.detail-grid { border-radius: 44px 120px 44px 44px; }
.detail-contact { border-radius: 44px 120px 44px 44px; }
.case-detail-metric { border-radius: 44px 120px 44px 44px; }
.cases-index-grid > a { border: 0; border-radius: 34px 34px 90px 34px; background: #e6ebff; }
.cases-index-grid > a:nth-child(2n) { border-radius: 90px 34px 34px 34px; background: white; }

@media (max-width: 1120px) {
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero h1 { font-size: clamp(72px, 10vw, 112px); }
  .studio-layout { grid-template-columns: 1fr; }
  .studio-about { max-width: 850px; }
}

@media (min-width: 761px) {
  .hero-ru { padding: clamp(36px, 5vh, 72px) 0 clamp(115px, 14vh, 150px); }
  .hero-ru .eyebrow { margin-bottom: clamp(16px, 2.4vh, 28px); }
  .hero-ru h1 { font-size: clamp(64px, min(6.6vw, 12vh), 104px); line-height: .88; }
  .hero-ru .hero-actions { margin-top: clamp(24px, 4vh, 44px); }
}

@media (min-width: 761px) and (max-height: 600px) {
  .hero-ru { padding: 24px 0 86px; }
  .hero-ru .eyebrow { margin-bottom: 12px; }
  .hero-ru h1 { font-size: clamp(54px, min(5.4vw, 11vh), 76px); }
  .hero-ru .hero-actions { margin-top: 20px; }
  .hero-wave { height: 70px; }
}

@media (min-width: 900px) and (max-width: 1050px) {
  .platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .platform-card { min-height: 350px; padding: 28px; }
  .platform-card h3 { margin-top: 54px; font-size: 30px; }
  .platform-card p { font-size: 15px; }
}

@media (min-width: 761px) and (max-width: 960px) {
  .featured-case { grid-template-columns: 1fr; }
  .featured-case-result { min-height: 280px; border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
}

@media (max-width: 760px) {
  :root { --section-gap: 78px; }
  .header-inner, .hero-shell, .proof-intro, .proof-strip, .section, .fit-section, .studio-section, .product-section, .contact-section, .home-footer, .detail-page, .service-page { width: calc(100% - 32px); }
  .header-inner { min-height: 68px; }
  .hero { min-height: calc(100svh - 68px); padding: 74px 0 120px; background-position: 62% center; }
  .hero::before { background: linear-gradient(90deg, rgba(4, 43, 170, .68), rgba(5, 48, 171, .42)); }
  .hero-wave { height: 65px; }
  .hero h1 { max-width: 100%; font-size: clamp(56px, 14vw, 88px); line-height: .9; }
  .hero .eyebrow { font-size: 11px; }
  .button { width: 100%; min-height: 58px; }
  .hero-actions { width: 100%; }
  .proof-intro { grid-template-columns: 1fr; gap: 30px; padding-top: 64px; }
  .proof-intro-main { font-size: clamp(38px, 10vw, 52px); }
  .proof-item { min-height: 145px; padding: 20px; }
  .proof-item strong { font-size: clamp(37px, 10vw, 54px); }
  .perspective-grid, .fit-section, .search-landscape-intro, .terms-panel, .cases-heading, .reviews-heading, .featured-case, .contact-bottom { grid-template-columns: 1fr; }
  .perspective-grid, .fit-section, .terms-panel, .studio-section, .product-section, .contact-section { padding: 38px 26px; border-radius: 28px 28px 82px 28px; }
  .perspective-grid h2, .section-intro h2, .cases-heading h2, .reviews-heading h2, .studio-layout h2, .product-copy h2, .contact-section h2, .fit-heading h2 { font-size: clamp(42px, 11vw, 60px); }
  .fit-content { border-left: 0; border-top: 1px solid rgba(255,255,255,.45); padding: 34px 0 0; }
  .fit-content > p { font-size: 20px; }
  .platform-card { min-height: 275px; }
  .platform-card h3 { margin-top: 44px; }
  .terms-panel { gap: 34px; }
  .services-grid, .case-grid, .reviews-grid, .team-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 410px; }
  .featured-case { border-radius: 28px 28px 82px 28px; }
  .featured-case-copy, .featured-case-result { padding: 38px 26px; }
  .featured-case h3 { font-size: 46px; }
  .featured-case-result { min-height: 250px; }
  .featured-case-result .featured-case-change { font-size: clamp(21px, 6.4vw, 43px); }
  .case-card { min-height: 410px; }
  .review-card { min-height: 350px; }
  .studio-layout { gap: 52px; }
  .team-card, .team-card:nth-child(2) { flex-direction: row; align-items: center; gap: 20px; border-radius: 24px 24px 55px 24px; text-align: left; }
  .team-photo { width: 96px; }
  .team-copy { padding-top: 0; }
  .team-role { margin-left: 0; }
  .contact-bottom { gap: 34px; }
  .contact-bottom > p { font-size: 17px; }
  .contact-link strong { font-size: clamp(22px, 6vw, 34px); }
  .detail-page { width: calc(100% - 32px); }
}

@media (max-width: 460px) {
  .hero h1 { font-size: clamp(51px, 13.5vw, 64px); }
  .proof-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .proof-item { min-height: 138px; padding: 15px 12px; }
  .proof-item strong { font-size: 39px; }
  .proof-item span { font-size: 12px; }
  .platform-card, .service-card, .case-card, .review-card { border-radius: 24px 24px 70px 24px; }
  .team-card, .team-card:nth-child(2) { flex-direction: column; text-align: center; }
  .team-role { margin-left: auto; }
}

/* Case landing and editorial case pages */
.case-site { width: min(calc(100% - 64px), var(--max-width)); margin: 0 auto; }
.cases-landing-hero { min-height: 485px; display: flex; align-items: center; overflow: hidden; border-radius: 42px 42px 140px 42px; background: var(--ink); color: white; }
.cases-landing-hero-copy { width: 100%; padding: clamp(48px, 6.5vw, 96px); }
.cases-landing-hero h1 { max-width: 1100px; margin: 0; font-size: clamp(58px, 7vw, 102px); font-weight: 560; line-height: .98; letter-spacing: -.06em; }
.cases-landing-hero-copy > p { max-width: 740px; margin: 32px 0 0; color: rgba(255,255,255,.72); font-size: clamp(17px, 1.4vw, 20px); line-height: 1.5; }
.cases-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.cases-featured-card { min-height: 590px; display: flex; flex-direction: column; padding: clamp(34px, 4vw, 60px); border-radius: 38px 38px 100px 38px; background: var(--blue); color: white; transition: transform .2s ease; }
.cases-featured-card:nth-child(2) { border-radius: 100px 38px 38px 38px; }
.cases-featured-card:hover, .cases-list-card:hover { transform: translateY(-5px); }
.cases-featured-card.dark { background: #0d1130; }
.cases-featured-top, .cases-featured-bottom, .cases-list-top, .cases-list-bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.cases-featured-top { padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.35); font-size: clamp(17px, 1.4vw, 20px); font-weight: 700; }
.cases-featured-main { margin: clamp(48px, 5vw, 72px) 0 36px; }
.cases-featured-main > p { margin: 0 0 18px; color: #b4c0ff; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.cases-featured-main h2 { max-width: 640px; margin: 0 0 18px; font-size: clamp(38px, 4vw, 58px); font-weight: 550; line-height: 1.05; letter-spacing: -.055em; }
.cases-featured-main > span { display: block; max-width: 570px; color: rgba(255,255,255,.73); font-size: 16px; line-height: 1.55; }
.cases-featured-bottom { align-items: flex-end; margin-top: auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.35); }
.cases-featured-bottom strong { display: block; font-family: var(--font-display); font-size: clamp(52px, 5vw, 76px); font-weight: 540; line-height: .95; letter-spacing: -.06em; }
.cases-featured-bottom small { display: block; margin-top: 8px; color: rgba(255,255,255,.7); font-size: 13px; }
.cases-featured-bottom b, .cases-list-bottom b { width: 56px; height: 56px; display: grid; flex: none; place-items: center; border-radius: 50%; background: white; color: var(--ink); font-size: 28px; font-weight: 400; }
.cases-all { padding: clamp(94px, 10vw, 150px) 0 0; scroll-margin-top: 30px; }
.cases-all-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 42px; }
.cases-all-heading h2 { margin: 0; font-size: clamp(48px, 5.8vw, 82px); font-weight: 550; letter-spacing: -.06em; line-height: 1; }
.cases-all-heading p { max-width: 350px; margin: 0; color: var(--muted); font-size: 17px; }
.cases-all-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cases-list-card { min-width: 0; min-height: 450px; display: flex; flex-direction: column; padding: clamp(26px, 3vw, 40px); border-radius: 30px 30px 76px 30px; background: #e6ebff; transition: transform .2s ease; }
.cases-list-card:nth-child(3n + 2) { border-radius: 76px 30px 30px 30px; }
.cases-list-card:nth-child(3n + 3) { border-radius: 30px 76px 30px 30px; }
.cases-list-card.dark { background: #161a34; color: white; }
.cases-list-card.soft { background: white; }
.cases-list-top { min-height: 66px; padding-bottom: 16px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 750; letter-spacing: .03em; opacity: .85; }
.cases-list-top span:last-child { max-width: 75%; text-align: right; font-size: clamp(15px, 1.25vw, 17px); line-height: 1.35; }
.cases-list-card h3 { margin: 38px 0 18px; font-size: clamp(30px, 2.8vw, 42px); font-weight: 560; line-height: 1.1; letter-spacing: -.05em; }
.cases-list-card > p { margin: 0; font-size: 14px; opacity: .65; }
.cases-list-bottom { align-items: flex-end; gap: 12px; margin-top: auto; padding-top: 40px; }
.cases-list-bottom strong { display: block; color: var(--blue); font-family: var(--font-display); font-size: clamp(40px, 4vw, 62px); font-weight: 560; line-height: .95; letter-spacing: -.055em; overflow-wrap: anywhere; }
.cases-list-card.dark .cases-list-bottom strong { color: #aab5ff; }
.cases-list-bottom small { display: block; margin-top: 9px; font-size: 12px; opacity: .64; }
.cases-list-bottom b { width: 46px; height: 46px; background: var(--ink); color: white; font-size: 23px; }
.cases-list-card.dark .cases-list-bottom b { background: white; color: var(--ink); }






.case-story-hero { min-height: 610px; display: flex; flex-direction: column; padding: clamp(36px, 5.5vw, 76px); border-radius: 42px 42px 130px 42px; background: var(--blue); color: white; }
.case-story-hero.dark { background: #0d1130; }
.case-story-hero.soft { background: #dde4ff; color: var(--ink); }
.case-story-meta, .case-story-hero-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; font-weight: 750; }
.case-story-meta { padding-bottom: 22px; border-bottom: 1px solid currentColor; font-size: clamp(18px, 1.5vw, 22px); }
.case-story-hero-main { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: clamp(24px, 3vw, 42px); flex: 1; padding: clamp(50px, 5vw, 76px) 0; }
.case-story-hero-main > div > p { margin: 0 0 22px; color: #c1caff; font-size: 16px; font-weight: 750; }
.case-story-hero.soft .case-story-hero-main > div > p { color: var(--blue); }
.case-story-hero h1 { max-width: 1050px; margin: 0; font-size: clamp(52px, 6.3vw, 90px); font-weight: 550; line-height: 1.02; letter-spacing: -.06em; }
.case-story-hero-main > p { max-width: 900px; margin: 0; color: rgba(255,255,255,.86); font-size: clamp(21px, 2vw, 28px); line-height: 1.4; }
.case-story-hero.soft .case-story-hero-main > p { color: #444c6a; }
.case-story-hero-bottom { padding-top: 22px; border-top: 1px solid currentColor; font-size: 16px; }
.case-story-hero-bottom a { display: flex; align-items: center; gap: 14px; margin-left: auto; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: clamp(19px, 1.7vw, 23px); }
.case-story-hero-bottom a span { font-size: 24px; line-height: 1; }
.case-story-context { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.case-story-context > div { min-height: 310px; padding: clamp(32px, 4.5vw, 62px); border-radius: 32px 32px 80px 32px; background: white; }
.case-story-context > div:nth-child(2) { border-radius: 80px 32px 32px 32px; background: #e7ebff; }
.case-story-context h2 { margin: 0 0 38px; color: var(--blue); font-size: 16px; font-weight: 700; }
.case-story-context p { max-width: 550px; margin: 0; font-size: clamp(23px, 2.2vw, 32px); line-height: 1.3; letter-spacing: -.035em; }
.case-story-approach, .case-story-results { margin-top: 110px; }
.case-story-section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; margin-bottom: 42px; }
.case-story-section-heading.single { display: block; }
.case-story-section-heading h2 { margin: 0; font-size: clamp(48px, 5.5vw, 78px); font-weight: 550; line-height: 1; letter-spacing: -.06em; }
.case-story-section-heading p { max-width: 540px; margin: 0; color: var(--muted); font-size: clamp(18px, 2vw, 26px); line-height: 1.45; letter-spacing: -.025em; }
.case-story-approach ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.case-story-approach li { display: grid; grid-template-columns: .9fr 1.1fr; gap: 40px; padding: 29px 0 34px; border-bottom: 1px solid var(--line); }
.case-story-approach li span { color: var(--blue); font-size: 15px; font-weight: 750; }
.case-story-approach li p { max-width: 760px; margin: 0; font-size: clamp(22px, 2.25vw, 30px); line-height: 1.35; letter-spacing: -.035em; }
.case-story-results { scroll-margin-top: 30px; padding: clamp(38px, 6vw, 76px); border-radius: 42px 110px 42px 42px; background: #12172e; color: white; }
.case-story-results .case-story-section-heading p { color: rgba(255,255,255,.73); }
.case-story-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 50px; margin-top: 70px; }
.case-story-metrics > div { min-width: 0; padding: 30px 0; border-top: 1px solid rgba(255,255,255,.26); }
.case-story-metrics > div.primary { grid-column: 1 / -1; padding: 34px 0 50px; }
.case-story-metrics strong { display: block; font-family: var(--font-display); font-size: clamp(47px, 5vw, 78px); font-weight: 540; line-height: 1.05; letter-spacing: -.055em; white-space: nowrap; }
.case-story-metrics .primary strong { color: #a5b1ff; font-size: clamp(42px, 6.1vw, 96px); }
.case-story-metrics span { display: block; margin-top: 12px; color: rgba(255,255,255,.68); font-size: 15px; }
.case-story-next { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-top: 16px; padding: clamp(38px, 5vw, 72px); border-radius: 42px 42px 110px 42px; background: #e3e8ff; }
.case-story-next span { color: var(--blue); font-size: 13px; font-weight: 800; }
.case-story-next h2 { max-width: 850px; margin: 35px 0 18px; font-size: clamp(35px, 4vw, 58px); font-weight: 560; line-height: 1.08; letter-spacing: -.05em; }
.case-story-next p { margin: 0; color: var(--muted); font-size: 15px; }
.case-story-next > a { min-height: 54px; display: grid; flex: none; place-items: center; padding: 0 22px; border-radius: 999px; background: var(--ink); color: white; font-size: 16px; font-weight: 750; }
.case-story .cases-bottom-cta { margin-top: 16px; }

@media (max-width: 1100px) {
  .cases-all-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-story-hero-main > p { max-width: 660px; }
}
@media (max-width: 760px) {
  .case-site { width: calc(100% - 32px); }
  .cases-landing-hero { min-height: auto; border-radius: 28px 28px 75px 28px; }
  .cases-landing-hero-copy { padding: 46px 28px 42px; }
  .cases-landing-hero h1 { font-size: clamp(47px, 12vw, 72px); }
  .cases-landing-hero-copy > p { margin-top: 24px; font-size: 16px; }
  .cases-featured, .cases-all-grid, .case-story-context, .case-story-section-heading { grid-template-columns: 1fr; }
  .cases-featured-card { min-height: 490px; padding: 32px 28px; border-radius: 28px 28px 75px 28px; }
  .cases-featured-card:nth-child(2) { border-radius: 75px 28px 28px 28px; }
  .cases-featured-main h2 { font-size: clamp(34px, 9vw, 50px); }
  .cases-featured-bottom strong { font-size: 58px; }
  .cases-all { padding-top: 84px; }
  .cases-all-heading { display: block; margin-bottom: 28px; }
  .cases-all-heading p { margin-top: 18px; }
  .cases-list-card { min-height: 380px; padding: 28px; }
  .cases-list-card h3 { font-size: 34px; }


  .case-story-hero { min-height: 590px; padding: 32px 28px 42px; border-radius: 28px 28px 75px 28px; }
  .case-story-hero-main { gap: 28px; padding: 50px 0 42px; }
  .case-story-hero h1 { font-size: clamp(43px, 10.5vw, 64px); }
  .case-story-hero-main > p { font-size: 21px; }
  .case-story-hero-bottom { flex-wrap: wrap; gap: 12px; }
  .case-story-context > div, .case-story-context > div:nth-child(2) { min-height: 250px; padding: 32px 28px; border-radius: 28px 28px 75px 28px; }
  .case-story-context > div:nth-child(2) { border-radius: 75px 28px 28px 28px; }
  .case-story-approach, .case-story-results { margin-top: 75px; }
  .case-story-section-heading { gap: 18px; }
  .case-story-section-heading h2 { font-size: 52px; }
  .case-story-section-heading p { font-size: 18px; }
  .case-story-approach li { grid-template-columns: 48px 1fr; gap: 12px; }
  .case-story-approach li p { font-size: 21px; }
  .case-story-results { padding: 42px 28px; border-radius: 28px 75px 28px 28px; }
  .case-story-metrics { grid-template-columns: 1fr; margin-top: 42px; }
  .case-story-metrics > div.primary { grid-column: auto; }
  .case-story-metrics strong { font-size: clamp(35px, 8.4vw, 65px); white-space: normal; overflow-wrap: anywhere; }
  .case-story-metrics .primary strong { font-size: clamp(26px, 6.1vw, 56px); white-space: nowrap; }
  .case-story-next { padding: 40px 28px; border-radius: 28px 28px 75px 28px; }
  .case-story-next h2 { font-size: 34px; }
  .case-story-next > a { min-height: 48px; padding: 0 16px; font-size: 14px; }
}

/* Shared navigation across the home, cases, and service pages. */
.site-header { position: relative; z-index: 50; }
.desktop-nav { align-items: center; }
.services-dropdown { position: relative; }
.services-dropdown > summary { display: flex; align-items: center; gap: 7px; padding: 10px 13px; border-radius: 999px; color: #3f4350; font-weight: 600; cursor: pointer; list-style: none; }
.services-dropdown > summary::-webkit-details-marker { display: none; }
.services-dropdown > summary:hover, .services-dropdown[open] > summary { background: var(--blue-soft); }
.services-dropdown > summary .menu-chevron { flex: none; color: var(--blue); transition: transform .2s ease; }
.services-dropdown[open] > summary .menu-chevron { transform: rotate(180deg); }
.services-dropdown-panel { position: absolute; top: calc(100% + 12px); left: 0; width: min(470px, 90vw); padding: 14px; border: 1px solid var(--line); border-radius: 25px; background: white; box-shadow: 0 25px 70px rgba(17,19,27,.16); }
.desktop-nav .services-dropdown-panel a { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 8px; padding: 13px 14px; border-radius: 12px; color: var(--ink); font-size: 16px; }
.desktop-nav .services-dropdown-panel a:hover { background: var(--blue-soft); }
.services-dropdown-panel a span { color: var(--blue); font-size: 12px; font-weight: 800; }
.mobile-menu { display: none; }

@media (max-width: 1050px) {
  .mobile-menu { display: block; }
  .mobile-menu > summary { display: flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: 13px; font-weight: 750; cursor: pointer; list-style: none; }
  .mobile-menu > summary::-webkit-details-marker { display: none; }
  .mobile-menu > summary span { font-size: 17px; line-height: 1; }
  .mobile-menu nav { position: absolute; top: calc(100% - 1px); right: max(16px, calc((100vw - var(--max-width)) / 2)); width: min(390px, calc(100vw - 32px)); max-height: calc(100svh - 90px); display: flex; flex-direction: column; overflow-y: auto; padding: 20px; border: 1px solid var(--line); border-radius: 0 0 25px 25px; background: white; box-shadow: 0 24px 60px rgba(17,19,27,.15); }
  .mobile-menu nav strong { margin: 15px 0 5px; color: var(--blue); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
  .mobile-menu nav strong:first-child { margin-top: 0; }
  .mobile-menu nav a { padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 16px; font-weight: 650; }
}

.service-page { width: min(calc(100% - 64px), var(--max-width)); margin: 0 auto; }

.service-hero { position: relative; min-height: 500px; display: flex; overflow: hidden; padding: 0 32px 58px; background: #3049ec; color: white; }
.service-hero::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 85% 18%, rgba(151,169,255,.4), transparent 32%), linear-gradient(135deg, #2047e9, #4252f4 62%, #182ea7); }
.service-hero > * { position: relative; z-index: 1; }
.service-hero-inner { width: min(100%, var(--max-width)); display: flex; align-items: center; margin: 0 auto; }
.service-hero-copy { flex: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 24px 0 34px; }
.service-hero h1 { width: 100%; max-width: 980px; min-width: 0; margin: 0; font-size: clamp(56px, 6.1vw, 88px); font-weight: 570; line-height: .98; letter-spacing: -.065em; text-wrap: balance; overflow-wrap: anywhere; }
.service-hero-copy p { max-width: 700px; margin: 22px 0 0; color: rgba(255,255,255,.86); font-size: clamp(20px, 1.8vw, 25px); line-height: 1.4; }
.service-hero-copy a, .service-pricing > a { display: inline-flex; align-items: center; gap: 28px; margin-top: 22px; padding: 12px 0; border-bottom: 1px solid currentColor; font-size: 18px; font-weight: 750; }
.service-hero-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 10px; padding: 20px 10px 24px; border-bottom: 1px solid var(--line); }
.service-hero-points span { font-size: 16px; font-weight: 650; }
.service-wave { position: absolute; z-index: 2; right: 0; bottom: -1px; left: 0; width: 100%; height: 72px; fill: var(--paper); }

.service-section { margin-top: clamp(90px, 9vw, 140px); }
.service-section-head { margin-bottom: 42px; }
.service-case > div > span { color: var(--blue); font-size: 14px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.service-section-head h2, .service-output h2, .service-case h2 { max-width: 850px; margin: 0; font-size: clamp(44px, 5.4vw, 78px); font-weight: 560; line-height: 1.02; letter-spacing: -.06em; }
.service-situation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.service-situation-grid article { min-height: 220px; display: flex; flex-direction: column; justify-content: flex-end; padding: 32px; border-radius: 28px 28px 72px 28px; background: #e3e8ff; }
.service-situation-grid article:nth-child(2) { border-radius: 72px 28px 28px 28px; background: white; }
.service-situation-grid article:nth-child(3) { background: #d6ddff; }
.service-situation-grid p { margin: 0; font-size: clamp(20px, 2vw, 28px); line-height: 1.3; letter-spacing: -.035em; }
.service-scope { padding: clamp(40px, 6vw, 76px); border-radius: 36px 110px 36px 36px; background: var(--ink); color: white; }
.service-scope-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px 44px; }
.service-scope-grid article { min-height: 110px; padding: 28px 0; border-top: 1px solid rgba(255,255,255,.25); }
.service-scope-grid p { margin: 0; font-size: clamp(20px, 2vw, 27px); line-height: 1.3; letter-spacing: -.03em; }
.service-process ul { margin: 0; padding: 0; list-style: none; }
.service-process li { padding: 27px 0; border-top: 1px solid var(--line); }
.service-process li:last-child { border-bottom: 1px solid var(--line); }
.service-process li p { max-width: 850px; margin: 0; font-size: clamp(21px, 2.3vw, 32px); line-height: 1.3; letter-spacing: -.035em; }
.service-output { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; margin-top: clamp(90px, 9vw, 140px); padding: clamp(40px, 6vw, 76px); border-radius: 36px 110px 36px 36px; background: #dce4ff; }
.service-output h2 { margin-top: 0; }
.service-output > div > p { max-width: 690px; margin: 42px 0 0; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.4; letter-spacing: -.03em; }
.service-output aside { align-self: end; padding: 32px 0 0 32px; border-left: 2px solid var(--blue); }
.service-output aside span { color: var(--blue); font-size: 16px; font-weight: 800; }
.service-output aside p { margin: 22px 0 0; font-size: 18px; line-height: 1.55; }
.service-prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.service-prices > div { min-height: 230px; display: flex; flex-direction: column; padding: 30px; border-radius: 28px 28px 70px 28px; background: white; }
.service-prices span { color: var(--muted); font-size: 16px; font-weight: 700; }
.service-prices strong { margin-top: auto; font-size: clamp(35px, 3.7vw, 53px); font-weight: 600; line-height: 1; letter-spacing: -.06em; white-space: nowrap; }
.service-prices small { margin-top: 12px; color: var(--muted); font-size: 15px; }
.service-pricing > p { max-width: 800px; margin: 30px 0 0; color: var(--muted); font-size: 18px; line-height: 1.55; }
.service-pricing > a { color: var(--blue); }
.service-case { display: grid; grid-template-columns: 1.2fr .8fr; gap: 50px; align-items: end; margin-top: clamp(90px, 9vw, 140px); padding: clamp(40px, 6vw, 76px); border-radius: 36px 36px 110px 36px; background: var(--blue); color: white; }
.service-case > div > span { color: #cbd2ff; }
.service-case h2 { margin-top: 38px; font-size: clamp(42px, 4.8vw, 68px); }
.service-case p { max-width: 640px; margin: 24px 0 0; color: rgba(255,255,255,.8); font-size: 18px; }
.service-case a { display: inline-flex; gap: 24px; margin-top: 38px; padding-bottom: 8px; border-bottom: 1px solid white; font-size: 17px; font-weight: 800; }
.service-case strong { text-align: right; font-size: clamp(42px, 5vw, 72px); font-weight: 550; line-height: 1; letter-spacing: -.07em; overflow-wrap: anywhere; }
.service-faq > div:last-child { border-top: 1px solid var(--line); }
.service-faq details { border-bottom: 1px solid var(--line); }
.service-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 28px 0; font-size: clamp(21px, 2.15vw, 30px); font-weight: 600; line-height: 1.3; letter-spacing: -.035em; cursor: pointer; list-style: none; }
.service-faq summary::-webkit-details-marker { display: none; }
.service-faq summary span { color: var(--blue); font-size: 32px; font-weight: 400; }
.service-faq details[open] summary span { transform: rotate(45deg); }
.service-faq details p { max-width: 850px; margin: 0 0 30px; color: var(--muted); font-size: 18px; line-height: 1.6; }
.service-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.service-related-grid a { min-height: 240px; display: flex; flex-direction: column; padding: 28px; border-radius: 28px 28px 68px 28px; background: #e2e8ff; transition: transform .2s ease, background .2s ease; }
.service-related-grid a:nth-child(2n) { background: white; }
.service-related-grid a:hover { transform: translateY(-4px); background: #ccd6ff; }
.service-related-grid h3 { max-width: 340px; margin: auto 0 0; font-size: clamp(24px, 2.15vw, 34px); font-weight: 600; line-height: 1.14; letter-spacing: -.045em; overflow-wrap: anywhere; }






@media (max-width: 800px) {
  .service-hero { min-height: 0; padding: 27px 32px 76px; }
  .service-hero h1 { font-size: clamp(48px, 10vw, 78px); }
  .service-hero-points { gap: 14px; }
  .service-hero-points span { font-size: 13px; }
  .service-situation-grid { grid-template-columns: 1fr; }
  .service-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-situation-grid article { min-height: 185px; }
  .service-scope { padding: 38px 28px; border-radius: 28px 80px 28px 28px; }
  .service-scope-grid { grid-template-columns: 1fr; }
  .service-scope-grid article { min-height: 100px; }
  .service-output, .service-case { grid-template-columns: 1fr; gap: 44px; padding: 42px 28px; border-radius: 28px 80px 28px 28px; }
  .service-case strong { text-align: left; }
}
@media (max-width: 760px) {
  .service-page { width: calc(100% - 32px); }
  .service-hero { padding-inline: 16px; }
}
@media (max-width: 500px) {
  .service-hero { min-height: 0; padding: 24px 16px 67px; }
  .service-hero-copy { padding: 35px 0 42px; }
  .service-hero h1 { font-size: clamp(38px, 11vw, 56px); }
  .service-hero-copy p { font-size: 19px; }
  .service-hero-points { grid-template-columns: 1fr; gap: 8px; }
  .service-wave { height: 70px; }
  .service-related-grid { grid-template-columns: 1fr; }
  .service-related-grid a { min-height: 180px; }
  .service-section { margin-top: 82px; }
  .service-section-head h2, .service-output h2, .service-case h2 { font-size: clamp(41px, 11vw, 54px); }
  .service-prices { grid-template-columns: 1fr; }
  .service-prices > div { min-height: 170px; }
  .service-prices strong { font-size: 46px; }
  .service-output aside { padding-left: 20px; }

}
