/* Costa Rica boys trip: WordPress/Elementor layout migrated into the static site. */
.boys-trip-page{background:#fff;color:#18213a}.section-shell{width:min(1180px,calc(100% - 40px));margin:auto}.boys-hero{position:relative;overflow:hidden;background:#07132f}.boys-hero>img{width:100%;height:clamp(220px,31vw,430px);display:block;object-fit:cover}.hero-copy{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#fff;text-shadow:0 3px 16px #0008}.hero-copy p{font-size:.8rem;letter-spacing:.25em;font-weight:700}.hero-copy h1{margin-top:.45rem;color:#fff;font-size:clamp(2rem,6vw,5.6rem);line-height:.92;letter-spacing:.04em}.boys-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:5rem;padding-block:4.5rem}.eyebrow{color:#062d94;font-size:.76rem;font-weight:800;letter-spacing:.16em;margin-bottom:.75rem}.eyebrow.light{color:#ffd45b}.boys-trip-page h2{font-family:Georgia,serif;color:#062d94;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.08;margin-bottom:1rem}.boys-trip-page h3{font-family:Georgia,serif}.boys-trip-page p{font-size:.96rem;line-height:1.75}.trip-form{border:1px solid #cbd2da;padding:1.45rem;background:#fff;box-shadow:0 12px 32px #0b286514}.trip-form h3{color:#062d94;font-size:1.35rem}.trip-form>p{font-size:.8rem;margin:.25rem 0 1rem}.trip-form label{display:block;color:#334155;font-size:.68rem;margin:.6rem 0}.trip-form input:not([type=checkbox]){display:block;width:100%;height:2rem;margin-top:.25rem;border:1px solid #c5cbd2;padding:.35rem;font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.consent{display:flex!important;align-items:flex-start;gap:.35rem;line-height:1.25}.form-submit,.boys-trip-page .btn{background:#06318e;color:#fff;border:0;padding:.65rem 1.2rem;font-weight:800;font-size:.68rem;letter-spacing:.08em;cursor:pointer}.form-submit{width:100%;margin-top:.25rem}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding-bottom:5rem}.split-section img{width:100%;max-height:360px;object-fit:cover}.dark-section{background:#030303;color:#fff;padding:4.5rem 0}.dark-section h2,.dark-blue-section h2{color:#fff;text-align:center}.dark-section>.section-shell> .eyebrow,.dark-blue-section>.section-shell>.eyebrow{text-align:center}.feature-grid,.venue-grid,.adventure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}.feature-grid article{display:flex;flex-direction:column}.feature-grid img{width:100%;aspect-ratio:1.4;object-fit:cover}.feature-grid h3,.venue-grid h3,.adventure-grid h3{color:#fff;font-size:1.15rem;margin:.65rem 0 .25rem}.feature-grid p,.venue-grid p{font-size:.74rem;line-height:1.45;color:#e7eaf3}.feature-grid a{align-self:flex-start;margin-top:auto;background:#073aa5;color:#fff;font-size:.6rem;font-weight:800;padding:.45rem .7rem}.villa-section{background:#e6e6e6;padding:4.5rem 0;text-align:center}.section-lead{max-width:720px;margin:0 auto;text-align:center}.villa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1000px;margin:2rem auto 0}.villa-grid a{background:#fff;padding:.25rem;box-shadow:0 3px 12px #0002}.villa-grid img{width:100%;aspect-ratio:1.4;object-fit:cover}.villa-grid strong{display:block;color:#062d94;font:700 .75rem Georgia;padding:.7rem}.video-section{padding:4.5rem 0;text-align:center}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1.8rem}.video-placeholder{aspect-ratio:16/9;background:#000;display:grid;place-items:center}.video-placeholder span{width:3.3rem;height:3.3rem;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;padding-left:.2rem}.why-section{padding:5.5rem 0;background:linear-gradient(#070f1ebb,#070f1ebb),url('/images/prefooter-bg.webp') center/cover;color:#fff;text-align:center}.why-section h2{color:#fff}.why-section p{max-width:620px;margin:.35rem auto}.why-section .btn{display:inline-block;margin-top:1.3rem}.gallery-section{text-align:center;padding:4.5rem 0}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:2rem auto;max-width:1050px}.gallery-grid img{width:100%;aspect-ratio:1.25;object-fit:cover}.dark-blue-section{background:#06318e;color:#fff;padding:4.5rem 0}.venue-grid{grid-template-columns:repeat(3,1fr)}.venue-grid article{background:#05286f;padding-bottom:1rem}.venue-grid img{width:100%;aspect-ratio:2.25;object-fit:cover}.venue-grid h3,.venue-grid p{padding-inline:1rem}.adventure-section{padding:5rem 0;text-align:center}.adventure-grid{grid-template-columns:repeat(3,1fr);text-align:left}.adventure-grid img{width:100%;aspect-ratio:1.6;object-fit:cover}.adventure-grid h3{color:#062d94}.adventure-grid p{font-size:.8rem;line-height:1.5}
@media(max-width:800px){.boys-intro,.split-section{grid-template-columns:1fr;gap:2rem;padding-block:3rem}.feature-grid{grid-template-columns:repeat(2,1fr)}.villa-grid,.video-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.venue-grid,.adventure-grid{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(2rem,10vw,4rem)}}
@media(max-width:520px){.section-shell{width:min(100% - 28px,1180px)}.feature-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.hero-copy p{font-size:.62rem}.hero-copy h1{font-size:2.5rem}}

@media (max-width: 800px) {
    .boys-hero .hero-copy {
        place-items: center;
    }

    .boys-hero .hero-copy p {
        margin: 0;
    }

    .boys-hero .hero-copy h1 {
        margin: .35rem 0 0;
    }
}
.boys-trip-page,.boys-trip-page p,.boys-trip-page label,.boys-trip-page input{font-family:var(--font-body)}
.trip-cta{position:relative;min-height:360px;overflow:hidden;background:var(--color-secondary);box-shadow:var(--shadow-medium)}
.trip-cta>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:.72}
.trip-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#061b4b44,#050914dd)}
.trip-cta>div{position:relative;z-index:1;display:flex;min-height:360px;flex-direction:column;justify-content:flex-end;padding:2rem;color:#fff}
.trip-cta h3{color:#fff;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1;margin:.2rem 0 .75rem}
.trip-cta p:not(.eyebrow){max-width:28rem;color:#f1f5f9;font-size:.9rem;line-height:1.55;margin-bottom:1.1rem}
.trip-cta .btn{align-self:flex-start}
