:root{color-scheme:light;--page:#f8fafb;--panel:#ffffff;--panel-soft:#eff5f8;--text:#27414f;--text-strong:#0e2433;--text-muted:#5b7282;--link:#0c7ab8;--link-hover:#095a89;--border:#d7e3ea;--border-strong:#aac4d2;--shadow:0 18px 45px rgb(14 36 51/10%);--shadow-soft:0 10px 28px rgb(14 36 51/7%);--shadow-hover:0 22px 55px rgb(14 36 51/16%);--radius:12px;--radius-sm:8px;--ease:180ms cubic-bezier(0.2,0.7,0.3,1);--success:#2d7a58;--danger:#b43c4a}*{box-sizing:border-box}html{background:var(--page);overflow-x:clip}body,html{margin:0;padding:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55}body{background:var(--page);color:var(--text)}main{position:relative;width:min(100%,72rem);margin:0 auto;padding:1.25rem clamp(1rem,3vw,2.5rem) 3rem}a{color:var(--link);font-weight:650;text-decoration:none;text-underline-offset:.2em}a:hover{color:var(--link-hover);text-decoration:underline}h1,h2,h3{color:var(--text-strong);line-height:1.05;letter-spacing:0}h1{max-width:12ch;font-size:clamp(1.95rem,5.25vw,4.2rem);font-weight:800;letter-spacing:-.02em}h1,h2{margin:0}h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.01em}:focus-visible{outline:3px solid var(--link);outline-offset:2px}h3{font-size:1.25rem}p{margin:0 0 1rem}section{margin-top:2.5rem}.public-nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:clamp(2rem,5vw,4rem);margin-inline:calc(-1 * clamp(1rem, 3vw, 2.5rem));padding:.9rem clamp(1rem,3vw,2.5rem);border-bottom:1px solid var(--border);background:rgb(248 250 251/85%);-webkit-backdrop-filter:blur(10px) saturate(1.4);backdrop-filter:blur(10px) saturate(1.4)}.nav-brand{color:var(--text-strong);font-size:1.05rem;font-weight:800}.nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem 1rem}.nav-links a{color:var(--text);font-size:.95rem}.hero-section,.page-intro{max-width:56rem;margin-top:0}.hero-section{min-height:min(54vh,34rem);display:flex;flex-direction:column;justify-content:center;padding-bottom:clamp(1.5rem,5vw,3.5rem)}.hero-section h1{max-width:22ch}.hero-photo{position:relative;width:100vw;max-width:none;margin-inline:calc(50% - 50vw);padding:0;overflow:hidden}.hero-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(10 32 44/78%),rgb(10 32 44/52%) 60%,rgb(10 32 44/34%))}.hero-inner{position:relative;z-index:1;width:min(100%,72rem);margin-inline:auto;padding:clamp(2.5rem,7vw,5rem) clamp(1rem,3vw,2.5rem)}.hero-photo h1{color:#fdfefe}.hero-photo .lead{color:rgb(247 251 253/92%)}.hero-photo .eyebrow{color:#9fdbf6}.hero-photo .secondary-link{color:#eaf6fb}.compact-intro{max-width:42rem}.eyebrow{margin:0 0 .6rem;color:var(--link);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lead{max-width:42rem;margin-top:1rem;color:var(--text);font-size:clamp(1.08rem,2vw,1.28rem)}.action-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1rem;margin-top:1.35rem}.cta,button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.68rem 1.05rem;border:1px solid var(--link);border-radius:10px;background:var(--link);color:#ffffff;box-shadow:var(--shadow-soft);font:inherit;font-weight:800;cursor:pointer;transition:background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}.cta:hover,button:hover:not(:disabled){background:var(--link-hover);border-color:var(--link-hover);color:#ffffff;text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow)}.secondary-link{color:var(--text-strong)}.muted button{display:inline;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--link);font-weight:750}.muted button:hover:not(:disabled){background:transparent;color:var(--link-hover);text-decoration:underline}button:disabled{cursor:default;opacity:.62}.section-heading{margin-bottom:1rem}.card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));grid-gap:1.25rem;gap:1.25rem}.card{min-width:0;border:1px solid var(--border);border-radius:var(--radius);padding:.85rem;background:var(--panel);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.45rem;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--border-strong)}.card a:first-child{color:var(--text-strong)}.card h2,.card h3{margin:.75rem 0 0;font-size:clamp(1.15rem,2vw,1.45rem)}.card p{margin-bottom:.35rem}.card-photo,.detail-photo{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-soft);display:block}.card-photo{transition:transform var(--ease)}.card:hover .card-photo{transform:scale(1.015)}.detail-photo{box-shadow:var(--shadow)}.gallery{display:grid;grid-gap:.6rem;gap:.6rem}.gallery-thumbs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(4rem,1fr));grid-gap:.5rem;gap:.5rem}.gallery-thumb{display:block;width:100%;padding:0;border:2px solid transparent;border-radius:var(--radius-sm);background:none;cursor:pointer;transition:border-color var(--ease)}.gallery-thumb:hover{border-color:var(--border-strong)}.gallery-thumb--active{border-color:var(--link)}.gallery-thumb-img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:calc(var(--radius-sm) - 2px);display:block}.listing-detail{display:grid;grid-template-columns:minmax(0,.8fr) minmax(18rem,1.2fr);align-items:end;grid-gap:clamp(1.25rem,4vw,2.5rem);gap:clamp(1.25rem,4vw,2.5rem);margin-top:0}.back-link{margin-bottom:1rem}.card-meta{font-weight:700;margin:0}.address-line{display:block}.muted{color:var(--text-muted);font-size:.92rem}.notice,form{width:min(100%,38rem);margin-top:1.25rem;border:1px solid var(--border);border-radius:8px;padding:clamp(1rem,3vw,1.35rem);background:var(--panel);box-shadow:var(--shadow-soft)}.notice{margin:1rem 0}.notice h2{margin-bottom:.75rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label,.field-label{color:var(--text-strong);font-weight:750}.field input,.field select,.field textarea{width:100%;min-height:2.65rem;border:1px solid var(--border-strong);border-radius:8px;padding:.62rem .72rem;background:#ffffff;color:var(--text);font:inherit}.field textarea{min-height:8rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgb(12 122 184/25%);border-color:var(--link)}.application-form{width:min(100%,58rem)}.form-section{margin-bottom:1.75rem}.form-section:last-of-type{margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 1rem;gap:0 1rem}.radio-group{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.radio-option{display:inline-flex;align-items:center;gap:.4rem;font-weight:650}.radio-option input[type=radio]{width:1.1rem;min-width:1.1rem;min-height:1.1rem;height:1.1rem;padding:0}.error{color:var(--danger);min-height:1.5rem;margin:0 0 1rem;font-weight:700}.field-consent{margin-top:.25rem}.consent-label{display:flex;flex-direction:row;align-items:flex-start;gap:.55rem;font-weight:600;line-height:1.5}.consent-label input[type=checkbox]{width:1.15rem;min-width:1.15rem;min-height:1.15rem;height:1.15rem;margin-top:.15rem;padding:0}table{width:100%;border-collapse:collapse;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow-soft)}td,th{text-align:left;padding:.85rem;border-bottom:1px solid var(--border)}th{color:var(--text-strong);font-size:.85rem;text-transform:uppercase}tr:last-child td{border-bottom:0}dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:.6rem 1.25rem;gap:.6rem 1.25rem}dt{color:var(--text-strong);font-weight:800}dd{margin:0}.contact-list{width:min(100%,38rem);margin-top:1.25rem;border:1px solid var(--border);border-radius:8px;padding:1.2rem;background:var(--panel);box-shadow:var(--shadow-soft)}.faq-list{margin:1.25rem 0}.faq-item{border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem;margin:.7rem 0;background:var(--panel);box-shadow:var(--shadow-soft);transition:background var(--ease),border-color var(--ease)}.faq-item:hover{background:var(--panel-soft);border-color:var(--border-strong)}.faq-item>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--text-strong);cursor:pointer;font-weight:800;list-style:none}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary:after{content:"";flex-shrink:0;width:.5em;height:.5em;margin-right:.2em;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);transition:transform var(--ease)}.faq-item[open]>summary:after{transform:rotate(225deg)}.faq-item>p{margin:.75rem 0 0}.badge{display:inline-flex;align-items:center;min-height:1.55rem;padding:.12rem .55rem;border:1px solid;border-radius:999px;font-size:.78rem;font-weight:800}.badge-available{color:var(--success);background:rgb(45 122 88/8%)}.badge-waitlist{color:var(--text-muted)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.listing-detail+p{margin-top:1.25rem}.page-header h1{font-size:clamp(1.65rem,3.75vw,3rem)}.site-footer{position:relative;z-index:1;width:100%;margin:2rem auto 0;padding:2rem clamp(1rem,3vw,2.5rem) 2.5rem;border-top:1px solid var(--border-strong);background:var(--panel);color:var(--text-muted);text-align:center}.site-footer-name{color:var(--text-strong);font-weight:800;margin:0 0 .25rem}.site-footer-contact{margin:0}.site-footer-legal{margin:.5rem 0 0;font-size:.95rem}.legal{width:min(100%,60rem);margin:0;padding:0 0 1rem;line-height:1.65}.legal-section{margin:0 0 1.75rem}.legal-section h2{margin:0 0 .5rem}.legal-section p{margin:0 0 .75rem}.legal-section ul{margin:0 0 .75rem;padding-left:1.25rem}.legal-section li{margin:0 0 .4rem}@media (max-width:760px){.public-nav{align-items:flex-start;flex-direction:column}.nav-links{justify-content:flex-start}.hero-section{min-height:0}.hero-photo{min-height:20rem}.listing-detail{grid-template-columns:1fr;align-items:start}.page-header{flex-direction:column}table{display:block;overflow-x:auto}.contact-list,.form-grid,dl{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important}}