.pricing-section{padding:8rem 3rem;background:#0b0b0b;color:#f3eee8;scroll-margin-top:11rem}
.pricing-heading,.pricing-grid,.pricing-note{max-width:120rem;margin-left:auto;margin-right:auto}
.pricing-heading h2{font-size:clamp(3.4rem,5vw,6rem);letter-spacing:-.04em;line-height:1.1;margin:1rem 0 3rem}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.pricing-card{padding:3rem;border:1px solid #ffffff1c;border-radius:1.2rem;display:flex;flex-direction:column;gap:1.8rem;background:#111}
.pricing-card.featured{border-color:#b84036;background:linear-gradient(155deg,#211311,#111 65%)}
.pricing-card h3{font-size:2.4rem}.pricing-card .service-price{margin:0;color:#f2e8df;font-size:3rem}
.pricing-card p{color:#b8b1aa;font-size:1.5rem;line-height:1.7}.pricing-card a{margin-top:auto;align-self:flex-start}
.pricing-note{font-size:1.4rem;color:#aaa098;padding-top:2rem;line-height:1.7}
.services-pricing-link{color:inherit;text-decoration:underline;text-underline-offset:.3em;font-size:1.4rem}
.direct-widget{position:fixed;right:max(2rem,env(safe-area-inset-right));bottom:max(2rem,env(safe-area-inset-bottom));z-index:95;font-size:1.4rem}
.direct-toggle{width:5.2rem;height:5.2rem;border-radius:50%;border:1px solid #a94238;color:#fff;background:#211210;box-shadow:0 6px 24px #0008;cursor:pointer;display:grid;place-items:center;margin-left:auto}
.direct-toggle[hidden],.direct-options[hidden]{display:none}
.direct-options{background:#121010;border:1px solid #61312a;border-radius:1.2rem;padding:1.6rem;box-shadow:0 12px 35px #0009;margin-bottom:1rem;width:min(27rem,calc(100vw - 4rem));position:absolute;bottom:100%;right:0}
.direct-options strong{display:block;color:#f2e9e1;margin-bottom:.8rem}.direct-options a{display:flex;justify-content:space-between;gap:1.5rem;padding:1.2rem .5rem;color:#d8cbc0;border-top:1px solid #ffffff12;line-height:1.5}
.direct-options a:hover{color:#ff8b7e}.direct-widget :focus-visible{outline:2px solid #ff8b7e;outline-offset:4px}
/* Without JS keep contact links in normal flow rather than a fixed overlay. */
.direct-widget:not(.is-enhanced){position:static;margin:2rem}.direct-widget:not(.is-enhanced) .direct-options{position:static;width:auto;max-width:40rem}
body:has(.cookie-banner:not([hidden])) .direct-widget.is-enhanced,body:has(.cookie-dialog[open]) .direct-widget.is-enhanced{visibility:hidden;pointer-events:none}
@media(max-width:768px){.pricing-grid{grid-template-columns:1fr}.pricing-section{padding:5rem 2rem}.pricing-card{padding:2.4rem}.direct-widget{right:1.4rem;bottom:max(1.4rem,env(safe-area-inset-bottom))}.direct-toggle{width:4.8rem;height:4.8rem}}
@media(prefers-reduced-motion:no-preference){.direct-toggle{animation:contact-pulse 3s ease-out 2}@keyframes contact-pulse{0%,100%{box-shadow:0 6px 24px #0008}50%{box-shadow:0 0 0 6px #d6442e14,0 6px 24px #0008}}}
