:root{color-scheme:light;--ink:#183a35;--green:#205642;--cream:#f6f4ed;--gold:#ebce82}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:20px/1.55 system-ui,sans-serif}.preview{background:var(--ink);color:white;text-align:center;padding:9px 20px;font-size:15px}header,main,footer{max-width:1240px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 32px}.brand{display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:2px;font-size:20px;text-decoration:none}.brand small{display:block;font-size:12px;letter-spacing:4px}.mark{display:grid;place-items:center;width:52px;height:52px;background:var(--green);color:white;border-radius:12px;font-size:36px}.phone{font-weight:750}a{color:inherit}a:focus-visible,button:focus-visible{outline:4px solid #b96608;outline-offset:5px}section{padding:60px 32px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:44px;padding-top:36px}.eyebrow{font-size:14px;font-weight:800;letter-spacing:2px}h1{font-size:clamp(40px,5.5vw,70px);line-height:1.07;letter-spacing:-2px;margin:18px 0 24px}h2{font-size:38px;line-height:1.15;margin:12px 0 20px;letter-spacing:-1px}h3{font-size:24px;margin:24px 0 10px}.intro{max-width:510px;font-size:23px}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}.button,.outline{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:56px;padding:13px 22px;border-radius:8px;text-decoration:none;font-weight:750}.button{background:var(--green);color:white}.outline{border:2px solid var(--green)}.location{font-size:18px}.illustration{background:var(--gold);border-radius:140px 140px 16px 16px;padding:105px 30px 45px;box-shadow:inset 0 -40px #d9bb71;text-align:center;overflow:hidden}.roof{height:34px;background:var(--ink);clip-path:polygon(8% 0,92% 0,100% 100%,0 100%)}.doors{display:flex;gap:14px;background:#efe8d5;padding:16px 16px 0}.doors i{height:168px;flex:1;background:repeating-linear-gradient(0deg,#386752 0 11px,#224e3c 12px 14px);border:5px solid #183a35;border-bottom:0}.illustration span{display:block;font-size:14px;font-weight:850;letter-spacing:2px;margin-top:32px}#sizes{border-top:1px solid #d1d9cc}#status{font-size:17px}.sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.size{background:#fff;border:1px solid #d4ded2;border-radius:14px;padding:24px;display:flex;flex-direction:column}.size h3{font-size:32px;margin:14px 0}.size .area{font-size:16px;margin:0}.price{font-size:36px;font-weight:800;margin:20px 0 8px}.price small{font-size:16px;font-weight:500}.units{font-size:16px;overflow-wrap:anywhere;margin-bottom:24px}.size .button{margin-top:auto;padding:12px}.tag{font-size:15px;font-weight:750;color:var(--green)}.refresh{font:inherit;background:transparent;color:var(--ink);border:1px solid #8ca497;border-radius:8px;padding:10px 20px;margin-top:24px;cursor:pointer}.steps{background:#e6ebdf;border-radius:18px;display:grid;grid-template-columns:1fr 1.3fr;gap:45px}ol{margin:0;padding-left:28px}li{padding:0 0 23px 10px}li strong,li span{display:block}li span{font-size:18px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contactlink{display:block;font-weight:700;margin:12px 0}.email{font-size:18px;overflow-wrap:anywhere}footer{border-top:1px solid #d1d9cc;padding:28px 32px;font-size:16px;display:flex;justify-content:space-between;gap:16px}@media(max-width:900px){.sizes{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.illustration{display:none}}@media(max-width:560px){body{font-size:19px}header{padding:22px 20px;flex-wrap:wrap}.brand{font-size:18px}.phone{font-size:18px}section{padding:36px 20px}.hero{padding-top:20px}h2{font-size:32px}.sizes,.steps,.contact{grid-template-columns:1fr}.size{padding:24px}.steps{border-radius:0;gap:16px}.contact{gap:12px}footer{flex-direction:column;padding:24px 20px}.buttons a{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.facilityGallery{min-width:0;overflow:hidden;border-radius:20px;background:#e9e5d8;box-shadow:0 16px 45px #183a3518;border:1px solid #d5d8c9}.galleryStage{position:relative;aspect-ratio:4/3;background:#183a35}.gallerySlide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;display:flex;flex-direction:column}.gallerySlide.is-active{opacity:1;visibility:visible}.gallerySlide img{width:100%;height:100%;object-fit:cover;min-height:0}.gallerySlide.aerial img{object-fit:contain}.gallerySlide figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 18px 32px;color:#fff;background:linear-gradient(transparent,#102b25e8);font-size:18px;font-weight:650}.photoCredit{position:absolute;bottom:7px;left:18px;color:#fff;font-size:12px;text-shadow:0 1px 3px #000}.galleryFooter{padding:18px}.galleryFooter p{font-size:15px;letter-spacing:1.5px;font-weight:800;margin:0 0 14px;text-align:center}.galleryControls{display:flex;align-items:center;justify-content:center;gap:12px}.galleryControls button{min-height:46px;min-width:46px;padding:8px 14px;border:1px solid #a8b8a8;border-radius:8px;background:#fff;color:#183a35;font:700 20px system-ui;cursor:pointer}.galleryControls span{font-size:18px;min-width:48px;text-align:center}@media(max-width:900px){.facilityGallery{width:100%;max-width:680px;justify-self:center}.galleryStage{aspect-ratio:16/10}}@media(prefers-reduced-motion:reduce){.gallerySlide{transition:none}}

.galleryStage{aspect-ratio:16/10}.gallerySlide img{object-fit:contain}

#directionsDialog{width:min(960px,94vw);max-height:92dvh;overflow:auto;border:0;border-radius:18px;padding:24px;color:#173d34;background:#fff}#directionsDialog::backdrop{background:#10271fbb}.directionsHead{display:flex;justify-content:space-between;align-items:center;gap:16px}.directionsHead h2{margin:0;font-size:28px}#closeDirections{min-height:48px;padding:10px 16px;font-size:18px;border:1px solid #aabbb2;border-radius:8px;background:#fff;color:#173d34;cursor:pointer}#streetViewFrame{display:block;width:100%;height: min(48vh,480px);min-height:240px;border:0;border-radius:10px;margin:18px 0}#directionsDialog p{font-size:17px;line-height:1.5}#directionsDialog .buttons{display:flex;flex-wrap:wrap;gap:12px}@media(max-width:600px){#directionsDialog{padding:16px}#directionsDialog .buttons a{width:100%;text-align:center}.directionsHead h2{font-size:24px}}

.directionsAerial{margin:18px 0}.directionsAerial img{display:block;width:100%;height:min(55vh,560px);object-fit:contain;background:#e8eee8;border-radius:10px}.directionsAerial figcaption{font-size:13px;margin-top:6px;color:#496157}

/* Fill the photo box edge to edge on every slide. */
.galleryStage .gallerySlide img,.galleryStage .gallerySlide.aerial img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.brandAddress{display:block;margin-top:8px;font-size:14px;font-weight:450;letter-spacing:0;line-height:1.45}.brand .mark{flex-shrink:0}header .brand{align-items:flex-start}@media(max-width:600px){header{flex-wrap:wrap}.brandAddress{font-size:13px}}

#waitDialog{width:min(440px,calc(100% - 32px));border:0;border-radius:16px;padding:28px}#waitDialog::backdrop{background:#0008}#waitDialog label{display:block;margin:18px 0}#waitDialog input{display:block;width:100%;padding:12px;box-sizing:border-box}#waitDialog .trap{display:none}#closeWait{float:right}#waitDialog h2{clear:both}
html{scroll-behavior:smooth}button,input,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b46b23;outline-offset:4px}#waitDialog{max-height:85dvh;overflow:auto}#waitDialog input{font:inherit;font-size:16px}footer a{color:inherit}.privacyPage{max-width:760px;margin:40px auto;padding:24px;line-height:1.7}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Compact home page and full-bleed, manually browsable photos. */
.hero{padding-bottom:32px;gap:36px}.hero .intro{margin-bottom:0}#sizes{padding-top:28px;padding-bottom:24px}#sizes>p:not(.eyebrow){margin-bottom:24px}.size .price{margin-bottom:24px}.size h3{margin-top:0}.facilityGallery{border:0}.galleryStage{cursor:pointer;touch-action:pan-y}.galleryStage:focus-visible{outline:4px solid #b96608;outline-offset:-5px}.gallerySlide{transition:none}.galleryStage img{pointer-events:none;user-select:none}.visuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.mapSection{padding-top:12px;padding-bottom:32px}.mapBox{position:relative;height:420px;overflow:hidden;border-radius:16px;background:#dbe4d7}.mapBox iframe{display:block;width:100%;height:100%;border:0}.mapDirections{position:absolute;bottom:32px;left:24px;box-shadow:0 3px 16px #0003}.dialogHead{display:flex;justify-content:space-between;align-items:center;gap:16px}.dialogHead h2{margin:0}.dialogHead button{min-height:44px;padding:8px 12px;background:white;border:1px solid #9bad9f;border-radius:6px;color:var(--ink);font:inherit;cursor:pointer}#contactDialog{width:min(560px,calc(100% - 32px));max-height:90dvh;overflow:auto;border:0;border-radius:16px;padding:28px;background:var(--cream);color:var(--ink)}#contactDialog::backdrop{background:#10271fbb}#contactForm label{display:block;font-weight:650;margin:16px 0 6px}#contactForm input,#contactForm textarea{display:block;width:100%;border:1px solid #9bad9f;border-radius:6px;padding:12px;font:inherit;background:white;color:var(--ink)}#contactForm textarea{resize:vertical}#contactForm .button{border:0;font:inherit;font-weight:750;cursor:pointer}#contactForm button:disabled{opacity:.65;cursor:wait}.formNote,#contactStatus{font-size:16px}textarea:focus-visible{outline:3px solid #b46b23;outline-offset:4px}@media(max-width:560px){.hero{gap:24px;padding-bottom:24px}#sizes{padding-top:24px}.mapBox{height:340px}.mapDirections{left:16px;bottom:30px}.dialogHead h2{font-size:26px}#contactDialog{padding:20px}}


.size button.button,#waitForm button.button{border:0;font:inherit;font-weight:750;cursor:pointer;width:100%}#waitDialog{background:var(--cream);color:var(--ink)}#waitForm label{margin:16px 0 6px;font-weight:650}#waitForm input{font:inherit;border:1px solid #9bad9f;border-radius:6px;color:var(--ink)}#waitStatus{font-size:16px}#waitForm button:disabled{opacity:.65;cursor:default}

#waitDialog{width:min(560px,calc(100% - 32px))}#waitTitle{font-size:28px}#waitDialog .dialogHead button{flex-shrink:0;white-space:nowrap}

/* A sunny roadside palette: deep blue, clay orange and marigold. */
:root{--ink:#173452;--green:#254f90;--cream:#fff8ec;--gold:#ffcc52;--clay:#b63d1c;--line:#ddcdb6}
body{border-top:7px solid var(--clay);background:var(--cream);color:var(--ink)}
header{border-bottom:1px solid var(--line)}
.brand{letter-spacing:1.5px}.brand small{color:var(--clay)}.brandAddress{color:#45566b}
.mark{background:var(--gold);color:var(--ink);border-radius:50% 50% 12px 12px;box-shadow:3px 4px 0 var(--clay)}
.phone{background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none;font-size:17px;white-space:nowrap}
.hero{padding-top:44px;padding-bottom:42px;gap:38px}.hero h1{font-weight:850;letter-spacing:-2.5px}.headlineAccent{color:var(--clay)}
.eyebrow{color:var(--clay);letter-spacing:2.2px}.hero .eyebrow{display:inline-block;border-bottom:4px solid var(--gold);padding-bottom:7px}
.intro{color:#45566b}.facilityGallery{border-radius:22px;box-shadow:8px 8px 0 var(--gold),0 18px 36px #17345216}.galleryStage{background:var(--ink)}
#sizes{border-top:2px solid var(--line)}.sizes{gap:18px}
.size{border:1px solid #d9d6cf;border-top:7px solid var(--gold);border-radius:16px;background:#fffdf8;box-shadow:0 7px 0 #eddfcc}
.size:nth-child(2){border-top-color:#507ac1;background:#edf3ff}.size:nth-child(3){border-top-color:#e97841;background:#fff0e4}.size:nth-child(4){border-top-color:#d49a18;background:#fff5d4}
.size h3{color:var(--ink)}.size .area,.price small{color:#45566b}.price{color:var(--ink)}
.button{background:var(--green);color:#fff;box-shadow:0 3px 0 #17345225;transition:background-color .15s,box-shadow .15s}
.button:hover{background:#173b73;box-shadow:0 4px 0 #17345235}.size a.button,.mapDirections{background:var(--clay)}.size a.button:hover,.mapDirections:hover{background:#922d13}
.size button.button{background:transparent;border:2px solid var(--green);color:var(--green);box-shadow:none}.size button.button:hover{background:#254f9010}
.mapBox{border:2px solid var(--line);box-shadow:0 7px 0 #eddfcc;background:#e9eff8}.mapDirections{box-shadow:0 3px 12px #17345235}
footer{background:var(--ink);color:#fff8ec;border-top:5px solid var(--gold);border-radius:18px 18px 0 0;margin-top:12px}footer a{text-decoration-color:var(--gold);text-underline-offset:4px}footer a:hover{color:var(--gold)}
#contactDialog,#waitDialog{border-top:7px solid var(--clay);box-shadow:0 24px 80px #17345240}#contactDialog::backdrop,#waitDialog::backdrop{background:#142b48aa}.dialogHead button{border-color:#b9c5d5}
#contactForm input,#contactForm textarea,#waitForm input{border-color:#63758b;background:#fffdfa}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #1164bf;outline-offset:4px}.galleryStage:focus-visible{outline:4px solid var(--gold);outline-offset:-5px}
select,input,textarea{accent-color:var(--green)}
@media(max-width:560px){header{gap:18px}.phone{font-size:16px;padding:10px 15px}.hero{padding-top:28px;gap:30px}.hero h1{letter-spacing:-1.5px}.facilityGallery{margin-right:6px}.size{box-shadow:0 5px 0 #eddfcc}footer{border-radius:0}.hero .eyebrow{font-size:12px;letter-spacing:1.4px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

footer a:focus-visible{outline-color:var(--gold)}

/* Continuous spectrum across the four size cards, left to right. */
.size{position:relative;overflow:hidden;border-top:0;padding-top:31px;background:#fff5f2}.size::before{content:"";position:absolute;top:0;left:0;right:0;height:7px;background:linear-gradient(90deg,#dc3838 0%,#ee771f 100%)}.size:nth-child(2){background:#fff8e6;border-top:0}.size:nth-child(2)::before{background:linear-gradient(90deg,#ee771f 0%,#f4cc32 65%,#b0ca39 100%)}.size:nth-child(3){background:#eef9f3;border-top:0}.size:nth-child(3)::before{background:linear-gradient(90deg,#b0ca39 0%,#2c9c62 40%,#257cc1 100%)}.size:nth-child(4){background:#f3effc;border-top:0}.size:nth-child(4)::before{background:linear-gradient(90deg,#257cc1 0%,#49449f 50%,#8645b4 100%)}

.comingSoon{margin:8px 32px 20px;padding:16px 20px;text-align:center;border-radius:12px;background:#fff0c2;color:var(--ink);font-size:18px;font-weight:700;border:1px solid #e4c46c}@media(max-width:560px){.comingSoon{margin:8px 20px 16px;font-size:17px}}

/* A small celebration for the upcoming online services. */
.comingSoon{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:28px;padding:27px 28px 24px;background:#fff0c2;border:1px solid #e4c46c;box-shadow:0 5px 0 #eddfcc}.comingSoon::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#dc3838,#ee771f,#f4cc32,#2c9c62,#257cc1,#49449f,#8645b4)}.comingSoon::after{content:"";position:absolute;inset:10px;z-index:-1;opacity:.65;background:radial-gradient(circle at 5% 22%,#dc3838 0 3px,transparent 4px),radial-gradient(circle at 13% 78%,#257cc1 0 3px,transparent 4px),radial-gradient(circle at 89% 23%,#8645b4 0 3px,transparent 4px),radial-gradient(circle at 96% 78%,#2c9c62 0 3px,transparent 4px)}.soonBadge{display:block;color:#81420f;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:7px}.comingSoon p{margin:0;font-size:clamp(19px,2.1vw,25px);font-weight:700;line-height:1.35}.comingSoon strong{color:#a73418}.soonSpark{font-size:38px;line-height:1;color:#b63d1c;transform:rotate(-12deg)}.soonSpark:last-child{color:#49449f;transform:rotate(12deg)}@media(max-width:560px){.comingSoon{gap:10px;padding:24px 14px 20px}.soonSpark{font-size:24px}.soonBadge{font-size:10px;letter-spacing:1px}.comingSoon p{font-size:20px}.comingSoon strong{display:block}}
