/* Cream, plum, rose, teal and antique gold inspired by the supplied references. */
:root{--cream:#fff2e1;--paper:#fff8ef;--plum:#51316f;--rose:#c63170;--teal:#267f80;--gold:#aa7836;--ink:#4a3953}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.6}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.topbar{background:linear-gradient(100deg,#62427f,#c66b94);color:white;display:flex;justify-content:space-between;gap:20px;padding:9px 4%;font-style:italic;font-size:14px}.topbar a{text-decoration:none}.site-header{max-width:1500px;margin:auto;padding:24px 4%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:33px;font-style:italic;line-height:1;text-decoration:none;color:var(--plum)}.brand small{display:block;font-size:13px;color:var(--teal);margin-top:8px}nav{display:flex;gap:25px;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px;text-transform:uppercase;letter-spacing:.5px;font-weight:bold;color:var(--plum)}nav a[aria-current],nav a:hover{color:var(--rose);text-decoration:underline;text-underline-offset:8px}.menu-toggle{display:none;background:var(--plum);color:white;border:0;border-radius:6px;padding:12px;font:inherit}.hero{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:40px 5% 55px;position:relative;background:radial-gradient(ellipse at 94% 80%,#ead4e9aa,transparent 50%),radial-gradient(ellipse at 2% 7%,#f5cddd80,transparent 40%)}.hero-copy{position:relative;z-index:1}.eyebrow{color:var(--teal);text-transform:uppercase;letter-spacing:2px;font:600 12px/1.5 Arial,sans-serif}.hero h1{margin:20px 0 0;line-height:1.1}.hero-wordmark{display:block;font-style:italic;font-weight:normal;font-size:clamp(56px,7vw,110px);color:var(--plum);letter-spacing:-5px;white-space:nowrap}.hero-wordmark sup{font-size:16px;letter-spacing:0;vertical-align:top;display:inline-block;margin:8px 0 0 8px}.hero-subtitle{font-weight:normal;font-style:italic;font-size:clamp(22px,2.8vw,36px);display:block;color:var(--teal);margin:8px 0 0}.thread-divider{display:flex;align-items:center;gap:15px;max-width:280px;color:var(--rose);margin:20px 0}.thread-divider:before,.thread-divider:after{content:'';height:1px;background:var(--gold);flex:1}.hero h2{font-size:clamp(32px,3.6vw,52px);margin:0;line-height:1.12;color:var(--plum);font-weight:normal}.hero-description{font-size:19px;max-width:440px}.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:25px}.hero-illustration{min-width:0}.hero-illustration img{display:block;width:112%;max-width:none;height:auto;margin-left:-7%}.button{display:inline-block;background:var(--plum);color:white;padding:13px 22px;border-radius:5px;text-decoration:none;font-size:16px;border:1px solid var(--plum)}.button:hover{background:var(--rose);border-color:var(--rose)}.text-link{color:var(--teal);text-underline-offset:5px;font-weight:bold;font-size:16px}.intro-strip{display:flex;justify-content:center;gap:50px;flex-wrap:wrap;text-align:center;padding:18px 20px;color:var(--plum);border-top:1px solid #dabdd2;border-bottom:1px solid #dabdd2;background:#fff8efaa;font-style:italic;font-size:18px}.intro-strip span+span:before{content:'✦';margin-right:50px;color:var(--gold);font-size:12px}.content{max-width:1250px;padding:64px 30px;margin:auto}h1,h2,h3{line-height:1.2;color:var(--plum)}h1{font-size:clamp(36px,5vw,60px)}h2{font-size:clamp(28px,3vw,40px);font-weight:normal;margin:15px 0}h3{font-size:25px;margin:18px 0 15px;font-weight:normal}p{font-size:18px}.section-title{text-align:center;margin-bottom:35px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.service-card{position:relative;background:var(--paper);border:1px solid #dfbbcf;border-top:3px solid var(--accent);border-radius:8px;padding:26px 22px;display:flex;flex-direction:column;box-shadow:0 8px 25px #51316f08}.service-card.rose{--accent:var(--rose)}.service-card.gold{--accent:var(--gold)}.service-card.teal{--accent:var(--teal)}.service-card.plum{--accent:var(--plum)}.service-number{color:var(--accent);font-style:italic;font-size:22px}.cards p{font-size:16px;margin:0 0 25px}.cards a{font-size:15px;color:var(--teal);font-weight:bold;text-underline-offset:4px;margin-top:auto}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid #dabdd2;align-items:center}.page-heading{text-align:center;background:radial-gradient(ellipse at 0% 20%,#ecd6ed,transparent 65%),radial-gradient(ellipse at 100% 90%,#f4d1d9,transparent 65%);padding:35px 20px}.page-heading h1{margin:20px 0}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px}.split>img{width:100%;height:auto}.narrow{max-width:850px;min-height:340px}.contact-note{font-size:16px;color:var(--teal)}.empty-state{margin:30px 0;border:1px dashed #bc98b2;border-radius:10px;padding:40px;text-align:center;background:#fff8ef}.empty-state>span{font-size:30px;color:var(--gold)}.ribbon{text-align:center;color:white;background:linear-gradient(100deg,#62427f,#8d5098,#be5b89);padding:25px;border-top:2px dashed #e5c4df;border-bottom:2px dashed #e5c4df}.ribbon p{font-size:clamp(23px,3vw,35px);font-style:italic;margin:0}.ribbon a{font-size:25px;text-decoration:none}footer{padding:28px 4%;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{display:block;padding:12px;background:white}
@media(max-width:1050px){nav{gap:18px}nav a{font-size:12px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-strip{gap:22px}.intro-strip span+span:before{margin-right:22px}.hero{padding:25px 4% 40px}.hero-illustration img{width:100%;margin-left:0}.hero-wordmark{letter-spacing:-3px}}
@media(max-width:800px){.site-header{flex-wrap:wrap}.menu-toggle{display:block}nav{width:100%;display:flex;flex-direction:column;gap:0}body.js nav{display:none}body.js nav.open{display:flex}nav a{padding:12px;border-bottom:1px solid #dcc5d7;font-size:14px}.hero{grid-template-columns:1fr;text-align:center;padding:35px 24px 20px}.hero-copy{max-width:600px;margin:auto}.hero-wordmark{font-size:clamp(59px,12vw,90px)}.hero-subtitle{font-size:clamp(24px,5vw,34px)}.thread-divider{margin:20px auto}.hero-description{margin:20px auto}.hero-actions{justify-content:center}.hero-illustration{max-width:450px;width:100%;margin:20px auto 0}.hero h2{font-size:40px}.intro-strip{gap:8px;flex-direction:column}.intro-strip span+span:before{content:none}.split,.welcome{grid-template-columns:1fr;gap:25px}.split>img{max-width:420px;margin:auto}.content{padding:45px 24px}}
@media(max-width:480px){.cards{grid-template-columns:1fr}.topbar{font-size:12px;gap:12px;padding:9px 16px}.topbar span{max-width:48%}.topbar a{max-width:48%;text-align:right}.site-header{padding:20px}.hero{padding-left:18px;padding-right:18px}.hero-wordmark sup{margin-left:4px;font-size:12px}.hero h2{font-size:35px}.hero-description{font-size:17px}.hero-actions{flex-direction:column;gap:16px}.button{width:100%;text-align:center}.hero-actions .button{width:auto}.content{padding:35px 18px}.desktop-break{display:none}footer{flex-direction:column}.ribbon{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:360px){.hero-wordmark{font-size:50px;letter-spacing:-2px}.hero-subtitle{font-size:22px}.hero h2{font-size:31px}.topbar{font-size:11px}.brand{font-size:29px}}


.construction-notice {
    padding: 24px;
    text-align: center;
}

.construction-image {
    display: block;
    width: 100%;
    max-width: 500px;
    height: auto;
    margin: 0 auto;
    animation: construction-pulse 5s ease-in-out infinite;
}

@keyframes construction-pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.035);
        opacity: 0.85;
    }
}

/* Respect visitors who prefer reduced motion. */
@media (prefers-reduced-motion: reduce) {
    .construction-image {
        animation: none;
    }
}



.nav-contact {
    position: relative;
    padding-right: 208px;
}

.nav-construction-image {
    position: absolute;
    left: calc(100% - 192px);
    top: 50%;
    width: 192px;
    height: 192px;
    object-fit: contain;
    z-index: 10;
    pointer-events: none;
    animation: nav-image-pulse 5s ease-in-out infinite;
}

@keyframes nav-image-pulse {
    0%, 100% {
        transform: translateY(-50%) scale(1);
        opacity: 1;
    }
    50% {
        transform: translateY(-50%) scale(1.035);
        opacity: 0.85;
    }
}


.nav-construction-image {
    right: auto;
    top: 50%;
}


