:root{--ink:#0d0f10;--paper:#f4f3ef;--line:rgba(13,15,16,.18);--acid:#d7ff44;--muted:#727572;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 3vw;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{font-size:1.05rem;font-weight:700;letter-spacing:-.04em}.brand span{font-weight:400;color:var(--muted)}.navlinks{display:flex;align-items:center;gap:2.1rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em}.navlinks a:hover{opacity:.55}.book{background:var(--ink);color:white;padding:.9rem 1.2rem}.menu{display:none;background:none;border:0;font-size:1.6rem}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:38% 62%;border-bottom:1px solid var(--line)}.hero-copy{padding:8vh 3vw 4vh;display:flex;flex-direction:column;justify-content:space-between}.eyebrow,.label{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}h1{font-family:var(--serif);font-size:clamp(4rem,8vw,8.2rem);font-weight:400;line-height:.82;letter-spacing:-.07em;margin:2rem 0}.hero-copy p{max-width:28rem;font-size:1.02rem;line-height:1.55}.hero-actions{display:flex;gap:.7rem;align-items:center;margin-top:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.35rem;border:1px solid var(--ink);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.btn.primary{background:var(--acid);color:var(--ink);border-color:var(--acid)}.hero-media{position:relative;min-height:620px;overflow:hidden}.hero-media:after{content:"CHARLOTTE  /  WAXHAW";position:absolute;right:1.4rem;top:1.4rem;color:white;font-size:.68rem;letter-spacing:.2em}.hero-media img{filter:saturate(.78);transition:transform 1.2s ease}.hero-media:hover img{transform:scale(1.02)}.section{padding:7rem 3vw}.section-head{display:grid;grid-template-columns:1fr 2fr;align-items:end;margin-bottom:3rem}.section h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,6vw,6rem);letter-spacing:-.055em;line-height:.93;margin:0}.section-head p{max-width:32rem;margin:0 0 .5rem auto;line-height:1.6;color:#3f4240}.work-grid{display:grid;grid-template-columns:1.45fr .8fr;grid-template-rows:45vw 29vw;gap:12px}.tile{position:relative;overflow:hidden;background:#ddd}.tile:nth-child(3){grid-column:1/-1}.tile img{transition:transform .8s ease}.tile:hover img{transform:scale(1.025)}.caption{position:absolute;left:1rem;bottom:1rem;background:rgba(13,15,16,.86);color:white;padding:.65rem .8rem;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.services{background:var(--ink);color:white}.service-list{margin-top:4rem;border-top:1px solid rgba(255,255,255,.25)}.service{display:grid;grid-template-columns:80px 1fr 1fr;padding:1.5rem 0;border-bottom:1px solid rgba(255,255,255,.25);align-items:center}.num{color:var(--acid);font-size:.7rem;letter-spacing:.12em}.service h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:0}.service p{color:#a8aaa6;line-height:1.55;margin:0;max-width:31rem}.promise{display:grid;grid-template-columns:1.25fr .75fr;gap:5rem}.quote{font-family:var(--serif);font-size:clamp(2.2rem,4.4vw,4.7rem);line-height:1.03;letter-spacing:-.045em}.promise-side{border-left:1px solid var(--line);padding-left:2rem;display:flex;flex-direction:column;justify-content:space-between}.promise-side p{line-height:1.65}.strip{background:var(--acid);padding:1rem 3vw;display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.footer{padding:4rem 3vw 2rem;background:var(--ink);color:white}.footer-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:6rem}.footer h2{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,7vw,7rem);letter-spacing:-.06em;line-height:.9;margin:0}.footer .round{width:7rem;height:7rem;border-radius:50%;background:var(--acid);color:var(--ink);display:flex;align-items:center;justify-content:center;text-align:center;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.footer-bottom{border-top:1px solid rgba(255,255,255,.25);padding-top:1.3rem;display:flex;justify-content:space-between;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#aaa}.page-hero{padding:10vh 3vw 6vh;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(4rem,10vw,10rem);margin:.6rem 0 2rem}.page-hero p{font-size:1.15rem;line-height:1.6;max-width:44rem}.gallery{columns:2;column-gap:12px;padding:12px}.gallery figure{margin:0 0 12px;break-inside:avoid;position:relative;height:auto}.gallery img{height:auto}.about-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.about-copy p,.contact-copy p{font-size:1.12rem;line-height:1.75}.facts{border-top:1px solid var(--line)}.fact{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.82rem}.contact-links{margin-top:3rem}.contact-links a{display:block;border-top:1px solid var(--line);padding:1.2rem 0;font-family:var(--serif);font-size:1.7rem}.contact-links a:last-child{border-bottom:1px solid var(--line)}.placeholder-note{background:#fff3c4;padding:.8rem 1rem;font-size:.74rem;line-height:1.45;margin-top:2rem}.active{opacity:.45}@media(max-width:760px){.nav{height:68px;padding:0 18px}.navlinks{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:1.2rem 18px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr}.hero-copy{min-height:520px;padding:8vh 18px 4vh}.hero-media{min-height:68vh}.section{padding:5rem 18px}.section-head{grid-template-columns:1fr;gap:1.5rem}.section-head p{margin:0}.work-grid{grid-template-columns:1fr;grid-template-rows:70vh 55vh 55vh}.tile:nth-child(3){grid-column:auto}.service{grid-template-columns:42px 1fr;gap:.7rem}.service p{grid-column:2;margin-top:.5rem}.promise,.about-grid,.contact-grid{grid-template-columns:1fr;gap:3rem}.promise-side{border-left:0;border-top:1px solid var(--line);padding:2rem 0 0}.strip span:nth-child(2){display:none}.footer-top{align-items:flex-start;gap:2rem}.footer .round{width:5.5rem;height:5.5rem;flex:none}.footer-bottom{flex-direction:column;gap:1rem}.gallery{columns:1}.page-hero{padding:8vh 18px 5vh}}
