/* A calm, photo-led storefront; operations screens keep their existing layout. */
.guest-mode{background:#fff;color:#24382f}.guest-shell{min-height:100vh}.guest-header{height:88px;border-bottom:1px solid #e8e9e5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(32px,calc((100vw - 1264px)/2));background:#fff}.guest-logo{border:0;background:none;color:#205343;font-size:29px;font-weight:750;letter-spacing:2px;white-space:nowrap;padding:0;cursor:pointer}.guest-logo span{font-size:12px;letter-spacing:3px;margin-left:10px}.guest-nav{display:flex;gap:28px;height:100%;align-items:center}.guest-nav button{height:100%;border:0;border-bottom:3px solid transparent;background:transparent;color:#69746c;font:inherit;font-size:14px;cursor:pointer;padding:0 2px}.guest-nav button.active{color:#194e3d;border-bottom-color:#194e3d;font-weight:650}.guest-user{display:flex;align-items:center;gap:12px;font-size:13px}.guest-user .btn{padding:8px 12px}.guest-context{display:flex;align-items:center;gap:14px;max-width:1264px;padding:18px 0;margin:auto;color:#728077;font-size:12px;border-bottom:1px solid #efefeb}.guest-context select{width:auto;max-width:360px;margin:0;padding:6px 26px 6px 10px;border:0;background:#f5f6f2;font-size:12px}.guest-test{margin-left:auto;color:#8b7963}.guest-main{max-width:1264px;margin:auto;padding:48px 0 64px;min-height:65vh}.guest-intro{text-align:center;padding:8px 0 32px}.guest-kicker{font-size:11px;letter-spacing:2px;font-weight:650;color:#7a846f;margin:0 0 12px}.guest-intro h1{font-size:43px;line-height:1.35;letter-spacing:1px;margin:0 0 14px;font-weight:600}.guest-intro>p:last-child{font-size:15px;color:#778078;margin:0}.guest-search{border:1px solid #dfe3db;border-radius:60px;display:flex;gap:0;align-items:center;max-width:1000px;margin:0 auto 52px;padding:10px 12px 10px 24px;box-shadow:0 6px 20px #253b2d08}.guest-search label{font-size:12px;font-weight:650;padding:0 24px;border-right:1px solid #e4e7df;flex:1;gap:0}.guest-search .guest-search-query{flex:1.65;padding-left:8px}.guest-search input,.guest-search select{padding:7px 0 1px;margin:0;border:0;background:transparent;box-shadow:none;font-size:13px;color:#69776e;width:100%;min-width:0;outline-offset:2px}.guest-search-button{border:0;border-radius:40px;background:#234f3e;color:white;padding:18px 22px;font-size:13px;font-weight:600;cursor:pointer;margin-left:16px;white-space:nowrap}.guest-search-button span{margin-left:12px}.guest-section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 24px;gap:16px}.guest-section-heading h2{font-size:23px;font-weight:600;margin:0 0 8px}.guest-section-heading p,.guest-section-heading>span{font-size:12px;color:#7f877f;margin:0}.guest-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.guest-card{min-width:0}.guest-card-image{width:100%;display:block;position:relative;aspect-ratio:1.28;overflow:hidden;border:0;border-radius:18px;padding:0;cursor:pointer;background:#f0ece3}.guest-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.guest-card-image:hover img{transform:scale(1.035)}.guest-duration{position:absolute;top:16px;left:16px;border-radius:30px;background:#fffffff0;padding:7px 12px;font-size:12px;font-weight:600}.guest-photo-label{position:absolute;bottom:12px;left:12px;background:#25392cb3;color:white;font-size:10px;padding:4px 8px;border-radius:4px}.guest-card-text{padding:18px 2px 4px}.guest-company{font-size:11px;letter-spacing:.5px;color:#858c7d;margin:0 0 8px}.guest-card h3{margin:0 0 9px}.guest-card h3 button{background:none;border:0;padding:0;color:inherit;font-size:20px;line-height:1.5;font-weight:600;text-align:left;cursor:pointer}.guest-card-description{font-size:13px;color:#788176;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:45px;margin:0 0 16px}.guest-card-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid #eceee8;padding-top:17px}.guest-card-bottom strong{font-size:18px;white-space:nowrap}.guest-card-bottom span{font-size:12px;color:#7d847b}.guest-card-bottom .btn{border:0;background:#f1f4ed;color:#2d5946;padding:10px 12px;font-size:12px}.guest-empty{grid-column:1/-1;text-align:center;background:#f7f8f4;border-radius:18px;padding:50px 20px}.guest-assurance{margin-top:64px;padding:30px 0;border-top:1px solid #e5e8e0;display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.guest-assurance>div{position:relative;padding-left:38px}.guest-assurance span{position:absolute;left:0;top:0;font-size:12px;color:#8e9c7f}.guest-assurance h3{font-size:14px;margin:0 0 9px}.guest-assurance p{font-size:12px;line-height:1.8;color:#81897e;margin:0}.guest-footer{border-top:1px solid #e5e8e0;background:#f7f8f4;padding:26px max(32px,calc((100vw - 1264px)/2));display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap;font-size:11px;color:#7a8577}.guest-footer a{color:inherit}.guest-back{background:none;border:0;padding:0 0 24px;color:#53664e;cursor:pointer;font-size:13px}.guest-detail-heading h1{font-size:34px;font-weight:600;line-height:1.4;margin:0 0 10px}.guest-detail-heading>p:last-child{font-size:13px;color:#7a8474;margin:0 0 26px}.guest-gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;border-radius:20px;overflow:hidden;height:400px}.guest-gallery.single{grid-template-columns:1fr}.guest-gallery button{background:#f0ede6;border:0;padding:0;min-height:0;overflow:hidden;cursor:zoom-in;grid-column:2}.guest-gallery button:first-child{grid-column:1;grid-row:1/3}.guest-gallery button:last-child:nth-child(2){grid-row:1/3}.guest-gallery img{width:100%;height:100%;object-fit:cover;display:block}.guest-gallery-note{font-size:11px;color:#8a8d83;margin:10px 0 32px}.guest-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:72px;align-items:start}.guest-story section{padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid #e6e9e1}.guest-story h2{font-size:23px;font-weight:600;margin:0 0 18px}.guest-story p{color:#73816f;font-size:14px;line-height:1.9}.guest-story .guest-description{white-space:pre-line;color:#586652}.guest-facts{display:grid;grid-template-columns:1fr 2fr;gap:20px;margin:28px 0 0}.guest-facts span{display:block;font-size:11px;color:#818b79;margin-bottom:7px}.guest-facts strong{font-size:14px;font-weight:550}.guest-location-list{display:grid;gap:10px;margin:20px 0}.guest-location-list>div{background:#f6f7f2;border-radius:12px;padding:16px 20px;display:flex;gap:20px;align-items:center}.guest-location-list strong{font-size:14px;font-weight:550}.guest-location-list span{font-size:12px;color:#78866d}.guest-policy h3{font-size:14px;margin:20px 0 0}.guest-policy p{white-space:pre-line}.guest-reserve{position:sticky;top:24px;border:1px solid #dce1d4;border-radius:20px;padding:26px;box-shadow:0 10px 30px #293c2410}.guest-reserve-price strong{font-size:26px;font-weight:650}.guest-reserve-price>span{font-size:13px;color:#7b8473}.guest-reserve-price p{font-size:12px;color:#89917f;margin:8px 0 24px}.guest-reserve-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guest-reserve label{font-size:11px;font-weight:600;gap:6px;color:#56684c;min-width:0}.guest-reserve input,.guest-reserve select{width:100%;min-width:0;box-sizing:border-box;margin:0;font-size:13px;padding:11px 8px;border:1px solid #e0e5d7;border-radius:8px;background:#fff;color:#33482a}.guest-reserve .full{grid-column:1/-1}.guest-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:14px 0 22px}.guest-days button{background:#f6f7f2;border:1px solid transparent;border-radius:8px;padding:9px 2px;cursor:pointer;color:#6e7b61}.guest-days span{display:block;font-size:10px;margin-bottom:5px}.guest-days strong{font-size:12px}.guest-days button.selected,.guest-slots button.selected{background:#eaf0e4;border-color:#326140;color:#234a2d}.guest-slot-heading{display:flex;justify-content:space-between;margin-bottom:12px;font-size:12px}.guest-slot-heading>span{color:#818d76;font-size:11px}.guest-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:250px;overflow:auto;padding:2px}.guest-slots button{padding:10px 3px;border:1px solid #dde2d6;background:#fff;border-radius:7px;cursor:pointer;font-size:13px;color:#4f6043;min-height:40px}.guest-slot-message{font-size:12px;color:#7a8671;line-height:1.8;background:#f6f7f3;padding:12px;border-radius:8px}.guest-slot-message p{margin:0 0 6px}.guest-total{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e6eadf;padding-top:20px;margin-top:24px;font-size:13px}.guest-reserve-button{width:100%;margin-top:18px;min-height:48px;font-size:15px;border-radius:10px}.guest-reserve-button:disabled{background:#eaede6;color:#8a9481;border-color:#eaede6;opacity:1;cursor:not-allowed}.guest-reserve-note{font-size:11px;color:#8b9381;text-align:center;line-height:1.8;margin:13px 0 0}.guest-photo-full{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto}.service-photo-previews{display:flex;gap:8px;margin:12px 0}.service-photo-previews img{width:90px;height:70px;object-fit:cover;border-radius:8px}.service-photo-editor{border:1px solid #e5e8df;padding:14px;border-radius:10px}.guest-confirm-summary{border:1px solid #e0e5d8;background:#f7f8f4;padding:20px;border-radius:12px}.guest-mode button:focus-visible,.guest-mode a:focus-visible,.guest-mode input:focus-visible,.guest-mode select:focus-visible{outline:3px solid #78936b;outline-offset:4px}.guest-mode .page-head .eyebrow{display:none}.guest-mode .page-head h1{font-size:30px}.guest-mode .page-head p{font-size:14px}.guest-mode .guest-main>.panel{border-radius:16px}.guest-mode .btn{min-height:36px}
@media(min-width:1440px){.guest-cards:has(.guest-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px}.guest-cards:has(.guest-card:nth-child(2):last-child) .guest-card-image{aspect-ratio:1.5}}
@media(max-width:1330px){.guest-main,.guest-context{margin-left:36px;margin-right:36px}.guest-header{padding:0 36px}.guest-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-detail-layout{gap:40px}.guest-gallery{height:350px}}
@media(max-width:960px){.guest-nav{gap:18px}.guest-user>span{display:none}.guest-detail-layout{grid-template-columns:minmax(0,1fr) 350px;gap:28px}.guest-reserve{padding:20px}.guest-search{padding-left:12px}.guest-search label{padding:0 12px}.guest-search-button{padding:18px 16px}.guest-assurance{gap:24px}.guest-gallery{height:300px}}
@media(max-width:760px){.guest-header{height:auto;min-height:72px;flex-wrap:wrap;padding:18px 20px 0;gap:16px}.guest-logo{font-size:25px}.guest-logo span{font-size:10px}.guest-user{margin-left:auto;gap:6px;order:1}.guest-nav{order:2;flex-basis:100%;height:46px;justify-content:space-between;gap:10px}.guest-nav button{font-size:13px;min-height:44px}.guest-context{margin:0 20px;padding:14px 0;gap:8px;flex-wrap:wrap}.guest-context>span:first-child{display:none}.guest-context select{max-width:100%;flex:1;font-size:11px}.guest-test{font-size:10px}.guest-main{padding:28px 0 38px;margin:0 20px}.guest-intro{padding:10px 0 24px;text-align:left}.guest-intro h1{font-size:29px;letter-spacing:0}.guest-intro>p:last-child{font-size:13px;line-height:1.7}.guest-kicker{font-size:10px;letter-spacing:1.6px}.guest-search{border-radius:16px;display:grid;grid-template-columns:1fr 1fr;padding:15px;gap:12px;margin-bottom:32px}.guest-search .guest-search-query{grid-column:1/-1;border:0;border-bottom:1px solid #e5e8df;padding:0 0 12px}.guest-search label{padding:0;border:0;min-width:0;font-size:11px}.guest-search-button{grid-column:1/-1;margin:0;border-radius:10px;padding:13px;min-height:44px}.guest-search input,.guest-search select{font-size:13px}.guest-section-heading h2{font-size:21px}.guest-section-heading>span{display:none}.guest-cards{grid-template-columns:1fr;gap:30px}.guest-card-image{aspect-ratio:1.3}.guest-card-text{padding-top:16px}.guest-card-description{min-height:0}.guest-card h3 button{font-size:21px}.guest-card-bottom .btn{min-height:44px}.guest-assurance{margin-top:36px;grid-template-columns:1fr;gap:24px}.guest-assurance p{font-size:12px}.guest-footer{padding:24px 20px;gap:12px;flex-direction:column}.guest-detail-heading h1{font-size:29px}.guest-gallery{height:270px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;border-radius:14px}.guest-gallery button{flex:0 0 87%;scroll-snap-align:start}.guest-gallery.single button{flex-basis:100%}.guest-gallery-note{font-size:10px;line-height:1.7;margin-bottom:24px}.guest-detail-layout{display:flex;flex-direction:column;gap:30px}.guest-reserve{position:static;order:0;width:100%;box-sizing:border-box;padding:20px;border-radius:16px}.guest-story{order:1;width:100%}.guest-story h2{font-size:22px}.guest-story section{margin-bottom:24px;padding-bottom:24px}.guest-facts{gap:16px}.guest-slots{max-height:240px}.guest-slots button{min-height:44px}.guest-days button{min-height:52px}.guest-reserve-fields input,.guest-reserve-fields select{font-size:16px;min-height:44px}.guest-back{min-height:44px;padding-bottom:18px}.guest-mode .page-head h1{font-size:26px}.guest-mode .page-head{align-items:flex-start}.guest-mode .search-row{flex-wrap:wrap}.guest-mode .search-row input{min-width:0;width:100%}.guest-mode dialog{max-width:calc(100vw - 24px)}.guest-mode .modal-body{padding:20px}.guest-mode .guest-main .form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.guest-card-image img{transition:none}}
