/* Three Brothers Party Boat — offline, dependency-free styles */
:root{--navy:#0B2A38;--teal:#12B5B0;--coral:#FF6B4A;--cream:#F7F1E3;--yellow:#FFC94A;--white:#fff;--muted:#536773;--radius:16px;--shadow:0 12px 35px #0b2a3818;--space:24px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--navy);font:17px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2.65rem,6vw,5rem)}h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:1.25rem}p{max-width:65ch}.shell{width:min(1160px,calc(100% - 48px));margin:auto}.narrow{max-width:780px}.section{padding:85px 0}.section-cream{background:var(--cream)}.eyebrow{display:inline-block;font-weight:850;letter-spacing:.15em;font-size:.75rem;color:var(--yellow);margin-bottom:15px}.eyebrow.teal{color:#087d79}.muted,.hint{color:var(--muted)}.hint{font-size:.83rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;border-radius:999px;font-size:.94rem;font-weight:850;text-decoration:none;border:2px solid transparent;transition:transform .18s,background .18s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px)}.btn-coral{background:var(--coral);color:var(--navy)}.btn-dark{background:var(--navy);color:#fff}.btn-ghost{color:#fff;border-color:#fff8;background:#ffffff18}.btn-outline-dark{border-color:var(--navy);color:var(--navy)}:focus-visible{outline:3px solid #006eeb;outline-offset:3px}.site-header{position:sticky;top:0;z-index:50;background:var(--navy);color:white;transition:box-shadow .2s,background .2s}.site-header.scrolled{background:#0b2a38f5;box-shadow:0 6px 25px #0003;backdrop-filter:blur(12px)}.navwrap{display:flex;align-items:center;gap:25px;min-height:82px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;line-height:1.1;margin-right:auto}.brand svg{width:45px;height:45px;color:var(--yellow)}.brand strong{display:block;letter-spacing:.04em;font-size:1.06rem}.brand small{display:block;color:#b6d8d9;font-size:.61rem;letter-spacing:.14em;margin-top:5px}.desktop-nav{display:flex;gap:25px}.desktop-nav a,.mobile-nav a:not(.btn){text-decoration:none;font-size:.9rem;font-weight:700}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--yellow)}.menu-toggle{display:none;background:none;border:0;padding:12px}.menu-toggle span{display:block;width:25px;height:2px;background:white;margin:5px}.mobile-nav{display:none}.hero{min-height:calc(100svh - 82px);position:relative;display:flex;align-items:center;background:var(--navy);color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('../images/boat-koh-rong.png') center 45%/cover no-repeat;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#092633ed 0%,#092633bc 45%,#09263344 100%)}.hero-content{position:relative;z-index:1;padding:80px 0}.hero h1{max-width:750px;margin-bottom:18px}.hero h1 em{font-style:normal;color:var(--yellow)}.hero-lead{font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:650;max-width:590px}.hero-meta{color:#d6e7e7;font-size:.92rem}.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.trust{font-size:.82rem;color:#e2f3f1}.trust span{color:var(--yellow);padding:0 8px}.section-head{text-align:center;margin-bottom:30px}.section-head p{margin:auto}.features{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.feature-card,.crew-card{background:#fff;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);transition:transform .2s}.feature-card:hover,.crew-card:hover{transform:translateY(-3px)}.feature-card h3{font-size:1.1rem}.feature-card p{font-size:.9rem;color:var(--muted);margin:0}.feature-icon{display:grid;place-items:center;background:#d8f6f2;color:#057a77;width:54px;height:54px;border-radius:15px;font-size:1.8rem;margin-bottom:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.photo-panel{border-radius:22px;overflow:hidden;background:#0d8889;box-shadow:var(--shadow)}.photo-panel img{width:100%;height:420px;object-fit:cover}.text-link{font-weight:850;color:#087d79;text-underline-offset:5px}.timeline{list-style:none;padding:0;margin:28px 0 0;border-left:3px solid #b9e5df}.timeline li{position:relative;display:flex;gap:22px;align-items:baseline;padding:0 0 22px 27px}.timeline li:before{content:'';position:absolute;left:-9px;top:7px;background:var(--teal);border:3px solid #fff;width:12px;height:12px;border-radius:50%}.time{font-size:.78rem;font-weight:850;color:#087d79;min-width:68px}.pickup-strip{background:var(--navy);color:#fff;padding:45px 0}.pickup-inner,.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.pickup-inner h2,.cta-inner h2{margin-bottom:10px}.pickup-inner p{margin-bottom:0}.cta-band{background:var(--yellow);padding:45px 0}.cta-band .eyebrow{color:#725000}.footer{background:var(--navy);color:#fff;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr 1.3fr;gap:40px}.footer h3{font-size:1rem;letter-spacing:.02em}.footer p,.footer a{font-size:.87rem;color:#c3d5d8}.footer-grid>div>a{display:block;text-decoration:none;margin:9px 0}.footer a:hover{color:var(--yellow)}.social{display:flex;gap:10px}.social a{display:grid;place-items:center;border:1px solid #78949b;border-radius:50%;height:38px;width:38px;text-decoration:none;font-weight:850}.footer-bottom{border-top:1px solid #45616a;margin-top:40px;padding-top:20px;font-size:.78rem;color:#b7c9cf;display:flex;justify-content:space-between;gap:15px}.page-intro{padding:78px 0 60px}.page-intro h1{max-width:850px}.page-intro p{font-size:1.2rem;color:var(--muted)}.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:30px}.spec-grid>div{background:var(--cream);border-radius:var(--radius);padding:22px}.spec-grid strong{display:block;margin-top:10px}.crew-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.crew-avatar{background:var(--teal);color:white;border-radius:14px;height:100px;display:grid;place-items:center;font-size:2.4rem;font-weight:900;margin-bottom:22px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-item{border:0;padding:0;overflow:hidden;border-radius:12px;background:#c7d7d6}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}.gallery-item:hover img{transform:scale(1.04)}.lightbox:not([hidden]){position:fixed;inset:0;background:#000e;display:grid;place-items:center;z-index:100;padding:30px}.lightbox img{max-height:85vh;object-fit:contain}.lightbox-close{position:absolute;top:15px;right:20px;background:white;border:0;border-radius:50%;width:48px;height:48px;font-size:2rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);align-items:start;gap:28px}.form-panel,.summary-card{background:white;border-radius:var(--radius);padding:30px;margin-bottom:20px;box-shadow:var(--shadow);border:0;min-width:0}.form-panel h2,.form-panel legend{font-size:1.45rem;font-weight:850;letter-spacing:-.02em}.form-panel legend{padding:0 0 20px}.step{display:inline-grid;place-items:center;background:#d8f6f2;color:#067c78;border-radius:50%;font-size:.9rem;width:39px;height:39px;margin-right:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{margin-bottom:16px}.field label{display:block;font-size:.9rem;font-weight:800;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-height:48px;border:1.5px solid #b5c5ca;border-radius:10px;padding:10px 13px;background:#fff;color:var(--navy)}.field textarea{resize:vertical}.field .invalid{border-color:#c42626}.error{display:block;color:#b51d22;font-size:.8rem;min-height:0}.pier-options{display:grid;gap:12px}.pier-card{display:flex;align-items:center;gap:12px;border:2px solid #c8d8da;border-radius:14px;padding:15px;cursor:pointer;min-height:90px}.pier-card:has(input:checked){border-color:#008b86;background:#e8faf6}.pier-card input{accent-color:#007b77;width:20px;height:20px;flex:none}.pier-pin{font-size:1.8rem;color:#087d79}.pier-copy{flex:1}.pier-copy strong,.pier-copy small{display:block}.pier-copy small{color:var(--muted);font-size:.77rem}.radio-tick{color:#087d79;opacity:0;font-weight:900}.pier-card:has(input:checked) .radio-tick{opacity:1}.qty-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #d8e0e1}.qty-row strong,.qty-row small{display:block}.qty-row small{font-size:.79rem;color:var(--muted)}.stepper{display:flex;align-items:center;border:1px solid #bdced0;border-radius:30px;overflow:hidden}.stepper button{background:#e8f7f5;border:0;width:48px;height:48px;font-size:1.5rem}.stepper output{width:40px;text-align:center;font-weight:900}.terms{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;margin:15px 0}.terms input{width:20px;height:20px;accent-color:#087d79;flex:none}.submit-booking{width:100%}.summary-card{position:sticky;top:105px}.summary-card h2{font-size:1.7rem}.summary-card dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e1e7e7;padding:12px 0}.summary-card dt{color:var(--muted);font-size:.85rem}.summary-card dd{margin:0;text-align:right;font-weight:800;font-size:.87rem;max-width:62%}.summary-total{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:22px 0;font-weight:850}.summary-total strong{font-size:1.2rem;color:#087d79}.confirmation{background:#e4faf2;border:2px solid #078780;padding:25px;border-radius:16px;margin-top:15px}.confirmation[hidden],.lightbox[hidden],.faq-answer[hidden],#contact-success[hidden]{display:none}.faq-item{border-bottom:1px solid #c9d5d4}.faq-item button{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;background:none;border:0;padding:20px 0;font-weight:800;color:var(--navy)}.faq-answer{padding:0 0 18px;color:var(--muted)}.mobile-bookbar{display:none}.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.contact-card{background:#fff;text-decoration:none;border-radius:16px;padding:24px;box-shadow:var(--shadow);overflow-wrap:anywhere}.contact-card>span{display:grid;place-items:center;background:#d7f5f0;color:#057d78;border-radius:50%;width:50px;height:50px;font-weight:900;margin-bottom:20px}.contact-card h2{font-size:1.3rem}.contact-card p{color:var(--muted);font-size:.9rem}.map-placeholder{background:#e0eee9;border:2px dashed #8bbdb6;border-radius:16px;min-height:230px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;text-align:center}.map-placeholder span{font-size:3rem;color:#087d79}.map-placeholder small{color:var(--muted)}#contact-success{margin-top:20px;padding:15px;background:#e3faf1;border-radius:12px}.contact-split{align-items:start}
@media(max-width:1024px){.desktop-nav{gap:13px}.features{grid-template-columns:repeat(3,1fr)}.spec-grid{grid-template-columns:repeat(2,1fr)}.contact-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.navwrap{min-height:72px}.desktop-nav,.nav-book{display:none}.menu-toggle{display:block}.mobile-nav.open{display:flex;flex-direction:column;gap:15px;padding:20px 24px 28px;border-top:1px solid #3c5b66}.mobile-nav .btn{width:100%}.hero{min-height:calc(100svh - 72px)}.hero-shade{background:linear-gradient(90deg,#092633ed,#09263388)}.hero-content{padding:60px 0}.section{padding:60px 0}.split,.booking-layout{grid-template-columns:1fr;gap:30px}.photo-panel img{height:350px}.summary-card{position:static}.crew-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.pickup-inner,.cta-inner{align-items:flex-start;flex-direction:column}.tickets-section{padding-bottom:90px}.mobile-bookbar{position:fixed;bottom:0;left:0;right:0;background:white;box-shadow:0 -5px 30px #0002;z-index:40;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.82rem}.mobile-bookbar strong{display:block}.mobile-bookbar .btn{padding:10px 14px}}@media(max-width:480px){.shell{width:calc(100% - 48px)}.brand strong{font-size:.91rem}.brand small{font-size:.54rem}.brand svg{width:38px}.hero h1{font-size:clamp(2.6rem,12vw,4rem)}.hero-actions .btn{width:100%}.trust{line-height:2}.features{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}.feature-card{flex:0 0 75%;scroll-snap-align:start}.field-grid,.crew-grid,.gallery,.contact-cards,.spec-grid,.footer-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.form-panel,.summary-card{padding:22px}.page-intro{padding:55px 0 40px}.footer-bottom{flex-direction:column}.timeline li{gap:8px}.time{min-width:55px}.contact-card{padding:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* ---------------- Actual trip photography / gallery system ---------------- */
/* Keep thumbnails lightweight; open large files only on user interaction. */
.hero-photo{background-image:url('../images/boat-at-pier-large.webp');background-position:center 46%}
.desktop-nav{gap:19px}
.featured-gallery{background:#f2f8f6}
.gallery-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.gallery-section-heading h2{margin:0 0 12px;max-width:700px}
.gallery-section-heading p{margin:0;color:var(--muted)}
.gallery-section-heading .btn{flex:none}
.featured-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:200px 200px;gap:14px}
.photo-card{position:relative;isolation:isolate;display:block;border:0;padding:0;width:100%;min-width:0;min-height:0;overflow:hidden;border-radius:15px;background:#b9cfcb;cursor:zoom-in;text-align:left;color:#fff}
.photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .3s ease}
.photo-card:hover img,.photo-card:focus-visible img{transform:scale(1.055)}
.photo-card:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(7,26,33,.83));pointer-events:none}
.photo-card__caption{position:absolute;z-index:1;bottom:17px;left:18px;right:14px;display:block;line-height:1.2;text-shadow:0 1px 10px #071a2244}
.photo-card__caption strong{display:block;font-size:clamp(.85rem,1.15vw,1.05rem);font-weight:850}
.photo-card__caption small{display:block;opacity:.85;font-size:.73rem;margin-top:5px}
.photo-card__expand{position:absolute;z-index:2;top:12px;right:12px;width:30px;height:30px;border-radius:100%;display:grid;place-items:center;background:#071a2277;color:white;font-size:1.1rem;font-weight:bold}
.featured-photo:first-child{grid-column:span 2;grid-row:span 2}
.featured-photo:first-child .photo-card__caption strong{font-size:1.42rem}
.gallery-section-foot{display:flex;justify-content:space-between;gap:20px;margin-top:23px;font-size:.94rem;color:var(--muted)}
.about-photo{aspect-ratio:4 / 3}.about-photo img{aspect-ratio:auto}
.gallery-more{text-align:center;margin:22px 0 0;max-width:none}
.photo-viewer-open{overflow:hidden}
.photo-lightbox[hidden]{display:none!important}
.photo-lightbox{position:fixed;z-index:120;inset:0;background:rgba(5,18,24,.96);display:flex;align-items:center;justify-content:center;gap:16px;padding:70px 18px 60px;color:#fff}
.photo-lightbox__figure{margin:0;max-width:min(90vw,1120px);min-width:0;display:flex;align-items:center;flex-direction:column;gap:11px}
.photo-lightbox__figure img{max-height:calc(100dvh - 175px);width:auto;max-width:100%;object-fit:contain;border-radius:6px}
.photo-lightbox__figure figcaption{font-size:.95rem;text-align:center;color:#e4f0ef}
.photo-lightbox button{display:grid;place-items:center;border:1px solid #ffffff48;border-radius:50%;width:48px;height:48px;background:#ffffff1c;color:#fff;font-size:2rem;flex:none}
.photo-lightbox button:hover{background:#ffffff44}
.photo-lightbox__close{position:absolute;top:14px;right:18px;z-index:2}
.photo-lightbox__count{position:absolute;bottom:14px;right:22px;font-size:.83rem;color:#dee7e7}
.gallery-masthead{background:#092633;color:white;overflow:hidden}
.gallery-mast-inner{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;min-height:530px;gap:45px}
.gallery-mast-copy{align-self:center;padding:65px 0}
.gallery-mast-copy h1{font-size:clamp(2.6rem,5.4vw,4.9rem);margin-bottom:18px}
.gallery-mast-copy h1 em{color:var(--yellow);font-style:normal}
.gallery-mast-copy p{max-width:540px;color:#d2e7e7;font-size:1.07rem;margin-bottom:26px}
.gallery-mast-image{min-height:420px;position:relative;overflow:hidden}
.gallery-mast-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0926336b,transparent 45%)}
.gallery-mast-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.media-tabs{display:flex;gap:7px;border-bottom:1px solid #c8d8da;margin:10px 0 24px}
.media-tab{border:0;background:transparent;padding:14px 22px;border-bottom:3px solid transparent;font-weight:900;color:#516673}
.media-tab:hover{color:var(--navy)}
.media-tab[aria-selected="true"]{border-color:var(--teal);color:var(--navy)}
.media-tab span{font-size:.74rem;background:#e2f5f0;border-radius:999px;padding:2px 7px;margin-left:5px}
.media-panel[hidden],.full-photo[hidden],.video-empty[hidden]{display:none!important}
.photo-filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px}
.filter-chip{border:1px solid #bad3ce;background:#fff;color:#284b56;padding:9px 18px;border-radius:100px;font-size:.84rem;font-weight:750;min-height:44px}
.filter-chip[aria-pressed="true"]{background:#0b2a38;color:white;border-color:#0b2a38}
.full-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:stretch}
.full-photo{aspect-ratio:3 / 4;min-height:0}
.full-photo:nth-child(1),.full-photo:nth-child(8){grid-column:span 2;aspect-ratio:1.56 / 1}
.full-photo:nth-child(3),.full-photo:nth-child(6){grid-row:span 1}
.gallery-count{font-size:.83rem;color:var(--muted);margin:20px 0 0}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.video-card{background:#f2f7f6;border-radius:16px;padding:12px;overflow:hidden}
.video-card video{width:100%;aspect-ratio:16/9;background:#0b2a38;border-radius:9px;display:block}
.video-card h3{font-size:1rem;padding:14px 7px 0;margin:0}
.video-empty{border:1px solid #c7dbd7;background:#f3faf8;min-height:340px;border-radius:20px;text-align:center;padding:55px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.video-empty__mark{display:grid;place-items:center;width:64px;height:64px;background:#e0f5f1;border-radius:50%;color:#057e79;font-size:1.6rem}
.video-empty h3{font-size:1.5rem;margin:10px 0 0}
.video-empty p{color:var(--muted);max-width:480px;margin:0 0 8px}
.ticket-photo-band{background:#fff;padding:0 0 45px}
.ticket-photo-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px}
.ticket-photo-grid figure{margin:0;position:relative;min-height:190px;max-height:260px;border-radius:15px;overflow:hidden;background:#b3dbd6}
.ticket-photo-grid img{height:100%;width:100%;object-fit:cover}
.ticket-photo-grid figcaption{position:absolute;bottom:12px;left:12px;color:white;background:#0b2a38d9;border-radius:6px;font-size:.68rem;letter-spacing:.1em;font-weight:900;padding:6px 9px}
.contact-location-photo{margin:22px 0 0;overflow:hidden;border-radius:17px;background:#e6efee}
.contact-location-photo img{width:100%;height:275px;object-fit:cover}
.contact-location-photo figcaption{font-size:.82rem;color:var(--muted);padding:10px 13px}
@media(max-width:1024px){.desktop-nav{gap:10px}.desktop-nav a{font-size:.82rem}.full-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.full-photo:nth-child(8){grid-column:span 1;aspect-ratio:3/4}}
@media(max-width:768px){.gallery-section-heading{align-items:start;flex-direction:column}.featured-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,190px)}.featured-photo:first-child{grid-row:span 2}.gallery-mast-inner{grid-template-columns:1fr;gap:0;min-height:auto}.gallery-mast-copy{padding:50px 0 35px}.gallery-mast-image{min-height:300px;margin:0 -24px}.gallery-mast-image:after{background:none}.full-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.full-photo:nth-child(8){grid-column:span 1}.ticket-photo-grid{grid-template-columns:1.35fr 1fr 1fr}.ticket-photo-grid figure{min-height:145px}.photo-lightbox__arrow{position:absolute;bottom:8px}.photo-lightbox__arrow--prev{left:18px}.photo-lightbox__arrow--next{right:18px}}
@media(max-width:480px){.featured-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,170px);gap:9px}.featured-photo:first-child{grid-row:span 2;grid-column:span 2}.featured-photo:nth-child(6){display:none}.photo-card__caption{left:10px;right:9px;bottom:10px}.photo-card__caption strong{font-size:.84rem}.photo-card__caption small{font-size:.69rem}.featured-photo:first-child .photo-card__caption strong{font-size:1.2rem}.gallery-section-foot{flex-direction:column;gap:3px}.full-photo-grid{gap:9px}.full-photo:nth-child(1){grid-column:span 2}.photo-filters{gap:6px}.filter-chip{font-size:.76rem;padding:9px 12px}.gallery-mast-image{min-height:230px}.photo-lightbox{padding:60px 10px 78px}.photo-lightbox__figure img{max-height:calc(100dvh - 210px)}.ticket-photo-grid{gap:7px}.ticket-photo-grid figure{min-height:110px}.ticket-photo-grid figcaption{font-size:.55rem;letter-spacing:0;padding:4px;bottom:6px;left:6px}.video-grid{grid-template-columns:1fr}}


/* THREE BROTHERS — PREMIUM PHOTO JOURNAL (November 2026) */
body[data-page="index.html"] .hero-photo{background-image:url('../images/party-boat-aerial-large.webp');background-position:center 56%}
.premium-gallery{background:#f7f7f2}
.premium-gallery em{font-style:normal;color:#0c8a85}
.premium-gallery .premium-section-num{font-size:.72rem;letter-spacing:.22em;font-weight:900;color:#0a7c78;display:block;margin-bottom:22px}
.premium-gallery-hero{position:relative;isolation:isolate;min-height:690px;background:#092430;color:white;overflow:hidden}
.premium-gallery-hero__image{position:absolute;z-index:-2;inset:0;background:url('../images/aerial-boat-swimming-large.webp') center 56% / cover no-repeat}
.premium-gallery-hero__wash{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(8,30,38,.43) 0%,transparent 26%,rgba(5,24,32,.22) 44%,rgba(4,20,28,.92) 100%),linear-gradient(90deg,rgba(5,26,34,.25),transparent 70%)}
.premium-gallery-hero__inner{display:flex;flex-direction:column;justify-content:space-between;min-height:690px;padding:31px 0 65px}
.premium-gallery-hero__top{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:.71rem;letter-spacing:.19em;font-weight:850}
.premium-kicker{color:#fff}.premium-kicker span{margin:0 8px;color:#ffd257}
.premium-hero-label{border:1px solid #fff8;border-radius:99px;padding:7px 14px;font-size:.65rem;color:#f7f7f7}
.premium-gallery-hero__bottom{display:flex;justify-content:space-between;align-items:end;gap:45px}
.premium-gallery-hero__copy{max-width:760px}
.premium-gallery-hero__copy .premium-eyebrow{margin:0 0 18px;color:#ffd454;font-size:.75rem;letter-spacing:.2em;font-weight:900}
.premium-gallery-hero h1{font-size:clamp(3.2rem,6.8vw,6.4rem);line-height:1.01;letter-spacing:-.055em;margin:0 0 22px;max-width:760px}
.premium-gallery-hero h1 em{color:#ffc94a;font-style:normal}
.premium-gallery-hero__copy>p:not(.premium-eyebrow){max-width:630px;color:#e6f2f3;font-size:1.09rem;line-height:1.55;margin:0}
.premium-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:27px}
.premium-text-link{font-size:.87rem;letter-spacing:.01em;color:inherit;text-underline-offset:6px;text-decoration-thickness:1px;font-weight:800}
.premium-text-link span{display:inline-block;margin-left:5px}
.premium-gallery-hero__stamp{display:flex;align-items:center;gap:11px;flex:none;border-left:2px solid #ffc94a;padding-left:17px;color:white}
.premium-stamp-number{font-size:4rem;font-weight:900;line-height:1;letter-spacing:-.05em;color:#ffc94a}
.premium-gallery-hero__stamp span:last-child{font-size:.65rem;font-weight:900;letter-spacing:.12em;line-height:1.5}
.premium-gallery-story{padding:112px 0 82px}
.premium-story-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:34px}
.premium-story-heading h2,.premium-collection-heading h2{font-size:clamp(2.4rem,4.8vw,4.25rem);letter-spacing:-.055em;line-height:1.06;margin:0}
.premium-story-heading>p{max-width:370px;margin:0 0 6px;color:#50666c;font-size:1rem}
.premium-story-grid{display:grid;grid-template-columns:1fr 1.13fr 1.13fr;grid-template-rows:440px;gap:17px}
.premium-story-frame{position:relative;margin:0;background:#c5dad9;border-radius:11px;overflow:hidden;isolation:isolate;min-width:0}
.premium-story-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.premium-story-frame:hover img{transform:scale(1.035)}
.premium-story-frame--tall img{object-position:center 35%}
.premium-story-frame--wide:nth-child(3) img{object-position:center 35%}
.premium-story-frame:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,23,31,.85));pointer-events:none}
.premium-story-frame figcaption{position:absolute;z-index:1;bottom:23px;left:22px;right:18px;display:flex;gap:16px;align-items:start;color:white}
.premium-story-frame figcaption>span:last-child{font-size:.85rem;line-height:1.25;font-weight:900;letter-spacing:.04em}
.premium-story-frame figcaption small{font-size:.76rem;line-height:1.5;display:block;font-weight:500;letter-spacing:0;color:#e2eeec;margin-top:3px}
.premium-story-number{font-size:.77rem;color:#ffc94a;font-weight:900;padding:1px 0 0}
.premium-story-footer{border-bottom:1px solid #c9d7d2;padding:22px 0;display:flex;justify-content:space-between;gap:18px;color:#526872;font-size:.7rem;letter-spacing:.14em;font-weight:850}
.premium-story-footer i{font-style:normal;color:#06938c;margin:0 7px}
.premium-gallery-collection{background:#fff;padding:108px 0 105px;scroll-margin-top:80px}
.premium-collection-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:48px}
.premium-collection-heading h2{max-width:770px}
.premium-collection-heading p{max-width:630px;margin:20px 0 0;color:#536973}
.premium-collection-count{display:flex;align-items:center;gap:14px;color:#0b2a38;padding:0 0 8px}
.premium-collection-count strong{font-size:4.4rem;line-height:1;font-weight:900;letter-spacing:-.06em}
.premium-collection-count span{font-size:.7rem;letter-spacing:.13em;line-height:1.4;font-weight:900}
.premium-media-tabs{margin:0 0 24px;border-bottom:1px solid #d0dedb;gap:30px}
.premium-media-tabs .media-tab{padding:15px 5px 17px;color:#536773;font-size:.95rem;border-bottom-width:3px}
.premium-media-tabs .media-tab[aria-selected="true"]{color:#0b2a38;border-color:#0a9f9b}
.premium-media-tabs .media-tab span{background:#e1f1ef;color:#0b2a38}
.premium-filters-header{margin-bottom:24px}
.premium-gallery .photo-filters{gap:9px;margin:0}
.premium-gallery .filter-chip{background:#f5f8f7;border:1px solid #dbe5e2;min-height:44px;padding:10px 17px;font-size:.77rem;font-weight:800;transition:background .2s,border-color .2s}
.premium-gallery .filter-chip[aria-pressed="true"]{background:#0b2a38;border-color:#0b2a38;color:white}
.premium-gallery .filter-chip:hover:not([aria-pressed="true"]){background:#e9f3f1;border-color:#9abdb7}
.premium-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:93px;grid-auto-flow:dense;gap:13px}
.premium-photo-grid .full-photo{grid-column:span 1;grid-row:span 3;aspect-ratio:auto;min-height:0;height:100%;border-radius:10px;background:#c1d2cf}
.premium-photo-grid .full-photo:nth-child(1),.premium-photo-grid .full-photo:nth-child(8),.premium-photo-grid .full-photo:nth-child(15),.premium-photo-grid .full-photo:nth-child(24){grid-column:span 2;grid-row:span 4;aspect-ratio:auto}
.premium-photo-grid .full-photo:nth-child(2),.premium-photo-grid .full-photo:nth-child(12),.premium-photo-grid .full-photo:nth-child(19){grid-row:span 4}
.premium-photo-grid .full-photo:nth-child(4),.premium-photo-grid .full-photo:nth-child(10){grid-column:span 2;grid-row:span 3;aspect-ratio:auto}
.premium-photo-grid .full-photo img{height:100%;width:100%;object-fit:cover}
.premium-photo-grid .full-photo:after{inset:38% 0 0;background:linear-gradient(transparent,rgba(5,28,36,.8))}
.premium-photo-grid .photo-card__caption{bottom:19px;left:18px;right:15px}
.premium-photo-grid .photo-card__caption strong{font-size:1.01rem}
.premium-photo-grid .photo-card__caption small{font-size:.72rem}
.premium-photo-grid .photo-card__expand{border:1px solid #ffffff6b;background:#0b2a3899;font-size:1rem}
.premium-gallery-count{border-top:1px solid #e2eae7;padding-top:23px;margin-top:28px;text-align:right;letter-spacing:.04em;font-size:.76rem}
.premium-video-empty{background:#f3f7f5;border:1px solid #e1eeea;min-height:410px}
.premium-video-empty .premium-video-play{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#def0ed;color:#087e7a;font-size:1.3rem}
.premium-gallery-closer{padding:85px 0 90px;background:#0b2a38;color:white}
.premium-gallery-closer__inner{display:flex;justify-content:space-between;align-items:center;gap:45px}
.premium-gallery-closer .premium-section-num{color:#ffc94a}
.premium-gallery-closer h2{font-size:clamp(2.7rem,5vw,4.7rem);letter-spacing:-.05em;margin:0 0 20px}
.premium-gallery-closer h2 em{color:#ffc94a}
.premium-gallery-closer p{max-width:540px;color:#d5e3e3;margin:0}
.premium-closer-actions{display:flex;flex-direction:column;align-items:flex-start;gap:22px;flex:none}
.premium-gallery-closer .premium-text-link{color:#fff}
.premium-gallery [hidden]{display:none!important}
@media(max-width:1024px){.premium-gallery-hero,.premium-gallery-hero__inner{min-height:610px}.premium-gallery-story{padding:80px 0 68px}.premium-story-grid{grid-template-rows:365px;gap:11px}.premium-story-heading{align-items:start}.premium-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:90px;gap:10px}.premium-photo-grid .full-photo:nth-child(4),.premium-photo-grid .full-photo:nth-child(10){grid-column:span 1;grid-row:span 3}.premium-photo-grid .full-photo:nth-child(15),.premium-photo-grid .full-photo:nth-child(24){grid-column:span 1;grid-row:span 3}}
@media(max-width:768px){.premium-gallery-hero,.premium-gallery-hero__inner{min-height:630px}.premium-gallery-hero__image{background-position:65% center}.premium-gallery-hero__inner{padding:23px 0 40px}.premium-gallery-hero__stamp{display:none}.premium-gallery-hero h1{font-size:clamp(3rem,10vw,5rem);max-width:680px}.premium-story-heading{display:block}.premium-story-heading>p{max-width:530px;margin:22px 0 0}.premium-story-grid{grid-template-columns:1fr 1fr;grid-template-rows:235px 235px;gap:11px}.premium-story-frame--tall{grid-row:span 2}.premium-story-footer{flex-direction:column;gap:6px}.premium-gallery-collection{padding:76px 0 75px}.premium-collection-heading{align-items:start}.premium-collection-count strong{font-size:3.5rem}.premium-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:83px;gap:10px}.premium-photo-grid .full-photo:nth-child(1),.premium-photo-grid .full-photo:nth-child(8){grid-column:span 2;grid-row:span 4}.premium-photo-grid .full-photo:nth-child(4),.premium-photo-grid .full-photo:nth-child(10){grid-column:span 1;grid-row:span 3}.premium-gallery-closer__inner{align-items:start;flex-direction:column;gap:30px}}
@media(max-width:480px){.premium-gallery-hero,.premium-gallery-hero__inner{min-height:630px}.premium-gallery-hero__image{background-position:72% center}.premium-gallery-hero__wash{background:linear-gradient(180deg,rgba(4,20,28,.32),rgba(4,20,28,.18) 30%,rgba(4,20,28,.93) 100%)}.premium-gallery-hero__top{align-items:start;flex-direction:column;gap:7px}.premium-hero-label{font-size:.58rem}.premium-gallery-hero__copy .premium-eyebrow{font-size:.65rem}.premium-gallery-hero h1{font-size:clamp(3rem,12vw,4rem);line-height:1.04}.premium-gallery-hero__copy>p:not(.premium-eyebrow){font-size:.95rem}.premium-hero-actions{gap:17px;align-items:start}.premium-hero-actions .btn{width:100%}.premium-gallery-story{padding:65px 0 60px}.premium-story-heading h2,.premium-collection-heading h2{font-size:2.55rem}.premium-story-grid{grid-template-columns:1fr 1fr;grid-template-rows:205px 205px;gap:8px}.premium-story-frame figcaption{left:12px;right:8px;bottom:12px;gap:8px}.premium-story-frame figcaption>span:last-child{font-size:.69rem}.premium-story-frame figcaption small{font-size:.65rem}.premium-story-footer{font-size:.6rem}.premium-gallery-collection{padding:65px 0 62px}.premium-collection-heading{gap:10px;margin-bottom:32px}.premium-collection-count{display:none}.premium-collection-heading p{font-size:.92rem}.premium-gallery .photo-filters{gap:7px}.premium-gallery .filter-chip{font-size:.73rem;padding:9px 11px}.premium-photo-grid{grid-auto-rows:70px;gap:8px}.premium-photo-grid .full-photo{grid-row:span 3;border-radius:8px}.premium-photo-grid .full-photo:nth-child(1),.premium-photo-grid .full-photo:nth-child(8){grid-column:span 2;grid-row:span 4}.premium-photo-grid .full-photo:nth-child(2),.premium-photo-grid .full-photo:nth-child(12),.premium-photo-grid .full-photo:nth-child(19){grid-row:span 4}.premium-photo-grid .photo-card__caption{left:10px;right:9px;bottom:10px}.premium-photo-grid .photo-card__caption strong{font-size:.78rem}.premium-photo-grid .photo-card__caption small{font-size:.63rem}.premium-photo-grid .photo-card__expand{width:26px;height:26px;top:7px;right:7px}.premium-gallery-closer{padding:65px 0}.premium-gallery-closer h2{font-size:2.7rem}.premium-closer-actions{width:100%}.premium-closer-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.premium-gallery .photo-card img,.premium-story-frame img{transition:none}.premium-gallery .photo-card:hover img,.premium-story-frame:hover img{transform:none}}


/* Real beach video homepage hero. Still photo remains as poster fallback. */
body[data-page="index.html"] .hero-photo{background-image:url('../images/beach-video-poster.webp');background-position:center center;transform:none}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity .45s ease;pointer-events:none}
.hero-video.is-ready{opacity:1}
.hero-video-toggle{position:absolute;z-index:3;right:clamp(18px,3vw,48px);bottom:20px;border:1px solid #ffffff80;border-radius:100px;background:#05232cc9;color:#fff;padding:10px 15px;display:flex;align-items:center;gap:9px;min-height:44px;cursor:pointer;font-size:.79rem;font-weight:800;backdrop-filter:blur(8px)}
.hero-video-toggle:hover{background:#05232cef}
.hero-video-toggle__icon{font-size:.87rem;line-height:1}
.hero-video-toggle[hidden]{display:none}
/* Show the footage without sacrificing text legibility. */
body[data-page="index.html"] .hero-shade{background:linear-gradient(90deg,rgba(4,25,35,.86),rgba(4,25,35,.61) 48%,rgba(4,25,35,.16)),linear-gradient(0deg,rgba(4,25,35,.32),transparent 35%)}
@media(max-width:768px){body[data-page="index.html"] .hero-shade{background:linear-gradient(90deg,rgba(4,25,35,.84),rgba(4,25,35,.43))}.hero-video-toggle{bottom:12px;right:16px}.hero-video-toggle__label{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none!important}.hero-video-toggle{display:none!important}}
/* Video journal: a film-strip invitation and real playable clips. */
.premium-gallery-motion{padding:100px 0 92px;background:#0b2a38;color:#fff}
.premium-gallery-motion .premium-section-num{color:#ffc94a}
.premium-gallery-motion__head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}
.premium-gallery-motion h2{font-size:clamp(2.6rem,4.8vw,4.65rem);line-height:1.05;letter-spacing:-.055em;margin:0 0 15px}
.premium-gallery-motion h2 em{font-style:normal;color:#ffc94a}
.premium-gallery-motion__head p{color:#cce4e2;max-width:570px;line-height:1.65;margin:0}
.premium-motion-link{color:#f6c850;font-weight:850;white-space:nowrap;text-decoration:underline;text-underline-offset:5px;padding-bottom:6px}
.premium-gallery-motion__grid{display:grid;grid-template-columns:1.48fr 1fr;gap:16px}
.premium-motion-card{display:block;min-height:360px;position:relative;overflow:hidden;border-radius:16px;background:#123b45;isolation:isolate;color:#fff}
.premium-motion-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.premium-motion-card:hover img,.premium-motion-card:focus-visible img{transform:scale(1.045)}
.premium-motion-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,17,23,.94),transparent 54%)}
.premium-motion-card__play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;padding-left:3px;width:66px;height:66px;border:1px solid #ffffffbd;border-radius:50%;background:#0728339e;font-size:1.4rem;color:#fff;backdrop-filter:blur(7px)}
.premium-motion-card__caption{position:absolute;z-index:2;bottom:28px;left:27px;right:22px;display:flex;flex-direction:column;gap:7px}
.premium-motion-card__caption small{font-size:.72rem;font-weight:900;letter-spacing:.17em;color:#ffe094}
.premium-motion-card__caption strong{font-size:clamp(1.3rem,2.35vw,2rem);line-height:1.1;letter-spacing:-.025em}
.premium-motion-card--fishing img{object-position:center 37%}
.premium-video-panel-intro{margin:4px 0 25px;font-size:1rem;color:#627d81}
.premium-video-library{display:grid;grid-template-columns:1.22fr 1fr;gap:20px;align-items:start}
.premium-video-card{min-width:0;padding:0;overflow:hidden;border-radius:17px;background:#f6f9f8;border:1px solid #dde8e5;box-shadow:0 10px 32px rgba(8,43,51,.06)}
.premium-video-card__screen{position:relative;min-width:0;background:#0b2a38;display:flex;align-items:center;justify-content:center;overflow:hidden}
.premium-video-card video{display:block;max-width:100%;width:100%;height:clamp(290px,33vw,410px);object-fit:contain;background:#091f2a;aspect-ratio:auto;border-radius:0}
.premium-video-card--portrait video{width:auto;height:clamp(290px,33vw,410px);max-width:100%;aspect-ratio:9/16}
.premium-video-card__duration{position:absolute;right:14px;top:14px;background:#061d25ca;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.08em;padding:6px 10px;border-radius:50px;pointer-events:none}
.premium-video-card__details{padding:24px 25px 27px}
.premium-video-card__eyebrow{display:block;color:#087f79;letter-spacing:.16em;text-transform:uppercase;font-weight:900;font-size:.73rem;margin-bottom:10px}
.premium-video-card h3{margin:0 0 12px;padding:0;font-size:clamp(1.18rem,2.2vw,1.55rem);line-height:1.2;color:#0b2a38}
.premium-video-card p{margin:0;color:#546d75;line-height:1.55;font-size:.92rem}
@media(max-width:768px){.premium-gallery-motion{padding:70px 0}.premium-gallery-motion__head{align-items:flex-start;flex-direction:column}.premium-gallery-motion__grid{grid-template-columns:1fr 1fr;gap:10px}.premium-motion-card{min-height:300px}.premium-motion-card__caption{left:18px;bottom:20px}.premium-motion-card__play{width:54px;height:54px}.premium-video-library{grid-template-columns:1fr 1fr;gap:12px}.premium-video-card video,.premium-video-card--portrait video{height:clamp(230px,38vw,330px)}}
@media(max-width:480px){.premium-gallery-motion{padding:65px 0}.premium-gallery-motion h2{font-size:2.8rem}.premium-gallery-motion__grid{grid-template-columns:1fr}.premium-motion-card{min-height:245px}.premium-motion-card--fishing{min-height:260px}.premium-motion-card__caption strong{font-size:1.35rem}.premium-video-library{grid-template-columns:1fr}.premium-video-card video,.premium-video-card--portrait video{height:auto;width:100%;aspect-ratio:16/9;max-height:none}.premium-video-card--portrait video{height:440px;aspect-ratio:auto;width:auto;max-width:100%}.premium-video-card__details{padding:20px}}
@media(prefers-reduced-motion:reduce){.premium-motion-card img{transition:none}.premium-motion-card:hover img{transform:none}}

/* Two-video homepage hero: boat jump first, then Koh Rong beach. */
body[data-page="index.html"] .hero-photo{background-image:url('../images/boys-jumping-video-poster.webp');background-position:center center}
.hero-clip-status{position:absolute;left:clamp(18px,3vw,48px);bottom:27px;z-index:3;color:#fff;background:#082732b8;border:1px solid #ffffff54;border-radius:999px;padding:9px 15px;font-size:.72rem;font-weight:800;letter-spacing:.11em;line-height:1.2;pointer-events:none;backdrop-filter:blur(8px)}
@media(max-width:768px){.hero-clip-status{left:16px;bottom:19px;font-size:.63rem;max-width:55%;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.hero-clip-status{display:none}}

/* Keep the full official name readable on the narrowest phones. */
@media (max-width: 360px) {
  body[data-page="index.html"] .hero h1 { font-size: clamp(2rem, 8.8vw, 2.3rem); }
}

/* Seamless four-clip hero with two overlapping video layers. */
body[data-page="index.html"] .hero-photo { background-image:url('../images/overview-video-poster.webp'); background-position:center; }
.hero-video.hero-video--layer { z-index:0; opacity:0; transition: opacity .45s ease-in-out; }
.hero-video.hero-video--layer.is-ready { opacity:0; }
.hero-video.hero-video--layer.is-visible { opacity:1; }
@media(prefers-reduced-motion:reduce){.hero-video.hero-video--layer{display:none!important}}
