@font-face{font-family:Jost;src:url('/assets/jost.ttf')}@font-face{font-family:Sixtyfour;src:url('/assets/sixtyfour.ttf')}*{box-sizing:border-box}body{margin:0;color:#20221e;background:#fff;font-family:Jost,Futura,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #738557;outline-offset:5px}.top{padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:Sixtyfour,monospace;font-size:18px}.contact{display:flex;gap:30px;align-items:center}.contact a{font-size:18px}.language{border:0;background:white;padding:8px}.grid{display:grid;grid-template-columns:1.04fr 1.08fr 1fr;gap:12px;padding:0 12px}.column{display:flex;flex-direction:column;gap:12px;min-width:0}.tile{position:relative;background:#eeeae0;overflow:hidden}.intro{padding:42px 32px 36px;min-height:390px;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;margin:0 0 24px}h1{font-family:Sixtyfour,monospace;font-size:clamp(32px,4.4vw,70px);line-height:1.2;font-weight:400;margin:0;letter-spacing:-.06em}h1 span{display:block}h2{font-size:29px;line-height:1.2;font-weight:500;margin:0 0 22px}.intro p:last-child{font-size:21px;max-width:230px;margin-top:30px}.photo{padding:0;border:0;display:block;width:100%;cursor:zoom-in;line-height:0;background:#ddd}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.photo:hover img{transform:scale(1.035)}.photo:after{content:'↗';position:absolute;bottom:16px;right:18px;color:white;font-size:26px;line-height:1;text-shadow:0 1px 8px black}.h-tall{height:610px}.h-medium{height:410px}.h-short{height:300px}.text{padding:38px 32px}ul{padding-left:19px;margin:0}li{padding:7px 0;font-size:18px;line-height:1.45}.financial{background:#dfe4d5}.financial li{padding:12px 0}.financial li:first-child{font-size:29px;font-weight:500}.financial strong{font-weight:600}.caption{position:absolute;left:20px;bottom:19px;font-size:12px;letter-spacing:.04em;color:white;text-shadow:0 1px 7px black;max-width:80%;line-height:1.4}.plan{padding:30px;background:#f3f2ec}.plan img{width:100%;height:300px;object-fit:contain}.plan .photo{background:transparent}.plan .photo:after{color:#20221e;text-shadow:none}.tour-link{background:#272c23;color:#fff;min-height:260px;padding:34px;display:flex;flex-direction:column;justify-content:space-between}.tour-link strong{font-size:40px;font-weight:400}.tour-link .arrow{font-size:46px;align-self:flex-end}.footer{padding:60px 20px 65px;text-align:center}.footer a{font-size:28px}.footer p{font-size:12px;letter-spacing:.1em}.tour-footer{text-align:right;padding-right:34px}.whatsapp{position:fixed;right:24px;bottom:24px;z-index:5;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 3px 18px #0003;border:3px solid white}.whatsapp svg{width:32px;fill:white}dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;background:#111f;padding:50px 12px 20px;color:white}dialog::backdrop{background:#111}dialog img{width:100%;height:100%;object-fit:contain}.close{position:absolute;top:12px;right:20px;background:transparent;color:white;border:1px solid #aaa;padding:6px 15px;cursor:pointer}.tour-video{width:100%;display:block;max-height:680px;background:#181b16}.video-wrap{background:#272c23;color:white}.video-wrap p{padding:16px 25px;margin:0}.back{display:block;margin-top:24px;text-decoration:underline}.tour-title{font-size:clamp(28px,3.2vw,48px)}@media(min-width:1500px){.h-tall{height:760px}.h-medium{height:500px}.h-short{height:380px}.intro{min-height:470px}}@media(max-width:1000px){.grid{grid-template-columns:1fr 1fr}.column:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.h-tall{height:540px}.contact{gap:10px}.top{padding:20px}.text{padding:30px 25px}h1{font-size:52px}}@media(max-width:600px){.top{padding:17px 14px;align-items:flex-start}.brand{font-size:12px;margin-top:7px}.contact{gap:2px;flex-direction:column;align-items:flex-end}.contact a{font-size:15px}.language{padding:3px;font-size:12px}.grid{display:flex;flex-direction:column;padding:0 8px;gap:8px}.column,.column:last-child{display:flex;flex-direction:column;gap:8px}.intro{min-height:310px;padding:30px 26px}h1{font-size:54px}.h-tall{height:480px}.h-medium{height:340px}.h-short{height:300px}.text{padding:32px 26px}li{font-size:18px}.whatsapp{right:15px;bottom:16px;width:54px;height:54px}.footer{padding-bottom:100px}.tour-footer{text-align:right}.tour-link{min-height:220px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Keep the transfer price on one line at every screen size. */
.financial{container-type:inline-size}.financial li:first-child{white-space:nowrap;font-size:clamp(13px,6.8cqi,29px)}

/* V2: preserve the staggered photographic grid on phones. */
@media(max-width:600px){
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 8px;align-items:start}
.column,.column:last-child{display:contents}
.tile{grid-column:auto;min-width:0}
.intro{grid-column:1;grid-row:1;min-height:250px;padding:22px 14px}
.intro .eyebrow{font-size:9px;letter-spacing:.08em;margin-bottom:20px}
.intro h1{font-size:clamp(25px,8vw,46px)}
.intro .tour-title{font-size:clamp(20px,5.8vw,34px)}
.intro p:last-child,.intro p{font-size:16px;line-height:1.35;margin-top:22px}
.grid>.column:nth-child(2)>.photo:first-child{grid-column:2;grid-row:1 / span 2;height:390px}
.grid>.column:first-child>.photo{grid-column:1;grid-row:2;height:260px}
.financial,.text:not(.intro),.plan,.tour-link,.video-wrap{grid-column:1 / -1}
.financial{grid-row:3}.grid>.column:nth-child(2)>.text{grid-row:4}
.h-medium{height:265px}.h-short{height:200px}.h-tall{height:320px}
.caption{font-size:9px;left:9px;bottom:10px;max-width:75%}.photo:after{font-size:22px;right:10px;bottom:10px}
.text{padding:28px 24px}.plan{padding:24px}.plan img{height:230px}
body[data-tour="true"] .grid>.column:first-child>.photo:nth-child(3){grid-column:1;height:260px}
body[data-tour="true"] .video-wrap{grid-row:3}
.back{font-size:14px}.top{gap:8px}.brand{font-size:11px}.contact a{font-size:14px}
}
body.photo-open{overflow:hidden}dialog{position:fixed;inset:0;margin:0}dialog img{touch-action:pinch-zoom}

@media(max-width:600px){.financial,.grid>.column:nth-child(2)>.text{grid-column:auto;grid-row:3}.financial{grid-column:1}.grid>.column:nth-child(2)>.text{grid-column:2}.expandable{min-height:185px;padding:22px 16px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between}.expandable h2{font-size:22px;margin:0;overflow-wrap:anywhere}.expandable>.eyebrow,.expandable>ul{display:none}.expandable:after{content:'+';font-size:32px;align-self:flex-end}.details-modal{padding:64px 25px 35px;background:#eeeae0;color:#20221e}.details-modal .close{color:#20221e;border-color:#777}.details-modal h2{font-size:30px;margin-bottom:24px}.details-modal li{font-size:19px}.details-modal .eyebrow{display:none}.details-modal ul{padding-left:22px}.details-modal strong{font-weight:600}}
@media(max-width:600px){.expandable{container-type:normal}.expandable h2{font-size:18px;line-height:1.35;overflow-wrap:normal;hyphens:auto}.expandable:after{display:block;line-height:1;margin-top:24px}.financial li:first-child{white-space:normal}}

@media(max-width:600px){.expandable{display:block;position:relative}.expandable h2{width:100%;white-space:normal;font-size:17px}.expandable:after{position:absolute;right:16px;bottom:18px;margin:0}}

@media(max-width:600px){
.grid{display:block;columns:2;column-gap:8px;padding:0 8px}
.column,.column:last-child{display:contents}
.grid .tile{display:block;break-inside:avoid;margin:0 0 8px;width:100%}
.grid .intro{display:flex;min-height:270px}
.grid .photo.h-tall,.grid>.column:first-child>.photo,.grid>.column:nth-child(2)>.photo:first-child{height:310px}
.grid .photo.h-medium{height:240px}.grid .photo.h-short{height:190px}
.grid .financial{height:165px;min-height:165px}
.grid .expandable:not(.financial){height:210px;min-height:210px}
.expandable h2{font-size:16px;line-height:1.4;margin:0;width:100%;hyphens:none}
.expandable h2 .title-line{display:block}
.expandable:after{content:'+';display:block;position:absolute;right:16px;bottom:18px;color:#20221e;line-height:1}
.grid .plan{padding:18px 12px}.grid .plan h2{font-size:20px}.grid .plan img{height:145px}
.grid .tour-link{display:flex;padding:22px 14px;min-height:230px}.grid .tour-link strong{font-size:26px}
.grid .video-wrap{display:block}.grid .video-wrap p{padding:12px;font-size:14px}
}

/* SALVA 34 close mark: pixel type, generous touch target. */
.close,.details-modal .close{font-family:Sixtyfour,monospace;font-size:26px;line-height:1;width:56px;height:56px;padding:0;display:grid;place-items:center;border:0;background:transparent;top:10px;right:12px;cursor:pointer;color:#fff}
.details-modal .close{color:#20221e}
.close:hover{opacity:.7}.close:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* Photos open by touch without decorative arrows. */
.photo:after{display:none!important}

@media(max-width:600px){dialog:not(.details-modal) .close{width:50px;height:50px;border:1px solid #ffffffb3;background:#181818;color:#fff;top:12px;right:12px;border-radius:0}}

/* Retain the clean white photo arrow; remove its grey shadow and the plan arrow. */
.photo:after{display:block!important;color:#fff;text-shadow:none}.plan .photo:after{display:none!important}

.video-frame{position:relative;line-height:0;aspect-ratio:16/9;background:#181b16;overflow:hidden}.video-frame .tour-video{width:100%;height:100%;max-height:none;object-fit:contain}.video-preview{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;padding:0;background:#181b16;cursor:pointer}.video-preview img{width:100%;height:100%;object-fit:cover}.video-preview span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:1px solid white;background:#1119;color:white;display:grid;place-items:center;font-size:22px;line-height:1}.video-preview[hidden]{display:none}.grid .video-wrap{height:auto;min-height:0;padding:0;align-self:start}.video-wrap p{line-height:1.4}

/* Vector arrows avoid emoji rendering on phones. */
.photo:after{content:'';width:32px;height:32px;background:url('/assets/arrow.svg') center/contain no-repeat}.plan .photo:after{display:none!important}.tour-link .arrow{font-size:0;width:42px;height:42px;background:url('/assets/arrow.svg') center/contain no-repeat}body[data-tour="true"] .tour-link .arrow{transform:rotate(-90deg)}

/* Small vector arrows on every screen; video uses a drawn play triangle. */
.photo:after{width:20px;height:20px}.tour-link .arrow{width:28px;height:28px}.video-preview span{font-size:0}.video-preview .play-mark:before{content:'';display:block;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid white;margin-left:3px}
