@font-face{font-family:Roboto;src:url('../fonts/roboto-cyrillic.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+0301,U+0400-052F,U+2116}
@font-face{font-family:Roboto;src:url('../fonts/roboto-latin.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+20AC}
@font-face{font-family:'Roboto Condensed';src:url('../fonts/roboto-condensed-cyrillic.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+0301,U+0400-052F,U+2116}
@font-face{font-family:'Roboto Condensed';src:url('../fonts/roboto-condensed-latin.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+20AC}

:root{--red:#e31c23;--red-dark:#bd151b;--ink:#171719;--text:#303034;--muted:#69696f;--paper:#f5f5f3;--white:#fff;--line:#e3e3e5;--shell:min(1180px,calc(100% - 40px));--reading:68ch;--radius:12px;--font:Roboto,Arial,sans-serif;--z-header:20}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.65;overflow-x:hidden}.shell{width:var(--shell);margin-inline:auto}img{max-width:100%;height:auto}section[id]{scroll-margin-top:88px}a{color:var(--red-dark)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:3px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:50;background:var(--white);padding:.5rem 1rem}.skip-link:focus{top:1rem}

.site-header{position:sticky;top:0;z-index:var(--z-header);background:#171719;border-bottom:1px solid #363639}.header-inner{min-height:72px;display:flex;align-items:center;gap:1.25rem}.brand{color:var(--white);font-size:1.18rem;font-weight:700;letter-spacing:.01em;line-height:1;text-decoration:none}.menu{display:flex;gap:1.25rem;list-style:none;padding:0;margin:0}.menu a{color:var(--white);font-size:.94rem;text-decoration:none}.menu a:hover,.menu a[aria-current='page']{color:#ffb9bc}.primary-navigation{margin-left:auto}.menu-toggle{display:none;min-height:44px;padding:.5rem .75rem;border:1px solid var(--white);border-radius:6px;background:transparent;color:var(--white);font:600 .88rem var(--font)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.68rem 1.15rem;border:1px solid var(--red);border-radius:6px;background:var(--red);color:var(--white);font:600 .95rem var(--font);text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.button:hover,.button:disabled{border-color:var(--red-dark);background:var(--red-dark)}.button:disabled{cursor:wait;opacity:.75}.button--small{min-height:40px;padding:.45rem .75rem}.button--ghost{border-color:var(--white);background:transparent}.button--ghost:hover{border-color:var(--white);background:var(--white);color:var(--ink)}

.hero{display:flex;align-items:center;min-height:clamp(460px,58vh,580px);padding:3.5rem 0;background-color:var(--ink);background-image:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.43) 58%,rgba(0,0,0,.18)),var(--hero-image,linear-gradient(135deg,#111114,#4b1518));background-position:center;background-size:cover;color:var(--white)}.hero__content{max-width:760px}.eyebrow{margin:0 0:.55rem;color:var(--red);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.hero .eyebrow,.contact-section .eyebrow{color:#ffc1c3}.hero h1{max-width:18ch;margin:0;font-size:clamp(2.45rem,5vw,4.5rem);font-weight:700;letter-spacing:-.035em;line-height:1.06}.lead{max-width:57ch;margin:1.15rem 0 0;font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.55}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.route-section{border-bottom:1px solid var(--line);background:var(--white)}.route-section__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 0}.route-section h2{margin:0;color:var(--ink);font-size:1.25rem;letter-spacing:-.015em;line-height:1.25}.route-section .eyebrow{margin-bottom:.25rem}.route-actions{display:flex;flex-wrap:wrap;gap:.6rem}.route-actions a{display:inline-flex;align-items:center;min-height:42px;padding:.55rem .8rem;border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:.92rem;font-weight:600;text-decoration:none}.route-actions a:hover{border-color:var(--red);color:var(--red-dark)}

.content-section{padding:clamp(3rem,5vw,4.5rem) 0}.content-section h2{margin:0;color:var(--ink);font-size:clamp(2rem,3.8vw,3.3rem);font-weight:700;letter-spacing:-.03em;line-height:1.12}.section-heading{margin-bottom:1.5rem}.intro-section{background:var(--paper)}.split-intro,.contact-grid{display:grid;grid-template-columns:minmax(15rem,.82fr) minmax(0,1.18fr);gap:clamp(2rem,6vw,6rem);align-items:start}.split-intro p{max-width:var(--reading);margin:0;font-size:1.08rem}.split-intro .text-link{display:inline-block;margin-top:1.1rem}.entity-section{padding-block:clamp(2.25rem,3.5vw,3.25rem)}.entity-section + .entity-section{padding-top:clamp(1.75rem,2.5vw,2.5rem)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.25rem}.entity-section#programs .card-grid,.entity-section#excursions .card-grid{grid-template-columns:minmax(0,760px)}.entity-section#camps .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.card__image{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--paper)}.card__image img{display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover}.card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:1.25rem 1.3rem 1.35rem}.card h3{margin:0;color:var(--ink);font-size:1.4rem;letter-spacing:-.02em;line-height:1.23}.card h3 a{color:inherit;text-decoration:none}.card__body>p:not(.eyebrow){max-width:55ch;margin:.72rem 0 1rem;font-size:.97rem;line-height:1.55}.card__meta{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.75rem 0 0;padding:0}.card__meta li{padding:.15rem .48rem;border-radius:99px;background:var(--paper);color:#55555a;font-size:.8rem;line-height:1.45}.card .text-link{margin-top:auto;padding-top:1.1rem}.text-link{font-weight:700;text-decoration-thickness:2px;text-underline-offset:.15em}.entry{max-width:760px}.entry h1{color:var(--ink);font-size:clamp(2.25rem,5vw,4.25rem);line-height:1.1}.featured-image img{display:block;max-width:100%;height:auto;border-radius:var(--radius)}.details{display:grid;gap:0;margin:2rem 0;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.details div{display:grid;grid-template-columns:minmax(9rem,.5fr) 1fr;gap:1rem}.details dt{font-weight:700}.details dd{margin:0}

.testimonials{background:var(--paper)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.testimonial{display:flex;flex-direction:column;min-height:100%;margin:0;padding:1.35rem;border-radius:var(--radius);background:var(--white)}.testimonial blockquote{max-width:48ch;margin:0;font-size:1rem;line-height:1.62}.testimonial blockquote p{margin:0}.testimonial figcaption{margin-top:auto;padding-top:1rem;color:var(--ink);font-weight:700}.contact-section{background:var(--ink);color:var(--white)}.contact-section h2{color:var(--white)}.contact-grid>div>p:not(.eyebrow){max-width:55ch}.lead-form{display:grid;gap:1rem}.lead-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.lead-form p{margin:0}.lead-form__wide{grid-column:1/-1}.lead-form label{display:grid;gap:.35rem;font-size:.9rem;font-weight:700}.lead-form input,.lead-form select,.lead-form textarea{width:100%;padding:.75rem;border:1px solid #88888d;border-radius:6px;background:var(--white);color:var(--ink);font:inherit}.lead-form__consent{grid-template-columns:1.25rem 1fr;align-items:start;font-weight:400!important}.lead-form__consent input{width:1.1rem;margin-top:.25rem}.lead-form__trap{position:absolute;left:-10000px;opacity:0}.lead-form__hint{margin:0;color:#d0d0d4;font-size:.86rem}.form-notice{padding:1rem;margin:0 0 1rem;border-radius:6px;font-weight:700}.form-notice--success{background:#d9f4e1;color:#153a20}.form-notice--error{background:#ffe0e0;color:#711319}.site-footer{padding:2.5rem 0 1rem;background:#0b0b0d;color:var(--white)}.site-footer a{color:var(--white)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:2rem}.footer-bottom{margin-top:2rem;padding-top:1rem;border-top:1px solid #343439}

@media (max-width:980px){.menu-toggle{display:block;margin-left:auto}.header-inner>.button{display:none}.primary-navigation{display:none;order:4;flex-basis:100%;margin-left:0}.primary-navigation.is-open{display:block}.primary-navigation .menu{gap:0;flex-direction:column;padding:.15rem 0 .75rem}.primary-navigation .menu a{display:block;min-height:44px;padding:.65rem 0}.route-section__inner{align-items:flex-start;flex-direction:column}}
@media (max-width:780px){:root{--shell:min(100% - 32px,1180px)}body{font-size:16px}.header-inner{min-height:64px;flex-wrap:wrap}.hero{min-height:520px;padding:3.5rem 0}.hero h1{font-size:clamp(2.35rem,11vw,3.8rem);line-height:1.08}.lead{font-size:1.05rem}.content-section{padding:3.25rem 0}.route-actions{width:100%}.route-actions a{flex:1 1 100%;justify-content:center}.split-intro,.contact-grid,.card-grid,.entity-section#programs .card-grid,.entity-section#camps .card-grid,.entity-section#excursions .card-grid,.testimonial-grid,.footer-grid,.lead-form__grid{grid-template-columns:1fr}.split-intro{gap:1rem}.lead-form__wide{grid-column:auto}.details div{grid-template-columns:1fr;gap:.1rem}.card__body{padding:1.15rem}.card h3{font-size:1.32rem}.testimonial{padding:1.2rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Conversion detail pages: one compact, reusable reading grid. */
.ns-detail{max-width:none}.ns-detail__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(2.5rem,6vw,5.5rem) 0}.ns-detail__hero-copy{max-width:650px}.ns-detail__hero-copy h1{max-width:13ch;margin:0;color:var(--ink);font-size:clamp(2.65rem,6vw,5.3rem);letter-spacing:-.055em}.ns-detail__hero-copy .lead{max-width:50ch;color:#4d4d53}.ns-detail__hero-image{margin:0}.ns-detail__hero-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.ns-detail__facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ns-detail__facts .details{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:1.15rem 0;border:0}.ns-detail__facts .details div{display:block;padding:0 1rem;border-left:1px solid var(--line)}.ns-detail__facts .details div:first-child{padding-left:0;border-left:0}.ns-detail__facts .details dt{color:var(--muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.ns-detail__facts .details dd{margin-top:.2rem;color:var(--ink);font-weight:700}.ns-detail__section{display:grid;grid-template-columns:minmax(15rem,.75fr) minmax(0,1.25fr);gap:clamp(2rem,7vw,7rem);padding:clamp(3.5rem,7vw,6.5rem) 0;border-bottom:1px solid var(--line)}.ns-detail__section h2,.ns-detail__cta h2{margin:0;color:var(--ink);font-size:clamp(1.9rem,3.5vw,3.15rem);letter-spacing:-.04em;line-height:1.08}.ns-detail__split>div:last-child{max-width:58ch}.ns-detail__split p{margin:0 0 1rem}.ns-detail__program{background:var(--paper);margin-inline:0;padding-inline:0}.ns-detail__program ol{display:grid;gap:.85rem;margin:0;padding:0;list-style:none;counter-reset:detail-step}.ns-detail__program li{display:grid;grid-template-columns:2.2rem 1fr;gap:1rem;align-items:start;color:var(--ink);font-weight:700;counter-increment:detail-step}.ns-detail__program li::before{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--red);color:var(--white);font-size:.8rem;content:counter(detail-step,decimal-leading-zero)}.ns-detail__content .entry-content{max-width:65ch}.ns-detail__content .entry-content p:first-child{margin-top:0}.ns-detail__faq .faq-list{border-top:1px solid var(--line)}.ns-detail__cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:clamp(3rem,6vw,5rem);padding:clamp(1.5rem,4vw,3rem);background:var(--ink);color:var(--white)}.ns-detail__cta h2{color:var(--white);max-width:18ch}.ns-detail__cta p:not(.eyebrow){max-width:50ch;color:#d6d6da}.ns-detail__cta .button{flex:0 0 auto;white-space:nowrap}
@media (max-width:780px){.ns-detail__hero{grid-template-columns:1fr;padding-top:2.25rem}.ns-detail__hero-copy h1{font-size:clamp(2.5rem,12vw,4rem)}.ns-detail__hero-image{order:-1}.ns-detail__facts .details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ns-detail__facts .details div,.ns-detail__facts .details div:first-child{padding:0;border-left:0}.ns-detail__section{grid-template-columns:1fr;gap:1.25rem;padding-block:3rem}.ns-detail__program{margin-inline:0;padding-inline:0}.ns-detail__cta{align-items:flex-start;flex-direction:column;margin-top:3rem}.ns-detail__cta .button{width:100%}}

/* Homepage hierarchy: every stage has a distinct job, tone and rhythm. */
.hero{min-height:clamp(540px,68vh,720px);padding-block:5.25rem 3rem}.hero__content{max-width:820px}.hero h1{max-width:16ch}.hero__proof{display:flex;flex-wrap:wrap;gap:1px;margin:3.5rem 0 0;padding:0;list-style:none}.hero__proof li{display:grid;gap:.12rem;min-width:170px;padding:.8rem 1rem;background:rgba(15,15,17,.77);backdrop-filter:blur(4px)}.hero__proof strong{color:#fff;font-size:1rem;line-height:1.15}.hero__proof span{color:#dedee0;font-size:.78rem;line-height:1.25}
.route-section{padding:clamp(3rem,6vw,5.5rem) 0;border:0;background:#f0f0ed}.route-section__heading{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:2rem;align-items:end;margin-bottom:2rem}.route-section__heading h2{margin:0;max-width:19ch;color:var(--ink);font-size:clamp(1.85rem,3vw,3rem);letter-spacing:-.035em;line-height:1.08}.route-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.route-card{display:flex;flex-direction:column;min-height:260px;padding:1.35rem;border:1px solid #d8d8d6;background:#fff;color:var(--ink);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.route-card:hover{border-color:var(--red);box-shadow:0 14px 28px rgba(20,20,22,.1);transform:translateY(-4px)}.route-card__number{color:var(--red);font-size:.78rem;font-weight:700;letter-spacing:.1em}.route-card__title{margin-top:2.1rem;font-size:clamp(1.35rem,2.1vw,1.8rem);font-weight:700;letter-spacing:-.03em;line-height:1.08}.route-card__text{max-width:28ch;margin-top:.8rem;color:#55555a;font-size:.94rem;line-height:1.45}.route-card__link{margin-top:auto;padding-top:1.2rem;color:var(--red-dark);font-size:.9rem;font-weight:700}.route-card--progress{background:var(--ink);border-color:var(--ink);color:#fff}.route-card--progress:hover{border-color:#ff676c}.route-card--progress .route-card__text{color:#d7d7da}.route-card--progress .route-card__link{color:#ffc1c3}
.intro-section{position:relative;overflow:hidden;background:var(--ink);color:#fff}.intro-section::after{position:absolute;right:-4vw;bottom:-8vw;width:min(42vw,540px);height:min(42vw,540px);border:1px solid rgba(255,255,255,.18);border-radius:50%;content:""}.intro-section .split-intro{position:relative;z-index:1}.intro-section h2{color:#fff}.intro-section__year{margin:1rem 0 .25rem!important;color:var(--red);font-size:clamp(3.2rem,7vw,6.5rem)!important;font-weight:700;letter-spacing:-.07em;line-height:.82}.intro-section .eyebrow{color:#ffc1c3}.intro-points{display:grid;gap:.55rem;max-width:58ch;margin:1.35rem 0 0;padding:0;list-style:none}.intro-points li{position:relative;padding-left:1.15rem;font-size:.94rem;line-height:1.45}.intro-points li::before{position:absolute;left:0;color:var(--red);content:"/"}.intro-section .text-link{color:#fff}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.section-heading__text{max-width:42ch;margin:0;color:var(--muted);font-size:1rem;line-height:1.5}.entity-section--programs{padding-top:clamp(4rem,7vw,7rem)}.entity-section#programs .card-grid{grid-template-columns:1fr}.entity-section--programs .card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(19rem,.85fr);min-height:390px;border-color:var(--ink);box-shadow:10px 10px 0 var(--red)}.entity-section--programs .card__image{height:100%;aspect-ratio:auto}.entity-section--programs .card__body{padding:clamp(1.5rem,3vw,3rem)}.entity-section--camps{background:#ededeb}.entity-section--camps .section-heading__text{color:#444448}.entity-section--camps .card:first-child{transform:translateY(-.85rem)}.entity-section--locations{background:#fff}.entity-section--locations .card__body{border-top:4px solid var(--red)}.entity-section--services{padding-block:clamp(3.5rem,6vw,6rem);background:var(--red)}.entity-section--services .eyebrow{color:#fff}.entity-section--services h2{color:#fff}.entity-section--services .section-heading__text{color:#ffe3e4}.entity-section--services .card{border:0}.entity-section--services .card__image{aspect-ratio:2.35/1}.entity-section--services .text-link{color:var(--red-dark)}
.testimonials{padding-block:clamp(4rem,7vw,7rem)}.testimonial{border-top:4px solid var(--red)}.testimonial blockquote{font-size:1.04rem}.contact-section{position:relative;overflow:hidden;padding-block:clamp(4rem,7vw,7rem)}.contact-section::before{position:absolute;top:-12rem;right:-7rem;width:28rem;height:28rem;border:1px solid rgba(255,255,255,.13);border-radius:50%;content:""}.contact-grid{position:relative;z-index:1}.contact-steps{display:grid;gap:1rem;margin:2rem 0 0;padding:0;list-style:none;counter-reset:contact}.contact-steps li{position:relative;display:grid;gap:.2rem;max-width:42ch;padding-left:3.2rem;counter-increment:contact}.contact-steps li::before{position:absolute;top:0;left:0;display:grid;place-items:center;width:2.15rem;height:2.15rem;border:1px solid var(--red);border-radius:50%;color:#ffc1c3;font-size:.78rem;font-weight:700;content:counter(contact,decimal-leading-zero)}.contact-steps strong{font-size:.98rem;line-height:1.3}.contact-steps span{color:#d6d6da;font-size:.88rem;line-height:1.4}.lead-form-wrap{padding:clamp(1.25rem,3vw,2rem);background:#fff;color:var(--ink);box-shadow:12px 12px 0 var(--red)}.lead-form__hint{color:#67676d}
@media (max-width:980px){.hero{min-height:560px}.route-section__heading{grid-template-columns:1fr}.route-card{min-height:235px}.entity-section--camps .card:first-child{transform:none}}
@media (max-width:780px){.hero{min-height:560px;padding-block:4rem 2rem}.hero__proof{margin-top:2.5rem}.hero__proof li{flex:1 1 calc(50% - 1px);min-width:0}.route-section{padding-block:3.5rem}.route-actions{grid-template-columns:1fr}.route-card{min-height:205px}.route-card__title{margin-top:1.25rem}.section-heading{align-items:start;flex-direction:column;gap:.9rem}.entity-section--programs .card{display:flex;min-height:0}.entity-section--programs .card__image,.entity-section--services .card__image{height:auto;aspect-ratio:16/10}.lead-form-wrap{box-shadow:7px 7px 0 var(--red)}}

/* Audit correction: preserve the visual direction, restore a single readable grid. */
:root{--shell:min(1240px,calc(100% - 48px));--paper:#f3f3f1;--muted:#505057}
body{font-size:18px;line-height:1.58}.site-header{background:#171719;border-color:#303034}.menu a,.menu a:hover,.menu a[aria-current='page']{color:#fff}.menu a{opacity:.84}.menu a:hover,.menu a:focus-visible,.menu a[aria-current='page']{opacity:1;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:.45rem}.header-inner>.button{box-shadow:none}
.hero{min-height:clamp(540px,62vh,660px);padding-block:4rem 2.5rem;background-image:linear-gradient(90deg,rgba(10,11,13,.94) 0%,rgba(10,11,13,.8) 46%,rgba(10,11,13,.42) 100%),var(--hero-image,linear-gradient(135deg,#111114,#4b1518))}.hero__content{max-width:760px;padding:clamp(1.25rem,2.5vw,2rem);background:linear-gradient(90deg,rgba(10,11,13,.35),rgba(10,11,13,0))}.hero h1{max-width:13.5ch;font-size:clamp(2.7rem,4.3vw,4.35rem);line-height:1.04;text-wrap:balance}.hero .lead{max-width:45ch;font-size:clamp(1.08rem,1.5vw,1.22rem);font-weight:500;line-height:1.5}.hero__proof{gap:0;margin-top:2.25rem;border:1px solid rgba(255,255,255,.28);background:rgba(10,11,13,.74)}.hero__proof li{min-width:0;padding:.8rem 1rem;background:transparent;border-right:1px solid rgba(255,255,255,.25)}.hero__proof li:last-child{border-right:0}.hero__proof strong{font-size:.95rem}.hero__proof span{font-size:.8rem}
.route-section{padding-block:clamp(3.25rem,5vw,5rem);background:var(--paper)}.route-section__heading{display:block;margin:0 0 1.5rem}.route-section__heading h2{max-width:18ch;font-size:clamp(2rem,3.35vw,3.25rem);line-height:1.1}.route-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.route-card,.route-card--progress{min-height:245px;border:1px solid #d7d7da;background:#fff;color:var(--ink);box-shadow:none;transform:none}.route-card:hover,.route-card--progress:hover{border-color:var(--red);box-shadow:0 8px 18px rgba(20,20,22,.08);transform:translateY(-2px)}.route-card--progress .route-card__text,.route-card--progress .route-card__link{color:inherit}.route-card__title{margin-top:1.5rem;font-size:1.55rem}.route-card__text{color:var(--muted);font-size:1rem}.route-card__link{color:var(--red-dark);font-size:.93rem}.route-card--progress .route-card__number{color:var(--red)}
.content-section{padding-block:clamp(3.75rem,5vw,5.5rem)}.section-heading{display:grid;grid-template-columns:minmax(0,8fr) minmax(18rem,4fr);align-items:start;gap:2rem;margin-bottom:1.75rem}.section-heading h2{max-width:18ch;font-size:clamp(2.1rem,3.2vw,3.4rem);line-height:1.08}.section-heading__text{padding-top:.35rem;color:var(--muted);font-size:1rem}.entity-section--camps .card:first-child{transform:none}.card{border-color:#d9d9dc;border-radius:10px;box-shadow:none}.card__body{padding:1.35rem}.card h3{font-size:1.38rem}.card__body>p:not(.eyebrow){color:#414147;font-size:1rem}.entity-section--programs .card{box-shadow:none}.entity-section--programs .card__body{padding:clamp(1.5rem,3vw,2.5rem)}.entity-section--camps{background:var(--paper)}.entity-section--locations .card__body{border-top-width:3px}.entity-section--services{background:var(--ink)}.entity-section--services .card{border:1px solid #fff}
.intro-section{background:#171719}.intro-section__year{font-size:clamp(3rem,6vw,5.5rem)!important}.intro-section .split-intro{gap:clamp(2rem,5vw,5rem)}.intro-section .split-intro p,.intro-points{font-size:1rem}.testimonial{border-top-width:3px}.testimonial blockquote{color:#2f2f34}
.contact-section{background:#171719}.contact-section h2{max-width:12ch;font-size:clamp(2.25rem,3.5vw,3.6rem);line-height:1.08}.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem)}.contact-steps{gap:.85rem;margin-top:1.5rem}.contact-steps li{padding-left:2.75rem}.contact-steps li::before{width:2rem;height:2rem}.lead-form-wrap{padding:clamp(1.35rem,2.5vw,2rem);border-radius:10px;background:#fff;box-shadow:none}.lead-form{gap:.85rem}.lead-form__grid{gap:.85rem}.lead-form label{color:#202024;font-size:.88rem}.lead-form input,.lead-form select,.lead-form textarea{border-color:#9b9ba1;border-radius:6px;font-size:1rem}.lead-form textarea{min-height:118px}.lead-form__consent{color:#303034!important;font-size:.86rem!important;line-height:1.4}.lead-form .button{width:100%;min-height:50px}.lead-form__hint{font-size:.82rem}
@media (max-width:980px){.section-heading{grid-template-columns:minmax(0,7fr) minmax(14rem,5fr)}.contact-grid{grid-template-columns:1fr}.contact-section h2{max-width:18ch}}
@media (max-width:780px){:root{--shell:min(100% - 32px,1240px)}body{font-size:16px}.hero{min-height:540px;padding-block:3.25rem 2rem}.hero__content{padding:0;background:none}.hero h1{max-width:11.5ch;font-size:clamp(2.45rem,11vw,3.5rem)}.hero__proof{margin-top:1.75rem}.hero__proof li{flex:1 1 50%;padding:.7rem .8rem}.hero__proof li:last-child{border-top:1px solid rgba(255,255,255,.25)}.route-section__heading h2,.section-heading h2{max-width:14ch}.route-actions{grid-template-columns:1fr}.route-card{min-height:205px}.section-heading{display:block;margin-bottom:1.4rem}.section-heading__text{margin-top:.85rem;padding:0}.contact-section h2{max-width:13ch}.lead-form-wrap{padding:1.15rem}.lead-form__grid{grid-template-columns:1fr}.lead-form__wide{grid-column:auto}}

/* Guided route selector: one decision, one focused recommendation. */
.hero__content{background:transparent}
.route-section{padding-block:clamp(3.5rem,5vw,4.75rem);background:#f3f3f1}
.route-section__heading{display:grid;grid-template-columns:minmax(0,7fr) minmax(18rem,5fr);align-items:end;gap:2rem;margin:0 0 1.75rem}
.route-section__heading h2{max-width:none;margin:0;font-size:clamp(2.5rem,3.6vw,3.75rem);line-height:1.04}
.route-section__intro{max-width:40ch;margin:0 0 .25rem;color:#3f3f46;font-size:1rem;font-weight:400;line-height:1.55}
.route-selector{border:1px solid #cfcfd3;border-radius:12px;background:#fff;overflow:hidden}
.route-selector__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #cfcfd3;background:#fff}
.route-choice{display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:.85rem;min-height:88px;padding:1rem 1.25rem;border:0;border-right:1px solid #cfcfd3;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .16s ease,color .16s ease}
.route-choice:last-child{border-right:0}
.route-choice:hover{background:#f7f7f5}
.route-choice[aria-selected="true"]{background:#18181b;color:#fff}
.route-choice:focus-visible{position:relative;z-index:2;outline:3px solid var(--red);outline-offset:-3px}
.route-choice__number{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid #cfcfd3;border-radius:50%;color:var(--red);font-size:.72rem;font-weight:700;letter-spacing:.06em}
.route-choice[aria-selected="true"] .route-choice__number{border-color:var(--red);background:var(--red);color:#fff}
.route-choice__copy{display:grid;gap:.15rem;min-width:0}
.route-choice__copy strong{font-size:1rem;line-height:1.2}
.route-choice__copy span{color:#606067;font-size:.8rem;line-height:1.3}
.route-choice[aria-selected="true"] .route-choice__copy span{color:#d7d7da}
.route-panel{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(24rem,.96fr);min-height:410px;background:#fff}
.route-panel[hidden]{display:none}
.route-panel__media{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;background:#29292d}
.route-panel__media img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.route-panel__content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(2rem,4vw,3.5rem)}
.route-panel__eyebrow{margin:0 0 .65rem;color:var(--red);font-size:.72rem;font-weight:700;letter-spacing:.09em;line-height:1.25;text-transform:uppercase}
.route-panel h3{max-width:15ch;margin:0;color:var(--ink);font-size:clamp(2rem,3vw,3rem);font-weight:700;letter-spacing:-.045em;line-height:1.03}
.route-panel__lead{max-width:43ch;margin:1rem 0 0;color:#3f3f46;font-size:1rem;line-height:1.55}
.route-panel__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;width:100%;margin:1.4rem 0 0;padding:0;list-style:none}
.route-panel__benefits li{position:relative;padding:.75rem .7rem .75rem 1rem;border-left:3px solid var(--red);background:#f3f3f1;color:#2f2f34;font-size:.82rem;font-weight:600;line-height:1.35}
.route-panel__cta{margin-top:1.5rem}
@media (max-width:980px){.route-section__heading{grid-template-columns:1fr;gap:.75rem}.route-panel{grid-template-columns:minmax(0,.9fr) minmax(22rem,1.1fr)}.route-panel__benefits{grid-template-columns:1fr;gap:.45rem}.route-panel__benefits li{padding-block:.55rem}.route-choice{padding-inline:1rem}}
@media (max-width:780px){.route-section{padding-block:3rem}.route-section__heading{margin-bottom:1.4rem}.route-section__heading h2{font-size:clamp(2.25rem,10vw,3.1rem)}.route-selector__choices{grid-template-columns:1fr}.route-choice{min-height:72px;border-right:0;border-bottom:1px solid #cfcfd3}.route-choice:last-child{border-bottom:0}.route-panel{grid-template-columns:1fr;min-height:0}.route-panel__media{aspect-ratio:16/10}.route-panel__content{padding:1.5rem}.route-panel h3{max-width:none;font-size:clamp(1.9rem,9vw,2.5rem)}.route-panel__lead{margin-top:.85rem}.route-panel__benefits{margin-top:1.1rem}.route-panel__cta{width:100%;margin-top:1.25rem}}

/* Immersive sales hero: one promise, clear actions and proof without a text card. */
.hero{position:relative;display:block;min-height:clamp(680px,82svh,820px);padding:0;background-color:#111114;background-image:linear-gradient(90deg,rgba(7,8,10,.94) 0%,rgba(7,8,10,.8) 42%,rgba(7,8,10,.3) 72%,rgba(7,8,10,.14) 100%),linear-gradient(0deg,rgba(7,8,10,.62) 0%,rgba(7,8,10,0) 38%),var(--hero-image,linear-gradient(135deg,#111114,#4b1518));background-position:center 42%;background-size:cover;color:#fff}
.hero__inner{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:inherit;padding-block:clamp(3.5rem,7vh,4.75rem) clamp(1.5rem,3vh,2rem)}
.hero__copy{align-self:center;max-width:840px;margin:0;padding:0 0 clamp(1.5rem,3vh,2rem)}
.hero .eyebrow{margin-bottom:.9rem;color:#ffd0d2;font-size:1rem;font-weight:700;letter-spacing:.08em}
.hero h1{max-width:19ch;margin:0;color:#fff;font-family:'Roboto Condensed',var(--font);font-size:clamp(3.25rem,4vw,4.4rem);font-weight:600;letter-spacing:-.022em;line-height:1.01;text-wrap:balance}
.hero .lead{max-width:56ch;margin-top:1.25rem;color:#f1f1f3;font-size:clamp(1.06rem,1.3vw,1.22rem);font-weight:400;line-height:1.55}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.hero__actions .button{min-height:52px;padding:.8rem 1.25rem;font-size:.98rem}
.hero__note{max-width:60ch;margin:1rem 0 0;color:#f1f1f3;font-size:1rem;font-weight:500;line-height:1.45}
.hero__proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:min(100%,920px);margin:0;padding:0;border:1px solid rgba(255,255,255,.26);background:rgba(12,13,16,.66);backdrop-filter:blur(8px);list-style:none}
.hero__proof li{display:grid;gap:.2rem;min-width:0;padding:1rem 1.25rem;border-right:1px solid rgba(255,255,255,.22);background:transparent}
.hero__proof li:last-child{border-right:0}
.hero__proof strong{color:#fff;font-size:1.05rem;line-height:1.2}
.hero__proof span{color:#e1e1e3;font-size:.9rem;line-height:1.35}
@media (max-width:780px){.hero{min-height:700px;background-image:linear-gradient(90deg,rgba(7,8,10,.9),rgba(7,8,10,.54)),linear-gradient(0deg,rgba(7,8,10,.68),rgba(7,8,10,0) 44%),var(--hero-image,linear-gradient(135deg,#111114,#4b1518));background-position:58% center}.hero__inner{display:flex;flex-direction:column;padding-block:4rem 1.25rem}.hero__copy{align-self:stretch;margin-top:auto;margin-bottom:2rem;padding:0}.hero .eyebrow{margin-bottom:.7rem;font-size:.9rem}.hero h1{max-width:14ch;font-size:clamp(2.3rem,11vw,2.85rem);line-height:1.02}.hero .lead{max-width:38ch;margin-top:1rem;font-size:1rem;line-height:1.5}.hero__actions{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:1.25rem}.hero__actions .button{width:100%;min-height:50px}.hero__note{margin-top:.8rem;font-size:1rem;line-height:1.45}.hero__proof{grid-template-columns:1fr 1fr;width:100%;backdrop-filter:none}.hero__proof li{padding:.75rem .8rem}.hero__proof li:nth-child(2){border-right:0}.hero__proof li:last-child{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.22)}.hero__proof strong{font-size:.92rem}.hero__proof span{font-size:.8rem}}

/* Funnel completion: proof, video, FAQ and contact details use the existing grid and type scale. */
.intro-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.25rem}.method-section{background:#fff}.method-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(2rem,7vw,7rem);align-items:start}.method-section h2{max-width:13ch}.method-section__lead{max-width:36ch;margin:1rem 0 0;color:#4c4c52;font-size:1.06rem;line-height:1.55}.method-steps{display:grid;gap:0;margin:0;padding:0;border-top:1px solid #d8d8db;list-style:none;counter-reset:method}.method-steps li{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:1rem;padding:1.25rem 0;border-bottom:1px solid #d8d8db}.method-steps span{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:var(--red);color:#fff;font-size:.76rem;font-weight:700}.method-steps strong{display:block;color:var(--ink);font-size:1.18rem;line-height:1.2}.method-steps p{max-width:49ch;margin:.4rem 0 0;color:#515158;font-size:.96rem;line-height:1.5}
.results-section{background:#f3f3f1}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.result-card{min-height:230px;padding:1.4rem;border:1px solid #d6d6da;background:#fff}.result-card__number{margin:0 0 1.8rem;color:var(--red);font-size:.78rem;font-weight:700;letter-spacing:.1em}.result-card h3{margin:0;color:var(--ink);font-size:1.4rem;letter-spacing:-.025em;line-height:1.12}.result-card p:not(.result-card__number){margin:.8rem 0 0;color:#515158;font-size:.96rem;line-height:1.5}.result-quote{display:grid;grid-template-columns:minmax(12rem,.75fr) minmax(0,1.25fr);gap:2rem;align-items:center;margin-top:1rem;padding:1.5rem;border-left:4px solid var(--red);background:#19191c;color:#fff}.result-quote .eyebrow{margin:0;color:#ffc4c6}.result-quote blockquote{max-width:54ch;margin:0;color:#fff;font-family:'Roboto Condensed',var(--font);font-size:clamp(1.35rem,2.2vw,2rem);font-weight:600;letter-spacing:-.015em;line-height:1.13}.result-quote p:last-child{grid-column:2;margin:.2rem 0 0;color:#d6d6db;font-size:.9rem}
.video-section{background:var(--red);color:#fff}.video-section h2{max-width:13ch;color:#fff}.video-section__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.82fr);gap:clamp(2rem,7vw,7rem);align-items:center}.video-section .eyebrow{color:#ffe0e1}.video-section p:not(.eyebrow){max-width:46ch;margin:1rem 0 1.5rem;font-size:1.05rem;line-height:1.55}.button--light{border-color:#fff;background:#fff;color:var(--ink)}.button--light:hover{border-color:#171719;background:#171719;color:#fff}.video-link{position:relative;display:grid;align-content:end;min-height:290px;padding:1.5rem;overflow:hidden;background:#18181b;color:#fff;text-decoration:none}.video-link::before{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,0) 45%);content:""}.video-link>*{position:relative}.video-link__play{display:grid;place-items:center;width:4rem;height:4rem;margin-bottom:auto;border-radius:50%;background:#fff;color:var(--red);font-size:1.15rem}.video-link__meta{color:#ffbfc2;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.video-link strong{margin-top:.3rem;font-family:'Roboto Condensed',var(--font);font-size:2rem;letter-spacing:-.02em;line-height:1}.video-link span:last-child{margin-top:.55rem;color:#e2e2e5;font-size:.95rem}.video-link:hover .video-link__play{transform:scale(1.06)}
.faq-section{background:#fff}.faq-grid{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,8vw,8rem);align-items:start}.faq-grid>div>p:not(.eyebrow){max-width:33ch;margin:1rem 0 0;color:#55555b}.faq-list{border-top:1px solid #d7d7da}.faq-list details{border-bottom:1px solid #d7d7da}.faq-list summary{position:relative;padding:1.15rem 2.75rem 1.15rem 0;color:var(--ink);font-size:1.06rem;font-weight:700;line-height:1.35;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{position:absolute;top:1.05rem;right:.2rem;color:var(--red);font-size:1.5rem;font-weight:400;line-height:1;content:"+"}.faq-list details[open] summary::after{content:"−"}.faq-list details p{max-width:62ch;margin:0;padding:0 2.5rem 1.15rem 0;color:#515158;font-size:.97rem;line-height:1.55}
.contact-section__channels{max-width:44ch;margin:2rem 0 0;color:#d8d8dc;font-size:.92rem;line-height:1.5}.lead-form__error{grid-column:1/-1;margin:0;padding:.75rem 1rem;border:1px solid #c9161d;background:#fff0f0;color:#861117;font-size:.9rem;font-weight:700;line-height:1.4}.site-footer h2{margin:0 0:.6rem;color:#fff;font-size:1rem}.footer-contacts{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.footer-contacts a,.footer-contacts span{font-size:.94rem;line-height:1.45}.footer-placeholder{color:#d1d1d5}.footer-note{max-width:34ch;margin:.75rem 0 0;color:#b8b8bd;font-size:.82rem;line-height:1.45}
@media (max-width:980px){.method-grid,.video-section__grid,.faq-grid{grid-template-columns:1fr;gap:2rem}.result-quote{grid-template-columns:1fr;gap:.75rem}.result-quote p:last-child{grid-column:auto}.video-link{min-height:240px}}
@media (max-width:780px){.intro-actions{display:grid;gap:.75rem}.method-section h2{max-width:15ch}.result-grid{grid-template-columns:1fr}.result-card{min-height:0}.result-quote{padding:1.25rem}.video-section__grid{gap:2rem}.video-link{min-height:220px;padding:1.25rem}.faq-grid{gap:1.5rem}.faq-list summary{font-size:1rem}.contact-section__channels{margin-top:1.5rem}}

/* Narrow screens: keep the header and proof strip inside one reliable 16px grid. */
@media (max-width:780px){:root{--shell:min(1240px,calc(100% - 32px))}.hero{min-height:760px}.hero__proof{grid-template-columns:1fr}.hero__proof li,.hero__proof li:nth-child(2),.hero__proof li:last-child{grid-column:auto;border-right:0;border-top:1px solid rgba(255,255,255,.22)}.hero__proof li:first-child{border-top:0}.hero__proof strong{font-size:.94rem}.hero__proof span{font-size:.82rem}}

@media (max-width:780px){.hero .lead,.hero__note{overflow-wrap:anywhere}}
@media (max-width:980px){.site-header .menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;margin-left:auto;position:relative;z-index:3}}

/* Content-first refinement: darker surfaces carry the brand; red guides actions instead of filling screens. */
.entity-section--services{background:#19191c}
.entity-section--services .section-heading__text{color:#d7d7dc}
.entity-section#excursions .card-grid{grid-template-columns:1fr;max-width:none}
.entity-section--services .card{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);min-height:390px;border:1px solid #3b3b40;border-radius:12px;background:#fff}
.entity-section--services .card__image{height:100%;min-height:390px;aspect-ratio:auto}
.entity-section--services .card__body{align-items:flex-start;justify-content:center;padding:clamp(2rem,4vw,4rem);border-left:4px solid var(--red)}
.entity-section--services .card h3{font-size:clamp(1.8rem,2.8vw,2.7rem);line-height:1.05}
.entity-section--services .card__body>p:not(.eyebrow){max-width:38ch;font-size:1.05rem}
.entity-section--services .card__meta{margin-top:1rem}
.entity-section--services .card__meta li{background:#f0f0ee}
.entity-section--services .card .text-link{margin-top:1.8rem;color:var(--red-dark)}

.video-section{position:relative;background:#eeeDE8;color:var(--ink);overflow:hidden}
.video-section::before{position:absolute;top:0;left:0;width:6px;height:100%;background:var(--red);content:""}
.video-section h2{max-width:14ch;color:var(--ink)}
.video-section .eyebrow{color:var(--red-dark)}
.video-section p:not(.eyebrow){max-width:43ch;color:#424247}
.video-section__grid{grid-template-columns:minmax(0,.82fr) minmax(24rem,1.18fr);gap:clamp(2rem,7vw,7rem);align-items:stretch}
.video-section__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:1rem}
.video-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:100%;max-width:42rem;margin:0 0 1.5rem;padding:0;list-style:none}
.video-topics li{min-height:68px;padding:.75rem;border-top:2px solid var(--ink);color:#36363b;font-size:.84rem;font-weight:700;line-height:1.3}
.video-showcase{position:relative;display:grid;min-height:390px;overflow:hidden;background-color:#1c1c20;background-position:center;background-size:cover;color:#fff;text-decoration:none}
.video-showcase__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,9,11,.88) 0%,rgba(8,9,11,.27) 62%,rgba(8,9,11,.08) 100%)}
.video-showcase__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:100%;padding:clamp(1.5rem,3vw,2.25rem)}
.video-showcase__play{display:grid;place-items:center;width:4.4rem;height:4.4rem;margin-bottom:auto;border-radius:50%;background:#fff;color:var(--red);transition:transform .18s ease,background-color .18s ease,color .18s ease}
.video-showcase__play svg{width:1.6rem;height:1.6rem;margin-left:.16rem}
.video-showcase__meta{color:#ffd2d4;font-size:.77rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.video-showcase strong{max-width:13ch;margin-top:.45rem;font-family:'Roboto Condensed',var(--font);font-size:clamp(2rem,3.2vw,3rem);font-weight:700;letter-spacing:-.025em;line-height:1}
.video-showcase__text{margin-top:.7rem;color:#f1f1f3;font-size:.98rem;line-height:1.45}
.video-showcase:hover .video-showcase__play{background:var(--red);color:#fff;transform:scale(1.06)}

.site-footer{padding:clamp(2.5rem,5vw,4rem) 0 1.25rem;background:#0f0f11}
.footer-grid{grid-template-columns:minmax(0,1.2fr) minmax(10rem,.72fr) minmax(11rem,.75fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.footer-intro p{max-width:31ch;margin:.8rem 0 1.2rem;color:#d0d0d5}
.footer-cta{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .85rem;border:1px solid var(--red);color:#fff!important;font-size:.9rem;font-weight:700;text-decoration:none}
.footer-cta:hover{background:var(--red)}
.site-footer h2{margin:0 0:.8rem;color:#ffcbcd;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.footer-navigation .menu{display:grid;gap:.45rem}
.footer-navigation .menu a{display:inline;color:#fff;font-size:.94rem;line-height:1.4;opacity:.9;text-decoration:none}
.footer-navigation .menu a:hover{color:#fff;opacity:1;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:.25rem}
.footer-contacts{gap:.55rem}
.footer-contacts a{font-size:.96rem;font-weight:600;text-decoration-thickness:1px;text-underline-offset:.2em}
.footer-bottom{margin-top:2.5rem;padding-top:1.1rem}

@media (max-width:980px){.entity-section--services .card{grid-template-columns:minmax(0,.9fr) minmax(19rem,1.1fr)}.video-section__grid{grid-template-columns:1fr;gap:1.5rem}.video-section__copy{padding:0}.video-showcase{min-height:350px}.footer-grid{grid-template-columns:1.25fr 1fr}}
@media (max-width:780px){.entity-section--services .card{display:flex;min-height:0}.entity-section--services .card__image{min-height:0;aspect-ratio:16/10}.entity-section--services .card__body{padding:1.5rem;border-top:3px solid var(--red);border-left:0}.video-section{padding-block:3.5rem}.video-topics{grid-template-columns:1fr;gap:0}.video-topics li{min-height:0;padding:.65rem 0}.video-showcase{min-height:330px}.video-showcase__content{padding:1.35rem}.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-navigation .menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem}}

/* Detail pages must consume the full shell: keep the desktop hero genuinely two-column. */
.site-main > .ns-detail{display:block;width:100%;max-width:100%;min-width:0}
.site-main > .ns-detail .ns-detail__hero{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr)}
.site-main > .ns-detail .ns-detail__hero .button--ghost{border-color:var(--ink);background:transparent;color:var(--ink)}
.site-main > .ns-detail .ns-detail__hero .button--ghost:hover{border-color:var(--red);background:var(--red);color:var(--white)}
@media (max-width:780px){
	.site-main > .ns-detail .ns-detail__hero{grid-template-columns:1fr;gap:1.5rem}
	.site-main > .ns-detail .ns-detail__hero-image{order:-1}
	.site-main > .ns-detail .ns-detail__hero .hero__actions{display:grid;grid-template-columns:1fr;width:100%}
	.site-main > .ns-detail .ns-detail__hero .hero__actions .button{width:100%}
	.site-main > .ns-detail .ns-detail__facts .details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
	.site-main > .ns-detail .ns-detail__section{grid-template-columns:1fr;gap:1.25rem}
	.site-main > .ns-detail .ns-detail__cta{align-items:flex-start;flex-direction:column}
	.site-main > .ns-detail .ns-detail__cta .button{width:100%}
}


/* Dahab camp page: one shell, editorial rhythm, accessible content-first sections. */
.dahab-camp-page{--dahab-shell:min(1440px,calc(100% - 64px));width:100%;max-width:none;color:var(--text);overflow:visible}.site-main--dahab{width:100%;max-width:none;padding-inline:0}.site-main--dahab>.entry--single{width:100%;max-width:none}
.dahab-camp-page>section{width:var(--dahab-shell);max-width:none;margin-inline:auto}.dahab-camp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:clamp(3rem,7vw,6rem)}.dahab-camp-hero__copy{max-width:650px}.dahab-camp-hero h1{max-width:14ch;margin:0;color:var(--ink);font-size:clamp(2.65rem,5.5vw,5rem);letter-spacing:-.055em;line-height:1.04}.dahab-camp-hero .lead{max-width:58ch;color:#4d4d53}.dahab-camp-hero__image{margin:0}.dahab-camp-hero__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.dahab-camp-hero .button--ghost{border-color:var(--ink);background:transparent;color:var(--ink)}
.dahab-camp-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dahab-camp-facts div{display:grid;gap:.2rem;padding:1rem 1.1rem;border-left:1px solid var(--line)}.dahab-camp-facts div:first-child{padding-left:0;border-left:0}.dahab-camp-facts strong{color:var(--ink);font-size:1rem;line-height:1.25}.dahab-camp-facts span{color:var(--muted);font-size:.8rem;line-height:1.35}
.dahab-camp-section{display:block;padding-block:clamp(3.5rem,6vw,5.5rem);border-bottom:1px solid var(--line)}.dahab-camp-section>div:first-child{max-width:74ch;margin-bottom:2rem}.dahab-camp-section h2,.dahab-camp-cta h2{margin:0;color:var(--ink);font-size:clamp(1.9rem,3.4vw,3.1rem);letter-spacing:-.04em;line-height:1.08}.dahab-camp-section p{line-height:1.55}.dahab-camp-intro>div:last-child{max-width:72ch}
.dahab-camp-cards{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.25rem}.dahab-camp-cards article{min-height:220px;padding:clamp(1.4rem,3vw,2.25rem);border:1px solid var(--line);background:#fff}.dahab-camp-cards h3{margin:0;color:var(--ink);font-size:1.35rem}.dahab-camp-cards p{max-width:60ch;margin:.7rem 0}.dahab-camp-cards ul{margin:.8rem 0 0;padding-left:1.1rem}.dahab-level-card--dark{background:var(--ink);color:#fff;border-color:var(--ink)}.dahab-level-card--dark h3{color:#fff}
.dahab-camp-included{background:#1c1c20;color:#fff;padding-inline:clamp(1.5rem,5vw,5rem)}.dahab-camp-included h2{color:#fff}.dahab-included-band{display:grid;grid-template-columns:1.35fr .65fr;gap:2rem;align-items:start}.dahab-camp-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;margin:0;padding:0;list-style:none}.dahab-camp-checklist li{padding:1rem 1rem 1rem 1.4rem;border-top:1px solid #45454b;font-weight:600}.dahab-camp-checklist li::before{color:var(--red);content:'+';margin-left:-1rem;margin-right:.5rem}.dahab-included-band>p{margin:0;padding:1.25rem;border:1px solid #45454b;color:#dedee2}
.dahab-conditions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,6rem);padding:clamp(2rem,4vw,4rem);background:#f0f0ed}.dahab-offer h2{font-size:clamp(2.4rem,5vw,4rem);white-space:nowrap}.dahab-offer__caption{max-width:34ch;color:var(--muted)}.dahab-offer .button{margin-top:1rem}.dahab-offer__details>p{max-width:68ch;margin:.15rem 0 1rem}.dahab-date-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1.2rem}.dahab-date-cards article{display:grid;gap:.45rem;padding:1rem;border:1px solid #d7d7da;background:#fff}.dahab-date-cards span{color:var(--red-dark);font-size:.75rem;font-weight:700;line-height:1.35}.dahab-date-cards strong{color:var(--ink);font-size:.96rem;line-height:1.35}.dahab-date-cards small{color:var(--muted);font-size:.78rem;line-height:1.35}
.dahab-camp-timeline{padding-block:0;background:var(--paper)}.dahab-program-heading{padding:clamp(2rem,5vw,4rem);background:var(--ink);color:#fff}.dahab-program-heading h2{color:#fff}.dahab-program-heading>p:not(.eyebrow){max-width:68ch;color:#d5d5da}.dahab-program-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1.25rem}.dahab-program-goals div{display:grid;gap:.25rem;padding:1rem;border-left:3px solid var(--red);background:#252529}.dahab-program-goals span{color:#d5d5da;font-size:.9rem}.dahab-agenda{display:grid;gap:.75rem;padding:1.25rem 0}.dahab-day{border:1px solid #d5d5d2;background:#fff}.dahab-day summary{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.5rem 1rem;align-items:center;padding:1.2rem 1.35rem;color:var(--ink);cursor:pointer;list-style:none}.dahab-day summary::-webkit-details-marker{display:none}.dahab-day summary span{color:var(--red-dark);font-size:.85rem;font-weight:700}.dahab-day summary strong{font-size:1.1rem}.dahab-day header{padding:0 1.35rem .9rem;border-bottom:1px solid var(--line)}.dahab-day header p{max-width:72ch;margin:0;color:var(--muted)}.dahab-day__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem 1.35rem}.dahab-day__groups>div{padding:1rem;background:#f5f5f3;border-left:3px solid var(--red)}.dahab-day__groups h4{margin:0;color:var(--ink);font-size:1rem}.dahab-day__groups p{max-width:70ch;margin:.45rem 0 0}.dahab-day__after{margin:0;padding:0 1.35rem 1.25rem;color:var(--muted)}.dahab-day__group--wide{grid-column:1/-1}
.dahab-why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.dahab-why-grid article{overflow:hidden;border:1px solid var(--line);background:#fff}.dahab-why-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.dahab-why-grid h3,.dahab-why-grid p{margin:.75rem 1rem}.dahab-why-grid h3{color:var(--ink)}.dahab-why-conclusion{max-width:72ch;margin:1.5rem 0 0;font-size:1.08rem;font-weight:600}
.dahab-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.dahab-team-grid article{overflow:hidden;border:1px solid var(--line);background:#fff}.dahab-team-grid article img{display:block;width:100%;height:220px;aspect-ratio:16/10;object-fit:cover}.dahab-team-grid article>div{padding:1.1rem}.dahab-team-grid h3{margin:0;color:var(--ink)}.dahab-team-grid p{margin:.55rem 0;max-width:42ch}.dahab-team-grid details{margin-top:.8rem;border-top:1px solid var(--line);padding-top:.65rem}.dahab-team-grid summary,.dahab-hotels-grid summary{color:var(--red-dark);font-weight:700;cursor:pointer}
.dahab-camp-social{width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0;background:#18181b;color:#f1f1f3}.dahab-camp-social>div{width:var(--dahab-shell);max-width:var(--dahab-shell);margin-inline:auto}.dahab-camp-social h2{color:#fff}.dahab-camp-social>div:first-child p{color:#ececef}.dahab-camp-social .eyebrow{color:#ffc1c3}.dahab-reviews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dahab-reviews blockquote{display:grid;grid-template-columns:auto 1fr;gap:.9rem;margin:0;padding:1.25rem;border:1px solid #3d3d42;border-left:3px solid var(--red);background:#fff;color:var(--ink)}.dahab-reviews blockquote:first-child{grid-column:1/-1}.dahab-reviews blockquote>img{width:3rem;height:3rem;border-radius:50%;object-fit:cover}.dahab-reviews blockquote p{color:var(--ink)}.dahab-reviews cite{display:block;margin-top:.8rem;color:var(--muted);font-style:normal;font-weight:700}
.dahab-video-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,7rem);align-items:center}.dahab-video-section>div:first-child{margin:0}.dahab-video{min-width:0}.dahab-video__frame{aspect-ratio:16/9;background:#111}.dahab-video iframe{display:block;width:100%;height:100%;border:0}
.dahab-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.dahab-gallery-grid figure{margin:0}.dahab-gallery-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.dahab-hotels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.dahab-hotels-grid article{overflow:hidden;border:1px solid var(--line);background:#fff}.dahab-hotels-grid article img{display:block;width:100%;height:220px;aspect-ratio:16/9;object-fit:cover}.dahab-hotels-grid article h3{margin:.9rem 1rem 0;color:var(--ink)}.dahab-hotels-grid article details{margin:.7rem 1rem 1rem;border-top:1px solid var(--line);padding-top:.65rem}.dahab-hotels-grid article p{max-width:54ch;margin:.65rem 0 0}.dahab-arrival{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,6rem)}.dahab-arrival>p{max-width:68ch;margin:0}.dahab-camp-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:3rem;padding:clamp(1.5rem,3.5vw,2.75rem);background:var(--ink);color:#fff}.dahab-camp-cta h2{max-width:19ch;color:#fff}.dahab-camp-cta p:not(.eyebrow){max-width:52ch;color:#d6d6da}.dahab-camp-cta .button{flex:0 0 auto;white-space:nowrap}.dahab-booking{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,6rem);padding:clamp(3rem,6vw,5rem);background:var(--ink);color:#fff;border:0}.dahab-booking h2{color:#fff}.dahab-booking__form{min-width:0}
@media (max-width:980px){.dahab-camp-page{--dahab-shell:min(100% - 48px,1440px)}.dahab-camp-hero{grid-template-columns:1fr}.dahab-conditions,.dahab-video-section,.dahab-arrival,.dahab-booking{grid-template-columns:1fr}.dahab-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dahab-hotels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dahab-video-section>div:first-child{margin-bottom:0}}
@media (max-width:780px){.dahab-camp-page{--dahab-shell:calc(100% - 32px)}.dahab-camp-page>section{width:var(--dahab-shell)}.dahab-camp-social{width:100%!important}.dahab-camp-social>div{width:var(--dahab-shell)}.dahab-camp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.dahab-camp-cards,.dahab-included-band,.dahab-camp-checklist,.dahab-date-cards,.dahab-program-goals,.dahab-day__groups,.dahab-why-grid,.dahab-team-grid,.dahab-reviews,.dahab-gallery-grid,.dahab-hotels-grid{grid-template-columns:1fr}.dahab-day summary{grid-template-columns:1fr;gap:.25rem}.dahab-day__groups>div{grid-column:auto}.dahab-team-grid article img,.dahab-hotels-grid article img{height:auto;aspect-ratio:16/9}.dahab-camp-cta{align-items:flex-start;flex-direction:column}.dahab-camp-cta .button{width:100%}.dahab-booking{padding:2rem 1.25rem}}
@media (max-width:390px){.dahab-camp-facts strong{font-size:.92rem}.dahab-camp-facts span{font-size:.75rem}}
.dahab-camp-section.dahab-camp-timeline>.dahab-program-heading{max-width:none;margin-bottom:0}
.dahab-camp-page .dahab-camp-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,7rem);align-items:start}.dahab-camp-page .dahab-camp-intro>div:first-child{margin:0;max-width:36ch}.dahab-camp-page .dahab-camp-intro>div:last-child{max-width:72ch}
.dahab-camp-page .dahab-camp-cards .dahab-level-card--dark{background:var(--ink);color:#fff;border-color:var(--ink)}.dahab-camp-page .dahab-camp-cards .dahab-level-card--dark h3{color:#fff}
.dahab-time{display:inline-block;padding:.08em .34em;border-radius:4px;background:#e8e8e9;color:#1f1f23;font-weight:700;white-space:nowrap}.dahab-day__after{color:var(--muted)}.dahab-day__after br{display:block;margin-top:.45rem}.dahab-day__after .dahab-time{background:#ededed;color:#1f1f23}
.dahab-team-grid article img{object-position:center}.dahab-team-grid .dahab-team-card--0 img{object-position:center 18%}.dahab-team-grid .dahab-team-card--1 img{object-position:center 30%}.dahab-team-grid .dahab-team-card--2 img{object-position:center 52%}.dahab-team-grid article>div{padding:1rem}.dahab-team-grid article p{margin:.35rem 0;line-height:1.5}
.dahab-camp-page .dahab-reviews{display:block;column-count:2;column-gap:1rem}.dahab-camp-page .dahab-reviews blockquote,.dahab-camp-page .dahab-reviews blockquote:first-child{display:grid;width:100%;margin:0 0 1rem;break-inside:avoid;column-span:none}.dahab-camp-page .dahab-reviews blockquote:first-child{grid-column:auto}
.dahab-camp-page .dahab-hotels-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dahab-camp-page .dahab-hotels-grid article{display:block}.dahab-camp-page .dahab-hotels-grid article img{height:220px;aspect-ratio:16/9}.dahab-camp-page .dahab-hotels-grid article h3{margin:.9rem 1rem 0}.dahab-camp-page .dahab-hotels-grid article p{display:block;margin:.65rem 1rem 1rem;line-height:1.5}
@media (max-width:980px){.dahab-camp-page .dahab-camp-intro{grid-template-columns:1fr;gap:1.25rem}.dahab-camp-page .dahab-reviews{column-count:2}.dahab-camp-page .dahab-hotels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:780px){.dahab-camp-page .dahab-camp-intro{display:block}.dahab-camp-page .dahab-camp-intro>div:first-child{margin-bottom:1.25rem}.dahab-camp-page .dahab-reviews{column-count:1}.dahab-camp-page .dahab-hotels-grid{grid-template-columns:1fr}.dahab-camp-page .dahab-hotels-grid article img{height:auto;aspect-ratio:16/9}}

/* Dahab location page: shared shell, predictable grids, and compact conversion path. */
.dahab-location-page{--dahab-location-shell:min(1440px,calc(100% - 64px));width:100%;max-width:none;color:var(--text)}.site-main--dahab>.dahab-location-page{width:100%;max-width:none}.dahab-location-page>section{width:var(--dahab-location-shell);margin-inline:auto}.dahab-location-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:clamp(3rem,7vw,6rem)}.dahab-location-hero__copy{max-width:680px}.dahab-location-hero h1{max-width:15ch;margin:0;color:var(--ink);font-size:clamp(2.65rem,5.5vw,5rem);letter-spacing:-.055em;line-height:1.04}.dahab-location-hero .lead{max-width:58ch;color:#4d4d53}.dahab-location-hero__image{margin:0}.dahab-location-hero__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.dahab-location-hero .button--ghost{border-color:var(--ink);background:transparent;color:var(--ink)}.dahab-location-hero .button--ghost:hover{border-color:var(--red);background:var(--red);color:var(--white)}
.dahab-location-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dahab-location-facts div{display:grid;gap:.2rem;padding:1rem 1.1rem;border-left:1px solid var(--line)}.dahab-location-facts div:first-child{padding-left:0;border-left:0}.dahab-location-facts strong{color:var(--ink);font-size:1.03rem;line-height:1.25}.dahab-location-facts span{color:var(--muted);font-size:.8rem;line-height:1.35}.dahab-location-section{display:grid;grid-template-columns:minmax(15rem,.78fr) minmax(0,1.22fr);gap:clamp(2rem,6vw,7rem);align-items:start;padding-block:clamp(3.5rem,6vw,5.5rem);border-bottom:1px solid var(--line)}.dahab-location-section h2,.dahab-location-promo h2,.dahab-location-careers h2{margin:0;color:var(--ink);font-size:clamp(1.95rem,3.5vw,3.15rem);letter-spacing:-.04em;line-height:1.08}.dahab-location-section>div:first-child{max-width:36ch}.dahab-location-intro>div:last-child,.dahab-location-method>div:last-child{max-width:70ch}.dahab-location-intro p{margin:0 0 1rem;font-size:1.07rem}.dahab-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dahab-program-card{display:flex;flex-direction:column;min-width:0;min-height:270px;padding:clamp(1.3rem,3vw,2rem);border:1px solid var(--line);background:var(--white)}.dahab-program-card__number{color:var(--red-dark);font-size:.8rem;font-weight:700;letter-spacing:.08em}.dahab-program-card h3{margin:.55rem 0 0;color:var(--ink);font-size:1.35rem;line-height:1.2}.dahab-program-card p{margin:.7rem 0;line-height:1.5}.dahab-program-card ul{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.9rem}.dahab-program-card .text-link{margin-top:auto;padding-top:1rem}.dahab-program-card--dark{border-color:var(--ink);background:var(--ink);color:#fff}.dahab-program-card--dark h3,.dahab-program-card--dark p,.dahab-program-card--dark ul{color:#fff}.dahab-program-card--dark .dahab-program-card__number{color:#ffc1c3}.dahab-program-card--dark .text-link{color:#fff}.dahab-location-promo{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:var(--dahab-location-shell);margin:clamp(3rem,5vw,5rem) auto 0;padding:clamp(1.6rem,4vw,3rem);background:#f0f0ed}.dahab-location-promo>div{max-width:65ch}.dahab-location-promo h2{font-size:clamp(1.8rem,3.2vw,2.8rem)}.dahab-location-promo p:not(.eyebrow){margin:.8rem 0 0}.dahab-location-promo .button{flex:0 0 auto;white-space:nowrap}.dahab-method__body>p{margin:0 0 1.2rem;font-size:1.05rem}.dahab-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.dahab-method-grid article{padding:1rem;border-top:3px solid var(--red);background:var(--paper)}.dahab-method-grid h3{margin:0;color:var(--ink);font-size:1.05rem}.dahab-method-grid p{margin:.4rem 0 0;font-size:.92rem;line-height:1.45}.dahab-location-video{align-items:center}.dahab-location-video__frame{min-width:0;aspect-ratio:16/9;background:#111}.dahab-location-video__frame iframe{display:block;width:100%;height:100%;border:0}.dahab-location-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.dahab-location-gallery figure{margin:0}.dahab-location-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.dahab-stay{grid-template-columns:minmax(15rem,.65fr) minmax(0,1.35fr)}.dahab-stay>div:first-child p:not(.eyebrow){font-size:.98rem}.dahab-location-hotels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dahab-location-hotels-grid article{overflow:hidden;border:1px solid var(--line);background:var(--white)}.dahab-location-hotels-grid article img{display:block;width:100%;height:170px;aspect-ratio:16/9;object-fit:cover}.dahab-location-hotels-grid article h3{margin:.8rem 1rem 0;color:var(--ink);font-size:1.08rem}.dahab-location-hotels-grid article p{margin:.45rem 1rem 1rem;font-size:.9rem;line-height:1.48}.dahab-location-arrival{display:grid;grid-template-columns:minmax(15rem,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,7rem);padding-block:clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--line)}.dahab-location-arrival p{max-width:70ch;margin:0;font-size:1.03rem}.dahab-reviews-section{background:#18181b;color:#f1f1f3;width:100%!important;max-width:none!important;padding-inline:calc((100% - var(--dahab-location-shell)) / 2)}.dahab-reviews-section h2{color:#fff}.dahab-reviews-section .eyebrow{color:#ffc1c3}.dahab-location-reviews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dahab-location-reviews blockquote{display:grid;grid-template-columns:auto 1fr;gap:.85rem;margin:0;padding:1.2rem;border:1px solid #3d3d42;border-left:3px solid var(--red);background:var(--white);color:var(--ink)}.dahab-location-reviews blockquote>img{width:3rem;height:3rem;border-radius:50%;object-fit:cover}.dahab-location-reviews blockquote p{margin:0;font-size:.96rem;line-height:1.55}.dahab-location-reviews cite{display:block;margin-top:.75rem;color:var(--muted);font-size:.88rem;font-style:normal;font-weight:700}.dahab-faq-list{border-top:1px solid var(--line)}.dahab-faq-list details{border-bottom:1px solid var(--line)}.dahab-faq-list summary{padding:1rem 0;color:var(--ink);font-size:1.05rem;font-weight:700;cursor:pointer;list-style:none}.dahab-faq-list summary::-webkit-details-marker{display:none}.dahab-faq-list summary::after{float:right;color:var(--red);content:'+'}.dahab-faq-list details[open] summary::after{content:'−'}.dahab-faq-list details p{max-width:64ch;margin:0 0 1rem;color:#4d4d53}.dahab-location-promo--dark{margin-top:0;background:var(--ink);color:#fff}.dahab-location-promo--dark h2{color:#fff}.dahab-location-promo--dark p:not(.eyebrow){color:#d6d6da}.dahab-location-promo--dark .button--ghost{border-color:#fff;color:#fff}.dahab-location-promo--dark .button--ghost:hover{border-color:var(--red);background:var(--red);color:#fff}.dahab-location-booking{grid-template-columns:minmax(15rem,.75fr) minmax(0,1.25fr);margin-top:0;padding:clamp(3rem,6vw,5rem);background:var(--ink);color:#fff;border-bottom:0}.dahab-location-booking h2{color:#fff}.dahab-location-booking p:not(.eyebrow){color:#d6d6da}.dahab-location-booking__form{min-width:0}.dahab-location-careers{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:clamp(2.5rem,4vw,4rem)}.dahab-location-careers>div{max-width:64ch}.dahab-location-careers h2{font-size:clamp(1.7rem,3vw,2.5rem)}.dahab-location-careers .text-link{flex:0 0 auto}
@media (max-width:980px){.dahab-location-page{--dahab-location-shell:min(100% - 48px,1440px)}.dahab-location-hero{grid-template-columns:1fr}.dahab-location-section,.dahab-location-arrival,.dahab-location-booking{grid-template-columns:1fr;gap:1.5rem}.dahab-location-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.dahab-location-hotels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dahab-reviews-section{padding-inline:calc((100% - var(--dahab-location-shell)) / 2)}}
@media (max-width:780px){.dahab-location-page{--dahab-location-shell:calc(100% - 32px)}.dahab-location-page>section{width:var(--dahab-location-shell)}.dahab-location-hero{padding-block:2.5rem 3.5rem}.dahab-location-hero h1{font-size:clamp(2.45rem,11vw,4rem)}.dahab-location-hero .hero__actions{display:grid;grid-template-columns:1fr;width:100%}.dahab-location-hero .hero__actions .button{width:100%}.dahab-location-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.dahab-location-facts div:nth-child(odd){padding-left:0;border-left:0}.dahab-location-facts div:nth-child(n+3){border-top:1px solid var(--line)}.dahab-program-grid,.dahab-method-grid,.dahab-location-gallery,.dahab-location-hotels-grid,.dahab-location-reviews{grid-template-columns:1fr}.dahab-location-promo,.dahab-location-careers{align-items:flex-start;flex-direction:column;width:var(--dahab-location-shell);margin-top:2.5rem}.dahab-location-promo .button{width:100%}.dahab-reviews-section{width:100%!important;padding-inline:1rem}.dahab-reviews-section>div{width:var(--dahab-location-shell);margin-inline:auto}.dahab-location-promo--dark{width:100%!important;margin-top:0}.dahab-location-promo--dark>div,.dahab-location-promo--dark>a{width:var(--dahab-location-shell)}.dahab-location-booking{padding:2rem 1.25rem}.dahab-location-careers{gap:1rem}.dahab-location-careers .text-link{align-self:flex-start}}
.dahab-location-page .dahab-curriculum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.dahab-location-page .dahab-curriculum article{padding:1.2rem;border:1px solid var(--line);background:var(--white)}.dahab-location-page .dahab-curriculum h3{margin:0;color:var(--ink);font-size:1.25rem;line-height:1.2}.dahab-location-page .dahab-curriculum .eyebrow{margin-bottom:.4rem}.dahab-location-page .dahab-curriculum__stages{display:grid;gap:.65rem;margin:1rem 0 0;padding:0;list-style:none;counter-reset:curriculum-step}.dahab-location-page .dahab-curriculum__stages li{display:grid;grid-template-columns:1.65rem minmax(0,1fr);gap:.6rem;align-items:start;counter-increment:curriculum-step}.dahab-location-page .dahab-curriculum__stages li::before{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--red);color:var(--white);font-size:.72rem;font-weight:700;content:counter(curriculum-step)}.dahab-location-page .dahab-curriculum__stages strong{display:block;color:var(--ink);font-size:.92rem;line-height:1.25}.dahab-location-page .dahab-curriculum__stages span{display:block;margin-top:.1rem;color:var(--muted);font-size:.88rem;line-height:1.45}@media (max-width:780px){.dahab-location-page .dahab-curriculum{grid-template-columns:1fr}}
.dahab-location-page{font-size:16px;line-height:1.6}.dahab-location-page p,.dahab-location-page li{line-height:1.6}.dahab-location-page h2,.dahab-location-page h3,.dahab-location-page h4{overflow-wrap:anywhere}
.dahab-why-mosaic{display:grid;gap:1.5rem;min-width:0}.dahab-why-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch;overflow:hidden;border:1px solid var(--line);background:var(--white)}.dahab-why-card>img{display:block;width:100%;height:100%;min-height:220px;object-fit:cover}.dahab-why-card>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.2rem,3vw,2rem)}.dahab-why-card--reverse>img{order:2}.dahab-why-card--reverse>div{order:1}.dahab-why-card h3{margin:0;color:var(--ink);font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.2}.dahab-why-card p{margin:.7rem 0 0}.dahab-why-conclusion{grid-column:1/-1;max-width:72ch;margin:0!important;font-size:1.08rem;font-weight:600}
.dahab-formats-section{align-items:start}.dahab-formats{min-width:0}.dahab-format-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.dahab-format-tabs span{padding:.42rem .7rem;border:1px solid var(--line);color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:.08em}.dahab-format-tabs span:first-child{border-color:var(--red);color:var(--red-dark)}.dahab-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dahab-format-card{display:flex;flex-direction:column;min-width:0;min-height:100%;padding:clamp(1.2rem,2.5vw,1.7rem);border:1px solid var(--line);background:var(--white)}.dahab-format-card:nth-child(3){grid-column:1/-1}.dahab-format-card--wingfoil{background:var(--ink);color:#fff;border-color:var(--ink)}.dahab-format-card--wingfoil h3,.dahab-format-card--wingfoil li,.dahab-format-card--wingfoil .dahab-format-card__price{color:#fff}.dahab-format-card--wingfoil .eyebrow{color:#ffc1c3}.dahab-format-card h3{margin:.2rem 0 .5rem;color:var(--ink);font-size:1.35rem;line-height:1.25}.dahab-format-card__price{display:block;color:var(--red-dark);font-size:1.35rem;line-height:1.2}.dahab-format-card ul{display:grid;gap:.3rem;margin:1rem 0 0;padding-left:1.15rem}.dahab-format-card li{font-size:1rem}.dahab-format-card .text-link{margin-top:auto;padding-top:1rem}.dahab-format-card--wingfoil .text-link{color:#fff}
.dahab-camp-dates{margin-top:0}.dahab-date-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0}.dahab-date-list span{padding:.4rem .65rem;border:1px solid #c9c9c7;background:var(--white);color:var(--ink);font-weight:700;white-space:nowrap}
.dahab-announcements-section{align-items:start}.dahab-announcement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dahab-announcement-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:var(--white)}.dahab-announcement-card__media{position:relative}.dahab-announcement-card__media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.dahab-announcement-card__media span{position:absolute;left:.75rem;top:.75rem;padding:.25rem .45rem;background:var(--ink);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em}.dahab-announcement-card>div:last-child{display:flex;flex:1;flex-direction:column;padding:1rem 1.1rem}.dahab-announcement-card h3{margin:0;color:var(--ink);font-size:1.2rem;line-height:1.25}.dahab-announcement-card p{margin:.55rem 0 0}.dahab-announcement-card .text-link{margin-top:auto;padding-top:1rem}
.dahab-curriculum-wrap{min-width:0}.dahab-curriculum-wrap>.button{margin-top:1.25rem}.dahab-location-page .dahab-curriculum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}.dahab-location-page .dahab-curriculum article{padding:clamp(1.1rem,2.2vw,1.6rem);border:1px solid var(--line);background:var(--white)}.dahab-location-page .dahab-curriculum h3{margin:0 0 .9rem;color:var(--ink);font-size:1.45rem}.dahab-location-page .dahab-curriculum section{padding:1rem 0;border-top:1px solid var(--line)}.dahab-location-page .dahab-curriculum section:first-of-type{border-top:0;padding-top:0}.dahab-location-page .dahab-curriculum h4{margin:0;color:var(--red-dark);font-size:1rem;letter-spacing:.02em;line-height:1.3}.dahab-location-page .dahab-curriculum ul{display:grid;gap:.35rem;margin:.55rem 0 0;padding-left:1.1rem}.dahab-location-page .dahab-curriculum li{font-size:1rem}
.dahab-location-page .dahab-team-grid{gap:1rem}.dahab-location-page .dahab-team-grid article p{font-size:1rem;line-height:1.6}.dahab-location-page .dahab-location-hotels-grid article p{font-size:1rem;line-height:1.6}.dahab-location-page .dahab-location-reviews blockquote p{font-size:1rem;line-height:1.6}.dahab-location-page .dahab-location-reviews cite{font-size:.9rem}.dahab-location-arrival{align-items:start}.dahab-location-arrival h3{margin:1.3rem 0 .4rem;color:var(--ink);font-size:1.15rem}.dahab-location-arrival ul{margin:.5rem 0 0;padding-left:1.2rem}
@media (max-width:980px){.dahab-format-grid,.dahab-announcement-grid{grid-template-columns:1fr}.dahab-format-card:nth-child(3){grid-column:auto}.dahab-location-page .dahab-curriculum{grid-template-columns:1fr}}
@media (max-width:780px){.dahab-why-card{grid-template-columns:1fr}.dahab-why-card--reverse>img,.dahab-why-card--reverse>div{order:initial}.dahab-why-card>img{height:auto;min-height:0;aspect-ratio:16/10}.dahab-format-tabs{overflow:auto}.dahab-format-tabs span{flex:0 0 auto}.dahab-date-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dahab-date-list span{text-align:center}.dahab-location-page .dahab-curriculum article{padding:1rem}.dahab-location-page .dahab-curriculum li{font-size:1rem}}
.dahab-location-page .dahab-location-section{grid-template-columns:minmax(0,.32fr) minmax(0,.68fr);gap:clamp(1.5rem,4vw,4.5rem)}.dahab-location-page .dahab-location-section>div:first-child{max-width:30ch}.dahab-location-page .dahab-location-section>div:first-child h2{max-width:20ch;font-size:clamp(1.85rem,3vw,2.8rem);text-wrap:balance}.dahab-location-page .dahab-team-grid article img{height:240px;object-position:center 35%}.dahab-location-page .dahab-team-grid article:nth-child(3) img{object-position:center 22%}.dahab-location-page .dahab-location-reviews blockquote>img{display:block;width:4rem;height:4rem;min-width:4rem;border-radius:50%;object-fit:cover;object-position:center}.dahab-location-page .dahab-location-reviews blockquote{align-items:start}.dahab-location-page .dahab-location-reviews blockquote>div{min-width:0}
@media (max-width:980px){.dahab-location-page .dahab-location-section{grid-template-columns:1fr;gap:1.5rem}.dahab-location-page .dahab-location-section>div:first-child{max-width:36ch}.dahab-location-page .dahab-location-section>div:first-child h2{max-width:24ch}}
.dahab-location-page .dahab-why>div:first-child h2{overflow-wrap:normal;word-break:normal;hyphens:none}@media (min-width:981px){.dahab-location-page .dahab-why>div:first-child h2{font-size:clamp(1.75rem,2.6vw,2.35rem)}}
.dahab-format-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.dahab-format-tabs button{min-width:8.5rem;min-height:44px;padding:.55rem .85rem;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--muted);font:700 .8rem var(--font);letter-spacing:.08em;cursor:pointer}.dahab-format-tabs button[aria-selected="true"]{border-color:var(--red);background:var(--red);color:var(--white)}.dahab-format-tabs button:hover{border-color:var(--red-dark);color:var(--red-dark)}.dahab-format-tabs button[aria-selected="true"]:hover{color:var(--white)}.dahab-format-tabs button:focus-visible{outline:3px solid var(--red);outline-offset:3px}.dahab-format-panel{min-width:0}.dahab-format-panel[hidden]{display:none}.dahab-format-panel .dahab-format-grid{margin:0}.dahab-camp-promo{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);align-items:stretch;gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.5rem,4vw,3rem);background:#f0f0ed}.dahab-camp-promo__copy{min-width:0;max-width:72ch}.dahab-camp-promo__summary{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(1.2rem,3vw,2rem);background:var(--ink);color:var(--white)}.dahab-camp-promo__summary .eyebrow{color:#ffc1c3}.dahab-camp-promo__summary ul{display:grid;gap:.55rem;margin:.5rem 0 1.5rem;padding-left:1.2rem}.dahab-camp-promo__summary li{line-height:1.5}.dahab-camp-promo__summary .button{width:100%;margin-top:auto}.dahab-camp-promo .dahab-date-list{margin:.9rem 0}.dahab-camp-promo h2{max-width:22ch}
@media (max-width:980px){.dahab-camp-promo{grid-template-columns:1fr}.dahab-camp-promo__summary{display:block}.dahab-camp-promo__summary .button{width:auto;margin-top:.75rem}}
@media (max-width:780px){.dahab-format-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dahab-format-tabs button{width:100%;min-width:0}.dahab-camp-promo__summary .button{width:100%}.dahab-camp-promo h2{max-width:24ch}}

/* Mauritius landing page: editorial black, white and red system. */
.site-main--mauritius{width:100%;max-width:none}.mauritius-page{--mauritius-shell:min(1240px,calc(100% - 64px));width:100%;max-width:none;font-size:16px;line-height:1.6}.mauritius-page>section{width:var(--mauritius-shell);max-width:none;margin-inline:auto}.mauritius-page h2,.mauritius-page h3{overflow-wrap:anywhere}.mauritius-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:clamp(3rem,7vw,6rem)}.mauritius-hero__copy{max-width:700px}.mauritius-hero h1{max-width:16ch;margin:0;color:var(--ink);font-size:clamp(2.65rem,5.5vw,5rem);letter-spacing:-.055em;line-height:1.04}.mauritius-hero .lead{max-width:58ch;color:#4d4d53}.mauritius-hero__image{margin:0}.mauritius-hero__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.mauritius-hero .button--ghost{border-color:var(--ink);background:transparent;color:var(--ink)}.mauritius-hero .button--ghost:hover{border-color:var(--red);background:var(--red);color:#fff}.mauritius-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mauritius-facts div{display:grid;gap:.2rem;padding:1rem 1.1rem;border-left:1px solid var(--line)}.mauritius-facts div:first-child{padding-left:0;border-left:0}.mauritius-facts strong{color:var(--ink);font-size:1.1rem}.mauritius-facts span{color:var(--muted);font-size:.8rem}.mauritius-camp-promo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:center;margin-top:clamp(2.5rem,5vw,5rem);padding:clamp(1.4rem,4vw,3rem);background:var(--ink);color:#fff}.mauritius-camp-promo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.mauritius-camp-promo h2{margin:0;color:#fff;font-size:clamp(2rem,4vw,3.6rem);line-height:1.06}.mauritius-camp-promo p:not(.eyebrow){max-width:58ch;color:#d6d6da}.mauritius-section{display:grid;grid-template-columns:minmax(15rem,.32fr) minmax(0,.68fr);gap:clamp(1.5rem,4vw,4.5rem);align-items:start;padding-block:clamp(3.5rem,6vw,5.5rem);border-bottom:1px solid var(--line)}.mauritius-section__heading{max-width:32ch}.mauritius-section__heading h2{margin:0;color:var(--ink);font-size:clamp(1.85rem,3vw,2.8rem);letter-spacing:-.04em;line-height:1.08}.mauritius-section__heading>p:not(.eyebrow){margin:.8rem 0 0}.mauritius-section__heading .button{margin-top:1.2rem}.mauritius-why-grid{display:grid;gap:1rem}.mauritius-why-grid article{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border:1px solid var(--line);background:#fff}.mauritius-why-grid article:nth-child(even) img{order:2}.mauritius-why-grid article>img{display:block;width:100%;height:100%;min-height:190px;object-fit:cover}.mauritius-why-grid article>div{padding:clamp(1.1rem,2.2vw,1.7rem)}.mauritius-why-grid h3{margin:0;color:var(--ink);font-size:1.35rem;line-height:1.2}.mauritius-why-grid p{margin:.55rem 0 0}.mauritius-why-copy{padding:1.1rem 1.3rem;border-left:4px solid var(--red);background:var(--paper)}.mauritius-why-copy p{margin:0;max-width:68ch}.mauritius-condition-list{display:grid;gap:.65rem}.mauritius-condition-list article{display:grid;grid-template-columns:2.2rem 1fr;gap:.9rem;align-items:start;padding:.85rem 0;border-bottom:1px solid var(--line)}.mauritius-condition-list span{display:grid;place-items:center;width:2rem;height:2rem;background:var(--red);color:#fff;font-size:.78rem;font-weight:700}.mauritius-condition-list p{margin:0}.mauritius-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:1.25rem}.mauritius-gallery figure{margin:0;overflow:hidden;background:var(--paper)}.mauritius-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s ease}.mauritius-gallery figure:hover img{transform:scale(1.03)}.mauritius-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.mauritius-tabs button{min-width:9rem;min-height:44px;padding:.55rem .8rem;border:1px solid var(--line);background:#fff;color:var(--muted);font:700 .78rem var(--font);letter-spacing:.08em;cursor:pointer}.mauritius-tabs button[aria-selected=true]{border-color:var(--red);background:var(--red);color:#fff}.mauritius-tabs button:focus-visible{outline:3px solid var(--red);outline-offset:3px}.mauritius-price-panel[hidden],.mauritius-stay-panel[hidden]{display:none}.mauritius-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.mauritius-price-card{display:flex;flex-direction:column;min-width:0;padding:clamp(1.1rem,2.3vw,1.6rem);border:1px solid var(--line);background:#fff}.mauritius-price-card--dark{border-color:var(--ink);background:var(--ink);color:#fff}.mauritius-price-card h3{margin:.15rem 0 .45rem;color:var(--ink);font-size:1.3rem;line-height:1.2}.mauritius-price-card--dark h3,.mauritius-price-card--dark strong,.mauritius-price-card--dark li,.mauritius-price-card--dark p{color:#fff}.mauritius-price-card strong{display:block;color:var(--red-dark);font-size:1.35rem}.mauritius-price-card ul{display:grid;gap:.3rem;margin:.9rem 0 0;padding-left:1.15rem}.mauritius-price-card .text-link{margin-top:auto;padding-top:1rem}.mauritius-price-card--dark .eyebrow{color:#ffc1c3}.mauritius-price-card--dark .text-link{color:#fff}.mauritius-excursions{display:block}.mauritius-excursions>.mauritius-section__heading{max-width:50ch}.mauritius-excursion-grid,.mauritius-hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mauritius-excursion-grid article,.mauritius-hotel-grid article{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:#fff}.mauritius-card-image img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.mauritius-excursion-grid article>div:last-child,.mauritius-hotel-grid article>div:last-child{display:flex;flex:1;flex-direction:column;padding:1rem}.mauritius-excursion-grid h3,.mauritius-hotel-grid h3{margin:0;color:var(--ink);font-size:1.25rem}.mauritius-excursion-grid p,.mauritius-hotel-grid p{margin:.55rem 0 0}.mauritius-excursion-grid .text-link{margin-top:auto;padding-top:1rem}.mauritius-excursions>.button{margin-top:1.3rem}.mauritius-team{display:block}.mauritius-team>.mauritius-section__heading{max-width:40ch}.mauritius-team-card{display:grid;grid-template-columns:minmax(15rem,.35fr) minmax(0,.65fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}.mauritius-team-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.mauritius-team-card h3{margin:0;color:var(--ink);font-size:2rem}.mauritius-team-card p{max-width:64ch;margin:.8rem 0}.mauritius-announcements{display:block}.mauritius-announcement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mauritius-announcement-grid article{display:flex;flex-direction:column;min-height:210px;padding:1.1rem;border-top:3px solid var(--red);background:var(--paper)}.mauritius-announcement-grid h3{margin:0;color:var(--ink);font-size:1.2rem}.mauritius-announcement-grid p:not(.eyebrow){margin:.55rem 0 0}.mauritius-announcement-grid .text-link{margin-top:auto;padding-top:1rem}.mauritius-reviews{display:block;background:var(--ink);color:#fff;width:100%!important;padding-inline:calc((100% - var(--mauritius-shell)) / 2)}.mauritius-reviews h2{color:#fff}.mauritius-reviews .eyebrow{color:#ffc1c3}.mauritius-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.mauritius-review-grid blockquote{display:flex;flex-direction:column;min-width:0;margin:0;padding:1.2rem;border-left:3px solid var(--red);background:#fff;color:var(--ink)}.mauritius-review-grid blockquote p{margin:0;line-height:1.6}.mauritius-review-grid footer{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;color:var(--muted);font-size:.86rem}.mauritius-review-grid cite{font-style:normal;font-weight:700;color:var(--ink)}.mauritius-students{display:block}.mauritius-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.mauritius-video{aspect-ratio:16/9;background:#111}.mauritius-video iframe{display:block;width:100%;height:100%;border:0}.mauritius-stay{display:block}.mauritius-stay>.mauritius-section__heading{max-width:48ch}.mauritius-stay-panel{display:grid;grid-template-columns:minmax(14rem,.35fr) minmax(0,.65fr);gap:1.3rem;align-items:start}.mauritius-stay-copy h3{margin:0;color:var(--ink);font-size:1.45rem}.mauritius-stay-copy>strong{display:block;margin-top:.35rem;color:var(--red-dark);font-size:1.25rem}.mauritius-stay-copy p{margin:.7rem 0}.mauritius-stay-copy .button{margin-top:.5rem}.mauritius-gallery--stay{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.mauritius-hotels{display:block}.mauritius-hotels>.mauritius-section__heading{max-width:65ch;margin-bottom:1.7rem}.mauritius-hotel-grid h3{font-size:1.1rem}.mauritius-hotel-grid strong{display:block;margin-top:.25rem;color:var(--red-dark)}.mauritius-mini-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:auto;padding-top:.8rem}.mauritius-mini-gallery figure{margin:0}.mauritius-mini-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.mauritius-arrival{align-items:center}.mauritius-arrival-body{display:grid;grid-template-columns:minmax(12rem,.42fr) minmax(0,.58fr);gap:1.2rem;align-items:start}.mauritius-arrival-body img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.mauritius-arrival-body p{margin:0}.mauritius-arrival-body .button{grid-column:2;justify-self:start}.mauritius-recruitment{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;width:var(--mauritius-shell);margin:clamp(3rem,5vw,5rem) auto;padding:clamp(1.6rem,4vw,3rem);background:#f0f0ed}.mauritius-recruitment h2{margin:0;color:var(--ink);font-size:clamp(2rem,3vw,3rem)}.mauritius-recruitment p:not(.eyebrow){max-width:60ch}.mauritius-gallery--bottom{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.mauritius-booking{grid-template-columns:minmax(15rem,.75fr) minmax(0,1.25fr);padding:clamp(3rem,6vw,5rem);background:var(--ink);color:#fff;border-bottom:0}.mauritius-booking h2{color:#fff}.mauritius-booking p:not(.eyebrow){color:#d6d6da}.mauritius-booking .lead-form-wrap{color:var(--ink)}
@media (max-width:980px){.mauritius-page{--mauritius-shell:min(100% - 48px,1240px)}.mauritius-hero,.mauritius-camp-promo,.mauritius-section,.mauritius-recruitment,.mauritius-booking{grid-template-columns:1fr}.mauritius-section__heading{max-width:44ch}.mauritius-why-grid article{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.mauritius-excursion-grid,.mauritius-hotel-grid,.mauritius-announcement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mauritius-team-card{grid-template-columns:minmax(12rem,.4fr) minmax(0,.6fr)}.mauritius-booking{gap:1.5rem}.mauritius-arrival-body{grid-template-columns:1fr 1fr}}
@media (max-width:780px){.mauritius-page{--mauritius-shell:calc(100% - 32px)}.mauritius-page>section{width:var(--mauritius-shell)}.mauritius-hero{padding-block:2.5rem 3.5rem}.mauritius-hero h1{font-size:clamp(2.45rem,11vw,4rem)}.mauritius-hero .hero__actions{display:grid;grid-template-columns:1fr;width:100%}.mauritius-hero .hero__actions .button{width:100%}.mauritius-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.mauritius-facts div:nth-child(odd){padding-left:0;border-left:0}.mauritius-facts div:nth-child(n+3){border-top:1px solid var(--line)}.mauritius-camp-promo{margin-top:2.5rem}.mauritius-section{padding-block:3rem}.mauritius-why-grid article{grid-template-columns:1fr}.mauritius-why-grid article:nth-child(even) img{order:0}.mauritius-why-grid article>img{height:auto;min-height:0;aspect-ratio:16/10}.mauritius-gallery,.mauritius-gallery--stay,.mauritius-gallery--bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.mauritius-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mauritius-tabs button{width:100%;min-width:0}.mauritius-price-grid,.mauritius-excursion-grid,.mauritius-hotel-grid,.mauritius-announcement-grid,.mauritius-review-grid,.mauritius-video-grid,.mauritius-stay-panel,.mauritius-team-card,.mauritius-arrival-body{grid-template-columns:1fr}.mauritius-team-card img{aspect-ratio:16/10}.mauritius-arrival-body .button{grid-column:auto}.mauritius-recruitment{width:var(--mauritius-shell);margin-block:2.5rem;padding:1.3rem}.mauritius-booking{padding:2rem 1.25rem}.mauritius-reviews{padding-inline:1rem}.mauritius-reviews>.mauritius-section__heading,.mauritius-reviews>.mauritius-review-grid{width:var(--mauritius-shell);margin-inline:auto}.mauritius-reviews>.mauritius-section__heading{margin-bottom:1.5rem}}
.mauritius-gallery figure:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.lead-form fieldset{display:grid;gap:.45rem;margin:0;padding:.75rem;border:1px solid #88888d}.lead-form fieldset legend{padding:0 .25rem;font-size:.9rem;font-weight:700}.lead-form .lead-form__check{display:flex;grid-template-columns:none;align-items:center;gap:.5rem;font-weight:400}.lead-form .lead-form__check input{width:1.1rem}
.mauritius-price-offer{padding:.8rem 0;border-top:1px solid var(--line)}.mauritius-price-offer:first-of-type{border-top:0}.mauritius-price-card--dark .mauritius-price-offer{border-color:#45454a}.mauritius-contact{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:var(--mauritius-shell);margin:0 auto;padding:clamp(2rem,4vw,3.5rem) 0;border-bottom:1px solid var(--line)}.mauritius-contact h2{margin:0;color:var(--ink);font-size:clamp(1.8rem,3vw,2.8rem)}.mauritius-contact nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.mauritius-contact nav a{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .75rem;border:1px solid var(--line);color:var(--ink);font-weight:700;text-decoration:none}.mauritius-contact nav a:hover{border-color:var(--red);color:var(--red-dark)}
@media (max-width:780px){.mauritius-contact{align-items:flex-start;flex-direction:column;width:var(--mauritius-shell)}.mauritius-contact nav{justify-content:flex-start}.mauritius-contact nav a{flex:1 1 auto}}

/* Mauritius visual rhythm, editorial galleries and keyboard-accessible lightbox. */
.mauritius-page{--mauritius-space-1:.5rem;--mauritius-space-2:1rem;--mauritius-space-3:1.5rem;--mauritius-space-4:2rem;--mauritius-space-5:3rem}.mauritius-page>section{scroll-margin-top:2rem}.mauritius-section{padding-block:clamp(3rem,5vw,4.5rem)}.mauritius-section__heading{margin-bottom:var(--mauritius-space-3)}.mauritius-why-extra{margin-top:var(--mauritius-space-3)}.mauritius-editorial-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--mauritius-space-2);margin-top:var(--mauritius-space-4);padding-top:var(--mauritius-space-3);border-top:3px solid var(--red)}.mauritius-editorial-gallery-heading h3{margin:0;color:var(--ink);font-size:clamp(1.25rem,2.5vw,1.8rem)}.mauritius-gallery--why-extra{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:var(--mauritius-space-2)}.mauritius-gallery--why-extra figure:nth-child(3n+1){grid-column:span 2}.mauritius-gallery--why-extra figure:nth-child(4n){grid-row:span 2}.mauritius-gallery figure,.mauritius-mini-gallery figure,.mauritius-hotel-main{cursor:zoom-in}.mauritius-gallery figure:focus-visible,.mauritius-mini-gallery figure:focus-visible,.mauritius-hotel-main:focus-visible{outline:3px solid var(--red);outline-offset:3px}.mauritius-gallery img,.mauritius-mini-gallery img,.mauritius-hotel-main img{transition:transform .25s ease}.mauritius-gallery figure:hover img,.mauritius-mini-gallery figure:hover img,.mauritius-hotel-main:hover img{transform:scale(1.025)}.mauritius-tabs{margin-bottom:var(--mauritius-space-2)}.mauritius-stay-selector .mauritius-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.mauritius-stay-selector .mauritius-tabs button{min-width:0;width:100%;letter-spacing:0;line-height:1.2}.mauritius-price-selector .mauritius-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:32rem}.mauritius-video-grid{gap:var(--mauritius-space-2);margin-top:var(--mauritius-space-3)}.mauritius-students .mauritius-section__heading{margin-bottom:0}.mauritius-stay-panel{gap:var(--mauritius-space-3)}.mauritius-hotels>.mauritius-section__heading{margin-bottom:var(--mauritius-space-4)}.mauritius-hotel-grid{grid-template-columns:1fr;gap:var(--mauritius-space-3)}.mauritius-hotel-grid article{display:grid;grid-template-columns:minmax(16rem,.42fr) minmax(0,.58fr);gap:0;min-height:0}.mauritius-hotel-grid article>div:last-child{padding:clamp(1.25rem,3vw,2rem)}.mauritius-hotel-main{display:block;height:100%;margin:0}.mauritius-hotel-main img{display:block;width:100%;height:100%;min-height:16rem;aspect-ratio:4/3;object-fit:cover}.mauritius-mini-gallery{grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem;margin-top:var(--mauritius-space-2);padding-top:var(--mauritius-space-2);border-top:1px solid var(--line)}.mauritius-mini-gallery img{aspect-ratio:1}.mauritius-recruitment{grid-template-columns:minmax(0,.9fr) minmax(14rem,.65fr);gap:var(--mauritius-space-4);margin-block:var(--mauritius-space-5);background:var(--ink);color:#fff}.mauritius-recruitment h2{color:#fff}.mauritius-recruitment p:not(.eyebrow){color:#d6d6da}.mauritius-recruitment .mauritius-gallery--recruitment{display:block;margin:0}.mauritius-recruitment .mauritius-gallery--recruitment figure{margin:0}.mauritius-recruitment .mauritius-gallery--recruitment img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.mauritius-bottom-gallery{display:grid}.mauritius-bottom-gallery .mauritius-section__heading{margin-bottom:0}.mauritius-gallery--bottom{gap:.75rem;margin-top:0}.mauritius-booking{gap:var(--mauritius-space-4)}.mauritius-page .lead-form-wrap{padding:clamp(1.15rem,2vw,1.75rem);box-shadow:8px 8px 0 var(--red)}.mauritius-page .lead-form__grid{gap:.75rem}.mauritius-page .lead-form input,.mauritius-page .lead-form select,.mauritius-page .lead-form textarea{min-height:44px;padding:.65rem .75rem}.mauritius-page .lead-form textarea{min-height:100px}.mauritius-page .lead-form__advanced{grid-column:1/-1;border:1px solid #d4d4d8;background:#f7f7f5}.mauritius-page .lead-form__advanced summary{min-height:44px;padding:.7rem .85rem;color:var(--ink);font-weight:700;cursor:pointer;list-style:none}.mauritius-page .lead-form__advanced summary::-webkit-details-marker{display:none}.mauritius-page .lead-form__advanced summary::before{display:inline-block;margin-right:.55rem;color:var(--red);content:'+';font-size:1.15rem}.mauritius-page .lead-form__advanced[open] summary::before{content:'−'}.mauritius-page .lead-form__advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:0 .85rem .85rem}.mauritius-page .lead-form__advanced-grid fieldset{grid-column:1/-1;background:#fff}.mauritius-page .lead-form__advanced-grid .lead-form__wide{grid-column:1/-1}
.mauritius-lightbox{width:min(92vw,1100px);max-width:1100px;padding:0;border:0;background:#101014;color:#fff;box-shadow:0 1rem 4rem rgba(0,0,0,.45)}.mauritius-lightbox::backdrop{background:rgba(9,9,11,.84)}.mauritius-lightbox__frame{position:relative;display:grid;place-items:center;min-height:min(78vh,760px);padding:3.5rem 4.25rem 2.5rem}.mauritius-lightbox__image{display:block;max-width:100%;max-height:70vh;width:auto;height:auto;object-fit:contain}.mauritius-lightbox__close,.mauritius-lightbox__prev,.mauritius-lightbox__next{position:absolute;display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.45);background:#101014;color:#fff;font:inherit;cursor:pointer}.mauritius-lightbox__close{top:.75rem;right:.75rem;font-size:1.5rem}.mauritius-lightbox__prev{top:50%;left:.75rem;transform:translateY(-50%);font-size:1.7rem}.mauritius-lightbox__next{top:50%;right:.75rem;transform:translateY(-50%);font-size:1.7rem}.mauritius-lightbox__close:focus-visible,.mauritius-lightbox__prev:focus-visible,.mauritius-lightbox__next:focus-visible{outline:3px solid #ff4f56;outline-offset:2px}.mauritius-lightbox__caption{max-width:60ch;margin:.8rem auto 0;color:#d6d6da;text-align:center;font-size:.9rem}.mauritius-lightbox[open] .mauritius-lightbox__frame{animation:mauritius-lightbox-in .2s ease-out}@keyframes mauritius-lightbox-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mauritius-gallery img,.mauritius-mini-gallery img,.mauritius-hotel-main img,.mauritius-lightbox[open] .mauritius-lightbox__frame{transition:none;animation:none}}
@media (max-width:980px){.mauritius-stay-selector .mauritius-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.mauritius-hotel-grid article{grid-template-columns:1fr}.mauritius-hotel-main img{height:auto;min-height:0}.mauritius-mini-gallery{grid-template-columns:repeat(7,minmax(0,1fr))}.mauritius-recruitment{grid-template-columns:1fr}}
@media (max-width:780px){.mauritius-section{padding-block:2.75rem}.mauritius-editorial-gallery-heading{align-items:flex-start;flex-direction:column}.mauritius-gallery--why-extra{grid-template-columns:repeat(2,minmax(0,1fr))}.mauritius-gallery--why-extra figure:nth-child(3n+1){grid-column:auto}.mauritius-gallery--why-extra figure:nth-child(4n){grid-row:auto}.mauritius-mini-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.mauritius-lightbox__frame{min-height:60vh;padding-inline:3.25rem}.lead-form__advanced-grid{grid-template-columns:1fr}.lead-form__advanced-grid fieldset,.lead-form__advanced-grid .lead-form__wide{grid-column:auto}}

.mauritius-prices__content{min-width:0}.mauritius-prices__content .mauritius-editorial-gallery-heading{margin-top:var(--mauritius-space-3)}.mauritius-gallery--prices{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-top:var(--mauritius-space-2)}.mauritius-gallery--prices figure{aspect-ratio:4/3}.mauritius-gallery figure,.mauritius-mini-gallery figure,.mauritius-hotel-main{position:relative;aspect-ratio:4/3;background:#17171b}.mauritius-gallery figure::before,.mauritius-mini-gallery figure::before,.mauritius-hotel-main::before{position:absolute;inset:0;background:linear-gradient(135deg,#202026,#101014);content:''}.mauritius-gallery figure.is-loaded::before,.mauritius-mini-gallery figure.is-loaded::before,.mauritius-hotel-main.is-loaded::before{opacity:0}.mauritius-gallery figure.is-error::after,.mauritius-mini-gallery figure.is-error::after,.mauritius-hotel-main.is-error::after{position:absolute;inset:auto .5rem .5rem;color:#d6d6da;font-size:.72rem;content:'Фото временно недоступно'}.mauritius-gallery figure img,.mauritius-mini-gallery figure img,.mauritius-hotel-main img{position:relative;z-index:1;opacity:0;transition:opacity .3s ease,transform .25s ease}.mauritius-gallery figure.is-loaded img,.mauritius-mini-gallery figure.is-loaded img,.mauritius-hotel-main.is-loaded img{opacity:1}.mauritius-gallery--recruitment figure{aspect-ratio:4/3}.mauritius-gallery--bottom figure{aspect-ratio:4/3}
@media (max-width:980px){.mauritius-gallery--prices{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:780px){.mauritius-gallery--prices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.mauritius-gallery figure img,.mauritius-mini-gallery figure img,.mauritius-hotel-main img{transition:none}}
.mauritius-page section>*,.mauritius-page article,.mauritius-page figure,.mauritius-page img{min-width:0;max-width:100%}.mauritius-page img[data-src]{background:#17171b}.mauritius-page .mauritius-hotel-main{min-width:0;max-width:100%;overflow:hidden}.mauritius-page .mauritius-hotel-main img{min-width:0;max-width:100%;height:100%;object-fit:cover}
img[data-nirvana-image="deferred"]{background:#17171b}
