/* Camp detail pages: persistent contents, clear facts, and photo-led sections. */
.detail-brochure .detail-layout{display:grid;grid-template-columns:168px minmax(0,1fr);gap:36px;max-width:1440px;margin:calc(var(--nav-h) + var(--util-h)) auto 0;padding:0 28px;align-items:start}
.detail-content{min-width:0}.detail-brochure .detail-content .wrap{max-width:none;padding-left:0;padding-right:0}
.detail-rail{position:sticky;top:calc(var(--nav-h) + var(--util-h) + 20px);margin-top:30px;padding:0 15px 16px 0;border-right:1px solid var(--line);max-height:calc(100dvh - var(--nav-h) - var(--util-h) - 116px);overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain;z-index:110;background:#fff}
.detail-rail-title{font-size:14px;color:var(--muted);font-weight:600;padding:0 12px 13px}.detail-rail-links{display:flex;flex-direction:column;gap:3px}.detail-rail-links a{display:flex;align-items:center;min-height:43px;padding:8px 12px;border-radius:5px;color:var(--body);font-size:15px;font-weight:550;line-height:1.5;transition:background .2s,color .2s}
.detail-rail-links a:hover{background:#f1f6f2;color:var(--accent)}.detail-rail-links a[aria-current=location]{background:#eaf3ec;color:var(--accent-dk);font-weight:750;box-shadow:inset 3px 0 var(--accent)}.detail-rail-consult{display:block;padding:12px 9px;margin-top:18px;background:var(--accent);color:#fff!important;text-align:center;border-radius:5px;font-size:14px;font-weight:650}.detail-rail-consult:hover{background:var(--accent-dk)}
.detail-brochure .detail-intro.page-hero{margin:0;padding:25px 0 45px!important;background:#fff;border:0}.detail-brochure .detail-breadcrumb .crumb{font-size:13px;padding-bottom:19px;margin:0 0 24px;border-bottom:1px solid var(--line)}
.detail-brochure .detail-intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px;align-items:center}.detail-brochure .detail-photo{aspect-ratio:6/5;border-radius:12px;overflow:hidden;margin:0}.detail-brochure .detail-photo img{width:100%;height:100%;object-fit:cover}.detail-brochure .detail-location{color:var(--accent);font-size:15px!important;font-weight:650;margin:0 0 10px!important;line-height:1.5}
.detail-brochure .detail-intro h1{font-size:clamp(30px,2.6vw,40px);line-height:1.28;letter-spacing:-.04em;word-break:keep-all;text-wrap:balance}.detail-brochure .detail-intro h1::first-line{color:var(--accent)}.detail-brochure .detail-intro-copy>p:not(.detail-location){font-size:17px;line-height:1.8;margin-top:16px}.detail-brochure .detail-keyfacts{margin-top:20px;padding-top:13px}.detail-brochure .detail-keyfacts>div{grid-template-columns:60px minmax(0,1fr);padding:4px 0}.detail-brochure .detail-keyfacts [data-pi$='_dates']{font-weight:650;color:var(--accent-dk);font-variant-numeric:tabular-nums}.detail-brochure .detail-keyfacts [data-pi$='_price']{font-size:33px;line-height:1.4}.detail-brochure .detail-keyfacts small{font-size:13px}.detail-brochure .intro-actions{gap:8px;margin-top:21px}.detail-brochure .intro-actions .btn{font-size:15px;min-height:48px;padding:10px 15px}
.detail-brochure .detail-content>.sec{background:#fff;padding:60px 0 64px;border-top:10px solid #f1f4f1}.detail-brochure .detail-content>.sec.program-overview{padding-top:50px}.detail-brochure .detail-section-head{margin:0 0 32px;text-align:left}.detail-kicker{font-size:15px;color:var(--accent);font-weight:700;margin-bottom:9px}.detail-brochure .detail-section-head h2{font-size:clamp(29px,2.6vw,38px)!important;line-height:1.35!important;letter-spacing:-.035em!important;max-width:850px;text-wrap:balance}.detail-brochure .detail-section-head .lead{font-size:18px;line-height:1.85;max-width:840px;margin-top:14px}
.camp-overview-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:start}.camp-overview-table{width:100%;border-collapse:separate;border-spacing:0 7px;font-size:16px;line-height:1.75;margin-top:-7px;font-variant-numeric:tabular-nums}.camp-overview-table th{width:90px;padding:13px 10px!important;background:#eaf2eb;color:var(--accent-dk)!important;font-weight:700;vertical-align:middle;text-align:center;white-space:nowrap}.camp-overview-table td{padding:12px 15px!important;border-bottom:1px solid var(--line);color:var(--ink);font-weight:500!important;word-break:keep-all;overflow-wrap:anywhere}.camp-overview-table small{font-size:14px}.overview-scene{margin:0;overflow:hidden;border-radius:10px;background:#f3f6f2}.overview-scene>.photo-open{display:block;width:100%;height:auto;aspect-ratio:5/4}.overview-scene img{display:block;width:100%;height:100%;object-fit:cover}.overview-scene figcaption{padding:10px 15px;color:var(--muted);font-size:14px;line-height:1.5}
.overview-story{margin-top:32px;padding:28px 30px;background:#f6f8f5;border-radius:8px}.overview-story h3{font-size:26px;line-height:1.5;margin:12px 0 16px;color:var(--accent-dk)}.overview-story>p{font-size:17px!important;line-height:1.9!important;max-width:920px}.detail-brochure .overview-story .ptags{margin-bottom:12px;gap:8px}.detail-brochure .overview-story .ptags span{border:0;background:transparent;padding:0 12px 0 0;border-radius:0;font-size:14px;color:var(--accent);border-right:1px solid #b9cdbd}.detail-brochure .overview-story .ptags span:last-child{border:0}.overview-story .tobox{border:0;border-left:3px solid var(--accent);padding:15px 18px;background:#fff;margin-top:22px}.overview-story .tobox p{font-size:16px}.registration-note{margin-top:22px;padding:18px 0 0;border-top:1px solid var(--line);font-size:16px}.detail-brochure .registration-note .btn{width:auto!important;margin:0 8px 12px 0!important;padding:10px 18px;font-size:15px;min-height:46px}.registration-note p{font-size:15px!important;text-align:left!important;line-height:1.8!important}.registration-note>div>p{margin-top:6px!important}.registration-note p[style*='background']{background:#f7f8f6!important;border-radius:5px}
.detail-brochure .detail-benefits{display:grid;grid-template-columns:1fr;gap:0;counter-reset:camp-benefit;border-top:1px solid var(--line)}.detail-brochure .detail-benefits>.icard{counter-increment:camp-benefit;display:grid;grid-template-columns:32px minmax(170px,.75fr) minmax(0,1.5fr);gap:18px;align-items:start;padding:24px 8px!important;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;text-align:left!important}.detail-benefits>.icard::before{content:counter(camp-benefit,decimal-leading-zero);font-size:16px;font-weight:650;color:var(--accent);padding-top:2px;font-variant-numeric:tabular-nums}.detail-brochure .detail-benefits>.icard>b{font-size:20px;line-height:1.55;margin:0;color:var(--accent-dk)}.detail-brochure .detail-benefits>.icard>p{font-size:17px;line-height:1.85;margin:0}.detail-benefits .stn{display:none}
.detail-brochure .phg{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-brochure .phg figure{border:0;border-radius:8px;overflow:hidden;background:#f6f8f5}.detail-brochure .phg .photo-open{display:block;aspect-ratio:16/10;height:auto;width:100%}.detail-brochure .phg .photo-open img{height:100%!important;width:100%;object-fit:cover}.detail-brochure .phg figcaption{font-size:15px;line-height:1.6;padding:11px 14px;text-align:left}.detail-brochure .mealg figcaption,.detail-brochure .hotels figcaption{font-size:15px!important}.detail-brochure .gal .cap{font-size:15px}.detail-brochure .ttwrap{border:1px solid var(--line);border-radius:8px;overflow:hidden}.detail-brochure .tt th{width:180px;color:var(--accent-dk);background:#edf4ee;font-size:16px;font-variant-numeric:tabular-nums}.detail-brochure .tt td{font-size:17px;padding:15px 18px;line-height:1.65;background:#fff}.detail-brochure .wk th{background:#eaf2eb;color:var(--accent-dk);font-size:15px}.detail-brochure .wk td{font-size:15px;line-height:1.7}.detail-brochure .table-scroll{border:1px solid var(--line);border-radius:7px}.detail-brochure .table-hint{font-size:14px;color:var(--muted);margin-bottom:10px}.detail-brochure .ibox{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.detail-brochure .ibox .hd{font-size:19px;background:#edf4ee;color:var(--accent-dk);padding:16px 20px}.detail-brochure .ibox.n .hd{background:#f5f2ef;color:#774637}.detail-brochure .ibox li{font-size:17px;line-height:1.8}.detail-brochure .day{grid-template-columns:90px minmax(0,1fr) minmax(220px,.85fr);gap:23px}.detail-brochure .dtx h3{font-size:25px}.detail-brochure .dtx .desc{font-size:17px;line-height:1.85}.detail-brochure .day .dph{border-radius:8px;overflow:hidden}.detail-brochure .closing-contact{background:#f2f7f2!important;padding:38px 28px!important;margin-bottom:45px;border-radius:8px}.detail-brochure .closing-contact .detail-kicker{display:none}.detail-brochure .closing-contact .sec-head{margin:0}.detail-brochure .closing-contact h2{font-size:27px!important}.detail-brochure .closing-contact .btn{font-size:16px}.detail-brochure .detail-content :is(h3[id],div[id]){scroll-margin-top:20px}
@media(max-width:1100px){.detail-brochure .detail-layout{display:block;margin-top:calc(var(--nav-h) + var(--util-h));padding:0 30px}.detail-rail{position:sticky;top:calc(var(--nav-h) + var(--util-h));margin:0 -30px;max-height:none;padding:0 30px;overflow:visible;border:0;border-bottom:1px solid var(--line);box-shadow:0 4px 10px #173c2d04}.detail-rail-title,.detail-rail-consult{display:none}.detail-rail-links{flex-direction:row;gap:20px;overflow-x:auto;scrollbar-width:thin;padding:0 0 2px}.detail-rail-links a{white-space:nowrap;border-radius:0;min-height:52px;padding:11px 0;font-size:15px;flex:none;border-bottom:3px solid transparent}.detail-rail-links a[aria-current=location]{background:transparent;box-shadow:none;border-bottom-color:var(--accent)}.detail-brochure .detail-intro-grid{gap:28px}.detail-brochure .day{grid-template-columns:65px minmax(0,1fr) 220px;gap:18px}.detail-brochure .detail-content>.sec{padding:48px 0}.detail-brochure .detail-section-head h2{font-size:32px!important}}
@media(max-width:720px){.detail-brochure .detail-layout{margin-top:var(--nav-h);padding:0 22px}.detail-rail{top:var(--nav-h);margin:0 -22px;padding:0 22px}.detail-rail-links{gap:22px}.detail-rail-links a{font-size:14px;min-height:49px}.detail-brochure .detail-intro.page-hero{padding:19px 0 32px!important}.detail-brochure .detail-breadcrumb .crumb{font-size:12px;padding:0 0 14px;margin-bottom:20px;line-height:1.7}.detail-brochure .detail-intro-grid{grid-template-columns:1fr;gap:23px}.detail-brochure .detail-photo{aspect-ratio:3/2;border-radius:9px}.detail-brochure .detail-intro h1{font-size:30px;text-wrap:balance}.detail-brochure .detail-location{font-size:14px!important}.detail-brochure .detail-keyfacts [data-pi$='_price']{font-size:32px}.detail-brochure .detail-intro-copy>p:not(.detail-location){font-size:16px}.detail-brochure .intro-actions .btn{padding:11px 8px;font-size:14px}.detail-brochure .detail-content>.sec{padding:38px 0 42px;border-top-width:8px}.detail-brochure .detail-content>.sec.program-overview{padding-top:37px}.detail-brochure .detail-section-head{margin-bottom:25px}.detail-kicker{font-size:14px;margin-bottom:8px}.detail-brochure .detail-section-head h2{font-size:28px!important;line-height:1.4!important;text-wrap:pretty}.detail-brochure .detail-section-head .lead{font-size:17px;line-height:1.8}.camp-overview-grid{grid-template-columns:1fr;gap:23px}.camp-overview-table{font-size:16px}.camp-overview-table th{width:74px;font-size:15px;padding:12px 8px!important}.camp-overview-table td{padding:11px 12px!important}.overview-scene>.photo-open{aspect-ratio:3/2}.overview-scene figcaption{font-size:13px}.overview-story{padding:22px 19px;margin-top:25px}.overview-story h3{font-size:23px}.overview-story>p{font-size:16px!important}.overview-story .tobox{padding:12px 14px}.overview-story .tobox p{font-size:15px}.registration-note{margin-top:18px}.detail-brochure .registration-note .btn{font-size:14px;padding:10px 12px}.detail-brochure .detail-benefits>.icard{grid-template-columns:28px minmax(0,1fr);gap:6px 12px;padding:21px 0!important}.detail-brochure .detail-benefits>.icard>b{font-size:20px}.detail-benefits>.icard>p{grid-column:2;font-size:16px!important}.detail-brochure .phg{gap:12px;grid-template-columns:1fr}.detail-brochure .phg.g3c{grid-template-columns:1fr}.detail-brochure .phg figcaption{font-size:14px}.detail-brochure .tt th{width:112px;font-size:13px;padding:13px 8px}.detail-brochure .tt td{font-size:15px;padding:12px;overflow-wrap:anywhere}.detail-brochure .ibox .hd{font-size:18px;padding:14px 17px}.detail-brochure .ibox li{font-size:16px}.detail-brochure .day{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px}.detail-brochure .day>.dph,.detail-brochure .day>img{grid-column:2}.detail-brochure .dtx h3{font-size:22px}.detail-brochure .dtx .desc{font-size:16px}.detail-brochure .closing-contact{padding:26px 20px!important;margin-bottom:35px}.detail-brochure .closing-contact h2{font-size:25px!important}}
@media(prefers-reduced-motion:reduce){.detail-rail-links{scroll-behavior:auto}.detail-rail-links a{transition:none}}

/* Fill the hero frame and keep each itinerary entry readable at every width. */
.detail-brochure .detail-intro .detail-photo{position:relative}
.detail-brochure .detail-intro .detail-photo img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.detail-brochure .day{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;align-items:center}
.detail-brochure .day>.dtx{min-width:0;order:1}.detail-brochure .day>.day-ph{min-width:0;order:2;border-radius:8px;overflow:hidden}.detail-brochure .day.noph{grid-template-columns:1fr}
.detail-brochure .day .dno{font-size:15px;white-space:normal;line-height:1.6}
@media(max-width:720px){.detail-brochure .day{grid-template-columns:1fr;gap:20px}.detail-brochure .day>.day-ph,.detail-brochure .day>.dtx{grid-column:1}.detail-brochure .day>.day-ph{height:auto;aspect-ratio:16/10}.detail-brochure .day>.day-ph img{width:100%;height:100%;object-fit:cover}}
.detail-brochure #schedule{scroll-margin-top:12px}
.price-details-links{display:flex;flex-wrap:wrap;gap:2px 18px;margin-top:9px}.price-details-links a{display:inline-flex;align-items:center;min-height:36px;font-size:14px;color:var(--accent-dk);text-decoration:underline;text-underline-offset:4px;font-weight:600}.price-details-links a:hover{color:var(--accent)}.camp-overview-table td>a{color:var(--accent-dk);text-decoration:underline;text-decoration-color:#b0c7b6;text-underline-offset:4px}.detail-brochure .fphotos .photo-open{display:block;width:100%;height:auto;aspect-ratio:4/3;overflow:hidden;border-radius:6px}.detail-brochure .fphotos .photo-open img{width:100%;height:100%;object-fit:cover}
@media(max-width:720px){.price-details-links{gap:0 15px;margin-top:8px}.price-details-links a{font-size:13px;min-height:36px}}
/* Facility facts read as plain labeled information, with emphasis on living rules. */
.detail-brochure .fspec .fc{border:0;background:transparent;padding:3px 0;display:inline-flex;align-items:baseline;gap:8px;text-align:left}.detail-brochure .fspec .fc b{white-space:nowrap;flex:none}.detail-brochure .fspec .fv{gap:7px 22px}.detail-brochure .fspec .fc.hot{background:#edf4ee;padding:6px 9px}
@media(max-width:720px){.detail-brochure .fspec .frow{display:block}.detail-brochure .fspec .fk{width:100%;padding:10px 16px;justify-content:flex-start;text-align:left;border-right:0;border-bottom:1px solid var(--line)}.detail-brochure .fspec .fv{padding:13px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.detail-brochure .fspec .fc{width:auto;max-width:100%;font-size:15px;line-height:1.8}.detail-brochure .fspec .fc b{min-width:45px}.detail-brochure .fspec .ft{font-size:15px}}

/* Full-frame lodging photos supplied by the user. */
.detail-brochure .paxtonz-gallery .photo-open{aspect-ratio:3/2}
.detail-brochure .paxtonz-gallery img[data-fullsrc*="paxtonz-"]{object-fit:contain}

/* Classroom photographs retain their supplied proportions. */
.detail-brochure .classroom-gallery{columns:3;column-gap:20px;margin:30px 0 36px}
.detail-brochure .classroom-photo{break-inside:avoid;margin:0 0 20px;overflow:hidden;border-radius:8px;background:#f2f6f0}
.detail-brochure .classroom-photo img{display:block;width:100%;height:auto;object-fit:contain}
.detail-brochure .classroom-photo figcaption{padding:12px 16px;font-size:15px;line-height:1.7;color:var(--muted);word-break:keep-all}
@media(max-width:1000px){.detail-brochure .classroom-gallery{columns:2}}
@media(max-width:600px){.detail-brochure .classroom-gallery{columns:1;margin-top:24px}.detail-brochure .classroom-photo figcaption{font-size:14px}}

/* Concord visit: show the complete supplied photographs. */
.detail-brochure .phg.concord-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.detail-brochure .concord-gallery .photo-open{aspect-ratio:auto}
.detail-brochure .phg.concord-gallery img,.detail-brochure .phg.concord-gallery .photo-open img{display:block;width:100%;height:auto!important;object-fit:contain}
@media(max-width:720px){.detail-brochure .phg.concord-gallery{grid-template-columns:1fr}}

/* Weekend tours follow the supplied order and preserve full photo frames. */
.detail-brochure .phg.weekend-tour-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.detail-brochure .weekend-tour-gallery .photo-open{aspect-ratio:auto}
.detail-brochure .phg.weekend-tour-gallery img,.detail-brochure .phg.weekend-tour-gallery .photo-open img{display:block;width:100%;height:auto!important;object-fit:contain}
@media(max-width:720px){.detail-brochure .phg.weekend-tour-gallery{grid-template-columns:1fr}}

/* Past camp photos: retain the complete frame of the supplied originals. */
.detail-brochure .camp-moments-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}
.detail-brochure .camp-moments-gallery figure{margin:0;overflow:hidden;border-radius:8px;background:#fff;border:1px solid #e1e5dd}
.detail-brochure .camp-moments-gallery .photo-open{aspect-ratio:auto}
.detail-brochure .camp-moments-gallery img{display:block;width:100%;height:auto;object-fit:contain}
.detail-brochure .camp-moments-gallery figcaption{padding:12px 14px;font-size:15px;line-height:1.6;color:var(--body);word-break:keep-all}
@media(max-width:720px){.detail-brochure .camp-moments-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-brochure .camp-moments-gallery figcaption{padding:10px;font-size:14px}}

/* Display the supplied photograph in its original proportions and complete frame. */
.detail-brochure .overview-scene.original-photo>.photo-open{aspect-ratio:auto;height:auto}
.detail-brochure .overview-scene.original-photo img{display:block;width:100%;height:auto;object-fit:contain}

/* Original textbook covers, fitted without cropping or stretching. */
.detail-brochure .curriculum-book{width:100%;max-width:200px;aspect-ratio:4/5;margin:18px auto 22px}
.detail-brochure .curriculum-book .photo-open{display:block;width:100%;height:100%;padding:0;background:transparent;border-radius:0}
.detail-brochure .curriculum-book img{display:block;width:100%;height:100%;object-fit:contain}

/* Separate evening activity cards from the following photo gallery. */
.detail-brochure #evening-activities .eveg{margin-bottom:32px}
@media(max-width:720px){.detail-brochure #evening-activities .eveg{margin-bottom:24px}}
