:root{--ink:#121211;--paper:#fff;--cream:#f6f1e9;--purple:#d291f1;--orange:#dd733f;--lime:#aedf1a;--line:#ded8ce;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.5}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}a{color:inherit;text-decoration:none}.wrap{max-width:var(--max);margin:auto;padding:0 32px}.nav{height:92px;background:var(--ink);color:#fff;display:flex;align-items:center;position:sticky;top:0;z-index:10}.nav .wrap{width:100%;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Georgia,serif;font-size:34px}.links{display:flex;gap:30px;align-items:center;font-size:15px}.links a:hover{color:var(--lime)}.pill{display:inline-block;border:1px solid currentColor;border-radius:999px;padding:13px 24px}.pill.gold{color:#f0bd58}.hero{background:var(--cream);min-height:620px;display:grid;align-items:center;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700;margin-bottom:24px}.hero h1{font-size:72px;line-height:.96;letter-spacing:-.04em;margin-bottom:28px}.hero h1 em{font-weight:400}.hero p{font-size:19px;max-width:560px}.actions{display:flex;gap:14px;margin-top:32px}.btn{background:var(--ink);color:#fff;padding:15px 25px;border-radius:2px;font-weight:700;font-size:14px}.btn.alt{background:transparent;color:var(--ink);border:1px solid var(--ink)}.visual{height:500px;position:relative}.visual .panel{position:absolute;background:#c7b59f;border-radius:2px}.visual .p1{inset:20px 80px 20px 0;background:linear-gradient(145deg,#d9c9b5,#8e6548)}.visual .p2{width:46%;height:78%;right:0;top:0;background:var(--ink)}.visual .p3{width:34%;height:35%;right:18%;bottom:0;background:var(--purple)}.visual:before{content:'create\A purpose\A impact';white-space:pre;position:absolute;z-index:2;right:8%;bottom:10%;font-family:Georgia,serif;font-size:34px;line-height:1.05;color:#fff}.section{padding:100px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.section h2{font-size:52px;line-height:1.05;letter-spacing:-.03em}.quote{font-family:Georgia,serif;font-style:italic;font-size:46px;line-height:1.08}.accent{width:70px;height:5px;background:var(--orange);margin-bottom:28px}.work-strip{background:var(--ink);color:#fff;padding:38px 0}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.feature{padding:0 28px;border-right:1px solid #514b43}.feature:last-child{border:0}.feature h3{font-family:Georgia,serif;color:#efbd61;font-weight:400;margin-bottom:8px}.clients{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:42px}.client{border:1px solid var(--line);padding:38px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between}.client img{max-width:230px;max-height:90px;object-fit:contain;object-position:left}.tag{display:inline-block;background:var(--lime);padding:4px 9px;font-size:12px;font-weight:700;width:max-content}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.card{border:1px solid var(--line);padding:32px;position:relative}.card:nth-child(2):before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--purple)}.card:nth-child(3):before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--lime)}.price{font-family:Georgia,serif;font-size:42px;margin:16px 0}.card ul{padding-left:18px}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:42px}.person .photo{aspect-ratio:4/5;background:#eee;overflow:hidden}.person img{width:100%;height:100%;object-fit:cover}.person h3{font-size:25px;margin:18px 0 2px}.placeholder{height:100%;display:grid;place-items:center;background:var(--cream);font-family:Georgia,serif;font-size:34px;color:#8a8177}.contact{background:var(--cream)}form{display:grid;gap:14px}input,select,textarea{width:100%;border:1px solid #bdb5aa;background:#fff;padding:15px;font:inherit}textarea{min-height:150px}.footer{background:var(--ink);color:#fff;padding:60px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer .brand{font-size:42px}.sprinkle{display:inline-block;width:10px;height:10px;background:var(--purple);border-radius:50%;margin-left:8px}.sprinkle.o{background:var(--orange)}.sprinkle.l{background:var(--lime)}
@media(max-width:850px){.links a:not(.pill){display:none}.hero-grid,.split{grid-template-columns:1fr}.hero{padding:70px 0}.hero h1{font-size:52px}.visual{height:360px}.features,.packages,.team,.clients,.footer-grid{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid #514b43;padding:22px 0}.section{padding:70px 0}.quote{font-size:36px}.wrap{padding:0 20px}}
/* refinement pass */
.case-link{display:inline-block;margin-top:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:2px;width:max-content}.client{transition:transform .25s ease,box-shadow .25s ease}.client:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(18,18,17,.08)}.starting{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;margin-top:16px;color:#6f675f}.featured{box-shadow:0 18px 45px rgba(18,18,17,.08);transform:translateY(-8px)}.recommended{display:inline-block;background:var(--purple);padding:5px 9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.btn{display:inline-block;border:0;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.btn:hover{transform:translateY(-2px);opacity:.9}.person img{transition:transform .45s ease}.person:hover img{transform:scale(1.02)}input:focus,select:focus,textarea:focus{outline:2px solid var(--purple);outline-offset:1px}.contact form{grid-template-columns:1fr 1fr}.contact form textarea,.contact form button{grid-column:1/-1}@media(max-width:850px){.featured{transform:none}.contact form{grid-template-columns:1fr}.contact form textarea,.contact form button{grid-column:auto}}
/* Founder portrait refinements — real photos, no AI alteration */
.person:nth-child(1) .photo img{object-position:center 35%;}
.person:nth-child(2) .photo img{object-position:center 38%;}
/* Lovestone Collective: interactive site showcase */
:root{--ink:#18151b;--cream:#f7f3eb;--purple:#b77bd4;--lime:#c8e67b}
.nav{background:#19171d}.brand{letter-spacing:-.04em}.hero{background:radial-gradient(circle at 90% 10%,#e9d5f3 0,transparent 35%),var(--cream);min-height:710px}.hero-grid{padding-top:65px;padding-bottom:65px}.hero h1 em{color:#8346a0}.visual{height:510px;isolation:isolate}.visual::before{content:none}.visual .panel{display:none}.studio-window{position:absolute;inset:30px 30px 35px 10px;background:#22182b;border-radius:17px;box-shadow:0 32px 72px rgba(30,17,31,.25);overflow:hidden;transform:rotate(-2deg);animation:window-enter .9s cubic-bezier(.2,.8,.2,1) both}.window-top{height:46px;display:flex;align-items:center;gap:7px;padding:0 17px;background:#27212c;color:#ccc3d1;font-size:10px;letter-spacing:.13em}.window-top span{width:7px;height:7px;border-radius:50%;background:#d9859a}.window-top span:nth-child(2){background:#eac376}.window-top span:nth-child(3){background:#b1d681}.window-top b{margin:auto;font-weight:600}.window-canvas{height:calc(100% - 46px);position:relative;overflow:hidden;padding:56px 50px;background:radial-gradient(circle at 72% 67%,#a564ac 0,transparent 35%),linear-gradient(130deg,#312040,#171622);color:#fff}.canvas-label{font-size:11px;letter-spacing:.27em;color:#dfc6e8}.canvas-title{position:relative;z-index:2;margin-top:24px;font:normal clamp(36px,4vw,59px)/1.03 Georgia,serif;letter-spacing:-.045em}.canvas-title em{color:#e0c6ed;font-weight:normal}.canvas-line{width:160px;height:1px;background:#bd91cd;margin:25px 0}.canvas-button{display:inline-flex;gap:24px;border:1px solid rgba(255,255,255,.8);border-radius:999px;padding:12px 17px;font-size:10px;letter-spacing:.12em}.canvas-orb{position:absolute;width:250px;height:250px;right:-48px;bottom:-55px;border:1px solid rgba(240,206,246,.7);border-radius:50%;box-shadow:0 0 0 30px rgba(240,206,246,.08),0 0 0 65px rgba(240,206,246,.06);animation:orb-pulse 5s ease-in-out infinite}.float-note{position:absolute;z-index:3;background:#fff;color:#241e29;border-radius:9px;padding:12px 18px;font-size:12px;font-weight:750;box-shadow:0 13px 30px #2a173a21;animation:note-float 5s ease-in-out infinite}.note-one{top:5px;right:4px}.note-two{left:-24px;bottom:68px;animation-delay:-1.2s}.note-three{right:-22px;bottom:10px;animation-delay:-2.4s}
.showcase-section{overflow:hidden;background:#221b2a;color:#f9f6f7;padding:100px 0}.showcase-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.showcase-grid h2{font:normal clamp(40px,5vw,68px)/1 Georgia,serif;letter-spacing:-.04em}.showcase-grid p{font-size:18px;max-width:510px;color:#ddd4e1}.showcase-grid .btn{background:#d4ed96;color:#1d1822}.showcase-stack{height:370px;position:relative;perspective:850px}.showcase-tile{position:absolute;width:78%;padding:26px 30px;border-radius:13px;display:grid;gap:9px;box-shadow:0 16px 45px #100f1b55;transition:transform .35s ease}.showcase-tile span{font-size:12px;letter-spacing:.15em}.showcase-tile strong{font:normal 31px Georgia,serif}.showcase-tile small{font-size:14px}.tile-a{top:0;left:0;background:#d4ed96;color:#191c15;transform:rotate(-7deg)}.tile-b{top:105px;right:0;background:#d9b0e8;color:#251a28;transform:rotate(5deg)}.tile-c{bottom:0;left:5%;background:#eac69c;color:#281d1d;transform:rotate(-3deg)}.showcase-tile:hover{z-index:4;transform:translateY(-13px) rotate(0)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.reveal.in-view{opacity:1;transform:translateY(0)}.direct-contact{margin-top:30px;display:grid;gap:7px}.direct-contact span{font-weight:700}.direct-contact a{width:max-content;border-bottom:1px solid currentColor}.form-status{grid-column:1/-1;min-height:1.5em;margin:0}.form-status.success{color:#225f38;font-weight:700}.form-status.error{color:#a33b32}.form-trap{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.contact form button:disabled{opacity:.65;cursor:wait}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.person .photo{border-radius:6px}.person img{object-position:center 25%}.person h3{margin-top:18px}
@keyframes window-enter{from{opacity:0;transform:translateY(30px) rotate(0)}to{opacity:1;transform:rotate(-2deg)}}@keyframes orb-pulse{50%{transform:scale(1.13);opacity:.7}}@keyframes note-float{50%{transform:translateY(-12px)}}
@media(max-width:850px){.hero{min-height:auto}.hero-grid{padding-top:40px;padding-bottom:70px}.visual{height:410px;max-width:560px;width:100%;margin:auto}.studio-window{inset:25px 20px 20px}.showcase-section{padding:70px 0}.showcase-grid{grid-template-columns:1fr;gap:45px}.showcase-stack{max-width:500px;width:100%;margin:auto}.float-note{font-size:10px}.note-two{left:0}.note-three{right:0}}
@media(max-width:450px){.hero h1{font-size:47px}.visual{height:340px}.window-canvas{padding:36px 25px}.canvas-title{font-size:35px}.canvas-orb{width:160px;height:160px}.showcase-stack{height:340px}.showcase-tile{width:85%;padding:20px}.showcase-tile strong{font-size:26px}.actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.studio-window,.float-note,.canvas-orb{animation:none!important}.studio-window{transform:none}.reveal{opacity:1;transform:none;transition:none}.client,.person img,.showcase-tile,.btn{transition:none!important}}

.chat-toggle{position:fixed;right:24px;bottom:24px;z-index:30;background:#121211;color:white;border:0;border-radius:50px;padding:15px 22px;box-shadow:0 10px 34px #0004;font:700 15px Arial,sans-serif;cursor:pointer}.chat-toggle span{color:#aedf1a;margin-left:9px}.chat-panel{position:fixed;z-index:31;right:24px;bottom:82px;width:min(390px,calc(100vw - 24px));max-height:min(680px,calc(100dvh - 100px));background:white;border:1px solid #ded8ce;box-shadow:0 20px 60px #0004;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;font-size:14px}.chat-panel[hidden]{display:none}.chat-header{background:#121211;color:white;padding:18px;display:flex;justify-content:space-between;align-items:center}.chat-header strong{display:block;font:24px Georgia,serif}.chat-header small{display:block;color:#ded8ce}.chat-header button{border:0;background:none;color:white;font-size:27px;cursor:pointer}.chat-body{padding:16px;overflow-y:auto}.chat-log{max-height:180px;overflow-y:auto;display:grid;gap:9px}.chat-message{padding:10px 12px;border-radius:12px;margin:0;max-width:92%;background:#f6f1e9}.chat-message.visitor{background:#e8d4f2;justify-self:end}.chat-topics{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.chat-topics button{border:1px solid #ded8ce;border-radius:20px;background:white;padding:8px 10px;cursor:pointer;font:inherit}.chat-topics button:hover{background:#f6f1e9}.chat-panel form{display:grid;gap:7px}.chat-panel input,.chat-panel textarea{padding:9px;min-height:0;font-size:14px}.chat-panel textarea{height:78px}.chat-panel form button{background:#121211;color:white;border:0;padding:11px;cursor:pointer}.chat-panel form button:disabled{opacity:.5;cursor:wait}#chat-ask{grid-template-columns:1fr auto}#chat-status{font-size:12px;margin:0}.chat-details{border-top:1px solid #ded8ce;margin-top:14px;padding-top:10px}.chat-details summary{font-weight:700;cursor:pointer}.chat-details form{margin-top:12px}.chat-details label{font-size:12px}.chat-panel :focus-visible,.chat-toggle:focus-visible{outline:3px solid #d291f1;outline-offset:2px}@media(max-width:500px){.chat-toggle{right:12px;bottom:12px}.chat-panel{right:12px;bottom:72px;max-height:calc(100dvh - 86px)}}
.brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap}.brand-icon{display:block;border-radius:9px;flex:none}.client .tag{background:#e9dfcc}.clients{margin-top:28px}#work{padding-top:72px;padding-bottom:72px}#work h2{font-size:clamp(30px,3.4vw,44px)}#work>.wrap>p{max-width:680px;color:#514b43}@media(max-width:500px){.brand-icon{width:30px;height:30px}.nav .brand{font-size:25px}}
#work .clients{grid-template-columns:minmax(0,680px)}
