@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--green:#38205c;--forest:#d9d7df;--gold:#d4d4d8;--paper:#f5f5f7;--ink:#38205c;--muted:#595761;--line:#d4d3d9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #954ebc;outline-offset:5px}header{height:104px;display:flex;justify-content:space-between;align-items:center;padding:0 5%;background:var(--paper)}.brand{display:flex;gap:12px;align-items:center;font-family:Georgia,serif;font-size:30px;line-height:1}.brand small{font-family:'DM Sans',sans-serif;display:block;font-size:11px;letter-spacing:4px;text-align:center;margin-top:9px}.brand-star{font-size:49px;color:#79409b}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a:hover,.text-link:hover{color:#79409b}.button{background:var(--gold);color:var(--green);border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 24px;border-radius:3px;font-weight:700;cursor:pointer;line-height:1.4}.button:hover{background:#e4e4e7}.button.small{background:var(--green);color:white;padding:14px 21px}.hero{background:var(--green);color:white;display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:73px 9% 64px 10%}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.4px;margin:0 0 24px}.hero .eyebrow{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{font-family:Georgia,serif;font-size:clamp(44px,4.3vw,70px);line-height:1.08;letter-spacing:-2px;margin-bottom:26px}em{font-family:Georgia,serif;font-weight:400}h1 em{color:var(--gold)}.intro{max-width:490px;color:#d6dfd8;font-size:17px;line-height:1.8}.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:31px}.text-link{font-size:14px;border-bottom:1px solid #957aad;padding:5px 0}.hero-note{font-size:12px;color:#b9c9bd;margin:27px 0 0}.hero-visual{position:relative;min-height:540px;background:var(--forest);overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#281044c9)}.image-label{position:absolute;top:22px;right:23px;font-size:10px;letter-spacing:1.6px;background:#281044df;padding:6px 11px;z-index:1}.photo-caption{position:absolute;bottom:45px;left:40px;font-size:31px;font-family:Georgia,serif;line-height:1.2;z-index:1}.ribbon{display:flex;justify-content:space-evenly;align-items:center;gap:18px;padding:24px 5%;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:2px}.ribbon span:nth-child(even){font-size:25px;color:#79409b}.section{padding:95px 7%}.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:45px}.section-heading p{max-width:400px;color:var(--muted);margin-bottom:5px}h2{font-family:Georgia,serif;font-size:clamp(36px,3.8vw,53px);line-height:1.12;letter-spacing:-1.2px;margin-bottom:0}.section .eyebrow{color:#79409b;margin-bottom:16px}.menu{display:none}.skip{position:fixed;top:-100px;left:10px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}footer{padding:45px 7%;display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line)}footer p,footer>span{font-size:13px;color:var(--muted);margin:0}[hidden]{display:none!important}@media(max-width:1000px){header nav{gap:18px}.hero-copy{padding:65px 8%}h1{font-size:49px}.hero-actions{gap:16px}.hero-actions .button{font-size:14px}.section{padding:72px 6%}}@media(max-width:700px){header{height:86px;padding:0 6%}.brand{font-size:25px}.brand-star{font-size:40px}header nav{display:none}.menu{display:block;background:none;border:1px solid var(--line);padding:9px 14px;border-radius:3px}#mobile-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 6% 15px}#mobile-nav a{padding:11px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 7%}.hero .eyebrow{font-size:10px;letter-spacing:1.7px}h1{font-size:48px}.intro{font-size:16px}.hero-visual{min-height:370px}.photo-caption{bottom:28px;left:27px;font-size:28px}.ribbon{padding:17px 6%;flex-wrap:wrap;gap:8px 18px;font-size:9px;letter-spacing:1px}.ribbon span:nth-child(4),.ribbon span:nth-child(5){display:none}.section{padding:62px 7%}.section-heading{display:block;margin-bottom:32px}.section-heading p{margin-top:24px}h2{font-size:39px}footer{align-items:flex-start;flex-direction:column}.hero-note{font-size:12px}}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.services article{border-top:1px solid #d5bfe9;padding-top:25px}.number{font-size:11px;letter-spacing:1.6px;color:#79409b}h3{font-family:Georgia,serif;font-size:25px;line-height:1.25;margin:18px 0 14px}.services p,.steps p,.gallery p,.review-grid p{font-size:15px;color:var(--muted)}.property-types{display:grid;grid-template-columns:1fr 1fr;margin-top:50px;border:1px solid var(--line)}.property-types>div{padding:30px 35px}.property-types>div+div{border-left:1px solid var(--line)}.property-types span{font-size:11px;letter-spacing:2px;color:#79409b}.property-types h3{margin-top:10px}.property-types p{margin-bottom:0;color:var(--muted);font-size:15px}.process{background:#eae9ef}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.steps article>span{font-family:Georgia,serif;color:#79409b;font-size:42px}.steps h3{margin-top:13px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-placeholder{height:280px;background:#e6e3ec;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:#59416f;border:1px dashed #bba0d5}.gallery-placeholder span{font-size:60px;font-family:Georgia,serif}.gallery-placeholder small{font-size:10px;letter-spacing:1.4px}.gallery-placeholder.second{background:#dedde3}.gallery-placeholder.third{background:#d9d7df}.gallery h3{margin-bottom:7px}.local{background:var(--green);color:#edf2ec;display:grid;grid-template-columns:1fr 1fr;gap:80px}.local .eyebrow,.quote .eyebrow{color:var(--gold)}.local p{color:#cfdbd0}.local .area-note{font-size:13px;margin:26px 0}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-grid article{border:1px solid var(--line);padding:32px}.placeholder-tag{font-size:10px;letter-spacing:1.6px;color:#79409b}.review-grid h3{font-size:23px}.review-grid p{margin-bottom:0}.testimonials{padding-bottom:40px}.faq{display:grid;grid-template-columns:0.9fr 1.5fr;gap:80px}.faq .eyebrow{max-width:250px;line-height:1.8}.questions{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{font-weight:500;cursor:pointer;padding-right:24px;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:23px;line-height:1}details[open] summary:after{content:'−'}details p{margin:16px 20px 0 0;color:var(--muted);font-size:15px}.quote{background:var(--forest);color:white;display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.quote-copy>p:not(.eyebrow){color:#d0ddd3;margin-top:25px;max-width:400px}.contact-details{margin-top:45px;font-size:14px}.contact-details p{margin-bottom:21px;color:#c8d7cd}.contact-details strong{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:5px}form{background:var(--paper);color:var(--ink);padding:35px;border-radius:4px}form h3{margin-top:0;font-size:29px}.form-notice{font-size:13px;line-height:1.6;padding:12px 14px;background:#eae9ef;border-left:3px solid #ac6ac9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}label{display:block;font-size:14px;font-weight:500}label>span{color:#79409b}.optional{font-weight:400;font-size:12px}.full{grid-column:1/-1}input,select,textarea{display:block;width:100%;margin-top:7px;background:#fff;border:1px solid #b9a0d0;border-radius:2px;padding:11px 12px;color:var(--ink);min-width:0}textarea{resize:vertical}form .button{width:100%;margin-top:23px}.privacy-note{font-size:12px;color:var(--muted);line-height:1.5;margin:16px 0 0}#form-status{font-size:14px;margin:14px 0 0}#form-status:empty{display:none}@media(max-width:1000px){.services{grid-template-columns:1fr 1fr}.steps{gap:30px}.quote,.local,.faq{gap:40px}.gallery-placeholder{height:230px}}@media(max-width:700px){.services,.property-types,.steps,.gallery,.local,.review-grid,.faq,.quote{grid-template-columns:1fr}.services{gap:22px}.services article{padding-top:20px}.property-types>div{padding:25px}.property-types>div+div{border-left:0;border-top:1px solid var(--line)}.steps{gap:20px}.steps article{border-top:1px solid #d5bfe9;padding-top:20px}.gallery{gap:27px}.gallery-placeholder{height:270px}.local,.faq,.quote{gap:32px}.review-grid article{padding:25px}.quote form{padding:25px 20px}.form-grid{grid-template-columns:1fr}.quote .button{gap:15px}.section-heading .text-link{display:inline-block;margin-top:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep supporting labels legible across display sizes. */
.brand small,.eyebrow,.image-label,.ribbon,.number,.property-types span,.gallery-placeholder small,.placeholder-tag,.contact-details strong{font-size:12px}.hero .eyebrow{font-size:12px}.services p,.steps p,.gallery p,.review-grid p,.property-types p,details p{font-size:16px}.hero-visual .image-label{letter-spacing:1px}@media(max-width:700px){.hero .eyebrow{letter-spacing:1px}.ribbon{font-size:12px;letter-spacing:.5px}.image-label{right:12px;top:14px}}

.lighting-offerings{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:50px}.lighting-offerings article{background:#eae9ef;padding:28px}.lighting-offerings h3{margin-top:12px}.lighting-offerings p:last-child{color:var(--muted);margin-bottom:0}@media(max-width:700px){.lighting-offerings{grid-template-columns:1fr;gap:18px}.hero .eyebrow{max-width:300px}}

.contact-details .owner-phone{display:inline-block;font-size:20px;color:white;text-decoration:underline;text-underline-offset:5px;padding:5px 0}.contact-details .owner-phone:hover{color:var(--gold)}

/* Purple, silver and black brand palette. */
:root{--green:#17151c;--forest:#17151c;--gold:#d4d4dc;--ink:#211b2b}
header,#mobile-nav{background:#131116;color:#f3f1f6}
.brand-star{color:#b491d4}
.button.small{background:#74459b;color:#fff}
.button.small:hover{background:#8554ad}
.hero{background:#45216b;color:#fff}
.hero .eyebrow,h1 em{color:#dedee3}
.intro,.hero-note{color:#eee9f4}
.hero-visual{color:#fff;background:#131116}
.button:hover{background:#eeeef2}
.hero .text-link:hover{color:#fff}
.ribbon{background:#21172c;color:#e5e2eb;border-color:#493456}
.ribbon span:nth-child(even){color:#bda7d1}
.local{background:#17151c;color:#fff}
.local .eyebrow,.quote .eyebrow{color:#cfb7e6}
.local p,.quote-copy>p:not(.eyebrow),.contact-details p{color:#e0dce6}
.quote{background:#281634;color:#fff}
.contact-details strong{color:#cfb7e6}
.contact-details .owner-phone{color:#f5f4f7}
.contact-details .owner-phone:hover{color:#d1b7e9}
.menu{color:#f3f1f6;border-color:#655c70}
header nav a:hover,#mobile-nav a:hover{color:#d1b7e9}
.hero a:focus-visible,.quote a:focus-visible,header a:focus-visible,.menu:focus-visible{outline-color:#d4d4dc}
footer{background:#131116;color:#fff;border-color:#352e3e}
footer p,footer>span{color:#c7c2ce}

.concept-photo{margin:0;position:relative;background:#21172c;overflow:hidden}.concept-photo img{display:block;width:100%;height:280px;object-fit:cover}.concept-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#17151ce8;color:#f5f5f7;padding:10px 12px;font-size:12px;letter-spacing:1px}@media(max-width:1000px){.concept-photo img{height:230px}}@media(max-width:700px){.concept-photo img{height:280px}}

.contact-details .owner-email{color:#f5f4f7;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-details .owner-email:hover{color:#d1b7e9}
