:root{--ink:#713b56;--ink-deep:#8f5270;--text:#58434f;--muted:#856e79;--cream:#fff9fb;--sage:#fceef3;--line:#f0dfe6}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--text);background:var(--cream);font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{cursor:pointer}.container{width:min(100% - 80px,1260px);margin-inline:auto}.section-pad{padding-block:116px}.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.19em;color:#a55f7e}.eyebrow-line{display:inline-block;width:25px;height:1px;background:currentColor}.eyebrow-light{color:#ffdce9}
.button{display:inline-flex;justify-content:center;align-items:center;gap:38px;min-height:50px;padding:13px 21px;border:1px solid transparent;border-radius:3px;font-size:13px;font-weight:700;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:18px;line-height:1;font-weight:400}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#a85478}.button-light{background:#fff9fb;color:var(--ink-deep)}.button-light:hover{background:#fff}.text-link{display:inline-flex;align-items:center;gap:20px;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:13px;font-weight:700;color:var(--ink)}.text-link span{font-size:19px;font-weight:400}.text-link-light{color:#793b56}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1 em,h2 em{font-style:normal;color:#bd7293}
.topbar{background:var(--ink-deep);color:#fff2f7;font-size:11px;letter-spacing:.02em}.topbar-inner{min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-links{display:flex;gap:28px}.topbar a:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:50;background:rgba(250,250,246,.97);border-bottom:1px solid #f3e2e9;backdrop-filter:blur(12px)}.nav-wrap{height:84px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:13px;min-width:235px}.brand-mark{font-family:Manrope,sans-serif;font-size:28px;letter-spacing:-.13em;font-weight:800;color:var(--ink)}.brand-mark span{color:#d987aa}.brand-text{display:flex;flex-direction:column;gap:2px}.brand-text strong{font-family:Manrope,sans-serif;font-size:15px;line-height:1.1;letter-spacing:-.03em}.brand-text small{font-size:8px;font-weight:700;letter-spacing:.16em;color:#9e7989}.desktop-nav{display:flex;justify-content:center;align-items:center;gap:35px;flex:1}.desktop-nav a{font-size:13px;font-weight:600;transition:color .2s}.desktop-nav a:hover{color:#b96389}.button-nav{min-width:167px;background:var(--ink);color:#fff;gap:20px}.button-nav:hover{background:#a9567a}.menu-toggle,.mobile-menu{display:none}
.hero{min-height:660px;display:grid;grid-template-columns:54% 46%;background:var(--ink)}.hero-copy{display:flex;align-items:center;padding:76px max(40px,calc((100vw - 1260px)/2)) 68px max(40px,calc((100vw - 1260px)/2));color:#fff}.hero-copy-inner{max-width:610px}.hero h1{max-width:650px;margin:25px 0 23px;font-size:clamp(56px,5.8vw,86px);line-height:1.1;letter-spacing:-.07em;font-weight:600}.hero p{max-width:465px;color:#755164;font-size:16px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:33px;margin-top:36px}.hero-signature{display:flex;align-items:center;gap:13px;margin-top:92px;color:#9d7085;font-size:11px;letter-spacing:.08em}.signature-line{width:25px;height:1px;background:#9d7085}.hero-image-wrap{position:relative;overflow:hidden;background:#f0cbd9}.hero-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 38%}.hero-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(80,28,51,.23))}.image-caption{position:absolute;z-index:1;bottom:30px;left:32px;display:flex;align-items:center;gap:10px;padding:10px 15px;background:rgba(255,255,255,.94);font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--ink)}.caption-dot{width:6px;height:6px;border-radius:50%;background:#ce7e9d}
.intro-strip{background:#fae8ee;border-bottom:1px solid #efd9e3}.intro-strip-inner{min-height:89px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#894660;font-size:10px;font-weight:700;letter-spacing:.16em}.strip-star{font-size:18px;font-weight:400;color:#ca7c9d}.why{background:#fff}.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.section-heading h2,.about h2,.services h2,.contact h2{margin:22px 0 0;font-size:clamp(38px,4.2vw,60px);line-height:1.2;font-weight:600;letter-spacing:-.06em;color:var(--ink)}.section-heading h2 em{color:#c6799a}.why-body{max-width:650px;padding-top:3px}.why-body p,.about-copy p{font-size:15px;line-height:1.95;color:#735e6a}.why-body p+p{margin-top:19px}.why-body .text-link{margin-top:18px}
.about{background:var(--sage)}.about-grid{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:clamp(60px,8vw,125px)}.about-image-wrap{position:relative;width:100%;max-width:470px;height:570px;background:#efc9d8}.about-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 34%}.about-image-tag{position:absolute;right:-29px;bottom:26px;padding:15px 18px;background:#fff;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.15em;box-shadow:0 12px 25px rgba(112,59,85,.09)}.about h2{margin-bottom:29px}.period{color:#d58eaa}.about-copy{max-width:600px}.about-copy .about-lead{font-family:Manrope,sans-serif;font-size:21px;font-weight:700;line-height:1.5;color:var(--ink)}.about-copy .button{margin-top:22px}
.services{background:#fff9fb}.services-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:47px}.services-heading p{max-width:310px;margin-bottom:6px;color:var(--muted);font-size:14px;line-height:1.7}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{min-height:303px;padding:26px 24px 27px;background:#fff;border:1px solid #f1e2e8;transition:transform .2s,box-shadow .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(112,59,85,.09);border-color:#e4b8ca}.service-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:80px;color:#ce86a3}.service-number{font-family:Manrope,sans-serif;font-size:12px;font-weight:800;letter-spacing:.06em}.service-symbol{font-size:29px;line-height:1}.service-card h3{margin-bottom:11px;color:var(--ink);font-size:18px;letter-spacing:-.04em;line-height:1.35}.service-card p{margin:0;color:#816c77;font-size:13px;line-height:1.75}
.contact{background:var(--ink-deep);color:#fff}.contact-heading{max-width:670px;margin-bottom:58px}.contact h2{margin:24px 0 19px;color:#fff}.contact-heading p{color:#ffe8f0;font-size:15px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.contact-info-item{display:flex;flex-direction:column;gap:12px;padding:0 0 24px;margin-bottom:25px;border-bottom:1px solid rgba(255,240,247,.28)}.info-label{color:#ffd0e1;font-size:10px;font-weight:700;letter-spacing:.16em}.contact-info-item a{width:max-content;max-width:100%;color:#fff8fb;font-family:Manrope,sans-serif;font-size:17px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.contact-info-item a:hover{color:#ffe0ea}.contact-info-item a span{font-family:Arial,sans-serif;font-size:16px;font-weight:400;color:#f2b4cb}.map-frame{height:360px;margin-top:0;overflow:hidden;filter:grayscale(.6)}.map-frame iframe{width:100%;height:100%;border:0}
.footer{background:#fff9fb;color:var(--ink)}.footer-main{min-height:165px;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand img{width:110px;height:auto}.footer-main p{margin:0;font-size:13px;line-height:1.8;color:#8d7582}.footer-top{font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0 26px;border-top:1px solid #efdee5;color:#967d89;font-size:10px}.footer-bottom a{text-decoration:underline}.back-to-top{position:fixed;z-index:30;right:24px;bottom:24px;width:43px;height:43px;border:0;background:var(--ink);color:#fff;font-size:22px;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s,transform .2s}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}:focus-visible{outline:2px solid #dd99b7;outline-offset:4px}
@media(max-width:1100px){.desktop-nav{gap:20px}.brand{min-width:200px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:245px}.service-top{margin-bottom:45px}.hero h1{font-size:clamp(52px,6vw,70px)}.hero-copy{padding-right:35px}}
@media(max-width:760px){.container{width:min(100% - 40px,600px)}.section-pad{padding-block:75px}.topbar-location{display:none}.topbar-inner{justify-content:center}.topbar-links{width:100%;justify-content:center;gap:10px;font-size:10px}.nav-wrap{height:70px}.brand{min-width:0}.brand-mark{font-size:26px}.brand-text strong{font-size:14px}.desktop-nav,.button-nav{display:none}.menu-toggle{display:flex;margin-left:auto;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #efdee5;background:none}.menu-toggle span{width:18px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;flex-direction:column;gap:0;padding:10px 20px 20px;background:var(--cream);border-top:1px solid var(--line)}.mobile-menu>a:not(.button){padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}.mobile-menu .button{margin-top:18px;justify-content:space-between;background:var(--ink);color:#fff}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:67px 20px 55px}.hero-copy-inner{width:min(100%,600px);margin:auto}.hero h1{max-width:560px;font-size:clamp(49px,10vw,70px)}.hero p{font-size:14px}.hero-signature{margin-top:56px}.hero-image-wrap{height:500px}.hero-image{object-position:center 32%}.intro-strip-inner{min-height:76px;justify-content:center;flex-wrap:wrap;gap:6px 12px;padding-block:15px;text-align:center;font-size:9px}.strip-star{font-size:12px}.why-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.section-heading h2,.about h2,.services h2,.contact h2{font-size:clamp(38px,8vw,53px)}.about-grid{gap:56px}.about-image-wrap{height:520px;max-width:100%}.about-image-tag{right:0}.services-heading{align-items:start;flex-direction:column;gap:10px;margin-bottom:30px}.services-heading p{max-width:450px}.contact-grid{gap:45px}.contact-heading{margin-bottom:40px}.footer-main{padding-block:30px;align-items:start;flex-wrap:wrap;min-height:0}.footer-main p{flex:1}.footer-top{width:max-content}.footer-bottom{flex-direction:column;gap:8px}}
@media(max-width:480px){.topbar-links a:first-child{display:none}.topbar-links{justify-content:center}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-image-wrap{height:420px}.image-caption{left:20px;bottom:20px}.intro-strip-inner{gap:7px 9px}.intro-strip-inner span:first-child{width:100%}.intro-strip-inner span:nth-child(2){display:none}.services-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-top{margin-bottom:35px}.about-image-wrap{height:420px}.contact-info-item a{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Blush palette: keep the editorial layout, soften the large color fields. */
.site-header{background:rgba(255,250,252,.97)}
.hero{background:radial-gradient(circle at 9% 18%,#fff9fb 0,#fff9fb 7%,transparent 35%),linear-gradient(135deg,#fcecf2 0%,#f6dfe9 100%)}
.hero-copy{color:var(--ink)}
.hero .eyebrow-light{color:#a55f7e}
.hero h1 em{color:#bc658b}
.hero .button-light{background:#b65e83;color:#fff;border-radius:28px}
.hero .button-light:hover{background:#9e4a70}
.hero .text-link-light{color:var(--ink)}
.hero-image-wrap{border-radius:170px 0 0 0}
.image-caption{border-radius:30px}
.button-nav,.button-dark,.mobile-menu .button{border-radius:28px}
.intro-strip{background:#fbe5ee}
.about-image-wrap{border-radius:220px 220px 12px 12px}
.about-image-wrap img{border-radius:inherit}
.about-image-tag{border-radius:28px}
.service-card{border-radius:16px}
.contact{background:linear-gradient(135deg,#f9e2eb,#f5d6e3);color:var(--ink)}
.contact .eyebrow-light{color:#a55f7e}
.contact h2{color:var(--ink)}
.contact h2 em{color:#bc658b}
.contact-heading p{color:#765667}
.contact-info-item{border-bottom-color:#dfb9c9}
.contact .info-label{color:#a35b7c}
.contact-info-item a{color:var(--ink)}
.contact-info-item a:hover,.contact-info-item a span{color:#ae5d80}
.map-frame{border-radius:14px;filter:grayscale(.25)}
.footer{background:#fff9fb}
@media(max-width:760px){.hero-image-wrap{border-radius:130px 0 0 0}}
