*{box-sizing:border-box}html{background:#f0f2f4;color:#232a34}body{margin:0;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{opacity:.3;cursor:default}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid #3156d8;outline-offset:5px}h1,h2,p{margin:0}.page{width:min(1380px,100%);min-height:100svh;margin:auto;padding:38px 5vw 24px;display:flex;flex-direction:column;justify-content:center;align-items:center}.top{text-align:center}.top>p{font-size:9px;letter-spacing:2.5px;color:#768191;margin-bottom:14px}h1{font-weight:400}.brand{font:400 clamp(44px,6.3vw,88px)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-4px}.brand span{color:#3156d8}.connect{display:flex;justify-content:center;gap:12px;margin-top:26px;width:min(480px,100%)}.social{display:flex;justify-content:space-between;align-items:center;gap:30px;border-radius:12px;padding:16px 22px;min-height:58px;flex:1;font-size:15px;transition:transform .25s,background .25s,box-shadow .25s}.instagram{background:#3156d8;color:white}.telegram{background:#e1e7f2;color:#29499d}.instagram:hover{background:#2449c8;box-shadow:0 9px 25px #3156d823;transform:translateY(-3px)}.telegram:hover{background:#d6dff0;transform:translateY(-3px)}.arrow{font-size:23px;transition:transform .25s}.social:hover .arrow{transform:translate(2px,-2px)}.price-trigger{font-size:11px;background:none;margin:17px 0 28px;padding:4px 0;border-bottom:1px solid #c4cbd5}.price-trigger span{margin-left:16px;color:#3156d8}.portfolio{width:100%;max-width:1150px;min-width:0}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 0}.gallery::-webkit-scrollbar{display:none}.gallery>button{position:relative;aspect-ratio:1;border-radius:19px;padding:0;overflow:hidden;background:#dce1e7;scroll-snap-align:start;transition:transform .35s,box-shadow .35s;animation:reveal .7s both;animation-delay:calc(.12s + var(--order)*.07s);cursor:zoom-in}.gallery img{width:100%;height:100%;display:block;object-fit:contain}.gallery>button:hover{transform:translateY(-5px);box-shadow:0 9px 20px #24385520}.gallery>button>span{position:absolute;right:9px;bottom:9px;padding:5px 8px;border-radius:6px;background:#f9fafbe8;color:#293956;font-size:9px;opacity:0;transition:opacity .2s;pointer-events:none}.gallery>button:hover>span,.gallery>button:focus-visible>span{opacity:1}.gallery-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:#7a8490;margin-top:12px}.gallery-controls{display:none;align-items:center;gap:9px}.gallery-controls button{background:none;font-size:20px;padding:2px 8px;color:#3156d8}.gallery-progress{width:48px;height:2px;position:relative;background:#cdd5e3;overflow:hidden}.gallery-progress i{display:block;position:absolute;left:0;top:0;width:14px;height:2px;background:#3156d8;transform:translateX(var(--progress,0px))}.bottom{width:100%;max-width:1150px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:32px;padding-top:18px;border-top:1px solid #d5dce4;font-size:11px}.bottom>a span{margin-left:9px;color:#3156d8}.bottom>span{font-size:10px;color:#808b98}.top,.connect{animation:reveal .65s both}.connect{animation-delay:.08s}.lightbox-nav{display:flex;align-items:center;justify-content:space-between;padding:9px 5px 0;font-size:11px}.lightbox-nav button{background:none;font-size:23px;padding:4px 14px;color:#3156d8}@keyframes reveal{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}dialog{border:0;padding:28px;background:#f9fafb;color:#232a34;width:min(540px,calc(100% - 32px));max-height:88svh;overflow:auto}dialog::backdrop{background:#171016c9;backdrop-filter:blur(7px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-header h1,.dialog-header h2{font:28px Georgia,serif;letter-spacing:-.8px}.close{background:transparent;font-size:28px;width:36px;height:36px;line-height:1}.currency{font-size:10px;letter-spacing:1px;color:#526fc2;margin:15px 0}dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #dce1e8}dt{font-size:13px;line-height:1.4}dt small{display:block;font-size:10px;line-height:1.6;color:#758092;margin-top:5px}dd{font:22px Georgia,serif;margin:0}.terms{font-size:10px;color:#758092;line-height:1.8;margin:20px 0}.modal-link{font-size:12px;border-bottom:1px solid #a48b96;padding-bottom:5px}#lightbox{padding:10px;width:fit-content;max-width:94vw;overflow:hidden}#lightbox img{display:block;max-width:100%;max-height:84svh;object-fit:contain}#lightbox .close{position:absolute;top:18px;right:18px;border-radius:50%;background:#f9fafb}.modal-open{overflow:hidden}@media(max-width:700px){.page{padding:30px 22px 22px}.brand{font-size:clamp(37px,9.5vw,65px);letter-spacing:-2.2px}.top>p{font-size:8px;letter-spacing:1.8px;margin-bottom:13px}.connect{margin-top:24px}.social{padding:15px 18px;min-height:56px}.price-trigger{margin:16px 0 23px}.gallery{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:43%;gap:10px}.gallery>button{border-radius:17px}.gallery-controls{display:flex}.gallery-note{display:none}.gallery-meta{margin-top:7px}.bottom{margin-top:24px;font-size:10px}.bottom>span{font-size:9px}.gallery>button>span{opacity:1}#lightbox img{max-height:74svh}}@media(max-height:600px) and (min-width:701px){.page{padding-top:22px;padding-bottom:18px}.brand{font-size:58px}.connect{margin-top:17px}.price-trigger{margin:12px 0 17px}.portfolio{max-width:900px}.bottom{margin-top:20px;max-width:900px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Recognizable social colors and a compact, responsive wave gallery. */
.instagram{background:linear-gradient(115deg,#f6a13e 0%,#df3763 43%,#a72d9c 72%,#7146ca 100%);color:#fff}
.instagram:hover{background:linear-gradient(115deg,#ee9230 0%,#cc2b59 43%,#98228e 72%,#6236bb 100%);box-shadow:0 8px 24px #c32f7026}
.telegram{background:#229ed9;color:#fff}
.telegram:hover{background:#168cc7;box-shadow:0 8px 24px #229ed926}
.portfolio{max-width:960px}.gallery{gap:18px;padding:28px 24px;overflow-y:hidden;scroll-padding-inline:24px}
.gallery>button{animation:none;transform:translateX(var(--push,0px)) translateY(var(--lift,0px)) scale(var(--scale,1));transition:transform 440ms cubic-bezier(.2,.8,.2,1),box-shadow 440ms;transform-origin:center;z-index:1}
.gallery>button:hover{transform:translateX(var(--push,0px)) translateY(var(--lift,0px)) scale(var(--scale,1));box-shadow:0 12px 25px #24385525}
.gallery>button.is-active{z-index:3}.gallery img{object-fit:cover}.gallery-meta{padding-inline:24px;margin-top:0}.bottom{max-width:912px}.gallery>button>span{display:none}
@media(max-width:700px){.gallery{grid-auto-columns:38%;gap:12px;padding:20px 14px;scroll-padding-inline:14px}.gallery-meta{padding-inline:14px}.portfolio{max-width:100%}}
@media(prefers-reduced-motion:reduce){.gallery>button{transform:none!important}}
/* Booking cues, grouped prices and borderless photo viewer. */
.booking-hint{margin-top:22px;font-size:11px;color:#758092;letter-spacing:.15px}.connect{margin-top:10px}
.price-group + .price-group{margin-top:23px;padding-top:14px;border-top:1px solid #bec8d8}.price-group>div:last-child{border-bottom:0}.price-booking{display:flex;flex-wrap:wrap;gap:15px 24px;padding:4px 0 8px}.price-booking .modal-link{font-size:11px;color:#3156d8}
#lightbox{padding:0;border:0;border-radius:19px;background:transparent;box-shadow:none;overflow:hidden;max-width:94vw;max-height:90svh}
#lightbox img{display:block;border-radius:19px;max-height:88svh;max-width:94vw;object-fit:contain}
#lightbox .close{z-index:2;top:13px;right:13px;background:#f9fafbdf;color:#232a34}
.lightbox-nav{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);gap:14px;padding:3px 6px;border-radius:25px;background:#f9fafbe6;color:#293956}
.lightbox-nav button{padding:2px 9px}.lightbox-nav #photo-count{white-space:nowrap}
body::before{content:'';position:fixed;inset:0;background:#101929;opacity:0;pointer-events:none;z-index:10;transition:opacity .3s ease}
body.gallery-spotlight::before{opacity:.22}
.gallery>button.is-active{z-index:11}
@media(max-width:700px){.booking-hint{margin-top:18px}.connect{margin-top:10px}#lightbox img{max-height:86svh}}
@media(prefers-reduced-motion:reduce){body::before{transition:none}}

/* Comfortable touch targets without enlarging the visual icons. */
@media(max-width:700px){.close{min-width:44px;min-height:44px}.gallery-controls button,.lightbox-nav button{min-width:44px;min-height:44px}.price-trigger{min-height:44px;margin-top:4px;margin-bottom:11px}.price-booking .modal-link{display:inline-flex;align-items:center;min-height:44px}.bottom>a{display:inline-flex;align-items:center;min-height:44px}.bottom{padding-top:8px}.lightbox-nav{gap:8px}}
/* Seamless touch gallery; keep all five originals visible on desktop. */
.gallery-copy{display:none}
@media(max-width:700px){
  .gallery-copy{display:block}
  .gallery{scroll-snap-type:none;scroll-behavior:auto;overflow-anchor:none;touch-action:pan-x pan-y}
  .gallery>button{scroll-snap-align:none;transform:none!important}
  .gallery-meta{min-height:28px}
}
