:root{--cream:#FAF3E8;--blush:#FBE8E4;--rose:#B57F75;--rose-dk:#8E5C52;--ink:#5A4A45;--line:#E9D7D0;--serif:"Playfair Display",Georgia,serif;--sans:"Josefin Sans","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.7}h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--rose-dk);margin:0}h1{font-size:clamp(2.4rem,6vw,4rem);line-height:1.1}h1,h2{font-style:italic}h2{font-size:clamp(1.7rem,3.2vw,2.3rem);margin-bottom:1rem}h3{font-style:italic;font-size:1.35rem;margin-bottom:.4rem}a{color:var(--rose-dk)}.wrap{max-width:1100px;margin:0 auto;padding:0 24px}header{position:-webkit-sticky;position:sticky;top:0;background:rgba(250,243,232,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:5}.nav{display:flex;align-items:center;justify-content:space-between;height:68px}.brand{font-family:var(--serif);font-style:italic;color:var(--rose-dk);text-decoration:none;font-size:1.15rem}.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px}.nav ul a{text-decoration:none;color:var(--rose);font-size:.95rem;letter-spacing:.02em}.nav ul a:hover{color:var(--rose-dk)}.btn{display:inline-block;background:var(--rose);color:#fff;text-decoration:none;padding:12px 26px;font-size:.9rem;letter-spacing:.04em;border:0;font-family:var(--sans);font-weight:400;cursor:pointer}.btn:hover{background:var(--rose-dk)}.btn.ghost{background:transparent;color:var(--rose-dk);border:1px solid var(--rose)}.menu-btn{display:none;background:none;border:0;font-size:1.6rem;color:var(--rose-dk)}.hero{text-align:center;padding:96px 0 84px}.hero p{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--rose-dk);max-width:640px;margin:18px auto 30px}.about{background:linear-gradient(90deg,#C9AFA4 0,#E8D3C8 40%,var(--blush) 40%)}.about .grid{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.about .photo{background:url(/assets/hero-portrait.jpg) 50%/cover}.about .text{padding:64px 48px;background:var(--blush)}.about .text p{max-width:46ch}.meet{padding:80px 0}.meet .grid{display:grid;grid-template-columns:5fr 7fr;grid-gap:56px;gap:56px;align-items:center}.meet .photo{aspect-ratio:1/1;max-width:460px;background:#E8D3C8 top/cover no-repeat;border:10px solid #fff;box-shadow:0 20px 50px -30px rgba(142,92,82,.5)}.meet .creds{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0;list-style:none}.meet .creds li{border:1px solid var(--rose);color:var(--rose-dk);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px}.quote{padding:80px 0}.quote .grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:24px;gap:24px;margin-top:8px}.quote blockquote{background:#fff;border:1px solid var(--line);margin:0;padding:28px 26px;font-family:var(--serif);font-style:italic;font-size:1.1rem;line-height:1.55;color:var(--rose-dk);position:relative}.quote blockquote:before{content:"\201C";font-family:var(--serif);font-size:3rem;line-height:1;color:var(--rose);position:absolute;top:14px;left:18px;opacity:.5}.quote blockquote p{margin:0;padding-top:18px}.quote blockquote{grid-column:span 2}.quote blockquote.wide{grid-column:span 3}.quote cite{display:block;font-style:normal;font-family:var(--sans);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rose);margin-top:14px}.benefits{background:var(--blush);padding:72px 0}.benefits ul{list-style:none;padding:0;margin:0;column-count:2;column-gap:48px;max-width:900px}.benefits li{page-break-inside:avoid;break-inside:avoid;padding:10px 0 10px 28px;position:relative;border-bottom:1px solid var(--line)}.benefits li:before{content:"";position:absolute;left:4px;top:19px;width:8px;height:8px;border-radius:50%;background:var(--rose)}.classes{padding:80px 0}.classes .cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:28px;gap:28px;margin-top:28px}.card{background:#fff;border:1px solid var(--line);padding:32px 28px}.card .icon{width:64px;height:64px;border:1px solid var(--rose);border-radius:50%;display:grid;place-items:center;color:var(--rose);margin-bottom:18px}.card p{margin:.4rem 0 0}.meta{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rose);margin-top:14px}.contact{background:var(--blush);padding:80px 0}.contact .grid{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:56px;gap:56px;align-items:start}.contact .who h3{font-style:normal;font-size:1.5rem}.contact .who .line{margin:.2rem 0}.reach,form{background:#fff;padding:32px;border:1px solid var(--line)}.reach h3{font-style:normal;margin-bottom:.5rem}.tabs{display:flex;gap:0;margin-bottom:22px;border-bottom:1px solid var(--line)}.tabs button{background:none;border:0;padding:10px 18px;font-family:var(--sans);font-size:.95rem;color:var(--rose);cursor:pointer;border-bottom:2px solid transparent}.tabs button.on{color:var(--rose-dk);border-bottom-color:var(--rose)}label{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rose-dk);margin:14px 0 6px}input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line);background:var(--cream);font-family:var(--sans);font-size:1rem;color:var(--ink)}textarea{min-height:110px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{border:1px solid var(--rose);padding:6px 12px;font-size:.85rem;color:var(--rose-dk);cursor:pointer}.chips span.on{background:var(--rose);color:#fff}.note{font-size:.85rem;color:#8a7a74;margin-top:10px}footer{padding:56px 0 32px;font-size:.92rem}footer .grid{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:48px;gap:48px}footer .small{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#8a7a74;font-size:.82rem}.socials a{margin-right:14px;text-decoration:none;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}@media (max-width:820px){.nav ul{display:none}.menu-btn{display:block}.about .grid,.contact .grid,.row,footer .grid{grid-template-columns:1fr}.about{background:var(--blush)}.about .photo{min-height:320px}.about .text{padding:40px 24px}.benefits ul{column-count:1}.classes .cards,.meet .grid{grid-template-columns:1fr}.meet .photo{max-width:380px}.quote .grid{grid-template-columns:1fr}.quote blockquote,.quote blockquote.wide{grid-column:auto}.hero{padding:64px 0 56px}footer .small{flex-direction:column;gap:6px}}