@import url('/area-navigation.css');
:root{--navy:#10283f;--ink:#172738;--muted:#586c7c;--teal:#087f74;--line:#dce5ea;--soft:#edf7f4;--bg:#f7f9f8}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:11px 18px;background:white;color:var(--navy);text-decoration:none;display:inline-block;font-weight:650}button:hover,.button:hover{border-color:var(--teal)}.primary{background:var(--teal);color:white;border-color:var(--teal)}button:disabled{opacity:.5;cursor:wait}a{color:var(--teal)}:focus-visible{outline:3px solid #bc7300;outline-offset:3px}.top{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:1200px;margin:auto;padding:22px 24px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:21px;font-weight:800}.logo{display:grid;place-items:center;background:var(--teal);color:white;border-radius:12px;width:40px;height:40px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}main{max-width:1152px;margin:auto;padding:10px 24px 100px}h1{font-size:clamp(28px,4vw,45px);line-height:1.16;letter-spacing:-1.3px;margin:14px 0}h2{font-size:25px;line-height:1.25;margin:0 0 20px}h3{font-size:18px}p{white-space:pre-line}small,.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:750;color:var(--teal)}.hero{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:220px 220px;gap:8px;border-radius:22px;overflow:hidden;margin:22px 0}.hero button{padding:0;border:0;border-radius:0;overflow:hidden;background:#dce5ea}.hero button:first-child{grid-row:span 2}.hero img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .2s}.hero button:hover img{transform:scale(1.02)}.hero.single{grid-template-columns:1fr}.empty-media{padding:70px 30px;background:var(--soft);border-radius:20px;text-align:center}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:60px}.section{padding:32px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.section:first-child{padding-top:12px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:20px}.price-card{position:sticky;top:22px;height:fit-content}.price{font-size:30px;font-weight:800;letter-spacing:-1px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border-radius:30px;background:var(--soft);padding:6px 13px;color:#24584e;font-size:14px}.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.photos button{padding:0;border:0;background:transparent;text-align:left}.photos small{display:block}.video{width:100%;max-height:450px;border-radius:14px;background:var(--navy)}dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}dt{color:var(--muted)}dd{margin:0;text-align:right;font-weight:650}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:14px;font-weight:650}input,select,textarea{display:block;width:100%;padding:11px;border:1px solid #b9cbd2;border-radius:9px;background:white;color:var(--ink);min-width:0}textarea{min-height:100px;resize:vertical}.field{margin:12px 0}.check{display:flex;align-items:flex-start;gap:9px;margin:16px 0;font-weight:400}.check input{width:20px;height:20px;flex-shrink:0;margin-top:4px}.honeypot{position:absolute;left:-10000px}.full{grid-column:1/-1}.message{padding:12px;border-radius:9px;background:var(--soft);margin:12px 0}.error{background:#fff0ee;color:#922f2f}.mobile-cta{display:none}.preview-banner{padding:12px;background:#fff2ce;text-align:center}.map{width:100%;height:310px;border:0;border-radius:16px}dialog{max-width:min(94vw,1100px);max-height:94vh;border:0;border-radius:18px;padding:18px}dialog::backdrop{background:#10283fe6}.lightbox-image{display:block;max-width:100%;max-height:70vh;margin:15px auto;object-fit:contain;touch-action:pan-y;cursor:zoom-in}.lightbox-image.zoom{max-height:none;width:auto;max-width:none;cursor:zoom-out}.footer{padding:30px 24px;text-align:center;color:var(--muted);font-size:13px}.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:25px}.room-list button{display:block;width:100%;margin:8px 0;text-align:left}.room-list button.selected{border:2px solid var(--teal);background:var(--soft)}.admin-head{margin:24px 0}.admin-form details{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;margin:12px 0}.admin-form summary{cursor:pointer;font-weight:750}.media-card{border:1px solid var(--line);padding:15px;border-radius:14px;margin:12px 0}.media-card img,.media-card video{max-width:100%;max-height:220px}.danger{color:#a03737}.sticky-actions{position:sticky;bottom:0;background:#fffffff5;padding:14px 0;border-top:1px solid var(--line);z-index:2}.state{font-size:12px;letter-spacing:1px;text-transform:uppercase}.inquiry{overflow-wrap:anywhere}.inquiry p{margin:5px 0}.admin-main{max-width:1300px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}[hidden]{display:none!important}@media(max-width:780px){.layout,.admin-layout{grid-template-columns:1fr;gap:20px}.price-card{position:static}.hero{grid-template-rows:170px 170px}.top{padding:16px}.top .brand{font-size:18px}main{padding:5px 16px 115px}.mobile-cta{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding:12px 18px max(12px,env(safe-area-inset-bottom));z-index:5}.mobile-cta .price{font-size:20px}.room-list{display:flex;overflow:auto;gap:8px}.room-list button{min-width:110px;width:auto}.grid{grid-template-columns:1fr}.photos{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr 1fr;grid-template-rows:260px 120px}.hero button:first-child{grid-column:span 2;grid-row:auto}.hero.single{grid-template-rows:300px}.hero.single button:first-child{grid-column:auto}.top .actions{gap:6px}.top button{padding:9px}.section{padding:25px 0}.sticky-actions{position:static}.admin-head .actions{align-items:stretch}}
/* The illustrative listing reuses the public page and form; visual changes are scoped. */
.demo-listing{--teal:#245b4b;--ink:#233b32;--navy:#203b32;--muted:#66756c;--line:#e0e4df;--soft:#edf2eb;--bg:#fcfcf9;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.demo-listing .preview-banner{background:#ede7d7;color:#645436;font-size:11px;font-weight:700;letter-spacing:1.2px;padding:9px 16px}.demo-listing .top{max-width:1248px;padding:25px 24px 23px;border-bottom:1px solid var(--line)}.demo-listing .brand{font-weight:750;letter-spacing:-.8px;font-size:24px}.demo-listing .logo{background:transparent;border:2px solid var(--teal);color:var(--teal);border-radius:12px 12px 5px 5px;font-size:15px}.demo-listing main{max-width:1248px;padding-top:33px}.demo-listing h1{font-size:clamp(28px,3.1vw,42px);font-weight:650;letter-spacing:-1.6px;margin:10px 0 8px}.demo-listing h2{font-size:27px;font-weight:600;letter-spacing:-.7px}.demo-listing h3{font-size:19px;font-weight:600;line-height:1.4}.demo-listing p{line-height:1.75}.demo-listing .eyebrow{color:var(--teal);letter-spacing:1.4px;font-size:10px}.demo-listing .location-line{font-size:13px;margin:0}.listing-tagline{font-size:17px;margin:10px 0 20px}.demo-listing .hero.demo-hero{grid-template-columns:2.05fr 1fr 1fr;grid-template-rows:210px 210px;gap:7px;border-radius:18px;margin:22px 0 14px}.demo-listing .hero.demo-hero button:first-child{grid-column:auto;grid-row:span 2}.demo-listing .hero button{position:relative}.demo-listing .hero button:focus-visible{outline-offset:-5px;z-index:1}.demo-listing .gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.demo-listing .gallery-toolbar small{font-size:11px}.demo-listing button,.demo-listing .button{border-radius:8px;font-size:13px;font-weight:650;padding:12px 18px;transition:background .2s,transform .2s}.demo-listing button:hover,.demo-listing .button:hover{background:#f0f3ed}.demo-listing .primary:hover{background:#173e32;color:white}.demo-listing .listing-nav{display:flex;gap:32px;border-block:1px solid var(--line);padding:19px 0;margin-bottom:32px;overflow-x:auto;white-space:nowrap}.demo-listing .listing-nav a{font-size:13px;color:var(--ink);font-weight:650;text-decoration:none}.demo-listing .listing-nav a:hover{text-decoration:underline;text-underline-offset:6px}.demo-listing .layout{grid-template-columns:minmax(0,1fr) 330px;gap:62px}.demo-listing .facts{gap:0;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:6px}.demo-listing .facts .chip{background:transparent;color:var(--ink);border-radius:0;padding:0 18px;font-weight:550;border-right:1px solid var(--line);font-size:13px}.demo-listing .facts .chip:first-child{padding-left:0}.demo-listing .facts .chip:last-child{border:0}.demo-listing .section{padding:33px 0;scroll-margin-top:20px}.demo-listing .section p{font-size:15px;color:#58675e}.demo-listing .chips:not(.facts){gap:10px}.demo-listing .chips:not(.facts) .chip{background:#f0f3ed;font-size:13px;border-radius:6px;padding:9px 13px}.demo-listing .chips:not(.facts) .chip::before{content:'✓';margin-right:7px;color:#567b52}.demo-listing .price-card{padding:25px 25px 22px;top:24px;border-radius:14px;box-shadow:0 10px 28px #193b3210;border-color:#d8e1d6}.demo-listing .price-card .price{margin-top:9px}.demo-listing .price{font-size:36px;line-height:1.2;font-weight:650;letter-spacing:-1.5px}.demo-listing .price small{font-size:14px;font-weight:400;letter-spacing:0;margin-left:5px}.demo-listing .price-note{font-size:11px;color:#7b653d;margin:9px 0 23px}.demo-listing .booking-details{grid-template-columns:1fr;gap:4px;border:1px solid var(--line);border-radius:8px;padding:13px 15px;margin-bottom:20px;font-size:12px}.demo-listing .booking-details dt{font-size:10px;text-transform:uppercase;letter-spacing:.8px}.demo-listing .booking-details dd{text-align:left;font-size:13px;margin-bottom:7px}.demo-listing .booking-details dd:last-child{margin-bottom:0}.demo-listing .price-card .primary{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 18px}.demo-listing .cta-note{display:block;text-align:center;font-size:10px;margin:12px 0 20px}.demo-listing hr{border:0;border-top:1px solid var(--line);margin:15px 0}.demo-listing .price-card p.muted{font-size:11px;line-height:1.7}.demo-listing .price-card>a:last-child{font-size:12px}.demo-listing .spaces-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.demo-listing .space-card{display:flex;flex-direction:column;border-radius:12px;padding:0;overflow:hidden;margin:0}.demo-listing .space-card h3{order:1;padding:0 18px;margin:16px 0 3px}.demo-listing .space-card>p{order:2;padding:0 18px;margin:0 0 18px;font-size:12px;line-height:1.7}.demo-listing .space-card .photos{order:0;display:block}.demo-listing .space-card .photos button{display:block;width:100%;padding:0;border:0}.demo-listing .space-card .photos img{border-radius:0;aspect-ratio:1.5;display:block}.demo-listing .space-card .photos small{display:none}.demo-listing .photos{grid-template-columns:1fr}.demo-listing .photos img{border-radius:12px;aspect-ratio:16/9;display:block}.demo-listing .photos small{padding:7px 0;font-size:11px}.demo-listing #section-atmosphere{background:#eef2e9;border:0;border-radius:14px;padding:25px;margin-top:20px}.demo-video{position:relative;height:320px;border-radius:14px;overflow:hidden;background:#233b32}.demo-video>img{width:100%;height:100%;object-fit:cover;filter:brightness(.45)}.demo-video>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:white}.demo-video h3{margin:12px 0 0}.demo-listing .demo-video p{color:#eee;font-size:11px;margin:5px 0}.video-symbol{width:54px;height:54px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;font-size:27px;line-height:1;padding-left:3px}.demo-listing .section-heading .eyebrow{display:block;margin-bottom:8px}.demo-listing .map-preview{position:relative;background:#e5eadf;border-radius:14px;overflow:hidden;height:270px;margin:20px 0 12px}.map-grid{position:absolute;inset:-50%;transform:rotate(-25deg);background:repeating-linear-gradient(90deg,transparent 0 70px,#fafbf7 70px 80px,transparent 80px 160px),repeating-linear-gradient(0deg,transparent 0 80px,#fafbf7 80px 94px,transparent 94px 170px);opacity:.8}.map-label{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;background:radial-gradient(ellipse,#f3f4ebd9,transparent)}.map-label>span{font-size:23px;font-weight:750;letter-spacing:4px}.map-label small{font-size:11px;margin:8px 12px 16px;text-align:center}.map-label button{box-shadow:0 3px 12px #1d392320}.demo-listing #section-location>small{font-size:11px}.demo-listing .map{margin-bottom:12px}.demo-listing #section-conditions dl{padding:12px 0;font-size:14px;border-bottom:1px solid var(--line)}.demo-listing .illustrative-note{background:#f4efe3;color:#765e34;padding:12px 15px;border-radius:8px;font-size:12px!important}.demo-listing .benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.benefit-number{color:#648371;font-size:12px}.demo-listing .benefit-grid h3{font-size:15px;margin:8px 0}.demo-listing .benefit-grid p{font-size:12px;line-height:1.8;margin:0}.demo-listing #interest{border:0;background:#f2f4ee;padding:28px;border-radius:16px;margin-top:30px}.demo-listing #interest h2{margin-bottom:10px}.demo-listing #interest-form label{font-size:12px;font-weight:550}.demo-listing #interest-form input,.demo-listing #interest-form select,.demo-listing #interest-form textarea{font-size:14px;border-color:#ced7cc;border-radius:7px;margin-top:6px;min-height:45px}.demo-listing #interest-form .check input{min-height:20px}.demo-listing #interest-form .check{font-size:12px;line-height:1.6}.demo-listing #interest-form .primary{width:100%;padding:15px}.demo-listing #interest-form details{font-size:12px}.demo-listing #interest-form details p{font-size:12px}.demo-listing .simulation-success{border:1px solid #8aad91;color:#245b4b}.demo-listing .footer{border-top:1px solid var(--line)}.demo-listing dialog{background:#fcfcf9}.demo-listing dialog .actions{justify-content:flex-end}.demo-listing .lightbox-image{border-radius:8px}.demo-listing .lightbox-image.zoom{max-width:100%;transform:scale(1.2);transform-origin:top center}.demo-listing #gallery-caption{font-size:12px}.demo-listing .mobile-cta{gap:14px}.demo-listing .mobile-cta .price{font-size:23px}.demo-listing .mobile-cta>div>small{font-size:10px}
@media(max-width:1000px){.demo-listing .layout{gap:30px;grid-template-columns:minmax(0,1fr) 290px}.demo-listing .hero.demo-hero{grid-template-rows:170px 170px}.demo-listing .benefit-grid{grid-template-columns:1fr}.demo-listing .benefit-grid article{border-bottom:1px solid var(--line);padding-bottom:10px}}
@media(max-width:780px){.demo-listing .top{padding:18px 16px}.demo-listing .brand{font-size:21px}.demo-listing main{padding:24px 16px 105px}.demo-listing h1{font-size:30px;letter-spacing:-1px}.demo-listing .listing-tagline{font-size:14px}.demo-listing .preview-banner{font-size:9px;letter-spacing:.65px}.demo-listing .hero.demo-hero{grid-template-columns:1fr 1fr;grid-template-rows:260px 120px;gap:5px;margin-top:20px}.demo-listing .hero.demo-hero button:first-child{grid-column:span 2;grid-row:1}.demo-listing .hero.demo-hero button:nth-child(n+4){display:none}.demo-listing .gallery-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.demo-listing .gallery-toolbar small{font-size:10px}.demo-listing .listing-nav{gap:24px;padding:15px 0;margin-bottom:23px}.demo-listing .listing-nav a{font-size:12px}.demo-listing .layout{grid-template-columns:1fr;gap:0}.demo-listing .price-card{position:static;grid-row:1;margin-bottom:28px}.demo-listing .price-card .price{font-size:33px}.demo-listing .price-card .booking-details{grid-template-columns:1fr 1fr}.demo-listing .price-card .booking-details dd{text-align:right}.demo-listing .price-card .cta-note{margin:10px 0 0}.demo-listing .price-card hr,.demo-listing .price-card p.muted,.demo-listing .price-card>a:last-child{display:none}.demo-listing .facts .chip{padding:0 12px;font-size:11px}.demo-listing .section h2{font-size:24px}.demo-listing .section p{font-size:14px}.demo-listing .spaces-grid{gap:12px}.demo-listing .space-card h3{font-size:16px;padding:0 12px}.demo-listing .space-card>p{font-size:11px;padding:0 12px}.demo-listing .demo-video{height:235px}.demo-listing #interest{padding:20px}.demo-listing .grid{gap:0}.demo-listing .mobile-cta{padding:10px 16px max(10px,env(safe-area-inset-bottom));box-shadow:0 -6px 20px #2444320a}.demo-listing .mobile-cta .primary{padding:13px 17px}.demo-listing .map-preview{height:240px}.demo-listing .benefit-grid{grid-template-columns:1fr}.demo-listing .photos button{max-width:100%}}
@media(max-width:370px){.demo-listing .top .brand{font-size:18px}.demo-listing .top .logo{width:32px;height:32px}.demo-listing .top button{padding:9px}.demo-listing .spaces-grid{grid-template-columns:1fr}.demo-listing .facts{flex-wrap:wrap;row-gap:12px}.demo-listing .hero.demo-hero{grid-template-rows:230px 105px}}
@media(prefers-reduced-motion:reduce){.demo-listing *{scroll-behavior:auto!important;transition:none!important}}

/* Location keeps the existing premium listing palette. */
#section-location{scroll-margin-top:100px}.location-card{border:1px solid var(--line,#dce4df);border-radius:20px;background:#f2f5ef;padding:22px}.location-address{font-size:1.1rem}.location-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.location-actions .button{white-space:normal}.location-card .map{width:100%;height:360px;border:0;border-radius:12px}.location-empty{padding:20px;background:#f2f5ef;border-radius:12px}@media(max-width:640px){.location-card{padding:14px}.location-card .map{height:260px}.location-actions .button{width:100%;text-align:center}}

.commercial-listing .top{flex-wrap:wrap}.commercial-listing #language{max-width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink)}
.video-pending{border:1px solid var(--line);border-radius:12px;background:#eef2e9;padding:24px}.video-pending p{margin:0 0 4px}.video-pending small{font-size:12px}
.raster-location-map{width:100%;height:360px;border-radius:12px;overflow:hidden}.public-location-pin{background:#315d4b;color:white;border:3px solid white;border-radius:50%;font-size:20px;text-align:center;line-height:26px;box-shadow:0 2px 6px #182e3055}@media(max-width:640px){.raster-location-map{height:260px}}

/* ImoGuest readability 20261101 */
@media screen {
body{font-size:var(--ig-text-body,1.0625rem);line-height:var(--ig-leading,1.55)}
label{font-size:var(--ig-text-control,1rem);line-height:1.5}
.eyebrow,.footer,.state,.video-pending small{font-size:var(--ig-text-compact,.875rem);line-height:1.6}
/* The commercial listing also uses demo-listing; this is its existing design. */
.demo-listing :is(.preview-banner,.eyebrow,.location-line,.gallery-toolbar small,.listing-nav a,.facts .chip,.chips:not(.facts) .chip,.price-note,.booking-details,.booking-details dt,.booking-details dd,.cta-note,.price-card p.muted,.price-card>a:last-child,.space-card>p,.photos small,.demo-video p,.map-label small,#section-location>small,.benefit-number,.benefit-grid p,#gallery-caption,.mobile-cta>div>small){font-size:var(--ig-text-compact,.875rem);line-height:1.6}
.demo-listing .section p{font-size:var(--ig-text-body,1.0625rem)}
.demo-listing :is(button,.button){font-size:var(--ig-text-control,1rem);line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.demo-listing #interest-form :is(label,.check,details,details p){font-size:var(--ig-text-secondary,.9375rem);line-height:1.6}
.demo-listing #interest-form :is(input,select,textarea){font-size:var(--ig-text-control,1rem);line-height:1.5}
.demo-listing .listing-nav{flex-wrap:wrap;gap:14px 26px;white-space:normal}
.demo-listing .facts{flex-wrap:wrap;row-gap:12px}
.demo-listing .price-card p.muted{color:#526358}
.demo-listing .top,.demo-listing .top .actions{flex-wrap:wrap;min-width:0}
.demo-listing .mobile-cta>div{min-width:0}
@media(max-width:780px){.demo-listing main{padding-bottom:calc(9rem + env(safe-area-inset-bottom))}.demo-listing .listing-tagline{font-size:var(--ig-text-body,1rem)}.demo-listing .space-card h3{font-size:1.125rem;line-height:1.4}.demo-listing .mobile-cta .primary{flex-shrink:0;max-width:58%}}
@media(max-width:370px){.demo-listing .facts .chip{border:0;padding:0 10px 0 0}.demo-listing .mobile-cta{gap:10px;padding-left:12px;padding-right:12px}}
}
/* End ImoGuest readability 20261101 */
