
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@400;500;600&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink,#19231c);background:var(--bg,#fff)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent,#beff59);outline-offset:4px}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(2.7rem,5.5vw,5.6rem);font-weight:500;margin-bottom:25px}h2{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:500}h3{font-size:1.3rem}.wrap{max-width:1240px;margin:auto;padding:0 38px}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:22px}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:15px 23px;border-radius:var(--radius,2px);font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:49px;transition:transform .18s,background .18s}.btn:hover{transform:translateY(-2px)}.btn.secondary{background:transparent;color:var(--ink)}.btn.small{padding:10px 17px;font-size:.875rem}.muted{opacity:.68}.conceptbar{background:#172019;color:#f2f7ee;position:relative;z-index:10}.conceptbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;font-size:.8rem}.conceptbar a{text-decoration:underline;text-underline-offset:4px}.conceptbar strong{font-weight:500}.sitehead{position:sticky;top:0;z-index:9;background:var(--bg);border-bottom:1px solid var(--line);}.sitehead .wrap{display:flex;justify-content:space-between;align-items:center;min-height:86px;gap:18px}.wordmark{font-size:1.7rem;letter-spacing:-.04em;font-weight:600}.nav{display:flex;gap:26px;align-items:center;font-size:.875rem}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:10px;color:var(--ink)}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.hero-copy{padding:90px max(38px,calc((100vw - 1164px)/2));padding-right:45px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero-copy p:not(.eyebrow){max-width:440px;font-size:1.08rem}.hero-photo{position:relative;min-height:550px;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.photo-caption{position:absolute;bottom:28px;left:28px;color:#fff;background:#0009;padding:10px 16px;font-size:.8rem;backdrop-filter:blur(10px)}.hero-notes{display:flex;gap:25px;margin-top:40px;font-size:.8rem}.section{padding:88px 0}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:40px}.section-title h2{margin-bottom:0;max-width:700px}.section-title p{max-width:330px;margin:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service{padding:32px;border:1px solid var(--line);background:var(--surface);min-height:235px}.service .number{font-size:.875rem;color:var(--accent);margin-bottom:25px}.service p{opacity:.75}.tag{display:inline-block;font-size:.8rem;border:1px solid var(--line);padding:7px 12px;border-radius:30px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.tint{background:var(--surface)}.steps{border-top:1px solid var(--line)}.step{display:flex;gap:22px;padding:23px 0;border-bottom:1px solid var(--line)}.step b{font-size:.85rem;color:var(--accent)}.step p{margin-bottom:0;font-size:.9rem}.step h3{margin-bottom:8px}.editorial-strip{display:grid;grid-template-columns:1.5fr 1fr;background:var(--ink);color:var(--bg)}.editorial-strip .wrap{padding:65px}.editorial-strip h2{font-size:2.5rem}.editorial-strip .quote{border-left:1px solid #ffffff40}.editorial-strip p{font-size:1.15rem;max-width:420px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-weight:500}summary:after{content:'+';font-size:1.3rem}details[open] summary:after{content:'−'}details p{padding-top:20px;margin-bottom:0;max-width:760px;opacity:.8}.inquiry{padding:34px;border:1px solid var(--line);background:var(--bg)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px;font-size:.875rem}.full{grid-column:1/-1}input,select,textarea{border:1px solid var(--line);padding:13px;background:var(--bg);color:var(--ink);width:100%;min-height:47px;border-radius:0}textarea{resize:vertical;min-height:95px}.form-note{font-size:.8rem;opacity:.7;margin:18px 0}.notice{padding:16px;border:1px solid var(--accent);margin-top:20px}.hidden,[hidden]{display:none!important}.sitefooter{border-top:1px solid var(--line);padding:30px 0}.sitefooter .wrap{display:flex;gap:20px;justify-content:space-between;font-size:.8rem}.sitefooter p{margin:0}.salon{--bg:#fcf8f3;--surface:#f0e8dc;--ink:#402516;--accent:#915925;--line:#d9cab9;--radius:0}.salon h1,.salon h2,.salon .wordmark{font-family:'Playfair Display',serif}.salon .hero-photo{margin:35px 35px 35px 0;border-radius:180px 180px 0 0}.dental{--bg:#fcffff;--surface:#e8f4f5;--ink:#153b47;--accent:#14758a;--line:#c8dfe2;--radius:30px}.dental h1,.dental h2{font-family:'Manrope',sans-serif;font-weight:600}.dental .hero-photo{margin:35px 35px 35px 0;border-radius:20px 140px 20px 20px}.dental .service{border-radius:18px}.contractor{--bg:#fafaf6;--surface:#eaece5;--ink:#203b29;--accent:#ad510e;--line:#cdd5c9;--radius:3px}.contractor h1,.contractor h2{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.055em}.contractor .hero{border-bottom:8px solid #ad510e}.medspa{--bg:#fcf9f6;--surface:#eee4e2;--ink:#4b272f;--accent:#8b4556;--line:#d9c7c9;--radius:0}.medspa h1,.medspa h2,.medspa .wordmark{font-family:'Playfair Display',serif}.medspa .hero-photo{margin:38px 38px 38px 0}.law{--bg:#fafaf6;--surface:#e9e9e1;--ink:#162c39;--accent:#826634;--line:#cdd2d3;--radius:0}.law h1,.law h2,.law .wordmark{font-family:'Playfair Display',serif}.law .hero{background:#162c39;color:#fff}.law .hero .btn{background:#b59a69;color:#162c39;border-color:#b59a69}.law .hero-photo{opacity:.8}.realestate{--bg:#fbfcfb;--surface:#edf2ee;--ink:#123c35;--accent:#126d5a;--line:#cbd9d1;--radius:3px}.realestate h1,.realestate h2,.realestate .wordmark{font-family:'Playfair Display',serif}.realestate .hero{position:relative;display:block;min-height:680px;color:white}.realestate .hero-photo{position:absolute;inset:0}.realestate .hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071e19db,#071e1920)}.realestate .hero-copy{position:relative;z-index:1;padding-top:130px;min-height:680px}.realestate .hero .btn{background:#fff;color:#123c35;border-color:#fff}.cars{--bg:#f5f7f9;--surface:#e6eaf0;--ink:#142239;--accent:#2c5bba;--line:#c7d0dd;--radius:5px}.cars h1,.cars h2{font-family:'Manrope',sans-serif;font-weight:800}.cars .hero-photo{background:#152338}.cars .hero-photo img{object-position:center}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.chip{padding:10px 17px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:25px;min-height:44px}.chip.active{background:var(--ink);color:var(--bg)}.listing{border:1px solid var(--line);background:var(--bg)}.listing-photo{height:225px;position:relative;overflow:hidden}.listing-photo img{height:100%;width:100%;object-fit:cover}.listing:nth-child(2) img{object-position:80%;transform:scale(1.2)}.listing:nth-child(3) img{object-position:20%;transform:scale(1.35)}.listing-content{padding:25px}.listing-content p{margin-bottom:15px}.listing .price{font-size:1.5rem;font-weight:600}.listing .btn{margin-top:18px;width:100%}.toolbox{padding:30px;background:var(--bg);border:1px solid var(--line)}.results-count{font-size:.9rem;margin-bottom:20px}.minihero{padding:85px 0 45px}.minihero h1{max-width:900px}.minihero p{max-width:660px}.breadcrumb{font-size:.875rem;margin-bottom:30px;text-decoration:underline}.price-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);padding:24px;margin:25px 0}.price-panel strong{font-size:2rem}.progress{height:4px;background:var(--line);margin-bottom:25px}.progress span{display:block;background:var(--accent);height:100%;width:50%;transition:width .2s}.nextprev{display:flex;justify-content:space-between;gap:16px;margin-top:22px}.demo-label{font-size:.8rem;margin-bottom:18px;color:var(--accent)}
/* portfolio */
.portfolio{--bg:#f7f8f2;--surface:#fff;--ink:#172019;--accent:#c5fb6d;--line:#d9ded1;font-family:'Manrope',sans-serif}.portfolio-header{background:#172019;color:#fff;min-height:82px;display:flex;align-items:center;border-bottom:1px solid #ffffff25}.portfolio-header .wrap{width:100%;display:flex;justify-content:space-between;align-items:center}.sparklogo{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.04em;font-size:1.4rem}.sparkmark{color:#c5fb6d;font-size:2rem}.portfolio-intro{background:#172019;color:#f7f8f2;padding:75px 0 58px}.portfolio-intro h1{font-size:clamp(3rem,6vw,5.7rem);font-weight:600;max-width:930px;letter-spacing:-.06em}.portfolio-intro h1 em{font-style:normal;color:#c5fb6d}.portfolio-intro .split{gap:70px;grid-template-columns:1.5fr 1fr}.portfolio-intro p{color:#c1caba;font-size:1.05rem}.intro-foot{border-top:1px solid #ffffff25;margin-top:38px;padding-top:22px;display:flex;gap:32px;font-size:.8rem;color:#d4dfcc}.gallery-section{padding:48px 0 80px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:38px}.gallery-toolbar h2{font-size:1.6rem;margin:0}.gallery-toolbar .filters{margin:0}.portfolio .chip.active{background:#172019}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 25px}.portfolio-card{background:#fff;border:1px solid #d9ded1;transition:transform .2s;overflow:hidden}.portfolio-card:hover{transform:translateY(-5px)}.preview-window{height:276px;padding:18px 18px 0;background:var(--preview-bg);position:relative;overflow:hidden}.browser-line{display:flex;gap:5px;background:#ffffffc9;border-radius:7px 7px 0 0;padding:9px}.browser-line i{width:5px;height:5px;background:#b8bdb8;border-radius:50%}.mini-site{height:245px;position:relative;background:var(--preview-bg);color:var(--preview-ink);overflow:hidden}.mini-nav{background:var(--preview-bg);padding:12px 14px;font-size:.7rem;font-weight:700;position:relative;z-index:2}.mini-content{width:58%;position:relative;z-index:2;padding:22px 13px}.mini-content h3{font-family:'Playfair Display',serif;font-size:1.75rem;line-height:1.1;margin-bottom:14px;letter-spacing:-.04em}.mini-content span{display:block;width:75px;height:17px;background:var(--preview-ink);opacity:.9}.mini-site img{position:absolute;width:43%;height:100%;right:0;top:0;object-fit:cover}.preview-law .mini-content h3,.preview-cars .mini-content h3{font-family:'Manrope',sans-serif;font-size:1.6rem}.preview-realestate .mini-site img{width:100%;filter:brightness(.6)}.preview-realestate .mini-content{color:#fff;width:85%}.card-body{padding:25px}.card-meta{display:flex;justify-content:space-between;gap:8px;font-size:.75rem;margin-bottom:17px}.card-meta .package{font-weight:700}.card-body h3{font-size:1.5rem;margin-bottom:7px;letter-spacing:-.04em}.card-body p{font-size:.875rem;opacity:.75;margin-bottom:22px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:20px;border-top:1px solid #e3e7dd}.card-bottom strong{font-size:1rem}.card-bottom a{font-size:.85rem;text-decoration:underline;text-underline-offset:5px}.scope{background:#e9eedf;padding:65px 0}.scope h2{font-size:2.8rem}.scope ul{padding-left:20px;line-height:2;font-size:.95rem}.scope-note{font-size:.875rem;max-width:480px}.portfolio-footer{background:#172019;color:#e2ebdb;padding:30px 0}.portfolio-footer .wrap{display:flex;justify-content:space-between;gap:20px;font-size:.8rem}.portfolio-footer a{text-decoration:underline}
@media(max-width:950px){.nav{gap:15px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.hero-copy{padding-left:30px;padding-right:30px}.wrap{padding:0 25px}.hero{min-height:570px}.hero-photo{min-height:500px}.split{gap:35px}.service{padding:24px}.hero-notes{flex-wrap:wrap;gap:15px}}
@media(max-width:720px){.wrap{padding:0 20px}.conceptbar .wrap{padding:10px 20px;font-size:.75rem}.conceptbar strong{max-width:235px}.sitehead .wrap{min-height:72px}.wordmark{font-size:1.4rem}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;padding:25px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:58px 23px 45px}.hero-photo{min-height:370px}.salon .hero-photo,.dental .hero-photo,.medspa .hero-photo{margin:0 20px 25px}.salon .hero-photo{border-radius:140px 140px 0 0}.hero-notes{margin-top:30px}.section{padding:60px 0}.section-title{display:block}.section-title p{margin-top:22px}.grid3{grid-template-columns:1fr}.split,.portfolio-intro .split{grid-template-columns:1fr;gap:35px}.editorial-strip{grid-template-columns:1fr}.editorial-strip .wrap{padding:35px 23px}.editorial-strip .quote{border-left:0;border-top:1px solid #ffffff40}.fields{grid-template-columns:1fr}.full{grid-column:auto}.inquiry{padding:25px}.sitefooter .wrap,.portfolio-footer .wrap{flex-direction:column}.portfolio-intro{padding:52px 0 35px}.portfolio-intro h1{font-size:3.2rem}.intro-foot{flex-wrap:wrap;gap:15px}.portfolio-grid{grid-template-columns:1fr}.gallery-toolbar{align-items:flex-start;flex-direction:column}.gallery-toolbar .filters{gap:8px}.gallery-toolbar .chip{font-size:.8rem;padding:9px 13px}.preview-window{height:300px}.mini-site{height:270px}.mini-content h3{font-size:2rem}.scope{padding:50px 0}.scope h2{font-size:2.2rem}.realestate .hero,.realestate .hero-copy{min-height:620px}.realestate .hero-copy{padding-top:80px}.realestate .hero-photo{margin:0}.price-panel{align-items:flex-start;flex-direction:column}.portfolio-header .muted{font-size:.75rem}.minihero{padding:60px 0 30px}.portfolio-header .sparklogo{font-size:1.1rem}.gallery-section{padding-bottom:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
