:root{color-scheme:light;--paper:#f7f5ed;--white:#fffef9;--ink:#23342b;--muted:#49594e;--green:#234d3c;--line:#d4dbcf;--soft:#ecf0e6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.55 system-ui,sans-serif}
button,a{color:inherit}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #3477a7;outline-offset:3px}
.skip{position:absolute;top:-100px;left:1rem;padding:.5rem;background:white;z-index:2}
.skip:focus{top:1rem}
[hidden]{display:none!important}
.wrap{width:min(1090px,calc(100% - 64px));margin-inline:auto}
.top{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding-block:1rem;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;text-decoration:none}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:45px;background:var(--green);color:white;padding:.65rem 1.05rem;border:1px solid var(--green);border-radius:.5rem;font-weight:700;text-decoration:none;cursor:pointer}
.button:hover{background:#31624b}
.button:disabled{opacity:.65;cursor:wait}
.call{white-space:nowrap}
.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;padding-block:3.1rem}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.08;letter-spacing:-.04em}
h1{font-size:clamp(3.1rem,6.5vw,5.7rem);margin-bottom:1.1rem}
h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:.65rem}
h3{font-size:1.55rem}
.eyebrow{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin-bottom:.7rem}
.lead{max-width:30rem;color:var(--muted);font-size:1.15rem}
.actions{display:flex;gap:.8rem 1rem;align-items:center;flex-wrap:wrap;margin-top:1.35rem}
.text-link{font-weight:750;text-underline-offset:4px}
.hero-photo{border:1px solid var(--line);border-radius:.75rem;overflow:hidden;background:var(--white)}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:center 62%}
figcaption{padding:.65rem .85rem;color:var(--muted);font-size:.85rem}
.services{padding-block:1.75rem 3.2rem}
.section-intro{color:var(--muted);margin-bottom:1.4rem}
.bed-group{padding:1.25rem;background:var(--soft);border:1px solid var(--line);border-radius:.75rem}
.bed-list,.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}
.bed-list button,.service{display:flex;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;background:var(--white);border:1px solid var(--line);border-radius:.5rem;text-align:left;cursor:pointer}
.bed-list button:hover,.service:hover{background:#e1ebdf;border-color:#8da697}
.bed-list button,.service-title{font-weight:750}
.service-grid{gap:.85rem}
.service{flex-direction:column;gap:.3rem;padding:1.05rem}
.service-title{display:flex;justify-content:space-between;font-size:1.12rem}
.service>span:last-child{color:var(--muted);font-size:.93rem}
.estimate{padding:1.65rem 1.8rem;background:var(--soft);border-radius:.75rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.estimate .actions{margin:0;flex-shrink:0}
.footer{border-top:1px solid var(--line);margin-top:2.5rem;padding-block:1.1rem 1.6rem;display:flex;flex-wrap:wrap;gap:.35rem 1.3rem;color:var(--muted);font-size:.9rem}
dialog{width:min(720px,calc(100% - 24px));max-height:85vh;max-height:85dvh;border:1px solid var(--line);border-radius:.8rem;background:var(--white);color:var(--ink);padding:1.2rem}
dialog::backdrop{background:#14291ec7}
.gallery-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}
.gallery-head h2{font-size:clamp(1.65rem,6vw,2.6rem)}
.close{flex:0 0 44px;height:44px;border:1px solid var(--line);border-radius:.5rem;background:var(--soft);font-size:1.5rem;cursor:pointer}
#gallery-description,#gallery-status{color:var(--muted)}
#gallery-tools,#gallery-status:not(:empty){margin-top:.85rem}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.85rem}
.photo-grid figure{border:1px solid var(--line);border-radius:.5rem;overflow:hidden}
.photo-grid img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
.photo-grid video{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:contain;background:#14291e}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.hero{grid-template-columns:1fr;gap:1.4rem;padding-block:2rem}.estimate{display:block;padding:1.3rem}.estimate .actions{margin-top:1rem}}
@media(max-width:460px){.brand{font-size:.9rem;gap:.4rem}.brand img{width:34px;height:34px}.call{font-size:.78rem;padding:.45rem .55rem}.bed-list,.service-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#change-hero{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:inherit}
#change-hero:enabled{cursor:pointer}
#change-hero:focus-visible{outline:4px solid #27754b;outline-offset:-4px}
#hero-edit-label{position:absolute;bottom:14px;right:14px;padding:10px 16px;border-radius:24px;background:#fff;color:#173b2a;font:600 15px system-ui;box-shadow:0 2px 12px #0003}
#hero-status:empty{display:none}
#hero-status{padding:0 16px 12px}
