/* Rebuild fixes and improvements layered over the Webflow styles. See DEVIATIONS.md. */

/* Skip link: hidden until focused */
.skip-link { position: absolute; left: 1rem; top: -100px; z-index: 10000; padding: .75rem 1rem; background: #0e0f0d; color: #fff; border-radius: 6px; font: 600 14px/1 Inter, system-ui, sans-serif; text-decoration: none; }
.skip-link:focus { top: 1rem; }

/* Visible keyboard focus everywhere (Webflow had outlines removed on several controls) */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid #8fd14f; outline-offset: 3px; }

/* The menu toggle is now a real <button>: strip UA button styles so it matches the old link */
button.site-nav-toggle { border: 0; font: inherit; cursor: pointer; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Captain's Corner archive: Webflow floated the cards, so uneven card heights made later rows stagger.
   A grid keeps rows aligned and cards equal height. Column padding from .w-col still gives the gutters. */
.journal-archive .collection-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-left: -10px; margin-right: -10px; }
.journal-archive .collection-list::before, .journal-archive .collection-list::after { display: none; }
.journal-archive .journal-card { float: none; width: auto; display: flex; flex-direction: column; }
@media (max-width: 991px) { .journal-archive .collection-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .journal-archive .collection-list { grid-template-columns: 1fr; } }

/* bugfix: gator tours price table overflowed its container at tablet widths */
@media (max-width: 1199px) {
  .lc-durhamlegacyla-4pgs-price-table { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important; }
  .lc-durhamlegacyla-4pgs-price-table > *, .lc-durhamlegacyla-4pgs-price-table [class*="price-col"] { min-width: 0; max-width: 100%; }
  .lc-durhamlegacyla-4pgs-price-table [class*="price-col-tag"] { width: auto; }
}
picture{display:contents}
picture>source{display:none!important}
:where(img[data-a]){width:auto;height:auto}

/* "Epic, on camera" reel rail (shared reel-rail pattern, Epic look). Cards keep the Webflow .reel styles. */
.reels-rail{list-style:none;margin:0;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;justify-content:safe center;cursor:grab}
.reels-rail.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.reels-rail.is-dragging .reel{pointer-events:none}
.reel-item{flex:none;scroll-snap-align:center;display:flex}
button.reel{appearance:none;padding:0;font:inherit;color:inherit;text-align:left;display:block;position:relative;overflow:hidden}
button.reel:focus-visible{outline:3px solid #c9a23b;outline-offset:3px}
.reel-poster,.reel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel picture{position:absolute;inset:0}
.reel-video{z-index:1;opacity:0;transition:opacity .4s ease}
.reel-video.is-playing{opacity:1}
.reel-play{display:grid;place-items:center}
.reels-foot{display:flex;align-items:center;justify-content:center;gap:1.25rem}
.reels-foot .a-link{display:inline-flex;align-items:center;gap:.4rem}
.reel-rail_arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(244,241,232,.28);background:transparent;color:#f4f1e8;display:grid;place-items:center;cursor:pointer;transition:background-color .2s,border-color .2s,opacity .2s}
.reel-rail_arrow svg{width:18px;height:18px}
.reel-rail_arrow:hover:not(:disabled){background:rgba(79,148,98,.2);border-color:#4f9462}
.reel-rail_arrow:disabled{opacity:.3;cursor:default}
.reels-rail:not(.is-scrollable)~.reels-foot .reel-rail_arrow{display:none}
@media (hover:none){.reel-rail_arrow{display:none}}
/* Lightbox */
html.reel-lb-open,html.reel-lb-open body{overflow:hidden}
.reel-lb{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;color:#f4f1e8}
.reel-lb[hidden]{display:none}
.reel-lb_scrim{position:absolute;inset:0;background:rgba(14,15,13,.94)}
.reel-lb_stage{position:relative;display:flex;align-items:flex-end;gap:2rem;max-height:92vh;max-width:calc(100vw - 9rem)}
.reel-lb_media{height:min(86vh,calc(90vw*16/9));aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#000;position:relative}
.reel-lb_media.is-wide{height:auto;width:min(calc(100vw - 26rem),calc(86vh*16/9),1100px);aspect-ratio:16/9}
.reel-lb_video,.reel-lb_frame{width:100%;height:100%;object-fit:contain;background:#000;border:0;display:block}
.reel-lb_video[hidden]{display:none}
.reel-lb_side{width:14rem;display:grid;gap:1rem;padding-bottom:1rem;justify-items:start}
.reel-lb_count,.reel-lb_handle{font-size:.875rem;color:rgba(244,241,232,.7)}
.reel-lb_title{margin:0;font-family:"Bowlby One",Impact,sans-serif;font-size:1.35rem;line-height:1.15;text-transform:uppercase}
.reel-rail_button{display:inline-flex;align-items:center;min-height:44px;padding:.7rem 1.3rem;border-radius:999px;background:#3d7a4e;color:#f4f1e8;font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .2s}
.reel-rail_button:hover{background:#4f9462}
.reel-lb_close,.reel-lb_nav{position:absolute;z-index:2;width:48px;height:48px;border-radius:50%;border:0;background:rgba(244,241,232,.12);color:#f4f1e8;display:grid;place-items:center;cursor:pointer;transition:background-color .2s}
.reel-lb_close:hover,.reel-lb_nav:hover{background:rgba(244,241,232,.24)}
.reel-lb_close svg,.reel-lb_nav svg{width:22px;height:22px}
.reel-lb_close{top:16px;right:16px}
.reel-lb_nav{top:50%;transform:translateY(-50%)}
.reel-lb_nav--prev{left:16px}.reel-lb_nav--next{right:16px}
.reel-lb :focus-visible{outline:3px solid #c9a23b;outline-offset:2px}
@media (max-width:991px){.reel-lb_stage{flex-direction:column;align-items:center;gap:1rem;max-width:100vw}.reel-lb_media{height:min(70vh,calc(88vw*16/9))}.reel-lb_media.is-wide{width:92vw;height:auto}.reel-lb_side{width:auto;justify-items:center;text-align:center;padding:0}.reel-lb_handle,.reel-lb_count{display:none}.reel-lb_nav{top:auto;bottom:16px;transform:none}}
@media (prefers-reduced-motion:reduce){.reel-video{transition:none}}
.legal-nav-btn._w--current .legal-nav-btn-dot{background-color:#f4f1e8}
.faq-q-icon{transition:transform .3s ease}.faq-q-icon::after{transition:opacity .3s ease}
[id]{scroll-margin-top:96px !important}
/* Reel rail full bleed: track spans the viewport, first card starts on the container's left edge, cards run off the right edge. */
#on-camera{overflow-x:clip}
#on-camera .lc-durhamlegacyla-1m8x-div-block{overflow:visible}
#on-camera .reels-rail{--rr-inset:calc(50vw - 50%);width:auto!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding-left:var(--rr-inset)!important;padding-right:var(--rr-inset)!important;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
#on-camera .reels-rail::-webkit-scrollbar{display:none}
#on-camera .reel-item{scroll-snap-align:start}
.reel-rail_progress{position:relative;height:3px;margin:1.5rem 0 0;border-radius:99px;background:rgba(244,241,232,.16);overflow:hidden}
.reel-rail_progress-fill{position:absolute;left:0;top:0;bottom:0;width:30%;border-radius:inherit;background:#c9a23b;will-change:transform}
.reel-rail_progress.is-static{visibility:hidden}
/* Quote section: quote + captain reel split, Mike photo underlay on the left */



.why-split{width:100%;max-width:1180px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2.5rem,5vw,5rem)}
.why-split>.why-quote{max-width:none}
.s2-reel{position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(244,241,232,.08);background:#1a1b17;aspect-ratio:9/16;width:clamp(15rem,22vw,19rem)}
.s2-reel_video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
.s2-reel_sound{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.6rem 1.05rem .6rem .85rem;border:0;border-radius:999px;background:rgba(14,15,13,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#f4f1e8;font-family:"Bowlby One",Impact,sans-serif;font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color .2s}
.s2-reel_sound svg{width:18px;height:18px;flex:none}
.s2-reel_sound:hover{background:#3d7a4e}
.s2-reel_sound:focus-visible{outline:3px solid #c9a23b;outline-offset:3px}
@media (max-width:991px){.why-split{grid-template-columns:1fr;justify-items:stretch}.why-split>.s2-reel{justify-self:center;width:min(100%,20rem)}}
@media (max-width:767px){}



/* Quote section: light sand ground, no callouts */
.section_why{background-color:#e8e2d1!important;color:#0e0f0d!important}
.section_why .why-quote-body,.section_why .why-quote-body.is-scroll-lit{color:#0e0f0d!important}
.section_why .why-quote-marsh,.section_why .why-quote-marsh .why-quote-word{color:#3d7a4e!important}
.section_why .why-quote-accent,.section_why .why-quote-accent .why-quote-word{color:#0e0f0d!important}
.section_why .why-quote-mark{color:#c9a23b!important;opacity:1!important}
.section_why .why-quote-attr,.section_why .why-quote-attr *{color:#0e0f0d!important}
.section_why .why-quote-attr .span_cfwf_chrjtv{color:rgba(14,15,13,.6)!important}
.section_why .s2-reel{box-shadow:0 1px 0 rgba(14,15,13,.08),0 24px 48px -20px rgba(14,15,13,.45);outline:1px solid rgba(14,15,13,.12)}

/* Mobile QA fixes (rail spacing, Instagram CTA, quote reveal on sand) */
#on-camera .reels-rail{margin-top:48px!important}
@media (max-width:767px){#on-camera .reels-rail{margin-top:40px!important}}
.reels-foot{margin-top:32px}
.reels-foot .reels-foot-cta{white-space:nowrap}
@media (max-width:767px){.reels-foot{flex-wrap:wrap;gap:12px}.reels-foot .reels-foot-cta{order:3;flex-basis:100%;max-width:340px;justify-content:center;margin:8px auto 0}.reels-foot .reel-rail_arrow{width:44px;height:44px}}
.section_why .why-quote-body.is-scroll-lit .why-quote-word{opacity:.2!important;filter:none!important}
.section_why .why-quote-body.is-scroll-lit .why-quote-word.is-lit{opacity:1!important}
/* FAQ accordion: collapsed answers must clip (they overlapped the next question) */
.faq-answer{overflow:hidden;transition:max-height .35s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.faq-answer{transition:none}}
/* Oct 26 mobile QA sweep */
.ct-layout>*,.ct-info,.ct-info-list,.ct-info-item,.ct-info-text,.faq-layout>*,.faq-list,.faq-aside{min-width:0}
.ct-info-value,.faq-aside-card a{overflow-wrap:anywhere}
@media (max-width:767px){
 .proof-num{font-size:clamp(44px,14vw,64px)!important}
 .footer-social-link{width:44px!important;height:44px!important}
 .credit-link,.nf-link{display:inline-flex;align-items:center;min-height:44px}
 .ct-info-value,.faq-aside-card a{display:inline-flex;align-items:center;min-height:44px}
 .c-button-primary,.hero-button-primary,.anchor-button,.cta-primary,.nf-btn,.lc-durhamlegacyla-ovkk-btn{white-space:nowrap}
 .home-span,.review-feature-photo-chip,.tour-eyebrow,.shop-collage-chip,.wildlife-caption-eyebrow,._w-section-eyebrow{letter-spacing:.12em!important}
 .review-feature-photo-chip{white-space:nowrap}
}
@media (max-width:400px){
 .hero-content-wrap .hero-list-grid{grid-template-columns:1fr!important}
 .c-button-primary,.hero-button-primary,.anchor-button,.cta-primary,.nf-btn{padding-left:20px!important;padding-right:20px!important;letter-spacing:.04em!important}
 .tour-eyebrow,.home-span,._w-section-eyebrow,.wildlife-caption-eyebrow,.shop-collage-chip,.review-feature-photo-chip{font-size:11px!important}
}
.lc-durhamlegacyla-ovkk-btn,.lc-durhamlegacyla-ovkk-btn-label{white-space:nowrap}
.lc-durhamlegacyla-61uw-hunt-price-inquire{display:inline-flex;align-items:center;min-height:44px}
.link-block{min-height:44px;display:inline-flex;align-items:center}
@media (max-width:360px){.hero-h1-faq{font-size:40px!important;overflow-wrap:anywhere}}
@media (max-width:767px){.ct-map{min-width:0!important;width:100%!important}.faq-layout{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:360px){.about-cta-title{font-size:34px!important}.about-cta-title .accent-sawgrass-small{font-size:1em!important}}
@media (max-width:991px){
 .footer-social-link{width:44px!important;height:44px!important}
 .credit-link,.nf-link,.hero-review-link,.corner-viewall,.faq-aside-contact,.ct-info-value,.a_cfwf_pwknhj,.a_cfwf_flotis{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:767px){.diff-sticky-caption{max-width:calc(100% - 32px);left:16px!important;bottom:16px!important}.diff-sticky-caption .home-span{letter-spacing:.08em!important}}
@media (max-width:767px){.diff-split{grid-template-columns:minmax(0,1fr)!important}.diff-sticky{display:none!important}}
.faq-q-icon::after{content:"";position:absolute;left:50%;top:50%;width:2px;height:16px;background:#3d7a4e;transform:translate(-50%,-50%)}.faq-q[aria-expanded="true"] .faq-q-icon::after{opacity:0}
@media (max-width:767px){.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.proof-item{min-width:0}.proof-num{font-size:clamp(40px,12vw,64px)!important}}
@media (min-width:768px) and (max-width:991px){.diff-sticky-caption{left:12px!important;bottom:12px!important;max-width:calc(100% - 24px)}.diff-sticky-caption .home-span{white-space:nowrap;letter-spacing:.06em!important;font-size:10px!important}}
.site-menu-sublink,.site-menu-phone{display:inline-flex;align-items:center;min-height:44px}
/* On camera: section rhythm (bottom padding was 0 on mobile/tablet) and even rail to bar to button spacing */
@media (max-width:767px){section#on-camera,#on-camera.lc-durhamlegacyla-1m8x-section{padding-top:60px!important;padding-bottom:60px!important}}
@media (min-width:768px) and (max-width:991px){section#on-camera,#on-camera.lc-durhamlegacyla-1m8x-section{padding-top:144px!important;padding-bottom:144px!important}}
#on-camera .reel-rail_progress{margin-top:32px!important}
/* ===== Section spacing tokens (Oct 26 normalization). Base: the main home sections (144 desktop and tablet, 64 mobile). ===== */
:root{--sp-section:144px;--sp-head:48px;--sp-cta:48px}
@media (max-width:767px){:root{--sp-section:64px;--sp-head:32px;--sp-cta:32px}}
.section_lite-lg,section#on-camera,.section_why,.section_meet,.section_editorial,.review-section,.section-corner,.section-contact,.section-mission,.section_cta_dark,.section_hunt,.section_included,[class*=section-anchor],.section_cta,.pricing-section,.section_cfwf_hjzvlp,.section--lg,.section_cfwf_ewtnoa,.section--paper{padding-top:var(--sp-section)!important;padding-bottom:var(--sp-section)!important}
/* a section directly below a same-colour section does not double the padding */
.section-flush-top{padding-top:0!important}
/* trailing / leading margins inside sections should not add to the section token */
.section-mission .anchor-sub,.captain-story:last-child,.legal-section p:last-child{margin-bottom:0!important}
.diff-track .diff-item:last-child{padding-bottom:0!important}
.legal-section .legal-panel-title:first-child{margin-top:0!important}
@media (max-width:991px){.faq-aside{margin-bottom:0!important;top:0!important;position:static!important}}
.section_cfwf_ewtnoa .w-dyn-item:last-child .archive-card{margin-bottom:0!important}@media (min-width:768px){.section_cfwf_ewtnoa .archive-card{margin-bottom:0!important}}
.section-mission .eyebrow-parent.eyebrow{margin-top:0!important}.section-mission > .eyebrow-parent:empty{display:none}
/* Reel rail: room for the lifted (hover/tap) card so overflow-x on the track never clips its top; iOS keeps :hover after tap so only lift on real hover */
#on-camera .reels-rail{padding-top:12px!important;padding-bottom:12px!important;margin-top:36px!important}
@media (max-width:767px){#on-camera .reels-rail{margin-top:28px!important}}
#on-camera .reel-rail_progress{margin-top:20px!important}
@media (hover:none){.reel:hover{transform:none}}
.hero-reviews .hero-review-link{margin-top:-12px;margin-bottom:-12px}

/* Footer bottom row: two groups on one baseline, one type size and colour throughout */
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:28px;font-size:13px;line-height:1.4}
.footer-bottom-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;min-width:0}
.footer-bottom .footer-copyright,.footer-bottom .footer-credit{margin:0;font-size:13px;line-height:1.4;font-weight:400;letter-spacing:0;text-transform:none;color:rgba(244,241,232,.55)}
.footer-bottom .footer-legal-links{display:flex;flex-wrap:wrap;gap:4px 20px;margin:0;padding:0;list-style:none;font-size:13px}
.footer-bottom .footer-legal-links li{margin:0;font-size:13px;line-height:1.4}
.footer-bottom .footer-legal-link{display:inline-flex;align-items:center;min-height:32px;font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:rgba(244,241,232,.55);transition:color .2s}
.footer-bottom .footer-legal-link:hover{color:#f4f1e8}
.footer-bottom .footer-credit-accent{font:inherit;letter-spacing:0;text-transform:none;color:#7fb98f}
.footer-ftd{display:flex;align-items:center;padding-left:24px;border-left:1px solid rgba(244,241,232,.14)}
.footer-bottom .footer-ftd .ftd-credit{font-size:13px;color:rgba(244,241,232,.55);gap:10px;transition:color .2s}
.footer-bottom .footer-ftd .ftd-credit:hover{color:#f4f1e8}
.footer-bottom .footer-ftd .ftd-credit__mark{height:24px}
@media (max-width:767px){
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:14px;padding-top:24px}
  .footer-bottom-group{gap:6px 20px}
  .footer-bottom-group--end{flex-direction:column;align-items:flex-start;gap:12px;width:100%;padding-top:14px;border-top:1px solid rgba(244,241,232,.1)}
  .footer-ftd{padding-left:0;border-left:0}
  .footer-bottom .footer-legal-link{min-height:44px}
}
}
