@import url('https://api.fontshare.com/v2/css?f[]=boska@400,500&f[]=satoshi@400,500,700&display=swap');
:root{--bg:oklch(97% .012 80);--surface:oklch(100% 0 0);--soft:oklch(93% .018 80);--ink:oklch(28% .03 230);--muted:oklch(48% .025 230);--accent:oklch(38% .048 231);--line:oklch(28% .03 230 / .18);--white:#fff;--navy:#18353f;--font-display:'Boska',Georgia,serif;--font-body:'Satoshi',Arial,sans-serif;--text-xs:.75rem;--text-sm:clamp(.875rem,.82rem + .15vw,1rem);--text-base:clamp(1rem,.97rem + .12vw,1.1rem);--text-lg:1.25rem;--text-xl:clamp(1.8rem,1.5rem + 1vw,2.5rem);--text-2xl:clamp(2.5rem,1.4rem + 3vw,4.75rem);--text-hero:clamp(3.7rem,2.5rem + 4vw,7rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--gutter:clamp(1.25rem,4.5vw,5rem);--radius-sm:3px}
[data-theme=dark]{--bg:oklch(22% .02 230);--surface:oklch(27% .025 230);--soft:oklch(30% .025 230);--ink:oklch(94% .01 80);--muted:oklch(76% .02 80);--accent:oklch(78% .06 220);--line:oklch(90% .01 80 / .18)}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:400}h1,h2,.display{font-family:var(--font-display);font-weight:400;line-height:1.08;letter-spacing:-.035em}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg);font-weight:500;line-height:1.4}p{color:var(--muted)}.wrap{max-width:1480px;margin:auto;padding-inline:var(--gutter)}.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.18em;line-height:1.6;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:var(--space-5)}.btn{min-height:52px;padding:var(--space-4) var(--space-6);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);font-size:var(--text-sm);font-weight:500;background:var(--accent);color:var(--bg);border:1px solid var(--accent);transition:background .2s,color .2s,transform .2s}.btn:hover{filter:brightness(1.15);transform:translateY(-2px)}.btn.light{background:var(--white);border-color:var(--white);color:var(--navy)}.btn.outline{background:transparent;color:inherit;border:1px solid var(--line)}.text-link{display:inline-flex;align-items:center;gap:var(--space-8);padding-block:var(--space-3);font-size:var(--text-sm);border-bottom:1px solid currentColor;min-height:44px}.arrow{font-size:1.35em;font-family:var(--font-body)}.section{padding-block:var(--space-24)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-12)}.section-head p{max-width:390px}.header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:92px}.brand{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.brand svg{width:40px;height:48px}.brand-name{font-family:var(--font-display);font-size:1.85rem;line-height:1;letter-spacing:-.04em}.brand-name small{display:block;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.27em;line-height:2}.nav{display:flex;gap:var(--space-8);align-items:center;font-size:var(--text-sm)}.nav a{padding-block:var(--space-3)}.nav a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.language{position:relative}.language select{border:0;background:transparent;color:var(--ink);padding:var(--space-3) var(--space-2);min-height:44px;font-size:var(--text-sm)}.language option{background:var(--bg)}.icon-btn{width:44px;height:44px;background:none;border:1px solid var(--line);display:grid;place-items:center;font-size:var(--text-lg)}.menu-toggle{display:none}
.hero{position:relative;min-height:650px;height:min(740px,calc(100svh - 92px));color:var(--white);isolation:isolate;display:flex;align-items:center}.hero>.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,24,30,.68),rgba(8,24,30,.2) 65%,rgba(8,24,30,.06));z-index:-1}.hero .wrap{width:100%;padding-block:var(--space-16)}.hero h1{font-size:var(--text-hero);max-width:800px;text-wrap:balance}.hero h1 span{font-style:italic}.hero .eyebrow{color:#fff}.hero p{color:#f2f2ed;max-width:420px;margin-block:var(--space-6) var(--space-8)}.hero-bottom{position:absolute;bottom:var(--space-8);left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);letter-spacing:.12em}.hero-bottom a{letter-spacing:0;border-bottom:1px solid #ffffff80}.booking-strip{background:var(--surface);border-bottom:1px solid var(--line)}.booking-strip form{display:grid;grid-template-columns:1.1fr 1fr 1fr .65fr auto;gap:var(--space-6);align-items:center;padding-block:var(--space-6)}.booking-label{font-size:var(--text-xs);letter-spacing:.12em;max-width:180px;line-height:1.7}.booking-strip label,.field label{display:block;font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-2)}.booking-strip input,.booking-strip select{width:100%;background:transparent;color:var(--ink);border:0;min-height:38px;max-width:100%;outline-offset:0}.booking-strip .quick-field{border-left:1px solid var(--line);padding-left:var(--space-6);min-width:0}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem);align-items:center;padding-block:var(--space-32)}.intro-photos{position:relative;padding-bottom:var(--space-12);padding-right:var(--space-16)}.intro-photos .large{width:100%;aspect-ratio:4/5;object-fit:cover}.intro-photos .small{position:absolute;right:0;bottom:0;width:48%;aspect-ratio:4/5;object-fit:cover;border:8px solid var(--bg)}.photo-note{position:absolute;left:0;bottom:var(--space-3);font-size:var(--text-xs);letter-spacing:.05em;color:var(--muted)}.intro-copy p{margin-top:var(--space-6)}.intro-copy .text-link{margin-top:var(--space-6)}.amenities{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:var(--space-6);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);font-size:var(--text-sm)}.amenities span{display:flex;align-items:center;gap:var(--space-3)}.amenities span::before{content:"✓";font-weight:700;color:var(--accent)}.stays{padding-top:var(--space-24);padding-bottom:var(--space-32)}.filters{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-10)}.filter{min-height:44px;border:1px solid var(--line);background:transparent;color:var(--muted);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);transition:all .2s}.filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.apartment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-12) var(--space-8)}.apt-image{display:block;position:relative;overflow:hidden;background:var(--soft)}.apt-image img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}.apt-image:hover img{transform:scale(1.035)}.apt-id{position:absolute;top:var(--space-4);left:var(--space-4);background:var(--bg);color:var(--ink);width:48px;height:48px;display:grid;place-items:center;font-weight:500}.apt-card .meta{font-size:var(--text-xs);color:var(--muted);display:flex;justify-content:space-between;gap:var(--space-2);margin-block:var(--space-5) var(--space-3)}.apt-card h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;letter-spacing:-.02em;line-height:1.15}.apt-card p{font-size:var(--text-sm);margin-top:var(--space-3)}.apt-card .text-link{margin-top:var(--space-4);width:100%;justify-content:space-between;border-color:var(--line)}
.direct-section{background:var(--navy);color:var(--white);padding-block:var(--space-24)}.direct-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:var(--space-24)}.direct-section .eyebrow,.direct-section p{color:#c2d0d3}.direct-section h2{font-size:clamp(3rem,2rem + 3vw,5.2rem)}.direct-section .btn{margin-top:var(--space-8)}.direct-copy>p{max-width:520px;margin-bottom:var(--space-6)}.direct-item{display:grid;grid-template-columns:32px 1fr;gap:var(--space-5);padding-block:var(--space-6);border-bottom:1px solid #ffffff30}.direct-item .number{font-size:var(--text-xs);padding-top:var(--space-1);color:#afc1c6}.direct-item p{font-size:var(--text-sm);margin-top:var(--space-2)}.location{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;padding-block:var(--space-32)}.location-visual{position:relative}.location-visual img{aspect-ratio:1/1.08;object-fit:cover;width:100%}.location-card{background:var(--bg);border:1px solid var(--line);padding:var(--space-6);position:absolute;bottom:var(--space-6);left:var(--space-6);right:var(--space-6)}.location-card p{font-size:var(--text-sm);margin-top:var(--space-2)}.location-copy>p{margin-top:var(--space-6)}.distances{margin-block:var(--space-6)}.distances div{display:flex;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-4);border-bottom:1px solid var(--line);font-size:var(--text-sm)}.distances strong{font-weight:500;white-space:nowrap}.smallprint{font-size:var(--text-xs);line-height:1.6}.reviews{background:var(--soft);padding-block:var(--space-24)}.reviews-top{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;margin-bottom:var(--space-12)}.rating-line{display:flex;align-items:center;gap:var(--space-5)}.rating-number{display:grid;place-items:center;width:86px;height:86px;background:var(--navy);color:white;font-size:2.1rem;border-radius:8px 8px 8px 0}.rating-line strong{font-weight:500;font-size:var(--text-lg)}.rating-line p{font-size:var(--text-sm)}.review-scores{display:flex;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-6);font-size:var(--text-sm)}.review-scores strong{margin-left:var(--space-2)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.review-card{padding:var(--space-8);background:var(--bg)}.quote-mark{font-family:var(--font-display);font-size:3rem;line-height:1;color:var(--accent)}blockquote{margin:0;font-size:var(--text-base);line-height:1.75}blockquote p{color:var(--ink)}.review-author{font-size:var(--text-sm);margin-top:var(--space-6)}.review-author span{display:block;font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-1)}.review-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-8)}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-16);padding-block:var(--space-24)}details{border-bottom:1px solid var(--line);padding-block:var(--space-5)}summary{font-size:var(--text-base);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-2)}summary::-webkit-details-marker{display:none}summary::after{content:"+";font-size:var(--text-lg)}details[open] summary::after{content:"−"}details p{font-size:var(--text-sm);padding-block:var(--space-3)}
.contact-section{background:var(--soft);padding-block:var(--space-24)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-20)}.contact-copy>p{margin-top:var(--space-6);max-width:430px}.contact-links{margin-top:var(--space-10);display:grid;gap:var(--space-4);font-size:var(--text-base)}.contact-links a{overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center}.contact-links small{font-size:var(--text-xs);display:block;color:var(--muted);margin-bottom:var(--space-2)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.field.full{grid-column:1/-1}.field input,.field textarea,.field select{border:1px solid var(--line);padding:var(--space-4);background:var(--bg);color:var(--ink);width:100%;min-height:52px;border-radius:0;min-width:0;font-size:1rem}.field textarea{resize:vertical;min-height:104px}.consent{display:flex;gap:var(--space-3);align-items:start;font-size:var(--text-xs);line-height:1.7;color:var(--muted);margin-block:var(--space-6)}.consent input{margin-top:var(--space-1);width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}.consent a{text-decoration:underline}.form-bottom{display:flex;align-items:center;gap:var(--space-6)}.form-bottom p{max-width:270px}.form-status{margin-top:var(--space-5);line-height:1.7;font-size:var(--text-sm)}.fallback-links{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-4)}.footer{padding-block:var(--space-16) var(--space-8)}.footer-top{display:flex;justify-content:space-between;gap:var(--space-12);align-items:start}.footer-top p{margin-top:var(--space-4);font-size:var(--text-sm)}.footer-nav{display:flex;gap:var(--space-8);font-size:var(--text-sm)}.footer-bottom{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--space-6);font-size:var(--text-xs);color:var(--muted)}.mobile-contact{display:none}
.page-top{padding-block:var(--space-8) var(--space-10)}.breadcrumbs{font-size:var(--text-xs);color:var(--muted);display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-8)}.apartment-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-8)}.apartment-heading h1{font-size:var(--text-2xl)}.apartment-heading h1 .unit{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.15em;display:block;margin-bottom:var(--space-4)}.apartment-heading .subtitle{font-size:var(--text-base);margin-top:var(--space-5)}.gallery-mosaic{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--space-3);height:440px}.gallery-mosaic button{padding:0;border:0;position:relative;background:var(--soft);overflow:hidden}.gallery-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-mosaic button:hover img{transform:scale(1.025)}.gallery-more{position:absolute;bottom:var(--space-4);right:var(--space-4);background:var(--bg);padding:var(--space-3) var(--space-5);color:var(--ink);font-size:var(--text-sm)}.apt-details{display:grid;grid-template-columns:1.35fr .75fr;gap:var(--space-20);padding-block:var(--space-16)}.apt-details h2{font-size:var(--text-xl);margin-bottom:var(--space-6)}.apt-details p{margin-block:var(--space-4)}.spec-row{display:flex;flex-wrap:wrap;gap:var(--space-6);padding-block:var(--space-6);border-block:1px solid var(--line);margin-bottom:var(--space-8);font-size:var(--text-sm)}.spec-row strong{font-weight:700}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);font-size:var(--text-sm);margin-block:var(--space-6)}.feature-list li{padding-left:var(--space-5);position:relative}.feature-list li::before{content:"✓";position:absolute;left:0;color:var(--accent)}.stay-box{background:var(--soft);padding:var(--space-8);align-self:start;position:sticky;top:120px}.stay-box .display{font-size:var(--text-xl);margin-top:var(--space-3)}.stay-box .btn{width:100%;margin-top:var(--space-6)}.stay-box p{font-size:var(--text-sm)}.stay-box .text-link{display:flex;justify-content:center}.full-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-8)}.full-gallery button{border:0;padding:0;background:var(--soft);position:relative}.full-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery-section{padding-block:var(--space-8) var(--space-24)}.gallery-section h2{font-size:var(--text-xl)}dialog.lightbox{border:0;max-width:100vw;width:100vw;height:100dvh;max-height:100dvh;padding:var(--space-8);background:#101a1eee;color:white}dialog::backdrop{background:#101a1eeb}.lightbox-shell{height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-4)}.lightbox-head{display:flex;justify-content:space-between;align-items:center}.lightbox .icon-btn{border-color:#ffffff50}.lightbox-view{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:var(--space-4);min-height:0}.lightbox-view img{max-height:calc(100dvh - 180px);width:100%;height:100%;object-fit:contain}.lightbox-caption{text-align:center;font-size:var(--text-sm)}.privacy-content{max-width:780px;padding-block:var(--space-16) var(--space-24)}.privacy-content h1{font-size:var(--text-2xl);margin-bottom:var(--space-8)}.privacy-content p{margin-block:var(--space-6)}.compact-contact{margin-top:var(--space-8)}.empty-filter{padding:var(--space-8);text-align:center}
.apt-h1-desc{display:block;font-size:var(--text-xl);letter-spacing:-.02em;margin-top:var(--space-3);max-width:750px}
@media(min-width:1700px){.hero .wrap{padding-inline:var(--gutter)}}
@media(max-width:1150px){.nav{gap:var(--space-5)}.header-actions>.btn{display:none}.direct-grid{gap:var(--space-12)}.booking-strip form{grid-template-columns:1fr 1fr .7fr auto}.booking-label{display:none}.contact-grid{gap:var(--space-10)}.intro{gap:var(--space-12)}}
@media(max-width:850px){.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--bg);padding:var(--space-6) var(--gutter);border-bottom:1px solid var(--line)}.nav.open{display:grid;gap:var(--space-2)}.nav a{min-height:44px}.menu-toggle{display:grid}.header-inner{height:76px}.hero{height:670px;min-height:570px}.hero h1{font-size:clamp(3.5rem,8vw,5rem)}.hero-bottom{bottom:var(--space-6)}.booking-strip form{gap:var(--space-4);grid-template-columns:1fr 1fr .6fr}.booking-strip .btn{grid-column:1/-1}.booking-strip .quick-field{padding-left:var(--space-3)}.intro{padding-block:var(--space-20);gap:var(--space-8)}.intro-photos{padding-right:var(--space-8)}.amenities{grid-template-columns:1fr 1fr}.apartment-grid{grid-template-columns:1fr 1fr}.direct-grid{gap:var(--space-10)}.direct-section h2{font-size:3.3rem}.location{gap:var(--space-8);padding-block:var(--space-20)}.reviews-top{gap:var(--space-8)}.review-grid{grid-template-columns:1fr 1fr}.review-card:last-child{grid-column:1/-1}.contact-grid{grid-template-columns:1fr}.contact-copy{max-width:630px}.contact-links{grid-template-columns:1fr 1fr;margin-top:var(--space-6)}.contact-links>div:last-child{grid-column:1/-1}.faq{grid-template-columns:1fr;gap:var(--space-8)}.footer-nav{flex-wrap:wrap}.gallery-mosaic{height:330px;grid-template-columns:1.4fr 1fr}.gallery-mosaic button:nth-child(3){display:none}.apt-details{gap:var(--space-8)}.full-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){body{padding-bottom:64px}.header-inner{gap:var(--space-2)}.brand-name{font-size:1.55rem}.brand svg{width:30px;height:38px}.brand{gap:var(--space-2)}.brand-name small{font-size:.625rem;letter-spacing:.22em}.header-actions{gap:var(--space-1)}.header-actions .icon-btn{border:0;width:40px}.language select{padding-inline:var(--space-1)}.hero{min-height:580px;height:calc(90svh - 76px);max-height:720px;align-items:center}.hero h1{font-size:clamp(3.4rem,13vw,4.7rem)}.hero p{max-width:320px;font-size:1rem}.hero .wrap{padding-block:var(--space-10)}.hero::after{background:linear-gradient(90deg,rgba(8,24,30,.62),rgba(8,24,30,.22))}.hero-bottom span:last-child{display:none}.hero-bottom{font-size:var(--text-xs);letter-spacing:.08em}.hero-photo{object-position:62% center}.booking-strip form{padding-block:var(--space-5);grid-template-columns:1fr 1fr}.booking-strip .quick-field:nth-of-type(3){grid-column:1/-1;display:flex;align-items:center;gap:var(--space-5);border-left:0}.booking-strip .quick-field:nth-of-type(3) select{width:80px}.booking-strip .quick-field:first-of-type{padding-left:0;border-left:0}.booking-strip input{font-size:.95rem}.intro{grid-template-columns:1fr;padding-block:var(--space-16);gap:var(--space-10)}.intro-photos{max-width:470px;padding-right:var(--space-12);padding-bottom:var(--space-10)}.intro-photos .large{aspect-ratio:1/1.1}.intro-photos .small{width:45%;aspect-ratio:4/5}.intro-copy h2,h2{font-size:2.7rem}.amenities{gap:var(--space-5);font-size:var(--text-xs)}.amenities span{align-items:start;gap:var(--space-2)}.section-head{display:block;margin-bottom:var(--space-8)}.section-head p{margin-top:var(--space-5)}.stays{padding-block:var(--space-16)}.filters{gap:var(--space-2);margin-bottom:var(--space-8)}.filter{padding:var(--space-3) var(--space-4);font-size:var(--text-xs)}.apartment-grid{grid-template-columns:1fr;gap:var(--space-10)}.apt-card h3{font-size:1.9rem}.apt-image img{aspect-ratio:4/3}.direct-section{padding-block:var(--space-16)}.direct-grid{grid-template-columns:1fr;gap:var(--space-10)}.direct-section h2{font-size:3.4rem}.direct-item{padding-block:var(--space-5)}.location{grid-template-columns:1fr;padding-block:var(--space-16);gap:var(--space-10)}.location-visual img{aspect-ratio:1/1.05}.location-card{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);padding:var(--space-5)}.reviews{padding-block:var(--space-16)}.reviews-top{grid-template-columns:1fr;gap:var(--space-8)}.review-grid{grid-template-columns:1fr;gap:var(--space-4)}.review-card:last-child{grid-column:auto}.review-card{padding:var(--space-6)}.review-footer{display:block}.review-footer p{margin-top:var(--space-4)}.review-scores{gap:var(--space-4);font-size:var(--text-xs)}.faq{padding-block:var(--space-16)}.contact-section{padding-block:var(--space-16)}.contact-grid{gap:var(--space-10)}.contact-links{grid-template-columns:1fr;gap:var(--space-3)}.contact-links>div:last-child{grid-column:auto}.form-grid{gap:var(--space-4)}.field input,.field select,.field textarea{padding:var(--space-3)}.form-bottom{display:block}.form-bottom .btn{width:100%;margin-bottom:var(--space-4)}.form-bottom p{max-width:none}.footer{padding-top:var(--space-12)}.footer-top{display:block}.footer-nav{margin-top:var(--space-8);gap:var(--space-5)}.footer-bottom{display:block;margin-top:var(--space-8)}.footer-bottom>span{display:block;margin-top:var(--space-3)}.mobile-contact{display:grid;grid-template-columns:1fr 1.2fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:45;background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{min-height:60px;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:500;gap:var(--space-2)}.mobile-contact a:nth-child(2){background:var(--accent);color:var(--bg)}.apartment-heading{display:block}.apartment-heading h1{font-size:2.8rem}.apartment-heading>.btn{margin-top:var(--space-6)}.page-top{padding-bottom:var(--space-6)}.gallery-mosaic{height:340px;grid-template-columns:1fr;padding-inline:0}.gallery-mosaic button:not(:first-child){display:none}.gallery-mosaic button:first-child .gallery-more{display:block}.apt-details{grid-template-columns:1fr;gap:var(--space-8);padding-block:var(--space-8)}.spec-row{gap:var(--space-4);font-size:var(--text-xs)}.stay-box{position:static;padding:var(--space-6)}.feature-list{gap:var(--space-4);font-size:var(--text-sm)}.full-gallery{grid-template-columns:1fr 1fr;gap:var(--space-3)}.gallery-section{padding-bottom:var(--space-16)}.lightbox{padding:var(--space-4)!important}.lightbox-view{grid-template-columns:36px minmax(0,1fr) 36px;gap:var(--space-2)}.lightbox-view .icon-btn{width:36px}.lightbox-head{font-size:var(--text-sm)}.lightbox-view img{max-height:calc(100dvh - 210px)}}
.google-reviews{max-width:1480px;margin:auto;padding:var(--space-16) var(--gutter);border-bottom:1px solid var(--line)}
.google-reviews h3{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.15}
.google-rating{display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0}
.google-rating>strong{font-family:var(--font-display);font-size:3rem;line-height:1.1}
.google-rating small{font-family:var(--font-body);font-size:1rem;color:var(--muted)}
.google-rating>span,.review-source{font-size:var(--text-sm);color:var(--muted)}
.review-source{display:block;margin-bottom:var(--space-5)}
@media(max-width:600px){.header .brand-name small{font-size:.75rem;letter-spacing:.08em}.google-rating{margin-top:var(--space-5)}}
.booking-strip .booking-label{display:inline-flex;align-items:center;gap:1rem;max-width:none;background:none;color:var(--ink);border:0;border-bottom:1px solid var(--ink);padding:.8rem 0;margin-top:1.25rem;min-height:44px;text-align:left}
.booking-strip form{grid-template-columns:1fr 1fr .6fr 1.2fr auto}
.booking-strip .quick-field:first-child{border-left:0;padding-left:0}
.booking-help{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.booking-help .text-link{font-size:var(--text-sm)}
@media(max-width:1150px){.booking-strip form{grid-template-columns:1fr 1fr .6fr 1.2fr}.booking-strip form>.btn{grid-column:1/-1}}
@media(max-width:600px){.booking-strip form{grid-template-columns:1fr 1fr}.booking-strip .quick-field:nth-of-type(3){grid-column:auto;display:block}.booking-strip .quick-field:nth-of-type(3) select{width:100%}.booking-strip .quick-field{padding-left:0;border:0}.booking-help{display:block}}
.apt-area{position:absolute;right:var(--space-4);bottom:var(--space-4);padding:.6rem 1rem;background:var(--bg);color:var(--ink);font-size:1.25rem;line-height:1.2}
.spec-row{flex-wrap:wrap}
.spec-row .area-spec strong{font-size:1.5rem}
.area-source{margin:var(--space-4) 0 var(--space-6)}
.stays>.area-source{margin-top:var(--space-8)}
.house-mosaic{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:230px 230px;gap:var(--space-4)}
.house-mosaic>button{position:relative;overflow:hidden;background:var(--soft);padding:0;border:0}
.house-mosaic>button:first-child{grid-row:1/3}
.house-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.house-mosaic button:hover img{transform:scale(1.03)}
.house-mosaic span{position:absolute;bottom:1rem;left:1rem;background:var(--bg);color:var(--ink);padding:.7rem 1rem;font-size:var(--text-sm)}
.hero-gallery-link{color:inherit;background:transparent;border:0;border-bottom:1px solid #ffffff80;padding:.6rem 0;font-size:var(--text-sm);text-align:left}
.hero-bottom{align-items:center}
.gallery-filters{display:flex;gap:.5rem;overflow-x:auto;margin-bottom:1rem;padding-bottom:.25rem}
.gallery-filter{flex-shrink:0;border:1px solid #ffffff55;background:transparent;color:#fff;padding:.6rem 1rem;min-height:44px;font-size:.875rem}
.gallery-filter[aria-pressed=true]{background:#f7f3ed;color:#18353f}
.gallery-thumbnails{display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 0;max-width:100%}
.gallery-thumbnails button{padding:0;border:2px solid transparent;background:transparent;flex:0 0 88px;height:64px;opacity:.6}
.gallery-thumbnails button[aria-pressed=true]{border-color:#fff;opacity:1}
.gallery-thumbnails img{width:100%;height:100%;object-fit:cover}
.house-lightbox .lightbox-view img{max-height:calc(100dvh - 300px)}
@media(max-width:600px){.house-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:280px 160px;gap:.5rem}.house-mosaic>button:first-child{grid-row:1;grid-column:1/-1}.house-mosaic span{font-size:.75rem;left:.5rem;bottom:.5rem;padding:.5rem}.house-gallery .section-head>.btn{margin-top:1.5rem}.hero-bottom{flex-direction:column;align-items:flex-start;gap:.25rem}.hero-gallery-link{min-height:44px}.house-lightbox .lightbox-view img{max-height:calc(100dvh - 320px)}}
.house-lightbox .lightbox-shell{grid-template-rows:auto auto minmax(0,1fr) auto 80px}
.map-section{padding-bottom:var(--space-24)}
.map-section .section-head p{max-width:470px}
.map-section iframe{width:100%;height:450px;display:block;border:1px solid var(--line);background:var(--soft)}
.map-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);margin-top:var(--space-4)}
.map-footer p{max-width:470px}
@media(max-width:600px){.map-section iframe{height:380px}.map-footer{display:block}.map-footer p{margin-top:1rem}}

/* Villa Lory mobile hero layout repair */
@media(max-width:850px){
.hero{height:auto;min-height:650px;min-height:calc(100svh - 92px);display:flex;flex-direction:column;align-items:stretch;justify-content:center;}
.hero>.wrap{width:100%;margin:0;padding-top:3rem;padding-bottom:2rem;}
.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,10vw,4.5rem);line-height:1.08;max-width:100%;}
.hero p{max-width:420px;}
.hero .btn{max-width:100%;white-space:normal;}
.hero-bottom{position:static;inset:auto;width:100%;margin:0;padding:0 var(--gutter) 2rem;display:flex;flex-direction:column;align-items:flex-start;gap:1rem;}
.hero-bottom>*{max-width:100%;}
}
