.tutor-hero { padding: 84px 0 78px; background: var(--ocf-soft); }
.tutor-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .95fr); gap: 68px; align-items: center; }
.tutor-hero h1 { max-width: 700px; margin: 14px 0 0; color: var(--ocf-petrol); font-size: clamp(43px, 5.4vw, 78px); line-height: 1.01; letter-spacing: -.06em; }
.tutor-hero__lead { max-width: 650px; margin: 23px 0 28px; color: var(--ocf-muted); font-size: 19px; font-weight: 700; line-height: 1.62; }
.tutor-hero__visual { margin: 0; overflow: hidden; border-radius: 0 30px 0 30px; background: var(--ocf-petrol); }
.tutor-hero__visual img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; }

.tutor-reference { padding: 88px 0 0; background: #fff; }
.tutor-reference__grid, .tutor-modalities__grid, .tutor-limits__grid, .tutor-faq__grid { display: grid; grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr); gap: 82px; }
.tutor-reference h2, .tutor-service h2, .tutor-modalities h2, .tutor-limits h2, .tutor-visa h2, .tutor-faq h2 { margin: 10px 0 0; color: var(--ocf-petrol); font-size: clamp(32px, 3.6vw, 50px); line-height: 1.09; letter-spacing: -.045em; }
.tutor-reference__grid > div:last-child > p { margin: 0 0 17px; color: var(--ocf-text); font-size: 17px; line-height: 1.7; }
.tutor-reference__distinction { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 44px; border-top: 1px solid var(--ocf-border); border-bottom: 1px solid var(--ocf-border); }
.tutor-reference__distinction article { padding: 25px 30px; }
.tutor-reference__distinction article:not(:last-child) { border-right: 1px solid var(--ocf-border); }
.tutor-reference__distinction article:first-child { padding-left: 0; }
.tutor-reference__distinction article:last-child { padding-right: 0; }
.tutor-reference__distinction h3 { margin: 0 0 9px; color: var(--ocf-petrol); font-size: 20px; }
.tutor-reference__distinction p, .tutor-reference__note { margin: 0; color: var(--ocf-muted); font-size: 15px; line-height: 1.62; }
.tutor-reference__note { max-width: 900px; margin-top: 27px; padding-left: 18px; border-left: 3px solid var(--ocf-coral); }

.tutor-notarial { padding: 82px 0; background: var(--ocf-soft); }
.tutor-notarial__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 82px; align-items: start; }
.tutor-notarial h2 { margin: 10px 0 0; color: var(--ocf-petrol); font-size: clamp(32px, 3.6vw, 50px); line-height: 1.09; letter-spacing: -.045em; }
.tutor-notarial > .content-wrap > div > p:not(.section-label) { max-width: 570px; margin: 18px 0 0; color: var(--ocf-muted); font-size: 16px; line-height: 1.68; }
.tutor-notarial ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ocf-border); border-bottom: 1px solid var(--ocf-border); }
.tutor-notarial li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 18px; padding: 26px 0; }
.tutor-notarial li + li { border-top: 1px solid var(--ocf-border); }
.tutor-notarial li > span { color: var(--ocf-coral); font-size: 13px; font-weight: 900; letter-spacing: .08em; }
.tutor-notarial h3 { margin: 0 0 8px; color: var(--ocf-petrol); font-size: 21px; }
.tutor-notarial li p { margin: 0; color: var(--ocf-muted); font-size: 15px; line-height: 1.62; }

.tutor-service { padding: 90px 0; margin-top: 82px; background: var(--ocf-petrol); color: #fff; }
.tutor-service .section-label, .tutor-visa .section-label, .final-cta .section-label { color: var(--ocf-coral); }
.tutor-service__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr); gap: 82px; align-items: end; }
.tutor-service h2 { max-width: 660px; color: #fff; }
.tutor-service__head > p { max-width: 410px; margin: 0; color: rgb(255 255 255 / 82%); font-size: 16px; line-height: 1.68; }
.tutor-service__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 47px; padding: 0; list-style: none; border-top: 1px solid rgb(255 255 255 / 24%); border-bottom: 1px solid rgb(255 255 255 / 24%); }
.tutor-service__steps li { min-width: 0; padding: 27px 24px; border-right: 1px solid rgb(255 255 255 / 24%); }
.tutor-service__steps li:first-child { padding-left: 0; }
.tutor-service__steps li:last-child { padding-right: 0; border-right: 0; }
.tutor-service__steps span { display: block; color: var(--ocf-coral); font-size: 12px; font-weight: 900; letter-spacing: .1em; }
.tutor-service__steps h3 { margin: 16px 0 8px; color: #fff; font-size: 19px; line-height: 1.25; }
.tutor-service__steps p { margin: 0; color: rgb(255 255 255 / 78%); font-size: 14px; line-height: 1.6; }
.tutor-service__contact { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 30px; align-items: start; margin-top: 25px; padding: 20px 0; border-bottom: 1px solid rgb(255 255 255 / 24%); }
.tutor-service__contact strong { color: var(--ocf-coral); font-size: 16px; line-height: 1.35; }
.tutor-service__contact p { max-width:620px; margin: 0; color: rgb(255 255 255 / 84%); font-size: 15px; line-height: 1.6; }
.tutor-service__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 19px; margin-top: 42px; }
.tutor-service__orientation { color: #fff; font-size: 14px; font-weight: 900; }
.tutor-service__orientation span { color: var(--ocf-coral); }

.tutor-modalities, .tutor-faq { padding: 88px 0; background: var(--ocf-soft); }
.tutor-modalities__copy article { padding: 0 0 22px; margin-bottom: 22px; border-bottom: 1px solid var(--ocf-border); }
.tutor-modalities__copy h3 { margin: 0 0 8px; color: var(--ocf-petrol); font-size: 20px; }
.tutor-modalities__copy p { margin: 0; color: var(--ocf-muted); font-size: 16px; line-height: 1.65; }
.tutor-modalities details { margin-top: 28px; padding: 22px 0; border-top: 1px solid var(--ocf-border); border-bottom: 1px solid var(--ocf-border); }
.tutor-modalities details + details { margin-top: 0; border-top: 0; }
.tutor-modalities__lead { margin: 0; color: var(--ocf-muted); font-size: 16px; line-height: 1.68; }
.tutor-modalities summary, .tutor-faq summary { color: var(--ocf-petrol); font-size: 16px; font-weight: 900; cursor: pointer; }
.tutor-modalities details p { margin-top: 14px; }

.tutor-limits { padding: 84px 0; background: #fff; }
.tutor-limits > .content-wrap > div:last-child > p { margin: 0; color: var(--ocf-muted); font-size: 17px; }
.tutor-limits ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 28px; margin: 19px 0 0; padding: 0; list-style: none; }
.tutor-limits li { position: relative; padding-left: 20px; color: var(--ocf-text); font-size: 15px; line-height: 1.55; }
.tutor-limits li::before { position: absolute; left: 0; color: var(--ocf-coral); content: '—'; }

.tutor-visa { padding: 74px 0; background: var(--ocf-soft); }
.tutor-visa__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 52px; align-items: end; padding: 34px 0; border-top: 1px solid var(--ocf-border); border-bottom: 1px solid var(--ocf-border); }
.tutor-visa h2 { margin-top: 8px; }
.tutor-visa p:not(.section-label) { max-width: 620px; margin: 16px 0 0; color: var(--ocf-muted); font-size: 16px; line-height: 1.65; }
.tutor-visa a { color: var(--ocf-petrol); font-size: 16px; font-weight: 900; white-space: nowrap; }
.tutor-visa a span { color: var(--ocf-coral); font-size: 21px; }

.tutor-faq { background: #fff; }
.tutor-faq__list { border-top: 1px solid var(--ocf-border); }
.tutor-faq details { padding: 20px 0; border-bottom: 1px solid var(--ocf-border); }
.tutor-faq details p { max-width: 760px; margin: 14px 0 0; color: var(--ocf-muted); font-size: 16px; line-height: 1.65; }

@media (max-width: 767px) {
  .tutor-hero, .tutor-reference, .tutor-notarial, .tutor-service, .tutor-modalities, .tutor-limits, .tutor-faq { padding: 57px 0; }
  .tutor-hero__grid, .tutor-reference__grid, .tutor-notarial__grid, .tutor-service__head, .tutor-modalities__grid, .tutor-limits__grid, .tutor-faq__grid, .tutor-visa__grid { grid-template-columns: 1fr; gap: 29px; }
  .tutor-hero h1 { font-size: 43px; }
  .tutor-hero__lead { font-size: 17px; }
  .tutor-hero .button, .tutor-service__actions .button { width: 100%; justify-content: center; }
  .tutor-hero__visual { border-radius: 0 22px 0 22px; }
  .tutor-reference__grid > div:last-child > p { font-size: 16px; }
  .tutor-reference__distinction { grid-template-columns: 1fr; margin-top: 30px; }
  .tutor-reference__distinction article, .tutor-reference__distinction article:first-child, .tutor-reference__distinction article:last-child { padding: 20px 0; border-right: 0; }
  .tutor-reference__distinction article + article { border-top: 1px solid var(--ocf-border); }
  .tutor-service { margin-top: 0; }
  .tutor-notarial li { grid-template-columns: 35px minmax(0, 1fr); gap: 13px; padding: 20px 0; }
  .tutor-service__steps { grid-template-columns: 1fr; margin-top: 32px; }
  .tutor-service__steps li, .tutor-service__steps li:first-child, .tutor-service__steps li:last-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid rgb(255 255 255 / 24%); }
  .tutor-service__steps li:last-child { border-bottom: 0; }
  .tutor-service__actions { display: grid; gap: 16px; }
  .tutor-service__contact { grid-template-columns: 1fr; gap: 8px; padding: 19px 0; }
  .tutor-limits ul { grid-template-columns: 1fr; gap: 12px; }
  .tutor-visa { padding: 55px 0; }
  .tutor-visa__grid { gap: 22px; }
  .tutor-visa a { white-space: normal; }
  .tutor-faq details p { font-size: 15px; }
}
