:root{--plum:#402634;--mauve:#b65f82;--rose:#e7b7c8;--blush:#f7e7ed;--ivory:#fff9f6;--sand:#c7a47b;--ink:#2a2025;--muted:#706268;--line:#eadde1;--radius:22px;--shadow:0 24px 70px rgba(64,38,52,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:99}.header{height:82px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,249,246,.92);backdrop-filter:blur(14px);z-index:20}.logo{display:flex;align-items:center;gap:.7rem;font-size:.86rem;letter-spacing:.12em;text-transform:uppercase}.logo span{width:37px;height:37px;border-radius:50% 50% 45% 55%;display:grid;place-items:center;background:var(--plum);color:#fff;font-family:"Playfair Display",serif;letter-spacing:0}.header nav{display:flex;gap:1.8rem;align-items:center;font-size:.92rem}.nav-cta{border:1px solid var(--plum);border-radius:99px;padding:.65rem 1rem}.menu{display:none;border:0;background:transparent}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:46% 54%;align-items:stretch}.hero-copy{padding:clamp(4rem,9vw,8rem) clamp(1.5rem,6vw,7rem);align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--mauve)}h1,h2,h3,blockquote{font-family:"Playfair Display",serif;line-height:1.08;margin:0}h1{font-size:clamp(3.2rem,6.6vw,6.9rem);letter-spacing:-.055em;color:var(--plum)}h1 em{color:var(--mauve);font-weight:600}.lead{font-size:1.1rem;max-width:580px;color:var(--muted);margin:2rem 0}.actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--plum);color:#fff;border-radius:99px;padding:1rem 1.4rem;font-weight:700;border:0;cursor:pointer}.button:hover{background:var(--mauve)}.text-link{font-weight:700;border-bottom:1px solid var(--rose)}.trust{display:flex;gap:2rem;padding:0;margin:2.2rem 0 0;list-style:none;color:var(--muted);font-size:.85rem}.trust li:before{content:"✓";color:var(--mauve);margin-right:.45rem}.hero-image{position:relative;overflow:hidden;min-height:560px}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,249,246,.2),transparent 35%)}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-image span{position:absolute;right:2rem;bottom:2rem;background:rgba(255,249,246,.9);padding:.75rem 1rem;border-radius:99px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;z-index:2}.intro,.faq{padding:8rem clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:30% 70%;gap:4rem}.intro h2,.experience h2,.faq h2,.contact h2{font-size:clamp(2.4rem,4vw,4.2rem);color:var(--plum);letter-spacing:-.03em}.intro>div p{max-width:760px;color:var(--muted);font-size:1.06rem}.services{padding:0 clamp(1.5rem,8vw,9rem) 8rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.services article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem;min-height:300px;display:flex;flex-direction:column}.services article>span{color:var(--mauve);font-size:.75rem;letter-spacing:.15em}.services h3{font-size:1.8rem;color:var(--plum);margin:1.8rem 0 1rem}.services p{color:var(--muted)}.interest{margin-top:auto;padding:0;border:0;background:none;color:var(--mauve);text-align:left;font-weight:700;cursor:pointer}.services .highlight{background:var(--plum);border-color:var(--plum)}.highlight h3,.highlight p{color:#fff}.highlight .eyebrow{color:var(--rose)}.button.light{background:#fff;color:var(--plum);width:max-content}.experience{background:var(--blush);padding:8rem clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.quote{background:var(--mauve);color:white;border-radius:45% 55% 50% 50%;aspect-ratio:1;display:grid;place-items:center;padding:12%;position:relative}.quote span{font-family:serif;font-size:6rem;opacity:.3;position:absolute;top:8%}.quote blockquote{font-size:clamp(1.7rem,3vw,3rem);text-align:center}.experience ol{padding:0;margin:2.5rem 0 0;list-style:none}.experience li{padding:1.2rem 0;border-bottom:1px solid #d9c5cc;display:grid;grid-template-columns:140px 1fr}.experience small{color:var(--muted);font-size:.9rem}.accordions details{border-bottom:1px solid var(--line);padding:1.2rem 0}.accordions summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between}.accordions summary:after{content:"+";color:var(--mauve)}.accordions p{color:var(--muted)}.contact{margin:0 clamp(1.5rem,8vw,9rem) 6rem;background:var(--plum);color:#fff;border-radius:var(--radius);padding:clamp(2rem,6vw,5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem}.contact h2{color:#fff;max-width:700px}.contact .eyebrow{color:var(--rose)}footer{padding:3rem clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}footer small{grid-column:1/-1}.floating-wa{position:fixed;right:1.2rem;bottom:1.2rem;background:#247b55;color:#fff;border-radius:99px;padding:.85rem 1.1rem;font-size:.82rem;font-weight:700;box-shadow:var(--shadow);z-index:15}
@media(max-width:900px){.header nav{position:absolute;left:0;right:0;top:82px;background:var(--ivory);display:none;flex-direction:column;padding:1.5rem;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr}.hero-copy{order:2;padding-top:3.5rem}.hero-image{min-height:55vh}.intro,.faq,.experience{grid-template-columns:1fr;gap:2rem}.services{grid-template-columns:1fr 1fr}.quote{max-width:520px;margin:auto}.contact{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){h1{font-size:3.35rem}.hero-image{min-height:390px}.hero-image img{object-position:62% center}.hero-image span{right:1rem;bottom:1rem}.trust{gap:.8rem;flex-direction:column}.intro,.faq,.experience{padding-top:5rem;padding-bottom:5rem}.services{grid-template-columns:1fr;padding-bottom:5rem}.services article{min-height:250px}.experience li{grid-template-columns:1fr;gap:.3rem}.contact{margin-bottom:4rem}footer{grid-template-columns:1fr}}
