:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#112c49;background:#fff;line-height:1.55;--navy:#102b46;--gold:#b6904e;--green:#2c6b59;--cream:#f5f2eb;--line:#d7ded9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}a{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.7rem;z-index:20}header{min-height:78px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem max(1rem,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:10;box-shadow:0 4px 18px #081c2f35}.brand img{display:block;width:min(255px,65vw)}nav{display:flex;align-items:center;gap:.35rem 1rem;flex-wrap:wrap}nav a{color:white;text-decoration:none;padding:.45rem .2rem;font-weight:650}nav a[aria-current=page]{color:#f1cf83;border-bottom:2px solid var(--gold)}.menu{display:none;background:transparent;color:white;border:1px solid #ffffff70;border-radius:.5rem;padding:.55rem .8rem}.view{width:min(1180px,calc(100% - 2rem));margin:auto;min-height:calc(100vh - 168px);padding:4rem 0}.view[hidden]{display:none}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:2.5rem;align-items:center}.hero h1,.page-head h1{font-size:clamp(2.1rem,5vw,4.3rem);line-height:1.06;max-width:16ch;margin:.25rem 0 1rem}.hero p{max-width:62ch;font-size:1.1rem}.hero-mark{background:var(--cream);border-radius:2rem;min-height:330px;display:grid;place-items:center}.hero-mark img{width:min(62%,250px)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--green)}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.button,button{min-height:44px;border-radius:.6rem;padding:.72rem 1rem;cursor:pointer;font-weight:700}.button{background:var(--navy);border:2px solid var(--navy);color:white;text-decoration:none;display:inline-flex;align-items:center}.button.secondary{background:white;color:var(--navy)}button{border:2px solid var(--navy);background:white;color:var(--navy)}.highlights{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.highlights article,.service-grid article,.portal-grid article,.contact-card,.property-card,.property-detail{border:1px solid var(--line);border-radius:1rem;padding:1.25rem;background:white}.highlights article{display:grid;gap:.2rem}.highlights strong{color:var(--green)}.page-head{border-bottom:1px solid var(--line);padding-bottom:1.5rem;margin-bottom:2rem}.page-head h1{font-size:clamp(2rem,4vw,3.3rem);max-width:none}.service-grid,.portal-grid,.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}.service-grid h2,.portal-grid h2,.property-card h2{font-size:1.25rem;margin-top:0}.filters{display:grid;grid-template-columns:2fr repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:.8rem;padding:1rem;background:var(--cream);border-radius:1rem;margin-bottom:1.5rem}.filters label{display:grid;gap:.3rem;font-weight:650}.filters input,.filters select{min-height:44px;border:1px solid #73877b;border-radius:.5rem;padding:.6rem;background:white;color:var(--navy);width:100%}.notice{border-left:5px solid var(--gold);padding:1rem;background:var(--cream)}.property-card{display:flex;flex-direction:column}.property-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:.7rem;margin-bottom:1rem}.property-card button{margin-top:auto}.property-detail{max-width:960px}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:.7rem}.contact-card{max-width:720px}.legal{width:min(800px,calc(100% - 2rem));margin:auto;padding:4rem 0;min-height:80vh}footer{background:var(--navy);color:white;display:flex;justify-content:space-between;gap:1rem;padding:2rem max(1rem,calc((100vw - 1180px)/2));flex-wrap:wrap}footer div{display:grid}footer nav a{color:white}@media(max-width:820px){.menu{display:block}header nav{display:none;width:100%;align-items:stretch}header nav.open{display:grid}header nav a{padding:.75rem;border-top:1px solid #ffffff30}.hero{grid-template-columns:1fr}.hero-mark{min-height:190px}.highlights{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:1/-1}}@media(max-width:520px){.view{padding:2.5rem 0}.filters{grid-template-columns:1fr}.filters label:first-child{grid-column:auto}.brand img{width:210px}.hero h1,.page-head h1{font-size:2.25rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
