@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap";:root{--ink:#183b36;--cream:#f4f0e8;--paper:#fbfaf6;--teal:#0d655d;--lime:#d9f25f;--muted:#68736e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(1180px,100% - 48px);margin:auto}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0 0 22px;font-size:12px;font-weight:600}.eyebrow.light{color:#9dd4c8}h1,h2{letter-spacing:-.035em;margin:0;font-family:Instrument Serif,serif;font-weight:400;line-height:.92}h1{font-size:clamp(64px,8.5vw,124px)}h2{font-size:clamp(52px,6vw,86px)}h1 i,h2 i{color:var(--teal)}.nav{justify-content:space-between;align-items:center;gap:24px;height:96px;display:flex}.brand{align-items:center;gap:12px;font-family:Instrument Serif,serif;font-size:24px;display:flex}.brand em{color:var(--teal)}.brand-mark{background:var(--ink);width:42px;height:42px;color:var(--lime);text-align:center;letter-spacing:.08em;border-radius:50%;font:16px/42px DM Sans}.nav-links{gap:30px;font-size:14px;display:flex}.nav-links a:hover{color:var(--teal)}.nav-cta{border:1px solid var(--ink);border-radius:99px;padding:13px 20px;font-size:13px;font-weight:600}.nav-cta:hover{background:var(--ink);color:#fff}.hero{grid-template-columns:1fr .93fr;align-items:center;gap:60px;min-height:720px;padding:38px 0 80px;display:grid}.hero-lead{color:var(--muted);max-width:580px;margin:32px 0;font-size:19px;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.button{border-radius:99px;justify-content:center;align-items:center;gap:18px;padding:17px 23px;font-size:14px;font-weight:600;display:inline-flex}.button.primary{background:var(--teal);color:#fff}.button.primary:hover{background:var(--ink)}.button.ghost{border:1px solid #b7c0bb}.button.dark{background:var(--ink);color:#fff}.button.large{padding:20px 30px;font-size:16px}.proof{color:var(--muted);align-items:center;gap:15px;margin-top:42px;font-size:13px;line-height:1.45;display:flex}.proof b{color:var(--ink)}.proof-stars{color:#d5923d;letter-spacing:2px}.hero-visual{background:#ddd;border-radius:240px 240px 24px 24px;height:620px;position:relative;overflow:hidden}.hero-visual>img{object-fit:cover;object-position:73% 7%;width:100%;height:100%;transform:scale(1.55)}.hero-note{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbfaf6eb;border-radius:18px;align-items:center;gap:12px;padding:18px 22px;display:flex;position:absolute;bottom:28px;left:28px}.hero-note b{font:42px/1 Instrument Serif}.hero-note span{text-transform:uppercase;letter-spacing:.08em;font-size:12px}.availability{background:var(--ink);color:#fff;border-radius:99px;padding:12px 16px;font-size:11px;position:absolute;top:44%;right:24px}.pulse{background:var(--lime);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.marquee{background:var(--ink);color:#fff;white-space:nowrap;letter-spacing:.18em;padding:17px 0;font-size:11px;overflow:hidden}.marquee div{width:max-content;animation:24s linear infinite drift}.marquee span{color:var(--lime);margin:0 24px}@keyframes drift{to{transform:translate(-20%)}}.intro{grid-template-columns:1.1fr .7fr;align-items:end;gap:80px;padding:140px 0 70px;display:grid}.intro-copy{color:var(--muted);margin:0;font-size:19px;line-height:1.75}.feature-grid{border-top:1px solid #cfd5d0;border-bottom:1px solid #cfd5d0;grid-template-columns:repeat(4,1fr);display:grid}.feature{border-right:1px solid #cfd5d0;padding:40px 28px 44px}.feature:last-child{border:0}.feature-number{color:var(--teal);font:46px/1 Instrument Serif}.feature h3{margin:38px 0 12px;font:500 17px/1.3 DM Sans}.feature p{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.smart{background:var(--ink);grid-template-columns:1fr 1fr;min-height:650px;margin-top:140px;padding:0;display:grid}.smart-photo{min-height:650px;overflow:hidden}.smart-photo img{object-fit:cover;object-position:72% 70%;width:100%;height:100%;transform:scale(1.7)}.smart-copy{color:#fff;flex-direction:column;justify-content:center;padding:90px 72px;display:flex}.smart-copy h2 i{color:var(--lime)}.smart-copy>p:not(.eyebrow){color:#bfd0cb;margin:38px 0;font-size:17px;line-height:1.75}.text-link{border-bottom:1px solid #70918a;width:max-content;padding-bottom:12px;font-size:14px;font-weight:600}.text-link span{color:var(--lime);margin-left:30px}.included{grid-template-columns:.9fr 1fr;gap:120px;padding:150px 0;display:grid}.included-heading>p:last-child{color:var(--muted);margin-top:28px;line-height:1.6}.included-list>div{border-bottom:1px solid #d8ddd9;grid-template-columns:42px 1fr 28px;align-items:center;gap:20px;padding:20px 0;display:grid}.included-list span{color:#95a09a;font:18px Instrument Serif}.included-list p{margin:0;font-size:15px}.included-list b{color:var(--teal)}.rates{background:var(--teal);color:#fff;padding:120px 0}.rates-heading{grid-template-columns:1fr .55fr;align-items:end;gap:80px;margin-bottom:70px;display:grid}.rates-heading h2 i{color:var(--lime)}.rates-heading>p{color:#bdd5cf;line-height:1.7}.rate-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.rate{color:var(--ink);background:#f7f4ec;border-radius:16px;flex-direction:column;min-height:230px;padding:28px;display:flex;position:relative}.rate.featured{background:var(--lime)}.popular{letter-spacing:.13em;border:1px solid;border-radius:99px;padding:6px 8px;font-size:9px;font-weight:600;position:absolute;top:18px;right:18px}.rate>p{text-transform:uppercase;letter-spacing:.12em;margin:0 0 24px;font-size:13px}.rate h3{margin:0;font:48px/1 Instrument Serif}.rate small{color:var(--muted);margin-top:8px}.rate a{border-top:1px solid #cbd2cc;justify-content:space-between;margin-top:auto;padding-top:17px;font-size:13px;font-weight:600;display:flex}.rate-note{text-align:center;color:#bdd5cf;margin:30px 0 0;font-size:12px}.location{grid-template-columns:.8fr 1.1fr;min-height:650px;padding:140px 0;display:grid}.location-card{background:var(--cream);padding:72px}.location-card>p:not(.eyebrow){color:var(--muted);margin:30px 0;line-height:1.75}.map-visual{background-color:#cdddbb;background-image:radial-gradient(circle at 20% 30%,#eef3d9 0 3%,#0000 3%),linear-gradient(35deg,#0000 47%,#ffffff8c 48% 51%,#0000 52%),linear-gradient(125deg,#0000 45%,#0d655d26 46% 49%,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.map-visual:before,.map-visual:after{content:"";border:1px solid #183b3633;border-radius:50%;width:420px;height:420px;position:absolute}.map-visual:after{width:260px;height:260px}.map-visual span{letter-spacing:.2em;font-size:11px;position:absolute;top:70px;left:70px}.map-visual b{color:var(--teal);z-index:1;font-size:74px}.map-visual small{background:var(--ink);color:#fff;border-radius:99px;padding:12px 18px;position:absolute;bottom:60px}.closing{text-align:center;padding:80px 0 130px}.closing h2{margin-bottom:30px}.closing>p:not(.eyebrow){color:var(--muted);max-width:620px;margin:0 auto 34px;font-size:18px;line-height:1.7}.closing-links{justify-content:center;gap:30px;margin-top:34px;font-size:13px;text-decoration:underline;display:flex}footer{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;border-top:1px solid #d4d9d5;justify-content:space-between;padding:28px 0;font-size:11px;display:flex}.floating-wa{color:#0a3722;z-index:10;background:#25d366;border-radius:99px;padding:15px 20px;font-size:13px;font-weight:700;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #0000002e}@media (width<=900px){.nav-links{display:none}.hero{grid-template-columns:1fr;gap:35px;padding-top:50px}.hero-visual{height:560px}.intro,.included,.rates-heading,.location{grid-template-columns:1fr;gap:55px}.feature-grid{grid-template-columns:1fr 1fr}.feature:nth-child(2){border-right:0}.feature:nth-child(-n+2){border-bottom:1px solid #cfd5d0}.smart{grid-template-columns:1fr}.smart-photo{min-height:520px}.rate-grid{grid-template-columns:1fr 1fr}.location-card{padding:55px}.map-visual{min-height:450px}}@media (width<=600px){.shell{width:min(100% - 28px,1180px)}.nav{height:78px}.brand{font-size:20px}.nav-cta{display:none}.hero{min-height:auto;padding:45px 0 55px}.hero-lead{font-size:16px}.hero-actions{display:grid}.hero-visual{border-radius:170px 170px 18px 18px;height:440px}.availability{top:auto;bottom:105px;right:15px}.intro{padding:95px 0 55px}.feature-grid{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid #cfd5d0!important}.smart{margin-top:90px}.smart-photo{min-height:430px}.smart-copy{padding:65px 28px}.included{padding:95px 0}.included-list>div{grid-template-columns:32px 1fr 20px}.rates{padding:90px 0}.rate-grid{grid-template-columns:1fr}.location{padding:90px 0}.location-card{padding:45px 28px}.map-visual{min-height:380px}.closing{padding:60px 0 100px}.closing-links{flex-direction:column;gap:12px}footer{text-align:center;flex-direction:column;gap:10px}.floating-wa{bottom:14px;right:14px}.marquee div{animation-duration:16s}}.map-visual{background:#dce5d5;border:1px solid #c9d0ca;min-height:650px;display:block}.map-visual:before,.map-visual:after{display:none}.map-visual iframe{filter:saturate(.9)contrast(1.03);border:0;width:100%;height:100%;min-height:650px;display:block}.map-location-label{z-index:2;background:#fbfaf6f5;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;display:flex;position:absolute;top:24px;left:24px;box-shadow:0 12px 35px #142d282e}.map-visual .map-location-label>span{color:#d33b32;letter-spacing:0;font-size:22px;line-height:1;position:static}.map-location-label div{flex-direction:column;gap:3px;display:flex}.map-location-label strong{font-size:14px}.map-visual .map-location-label small{color:var(--muted);background:0 0;border-radius:0;padding:0;font-size:11px;position:static}.map-open{background:var(--ink);color:#fff;z-index:2;border-radius:99px;padding:14px 19px;font-size:12px;font-weight:700;position:absolute;bottom:24px;right:24px;box-shadow:0 10px 24px #0003}.map-open:hover{background:var(--teal)}@media (width<=900px){.map-visual,.map-visual iframe{min-height:450px}}@media (width<=600px){.map-visual,.map-visual iframe{min-height:420px}.map-location-label{top:14px;left:14px;right:14px}.map-open{bottom:14px;right:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}}.brand{flex:none}.brand-logo{object-fit:contain;object-position:left center;width:220px;height:74px;display:block}.brand-signoff{background:var(--cream);border-top:1px solid #d4d9d5;border-bottom:1px solid #d4d9d5;justify-content:center;align-items:center;margin-bottom:70px;padding:42px;display:flex}.brand-signoff img{object-fit:contain;width:min(650px,100%);max-height:320px}@media (width<=900px){.brand-logo{width:190px;height:66px}}@media (width<=600px){.brand-logo{width:174px;height:60px}.brand-signoff{margin-bottom:45px;padding:24px 16px}}.gallery-section{padding:140px 0 0}.gallery-heading{grid-template-columns:1fr .6fr;align-items:end;gap:80px;margin-bottom:55px;display:grid}.gallery-heading>p{color:var(--muted);margin:0;font-size:17px;line-height:1.7}.mosaic{grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:12px;display:grid}.tile{cursor:zoom-in;background:#d9ddd8;border:0;border-radius:10px;padding:0;position:relative;overflow:hidden}.tile img{object-fit:cover;width:100%;height:100%;transition:transform .55s,filter .55s}.tile:hover img,.tile:focus-visible img{filter:brightness(.86);transform:scale(1.035)}.tile span{color:#fff;opacity:0;text-shadow:0 1px 10px #0009;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;transition:all .3s;display:flex;position:absolute;bottom:14px;left:16px;right:16px;transform:translateY(8px)}.tile:hover span,.tile:focus-visible span{opacity:1;transform:none}.tile:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.tile-1{grid-area:span 2/span 8}.tile-2{grid-area:span 2/span 4}.tile-3,.tile-4,.tile-5{grid-column:span 4}.tile-6{grid-column:span 5}.tile-7{grid-column:span 3}.tile-8{grid-column:span 4}.lightbox{color:#fff;background:#0a1816;border:0;border-radius:16px;width:min(1180px,94vw);height:min(88vh,850px);padding:0;overflow:hidden}.lightbox::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040e0ce0}.lightbox figure{grid-template-rows:1fr auto;width:100%;height:100%;margin:0;display:grid}.lightbox figure img{object-fit:contain;width:100%;height:100%;min-height:0}.lightbox figcaption{background:#0a1816;justify-content:space-between;padding:16px 22px;font-size:13px;display:flex}.lightbox figcaption span{color:#9ab0aa}.lightbox-close,.lightbox-nav{z-index:2;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a1816c7;border:0;position:absolute}.lightbox-close{border-radius:50%;width:44px;height:44px;font-size:28px;top:15px;right:15px}.lightbox-nav{width:48px;height:64px;font-size:22px;top:50%;transform:translateY(-50%)}.lightbox-nav.previous{left:15px}.lightbox-nav.next{right:15px}.lightbox button:hover{background:var(--teal)}body:has(.lightbox[open]){overflow:hidden}@media (width<=900px){.gallery-heading{grid-template-columns:1fr;gap:30px}.mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}.tile{grid-area:span 1/span 1}.tile-1{grid-column:span 2}.tile-2,.tile-5{grid-row:span 2}.tile span{opacity:1;background:linear-gradient(#0000,#0009);padding:35px 14px 13px;bottom:0;left:0;right:0;transform:none}}@media (width<=600px){.gallery-section{padding-top:95px}.gallery-heading{margin-bottom:35px}.mosaic{grid-auto-rows:180px;gap:8px}.tile-1{grid-column:span 2}.tile-2,.tile-5{grid-row:span 2}.lightbox{border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none}.lightbox-nav{width:42px}.lightbox-nav.previous{left:8px}.lightbox-nav.next{right:8px}}@media (prefers-reduced-motion:reduce){.tile img,.tile span{transition:none}}.mosaic>.tile{grid-column:span 4}.mosaic>.tile-1{grid-column:span 8}@media (width<=900px){.mosaic>.tile{grid-column:span 1}.mosaic>.tile-1{grid-column:span 2}}
