/* Inherits the approved warm editorial system; all new rules are scoped. */
.px-visit{padding:clamp(64px,8vw,130px) clamp(22px,5vw,88px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,7vw,110px);background:#f1ede7;color:#29251f;align-items:center}
.px-eyebrow{display:block;font-size:10px;letter-spacing:.19em;font-weight:500;text-transform:uppercase;margin-bottom:24px}
.px-visit h2,.px-consultation-card h2{font-size:clamp(32px,4.2vw,64px);line-height:1.08;letter-spacing:-.05em;font-weight:400;margin:0 0 24px}
.px-visit-intro,.px-consultation-card p{font-size:14px;line-height:1.7;max-width:420px;color:#625b51}
.px-visit address{display:grid;gap:13px;font-style:normal;font-size:14px;line-height:1.7;margin:28px 0}.px-visit address strong{font-weight:500}.px-visit address a{width:fit-content;text-decoration:underline;text-underline-offset:5px}
.px-action{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid #554d43;border-radius:99px;padding:15px 23px;text-decoration:none;font:inherit;font-size:13px;min-height:48px;color:#29251f;background:transparent}.px-action:hover{background:#e4ddd3}.px-action:focus-visible,.px-map button:focus-visible,.px-text-link:focus-visible{outline:2px solid #443729;outline-offset:5px}
.px-map{background:#e5ded3;min-width:0;border:1px solid #d2c8ba;position:relative;min-height:430px}.px-map-placeholder{min-height:430px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px;background:radial-gradient(ellipse at center,#f6f1e8 0%,#e8e1d5 76%)}.px-map-placeholder svg{width:62px;height:62px;fill:none;stroke:#96816a;stroke-width:1.2;margin-bottom:20px}.px-map-placeholder h3{font-size:30px;letter-spacing:-.04em;font-weight:400;margin:0 0 16px}.px-map-placeholder p{font-size:13px;line-height:1.65;max-width:280px;margin:0 0 20px}.px-map button{font:inherit;cursor:pointer;border:1px solid #6b5f50;padding:12px 20px;min-height:44px;border-radius:40px;background:transparent;color:#29251f;font-size:13px}.px-map-placeholder small{font-size:10px;line-height:1.5;max-width:260px;margin-top:17px;color:#625b51}.px-map-canvas{height:430px}.px-map iframe{width:100%;height:100%;border:0;display:block}.px-map-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;gap:12px;font-size:11px}.px-map [hidden]{display:none!important}
.px-consultation-card{grid-column:span 2;background:#eee8df;min-height:420px;padding:clamp(28px,4vw,60px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.px-consultation-card h2{font-size:clamp(30px,3.5vw,48px)}.px-consultation-card[hidden]{display:none!important}.px-text-link{font-size:12px;text-underline-offset:6px;margin-top:22px}.px-footer-contact{display:flex;flex-wrap:wrap;gap:16px 30px;flex:1 1 100%;font-size:11px;letter-spacing:normal;text-transform:none}.site-footer:has(.px-footer-contact){flex-wrap:wrap;gap:24px}
/* Readable before intersection, with shorter non-blocking arrival. */
.motion-reveal{opacity:1;translate:0 5px;transition-duration:.28s;transition-delay:0ms!important}.motion-reveal.is-revealed{translate:0 0}
@media(max-width:1000px){.px-consultation-card{grid-column:span 1}}
@media(max-width:760px){.px-visit{grid-template-columns:1fr;gap:32px}.px-map,.px-map-placeholder{min-height:350px}.px-map-canvas{height:350px}.px-visit h2{font-size:42px}.px-footer-contact{flex-direction:column;gap:14px}.px-consultation-card{min-height:350px}}
@media(prefers-reduced-motion:reduce){.motion-reveal{translate:none;transition:none}.px-action{transition:none}}
@media print{.px-map{display:none}.px-visit{display:block}}

.px-quote-mark{font-family:Georgia,serif;font-size:64px;line-height:.8;opacity:.55;display:block;margin-bottom:22px}.px-testimonial-source{display:block;font-size:11px;line-height:1.6;text-underline-offset:5px;margin-top:14px}.review-card__foot{flex-wrap:wrap;gap:12px}.review-author{text-transform:none}

/* Testimonials keep their complete text and attribution at every width. */
#reviews .reviews-track{align-items:stretch}#reviews .review-card{height:auto;min-height:340px}#reviews .review-card blockquote{overflow-wrap:anywhere}@media(max-width:760px){#reviews .review-card{min-height:370px}}

/* PURLUX arrival: real clinic photography, editorial typography, a deliberate map reveal. */
.px-visit{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,110px);background:#eae5dd;padding:clamp(72px,9vw,140px) max(5vw,24px);align-items:center;overflow:hidden}
.px-visit-copy{max-width:460px}.px-visit .px-eyebrow{font-size:10px;letter-spacing:.22em}.px-visit h2{font-family:inherit;font-weight:400;font-size:clamp(50px,5.5vw,84px);letter-spacing:-.055em;line-height:1.01;margin:32px 0}.px-visit h2 em{font-family:Georgia,serif;font-weight:400}.px-visit-intro{max-width:320px;font-size:15px;line-height:1.8;color:#625b53}.px-arrival-rule{width:44px;height:1px;background:#8e7e6b;margin:34px 0}.px-visit address{font-style:normal;display:grid;gap:10px;font-size:14px;line-height:1.65}.px-visit address strong{font-size:9px;letter-spacing:.2em;margin-bottom:4px}.px-visit address a{text-decoration:none;width:fit-content;border-bottom:1px solid transparent}.px-visit address a:hover{border-color:currentColor}.px-visit .px-action{margin-top:30px;background:#282820;color:#fff;border:none;border-radius:0;min-height:52px;display:inline-flex;gap:32px;padding:16px 22px;font-size:12px}.px-visit .px-action span{font-size:20px}.px-map{border:0;border-radius:0;min-height:610px;position:relative;box-shadow:none;background:#252820;overflow:hidden}.px-map-placeholder{padding:0;position:relative;min-height:610px;display:block;background:#252820;color:white}.px-arrival-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:41% center;filter:brightness(.83);transition:transform 1.5s cubic-bezier(.2,.65,.3,1)}.px-map:hover .px-arrival-photo{transform:scale(1.025)}.px-map-placeholder:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),transparent 38%,rgba(0,0,0,.55));pointer-events:none}.px-arrival-caption{position:absolute;z-index:1;left:30px;top:30px;display:grid;gap:18px}.px-arrival-word{font-size:clamp(32px,4vw,58px);font-weight:300;letter-spacing:.18em}.px-map-invitation{position:absolute;z-index:1;bottom:24px;left:24px;right:24px;background:#f4f0e8;padding:25px;color:#282820;display:grid;grid-template-columns:1fr auto;gap:12px 16px;text-align:left}.px-map-invitation h3{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:9px 0 0}.px-map .px-map-load{align-self:center;background:transparent;border:0;border-bottom:1px solid #a39988;border-radius:0;color:#282820;padding:12px 0;font-size:12px;min-height:44px;cursor:pointer;display:flex;gap:15px}.px-map-load span{font-size:20px}.px-map-invitation small{grid-column:1/-1;font-size:10px;color:#6e675d;line-height:1.5;margin:0}.px-map-canvas{position:absolute;inset:0 0 62px}.px-map-canvas iframe{width:100%;height:100%;border:0}.px-map-bar{position:absolute;bottom:0;left:0;right:0;height:62px;background:#282820;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;font-size:10px;letter-spacing:.08em}.px-map-bar button{border:0;background:transparent;color:#fff;min-height:44px;cursor:pointer}.px-map [hidden]{display:none!important}.px-map button:focus-visible,.px-visit a:focus-visible{outline:2px solid #ad8c5c;outline-offset:5px}
@media(max-width:800px){.px-visit{grid-template-columns:1fr;gap:42px;padding:64px 24px}.px-visit-copy{max-width:none}.px-visit h2{font-size:60px;margin:25px 0}.px-map,.px-map-placeholder{min-height:520px}.px-map-invitation{left:16px;right:16px;bottom:16px;padding:20px}.px-arrival-caption{left:24px;top:24px}}
@media(max-width:380px){.px-map-invitation{grid-template-columns:1fr}.px-map-invitation .px-map-load{justify-self:start}.px-visit h2{font-size:50px}}
@media(prefers-reduced-motion:reduce){.px-arrival-photo{transition:none}.px-map:hover .px-arrival-photo{transform:none}}

.px-arrival-photo{object-position:0% center}.px-arrival-caption{top:28px;left:28px}.px-arrival-caption .px-eyebrow{background:#252820a8;padding:8px 10px;width:fit-content}.px-arrival-word{text-shadow:0 2px 18px #0008}
