/* Small additions to the unchanged original design. */
html:not(.js) [data-reveal] { opacity: 1; transform: none; }
.contact-form .field { display: grid; gap: .5rem; }
.contact-form .field-hint, .contact-form .form-intro { font-size: .85rem; margin: 0; }
.field-error { color: #ffbec9; font-size: .85rem; }
.contact-form [aria-invalid="true"] { border-color: #ff6c88; }
.contact-form select option { background: #080a0e; color: #f4f1eb; }
.form-message a { text-decoration: underline; }
.form-message p { margin: 0; }
:focus-visible { outline: 2px solid #ff6c88; outline-offset: 4px; }
.tennis-visual span { font-size: clamp(2.1rem, 5vw, 4.2rem); }
@media (min-width: 901px) { .nav { flex-wrap: wrap; row-gap: .6rem; } }
@media (max-width: 900px) {
    html:not(.js) .nav { display: flex; flex-wrap: wrap; grid-column: 1 / -1; }
    html:not(.js) .nav-toggle { display: none; }
    html:not(.js) .topbar { position: relative; }
}
html { overflow-x: clip; }

/* Readable poster typography without changing the original visual identity. */
.poster-card {
    min-height: 0;
    padding: clamp(7rem, 11vw, 10rem) clamp(1.25rem, 5vw, 4rem) clamp(2rem, 5vw, 4rem);
}
.poster-tagline {
    position: relative;
    inset: auto;
    margin: 0 0 2rem;
    line-height: 1.7;
    letter-spacing: .25em;
}
.hero-copy {
    position: relative;
    inset: auto;
    width: 100%;
    margin: 0;
}
.mega-title {
    font-size: clamp(2.35rem, 8.5vw, 7.5rem);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: .01em;
    gap: .08em;
}
.mega-title span:nth-child(2) {
    color: #f4f1eb;
    -webkit-text-stroke: 0;
    text-shadow: 0 0 30px rgba(255,35,83,.18);
}
.hero-lead {
    font-size: clamp(1rem, 1.8vw, 1.4rem);
    line-height: 1.6;
}
.hero-lower h2,
.section-heading h2,
.split h2,
.feature h2,
.flair h2,
.process h2,
.contact h2,
.seo-signal-panel h2 {
    font-family: var(--font-impact);
    font-size: clamp(2rem, 4.5vw, 4.25rem);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: .015em;
    overflow-wrap: break-word;
    hyphens: auto;
    text-wrap: balance;
}
.service-card h3,
.process h3 {
    font-size: clamp(1.5rem, 2.5vw, 2.25rem);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .015em;
    overflow-wrap: break-word;
    hyphens: auto;
}
.legal-content h1,
.legal-content h2 {
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: .015em;
    overflow-wrap: break-word;
    hyphens: auto;
}
.hero-lower > *, .split > *, .feature > *, .contact-frame > *,
.service-grid > *, .process-grid > * { min-width: 0; }
.contact-form [aria-invalid="true"] { border-color: #ff6c88; }
@media (max-width: 560px) {
    .poster-tagline { letter-spacing: .15em; }
    .mega-title { font-size: clamp(2.25rem, 10vw, 3.5rem); }
    .hero-tags { gap: 1rem; }
    .hero-tags a { line-height: 1.6; letter-spacing: .1em; }
    .button { letter-spacing: .12em; line-height: 1.6; overflow-wrap: anywhere; }
}
/* Anchor targets must remain below the fixed navigation. */
section[id] { scroll-margin-top: calc(var(--header-h) + 1.5rem); }
@media (prefers-reduced-motion: reduce) {
    [data-reveal] { opacity: 1; transform: none; transition: none; }
}
