.inner-hero { min-height: calc(100svh - 96px); padding: clamp(2rem, 3vw, 4rem) 0 clamp(3rem, 5vw, 6rem); background: #08090b; color: #f4f5f7; }
.inner-hero .section-frame { display: flex; flex-direction: column; min-height: calc(100svh - 96px - clamp(5rem, 8vw, 10rem)); }
.inner-hero__top { display: flex; gap: .65rem; margin-bottom: clamp(4rem, 7vw, 8rem); color: var(--muted); font-size: .75rem; }
.inner-hero__top a:hover { color: var(--ink); }
.inner-hero .section-label { border-color: var(--rule); }
.inner-hero h1 { margin: auto 0 3rem; font-size: clamp(5.4rem, 10vw, 12.5rem); line-height: .84; font-weight: 600; letter-spacing: -.085em; }
.inner-hero h1 em { color: var(--accent); font-family: var(--serif); font-weight: 400; letter-spacing: -.09em; }
.inner-hero__lead { max-width: 38rem; margin: 0 7vw 0 auto; font-size: clamp(1.35rem, 1.9vw, 2.25rem); line-height: 1.17; letter-spacing: -.035em; }
.inner-hero__down { align-self: start; margin-top: 4rem; color: var(--accent); font-size: 2.5rem; line-height: 1; }
.inner-hero--service h1 { max-width: 13ch; margin-bottom: 2.5rem; font-size: clamp(4.4rem, 7.4vw, 8.6rem); }
.inner-hero--service .inner-hero__lead { max-width: 42rem; }

.inner-section { padding: clamp(7rem, 10vw, 13rem) 0 clamp(8rem, 12vw, 14rem); }
.inner-section__intro { display: grid; grid-template-columns: 1.5fr .65fr; gap: 3rem; align-items: end; padding: clamp(5rem, 9vw, 10rem) 0 clamp(6rem, 9vw, 10rem); }
.inner-section__intro h2 { margin: 0; font-size: clamp(4.5rem, 8vw, 9.5rem); line-height: .87; font-weight: 600; }
.inner-section__intro p { max-width: 30rem; margin: 0 0 .5rem auto; font-size: clamp(1.3rem, 1.7vw, 2rem); line-height: 1.2; letter-spacing: -.035em; }
.inner-rows { border-bottom: 1px solid var(--rule); }
.inner-row { display: grid; grid-template-columns: 9% 45% 1fr; gap: 2rem; align-items: start; padding: clamp(2.5rem, 4.5vw, 5rem) 0; border-top: 1px solid var(--rule); }
.inner-row > span { padding-top: .45rem; color: var(--accent); font-size: .76rem; font-weight: 700; }
.inner-row h3 { margin: 0; font-size: clamp(2.7rem, 4.7vw, 5.5rem); line-height: .93; font-weight: 600; }
.inner-row p { max-width: 29rem; margin: .3rem 0 0; font-size: clamp(1.15rem, 1.5vw, 1.75rem); line-height: 1.22; letter-spacing: -.025em; }
.inner-section--continued { padding-top: clamp(5rem, 7vw, 9rem); }
.inner-statement--process .inner-rows { margin-top: clamp(5rem, 8vw, 9rem); }
.inner-statement--process .inner-row h3 { font-size: clamp(2.8rem, 4.4vw, 5.2rem); }
.inner-statement.inner-statement--process .inner-row p { max-width: 29rem; margin: .3rem 0 0; color: #c5c9d2; font-size: clamp(1.15rem, 1.5vw, 1.75rem); line-height: 1.22; }
.inner-decision { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(5rem, 8vw, 9rem); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.inner-decision > div { display: flex; flex-direction: column; min-height: 22rem; padding: 1.5rem clamp(1.5rem, 2.5vw, 3rem) 2rem; border-right: 1px solid var(--rule); }
.inner-decision > div:first-child { padding-left: 0; }
.inner-decision > div:last-child { padding-right: 0; border-right: 0; }
.inner-decision span { color: var(--accent); font-size: .72rem; font-weight: 600; letter-spacing: .1em; }
.inner-decision h3 { margin: auto 0 1.5rem; font-size: clamp(2.4rem, 3.5vw, 4.2rem); line-height: .95; font-weight: 600; }
.inner-statement.inner-statement--decision .inner-decision p { max-width: 20rem; margin: 0; color: #c5c9d2; font-size: 1.1rem; line-height: 1.3; letter-spacing: -.02em; }

.inner-service-proof { padding: clamp(6rem, 9vw, 11rem) 0 clamp(7rem, 10vw, 12rem); background: #08090b; color: #f4f5f7; }
.inner-service-proof__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(3rem, 6vw, 7rem); align-items: center; margin-top: clamp(4rem, 6vw, 7rem); }
.inner-service-proof__figure { min-width: 0; margin: 0; }
.inner-service-proof__viewport { position: relative; width: 100%; aspect-ratio: 2.08 / 1; overflow: hidden; border: 1px solid #343944; background: #0d0f19; transition: border-color .25s ease; }
.inner-service-proof__viewport img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.inner-service-proof__figure:hover .inner-service-proof__viewport, .inner-service-proof__figure:focus-within .inner-service-proof__viewport { border-color: var(--accent); }
.inner-service-proof figcaption { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: 1rem; color: #b0b6c5; font-size: .76rem; line-height: 1.3; }
.inner-service-proof figcaption a { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; flex: none; color: #f4f5f7; border-bottom: 1px solid currentColor; }
.inner-service-proof figcaption a:hover, .inner-service-proof figcaption a:focus-visible { color: var(--accent); }
.inner-service-proof__copy > span { color: #b0b6c5; font-size: .72rem; font-weight: 600; letter-spacing: .1em; }
.inner-service-proof__copy h2 { margin: clamp(2rem, 3vw, 3.5rem) 0; font-size: clamp(3.5rem, 5vw, 6.5rem); line-height: .9; font-weight: 600; }
.inner-service-proof__copy h2 em { color: var(--accent); }
.inner-service-proof__copy p { max-width: 34rem; margin: 0; font-size: clamp(1.16rem, 1.45vw, 1.55rem); line-height: 1.25; letter-spacing: -.025em; }
.inner-service-proof__copy .inner-text-link { margin: clamp(2.5rem, 4vw, 5rem) 0 0; }

.inner-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--rule); }
.inner-services a { position: relative; display: flex; flex-direction: column; min-height: clamp(24rem, 31vw, 36rem); padding: clamp(2rem, 3vw, 3.5rem) 5vw clamp(2rem, 3vw, 3.5rem) 0; border-top: 1px solid var(--rule); }
.inner-services a:nth-child(even) { padding-left: 5vw; border-left: 1px solid var(--rule); }
.inner-services a > span, .inner-projects__bottom span { color: var(--muted); font-size: .72rem; font-weight: 600; letter-spacing: .08em; }
.inner-services h3 { margin: auto 0 2rem; font-size: clamp(3.5rem, 5.6vw, 6.8rem); line-height: .9; font-weight: 600; }
.inner-services p { max-width: 22rem; margin: 0; font-size: clamp(1.1rem, 1.4vw, 1.65rem); line-height: 1.2; letter-spacing: -.02em; }
.inner-services b { position: absolute; right: 2.5rem; top: 2.3rem; font-size: 2.5rem; font-weight: 400; transition: transform .25s; }
.inner-services a:hover b { transform: translate(5px, -5px); }
.inner-services a:hover h3 { color: var(--accent); }

.inner-statement { padding: clamp(8rem, 12vw, 15rem) 0 clamp(8rem, 11vw, 14rem); background: #08090b; color: #f4f5f7; }
.inner-statement h2 { max-width: 1450px; margin: clamp(6rem, 9vw, 11rem) 0 clamp(5rem, 8vw, 9rem); font-size: clamp(4.4rem, 7.6vw, 9.5rem); line-height: .9; font-weight: 600; }
.inner-statement h2 em { color: var(--accent); }
.inner-statement p:not(.section-label) { max-width: 30rem; margin: 0 0 0 auto; font-size: clamp(1.25rem, 1.7vw, 2rem); line-height: 1.2; letter-spacing: -.03em; }
.inner-text-link { display: flex; justify-content: space-between; align-items: center; gap: 2rem; width: max-content; min-width: min(29rem, 100%); margin: 3rem 0 0 auto; padding: 1rem 0; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; font-size: clamp(1.05rem, 1.5vw, 1.6rem); font-weight: 500; letter-spacing: -.03em; }
.inner-text-link span { font-size: 2rem; transition: transform .25s; }
.inner-text-link:hover span { transform: translate(4px, -4px); }

.inner-faq { padding-top: clamp(7rem, 10vw, 12rem); }
.inner-faq h2 { margin: clamp(5rem, 8vw, 9rem) 0 4rem; font-size: clamp(4rem, 7vw, 8rem); line-height: .9; font-weight: 600; }
.inner-faq details { border-top: 1px solid var(--rule); }
.inner-faq details:last-child { border-bottom: 1px solid var(--rule); }
.inner-faq summary { display: flex; justify-content: space-between; gap: 1.5rem; padding: 1.7rem 0; cursor: pointer; list-style: none; font-size: clamp(1.4rem, 2vw, 2.3rem); letter-spacing: -.04em; }
.inner-faq summary::-webkit-details-marker { display: none; }
.inner-faq summary::after { content: '+'; color: var(--accent); font-size: 2rem; line-height: 1; }
.inner-faq details[open] summary::after { content: '−'; }
.inner-faq details p { max-width: 37rem; margin: 0 0 2rem auto; font-size: 1.1rem; line-height: 1.4; }
.inner-faq__lead { max-width: 40rem; margin: 0 0 0 auto; font-size: clamp(1.2rem, 1.7vw, 1.8rem); line-height: 1.25; }

.inner-cta { min-height: 78svh; padding: clamp(7rem, 10vw, 12rem) 0 clamp(4rem, 6vw, 7rem); background: var(--accent); color: #08090b; }
.inner-cta .section-label { color: rgba(8,9,11,.7); border-color: rgba(8,9,11,.45); }
.inner-cta h2 { margin: clamp(6rem, 10vw, 11rem) 0 clamp(6rem, 9vw, 10rem); font-size: clamp(4.6rem, 8.5vw, 10rem); line-height: .86; font-weight: 600; }
.inner-cta h2 em { color: #f4f5f7; }
.inner-cta__bottom { display: flex; justify-content: space-between; gap: 4rem; align-items: end; }
.inner-cta__bottom p { max-width: 31rem; margin: 0; font-size: clamp(1.25rem, 1.7vw, 2rem); line-height: 1.2; letter-spacing: -.03em; }
.inner-cta__bottom a { display: flex; justify-content: space-between; align-items: center; gap: 3rem; min-width: min(31rem, 40%); padding: 1rem 0; border-top: 1px solid #08090b; border-bottom: 1px solid #08090b; font-size: clamp(1.4rem, 2vw, 2.4rem); font-weight: 500; letter-spacing: -.04em; }
.inner-cta__bottom a span { font-size: 3rem; transition: transform .25s; }
.inner-cta__bottom a:hover span { transform: translate(4px, -4px); }

.inner-projects { background: #08090b; color: #f4f5f7; }
.inner-projects h2 { margin: clamp(5rem, 8vw, 9rem) 0 clamp(4rem, 6vw, 7rem); font-size: clamp(5rem, 10vw, 12rem); line-height: .9; font-weight: 600; }
.inner-projects__visual { display: block; }
.inner-projects__visual--real { padding: clamp(1rem, 2.5vw, 2.5rem); border: 1px solid #343944; background: #101319; }
.inner-projects__proof-top, .inner-projects__proof-foot, .inner-case-proof__head { display: flex; justify-content: space-between; gap: 1rem; font-size: .72rem; font-weight: 600; letter-spacing: .09em; }
.inner-projects__proof-top { padding-bottom: 1.2rem; color: #b0b6c5; }
.inner-projects__proof-foot { padding-top: 1.2rem; color: #f4f5f7; }
.inner-projects__proof-foot span { color: var(--accent); font-size: 1.3rem; line-height: .7; }
.inner-projects__screen, .inner-case-proof__viewport { position: relative; display: block; width: 100%; aspect-ratio: 2.08 / 1; overflow: hidden; background: #0d0f19; }
.inner-projects__screen img, .inner-case-proof__viewport img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.inner-projects__visual--real:hover .inner-projects__proof-foot span, .inner-projects__visual--real:focus-visible .inner-projects__proof-foot span { transform: translate(4px, -4px); }
.inner-projects__proof-foot span { transition: transform .25s; }
.inner-projects__bottom { display: flex; justify-content: space-between; align-items: end; gap: 4rem; padding-top: 2rem; }
.inner-projects__bottom p { max-width: 41rem; margin: 1rem 0 0; font-size: clamp(1.4rem, 2vw, 2.3rem); line-height: 1.18; letter-spacing: -.03em; }
.inner-projects__bottom .inner-text-link { margin: 0; }
.inner-case-proof { padding: clamp(3rem, 5vw, 6rem) 0 clamp(6rem, 8vw, 10rem); background: #08090b; color: #f4f5f7; }
.inner-case-proof__head { padding-bottom: 1.5rem; color: #b0b6c5; border-bottom: 1px solid #343944; }
.inner-case-proof__figure { margin: clamp(1.5rem, 3vw, 3rem) 0 0; }
.inner-case-proof__viewport { aspect-ratio: 2 / 1; }
.inner-case-proof figcaption { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-top: 1.25rem; color: #b0b6c5; font-size: .85rem; line-height: 1.4; }
.inner-case-proof figcaption a { display: inline-flex; align-items: center; min-height: 44px; flex: none; color: #f4f5f7; border-bottom: 1px solid currentColor; }

.contact-section { padding: clamp(7rem, 10vw, 13rem) 0 clamp(8rem, 12vw, 14rem); }
.contact-section__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(4rem, 8vw, 10rem); padding-top: clamp(5rem, 8vw, 9rem); }
.contact-section__aside h2 { margin: 0; font-size: clamp(4rem, 7vw, 8rem); line-height: .9; font-weight: 600; }
.contact-section__aside > p { max-width: 28rem; margin: clamp(3rem, 5vw, 6rem) 0; font-size: clamp(1.2rem, 1.6vw, 1.85rem); line-height: 1.2; letter-spacing: -.025em; }
.contact-section__aside dl { margin: 0; }
.contact-section__aside dl > div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: 1.4rem 0; border-top: 1px solid var(--rule); }
.contact-section__aside dt { color: var(--muted); font-size: .65rem; font-weight: 600; letter-spacing: .08em; }
.contact-section__aside dd { margin: 0; font-size: 1rem; line-height: 1.3; }
.contact-section__aside dd a { text-decoration: underline; text-underline-offset: .2em; }
.contact-form { display: flex; flex-direction: column; padding-top: .4rem; }
.contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.2rem 1.4rem; }
.form-field { display: flex; flex-direction: column; gap: .75rem; }
.form-field--full { grid-column: 1 / -1; }
.form-field label { font-size: .85rem; font-weight: 600; }
.form-field label span { color: var(--accent); }
.form-field input:not([type="checkbox"]), .form-field select, .form-field textarea { width: 100%; min-height: 3.3rem; padding: .7rem 0; border: 0; border-bottom: 1px solid var(--rule); border-radius: 0; outline: 0; background: transparent; color: var(--ink); font: 500 1.05rem/1.25 var(--sans); }
.form-field textarea { resize: vertical; min-height: 9rem; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--accent); box-shadow: 0 2px 0 var(--accent); }
.form-field input::placeholder, .form-field textarea::placeholder { color: var(--muted); opacity: 1; }
.form-field--check { flex-direction: row; align-items: flex-start; gap: .8rem; }
.form-field--check input { width: 1.2rem; height: 1.2rem; accent-color: var(--accent); margin: .1rem 0 0; }
.form-field--check label { font-weight: 400; line-height: 1.35; }
.form-field--check a { text-decoration: underline; text-underline-offset: .18em; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-status { min-height: 1.5rem; margin-top: 2rem; font-size: .9rem; line-height: 1.35; }
.form-status.is-error { color: #b72b2b; }
.form-status.is-success { color: #176942; }
.contact-form button { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 2rem; padding: 1.4rem 1.6rem; border: 1px solid var(--ink); background: var(--ink); color: var(--light-surface); cursor: pointer; font-size: clamp(1.3rem, 1.7vw, 1.9rem); font-weight: 500; letter-spacing: -.035em; transition: background .25s, color .25s; }
.contact-form button span { font-size: 2.5rem; font-weight: 400; line-height: .8; }
.contact-form button:hover { background: transparent; color: var(--ink); }
.contact-form button:disabled { opacity: .6; cursor: wait; }

@media (max-width: 1100px) {
  .inner-section__intro { grid-template-columns: 1.3fr .7fr; }
  .inner-section__intro h2 { font-size: 7.3vw; }
  .inner-services h3 { font-size: 5vw; }
  .inner-hero h1 { font-size: 9vw; }
}

@media (max-width: 979px) {
  .inner-service-proof__grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .inner-service-proof__copy { max-width: 42rem; }
  .inner-service-proof__copy h2 { max-width: 11ch; }
}

@media (max-width: 700px) {
  .inner-hero { min-height: calc(100svh - 72px); padding: 1.7rem 0 3rem; }
  .inner-hero .section-frame { min-height: calc(100svh - 72px - 4.7rem); }
  .inner-hero__top { margin-bottom: 4rem; font-size: .68rem; }
  .inner-hero h1 { margin: auto 0 4rem; font-size: clamp(3.5rem, 12vw, 6rem); line-height: .9; }
  .inner-hero--service h1 { max-width: 100%; margin-bottom: 2.5rem; font-size: clamp(2.4rem, 10vw, 4.2rem); line-height: .9; }
  .inner-hero--ia h1 { font-size: clamp(2.35rem, 9.4vw, 4rem); }
  .inner-hero__lead { margin: 0; max-width: 24rem; font-size: 1.4rem; }
  .inner-hero__down { margin-top: 3rem; }
  .inner-section { padding: 6rem 0 7rem; }
  .inner-section__intro { display: block; padding: 5rem 0; }
  .inner-section__intro h2 { font-size: clamp(3.5rem, 11vw, 6rem); }
  .inner-section__intro p { margin: 3rem 0 0; max-width: 25rem; font-size: 1.25rem; }
  .inner-row { grid-template-columns: 2rem 1fr; gap: .7rem 1rem; padding: 2.3rem 0; }
  .inner-row h3 { font-size: clamp(2.5rem, 9.5vw, 4rem); }
  .inner-row p { grid-column: 2; margin: .5rem 0 0; font-size: 1.05rem; }
  .inner-statement.inner-statement--process .inner-row p { margin: .5rem 0 0; font-size: 1.05rem; }
  .inner-section--continued { padding-top: 4rem; }
  .inner-decision { grid-template-columns: 1fr; margin-top: 5rem; }
  .inner-decision > div, .inner-decision > div:first-child, .inner-decision > div:last-child { min-height: 0; padding: 2rem 0; border-right: 0; border-bottom: 1px solid var(--rule); }
  .inner-decision > div:last-child { border-bottom: 0; }
  .inner-decision h3 { margin: 2rem 0 1rem; font-size: clamp(2.9rem, 10vw, 4.5rem); }
  .inner-statement.inner-statement--decision .inner-decision p { font-size: 1.05rem; }
  .inner-service-proof { padding: 6rem 0 7rem; }
  .inner-service-proof__grid { gap: 3rem; margin-top: 3.5rem; }
  .inner-service-proof__viewport { aspect-ratio: 7 / 5; }
  .inner-service-proof__viewport img { position: absolute; top: 0; left: -19.2%; width: 160%; max-width: none; height: auto; object-fit: unset; }
  .inner-service-proof figcaption { align-items: flex-start; flex-direction: column; gap: .2rem; font-size: .73rem; }
  .inner-service-proof__copy h2 { font-size: clamp(3.2rem, 11vw, 5rem); }
  .inner-service-proof__copy p { font-size: 1.15rem; }
  .inner-services { grid-template-columns: 1fr; }
  .inner-services a, .inner-services a:nth-child(even) { min-height: 22rem; padding: 2rem 0; border-left: 0; }
  .inner-services h3 { font-size: clamp(3.4rem, 11vw, 5rem); }
  .inner-services p { font-size: 1.15rem; }
  .inner-services b { right: 0; top: 1.8rem; }
  .inner-statement { padding: 7rem 0 8rem; }
  .inner-statement h2 { margin: 5rem 0; font-size: clamp(3.1rem, 10vw, 5rem); }
  .inner-statement p:not(.section-label) { margin: 0; font-size: 1.25rem; }
  .inner-text-link { margin: 3rem 0 0; width: 100%; min-width: 0; font-size: 1.2rem; }
  .inner-faq h2 { margin: 5rem 0 3rem; font-size: 3.5rem; }
  .inner-faq summary { font-size: 1.4rem; }
  .inner-faq details p { margin: 0 0 2rem; }
  .inner-cta { min-height: 75svh; padding: 5rem 0 4rem; }
  .inner-cta h2 { margin: 6rem 0 6rem; font-size: clamp(3.7rem, 11.5vw, 6rem); }
  .inner-cta__bottom { display: block; }
  .inner-cta__bottom p { font-size: 1.25rem; }
  .inner-cta__bottom a { min-width: 0; width: 100%; margin-top: 3rem; font-size: 1.5rem; }
  .inner-projects h2 { margin: 5rem 0 4rem; font-size: 15vw; }
  .inner-projects__proof-top, .inner-case-proof__head { flex-direction: column; gap: .25rem; font-size: .6875rem; }
  .inner-projects__screen, .inner-case-proof__viewport { aspect-ratio: 7 / 5; }
  .inner-projects__screen img, .inner-case-proof__viewport img { position: absolute; top: 0; left: -19.2%; width: 160%; max-width: none; height: auto; object-fit: unset; }
  .inner-case-proof figcaption { align-items: flex-start; flex-direction: column; gap: .5rem; }
  .inner-projects__bottom { display: block; }
  .inner-projects__bottom p { font-size: 1.35rem; }
  .inner-projects__bottom .inner-text-link { margin-top: 3rem; }
  .contact-section { padding: 6rem 0 7rem; }
  .contact-section__grid { display: block; padding-top: 5rem; }
  .contact-section__aside h2 { font-size: clamp(3.2rem, 11vw, 5rem); }
  .contact-section__aside > p { margin: 3rem 0; font-size: 1.2rem; }
  .contact-section__aside dl { margin-bottom: 5rem; }
  .contact-form__grid { grid-template-columns: 1fr; gap: 2rem; }
  .form-field--full { grid-column: auto; }
  .contact-form button { font-size: 1.5rem; }
}

@media (max-width: 380px) {
  .inner-hero h1 { font-size: 11vw; }
  .inner-hero--service h1 { font-size: 10vw; }
  .inner-hero--ia h1 { font-size: 9.2vw; }
  .inner-section__intro h2 { font-size: 10vw; }
  .inner-statement h2 { font-size: 9.6vw; }
  .inner-cta h2 { font-size: 10.5vw; }
  .inner-faq h2 { font-size: 12vw; }
}
