/* Opt-in designed pages. Legacy pages without data-page-design are untouched.
   Layout/content stay in the shared renderer, so every template keeps the same
   real booking, feedback, contact and analytics behavior. */
body[data-page-design]{--page-heading:system-ui,-apple-system,"Segoe UI",sans-serif;--page-radius:10px;--page-pad:30px;--page-icon:var(--brand-ink)}
body[data-page-design] .cname,body[data-page-design] .person,
body[data-page-design] .promo-h,body[data-page-design] .card h2{font-family:var(--page-heading);letter-spacing:-.035em;line-height:1.15}
body[data-page-design] .tagline{font-size:15px;line-height:1.6}
body[data-page-design] .ptitle{font-size:14px;line-height:1.5;letter-spacing:0}
body[data-page-design] .cta{border-radius:var(--page-radius);min-height:50px;box-sizing:border-box;font-weight:650;letter-spacing:0;box-shadow:none}
body[data-page-design] .link b{font-size:15px;line-height:1.35;font-weight:650}
body[data-page-design] .link small{font-size:13px;line-height:1.45}
body[data-page-design][data-page-appearance="continuous"] .wrap{padding:32px var(--page-pad) 28px;max-width:460px;width:min(460px,calc(100% - 24px));border-radius:20px}
body[data-page-design][data-page-appearance="continuous"] .logo{margin:0 auto 18px}
body[data-page-design][data-page-appearance="continuous"] .logo.is-mark{width:64px;height:64px;border-radius:16px;background:var(--brand-weak);box-shadow:none;border:0}
body[data-page-design][data-page-appearance="continuous"] .cname{font-size:clamp(28px,5vw,36px);font-weight:650;margin:0 auto 8px;max-width:22ch}
body[data-page-design][data-page-appearance="continuous"] .tagline{margin:12px auto 22px;max-width:32ch}
body[data-page-design][data-page-appearance="continuous"] .card{padding:24px 0;background:transparent;border:0;border-bottom:1px solid var(--ring);border-radius:0;box-shadow:none;margin:0}
body[data-page-design][data-page-appearance="continuous"] #promoCard{padding:28px 0 30px;margin:0;background:transparent!important;border:0;border-bottom:1px solid var(--ring);border-radius:0;box-shadow:none!important;text-align:center}
body[data-page-design][data-page-appearance="continuous"] #promoCard h2{font-size:clamp(30px,6vw,42px);line-height:1.1;font-weight:600;margin:0 auto 16px;max-width:16ch}
body[data-page-design][data-page-appearance="continuous"] .promo-b{font-size:15px;line-height:1.6;max-width:31ch;margin:0 auto 22px;color:var(--muted)}
body[data-page-design][data-page-appearance="continuous"] #promoCta{margin-top:18px;border-radius:var(--page-radius);box-shadow:none}
body[data-page-design][data-page-appearance="continuous"] #primaryCta{margin:20px 0 24px;width:100%;text-align:center}
body[data-page-design][data-page-appearance="continuous"] #primaryCta.is-loud{background:var(--brand)!important;color:var(--on-brand);border:0;border-radius:var(--page-radius);box-shadow:none}
body[data-page-design][data-page-appearance="continuous"] #links .link:not(.is-loud){gap:16px;padding:20px 0;border-bottom:1px solid var(--ring)}
body[data-page-design][data-page-appearance="continuous"] #links .link:not(.is-loud) .ico{background:transparent;box-shadow:none;border:0;color:var(--page-icon);border-radius:0;width:30px;min-width:30px}
body[data-page-design][data-page-appearance="continuous"] #bookingCard.link-cta{border:0;background:transparent;box-shadow:none;padding:24px 0;margin:0}
body[data-page-design][data-page-appearance="continuous"] .socials{gap:8px;margin-top:20px}
body[data-page-design][data-page-appearance="continuous"] .socials a{background:transparent;border:0;box-shadow:none;width:44px;height:44px}
/* Secondary experience feedback fits into a single calm row. Its follow-up form
   uses the existing full-width renderer. Review-focused pages remain prominent. */
body[data-page-design][data-page-appearance="continuous"]:not([data-page-focus="reviews"]) #reviewCard.feedback-faces .review-prompt:not(:has(.form-actions)){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
body[data-page-design][data-page-appearance="continuous"]:not([data-page-focus="reviews"]) #reviewCard.feedback-faces .review-prompt>p:first-child{font-size:14px;line-height:1.45;margin:0;flex:1;min-width:120px;text-align:left}
body[data-page-design][data-page-appearance="continuous"]:not([data-page-focus="reviews"]) .rfaces{margin:0;gap:0;flex-shrink:0}
body[data-page-design][data-page-appearance="continuous"]:not([data-page-focus="reviews"]) .rface{min-width:44px;width:44px;min-height:44px;padding:8px;border:0;background:transparent;border-radius:50%;box-shadow:none}
body[data-page-design][data-page-appearance="continuous"]:not([data-page-focus="reviews"]) .rface svg{width:28px;height:28px;stroke-width:2}
body[data-page-design][data-page-appearance="continuous"]:not([data-page-focus="reviews"]) .rface span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body[data-page-design] .rface:hover{background:var(--brand-weak)}
body[data-page-design][data-font="serif"]{--page-heading:Georgia,"Times New Roman",serif}
body[data-page-design][data-font="rounded"]{--page-heading:"Segoe UI","Trebuchet MS",ui-rounded,system-ui,sans-serif}
body[data-page-design][data-font="mono"]{--page-heading:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
body[data-page-design][data-font="condensed"]{--page-heading:"Arial Narrow","Roboto Condensed",system-ui,sans-serif}
/* A real supplied cover photograph becomes part of the page, rather than a
   decorative background behind it. No stock image or fake business is added. */
body[data-page-design][data-page-appearance="continuous"] #stage:has(>.pcover .pcover-img)>.pcover{display:block!important;position:relative;inset:auto;width:min(460px,calc(100% - 24px));height:180px;margin:16px auto 0;border-radius:20px 20px 0 0;overflow:hidden;opacity:1;transform:none}
body[data-page-design][data-page-appearance="continuous"] #stage:has(>.pcover .pcover-img)>.wrap{margin-top:0;border-radius:0 0 20px 20px}
body[data-page-design][data-page-appearance="continuous"] .pcover-img{width:100%;height:100%;object-fit:cover}
body[data-page-design][data-page-focus="reviews"] #reviewCard .review-prompt>p:first-child{font-family:var(--page-heading);font-size:clamp(24px,5vw,32px);line-height:1.25;max-width:20ch;margin:0 auto 22px}
body[data-page-design][data-page-focus="booking"] #bookingCard{padding-top:26px}
body[data-page-design][data-page-focus="leads"] #leadCard h2{font-size:28px}
/* Warm editorial and hospitality compositions. The uploaded logo stays intact. */
body[data-page-design="neighborhood"],body[data-page-design="table"],body[data-page-design="atelier"],body[data-page-design="estate"]{--page-heading:Georgia,"Times New Roman",serif}
body[data-page-design="neighborhood"][data-page-appearance="continuous"]{--surface:#fffdf7;--surface-2:#f0efe6;--text:#23362b;--muted:#586358;--ring:#dedfd4}
/* Neighborhood: a warm, editorial business page with the existing brand kept
   intact. All refinements stay within this design and continuous layout. */
body[data-page-design="neighborhood"][data-page-appearance="continuous"] .wrap{--page-pad:32px;padding:34px var(--page-pad) 30px}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] .logo{margin:0 auto 14px}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] .logo.is-mark{width:60px;height:60px;border-radius:16px}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] .cname{font-size:clamp(29px,6vw,37px);font-weight:600;line-height:1.12;letter-spacing:-.035em;text-align:center;max-width:19ch;margin:0 auto 7px;overflow-wrap:anywhere}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] .tagline{max-width:30ch;margin:10px auto 20px;font-size:15px;line-height:1.65}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] .card{padding:22px 0}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] #promoCard{padding:25px 0 27px}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] #promoCard h2{font-weight:500;letter-spacing:-.025em}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] #links .link:not(.is-loud){gap:14px;padding:17px 0;border-color:var(--ring);text-decoration:none}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] #links .link:not(.is-loud) .ico{width:28px;min-width:28px}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] #links .link b{letter-spacing:-.01em}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] .socials{margin-top:16px}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] .socials a{min-width:44px;min-height:44px}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] .rfaces{gap:0}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] .rface{width:40px;min-width:40px;min-height:40px;padding:6px}
body[data-page-design="neighborhood"][data-page-appearance="continuous"] :is(.link,.cta,.socials a,.rface):focus-visible{outline:2px solid var(--brand);outline-offset:3px}
body[data-page-design="table"][data-page-appearance="continuous"]{--surface:#fffaf4;--surface-2:#f5ece3;--text:#322b28;--muted:#695f59;--ring:#e5d9cf;--page-radius:6px}
body[data-page-design="atelier"][data-page-appearance="continuous"]{--surface:#fffbfc;--surface-2:#f3eaf0;--text:#382d36;--muted:#6d5c68;--ring:#e5dbe2}
body[data-page-design="estate"][data-page-appearance="continuous"]{--surface:#fdfcf8;--surface-2:#eeeee6;--text:#2e3832;--muted:#5c665e;--ring:#dce0d7;--page-radius:5px}
/* Wellness is calm; performance is compact and confident, not the same skin. */
body[data-page-design="serene"]{--page-heading:Georgia,"Times New Roman",serif;--page-pad:34px;--page-radius:14px}
body[data-page-design="serene"][data-page-appearance="continuous"]{--surface:#fafbf6;--surface-2:#edf0e6;--text:#2c3b32;--muted:#59665a;--ring:#dce3d6}
body[data-page-design="serene"] .photo-frame{border-radius:48% 48% 12px 12px}
body[data-page-design="energy"]{--page-heading:"Arial Narrow","Segoe UI",sans-serif;--page-radius:6px}
body[data-page-design="energy"] .cname{font-weight:800;letter-spacing:-.045em}
body[data-page-design="workshop"]{--page-radius:6px;--page-pad:28px}
body[data-page-design="workshop"] .cname{font-weight:750;text-align:left}
body[data-page-design="workshop"] .tagline{text-align:left;margin-left:0!important}
body[data-page-design="workshop"] .logo{margin-left:0!important}
body[data-page-design="workshop"] #leadCard{text-align:left}
body[data-page-design="boutique"]{--page-radius:4px;--page-heading:Georgia,"Times New Roman",serif}
body[data-page-design="boutique"] .cname{letter-spacing:.01em}
body[data-page-design="executive"]{--page-radius:7px}
body[data-page-design="executive"] .cname{letter-spacing:-.045em}
body[data-page-design="care"]{--page-radius:12px}
body[data-page-design="care"] .cname{font-weight:600}
/* Personal links and contact cards have their own identity hierarchy. */
body[data-page-design="studio"]{--page-radius:12px}
body[data-page-design="studio"][data-page-appearance="continuous"]{--surface:#fdfbff;--surface-2:#eeebf5;--text:#302939;--muted:#665c72;--ring:#e1dbe8}
body[data-page-design="studio"] .photo-frame{width:108px;height:124px;border-radius:54px 54px 30px 30px;margin-bottom:22px}
body[data-page-design="studio"][data-page-appearance="continuous"] .person{font-size:34px;font-weight:650;line-height:1.15;letter-spacing:-.04em}
body[data-page-design="signature"]{--page-radius:7px;--page-pad:34px}
body[data-page-design="signature"][data-page-appearance="continuous"]{--surface:#f9fbfc;--surface-2:#edf2f5;--text:#243744;--muted:#586775;--ring:#d9e2e8}
body[data-page-design="signature"][data-page-appearance="continuous"] .person{font-size:clamp(34px,7vw,48px);font-weight:700;text-align:left;margin-left:0;max-width:16ch;line-height:1.06;letter-spacing:-.05em}
body[data-page-design="signature"] .logo,body[data-page-design="signature"] .photo-frame{margin-left:0!important}
body[data-page-design="signature"] .cname,body[data-page-design="signature"] .ptitle,body[data-page-design="signature"] .tagline{text-align:left;margin-left:0!important}
body[data-page-design="signature"] .actions{justify-content:flex-start}
/* Dark mode follows the same composition, retaining the business-color ground. */
:root[data-theme="dark"] body[data-page-design][data-page-appearance="continuous"],
body[data-page-design][data-page-appearance="continuous"][data-style="dark"],
body[data-page-design][data-page-appearance="continuous"][data-style="starfield"]{--surface:#222624;--surface-2:#303633;--text:#f6f6f2;--muted:#c2cbc5;--ring:#454f49;--page-icon:var(--muted)}
@media(max-width:380px){body[data-page-design][data-page-appearance="continuous"] .wrap{--page-pad:22px;padding:26px var(--page-pad) 24px;width:calc(100% - 16px);border-radius:16px}body[data-page-design][data-page-appearance="continuous"] #stage:has(>.pcover .pcover-img)>.pcover{width:calc(100% - 16px);border-radius:16px 16px 0 0;margin-top:8px}body[data-page-design][data-page-appearance="continuous"] #stage:has(>.pcover .pcover-img)>.wrap{border-radius:0 0 16px 16px}body[data-page-design] .rfaces{flex-wrap:wrap}body[data-page-design] .link{overflow-wrap:anywhere}}
@media(max-width:380px){body[data-page-design="neighborhood"][data-page-appearance="continuous"] .wrap{--page-pad:20px;padding:28px var(--page-pad) 24px}body[data-page-design="neighborhood"][data-page-appearance="continuous"] .cname{font-size:clamp(27px,8vw,32px);max-width:100%}body[data-page-design="neighborhood"][data-page-appearance="continuous"] .rface{width:38px;min-width:38px}}
@media(prefers-reduced-motion:reduce){body[data-page-design] .wrap{animation:none}}
