:root{--ink:#25101f;--plum:#37152f;--rose:#d86683;--blush:#f6d7dc;--cream:#fff8f3;--white:#fff;--muted:#745f6c;--line:rgba(55,21,47,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);position:absolute;z-index:20;width:100%;color:var(--cream)}.brand{display:flex;gap:10px;align-items:center;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;font-family:"Playfair Display",serif;font-style:italic}.nav{display:flex;align-items:center;gap:34px;font-size:.9rem}.nav a{transition:opacity .2s}.nav a:hover{opacity:.65}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:10px 18px;border-radius:999px}.menu-toggle{display:none;border:0;background:none;color:inherit;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:6px}.hero{min-height:760px;display:grid;grid-template-columns:1.12fr .88fr;background:var(--plum);color:var(--cream);overflow:hidden}.hero-copy{padding:180px clamp(24px,6vw,100px) 90px;display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.74rem;font-weight:600;color:#f2a1b3}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(4rem,7vw,7.2rem);line-height:.91;letter-spacing:-.055em;margin:26px 0 32px;max-width:800px}.hero h1 em,.contact h2 em{color:var(--rose);font-weight:600}.hero-intro{font-size:clamp(1.05rem,1.35vw,1.25rem);max-width:610px;color:#eadfe6;margin:0}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border-radius:999px;padding:15px 22px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--rose);color:var(--white)}.text-link{border-bottom:1px solid rgba(255,255,255,.4);padding:8px 0}.signature-line{display:flex;gap:20px;align-items:center;margin-top:auto;padding-top:56px;color:#c9b7c2;font-size:.86rem}.signature-line span{color:var(--rose);font-weight:700}.signature-line p{margin:0}.portrait-wrap{position:relative;background:linear-gradient(145deg,#edafba,#c85a79);min-height:760px;display:grid;place-items:end center}.portrait-frame{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;position:relative;z-index:2}.portrait-fallback{position:absolute;inset:0;display:grid;place-items:center;color:rgba(55,21,47,.7);font-family:"Playfair Display",serif;font-size:10rem;background:linear-gradient(145deg,#f3c9d0,#cf6f88)}.floating-note{position:absolute;z-index:5;bottom:48px;left:-50px;background:var(--cream);color:var(--ink);padding:18px 25px;min-width:190px;box-shadow:0 14px 40px rgba(37,16,31,.18);font-size:.85rem;line-height:1.45}.orbit{position:absolute;z-index:4;border:1px solid rgba(255,255,255,.45);border-radius:50%;pointer-events:none}.orbit-one{width:190px;height:190px;top:110px;right:-65px}.orbit-two{width:70px;height:70px;top:90px;right:90px}.statement{text-align:center;padding:90px 24px;background:var(--blush)}.statement p{margin:0 0 5px;color:var(--muted)}.statement h2{font-family:"Playfair Display",serif;font-size:clamp(2.3rem,5vw,5rem);line-height:1.1;margin:0;letter-spacing:-.04em}.statement h2 span{color:#a93456;font-style:italic}.section{padding:120px clamp(24px,7vw,112px)}.section-label{display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:700;color:var(--muted);margin-bottom:50px}.section-label span{color:var(--rose)}.about{display:grid;grid-template-columns:.3fr .7fr;gap:40px}.about-content{max-width:900px}.lead{font-family:"Playfair Display",serif;font-size:clamp(2rem,3.5vw,3.65rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 55px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;color:var(--muted);max-width:760px}.services{background:var(--plum);color:var(--cream)}.section-heading{display:grid;grid-template-columns:.3fr .7fr;gap:40px}.section-heading h2{font-family:"Playfair Display",serif;font-size:clamp(2.5rem,4.8vw,5rem);line-height:1.08;letter-spacing:-.04em;max-width:750px;margin:0 0 70px}.section-label.light{color:#beaab6}.service-list{margin-left:30%;border-top:1px solid rgba(255,255,255,.16)}.service{display:grid;grid-template-columns:70px 1fr;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.16)}.service>span{font-size:.76rem;color:var(--rose);font-weight:700}.service h3{font-family:"Playfair Display",serif;font-size:clamp(1.45rem,2.3vw,2.2rem);margin:0 0 6px}.service p{color:#cbbbc4;margin:0;max-width:600px}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,10vw,150px)}.approach-title h2{font-family:"Playfair Display",serif;font-size:clamp(2.6rem,4.5vw,4.6rem);line-height:1.06;letter-spacing:-.04em;margin:0 0 28px}.approach-title p{color:var(--muted);max-width:500px}.process{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:55px 1fr;padding:24px 0;border-bottom:1px solid var(--line)}.process li>span{font-size:.72rem;color:var(--rose);font-weight:700}.process h3{margin:0 0 4px;font-family:"Playfair Display",serif;font-size:1.45rem}.process p{margin:0;color:var(--muted)}.contact{padding:130px 24px;text-align:center;background:var(--rose);color:var(--white)}.contact .eyebrow{color:var(--white)}.contact h2{font-family:"Playfair Display",serif;font-size:clamp(3.2rem,7vw,7.2rem);line-height:.98;letter-spacing:-.05em;margin:22px auto 45px}.contact h2 em{color:var(--plum)}.contact-actions{display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap}.light-button{background:var(--white);color:var(--plum)}.instagram-link{font-weight:700;border-bottom:1px solid rgba(255,255,255,.7);padding:8px 0}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:34px clamp(24px,5vw,76px);background:var(--ink);color:#cbbbc4;font-size:.82rem}footer p{margin:0}.footer-brand{color:var(--white)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.site-header{position:absolute}.nav{display:none;position:absolute;top:72px;left:20px;right:20px;background:var(--cream);color:var(--ink);padding:24px;flex-direction:column;align-items:stretch;gap:18px;box-shadow:0 18px 50px rgba(0,0,0,.2)}.nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr}.hero-copy{min-height:670px;padding-top:145px}.portrait-wrap{min-height:620px}.floating-note{left:24px}.about,.section-heading,.approach-layout{grid-template-columns:1fr}.service-list{margin-left:0}.about-grid{max-width:none}.section{padding-top:90px;padding-bottom:90px}.section-heading h2{margin-bottom:45px}}@media(max-width:580px){.hero-copy{min-height:650px;padding-bottom:55px}.hero h1{font-size:3.65rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.signature-line{padding-top:45px}.portrait-wrap{min-height:520px}.about-grid{grid-template-columns:1fr;gap:16px}.statement{padding:70px 20px}.service{grid-template-columns:42px 1fr}.contact{padding:90px 20px}footer{flex-direction:column;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
