/* Standard CSS for the training pilot. */
:root{color-scheme:light;--navy:#072c48;--blue:#075f91;--aqua:#b9f1df;--ink:#17384b;--muted:#586d7b;--paper:#f4f7f8;--border:#d8e3e8;font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-size:.9375rem;line-height:1.65}a{color:var(--blue);text-underline-offset:4px}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--heading);line-height:1.12;letter-spacing:-.045em}h1{font-size:3.65rem;margin-bottom:24px}h2{font-size:2.68rem;margin-bottom:24px}h3{font-size:1.15rem;margin-bottom:14px}p{margin-bottom:18px}
.skip-link{position:absolute;top:-100px;left:20px;z-index:10;background:var(--surface);padding:12px}.skip-link:focus{top:10px}.site-header{min-height:80px;padding:0px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--surface)}.wordmark{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--heading);font-weight:800;font-size:21px;line-height:1.15}.wordmark>img{width:128px;height:auto}.wordmark-subtitle{display:block;font-size:9px;letter-spacing:.13em;margin-top:5px}.site-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:24px;font-size:14px;font-weight:600}.site-header nav a:not(.button){color:var(--heading);text-decoration:none}.site-header nav form{margin:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--aqua);border-radius:8px;background:var(--aqua);color:var(--button-ink);padding:14px 22px;text-decoration:none;font-weight:700;cursor:pointer;line-height:1.4;transition:transform .18s,background .18s}.button:hover{background:var(--button-hover);transform:translateY(-2px)}.button:disabled{background:var(--disabled);color:var(--disabled-ink);border-color:var(--border);cursor:not-allowed;transform:none}.button-secondary{color:var(--heading);background:transparent;border-color:var(--field-border)}.button-secondary:hover{background:var(--secondary-hover)}.button-small{padding:10px 20px}.text-button{background:none;border:0;color:var(--blue);padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin:30px 0}.quiet-link{font-weight:600;text-decoration:none}
.hero{background:var(--navy);color:#d7e4ec;padding:72px max(24px,calc((100vw - 1240px)/2)) 80px;display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;overflow:hidden}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:20px}.hero .eyebrow,.coach-story .eyebrow{color:var(--aqua)}.hero h1{color:white;font-size:3.144rem}.hero h1 em{color:var(--aqua);font-style:normal}.hero-copy>p:not(.eyebrow){max-width:470px;font-size:1.0625rem}.hero .quiet-link{color:white;font-size:14px}.hero-details{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:#c3d6e1}.hero-details span::before{content:'✓';color:var(--aqua);margin-right:6px}.hero-visual{min-height:490px;position:relative;padding-bottom:64px}.hero-visual>img{height:440px;width:100%;object-fit:cover;object-position:42% center}.visual-caption{position:absolute;top:25px;right:20px;background:#072c48e8;color:white;padding:9px 12px;border-radius:30px;font-size:9px;letter-spacing:.08em}.status-dot{display:inline-block;width:6px;height:6px;background:var(--aqua);border-radius:50%;margin-right:7px}.floating-plan{position:absolute;bottom:0;left:-25px;width:min(330px,95%);padding:24px;background:var(--surface);color:var(--ink);box-shadow:0 20px 60px #001a2c33}.floating-plan .eyebrow{display:block;color:var(--blue);font-size:9px;margin-bottom:9px}.floating-plan strong{display:block;font-size:19px;line-height:1.3;letter-spacing:-.03em}.floating-plan small{color:var(--muted);font-size:11px}.week-strip{display:flex;justify-content:space-between;margin:20px 0 12px;gap:6px}.week-strip span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface-soft);color:var(--muted);font-size:11px}.week-strip .swim-day{background:var(--navy);color:white}.value-strip{display:flex;justify-content:center;gap:65px;padding:24px;background:var(--surface-accent);color:var(--heading);font-size:14px;font-weight:600}
.page-shell{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:72px 0}.narrow{max-width:800px}.lead{max-width:700px;font-size:1.0625rem;color:var(--muted)}.section-heading,.page-heading{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:28px}.section-heading>p{max-width:330px;color:var(--muted)}.section-heading h2,.page-heading h1{margin-bottom:12px}.three-columns,.two-columns,.pricing-grid,.stat-grid,.session-grid{display:grid;gap:24px}.three-columns,.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-columns,.pricing-grid,.session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--surface);border:0;padding:30px;margin-bottom:24px;min-width:0}.panel p:last-child{margin-bottom:0}.compact{padding:24px}.step-number{display:inline-block;font-size:13px;color:var(--blue);font-weight:700;border:0;background:var(--surface-accent);border-radius:50%;padding:9px 13px;margin-bottom:28px}#como-funciona .step-number{border:0;background:var(--navy);color:white}.coach-story{background:var(--navy);color:#d7e4ec}.coach-story h2{color:white}.coach-story .quiet-link{color:var(--aqua)}
.pricing-grid{max-width:1000px;margin:32px auto}.pricing-card{border:0;padding:38px;background:var(--surface);display:flex;flex-direction:column}.pricing-card h3{margin-top:26px;font-size:1.55rem}.badge{display:inline-block;align-self:flex-start;font-size:11px;font-weight:600;padding:5px 10px;background:var(--badge);color:var(--badge-ink);border-radius:30px}.price{color:var(--heading);font-weight:700;letter-spacing:-.05em;font-size:56px;line-height:1.2;margin:20px 0}.price span{font-weight:400;letter-spacing:0;font-size:14px;color:var(--muted)}.feature-list{padding:0;list-style:none;margin-bottom:24px}.feature-list li{padding:9px 0;font-size:14px;display:flex;gap:12px}.feature-list li::before{content:'✓';color:var(--blue);font-weight:700}.plan-detail{font-size:12px;color:var(--muted);margin-top:auto;margin-bottom:24px}.featured{background:var(--navy);color:#e2edf3}.featured h3,.featured .price{color:white}.featured .price span,.featured .plan-detail{color:#c0d4df}.featured .feature-list li::before{color:var(--aqua)}.payment-note{text-align:center;font-size:12px;color:var(--muted)}.faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.faq-grid>.panel{margin-bottom:0;overflow-wrap:anywhere}.faq-grid p{color:var(--muted)}summary{cursor:pointer;font-weight:600}details>p{margin:16px 0 0;color:var(--muted)}.closing-cta{text-align:center;padding:72px 24px;background:var(--surface-accent)}.closing-cta>p:last-child{margin:24px 0 0;font-size:14px}.site-footer{background:var(--surface);padding:40px max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;gap:32px;font-size:13px}.site-footer p{color:var(--muted);margin-top:8px}.site-footer>div:last-child{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}
.back-link{display:inline-block;font-size:14px;margin-bottom:28px;text-decoration:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.full,.form-grid>.validation{grid-column:1/-1}label{display:block;font-size:14px;font-weight:600}input:not([type=checkbox]):not([type=hidden]),textarea,select{display:block;width:100%;background:var(--field);border:1px solid var(--field-border);color:var(--ink);border-radius:6px;padding:11px 12px;margin:8px 0 16px;min-width:0}input[type=checkbox]{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0}textarea{resize:vertical}fieldset{border:0;background:var(--surface);border-radius:8px;padding:16px}legend{font-size:14px;font-weight:600;padding:0 7px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5;font-size:13px;margin:16px 0}.check input{margin-top:2px}.day-picker{display:flex;flex-wrap:wrap;gap:8px 16px}.day-picker .check{margin:4px 0}.notice{border:0;background:var(--notice);color:var(--notice-ink);padding:16px 20px;border-radius:8px;margin:18px 0}.warning{background:var(--warning);border-color:var(--warning-border);color:var(--warning-ink)}.validation:not(:empty),.validation-summary-errors,.field-validation-error{color:var(--error)}.validation-summary-errors{border:0;background:var(--error-surface);padding:16px;border-radius:8px;margin-bottom:24px}.validation-summary-valid{display:none}.muted{color:var(--muted);font-size:13px}
.stat{background:var(--surface);border:0;padding:24px;margin-bottom:24px;overflow-wrap:anywhere}.stat>span,.stat>small{display:block;font-size:12px;color:var(--muted)}.stat>strong{display:block;font-size:20px;line-height:1.3;margin:10px 0}.empty-state{border:0;border-radius:12px;padding:40px;text-align:center;margin-bottom:30px}.empty-state p{color:var(--muted)}.week>summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:20px}.session{border:0;padding:22px;border-radius:9px;min-width:0}.session-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px}.session-top .eyebrow{font-size:10px;margin-bottom:12px}.session>p{font-size:14px;color:var(--muted)}.blocks{padding-left:20px;font-size:13px}.blocks li{padding:10px 0}.blocks span,.blocks small{display:block}.blocks small{color:var(--muted);margin-top:5px}.message{padding:20px 0;overflow-wrap:anywhere}.message small{display:block;font-size:11px;color:var(--muted)}.message p{margin:10px 0}.coach-message{border:0;background:var(--notice);padding:18px;border-radius:8px;margin-top:16px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.prose h2{font-size:1.36rem;margin-top:40px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th,td{padding:14px;border:0;vertical-align:top}th{background:var(--surface-soft);font-size:12px}.tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.tabs a{background:var(--surface);padding:8px 16px;border:1px solid var(--border);border-radius:30px;font-size:13px;text-decoration:none}.auth-card{max-width:520px;margin:0 auto}.auth-card button[type=submit]{background:var(--navy);color:white;border:0;padding:12px 22px;border-radius:8px;cursor:pointer;margin:16px 0}.editor-block{border:0;border-radius:8px;padding:18px;margin:14px 0}.template-list{display:grid;gap:10px;margin:20px 0}.template-list article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px;background:var(--badge);border-radius:8px}
@media(max-width:900px){.hero{gap:30px;padding-top:48px}.hero-visual{min-height:420px}.hero-visual>img{height:360px}.site-header nav{gap:14px}.three-columns{grid-template-columns:1fr}.section-heading{align-items:flex-start}}
@media(max-width:650px){.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{align-items:flex-start;flex-direction:column;gap:18px}.site-header nav{width:100%;gap:14px;font-size:12px}.hero{grid-template-columns:1fr;padding:40px 24px 50px;gap:36px}h1{font-size:2.25rem}h2{font-size:1.8rem}.hero h1{font-size:2.35rem}.hero-visual{min-height:370px;margin-left:12px}.hero-visual>img{height:310px}.floating-plan{left:-12px;padding:20px}.value-strip{gap:18px;font-size:11px}.page-shell{padding:44px 0}.two-columns,.pricing-grid,.stat-grid,.session-grid,.form-grid{grid-template-columns:1fr}.section-heading,.page-heading,.site-footer{flex-direction:column;align-items:flex-start;gap:18px}.panel,.pricing-card{padding:24px}.stat{margin-bottom:0}.stat-grid{margin-bottom:24px;gap:12px}.full{grid-column:auto}.section-heading>p{max-width:none}.site-footer>div:last-child{gap:16px}.week>summary{display:block}.week .badge{margin-top:10px}.button-row{gap:18px}}
:root {
    --photo-top-left-radius: 80px;
    --photo-radius: var(--photo-top-left-radius) 32px 0 32px;
}

.home-photo,
.panel,
.pricing-card,
.floating-plan,
.stat {
    border-radius: var(--photo-radius);
}

@media (width > 650px) {
    .panel, .floating-plan, .stat {
        padding-top: 30px;
        padding-left: 30px;
    }
}

.coach-story-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) min(38%, 400px);
    align-items: center;
    gap: clamp(24px, 5vw, 60px);
}

.coach-portrait {
    width: 100%;
}

.track-record-heading {
    padding-bottom: 0;
}

.track-record-heading > p {
    margin-bottom: 0;
}

.track-record-photo {
    width: 100%;
    margin-bottom: 28px;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    object-position: center 70%;
}

.track-record-results {
    padding-top: 0;
}

@media (max-width: 650px) {
    :root { --photo-top-left-radius: 48px; }
    .coach-story-layout { grid-template-columns: 1fr; }
    .coach-portrait { width: min(90%, 400px); justify-self: center; }
    .track-record-photo { aspect-ratio: auto; }
}

.club-unido
{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
    align-items: center;
    gap: clamp(8px, 2vw, 24px);
    background: var(--surface-accent) !important;
}

.club-unido-logo {
    width: 100%;
    opacity: 1;
}

@media print {
    .club-unido
    {
        grid-template-columns: 1fr;
    }
    .club-unido-logo { display: none; }
    .club-unido :is(h3, .eyebrow, .quiet-link) { color: black; }
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
@media print{.site-header,.site-footer,form,.tabs,.back-link{display:none}body,.panel{background:white;color:black}.page-shell{width:100%;padding:0}details>*{display:block}.session-grid{display:block}.session{break-inside:avoid;margin-bottom:16px}}

/* Data tables share the site's light and dark palettes. */
table {
    border-radius: var(--photo-radius);
    overflow: hidden;
}
table:not(.consultation-month) {
    border-collapse: separate;
    border-spacing: 0;
}
table:not(.consultation-month) thead th {
    background: var(--surface-accent);
    color: var(--heading);
    border-bottom: 2px solid var(--border);
    padding-top: 24px;
}
table:not(.consultation-month) thead tr:first-child th:first-child { padding-left: 48px; }
table:not(.consultation-month) thead tr:first-child th:last-child { padding-right: 24px; }
table:not(.consultation-month) tbody tr:nth-child(odd) { background: var(--surface); }
table:not(.consultation-month) tbody tr:nth-child(even) { background: var(--surface-soft); }
