.ot-hero { position: relative; overflow: hidden; padding-block: clamp(3.25rem, 6vw, 5.5rem); background: var(--ot-paper); }
.ot-hero-grid { display: grid; gap: 2.5rem; align-items: center; }
.ot-hero-copy { min-width: 0; }
.ot-hero .ot-heading { max-width: 780px; margin-block: 1rem 1.2rem; font-size: clamp(2.15rem, 4.65vw, 4.45rem); line-height: 1.32; }
.ot-hero .ot-heading em { font-style: normal; color: #ad0000; }
.ot-hero .ot-lead { max-width: 660px; }
.ot-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block-start: 1.7rem; }
.ot-hero-proof { display: flex; flex-wrap: wrap; gap: 1.3rem; margin-block-start: 2rem; padding-block-start: 1.1rem; border-block-start: 1px solid var(--ot-line); }
.ot-hero-proof span { color: var(--ot-muted); font-size: .82rem; }
.ot-hero-proof strong { display: block; color: var(--ot-ink); font: 700 1.35rem/1.25 var(--ot-font-en); }
.ot-route-card { position: relative; overflow: hidden; padding: 1.5rem; border-radius: 1.5rem; background: #111; color: var(--ot-white); box-shadow: 0 18px 38px rgba(0,0,0,.12); }
.ot-route-card::before { content: ''; position: absolute; width: 10rem; height: 10rem; inset-inline-end: -5rem; inset-block-start: -5rem; border: 1.6rem solid var(--ot-red); border-radius: 50%; }
.ot-route-card > * { position: relative; }
.ot-route-photo { margin: -1.5rem -1.5rem 1.5rem; height: 10rem; overflow: hidden; }
.ot-route-photo img { width: 100%; height: 100%; object-fit: cover; }
.ot-route-kicker { display: block; color: #ff8a8a; font: 700 .75rem/1.4 var(--ot-font-en); letter-spacing: .12em; }
.ot-route-card h2 { margin: 1rem 0 1.4rem; color: var(--ot-white); font-size: clamp(1.35rem, 2.2vw, 1.8rem); font-weight: 700; line-height: 1.45; }
.ot-route-list { list-style: none; margin: 0; padding: 0; }
.ot-route-list li { display: flex; gap: 1rem; align-items: center; padding-block: .82rem; border-block-start: 1px solid #424242; }
.ot-route-list b { flex: none; width: 1.8rem; height: 1.8rem; display: grid; place-items: center; border-radius: 50%; background: var(--ot-red); color: var(--ot-ink); font: 700 .7rem var(--ot-font-en); }
.ot-route-list span { color: var(--ot-white); font-size: .9rem; }
.ot-route-note { margin: 1rem 0 0; color: #c9c9c9; font-size: .8rem; }
.ot-intro-grid { align-items: start; gap: 2rem; }
.ot-intro-points { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 1.6rem; padding: 0; list-style: none; }
.ot-intro-points li { padding: .35rem .8rem; border: 1px solid var(--ot-line); border-radius: 999px; font-size: .8rem; font-weight: 700; }
.ot-audience-grid { margin-block-start: 1.5rem; }
.ot-audience-card { min-height: 100%; border-block-start: 3px solid var(--ot-red); }
.ot-audience-card .ot-card-icon { width: 2.6rem; height: 2.6rem; }
.ot-home-metrics .ot-heading { max-width: 780px; }
.ot-home-metrics .ot-stats { margin-block-start: 1.75rem; }
.ot-home-metrics-note { margin-block: 1.4rem 0; color: #d2d2d2; font-size: .88rem; }
.ot-service-grid { margin-block-start: 1.5rem; }
.ot-section-heading-with-media { display: grid; gap: 1.5rem; align-items: center; }
.ot-section-photo { margin: 0; overflow: hidden; border-radius: 1.25rem; aspect-ratio: 4/3; }
.ot-section-photo img { width: 100%; height: 100%; object-fit: cover; }
.ot-service-card { display: flex; flex-direction: column; gap: .6rem; min-height: 100%; }
.ot-service-card h3 { margin: .3rem 0 0; }
.ot-service-card .ot-card-icon { margin-block-end: .25rem; }
.ot-section-actions { margin-block-start: 1.5rem; }
.ot-process-preview-grid { display: grid; gap: 1rem; margin-block-start: 1.5rem; counter-reset: stage; }
.ot-process-preview-item { counter-increment: stage; position: relative; min-height: 10rem; padding: 1.5rem; border: 1px solid var(--ot-line); border-radius: 1.15rem; background: var(--ot-white); }
.ot-process-preview-item::before { content: counter(stage,decimal-leading-zero); display: block; margin-block-end: .7rem; color: #aa0000; font: 700 .85rem var(--ot-font-en); }
.ot-process-preview-item h3 { margin: 0 0 .4rem; font-size: 1.15rem; }
.ot-process-preview-item p { margin: 0; color: var(--ot-muted); font-size: .92rem; }
.ot-proof-list { list-style: none; display: grid; gap: .7rem; margin: 0; padding: 0; }
.ot-proof-list li { padding: 1.15rem 1.3rem; border-inline-start: 3px solid var(--ot-red); border-radius: .6rem; background: var(--ot-white); }
.ot-proof-list strong { display: block; margin-block-end: .2rem; }
.ot-proof-list span { color: var(--ot-muted); font-size: .9rem; }
@media (min-width: 700px) { .ot-audience-grid, .ot-process-preview-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .ot-home-metrics .ot-stats { grid-template-columns: repeat(5,minmax(0,1fr)); } }
@media (min-width: 900px) { .ot-hero-grid { grid-template-columns: minmax(0,1.25fr) minmax(20rem,.75fr); gap: 4rem; } .ot-route-card { padding: 2rem; } .ot-route-photo { margin: -2rem -2rem 1.75rem; height: 12rem; } .ot-intro-grid { gap: 4rem; } .ot-section-heading-with-media { grid-template-columns: minmax(0,1.15fr) minmax(20rem,.85fr); gap: 4rem; } }
