.resort-photo-section{padding:80px 0;background:#f5f6ef;color:#173d30;border-top:1px solid #dfe5d7}.resort-photo-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:28px}.resort-photo-heading h2{font-size:clamp(32px,3.6vw,48px);letter-spacing:-.04em;margin:14px 0 18px}.resort-photo-heading p{font-size:14px;color:#74816e;max-width:570px;margin:0}.resort-album-open{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:nowrap;padding:15px 20px;border:1px solid #b9cbb0;border-radius:10px;background:transparent;color:#204f34;font-size:12px;font-weight:600}.resort-album-open span{font-size:10px;font-weight:400;letter-spacing:.03em;color:#6d8565}.resort-album-open:hover{background:#e9efdf}.resort-photo-stage{position:relative;margin:0 18px}.resort-photo-rail{display:flex;gap:16px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 0 12px}.resort-photo-rail::-webkit-scrollbar{display:none}.resort-photo-tile{flex:0 0 calc((100% - 32px)/3);border:0;background:#e4eadc;border-radius:12px;padding:0;position:relative;overflow:hidden;scroll-snap-align:start;aspect-ratio:4/3;cursor:zoom-in}.resort-photo-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.resort-photo-tile:hover img{transform:scale(1.035)}.resort-photo-tile>span{position:absolute;bottom:12px;right:12px;width:29px;height:29px;border:1px solid #ffffff70;border-radius:50%;color:#fff;background:#173d3099;display:grid;place-items:center;font-size:16px;line-height:1}.resort-rail-arrows{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:space-between}.resort-rail-arrows button{pointer-events:auto;border:1px solid #ffffff80;background:#008d3d;color:white;border-radius:10px;width:39px;height:43px;font-size:27px;line-height:1;box-shadow:0 4px 15px #113d2d24}.resort-rail-arrows button:first-child{transform:translateX(-19px)}.resort-rail-arrows button:last-child{transform:translateX(19px)}.resort-rail-arrows button:disabled{opacity:.4}.resort-inline-album{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:26px;margin-top:22px;border-top:1px solid #dbe3d4;color:#708066;font-size:13px}.resort-inline-album button{display:flex;align-items:center;gap:25px;border:1px solid #bacbb2;border-radius:9px;background:transparent;color:#194d32;padding:13px 17px;font-size:11px;font-weight:600}.resort-inline-album button>span{font-weight:400;color:#6d8565;white-space:nowrap}.resort-gallery-invite{background:#f5f6ef;padding:65px 0}.resort-gallery-invite .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.resort-gallery-invite h2{font-size:clamp(25px,3vw,38px);letter-spacing:-.035em;margin:0}.resort-gallery-invite a{border-bottom:1px solid #9aaf91;display:flex;gap:30px;padding:10px 0;font-size:12px;white-space:nowrap}.resort-gallery-invite .eyebrow{display:none}.photo-page-head h1{font-size:clamp(45px,5vw,72px);letter-spacing:-.045em}.photo-page-head h1 em{font-weight:400;color:#527b50}.resort-gallery-section{padding:35px 0 90px;background:#f7f8f3}.resort-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.resort-gallery-toolbar nav{display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding:4px}.resort-gallery-toolbar nav::-webkit-scrollbar{display:none}.resort-gallery-toolbar button{border:1px solid #d4dfca;border-radius:9px;padding:11px 14px;white-space:nowrap;font-size:11px;color:#6b7c60;background:transparent}.resort-gallery-toolbar button[aria-pressed=true]{background:#173d30;color:#fff;border-color:#173d30}.resort-gallery-toolbar>span{font:10px ui-monospace,monospace;white-space:nowrap;color:#8a977b}.resort-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.resort-gallery-grid .resort-photo-tile{width:100%;aspect-ratio:4/3;border-radius:10px;min-width:0}.resort-gallery-grid .resort-photo-tile:nth-child(7n+1){aspect-ratio:4/3}.resort-gallery-grid .resort-photo-tile .resort-tile-caption{left:0;right:0;bottom:0;width:100%;height:auto;border:0;border-radius:0;display:flex;justify-content:space-between;padding:35px 18px 15px;background:linear-gradient(transparent,#102c24ad);font-size:11px;text-align:left}.resort-gallery-grid .resort-photo-tile .resort-tile-caption b{font-size:18px;font-weight:400}#resort-gallery-note{font-size:12px;line-height:1.7;background:#e9eee1;padding:16px 20px;border-radius:9px;color:#6c7d61;margin:0 0 25px}.resort-gallery-more{display:flex;align-items:center;gap:40px;margin:32px auto 0;padding:15px 22px;color:#fff;background:#173d30;border:0;border-radius:10px;font-size:12px}.resort-gallery-more[hidden]{display:none}.room-enlarge{position:absolute;top:12px;right:12px;z-index:2;border:1px solid #ffffff60;background:#153e2dd9;color:#fff;border-radius:8px;padding:7px 11px;font-size:10px;cursor:zoom-in}.inner-benefits .inner-card>img{width:100%;height:210px;object-fit:cover}.resort-photo-section button:focus-visible,.resort-gallery-section button:focus-visible,.room-enlarge:focus-visible{outline:3px solid #55ad62;outline-offset:4px}
/* Native dialog gives keyboard focus, Escape and a contained full-screen viewer. */
.resort-lightbox{inset:0;border:1px solid #ffffff20;border-radius:16px;padding:0;background:#0a1915;color:#fff;width:min(1360px,calc(100vw - 38px));max-width:none;height:min(900px,calc(100dvh - 38px));max-height:none;overflow:hidden;box-shadow:0 30px 100px #0008}.resort-lightbox::backdrop{background:#071a15e8;backdrop-filter:blur(8px)}.resort-lightbox[open]{display:flex;flex-direction:column}.resort-lightbox-header{height:68px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 25px;border-bottom:1px solid #ffffff15}.resort-lightbox-header>div{display:flex;gap:17px;align-items:center}.resort-lightbox-brand{font:11px Georgia,serif;color:#c5d3c5;letter-spacing:.04em}.resort-lightbox-title{font-size:12px;color:white;border-left:1px solid #ffffff20;padding-left:17px}.resort-lightbox-close{border:1px solid #ffffff25;background:#ffffff0b;color:#fff;width:36px;height:36px;border-radius:50%;font-size:24px;line-height:1}.resort-lightbox-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;background:radial-gradient(#15322730,transparent);padding:22px 70px}.resort-lightbox-image{width:100%;height:100%;min-height:0;object-fit:contain;max-width:100%;max-height:100%;transition:opacity .15s;user-select:none}.resort-lightbox-image.is-loading{opacity:.3}.resort-lightbox-step{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:48px;border:1px solid #ffffff25;background:#ffffff0c;color:white;border-radius:9px;font-size:30px;line-height:1;z-index:2}.resort-lightbox-prev{left:15px}.resort-lightbox-next{right:15px}.resort-lightbox-footer{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:65px;padding:15px 26px;border-top:1px solid #ffffff15}.resort-lightbox-count{font:11px ui-monospace,monospace;color:#b5c9b6;letter-spacing:.07em}.resort-lightbox-caption{font-size:12px;text-align:center;color:#edf4e9}.resort-lightbox-original{color:#bdd0ba;font-size:10px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.resort-lightbox-error{position:absolute;background:#12271f;color:#c8d5bf;padding:18px;font-size:12px;border-radius:8px;max-width:300px;text-align:center}.resort-lightbox-error[hidden]{display:none}.resort-photo-section [hidden],.resort-gallery-section [hidden]{display:none!important}
@media(max-width:1000px){.resort-gallery-toolbar{display:block}.resort-gallery-toolbar>span{display:block;margin:15px 4px 0}.resort-gallery-invite .container{flex-wrap:wrap}.resort-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resort-photo-tile{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:680px){.resort-photo-section{padding:50px 0}.resort-photo-heading{display:block;margin-bottom:24px}.resort-photo-heading h2{font-size:34px;margin:14px 0}.resort-photo-heading p{font-size:13px;max-width:340px}.resort-album-open{margin-top:22px;flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;font-size:12px}.resort-photo-stage{margin:0 14px}.resort-photo-rail{gap:12px;padding-bottom:3px}.resort-photo-tile{flex-basis:86%;aspect-ratio:4/3;border-radius:10px}.resort-rail-arrows button{width:30px;height:39px;font-size:25px;border-radius:8px}.resort-rail-arrows button:first-child{transform:translateX(-15px)}.resort-rail-arrows button:last-child{transform:translateX(15px)}.resort-inline-album{display:block;font-size:12px;margin-top:20px;padding-top:20px}.resort-inline-album button{margin-top:14px;width:100%;justify-content:space-between;padding:14px}.resort-gallery-invite{padding:45px 0}.resort-gallery-invite .container{display:block}.resort-gallery-invite h2{font-size:30px}.resort-gallery-invite a{margin-top:22px;justify-content:space-between}.photo-page-head{padding:42px 0}.photo-page-head h1{font-size:46px}.photo-page-head p{font-size:13px}.resort-gallery-section{padding:22px 0 60px}.resort-gallery-toolbar{margin-bottom:22px}.resort-gallery-toolbar nav{margin-right:-18px;padding-right:18px}.resort-gallery-toolbar button{font-size:10px;padding:10px 13px}.resort-gallery-grid{gap:10px}.resort-gallery-grid .resort-photo-tile{border-radius:8px}.resort-gallery-grid .resort-photo-tile .resort-tile-caption{font-size:9px;padding:30px 10px 10px}.resort-gallery-grid .resort-photo-tile .resort-tile-caption b{font-size:15px}.resort-lightbox{width:100vw;height:100dvh;border:0;border-radius:0;margin:0}.resort-lightbox-header{padding:env(safe-area-inset-top) 16px 0;height:calc(61px + env(safe-area-inset-top))}.resort-lightbox-header>div{display:block}.resort-lightbox-brand{font-size:9px;display:block;margin-bottom:4px}.resort-lightbox-title{font-size:12px;border:0;padding:0}.resort-lightbox-stage{padding:12px 8px}.resort-lightbox-step{width:31px;height:43px;font-size:27px;background:#071b16b3;top:auto;bottom:12px;transform:none}.resort-lightbox-prev{left:15px}.resort-lightbox-next{right:15px}.resort-lightbox-footer{padding:17px 16px calc(18px + env(safe-area-inset-bottom));gap:12px;flex-wrap:wrap}.resort-lightbox-caption{font-size:11px;order:-1;width:100%;text-align:left}.resort-lightbox-count{font-size:10px}.resort-lightbox-original{margin-left:auto;font-size:10px}.inner-benefits .inner-card>img{height:200px}}
@media(prefers-reduced-motion:reduce){.resort-photo-tile img,.resort-lightbox-image{transition:none}}
