.oxl-coach-claim-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
    padding: 20px 22px;
    border-radius: 24px;
    background: linear-gradient(135deg, #ffffff, #f7faf9);
    border: 1px solid rgba(1, 112, 113, 0.14);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
}

.oxl-coach-claim-banner span {
    display: inline-flex;
    margin-bottom: 6px;
    color: #017071;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.oxl-coach-claim-banner strong {
    display: block;
    color: #111827;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 850;
}

.oxl-coach-claim-banner p {
    margin: 6px 0 0;
    color: #5f6765;
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 760px) {
    .oxl-coach-claim-banner {
        align-items: stretch;
        flex-direction: column;
    }

    .oxl-coach-claim-banner .btn-primary {
        width: 100%;
        justify-content: center;
    }
}
.oxl-coach-detail-page,
.oxl-coach-detail-page *{
    box-sizing:border-box;
}
.oxl-coach-detail-seo-band{
    padding-top:4rem!important;
    padding-bottom:5rem!important;
}

.oxl-coach-detail-seo-columns{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px;
}

.oxl-coach-detail-seo-columns p{
    font-size:1rem;
    line-height:1.85;
    color:#5f6776;
}

@media (max-width:900px){
    .oxl-coach-detail-seo-columns{
        grid-template-columns:1fr;
    }
}
.oxl-coach-detail-page{
    --oxl-green:#104231;
    --oxl-green-2:#1b6a4b;
    --oxl-green-3:#2b8a63;
    --oxl-mint:#edf7f2;
    --oxl-mint-2:#f7fbf9;
    --oxl-cream:#fbf8ef;
    --oxl-text:#111827;
    --oxl-muted:#657085;
    --oxl-border:rgba(17,24,39,.07);
    --oxl-shadow:0 18px 42px rgba(17,24,39,.07);
    position:relative;
    overflow:hidden;
    color:var(--oxl-text);
    background:
            radial-gradient(circle at 10% 7%, rgba(27,106,75,.11), transparent 22rem),
            radial-gradient(circle at 92% 1%, rgba(16,66,49,.09), transparent 24rem),
            linear-gradient(180deg,#f5faf7 0%,#fff 38%,#f7fbf9 100%);
}

.oxl-coach-detail-page::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
            linear-gradient(rgba(16,66,49,.026) 1px, transparent 1px),
            linear-gradient(90deg, rgba(16,66,49,.026) 1px, transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.45), transparent 38rem);
}

.oxl-coach-detail-page .container{
    width:min(1180px, calc(100% - 40px));
    margin:0 auto;
    position:relative;
    z-index:1;
}

.oxl-breadcrumb{
    padding:1rem 0 .2rem;
    font-size:.82rem;
    color:var(--oxl-muted);
}

.oxl-breadcrumb ol{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.55rem;
    list-style:none;
    margin:0;
    padding:0;
}

.oxl-breadcrumb a{
    color:var(--oxl-muted);
    text-decoration:none;
}

.oxl-breadcrumb .current{
    color:var(--oxl-text);
    font-weight:700;
}

.oxl-breadcrumb .separator{
    color:#cbd5e1;
}

.oxl-kicker{
    display:inline-flex;
    align-items:center;
    width:max-content;
    min-height:1.65rem;
    padding:0 .65rem;
    border-radius:999px;
    background:rgba(27,106,75,.10);
    color:var(--oxl-green-2);
    font-size:.7rem;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase;
    margin-bottom:.7rem;
}

.btn-primary,
.btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:3.2rem;
    padding:0 1.45rem;
    border-radius:1rem;
    font-size:.96rem;
    font-weight:850;
    line-height:1;
    text-decoration:none;
    cursor:pointer;
    border: 0!important;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.oxl-section{
    padding:2rem 0;
}

.oxl-section-head{
    text-align:center;
    max-width:720px;
    margin:0 auto 1.35rem;
}

.oxl-section-head h2{
    margin:0;
    color:var(--oxl-text);
    font-size:2rem;
    line-height:1.1;
    letter-spacing:-.035em;
}

.oxl-coach-detail-hero{
    padding:2.2rem 0 2.6rem;
    position:relative;
}

.oxl-coach-detail-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(340px,.78fr);
    gap:34px;
    align-items:start;
    margin-top: 30px;
}

.oxl-coach-detail-hero-copy h1{
    max-width:730px;
    margin:0 0 1rem;
    color:var(--oxl-green);
    font-size:3.25rem;
    line-height:1.03;
    letter-spacing:-.05em;
}

.oxl-coach-detail-hero-copy h1 strong{
    color:var(--oxl-green-2);
    white-space:nowrap;
}

.oxl-coach-detail-hero-text{
    max-width:730px;
    margin:0 0 1.25rem;
    color:#556070;
    font-size:1.04rem;
    line-height:1.78;
}

.oxl-coach-detail-hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:.8rem;
    margin-bottom:1.1rem;
}

.oxl-coach-detail-hero-meta-item{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    min-height:2.35rem;
    padding:0 .85rem;
    border-radius:999px;
    background:rgba(255,255,255,.88);
    border:1px solid var(--oxl-border);
    box-shadow:0 .7rem 1.5rem rgba(17,24,39,.045);
    font-size:.86rem;
    font-weight:700;
    color:#1f2937;
}

.oxl-coach-detail-hero-meta-item i{
    color:var(--oxl-green-2);
}

.oxl-coach-detail-tags{
    display:flex;
    flex-wrap:wrap;
    gap:.6rem;
    margin-bottom:1.45rem;
}

.oxl-coach-detail-tags span{
    display:inline-flex;
    align-items:center;
    min-height:2.05rem;
    padding:0 .85rem;
    border-radius:999px;
    background:var(--oxl-mint);
    color:var(--oxl-green);
    font-size:.78rem;
    font-weight:800;
    border:1px solid rgba(16,66,49,.06);
}

.oxl-coach-detail-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.85rem;
}

.oxl-coach-detail-profile-card{
    position:sticky;
    top:100px;
    overflow:hidden;
    border-radius:1.65rem;
    background:#fff;
    border:1px solid var(--oxl-border);
    box-shadow:0 24px 58px rgba(17,24,39,.10);
}

.oxl-coach-detail-profile-top{
    position:relative;
    padding:.9rem .9rem 0;
    background:linear-gradient(145deg,var(--oxl-green),var(--oxl-green-2));
}

.oxl-coach-detail-profile-image-wrap{
    aspect-ratio:4/4.65;
    border-radius:1.25rem 1.25rem 0 0;
    overflow:hidden;
    box-shadow:0 18px 38px rgba(0,0,0,.18);
}

.oxl-coach-detail-profile-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.oxl-coach-detail-profile-rating{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin:.9rem 0 0;
    padding:.9rem 1rem;
    border-radius:1rem 1rem 0 0;
    background:rgba(255,255,255,.12);
    color:#fff;
    backdrop-filter:blur(10px);
}

.oxl-coach-detail-profile-rating strong{
    display:block;
    font-size:.98rem;
    margin-bottom:.15rem;
}

.oxl-coach-detail-profile-rating span{
    display:block;
    font-size:.82rem;
    opacity:.85;
}

.oxl-coach-detail-profile-rating i{
    width:2.2rem;
    height:2.2rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:.8rem;
    background:rgba(255,255,255,.14);
}

.oxl-coach-detail-profile-body{
    padding:1.25rem;
}

.oxl-coach-detail-profile-body h2{
    margin:0 0 .25rem;
    font-size:1.45rem;
    letter-spacing:-.025em;
}

.oxl-coach-detail-profile-body > p{
    margin:0 0 1rem;
    color:var(--oxl-muted);
    font-size:.92rem;
}

.oxl-coach-detail-profile-points{
    display:grid;
    gap:.7rem;
    margin-bottom:1rem;
}

.oxl-coach-detail-profile-point{
    display:flex;
    align-items:center;
    gap:.75rem;
    padding:.8rem .85rem;
    border-radius:.95rem;
    background:#f8faf9;
    border:1px solid rgba(17,24,39,.05);
    font-size:.9rem;
    font-weight:700;
    color:#253242;
}

.oxl-coach-detail-profile-point i{
    width:1.9rem;
    height:1.9rem;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border-radius:.72rem;
    background:rgba(27,106,75,.10);
    color:var(--oxl-green-2);
    font-size:.8rem;
}

.oxl-coach-detail-profile-bottom .btn-primary{
    width:100%;
}

.oxl-coach-detail-summary{
    padding-top:.6rem!important;
    padding-bottom:1.6rem!important;
}

.oxl-coach-detail-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
}

.oxl-coach-detail-summary-card{
    min-height:10.5rem;
    padding:1.2rem;
    border-radius:1.25rem;
    background:rgba(255,255,255,.9);
    border:1px solid var(--oxl-border);
    box-shadow:0 12px 26px rgba(17,24,39,.045);
}

.oxl-coach-detail-summary-icon{
    width:2.7rem;
    height:2.7rem;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:.85rem;
    border-radius:.9rem;
    background:var(--oxl-mint);
    color:var(--oxl-green-2);
}

.oxl-coach-detail-summary-card h3{
    margin:0 0 .4rem;
    font-size:1rem;
}

.oxl-coach-detail-summary-card p{
    margin:0;
    color:var(--oxl-muted);
    font-size:.9rem;
    line-height:1.55;
}

.oxl-coach-compact-section{
    padding-top:1rem!important;
}

.oxl-coach-compact-card,
.oxl-booking-card,
.oxl-contact-card,
.oxl-faq-card,
.oxl-seo-details{
    overflow:hidden;
    border-radius:1.55rem;
    background:#fff;
    border:1px solid var(--oxl-border);
    box-shadow:var(--oxl-shadow);
}

.oxl-coach-tabs{
    display:flex;
    gap:.5rem;
    padding:.75rem;
    background:linear-gradient(145deg,var(--oxl-green),var(--oxl-green-2));
    overflow:auto;
}

.oxl-coach-tabs button{
    min-height:2.45rem;
    padding:0 1rem;
    border:0;
    border-radius:.9rem;
    background:rgba(255,255,255,.10);
    color:rgba(255,255,255,.82);
    font-size:.88rem;
    font-weight:800;
    white-space:nowrap;
    cursor:pointer;
}

.oxl-coach-tabs button.is-active{
    background:#fff;
    color:var(--oxl-green);
}

.oxl-coach-tab-panel{
    display:none;
    padding:1.4rem;
}

.oxl-coach-tab-panel.is-active{
    display:block;
}

.oxl-coach-tab-grid{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
    gap:1rem;
    align-items:start;
}

.oxl-coach-tab-grid h2{
    margin:0 0 .8rem;
    font-size:1.8rem;
    letter-spacing:-.035em;
}

.oxl-coach-tab-grid p{
    margin:0;
    color:#556070;
    line-height:1.75;
}

.oxl-coach-tab-infos{
    display:grid;
    gap:.75rem;
}

.oxl-coach-tab-infos div{
    padding:1rem;
    border-radius:1rem;
    background:#f8faf9;
    border:1px solid rgba(17,24,39,.05);
}

.oxl-coach-tab-infos strong,
.oxl-coach-slide-card span{
    display:block;
    margin-bottom:.3rem;
    color:var(--oxl-green-2);
    font-size:.75rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.oxl-coach-tab-infos span{
    display:block;
    color:#344054;
    font-size:.9rem;
    line-height:1.55;
    font-weight:650;
}

.oxl-coach-slider,
.oxl-coach-photo-slider{
    display:flex;
    gap:1rem;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:.35rem;
}

.oxl-coach-slide-card{
    scroll-snap-align:start;
    flex:0 0 260px;
    min-height:10.5rem;
    padding:1.15rem;
    border-radius:1.15rem;
    background:#f8faf9;
    border:1px solid rgba(17,24,39,.05);
}

.oxl-coach-slide-card i{
    width:2.65rem;
    height:2.65rem;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:.85rem;
    border-radius:.9rem;
    background:var(--oxl-mint);
    color:var(--oxl-green-2);
}

.oxl-coach-slide-card h3{
    margin:0 0 .4rem;
    font-size:1rem;
}

.oxl-coach-slide-card p{
    margin:0;
    color:var(--oxl-muted);
    font-size:.9rem;
    line-height:1.55;
}

.oxl-coach-photo-slider figure{
    flex:0 0 260px;
    margin:0;
    overflow:hidden;
    border-radius:1.1rem;
    background:#f8faf9;
    border:1px solid rgba(17,24,39,.05);
    scroll-snap-align:start;
}

.oxl-coach-photo-slider img{
    width:100%;
    aspect-ratio:4/3;
    display:block;
    object-fit:cover;
}

.oxl-booking-section{
    padding-top:1.8rem!important;
}

.oxl-booking-card,
.oxl-contact-card,
.oxl-faq-card{
    padding:1.45rem;
}

.oxl-booking-head,
.oxl-contact-head{
    margin-bottom:1rem;
}

.oxl-booking-head h2,
.oxl-contact-head h2{
    margin:0 0 .4rem;
    font-size:2rem;
    line-height:1.12;
    letter-spacing:-.035em;
}

.oxl-booking-head p,
.oxl-contact-head p{
    margin:0;
    color:var(--oxl-muted);
}

.oxl-booking-frame{
    overflow:hidden;
    padding:.75rem;
    border-radius:1.25rem;
    background:#f8faf9;
    border:1px solid rgba(17,24,39,.06);
}

.oxl-booking-frame iframe{
    display:block;
    border-radius:1rem;
    background:#fff;
}

.oxl-booking-empty{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:1rem;
    align-items:center;
    padding:1.3rem;
    border-radius:1.25rem;
    background:#f8faf9;
    border:1px dashed rgba(16,66,49,.25);
}

.oxl-booking-empty-icon{
    width:3.4rem;
    height:3.4rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:1rem;
    color:#fff;
    background:linear-gradient(145deg,var(--oxl-green),var(--oxl-green-2));
}

.oxl-booking-empty span{
    display:block;
    margin-bottom:.25rem;
    color:var(--oxl-green-2);
    font-size:.75rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.oxl-booking-empty h3{
    margin:0 0 .45rem;
    font-size:1.25rem;
}

.oxl-booking-empty p{
    margin:0 0 .9rem;
    color:var(--oxl-muted);
    line-height:1.6;
}

.oxl-contact-card{
    background:
            radial-gradient(circle at 100% 0%, rgba(27,106,75,.09), transparent 18rem),
            #fff;
}

.oxl-contact-form{
    display:grid;
    gap:1rem;
}

.oxl-contact-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}

.oxl-field{
    display:grid;
    gap:.4rem;
}

.oxl-field label{
    color:#344054;
    font-size:.86rem;
    font-weight:850;
}

.oxl-field input,
.oxl-field textarea{
    width:100%;
    border:1px solid rgba(16,66,49,.13);
    border-radius:1rem;
    background:#fff;
    color:var(--oxl-text);
    font-size:1rem;
    outline:none;
    box-shadow:0 8px 18px rgba(17,24,39,.028);
    transition:border-color .18s ease, box-shadow .18s ease;
}

.oxl-field input{
    min-height:3.55rem;
    padding:0 1rem;
}

.oxl-field textarea{
    min-height:10rem;
    padding:1rem;
    resize:vertical;
    line-height:1.55;
}

.oxl-field input:focus,
.oxl-field textarea:focus{
    border-color:rgba(27,106,75,.48);
    box-shadow:0 0 0 4px rgba(27,106,75,.09);
}

.oxl-rgpd{
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    padding:1rem;
    border-radius:1rem;
    background:#f8faf9;
    border:1px solid rgba(16,66,49,.10);
    color:#556070;
    font-size:.88rem;
    line-height:1.55;
    cursor:pointer;
}

.oxl-rgpd input{
    width:1.1rem;
    height:1.1rem;
    margin-top:.15rem;
    accent-color:var(--oxl-green-2);
    flex:0 0 auto;
}

.oxl-contact-form .btn-primary{
    width:max-content;
    min-width:220px;
    border:0;
}

.oxl-faq-card{
    max-width:860px;
    margin:0 auto;
}

.oxl-faq-list{
    display:grid;
    gap:.65rem;
}

.oxl-faq-item{
    overflow:hidden;
    border:1px solid rgba(16,66,49,.09);
    border-radius:1rem;
    background:#f8faf9;
}

.oxl-faq-item summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    min-height:3.3rem;
    padding:0 1rem;
    cursor:pointer;
    list-style:none;
    color:var(--oxl-text);
    font-weight:850;
}

.oxl-faq-item summary::-webkit-details-marker{
    display:none;
}

.oxl-faq-item summary::after{
    content:"+";
    width:1.55rem;
    height:1.55rem;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border-radius:50%;
    background:var(--oxl-mint);
    color:var(--oxl-green-2);
    font-weight:900;
}

.oxl-faq-item[open] summary::after{
    content:"−";
}

.oxl-faq-item p{
    margin:0;
    padding:0 1rem 1rem;
    color:var(--oxl-muted);
    line-height:1.65;
}

.oxl-map-section{
    padding:1rem 0 0;
}

.oxl-map-wrap{
    width:100%;
    height:24rem;
    overflow:hidden;
    border-top:1px solid rgba(17,24,39,.06);
    border-bottom:1px solid rgba(17,24,39,.06);
    box-shadow:0 10px 26px rgba(17,24,39,.05);
}

.oxl-map-wrap iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
    filter:saturate(.95) contrast(.98);
}

.oxl-seo-section{
    padding-bottom:4rem!important;
}

.oxl-seo-details{
    max-width:860px;
    margin:0 auto;
    padding:0;
}

.oxl-seo-details summary{
    min-height:3.7rem;
    display:flex;
    align-items:center;
    padding:0 1.25rem;
    color:var(--oxl-green);
    font-weight:850;
    cursor:pointer;
}

.oxl-seo-details div{
    padding:0 1.25rem 1.25rem;
}

.oxl-seo-details p{
    color:var(--oxl-muted);
    line-height:1.75;
    margin:0 0 .8rem;
}

@media (max-width:1100px){
    .oxl-coach-detail-hero-grid,
    .oxl-coach-tab-grid{
        grid-template-columns:1fr;
    }

    .oxl-coach-detail-profile-card{
        position:relative;
        top:auto;
    }

    .oxl-coach-detail-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width: 1100px) {
    .oxl-coach-detail-hero-grid,
    .oxl-coach-tab-grid {
        grid-template-columns: 1fr;
    }

    .oxl-coach-detail-hero-grid .oxl-coach-detail-hero-copy{
        order: 2;
    }

}
@media (max-width:820px){
    .oxl-coach-detail-page .container{
        width:min(100% - 28px, 1180px);
    }

    .oxl-coach-detail-hero-copy h1{
        font-size:2.45rem;
    }

    .oxl-coach-detail-profile-image-wrap{
        aspect-ratio:4/4.15;
    }

    .oxl-coach-detail-summary-grid,
    .oxl-contact-form-grid{
        grid-template-columns:1fr;
    }

    .oxl-booking-empty{
        grid-template-columns:1fr;
    }

    .oxl-booking-frame iframe{
        height:760px;
    }
}

@media (max-width:520px){
    .oxl-coach-detail-page .container{
        width:min(100% - 22px, 1180px);
    }

    .oxl-section{
        padding:1.45rem 0;
    }

    .oxl-coach-detail-hero{
        padding-top:1.6rem;
    }

    .oxl-coach-detail-hero-copy h1{
        font-size:2.05rem;
    }

    .oxl-coach-detail-hero-meta{
        flex-direction:column;
        align-items:flex-start;
    }

    .oxl-coach-detail-hero-actions,
    .oxl-coach-detail-hero-actions .btn-primary,
    .oxl-coach-detail-hero-actions .btn-secondary,
    .oxl-contact-form .btn-primary,
    .oxl-booking-empty .btn-primary{
        width:100%;
    }

    .oxl-coach-tab-panel,
    .oxl-booking-card,
    .oxl-contact-card,
    .oxl-faq-card{
        padding:1rem;
    }
}
.oxl-reservation-popup-section{
    position:relative;
    z-index:2;
}

.oxl-reservation-popup-card{
    position:relative;
    overflow:hidden;
    padding:1.45rem;
    border-radius:1.55rem;
    background:
            radial-gradient(circle at 100% 0%, rgba(27,106,75,.10), transparent 18rem),
            linear-gradient(135deg,#ffffff,#fbf8ef);
    border:1px solid rgba(17,24,39,.07);
    box-shadow:0 18px 42px rgba(17,24,39,.07);
}

.oxl-reservation-popup-head{
    margin-bottom:1rem;
}

.oxl-reservation-popup-head h2{
    margin:0 0 .4rem;
    font-size:2rem;
    line-height:1.12;
    letter-spacing:-.035em;
    color:#111827;
}

.oxl-reservation-popup-head p{
    margin:0;
    color:#657085;
    font-size:1rem;
    line-height:1.6;
}

.oxl-reservation-popup-preview{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:1.1rem;
    align-items:center;
    padding:1.35rem;
    border-radius:1.35rem;
    background:
            linear-gradient(145deg,rgba(16,66,49,.06),rgba(27,106,75,.03)),
            #f8faf9;
    border:1px solid rgba(16,66,49,.10);
}

.oxl-reservation-popup-preview-icon{
    width:4rem;
    height:4rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:1.15rem;
    color:#fff;
    background:linear-gradient(145deg,#104231,#1b6a4b);
    box-shadow:0 14px 28px rgba(16,66,49,.18);
}

.oxl-reservation-popup-preview-icon i{
    font-size:1.3rem;
}

.oxl-reservation-popup-preview-text span{
    display:block;
    margin-bottom:.25rem;
    color:#1b6a4b;
    font-size:.76rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.oxl-reservation-popup-preview-text h3{
    margin:0 0 .35rem;
    color:#111827;
    font-size:1.35rem;
    line-height:1.15;
    letter-spacing:-.025em;
}

.oxl-reservation-popup-preview-text p{
    margin:0;
    color:#657085;
    font-size:.95rem;
    line-height:1.55;
}

.oxl-reservation-popup-open,
.oxl-reservation-popup-fallback-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:3.2rem;
    padding:0 1.45rem;
    border-radius:1rem;
    border:0;
    color:#fff;
    background:linear-gradient(145deg,#104231,#1b6a4b);
    box-shadow:0 15px 32px rgba(16,66,49,.22);
    font-size:.96rem;
    font-weight:850;
    line-height:1;
    text-decoration:none;
    cursor:pointer;
    white-space:nowrap;
    transition:transform .18s ease, box-shadow .18s ease;
}

.oxl-reservation-popup-open:hover,
.oxl-reservation-popup-fallback-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 38px rgba(16,66,49,.26);
}

.oxl-reservation-popup-modal{
    position:fixed;
    inset:0;
    z-index:2147483000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:1rem;
    isolation:isolate;
}

.oxl-reservation-popup-modal.is-open{
    display:flex;
}

.oxl-reservation-popup-backdrop{
    position:absolute;
    inset:0;
    z-index:1;
    background:rgba(3,18,12,.76);
    backdrop-filter:blur(10px);
}

.oxl-reservation-popup-dialog{
    position:relative;
    z-index:2;
    width:min(1120px, 100%);
    max-height:92vh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-radius:1.45rem;
    background:#fff;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 30px 90px rgba(0,0,0,.35);
}

.oxl-reservation-popup-header{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem 1.1rem;
    color:#fff;
    background:
            radial-gradient(circle at 100% 0%, rgba(255,255,255,.16), transparent 14rem),
            linear-gradient(145deg,#104231,#1b6a4b);
}

.oxl-reservation-popup-header span{
    display:block;
    margin-bottom:.18rem;
    font-size:.74rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:rgba(255,255,255,.72);
}

.oxl-reservation-popup-header h3{
    margin:0;
    font-size:1.15rem;
    line-height:1.2;
    color:#fff;
}

.oxl-reservation-popup-close{
    width:2.7rem;
    height:2.7rem;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:.9rem;
    color:#fff;
    background:rgba(255,255,255,.12);
    cursor:pointer;
    transition:background .18s ease, transform .18s ease;
}

.oxl-reservation-popup-close:hover{
    background:rgba(255,255,255,.20);
    transform:scale(1.03);
}

.oxl-reservation-popup-body{
    flex:1 1 auto;
    min-height:0;
    background:#f8faf9;
}

.oxl-reservation-popup-body iframe{
    display:block;
    width:100%;
    height:min(760px, calc(92vh - 76px));
    background:#fff;
}

html.oxl-reservation-popup-lock,
body.oxl-reservation-popup-lock{
    overflow:hidden!important;
}

.oxl-reservation-popup-empty{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:1rem;
    align-items:center;
    padding:1.3rem;
    border-radius:1.25rem;
    background:#f8faf9;
    border:1px dashed rgba(16,66,49,.25);
}

.oxl-reservation-popup-empty-icon{
    width:3.4rem;
    height:3.4rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:1rem;
    color:#fff;
    background:linear-gradient(145deg,#104231,#1b6a4b);
}

.oxl-reservation-popup-empty span{
    display:block;
    margin-bottom:.25rem;
    color:#1b6a4b;
    font-size:.75rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.oxl-reservation-popup-empty h3{
    margin:0 0 .45rem;
    color:#111827;
    font-size:1.25rem;
}

.oxl-reservation-popup-empty p{
    margin:0 0 .9rem;
    color:#657085;
    line-height:1.6;
}

@media (max-width:820px){
    .oxl-reservation-popup-preview,
    .oxl-reservation-popup-empty{
        grid-template-columns:1fr;
    }

    .oxl-reservation-popup-open,
    .oxl-reservation-popup-fallback-btn{
        width:100%;
    }

    .oxl-reservation-popup-modal{
        padding:.55rem;
    }

    .oxl-reservation-popup-dialog{
        max-height:94vh;
        border-radius:1rem;
    }

    .oxl-reservation-popup-header{
        padding:.85rem;
    }

    .oxl-reservation-popup-header h3{
        font-size:1rem;
    }

    .oxl-reservation-popup-body iframe{
        height:calc(94vh - 68px);
    }
}

.oxl-coach-detail-summary{
    position:relative;
    padding-top:1.2rem!important;
    padding-bottom:2.4rem!important;
}

.oxl-coach-detail-summary::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:1px;
    background:linear-gradient(
            90deg,
            transparent,
            rgba(16,66,49,.14),
            transparent
    );
    pointer-events:none;
}

.oxl-coach-detail-summary-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
}

.oxl-coach-detail-summary-card{
    position:relative;
    overflow:hidden;
    min-height:10.8rem;
    padding:1.25rem;
    border-radius:1.45rem;
    background:
            radial-gradient(circle at 100% 0%, rgba(27,106,75,.10), transparent 8rem),
            linear-gradient(145deg,#ffffff,#f8faf9);
    border:1px solid rgba(16,66,49,.10);
    box-shadow:
            0 16px 34px rgba(17,24,39,.055),
            inset 0 1px 0 rgba(255,255,255,.85);
    transition:
            transform .2s ease,
            box-shadow .2s ease,
            border-color .2s ease,
            background .2s ease;
}

.oxl-coach-detail-summary-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:
            linear-gradient(135deg, rgba(16,66,49,.065), transparent 42%);
    opacity:0;
    transition:opacity .2s ease;
    pointer-events:none;
}

.oxl-coach-detail-summary-card::after{
    content:"";
    position:absolute;
    right:-2.2rem;
    bottom:-2.2rem;
    width:6.3rem;
    height:6.3rem;
    border-radius:50%;
    background:rgba(16,66,49,.055);
    pointer-events:none;
}

.oxl-coach-detail-summary-card:hover{
    transform:translateY(-4px);
    border-color:rgba(16,66,49,.18);
    box-shadow:
            0 22px 46px rgba(17,24,39,.085),
            inset 0 1px 0 rgba(255,255,255,.9);
}

.oxl-coach-detail-summary-card:hover::before{
    opacity:1;
}

.oxl-coach-detail-summary-icon{
    position:relative;
    z-index:1;
    width:3rem;
    height:3rem;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:1rem;
    border-radius:1rem;
    background:
            radial-gradient(circle at 30% 20%, rgba(255,255,255,.9), transparent 55%),
            linear-gradient(145deg,#edf7f2,#ffffff);
    border:1px solid rgba(16,66,49,.10);
    color:#1b6a4b;
    box-shadow:
            0 10px 20px rgba(16,66,49,.08),
            inset 0 1px 0 rgba(255,255,255,.9);
}

.oxl-coach-detail-summary-icon i{
    font-size:1rem;
}

.oxl-coach-detail-summary-card h3{
    position:relative;
    z-index:1;
    margin:0 0 .42rem;
    color:#104231;
    font-size:1.05rem;
    line-height:1.15;
    letter-spacing:-.018em;
    font-weight:850;
}

.oxl-coach-detail-summary-card p{
    position:relative;
    z-index:1;
    margin:0;
    color:#5f6776;
    font-size:.92rem;
    line-height:1.55;
    font-weight:550;
}

.oxl-coach-detail-summary-card:nth-child(1) .oxl-coach-detail-summary-icon{
    color:#1b6a4b;
}

.oxl-coach-detail-summary-card:nth-child(2) .oxl-coach-detail-summary-icon{
    color:#0f766e;
}

.oxl-coach-detail-summary-card:nth-child(3) .oxl-coach-detail-summary-icon{
    color:#166534;
}

.oxl-coach-detail-summary-card:nth-child(4){
    background:
            radial-gradient(circle at 100% 0%, rgba(255,255,255,.13), transparent 8rem),
            linear-gradient(145deg,#104231,#1b6a4b);
    border-color:rgba(255,255,255,.12);
    box-shadow:
            0 20px 44px rgba(16,66,49,.20),
            inset 0 1px 0 rgba(255,255,255,.12);
}

.oxl-coach-detail-summary-card:nth-child(4)::after{
    background:rgba(255,255,255,.08);
}

.oxl-coach-detail-summary-card:nth-child(4) .oxl-coach-detail-summary-icon{
    background:rgba(255,255,255,.13);
    border-color:rgba(255,255,255,.14);
    color:#ffffff;
    box-shadow:none;
}

.oxl-coach-detail-summary-card:nth-child(4) h3,
.oxl-coach-detail-summary-card:nth-child(4) p{
    color:#ffffff;
}

.oxl-coach-detail-summary-card:nth-child(4) p{
    opacity:.86;
}

@media (max-width:1100px){
    .oxl-coach-detail-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:640px){
    .oxl-coach-detail-summary{
        padding-top:1rem!important;
        padding-bottom:1.8rem!important;
    }

    .oxl-coach-detail-summary-grid{
        grid-template-columns:1fr;
        gap:.85rem;
    }

    .oxl-coach-detail-summary-card{
        min-height:auto;
        padding:1.05rem;
        border-radius:1.2rem;
    }

    .oxl-coach-detail-summary-icon{
        width:2.75rem;
        height:2.75rem;
        margin-bottom:.8rem;
    }

    .oxl-coach-detail-summary-card h3{
        font-size:1rem;
    }

    .oxl-coach-detail-summary-card p{
        font-size:.9rem;
    }
}

.oxl-reservation-popup-section{
    padding-top:1.8rem!important;
    padding-bottom:2rem!important;
}

.oxl-reservation-popup-card{
    padding:1.35rem;
    border-radius:22px;
    background:#fff;
    border:1px solid rgba(17,24,39,.07);
    box-shadow:0 14px 32px rgba(17,24,39,.055);
}

.oxl-reservation-popup-head{
    margin-bottom:1rem;
}

.oxl-reservation-popup-head h2{
    margin:0 0 .35rem;
    color:#111827;
    font-size:1.9rem;
    line-height:1.12;
    letter-spacing:-.035em;
}

.oxl-reservation-popup-head p{
    margin:0;
    max-width:620px;
    color:#657085;
    font-size:.96rem;
    line-height:1.6;
}

.oxl-reservation-popup-preview{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:1rem;
    align-items:center;
    padding:1.1rem;
    border-radius:18px;
    background:#f8faf9;
    border:1px solid rgba(16,66,49,.09);
}

.oxl-reservation-popup-preview-icon{
    width:3.5rem;
    height:3.5rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:rgba(27,106,75,.10);
    color:#165b3a;
    flex:0 0 auto;
}

.oxl-reservation-popup-preview-icon i{
    font-size:1.15rem;
}

.oxl-reservation-popup-preview-text span{
    display:block;
    margin-bottom:.2rem;
    color:#165b3a;
    font-size:.74rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.oxl-reservation-popup-preview-text h3{
    margin:0 0 .25rem;
    color:#111827;
    font-size:1.2rem;
    line-height:1.2;
    letter-spacing:-.025em;
}

.oxl-reservation-popup-preview-text p{
    margin:0;
    color:#667085;
    font-size:.92rem;
    line-height:1.5;
}

.oxl-reservation-popup-open{
    min-height:3rem;
    padding:0 1.25rem;
    border:0;
    border-radius:14px;
    background:linear-gradient(145deg,#104231,#1b6a4b);
    color:#fff;
    font-size:.92rem;
    font-weight:850;
    white-space:nowrap;
    cursor:pointer;
    box-shadow:0 12px 24px rgba(16,66,49,.18);
    transition:transform .18s ease, box-shadow .18s ease;
}

.oxl-reservation-popup-open:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 30px rgba(16,66,49,.24);
}

.oxl-reservation-popup-dialog{
    border-radius:22px;
}

.oxl-reservation-popup-header{
    min-height:68px;
}

.oxl-reservation-popup-body iframe{
    display:block;
    background:#fff;
}

@media (max-width:820px){
    .oxl-reservation-popup-card{
        padding:1rem;
        border-radius:20px;
    }

    .oxl-reservation-popup-preview{
        grid-template-columns:1fr;
        gap:.85rem;
        padding:1rem;
    }

    .oxl-reservation-popup-preview-icon{
        width:3.2rem;
        height:3.2rem;
    }

    .oxl-reservation-popup-open{
        width:100%;
    }

    .oxl-reservation-popup-head h2{
        font-size:1.55rem;
    }
}


.oxl-contact-section{
    padding-top:1.8rem!important;
    padding-bottom:2.2rem!important;
}

.oxl-contact-card{
    position:relative;
    padding:1.6rem;
    border-radius:24px;
    background:#ffffff;
    border:1px solid rgba(17,24,39,.07);
    box-shadow:0 14px 34px rgba(17,24,39,.055);
}

.oxl-contact-card::before,
.oxl-contact-card::after{
    display:none!important;
}

.oxl-contact-head{
    margin-bottom:1.25rem;
}

.oxl-contact-head h2{
    margin:0 0 .45rem;
    color:#111827;
    font-size:2rem;
    line-height:1.1;
    letter-spacing:-.035em;
}

.oxl-contact-head p{
    margin:0;
    max-width:640px;
    color:#667085;
    font-size:.98rem;
    line-height:1.6;
}

.oxl-contact-form{
    display:grid;
    gap:1rem;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
}

.oxl-contact-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}

.oxl-contact-form .oxl-field{
    display:grid;
    gap:.45rem;
}

.oxl-contact-form .oxl-field label{
    color:#263445;
    font-size:.86rem;
    font-weight:800;
}

.oxl-contact-form .oxl-field input,
.oxl-contact-form .oxl-field textarea{
    width:100%;
    border:1px solid rgba(16,66,49,.14);
    border-radius:17px;
    background:#fbfdfc;
    color:#111827;
    font-size:1rem;
    outline:none;
    box-shadow:
            inset 0 1px 0 rgba(255,255,255,.95),
            0 8px 18px rgba(17,24,39,.028);
    transition:
            border-color .18s ease,
            box-shadow .18s ease,
            background .18s ease;
}

.oxl-contact-form .oxl-field input{
    min-height:3.65rem;
    padding:0 1.05rem;
}

.oxl-contact-form .oxl-field textarea{
    min-height:10.2rem;
    padding:1rem 1.05rem;
    line-height:1.55;
    resize:vertical;
}

.oxl-contact-form .oxl-field input::placeholder,
.oxl-contact-form .oxl-field textarea::placeholder{
    color:#98a2b3;
}

.oxl-contact-form .oxl-field input:hover,
.oxl-contact-form .oxl-field textarea:hover{
    background:#ffffff;
    border-color:rgba(27,106,75,.26);
}

.oxl-contact-form .oxl-field input:focus,
.oxl-contact-form .oxl-field textarea:focus{
    background:#ffffff;
    border-color:#1b6a4b;
    box-shadow:
            0 0 0 4px rgba(27,106,75,.08),
            0 12px 24px rgba(17,24,39,.045);
}

.oxl-contact-form .oxl-rgpd{
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    padding:.9rem 1rem;
    border-radius:16px;
    background:#f8faf9;
    border:1px solid rgba(16,66,49,.09);
    color:#556070;
    font-size:.86rem;
    line-height:1.55;
    cursor:pointer;
}

.oxl-contact-form .oxl-rgpd input{
    width:1.05rem;
    height:1.05rem;
    margin-top:.18rem;
    accent-color:#1b6a4b;
    flex:0 0 auto;
}

.oxl-contact-form button[type="submit"]{
    width:max-content;
    min-width:220px;
    min-height:3.25rem;
    border:0;
    border-radius:16px;
    background:linear-gradient(145deg,#104231,#1b6a4b);
    color:#fff;
    font-size:.96rem;
    font-weight:850;
    box-shadow:0 13px 28px rgba(16,66,49,.20);
    transition:transform .18s ease, box-shadow .18s ease;
}

.oxl-contact-form button[type="submit"]:hover{
    transform:translateY(-2px);
    box-shadow:0 17px 34px rgba(16,66,49,.26);
}

/* Responsive */
@media (max-width:820px){
    .oxl-contact-card{
        padding:1.2rem;
        border-radius:22px;
    }

    .oxl-contact-head h2{
        font-size:1.65rem;
    }

    .oxl-contact-form-grid{
        grid-template-columns:1fr;
        gap:.9rem;
    }

    .oxl-contact-form button[type="submit"]{
        width:100%;
    }
}

@media (max-width:520px){
    .oxl-contact-section{
        padding-top:1.4rem!important;
        padding-bottom:1.8rem!important;
    }

    .oxl-contact-card{
        padding:1rem;
        border-radius:20px;
    }

    .oxl-contact-form .oxl-field input{
        min-height:3.45rem;
    }

    .oxl-contact-form .oxl-field textarea{
        min-height:9rem;
    }

    .oxl-contact-form .oxl-rgpd{
        font-size:.83rem;
        padding:.85rem;
    }
}


.oxl-map-section{
    padding:1.8rem 0 0!important;
    position:relative;
}

.oxl-map-section .oxl-section-head{
    margin-bottom:1.2rem;
}

.oxl-map-section .oxl-section-head h2{
    margin:0;
    color:#111827;
    font-size:2rem;
    line-height:1.12;
    letter-spacing:-.035em;
}

.oxl-map-wrap{
    width:min(1180px, calc(100% - 40px));
    height:24rem;
    margin:0 auto 3rem;
    overflow:hidden;
    border-radius:24px;
    background:#f8faf9;
    border:1px solid rgba(16,66,49,.10);
    box-shadow:0 16px 36px rgba(17,24,39,.065);
    position:relative;
}

.oxl-map-wrap::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    box-shadow:
            inset 0 0 0 1px rgba(255,255,255,.65),
            inset 0 -80px 90px rgba(16,66,49,.08);
}

.oxl-map-wrap::after{
    content:"Zone d’intervention";
    position:absolute;
    left:1rem;
    top:1rem;
    z-index:3;
    display:inline-flex;
    align-items:center;
    min-height:2rem;
    padding:0 .85rem;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(16,66,49,.10);
    color:#104231;
    font-size:.78rem;
    font-weight:850;
    box-shadow:0 8px 18px rgba(17,24,39,.08);
    backdrop-filter:blur(8px);
}

.oxl-map-wrap iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
    filter:saturate(.92) contrast(.96);
}

/* Responsive */
@media (max-width:820px){
    .oxl-map-wrap{
        width:min(100% - 28px, 1180px);
        height:20rem;
        border-radius:20px;
        margin-bottom:2.2rem;
    }

    .oxl-map-section .oxl-section-head h2{
        font-size:1.65rem;
    }
}

@media (max-width:520px){
    .oxl-map-wrap{
        width:min(100% - 22px, 1180px);
        height:18rem;
        border-radius:18px;
    }

    .oxl-map-wrap::after{
        left:.75rem;
        top:.75rem;
        min-height:1.85rem;
        font-size:.72rem;
    }
}
.oxl-coach-detail-hero-actions a {
    flex: 1;
    text-align: center;
}
.oxl-map-link {
    text-align: center;
}
.btn-secondary {
    background: #0f3d2e24;
}

.oxl-coach-detail-page{
    position:relative;
}

.oxl-coach-detail-hero,
.oxl-coach-detail-summary,
.oxl-coach-compact-section,
.oxl-reservation-popup-section,
.oxl-contact-section,
.oxl-faq-section,
.oxl-map-section,
.oxl-coach-detail-seo-band{
    position:relative;
    overflow:visible!important;
}

.oxl-coach-detail-hero .container,
.oxl-coach-detail-summary-grid,
.oxl-coach-compact-card,
.oxl-reservation-popup-card,
.oxl-contact-card,
.oxl-map-wrap,
.oxl-coach-detail-seo-band .container{
    position:relative;
    z-index:1;
}

.oxl-coach-detail-hero{
    isolation:isolate;
}

.oxl-coach-detail-hero::before{
    content:"";
    position:absolute;
    right:-120px;
    top:-110px;
    width:310px;
    height:310px;
    border-radius:999px;
    border:44px solid rgba(27,106,75,.045);
    pointer-events:none;
    z-index:-1;
    animation:oxlDecorFloat 12s ease-in-out infinite;
}

.oxl-coach-detail-hero::after{
    content:"";
    position:absolute;
    right:8%;
    bottom:25px;
    width:170px;
    height:170px;
    border-radius:50%;
    background:rgba(34,133,94,.055);
    pointer-events:none;
    z-index:-1;
    animation:oxlDecorPulse 8s ease-in-out infinite;
}
/* ===============================
   OXL CLAIM BANNER
   =============================== */

.oxl-coach-claim-banner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: center;
    margin: 22px 0;
    padding: 18px;
    border-radius: 22px;
    background: linear-gradient(135deg, #f7fbf9, #eef7f2);
    border: 1px solid #dfeae4;
    box-shadow: 0 10px 26px rgba(16, 24, 40, .05);
}

.oxl-coach-claim-banner span {
    display: inline-flex;
    margin-bottom: 7px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #e8f3ed;
    color: #0f3d2e;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.oxl-coach-claim-banner strong {
    display: block;
    margin-bottom: 5px;
    color: #0e1b14;
    font-size: 21px;
    font-weight: 900;
    letter-spacing: -.5px;
}

.oxl-coach-claim-banner p {
    margin: 0;
    color: #5f746b;
    font-size: 14px;
    line-height: 1.55;
}

.oxl-coach-claim-banner .btn-primary {
    height: 48px;
    padding: 0 16px;
    border: 0;
    border-radius: 15px;
    background: linear-gradient(135deg, #0f3d2e, #1b6a4b);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(15, 61, 46, .16);
}

/* ===============================
   OXL CLAIM MODAL
   =============================== */

.oxl-claim-modal {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 2147483647;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
    box-sizing: border-box;
    overflow: hidden;
    font-family: Inter, Arial, sans-serif;
}

.oxl-claim-modal * {
    box-sizing: border-box;
}

.oxl-claim-modal.is-open {
    display: flex;
}

.oxl-claim-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 18, 13, .78);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 1;
}

.oxl-claim-modal-panel {
    position: relative;
    z-index: 2;
    width: min(1040px, 100%);
    max-height: calc(100vh - 44px);
    display: grid;
    grid-template-columns: .76fr 1.24fr;
    overflow: hidden;
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 48px 130px rgba(0, 0, 0, .46);
    animation: oxlClaimIn .22s ease-out;
}

@keyframes oxlClaimIn {
    from {
        opacity: 0;
        transform: scale(.98) translateY(10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.oxl-claim-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 5;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 14px;
    background: rgba(255,255,255,.16);
    color: #fff;
    font-size: 25px;
    cursor: pointer;
}

.oxl-claim-modal-close:hover {
    background: rgba(255,255,255,.24);
}

.oxl-claim-hero {
    padding: 44px 36px;
    background:
            radial-gradient(circle at 20% 10%, rgba(255,255,255,.20), transparent 28%),
            linear-gradient(135deg, #0f3d2e 0%, #1c6b4d 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.oxl-claim-kicker {
    width: max-content;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.16);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.oxl-claim-hero h2 {
    margin: 0 0 16px;
    font-size: 38px;
    line-height: 1.04;
    font-weight: 900;
    letter-spacing: -1.4px;
    max-width: 390px;
}

.oxl-claim-intro {
    margin: 0;
    color: rgba(255,255,255,.84);
    font-size: 15px;
    line-height: 1.6;
    max-width: 380px;
}

.oxl-claim-hero-points {
    margin-top: 24px;
    display: grid;
    gap: 11px;
}

.oxl-claim-hero-points div {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

.oxl-claim-hero-points span {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #dff7eb;
    box-shadow: 0 0 0 5px rgba(223,247,235,.12);
}

.oxl-claim-content {
    padding: 42px 42px 38px;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    overflow: auto;
}

.oxl-claim-block {
    padding: 16px;
    border-radius: 17px;
    background: linear-gradient(135deg, #f7fbf9, #eef7f2);
    border: 1px solid #dfeae4;
}

.oxl-claim-block-muted {
    background: #fffaf0;
    border-color: #f0dfb8;
}

.oxl-claim-block h3 {
    margin: 0 0 7px;
    color: #0f3d2e;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: -.2px;
}

.oxl-claim-block p,
.oxl-claim-block li {
    color: #5f746b;
    font-size: 13px;
    line-height: 1.55;
}

.oxl-claim-block p {
    margin: 0 0 9px;
}

.oxl-claim-block ol,
.oxl-claim-block ul {
    margin: 10px 0 0;
    padding-left: 18px;
}

.oxl-claim-block li {
    margin: 6px 0;
}

.oxl-claim-identifiers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0;
}

.oxl-claim-identifiers div {
    padding: 12px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #dfeae4;
}

.oxl-claim-identifiers strong {
    display: block;
    margin-bottom: 4px;
    color: #6b7b74;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.oxl-claim-identifiers span {
    color: #0e1b14;
    font-size: 14px;
    font-weight: 900;
    word-break: break-word;
}

.oxl-claim-bonus {
    margin-top: 12px !important;
    padding: 13px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0f3d2e, #1b6a4b);
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800;
    line-height: 1.45 !important;
}

.oxl-claim-primary {
    width: 100%;
    min-height: 50px;
    margin-top: 12px;
    border-radius: 16px;
    background: linear-gradient(135deg, #0f3d2e, #1b6a4b);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    gap: 10px;
    font-size: 14px;
    font-weight: 900;
    box-shadow: 0 16px 32px rgba(15, 61, 46, .2);
    transition: .2s;
}

.oxl-claim-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 42px rgba(15, 61, 46, .26);
}

.oxl-claim-block-muted a {
    color: #0f3d2e;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 860px) {
    .oxl-claim-modal {
        padding: 0;
    }

    .oxl-claim-modal-panel {
        width: 100%;
        height: 100%;
        max-height: none;
        grid-template-columns: 1fr;
        border-radius: 0;
        overflow: auto;
    }

    .oxl-claim-hero {
        padding: 72px 24px 30px;
        min-height: auto;
    }

    .oxl-claim-hero h2 {
        font-size: 32px;
        max-width: none;
    }

    .oxl-claim-intro {
        max-width: none;
        font-size: 14px;
    }

    .oxl-claim-hero-points {
        margin-top: 20px;
    }

    .oxl-claim-content {
        padding: 20px 16px 24px;
        justify-content: flex-start;
    }

    .oxl-claim-modal-close {
        background: rgba(255,255,255,.92);
        color: #0f3d2e;
    }

    .oxl-claim-identifiers {
        grid-template-columns: 1fr;
    }

    .oxl-coach-claim-banner {
        grid-template-columns: 1fr;
    }

    .oxl-coach-claim-banner .btn-primary {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .oxl-coach-claim-banner {
        padding: 16px;
        border-radius: 20px;
    }

    .oxl-coach-claim-banner strong {
        font-size: 20px;
    }

    .oxl-claim-hero {
        padding: 66px 20px 26px;
    }

    .oxl-claim-hero h2 {
        font-size: 29px;
    }

    .oxl-claim-content {
        padding: 18px 14px 22px;
    }

    .oxl-claim-block {
        padding: 14px;
    }
}
.oxl-coach-detail-summary::before{
    content:"";
    position:absolute;
    left:4%;
    top:20px;
    width:140px;
    height:140px;
    border-radius:50%;
    background:rgba(27,106,75,.04);
    pointer-events:none;
    z-index:0;
    animation:oxlDecorFloatReverse 10s ease-in-out infinite;
}

.oxl-coach-compact-section::before{
    content:"";
    position:absolute;
    right:5%;
    top:10px;
    width:150px;
    height:150px;
    border-radius:999px;
    border:26px solid rgba(27,106,75,.035);
    pointer-events:none;
    z-index:0;
    animation:oxlDecorRotate 24s linear infinite;
}

.oxl-reservation-popup-card{
    overflow:hidden;
    isolation:isolate;
}

.oxl-reservation-popup-card::before{
    content:"";
    position:absolute;
    right:-70px;
    top:-75px;
    width:190px;
    height:190px;
    border-radius:50%;
    background:rgba(27,106,75,.055);
    pointer-events:none;
    z-index:-1;
    animation:oxlDecorPulse 9s ease-in-out infinite;
}

.oxl-contact-card{
    overflow:hidden;
    isolation:isolate;
}

.oxl-contact-card::before{
    content:"";
    position:absolute;
    right:-85px;
    bottom:-95px;
    width:210px;
    height:210px;
    border-radius:999px;
    border:34px solid rgba(27,106,75,.035);
    pointer-events:none;
    z-index:-1;
    animation:oxlDecorFloat 11s ease-in-out infinite;
}

.oxl-map-wrap{
    isolation:isolate;
}

.oxl-map-wrap::before{
    content:"";
    position:absolute;
    right:-80px;
    top:-80px;
    width:190px;
    height:190px;
    border-radius:50%;
    background:rgba(27,106,75,.05);
    pointer-events:none;
    z-index:1;
    animation:oxlDecorPulse 10s ease-in-out infinite;
}

.btn-primary,
.oxl-reservation-popup-open{
    position:relative;
    overflow:hidden;
}

.btn-primary::after,
.oxl-reservation-popup-open::after{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.18),
            transparent
    );
    transform:skewX(-18deg);
    transition:left .55s ease;
    pointer-events:none;
}

.btn-primary:hover::after,
.oxl-reservation-popup-open:hover::after{
    left:130%;
}

/* Animations */
@keyframes oxlDecorFloat{
    0%,100%{
        transform:translate3d(0,0,0);
    }
    50%{
        transform:translate3d(-10px,12px,0);
    }
}

@keyframes oxlDecorFloatReverse{
    0%,100%{
        transform:translate3d(0,0,0);
    }
    50%{
        transform:translate3d(12px,-10px,0);
    }
}

@keyframes oxlDecorPulse{
    0%,100%{
        transform:scale(1);
        opacity:.85;
    }
    50%{
        transform:scale(1.06);
        opacity:.55;
    }
}

@keyframes oxlDecorRotate{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}

/* Mobile : on calme fortement les formes */
@media (max-width:820px){
    .oxl-coach-detail-hero::before{
        right:-150px;
        top:-135px;
        width:260px;
        height:260px;
        border-width:36px;
    }

    .oxl-coach-detail-hero::after,
    .oxl-coach-detail-summary::before,
    .oxl-coach-compact-section::before{
        display:none;
    }

    .oxl-reservation-popup-card::before,
    .oxl-contact-card::before{
        opacity:.65;
        transform:none;
    }
}

/* Accessibilité */
@media (prefers-reduced-motion:reduce){
    .oxl-coach-detail-hero::before,
    .oxl-coach-detail-hero::after,
    .oxl-coach-detail-summary::before,
    .oxl-coach-compact-section::before,
    .oxl-reservation-popup-card::before,
    .oxl-contact-card::before,
    .oxl-map-wrap::before{
        animation:none!important;
    }

    .btn-primary::after,
    .oxl-reservation-popup-open::after{
        display:none!important;
    }
}


/* ===============================
   OXL COACH SERVICES SEO SECTION
   =============================== */

.oxl-coach-services-section{
    padding-top:1.8rem!important;
    padding-bottom:2.2rem!important;
}

.oxl-coach-services-card{
    overflow:hidden;
    padding:1.6rem;
    border-radius:24px;
    background:
            radial-gradient(circle at 100% 0%, rgba(27,106,75,.08), transparent 18rem),
            #ffffff;
    border:1px solid rgba(17,24,39,.07);
    box-shadow:0 14px 34px rgba(17,24,39,.055);
}

.oxl-coach-services-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
}

.oxl-coach-services-grid article{
    min-height:13rem;
    padding:1.15rem;
    border-radius:20px;
    background:#f8faf9;
    border:1px solid rgba(16,66,49,.09);
}

.oxl-coach-services-grid i{
    width:3rem;
    height:3rem;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:1rem;
    border-radius:1rem;
    background:rgba(27,106,75,.10);
    color:#1b6a4b;
}

.oxl-coach-services-grid h3{
    margin:0 0 .55rem;
    color:#104231;
    font-size:1.08rem;
    line-height:1.18;
    font-weight:900;
    letter-spacing:-.02em;
}

.oxl-coach-services-grid p{
    margin:0;
    color:#5f6776;
    font-size:.93rem;
    line-height:1.65;
}

/* ===============================
   OXL GOOGLE REVIEWS SECTION
   =============================== */

/* ===============================
   OXL GOOGLE REVIEWS - CLEAN SEO
   =============================== */

.oxl-google-reviews-section {
    padding-top: 1.8rem !important;
    padding-bottom: 2rem !important;
    background: transparent;
}

.oxl-google-reviews-shell {
    padding: 0;
    border-top: 1px solid rgba(16, 66, 49, .12);
    border-bottom: 1px solid rgba(16, 66, 49, .12);
}

.oxl-google-reviews-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.4rem;
    align-items: end;
    padding: 1.35rem 0 1.1rem;
}

.oxl-google-reviews-head h2 {
    max-width: 820px;
    margin: 0;
    color: #111827;
    font-size: clamp(1.55rem, 2.5vw, 2.1rem);
    line-height: 1.08;
    letter-spacing: -.045em;
    font-weight: 900;
}

.oxl-google-reviews-score {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    min-height: 3.15rem;
    padding: .55rem .8rem .55rem .55rem;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(17, 24, 39, .08);
    box-shadow: 0 10px 24px rgba(17, 24, 39, .055);
    white-space: nowrap;
}

.oxl-google-score-mark {
    width: 2.05rem;
    height: 2.05rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #fff7ed;
    border: 1px solid rgba(245, 158, 11, .22);
    color: #111827;
    font-size: .98rem;
    font-weight: 950;
}

.oxl-google-reviews-score strong {
    color: #111827;
    font-size: 1.35rem;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.04em;
}

.oxl-google-reviews-score strong small {
    margin-left: .08rem;
    color: #667085;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: 0;
}

.oxl-google-score-count {
    color: #667085;
    font-size: .82rem;
    font-weight: 800;
}

.oxl-google-reviews-line {
    height: 1px;
    background: linear-gradient(
            90deg,
            rgba(16, 66, 49, .16),
            rgba(245, 158, 11, .28),
            rgba(16, 66, 49, .08)
    );
}

.oxl-google-reviews-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
}

.oxl-google-review-item {
    position: relative;
    min-height: 13rem;
    padding: 1.15rem 1rem;
    border-right: 1px solid rgba(17, 24, 39, .07);
}

.oxl-google-review-item:last-child {
    border-right: 0;
}

.oxl-google-review-item::before {
    content: "";
    position: absolute;
    left: 1rem;
    top: 0;
    width: 2.8rem;
    height: 2px;
    background: #f59e0b;
    opacity: .75;
}

.oxl-google-review-header {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: .7rem;
}

.oxl-google-review-header img,
.oxl-google-review-avatar {
    width: 2.45rem;
    height: 2.45rem;
    flex: 0 0 auto;
    border-radius: 999px;
}

.oxl-google-review-header img {
    object-fit: cover;
    border: 1px solid rgba(17, 24, 39, .08);
}

.oxl-google-review-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #104231;
    color: #ffffff;
    font-size: .76rem;
    font-weight: 900;
}

.oxl-google-review-author {
    min-width: 0;
}

.oxl-google-review-author h3 {
    margin: 0;
    color: #111827;
    font-size: .92rem;
    line-height: 1.15;
    font-weight: 850;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.oxl-google-review-author > span {
    display: block;
    margin-top: .2rem;
    color: #7a8494;
    font-size: .74rem;
    line-height: 1.2;
    font-weight: 650;
}

.oxl-google-review-rating {
    display: flex;
    gap: .14rem;
    margin-bottom: .65rem;
    color: #f59e0b;
    font-size: .8rem;
}

.oxl-google-review-rating .is-muted {
    color: #e5e7eb;
}

.oxl-google-review-item p {
    margin: 0;
    color: #4b5563;
    font-size: .86rem;
    line-height: 1.62;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.oxl-google-reviews-action {
    display: flex;
    justify-content: flex-end;
    padding: 0 0 1.2rem;
}

.oxl-google-reviews-action a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #104231;
    text-decoration: none;
    font-size: .86rem;
    font-weight: 850;
}

.oxl-google-reviews-action a:hover {
    text-decoration: underline;
}

@media (max-width: 1180px) {
    .oxl-google-reviews-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        border-top: 0;
    }

    .oxl-google-review-item {
        border-right: 1px solid rgba(17, 24, 39, .07);
        border-bottom: 1px solid rgba(17, 24, 39, .07);
    }

    .oxl-google-review-item:nth-child(3n) {
        border-right: 0;
    }
}

@media (max-width: 820px) {
    .oxl-google-reviews-head {
        grid-template-columns: 1fr;
        align-items: start;
        gap: .9rem;
    }

    .oxl-google-reviews-score {
        width: max-content;
    }

    .oxl-google-reviews-list {
        grid-template-columns: 1fr;
    }

    .oxl-google-review-item {
        min-height: auto;
        padding: 1rem 0;
        border-right: 0;
        border-bottom: 1px solid rgba(17, 24, 39, .07);
    }

    .oxl-google-review-item:last-child {
        border-bottom: 0;
    }

    .oxl-google-review-item::before {
        left: 0;
    }

    .oxl-google-reviews-action {
        justify-content: flex-start;
        padding-top: .9rem;
    }
}
.oxl-coach-detail-seo-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .55rem;
    max-width: 880px;
    margin: -0.4rem auto 1.4rem;
}

.oxl-coach-detail-seo-chips span {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0 .8rem;
    border-radius: 999px;
    background: rgba(27, 106, 75, .08);
    border: 1px solid rgba(16, 66, 49, .08);
    color: #104231;
    font-size: .78rem;
    font-weight: 850;
}

.oxl-coach-detail-seo-link {
    display: flex;
    justify-content: center;
    margin-top: 1.2rem;
}

.oxl-coach-detail-seo-link a {
    display: inline-flex;
    align-items: center;
    min-height: 2.8rem;
    padding: 0 1.1rem;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(16, 66, 49, .12);
    color: #104231;
    text-decoration: none;
    font-size: .9rem;
    font-weight: 850;
    box-shadow: 0 10px 24px rgba(17, 24, 39, .045);
}

.oxl-coach-detail-seo-link a:hover {
    background: rgba(27, 106, 75, .06);
}
@media (max-width: 1100px) {
    .oxl-coach-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .oxl-coach-services-grid article:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .oxl-coach-services-section {
        padding-top: 1.4rem !important;
        padding-bottom: 1.8rem !important;
    }

    .oxl-coach-services-card {
        padding: 1.15rem;
        border-radius: 22px;
    }

    .oxl-coach-services-card .oxl-section-head {
        margin-bottom: 1rem;
        text-align: left;
    }

    .oxl-coach-services-card .oxl-section-head h2 {
        font-size: 1.55rem;
        line-height: 1.12;
        letter-spacing: -0.035em;
    }

    .oxl-coach-services-grid {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }

    .oxl-coach-services-grid article,
    .oxl-coach-services-grid article:last-child {
        grid-column: auto;
    }

    .oxl-coach-services-grid article {
        min-height: auto;
        padding: 1rem;
        border-radius: 18px;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: 0.85rem;
        row-gap: 0.25rem;
        align-items: start;
    }

    .oxl-coach-services-grid article i {
        grid-row: 1 / span 2;
        width: 2.65rem;
        height: 2.65rem;
        margin-bottom: 0;
        border-radius: 0.9rem;
        font-size: 0.95rem;
    }

    .oxl-coach-services-grid article h3 {
        margin: 0;
        font-size: 1rem;
        line-height: 1.18;
    }

    .oxl-coach-services-grid article p {
        margin: 0;
        font-size: 0.9rem;
        line-height: 1.55;
    }
}

@media (max-width: 520px) {
    .oxl-coach-services-section {
        padding-top: 1.2rem !important;
        padding-bottom: 1.5rem !important;
    }

    .oxl-coach-services-card {
        padding: 1rem;
        border-radius: 20px;
    }

    .oxl-coach-services-card .oxl-section-head h2 {
        font-size: 1.38rem;
    }

    .oxl-coach-services-grid {
        gap: 0.75rem;
    }

    .oxl-coach-services-grid article {
        padding: 0.9rem;
        border-radius: 16px;
        column-gap: 0.75rem;
    }

    .oxl-coach-services-grid article i {
        width: 2.45rem;
        height: 2.45rem;
        border-radius: 0.82rem;
        font-size: 0.88rem;
    }

    .oxl-coach-services-grid article h3 {
        font-size: 0.96rem;
    }

    .oxl-coach-services-grid article p {
        font-size: 0.86rem;
        line-height: 1.5;
    }
}
@media (max-width: 520px) {
    .oxl-google-reviews-section {
        padding-top: 1.35rem !important;
        padding-bottom: 1.7rem !important;
    }

    .oxl-google-reviews-head {
        padding: 1.1rem 0 .9rem;
    }

    .oxl-google-reviews-head h2 {
        font-size: 1.45rem;
    }

    .oxl-google-reviews-score {
        width: 100%;
        justify-content: flex-start;
    }

    .oxl-google-score-count {
        margin-left: auto;
    }

    .oxl-google-review-item p {
        -webkit-line-clamp: 5;
    }
}
 .oxl-coach-detail-page.oxl-cro-v4 {
     --oxl-green:#075f49;
     --oxl-green-dark:#044837;
     --oxl-green-soft:#eaf7f2;
     --oxl-green-pale:#f5faf8;
     --oxl-ink:#12231d;
     --oxl-muted:#64736c;
     --oxl-line:rgba(7,95,73,.12);
     --oxl-line-strong:rgba(7,95,73,.20);
     --oxl-amber:#f2a72a;
     --oxl-shadow:0 18px 55px rgba(4,57,43,.09);
     --oxl-shadow-lg:0 28px 75px rgba(4,57,43,.14);
     position:relative;
     overflow:clip;
     color:var(--oxl-ink);
     background:#fff;
 }
.oxl-cro-v4 *, .oxl-cro-v4 *::before, .oxl-cro-v4 *::after { box-sizing:border-box; }
.oxl-cro-v4 .container { position:relative; z-index:1; }
.oxl-cro-v4 .oxl-section { padding:clamp(52px,5.5vw,78px) 0; }
.oxl-cro-v4 .oxl-kicker {
    display:inline-flex; align-items:center; gap:8px; margin:0 0 10px;
    color:var(--oxl-green); font-size:.72rem; font-weight:900; letter-spacing:.095em; text-transform:uppercase;
}
.oxl-cro-v4 .oxl-kicker::before { content:""; width:17px; height:2px; border-radius:99px; background:currentColor; }
.oxl-cro-v4 .oxl-cro-btn {
    min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:9px;
    padding:12px 17px; border:1px solid transparent; border-radius:13px; font-size:.9rem; font-weight:900;
    line-height:1.1; text-decoration:none; cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.oxl-cro-v4 .oxl-cro-btn:hover { transform:translateY(-1px); }
.oxl-cro-v4 .oxl-cro-btn:focus-visible { outline:3px solid rgba(13,122,93,.20); outline-offset:3px; }
.oxl-cro-v4 .oxl-cro-btn-primary { color:#fff; background:var(--oxl-green); box-shadow:0 12px 30px rgba(7,95,73,.20); }
.oxl-cro-v4 .oxl-cro-btn-primary:hover { color:#fff; background:var(--oxl-green-dark); box-shadow:0 15px 35px rgba(7,95,73,.25); }
.oxl-cro-v4 .oxl-cro-btn-light { color:var(--oxl-green); background:#fff; border-color:var(--oxl-line-strong); }
.oxl-cro-v4 .oxl-cro-btn-light:hover { color:var(--oxl-green-dark); border-color:rgba(7,95,73,.33); }
.oxl-cro-v4 .oxl-cro-btn-small { min-height:42px; padding:9px 13px; font-size:.8rem; }

.oxl-cro-v4 .oxl-cro-hero {
    position:relative; padding:7em 0 66px;
    background:
            radial-gradient(circle at 92% 10%, rgba(13,122,93,.10), transparent 26rem),
            linear-gradient(180deg,#f6faf8 0%,#fff 100%);
    border-bottom:1px solid rgba(7,95,73,.06);
}
.oxl-cro-v4 .oxl-breadcrumb { padding:17px 0 30px; }
.oxl-cro-v4 .oxl-breadcrumb ol { display:flex; flex-wrap:wrap; gap:7px; align-items:center; padding:0; margin:0; list-style:none; color:#7b8b84; font-size:.74rem; }
.oxl-cro-v4 .oxl-breadcrumb a { color:#587269; text-decoration:none; }
.oxl-cro-v4 .oxl-breadcrumb a:hover { color:var(--oxl-green); }
.oxl-cro-v4 .oxl-breadcrumb .separator { opacity:.45; }
.oxl-cro-v4 .oxl-cro-hero-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr); gap:clamp(36px,6vw,82px); align-items:center; }
.oxl-cro-v4 .oxl-cro-hero-copy { min-width:0; }
.oxl-cro-v4 .oxl-cro-eyebrow { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.oxl-cro-v4 .oxl-cro-pill { display:inline-flex; align-items:center; gap:7px; min-height:31px; padding:6px 10px; border-radius:999px; background:#fff; border:1px solid var(--oxl-line); color:#39584d; font-size:.73rem; font-weight:850; box-shadow:0 5px 18px rgba(4,57,43,.04); }
.oxl-cro-v4 .oxl-cro-pill i { color:var(--oxl-green); }
.oxl-cro-v4 .oxl-cro-pill.is-rating i { color:var(--oxl-amber); }
.oxl-cro-v4 .oxl-cro-hero h1 { margin:0; max-width:820px; color:#10271f; font-size:clamp(2.25rem,4.35vw,3.8rem); line-height:1.015; letter-spacing:-.047em; text-wrap:balance; font-weight: 800;}
.oxl-cro-v4 .oxl-cro-hero h1 strong { color:var(--oxl-green); font-weight:900; }
.oxl-cro-v4 .oxl-cro-hero-description { max-width:760px; margin:19px 0 0; color:#52655d; font-size:clamp(.97rem,1.25vw,1.08rem); line-height:1.72; }
.oxl-cro-v4 .oxl-cro-hero-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.oxl-cro-v4 .oxl-cro-hero-tags span { padding:7px 10px; border-radius:999px; color:#2e5c4c; background:#edf8f3; border:1px solid rgba(7,95,73,.09); font-size:.73rem; font-weight:800; }
.oxl-cro-v4 .oxl-cro-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.oxl-cro-v4 .oxl-cro-hero-note { display:flex; flex-wrap:wrap; gap:12px 18px; margin-top:15px; color:#65766e; font-size:.75rem; font-weight:750; }
.oxl-cro-v4 .oxl-cro-hero-note span { display:inline-flex; align-items:center; gap:6px; }
.oxl-cro-v4 .oxl-cro-hero-note i { color:var(--oxl-green); }
.oxl-cro-v4 .oxl-cro-photo-card { position:relative; width:min(100%,455px); justify-self:end; margin:0; overflow:hidden; border-radius:26px; background:#dbe9e3; border:1px solid rgba(7,95,73,.12); box-shadow:var(--oxl-shadow-lg); }
.oxl-cro-v4 .oxl-cro-photo-wrap { position:relative; aspect-ratio:4/4.65; overflow:hidden; }
.oxl-cro-v4 .oxl-cro-photo-wrap img { width:100%; height:100%; display:block; object-fit:cover; }
.oxl-cro-v4 .oxl-cro-photo-wrap::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(180deg,transparent,rgba(2,37,28,.78)); }
.oxl-cro-v4 .oxl-cro-photo-overlay { position:absolute; z-index:2; left:18px; right:18px; bottom:18px; color:#fff; }
.oxl-cro-v4 .oxl-cro-photo-overlay strong { display:block; font-size:1.08rem; line-height:1.2; }
.oxl-cro-v4 .oxl-cro-photo-overlay span { display:block; margin-top:4px; color:rgba(255,255,255,.82); font-size:.77rem; }

.oxl-cro-v4 .oxl-cro-proof { position:relative; z-index:4; margin-top:-29px; }
.oxl-cro-v4 .oxl-cro-proof-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--oxl-line); border-radius:18px; background:#fff; box-shadow:0 14px 42px rgba(4,57,43,.09); overflow:hidden; }
.oxl-cro-v4 .oxl-cro-proof-item { min-width:0; display:flex; align-items:center; gap:10px; padding:16px; border-right:1px solid rgba(7,95,73,.08); }
.oxl-cro-v4 .oxl-cro-proof-item:last-child { border-right:0; }
.oxl-cro-v4 .oxl-cro-proof-icon { width:37px; height:37px; flex:0 0 37px; display:grid; place-items:center; border-radius:11px; color:var(--oxl-green); background:var(--oxl-green-soft); }
.oxl-cro-v4 .oxl-cro-proof-item strong { display:block; color:#74827c; font-size:.64rem; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }
.oxl-cro-v4 .oxl-cro-proof-item span { display:block; margin-top:2px; color:#1c3b30; font-size:.8rem; font-weight:850; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.oxl-cro-v4 .oxl-cro-contact-section { padding-top:48px; scroll-margin-top:90px; }
.oxl-cro-v4 .oxl-cro-contact-shell { display:grid; grid-template-columns:minmax(235px,.72fr) minmax(0,1.28fr); gap:clamp(25px,4vw,48px); align-items:start; padding:clamp(24px,3.5vw,38px); border:1px solid var(--oxl-line); border-radius:25px; background:#fff; box-shadow:var(--oxl-shadow); }
.oxl-cro-v4 .oxl-cro-contact-copy { padding:4px 0; }
.oxl-cro-v4 .oxl-cro-contact-copy h2 { margin:0; max-width:410px; font-size:clamp(1.8rem,3vw,2.65rem); line-height:1.06; letter-spacing:-.04em; }
.oxl-cro-v4 .oxl-cro-contact-copy > p { margin:14px 0 0; color:#586a62; line-height:1.68; font-size:.9rem; }
.oxl-cro-v4 .oxl-cro-contact-questions { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.oxl-cro-v4 .oxl-cro-contact-questions span { display:inline-flex; align-items:center; gap:6px; padding:7px 9px; border-radius:999px; color:#395c4f; background:#f5faf8; border:1px solid rgba(7,95,73,.09); font-size:.7rem; font-weight:800; }
.oxl-cro-v4 .oxl-cro-contact-avatar { display:flex; align-items:center; gap:11px; margin-top:21px; padding:11px; border-radius:15px; background:#f7faf8; border:1px solid rgba(7,95,73,.08); }
.oxl-cro-v4 .oxl-cro-contact-avatar img { width:49px; height:49px; object-fit:cover; border-radius:12px; }
.oxl-cro-v4 .oxl-cro-contact-avatar strong { display:block; font-size:.82rem; }
.oxl-cro-v4 .oxl-cro-contact-avatar span { display:block; margin-top:2px; color:#718079; font-size:.69rem; }
.oxl-cro-v4 .oxl-cro-form-card { min-width:0; padding:19px; border-radius:20px; background:#f8fbf9; border:1px solid rgba(7,95,73,.10); }
.oxl-cro-v4 .oxl-cro-form-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:14px; }
.oxl-cro-v4 .oxl-cro-form-head h3 { margin:0; font-size:1.05rem; }
.oxl-cro-v4 .oxl-cro-form-head p { margin:4px 0 0; color:#75837d; font-size:.72rem; }
.oxl-cro-v4 .oxl-contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.oxl-cro-v4 .oxl-field { margin-bottom:10px; }
.oxl-cro-v4 .oxl-field label { display:block; margin:0 0 5px; color:#314f44; font-size:.69rem; font-weight:850; }
.oxl-cro-v4 .oxl-field input,.oxl-cro-v4 .oxl-field textarea { width:100%; border:1px solid rgba(7,95,73,.13); border-radius:11px; background:#fff; color:#17352b; font:inherit; font-size:.82rem; transition:border-color .16s ease,box-shadow .16s ease; }
.oxl-cro-v4 .oxl-field input { min-height:43px; padding:10px 11px; }
.oxl-cro-v4 .oxl-field textarea { min-height:105px; resize:vertical; padding:11px; line-height:1.5; }
.oxl-cro-v4 .oxl-field input:focus,.oxl-cro-v4 .oxl-field textarea:focus { outline:none; border-color:rgba(7,95,73,.52); box-shadow:0 0 0 3px rgba(7,95,73,.08); }
.oxl-cro-v4 .oxl-cro-suggestions { margin:0 0 10px; }
.oxl-cro-v4 .oxl-cro-suggestions > span { display:block; margin-bottom:6px; color:#75827c; font-size:.66rem; font-weight:850; }
.oxl-cro-v4 .oxl-cro-suggestion-list { display:flex; flex-wrap:wrap; gap:6px; }
.oxl-cro-v4 .oxl-cro-suggestion { padding:6px 8px; border:1px solid rgba(7,95,73,.11); border-radius:999px; background:#fff; color:#35604f; font-size:.67rem; font-weight:800; cursor:pointer; }
.oxl-cro-v4 .oxl-cro-suggestion:hover { background:var(--oxl-green-soft); }
.oxl-cro-v4 .oxl-rgpd { display:flex; align-items:flex-start; gap:8px; margin:2px 0 11px; color:#66766f; font-size:.67rem; line-height:1.42; }
.oxl-cro-v4 .oxl-rgpd input { margin-top:2px; accent-color:var(--oxl-green); }
.oxl-cro-v4 .oxl-turnstile { margin:2px 0 11px; min-height:65px; max-width:100%; overflow-x:auto; }
.oxl-cro-v4 .oxl-cro-submit { width:100%; }
.oxl-cro-v4 .oxl-antibot-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

.oxl-cro-v4 .oxl-cro-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:24px; }
.oxl-cro-v4 .oxl-cro-section-head h2 { margin:0; max-width:790px; font-size:clamp(1.65rem,2.8vw,2.45rem); line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
.oxl-cro-v4 .oxl-cro-section-head p { max-width:730px; margin:9px 0 0; color:var(--oxl-muted); line-height:1.65; font-size:.9rem; }
.oxl-cro-v4 .oxl-cro-rating-box { flex:0 0 auto; display:grid; grid-template-columns:auto auto; align-items:center; gap:0 7px; padding:10px 13px; border-radius:14px; background:#fff; border:1px solid var(--oxl-line); box-shadow:0 7px 22px rgba(4,57,43,.05); }
.oxl-cro-v4 .oxl-cro-rating-box i { grid-row:1/3; color:var(--oxl-amber); }
.oxl-cro-v4 .oxl-cro-rating-box strong { font-size:.94rem; }
.oxl-cro-v4 .oxl-cro-rating-box span { color:#76847d; font-size:.66rem; }

.oxl-cro-v4 .oxl-cro-reviews-section { background:#f6faf8; border-top:1px solid rgba(7,95,73,.05); border-bottom:1px solid rgba(7,95,73,.05); }
.oxl-cro-v4 .oxl-cro-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.oxl-cro-v4 .oxl-cro-review { min-width:0; padding:17px; border-radius:17px; background:#fff; border:1px solid rgba(7,95,73,.09); box-shadow:0 8px 28px rgba(4,57,43,.05); }
.oxl-cro-v4 .oxl-cro-review-head { display:flex; align-items:center; gap:9px; }
.oxl-cro-v4 .oxl-cro-review-head img,.oxl-cro-v4 .oxl-cro-review-avatar { width:38px; height:38px; border-radius:50%; object-fit:cover; }
.oxl-cro-v4 .oxl-cro-review-avatar { display:grid; place-items:center; color:var(--oxl-green); background:var(--oxl-green-soft); font-size:.73rem; font-weight:900; }
.oxl-cro-v4 .oxl-cro-review-head strong { display:block; font-size:.78rem; }
.oxl-cro-v4 .oxl-cro-review-head span { display:block; margin-top:2px; color:#85918b; font-size:.64rem; }
.oxl-cro-v4 .oxl-cro-stars { display:flex; gap:2px; margin-top:10px; color:var(--oxl-amber); font-size:.7rem; }
.oxl-cro-v4 .oxl-cro-stars .is-muted { color:#dfe5e1; }
.oxl-cro-v4 .oxl-cro-review p { margin:10px 0 0; color:#52645c; line-height:1.58; font-size:.77rem; }
.oxl-cro-v4 .oxl-cro-review-action { margin-top:16px; }

.oxl-cro-v4 .oxl-cro-seo-section { background:#fff; }
.oxl-cro-v4 .oxl-cro-seo-shell { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr); gap:clamp(28px,5vw,58px); padding:clamp(25px,4vw,42px); border:1px solid var(--oxl-line); border-radius:25px; background:#fff; box-shadow:var(--oxl-shadow); }
.oxl-cro-v4 .oxl-cro-seo-copy h2 { margin:0; font-size:clamp(1.75rem,3vw,2.55rem); line-height:1.08; letter-spacing:-.038em; }
.oxl-cro-v4 .oxl-cro-seo-copy p { margin:14px 0 0; color:#53675e; line-height:1.78; font-size:.91rem; }
.oxl-cro-v4 .oxl-cro-seo-copy p + p { margin-top:11px; }
.oxl-cro-v4 .oxl-cro-seo-side { display:grid; gap:9px; align-content:start; }
.oxl-cro-v4 .oxl-cro-seo-fact { padding:13px 14px; border-radius:14px; background:#f6faf8; border:1px solid rgba(7,95,73,.08); }
.oxl-cro-v4 .oxl-cro-seo-fact strong { display:block; color:#6a7972; font-size:.65rem; text-transform:uppercase; letter-spacing:.055em; }
.oxl-cro-v4 .oxl-cro-seo-fact span { display:block; margin-top:4px; color:#1b3d31; font-size:.81rem; font-weight:800; line-height:1.45; }
.oxl-cro-v4 .oxl-cro-topic-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:16px; }
.oxl-cro-v4 .oxl-cro-topic-card { padding:16px; border-radius:16px; background:#f8fbf9; border:1px solid rgba(7,95,73,.08); }
.oxl-cro-v4 .oxl-cro-topic-card h3 { margin:0; font-size:.88rem; }
.oxl-cro-v4 .oxl-cro-topic-card p { margin:7px 0 0; color:#687870; font-size:.75rem; line-height:1.55; }
.oxl-cro-v4 .oxl-cro-tag-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.oxl-cro-v4 .oxl-cro-tag-list span { padding:6px 8px; border-radius:999px; color:#2d5c4b; background:#eaf7f2; font-size:.66rem; font-weight:800; }

.oxl-cro-v4 .oxl-cro-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.oxl-cro-v4 .oxl-cro-info-card { min-width:0; padding:17px; border-radius:17px; background:#fff; border:1px solid var(--oxl-line); box-shadow:0 8px 28px rgba(4,57,43,.045); }
.oxl-cro-v4 .oxl-cro-info-card > i { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:var(--oxl-green); background:var(--oxl-green-soft); }
.oxl-cro-v4 .oxl-cro-info-card h3 { margin:12px 0 0; font-size:.88rem; }
.oxl-cro-v4 .oxl-cro-info-card span,.oxl-cro-v4 .oxl-cro-info-card p { display:block; margin:5px 0 0; color:#687971; font-size:.74rem; line-height:1.55; }

.oxl-cro-v4 .oxl-cro-mid-cta { padding:0 0 18px; }
.oxl-cro-v4 .oxl-cro-mid-cta-card { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#064b3a,#087157); box-shadow:0 13px 38px rgba(4,57,43,.14); }
.oxl-cro-v4 .oxl-cro-mid-cta-card strong { display:block; font-size:.94rem; }
.oxl-cro-v4 .oxl-cro-mid-cta-card span { display:block; margin-top:3px; color:rgba(255,255,255,.74); font-size:.76rem; }
.oxl-cro-v4 .oxl-cro-mid-cta-card .oxl-cro-btn { flex:0 0 auto; color:#064533; background:#93edcc; box-shadow:none; }

.oxl-cro-v4 .oxl-reservation-popup-card { padding:clamp(22px,3vw,32px); border-radius:22px; border:1px solid var(--oxl-line); background:#f7faf8; box-shadow:var(--oxl-shadow); }
.oxl-cro-v4 .oxl-reservation-popup-head h2 { margin:0; font-size:clamp(1.5rem,2.5vw,2.05rem); }
.oxl-cro-v4 .oxl-reservation-popup-head p { margin:7px 0 0; color:var(--oxl-muted); font-size:.85rem; }
.oxl-cro-v4 .oxl-reservation-popup-preview { display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; margin-top:17px; padding:15px; border-radius:15px; background:#fff; border:1px solid rgba(7,95,73,.09); }
.oxl-cro-v4 .oxl-reservation-popup-preview-icon { width:43px; height:43px; display:grid; place-items:center; border-radius:12px; color:var(--oxl-green); background:var(--oxl-green-soft); }
.oxl-cro-v4 .oxl-reservation-popup-preview-text span { color:var(--oxl-green); font-size:.65rem; font-weight:900; text-transform:uppercase; }
.oxl-cro-v4 .oxl-reservation-popup-preview-text h3 { margin:2px 0 0; font-size:.9rem; }
.oxl-cro-v4 .oxl-reservation-popup-preview-text p { margin:3px 0 0; color:#738078; font-size:.72rem; }
.oxl-cro-v4 .oxl-reservation-popup-open { min-height:41px; padding:9px 12px; border:0; border-radius:11px; color:#fff; background:var(--oxl-green); font-weight:900; cursor:pointer; }
.oxl-cro-v4 .oxl-reservation-popup-modal { position:fixed; inset:0; z-index:1250; display:none; align-items:center; justify-content:center; padding:18px; }
.oxl-cro-v4 .oxl-reservation-popup-modal.is-open { display:flex; }
.oxl-cro-v4 .oxl-reservation-popup-backdrop { position:absolute; inset:0; background:rgba(2,25,19,.68); backdrop-filter:blur(7px); }
.oxl-cro-v4 .oxl-reservation-popup-dialog { position:relative; width:min(930px,95vw); max-height:91vh; overflow:hidden; border-radius:22px; background:#fff; box-shadow:0 30px 90px rgba(0,0,0,.28); }
.oxl-cro-v4 .oxl-reservation-popup-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 16px; border-bottom:1px solid var(--oxl-line); }
.oxl-cro-v4 .oxl-reservation-popup-header span { color:var(--oxl-green); font-size:.64rem; font-weight:900; text-transform:uppercase; }
.oxl-cro-v4 .oxl-reservation-popup-header h3 { margin:2px 0 0; font-size:.9rem; }
.oxl-cro-v4 .oxl-reservation-popup-close { width:36px; height:36px; border:0; border-radius:50%; background:#eef5f2; cursor:pointer; }
.oxl-cro-v4 .oxl-reservation-popup-body { max-height:calc(91vh - 65px); overflow:auto; }
html.oxl-reservation-popup-lock,body.oxl-reservation-popup-lock { overflow:hidden!important; }

.oxl-cro-v4 .oxl-cro-location-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:22px; align-items:stretch; }
.oxl-cro-v4 .oxl-cro-location-copy { padding:23px; border-radius:20px; background:#f6faf8; border:1px solid var(--oxl-line); }
.oxl-cro-v4 .oxl-cro-location-copy h2 { margin:0; font-size:clamp(1.55rem,2.7vw,2.15rem); line-height:1.1; letter-spacing:-.03em; }
.oxl-cro-v4 .oxl-cro-location-copy p { margin:11px 0 0; color:#607169; font-size:.84rem; line-height:1.65; }
.oxl-cro-v4 .oxl-cro-utility-links { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }
.oxl-cro-v4 .oxl-cro-utility-links a { display:inline-flex; align-items:center; gap:7px; padding:8px 10px; border-radius:10px; color:#31594a; background:#fff; border:1px solid var(--oxl-line); text-decoration:none; font-size:.7rem; font-weight:850; }
.oxl-cro-v4 .oxl-map-wrap { min-height:310px; overflow:hidden; border-radius:20px; border:1px solid var(--oxl-line); background:#eef4f1; box-shadow:var(--oxl-shadow); }
.oxl-cro-v4 .oxl-map-wrap iframe { width:100%; height:100%; min-height:310px; border:0; display:block; }
.oxl-cro-v4 .oxl-coach-faq-shell,.oxl-cro-v4 .oxl-coach-local-links-shell { padding:clamp(23px,3.5vw,36px); border-radius:22px; background:#fff; border:1px solid var(--oxl-line); box-shadow:var(--oxl-shadow); }
.oxl-cro-v4 .oxl-coach-faq-list { display:grid; gap:8px; margin-top:18px; }
.oxl-cro-v4 .oxl-coach-faq-item { overflow:hidden; border-radius:12px; background:#fbfdfc; border:1px solid rgba(7,95,73,.09); }
.oxl-cro-v4 .oxl-coach-faq-item summary { position:relative; padding:13px 40px 13px 14px; list-style:none; cursor:pointer; color:#1b3b30; font-size:.8rem; font-weight:850; }
.oxl-cro-v4 .oxl-coach-faq-item summary::-webkit-details-marker { display:none; }
.oxl-cro-v4 .oxl-coach-faq-item summary::after { content:"+"; position:absolute; right:14px; top:50%; transform:translateY(-50%); color:var(--oxl-green); font-size:1.15rem; }
.oxl-cro-v4 .oxl-coach-faq-item[open] summary::after { content:"−"; }
.oxl-cro-v4 .oxl-coach-faq-answer { padding:0 14px 14px; color:#64756d; font-size:.78rem; line-height:1.65; }
.oxl-cro-v4 .oxl-coach-local-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:17px; }
.oxl-cro-v4 .oxl-coach-local-links a { display:inline-flex; align-items:center; gap:7px; min-height:39px; padding:9px 11px; border-radius:10px; color:#2c5949; background:#f5faf8; border:1px solid rgba(7,95,73,.09); text-decoration:none; font-size:.72rem; font-weight:850; }
.oxl-cro-v4 .oxl-coach-claim-banner { display:flex; justify-content:space-between; align-items:center; gap:18px; margin:0 0 34px; padding:16px 18px; border-radius:17px; background:#fff9eb; border:1px solid #ead8aa; }
.oxl-cro-v4 .oxl-coach-claim-banner-content > span { color:#976500; font-size:.64rem; font-weight:900; text-transform:uppercase; }
.oxl-cro-v4 .oxl-coach-claim-banner-content strong { display:block; margin-top:2px; font-size:.85rem; }
.oxl-cro-v4 .oxl-coach-claim-banner-content p { margin:3px 0 0; color:#776a4d; font-size:.72rem; }

.oxl-cro-v4 .oxl-cro-floating-contact { position:fixed; z-index:900; right:20px; bottom:20px; display:flex; align-items:center; gap:9px; width:min(345px,calc(100vw - 40px)); padding:8px; border-radius:16px; background:#fff; border:1px solid var(--oxl-line); box-shadow:0 18px 55px rgba(4,57,43,.18); opacity:0; transform:translateY(15px); pointer-events:none; transition:.2s ease; }
.oxl-cro-v4 .oxl-cro-floating-contact.is-visible { opacity:1; transform:none; pointer-events:auto; }
.oxl-cro-v4 .oxl-cro-floating-contact img { width:42px; height:42px; object-fit:cover; border-radius:11px; }
.oxl-cro-v4 .oxl-cro-floating-copy { min-width:0; flex:1; }
.oxl-cro-v4 .oxl-cro-floating-copy strong { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:.76rem; }
.oxl-cro-v4 .oxl-cro-floating-copy span { display:block; margin-top:2px; color:#75837d; font-size:.64rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.oxl-cro-v4 .oxl-cro-floating-contact .oxl-cro-btn { min-height:39px; padding:8px 11px; font-size:.72rem; box-shadow:none; white-space:nowrap; }

.oxl-cro-v4 .oxl-cro-contact-modal { position:fixed; inset:0; z-index:1400; display:none; align-items:center; justify-content:center; padding:18px; }
.oxl-cro-v4 .oxl-cro-contact-modal.is-open { display:flex; }
.oxl-cro-v4 .oxl-cro-contact-modal-backdrop { position:absolute; inset:0; background:rgba(2,26,19,.64); backdrop-filter:blur(9px); }
.oxl-cro-v4 .oxl-cro-contact-modal-dialog { position:relative; z-index:1; width:min(840px,calc(100vw - 36px)); max-height:calc(100dvh - 36px); display:grid; grid-template-columns:minmax(210px,.72fr) minmax(0,1.58fr); overflow:hidden; border-radius:25px; background:#fff; border:1px solid rgba(255,255,255,.28); box-shadow:0 34px 110px rgba(0,0,0,.34); }
.oxl-cro-v4 .oxl-cro-contact-modal-profile { position:relative; min-width:0; display:flex; flex-direction:column; justify-content:space-between; gap:20px; padding:25px 22px; overflow:hidden; color:#fff; background:linear-gradient(145deg,#064c3a 0%,#087258 100%); }
.oxl-cro-v4 .oxl-cro-contact-modal-profile::before { content:""; position:absolute; width:250px; height:250px; right:-120px; top:-110px; border-radius:50%; background:rgba(255,255,255,.10); }
.oxl-cro-v4 .oxl-cro-contact-modal-profile::after { content:""; position:absolute; width:190px; height:190px; left:-110px; bottom:-100px; border-radius:50%; background:rgba(157,244,210,.11); }
.oxl-cro-v4 .oxl-cro-contact-modal-profile-top,.oxl-cro-v4 .oxl-cro-contact-modal-profile-bottom { position:relative; z-index:1; }
.oxl-cro-v4 .oxl-cro-contact-modal-profile img { width:86px; height:86px; display:block; object-fit:cover; border-radius:21px; border:2px solid rgba(255,255,255,.34); box-shadow:0 14px 34px rgba(0,0,0,.18); }
.oxl-cro-v4 .oxl-cro-contact-modal-profile h3 { margin:15px 0 0; color:#fff; font-size:1.23rem; line-height:1.12; letter-spacing:-.025em; }
.oxl-cro-v4 .oxl-cro-contact-modal-profile p { margin:5px 0 0; color:rgba(255,255,255,.74); font-size:.73rem; line-height:1.42; }
.oxl-cro-v4 .oxl-cro-contact-modal-profile-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:15px; }
.oxl-cro-v4 .oxl-cro-contact-modal-profile-tags span { display:inline-flex; align-items:center; gap:5px; min-height:28px; padding:5px 8px; border-radius:999px; color:#fff; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16); font-size:.62rem; font-weight:850; }
.oxl-cro-v4 .oxl-cro-contact-modal-profile-tags i { color:#a8efd5; }
.oxl-cro-v4 .oxl-cro-contact-modal-profile-bottom { display:grid; gap:8px; }
.oxl-cro-v4 .oxl-cro-contact-modal-profile-point { display:flex; align-items:center; gap:9px; color:rgba(255,255,255,.88); font-size:.68rem; font-weight:800; }
.oxl-cro-v4 .oxl-cro-contact-modal-profile-point i { width:27px; height:27px; display:grid; place-items:center; flex:0 0 27px; border-radius:9px; color:#b9f3dc; background:rgba(255,255,255,.10); }
.oxl-cro-v4 .oxl-cro-contact-modal-content { min-width:0; padding:21px 23px 22px; background:#fff; }
.oxl-cro-v4 .oxl-cro-contact-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin:0 42px 16px 0; }
.oxl-cro-v4 .oxl-cro-contact-modal-head h2 { margin:0; color:#15372c; font-size:1.42rem; line-height:1.08; letter-spacing:-.035em; }
.oxl-cro-v4 .oxl-cro-contact-modal-head p { margin:6px 0 0; color:#708078; font-size:.74rem; line-height:1.4; }
.oxl-cro-v4 .oxl-cro-contact-modal-close { position:absolute; z-index:8; top:14px; right:14px; width:35px; height:35px; display:grid; place-items:center; border:0; border-radius:50%; color:#416256; background:#edf5f1; cursor:pointer; transition:background .16s ease,transform .16s ease; }
.oxl-cro-v4 .oxl-cro-contact-modal-close:hover { background:#e2f0ea; transform:scale(1.04); }
.oxl-cro-v4 .oxl-cro-contact-modal-main,.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-cro-form-card { min-width:0; padding:0; border:0; border-radius:0; background:#fff; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-cro-form-head,.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-cro-suggestions { display:none; }
.oxl-cro-v4 .oxl-cro-contact-modal-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field { position:relative; margin:0 0 9px; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field label.oxl-popup-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field input,.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field textarea { width:100%; border:1px solid rgba(7,95,73,.14); border-radius:12px; background:#f9fcfa; color:#17352b; font:inherit; font-size:.82rem; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field input { min-height:44px; padding:10px 12px; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field textarea { min-height:82px; max-height:82px; resize:none; padding:11px 12px; line-height:1.45; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field input:focus,.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field textarea:focus { outline:none; border-color:rgba(7,95,73,.52); background:#fff; box-shadow:0 0 0 3px rgba(7,95,73,.08); }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-rgpd { display:flex; align-items:flex-start; gap:8px; margin:1px 0 10px; color:#65756e; font-size:.64rem; line-height:1.38; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-rgpd input { margin-top:2px; flex:0 0 auto; accent-color:var(--oxl-green); }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-turnstile { min-height:0; margin:0 0 8px; overflow:visible; }
.oxl-cro-v4 .oxl-cro-contact-modal-main [data-oxl-popup-turnstile] { width:100%; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-cro-submit { width:100%; min-height:48px; border-radius:12px; font-size:.84rem; }
body.oxl-contact-modal-lock { overflow:hidden!important; }

.oxl-cro-v4 .oxl-claim-modal { position:fixed; inset:0; z-index:1500; display:none; align-items:center; justify-content:center; padding:16px; }
.oxl-cro-v4 .oxl-claim-modal.is-open { display:flex; }
.oxl-cro-v4 .oxl-claim-modal-backdrop { position:absolute; inset:0; background:rgba(3,30,23,.66); backdrop-filter:blur(7px); }
.oxl-cro-v4 .oxl-claim-modal-panel { position:relative; width:min(680px,95vw); max-height:88dvh; overflow:auto; border-radius:22px; background:#fff; box-shadow:0 28px 90px rgba(0,0,0,.28); }
.oxl-cro-v4 .oxl-claim-modal-close { position:absolute; z-index:3; top:12px; right:12px; width:35px; height:35px; border:0; border-radius:50%; background:#fff; cursor:pointer; }
.oxl-cro-v4 .oxl-claim-hero { padding:24px 54px 22px 24px; color:#fff; background:linear-gradient(135deg,#044837,#087056); }
.oxl-cro-v4 .oxl-claim-kicker { color:#a7efd5; font-size:.66rem; font-weight:900; text-transform:uppercase; }
.oxl-cro-v4 .oxl-claim-hero h2 { margin:5px 0 0; font-size:1.5rem; }
.oxl-cro-v4 .oxl-claim-intro { margin:8px 0 0; color:rgba(255,255,255,.82); font-size:.82rem; line-height:1.55; }
.oxl-cro-v4 .oxl-claim-content { padding:19px 22px 22px; }
.oxl-cro-v4 .oxl-claim-content h3 { margin:0 0 7px; font-size:.95rem; }
.oxl-cro-v4 .oxl-claim-content p,.oxl-cro-v4 .oxl-claim-content li { color:#62736b; font-size:.77rem; line-height:1.58; }
.oxl-cro-v4 .oxl-claim-offer { display:flex; gap:12px; align-items:flex-start; margin:0 0 16px; padding:14px; border-radius:15px; background:#effaf5; border:1px solid rgba(7,95,73,.14); }
.oxl-cro-v4 .oxl-claim-offer-icon { width:40px; height:40px; flex:0 0 40px; display:grid; place-items:center; border-radius:12px; color:#fff; background:var(--oxl-green); }
.oxl-cro-v4 .oxl-claim-offer strong { display:block; color:#164a39; font-size:.88rem; }
.oxl-cro-v4 .oxl-claim-offer span { display:block; margin-top:3px; color:#60766d; font-size:.7rem; line-height:1.45; }
.oxl-cro-v4 .oxl-claim-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:13px 0 4px; }
.oxl-cro-v4 .oxl-claim-benefit { padding:10px; border-radius:12px; background:#f8fbf9; border:1px solid rgba(7,95,73,.08); }
.oxl-cro-v4 .oxl-claim-benefit i { color:var(--oxl-green); }
.oxl-cro-v4 .oxl-claim-benefit strong { display:block; margin-top:6px; color:#27483c; font-size:.7rem; line-height:1.35; }
.oxl-cro-v4 .oxl-claim-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:12px; padding:12px 14px; border-radius:11px; color:#fff; background:var(--oxl-green); font-weight:900; text-decoration:none; }
.oxl-cro-v4 .oxl-claim-help { margin:12px 0 0!important; text-align:center; }

.oxl-cro-v4 .oxl-mobile-contact-bar { display:none; }

.oxl-cro-v4 .oxl-cro-hero-contact-promise {
    display:grid; grid-template-columns:auto 1fr; gap:11px; align-items:start;
    max-width:690px; margin-top:18px; padding:13px 14px; border-radius:15px;
    background:rgba(255,255,255,.78); border:1px solid rgba(7,95,73,.11);
    box-shadow:0 10px 32px rgba(4,57,43,.055); backdrop-filter:blur(7px);
}
.oxl-cro-v4 .oxl-cro-hero-contact-promise i { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--oxl-green); background:var(--oxl-green-soft); }
.oxl-cro-v4 .oxl-cro-hero-contact-promise strong { display:block; color:#173b2f; font-size:.82rem; line-height:1.35; }
.oxl-cro-v4 .oxl-cro-hero-contact-promise span { display:block; margin-top:3px; color:#6b7b74; font-size:.70rem; line-height:1.45; }

.oxl-cro-v4 .oxl-cro-match-section { padding:34px 0 10px; }
.oxl-cro-v4 .oxl-cro-match-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,.55fr); gap:26px; align-items:center; padding:22px 24px; border:1px solid rgba(7,95,73,.11); border-radius:21px; background:linear-gradient(135deg,#f7fbf9 0%,#fff 70%); box-shadow:0 13px 42px rgba(4,57,43,.065); }
.oxl-cro-v4 .oxl-cro-match-copy h2 { margin:0; color:#15382d; font-size:clamp(1.35rem,2.15vw,1.9rem); line-height:1.12; letter-spacing:-.032em; }
.oxl-cro-v4 .oxl-cro-match-copy p { margin:9px 0 0; max-width:810px; color:#5e7068; font-size:.82rem; line-height:1.65; }
.oxl-cro-v4 .oxl-cro-match-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:15px 0 0; }
.oxl-cro-v4 .oxl-cro-match-fact { min-width:0; padding:10px 11px; border-radius:12px; background:#fff; border:1px solid rgba(7,95,73,.085); }
.oxl-cro-v4 .oxl-cro-match-fact dt { color:#77857f; font-size:.60rem; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }
.oxl-cro-v4 .oxl-cro-match-fact dd { margin:3px 0 0; color:#244a3d; font-size:.73rem; font-weight:850; line-height:1.35; }
.oxl-cro-v4 .oxl-cro-match-action { padding:16px; border-radius:16px; background:#075f49; color:#fff; }
.oxl-cro-v4 .oxl-cro-match-action strong { display:block; font-size:.92rem; line-height:1.35; }
.oxl-cro-v4 .oxl-cro-match-action p { margin:5px 0 13px; color:rgba(255,255,255,.75); font-size:.70rem; line-height:1.45; }
.oxl-cro-v4 .oxl-cro-match-action .oxl-cro-btn { width:100%; min-height:46px; color:#064533; background: #ffffff; box-shadow:none; }

.oxl-cro-v4 .oxl-cro-contact-benefits { display:flex; flex-direction:column; gap:15px; margin:15px 0 0; }
.oxl-cro-v4 .oxl-cro-contact-benefit { padding:9px; border-radius:11px; background:#f7fbf9; border:1px solid rgba(7,95,73,.08); color:#436257; font-size:.66rem; font-weight:800; line-height:1.35; }
.oxl-cro-v4 .oxl-cro-contact-benefit i { color:var(--oxl-green); margin-right:5px; }
.oxl-cro-v4 .oxl-cro-form-reassurance { display:flex; flex-wrap:wrap; gap:7px 12px; margin:0 0 11px; color:#687870; font-size:.64rem; font-weight:750; }
.oxl-cro-v4 .oxl-cro-form-reassurance span { display:inline-flex; align-items:center; gap:5px; }
.oxl-cro-v4 .oxl-cro-form-reassurance i { color:var(--oxl-green); }

.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-cro-popup-suggestions { margin:0 0 9px; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-cro-popup-suggestions > span { display:block; margin-bottom:6px; color:#6d7d75; font-size:.62rem; font-weight:850; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-cro-popup-suggestions-list { display:flex; flex-wrap:wrap; gap:5px; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-cro-popup-suggestion { min-height:29px; padding:5px 8px; border-radius:999px; border:1px solid rgba(7,95,73,.12); background:#f7fbf9; color:#2f5a4b; font-size:.62rem; font-weight:850; cursor:pointer; }
.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-cro-popup-suggestion:hover { background:#eaf7f2; }

.oxl-cro-v4 .oxl-contact-nudge { position:fixed; z-index:915; left:10px; right:10px; bottom:66px; display:none; align-items:center; gap:9px; padding:9px 10px; border-radius:15px; background:#fff; border:1px solid rgba(7,95,73,.14); box-shadow:0 18px 48px rgba(4,57,43,.20); opacity:0; transform:translateY(14px); pointer-events:none; transition:.22s ease; }
.oxl-cro-v4 .oxl-contact-nudge.is-visible { opacity:1; transform:none; pointer-events:auto; }
.oxl-cro-v4 .oxl-contact-nudge img { width:40px; height:40px; flex:0 0 40px; object-fit:cover; border-radius:10px; }
.oxl-cro-v4 .oxl-contact-nudge-copy { min-width:0; flex:1; }
.oxl-cro-v4 .oxl-contact-nudge-copy strong { display:block; color:#18392e; font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.oxl-cro-v4 .oxl-contact-nudge-copy span { display:block; margin-top:2px; color:#74817c; font-size:.60rem; }
.oxl-cro-v4 .oxl-contact-nudge-open { min-height:36px; padding:7px 9px; border:0; border-radius:10px; color:#fff; background:var(--oxl-green); font-size:.65rem; font-weight:900; cursor:pointer; }
.oxl-cro-v4 .oxl-contact-nudge-close { width:29px; height:29px; flex:0 0 29px; display:grid; place-items:center; border:0; border-radius:50%; color:#5a6d65; background:#eef5f2; cursor:pointer; }

@media (max-width:1100px) {
    .oxl-cro-v4 .oxl-cro-hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(290px,.9fr); gap:34px; }
    .oxl-cro-v4 .oxl-cro-review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .oxl-cro-v4 .oxl-cro-contact-shell { grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr); gap:25px; }
}
@media (max-width:900px) {
    .oxl-cro-v4 .oxl-section { padding:48px 0; }
    .oxl-cro-v4 .oxl-cro-hero-grid { grid-template-columns:1fr; }
    .oxl-cro-v4 .oxl-cro-photo-card { justify-self:start; width:min(100%,520px); }
    .oxl-cro-v4 .oxl-cro-photo-wrap { aspect-ratio:16/10; }
    .oxl-cro-v4 .oxl-cro-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .oxl-cro-v4 .oxl-cro-proof-item:nth-child(2) { border-right:0; }
    .oxl-cro-v4 .oxl-cro-proof-item:nth-child(-n+2) { border-bottom:1px solid rgba(7,95,73,.08); }
    .oxl-cro-v4 .oxl-cro-contact-shell,.oxl-cro-v4 .oxl-cro-seo-shell,.oxl-cro-v4 .oxl-cro-location-layout { grid-template-columns:1fr; }
    .oxl-cro-v4 .oxl-cro-topic-groups,.oxl-cro-v4 .oxl-cro-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .oxl-cro-v4 .oxl-cro-match-shell { grid-template-columns:1fr; }
    .oxl-cro-v4 .oxl-cro-match-action { display:grid; grid-template-columns:1fr auto; gap:8px 15px; align-items:center; }
    .oxl-cro-v4 .oxl-cro-match-action strong,.oxl-cro-v4 .oxl-cro-match-action p { grid-column:1; }
    .oxl-cro-v4 .oxl-cro-match-action .oxl-cro-btn { grid-column:2; grid-row:1/3; width:auto; }
}
@media (max-width:767px) {
    .oxl-cro-v4 { padding-bottom:72px; overflow:hidden; }
    .oxl-cro-v4 .oxl-section { padding:36px 0; }
    .oxl-cro-v4 .oxl-breadcrumb { padding:11px 0 19px; }
    .oxl-cro-v4 .oxl-breadcrumb ol { flex-wrap:nowrap; overflow:hidden; white-space:nowrap; }
    .oxl-cro-v4 .oxl-cro-hero { padding-top:5.4em; padding-bottom:51px; }
    .oxl-cro-v4 .oxl-cro-hero-grid { gap:24px; }
    .oxl-cro-v4 .oxl-cro-hero h1 { font-size:clamp(2rem,9.6vw,3rem); line-height:1.035; }
    .oxl-cro-v4 .oxl-cro-hero-description { margin-top:14px; font-size:.9rem; line-height:1.62; }
    .oxl-cro-v4 .oxl-cro-actions { display:grid; grid-template-columns:1fr; margin-top:20px; }
    .oxl-cro-v4 .oxl-cro-btn { width:100%; }
    .oxl-cro-v4 .oxl-cro-photo-card { width:100%; border-radius:20px; }
    .oxl-cro-v4 .oxl-cro-photo-wrap { aspect-ratio:1.16/1; }
    .oxl-cro-v4 .oxl-cro-proof { margin-top:-24px; }
    .oxl-cro-v4 .oxl-cro-proof-grid { border-radius:15px; }
    .oxl-cro-v4 .oxl-cro-proof-item { gap:7px; padding:11px 9px; }
    .oxl-cro-v4 .oxl-cro-proof-icon { width:31px; height:31px; flex-basis:31px; border-radius:9px; }
    .oxl-cro-v4 .oxl-cro-contact-section { padding-top:31px; }
    .oxl-cro-v4 .oxl-cro-contact-shell { padding:18px; border-radius:19px; }
    .oxl-cro-v4 .oxl-cro-contact-copy h2 { font-size:1.75rem; }
    .oxl-cro-v4 .oxl-cro-form-card { padding:14px; border-radius:16px; }
    .oxl-cro-v4 .oxl-contact-form-grid { grid-template-columns:1fr; gap:0; }
    .oxl-cro-v4 .oxl-field input { min-height:44px; font-size:16px; }
    .oxl-cro-v4 .oxl-field textarea { min-height:95px; font-size:16px; }
    .oxl-cro-v4 .oxl-cro-section-head { align-items:flex-start; flex-direction:column; margin-bottom:18px; }
    .oxl-cro-v4 .oxl-cro-review-grid,.oxl-cro-v4 .oxl-cro-topic-groups,.oxl-cro-v4 .oxl-cro-card-grid { grid-template-columns:1fr; }
    .oxl-cro-v4 .oxl-cro-seo-shell { padding:19px; border-radius:19px; }
    .oxl-cro-v4 .oxl-cro-mid-cta-card { align-items:flex-start; flex-direction:column; }
    .oxl-cro-v4 .oxl-cro-mid-cta-card .oxl-cro-btn { width:100%; }
    .oxl-cro-v4 .oxl-reservation-popup-preview { grid-template-columns:auto 1fr; }
    .oxl-cro-v4 .oxl-reservation-popup-preview > button { grid-column:1/-1; width:100%; }
    .oxl-cro-v4 .oxl-map-wrap,.oxl-cro-v4 .oxl-map-wrap iframe { min-height:260px; }
    .oxl-cro-v4 .oxl-coach-faq-shell,.oxl-cro-v4 .oxl-coach-local-links-shell { padding:18px; border-radius:18px; }
    .oxl-cro-v4 .oxl-coach-claim-banner { align-items:flex-start; flex-direction:column; }
    .oxl-cro-v4 .oxl-claim-benefits { grid-template-columns:1fr; }
    .oxl-cro-v4 .oxl-cro-floating-contact { display:none; }

    .oxl-cro-v4 .oxl-mobile-contact-bar { position:fixed; z-index:920; left:0; right:0; bottom:0; display:grid; grid-template-columns:1fr 46px; gap:8px; padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); background:rgba(255,255,255,.97); border-top:1px solid var(--oxl-line); box-shadow:0 -10px 30px rgba(4,57,43,.12); backdrop-filter:blur(13px); }
    .oxl-cro-v4 .oxl-mobile-contact-bar a { min-height:45px; display:flex; align-items:center; justify-content:center; gap:7px; border-radius:11px; text-decoration:none; font-size:.8rem; font-weight:900; }
    .oxl-cro-v4 .oxl-mobile-contact-bar .is-contact { color:#fff; background:var(--oxl-green); }
    .oxl-cro-v4 .oxl-mobile-contact-bar .is-top { color:var(--oxl-green); background:var(--oxl-green-soft); }

    .oxl-cro-v4 .oxl-cro-contact-modal { align-items:flex-end; padding:0; }
    .oxl-cro-v4 .oxl-cro-contact-modal-dialog { width:100%; max-height:calc(100dvh - 8px); grid-template-columns:1fr; border-radius:22px 22px 0 0; }
    .oxl-cro-v4 .oxl-cro-contact-modal-profile { min-height:0; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:11px; padding:13px 48px 12px 13px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-profile::after,.oxl-cro-v4 .oxl-cro-contact-modal-profile-bottom,.oxl-cro-v4 .oxl-cro-contact-modal-profile-tags { display:none; }
    .oxl-cro-v4 .oxl-cro-contact-modal-profile img { width:49px; height:49px; border-radius:13px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-profile h3 { margin:0; font-size:.96rem; }
    .oxl-cro-v4 .oxl-cro-contact-modal-profile p { margin-top:3px; font-size:.65rem; }
    .oxl-cro-v4 .oxl-cro-contact-modal-content { padding:13px 13px calc(13px + env(safe-area-inset-bottom)); }
    .oxl-cro-v4 .oxl-cro-contact-modal-head { margin:0 36px 10px 0; }
    .oxl-cro-v4 .oxl-cro-contact-modal-head h2 { font-size:1.08rem; }
    .oxl-cro-v4 .oxl-cro-contact-modal-head p { margin-top:4px; font-size:.66rem; }
    .oxl-cro-v4 .oxl-cro-contact-modal-close { top:11px; right:10px; width:33px; height:33px; color:#fff; background:rgba(255,255,255,.14); }
    .oxl-cro-v4 .oxl-cro-contact-modal-grid { gap:7px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field { margin-bottom:7px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field input,.oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field textarea { font-size:16px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field input { min-height:43px; padding:9px 10px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field textarea { min-height:72px; max-height:72px; padding:10px; }
    .oxl-cro-v4 .oxl-cro-contact-benefits { grid-template-columns:1fr; gap:5px; }
    .oxl-cro-v4 .oxl-contact-nudge { display:flex; }
    .oxl-cro-v4 .oxl-cro-match-section { padding:26px 0 4px; }
    .oxl-cro-v4 .oxl-cro-match-shell { padding:17px; border-radius:17px; gap:16px; }
    .oxl-cro-v4 .oxl-cro-match-facts { grid-template-columns:1fr 1fr; gap:6px; }
    .oxl-cro-v4 .oxl-cro-match-action { display:block; padding:14px; }
    .oxl-cro-v4 .oxl-cro-match-action .oxl-cro-btn { width:100%; }
}
@media (max-width:420px) {
    .oxl-cro-v4 .oxl-cro-proof-grid { grid-template-columns:1fr; }
    .oxl-cro-v4 .oxl-cro-proof-item { border-right:0; border-bottom:1px solid rgba(7,95,73,.08); }
    .oxl-cro-v4 .oxl-cro-proof-item:last-child { border-bottom:0; }
    .oxl-cro-v4 .oxl-cro-match-facts { grid-template-columns:1fr; }
    .oxl-cro-v4 .oxl-contact-nudge-copy span { display:none; }
}
@media (max-height:620px) and (max-width:767px) {
    .oxl-cro-v4 .oxl-cro-contact-modal-dialog { max-height:100dvh; overflow-y:auto; border-radius:16px 16px 0 0; }
    .oxl-cro-v4 .oxl-cro-contact-modal-profile { padding-top:9px; padding-bottom:9px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-profile img { width:42px; height:42px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-content { padding-top:9px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-head { margin-bottom:7px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field input { min-height:40px; }
    .oxl-cro-v4 .oxl-cro-contact-modal-main .oxl-field textarea { min-height:58px; max-height:58px; }
}
@media (prefers-reduced-motion:reduce) {
    .oxl-cro-v4 .oxl-cro-btn,.oxl-cro-v4 .oxl-cro-floating-contact { transition:none; }
}
