@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,500;1,300;1,500&family=Montserrat:wght@400;600;700&display=swap');
:root{--charcoal:#121212;--gold:#c5a059;--bone:#faf9f6;--beige:#e5e5e1;--line:rgba(0,0,0,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bone);color:var(--charcoal);font-family:Montserrat,Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,64px);background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column;text-align:center;text-transform:uppercase;letter-spacing:.12em;font-family:"Cormorant Garamond",serif;font-size:20px}.brand small{font:700 9px Montserrat;letter-spacing:.3em;opacity:.45}.site-nav{display:flex;align-items:center;gap:30px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.18em}.site-nav a:hover{color:var(--gold)}.nav-pill{border:1px solid var(--line);padding:10px 16px}.client-portal-link{background:#fff}.nav-toggle{display:none}
main{padding-top:88px}.hero{min-height:calc(100vh - 88px);position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,var(--bone) 0%,rgba(250,249,246,.9) 42%,rgba(250,249,246,.2)),url('https://images.unsplash.com/photo-1545324418-cc1a3fa10c00?auto=format&fit=crop&q=80&w=2000') center/cover;filter:grayscale(.2)}.hero-content{position:relative;max-width:900px;padding:80px clamp(24px,8vw,120px)}h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:300;line-height:1.05;margin:0 0 28px}h1{font-size:clamp(54px,9vw,118px)}h2{font-size:clamp(42px,6vw,78px)}h3{font-size:30px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.36em;font-size:10px;font-weight:700}.hero p:not(.eyebrow),.lead{max-width:680px;color:rgba(18,18,18,.62);font-weight:600;letter-spacing:.06em}.actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:36px}.button,button.button{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--charcoal);color:#fff;padding:15px 28px;text-transform:uppercase;font:700 10px Montserrat;letter-spacing:.22em;cursor:pointer}.button.outline{background:transparent;color:var(--charcoal);border:1px solid rgba(18,18,18,.22)}.button.gold{background:var(--gold);color:var(--charcoal)}
.section,.band,.split{padding:clamp(80px,12vw,150px) clamp(22px,6vw,80px)}.section{background:#fff}.band{background:var(--bone)}.narrow{max-width:960px;margin:0 auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,110px);align-items:center;background:#fff}.image-panel{min-height:560px;background:url('https://images.unsplash.com/photo-1512917774080-9991f1c4c750?auto=format&fit=crop&q=80&w=1200') center/cover;border:1px solid var(--line)}.text-link{display:inline-block;margin-top:24px;border-bottom:1px solid var(--gold);text-transform:uppercase;letter-spacing:.25em;font-size:10px;font-weight:700}
.service-grid,.property-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:60px}.service-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card,.property-card,.post-card,.panel-form{background:#fff;border:1px solid var(--line);padding:42px}.service-card:hover,.property-card:hover{border-color:var(--gold)}.property-card{min-height:280px;background:linear-gradient(180deg,var(--beige),#fff);display:flex;flex-direction:column;justify-content:end}.property-card p,.service-card p,.content,.post-card p{color:rgba(18,18,18,.62)}.cta{background:var(--charcoal);color:#fff;text-align:center;padding:140px 20px}.cta h2{max-width:900px;margin:0 auto 46px}.content{font-size:17px}.post-list{display:grid;gap:24px;margin-top:50px}.search-form{display:flex;gap:12px;margin:36px 0}.search-form input,.panel-form input,.panel-form textarea,.panel-form select,.install-card input{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fff}.panel-form{display:grid;gap:18px}.panel-form label,.install-card label{display:grid;gap:7px;font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.12em}.notice{padding:14px;background:#f3eee4;border-left:3px solid var(--gold)}.success{border-color:#159447}.error{border-color:#b42318}.site-footer{display:flex;justify-content:space-between;gap:30px;padding:54px clamp(22px,6vw,80px);background:#fff;border-top:1px solid var(--line)}.site-footer div{display:grid;gap:6px}.footer-admin-hotspot{justify-items:end;align-content:start;min-width:130px;min-height:34px;opacity:0;transition:opacity .18s ease}.footer-admin-hotspot span{font-size:9px;text-transform:uppercase;letter-spacing:.22em}.footer-admin-hotspot a{opacity:0;pointer-events:none;border-bottom:1px solid var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.18em}.footer-admin-hotspot:hover,.footer-admin-hotspot:focus-within{opacity:1}.footer-admin-hotspot:hover a,.footer-admin-hotspot:focus-within a{opacity:1;pointer-events:auto}.back-to-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border-radius:50%;border:0;background:var(--gold);opacity:0;pointer-events:none}.back-to-top.visible{opacity:1;pointer-events:auto}.install-page{min-height:100vh;display:grid;place-items:center;padding:30px}.install-card{width:min(760px,100%);background:#fff;border:1px solid var(--line);padding:42px}.requirements{display:grid;gap:8px;margin:20px 0}.requirements div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .button{grid-column:1/-1}
@media(max-width:900px){.site-nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:22px;flex-direction:column;align-items:flex-start}.site-nav.open{display:flex}.nav-toggle{display:block}.split,.service-grid,.service-grid.three,.property-grid{grid-template-columns:1fr}.site-footer{display:grid}.form-grid{grid-template-columns:1fr}h1{font-size:52px}}
