/* Public-page variants are opt-in. No selector changes the legacy/default page
   or the shared carousel's geometry, shadows, gestures or looping. */
#screen-public[data-page-template]:not([data-page-template="default"]) { padding:0 16px 100px; background:var(--pt-background,#f8f8f6); }
.pt-layout { max-width:1160px; margin-inline:auto; display:flex; flex-direction:column; gap:24px; }
.pt-layout>* { min-width:0; }
.pt-layout .pub-hero { width:auto; margin-inline:-16px; height:300px; border-radius:0 0 24px 24px; }
.pt-layout .pub-identity { margin:0; padding:24px 0; border:0; box-shadow:none; background:transparent; }
.pt-layout .pub-biz-name { overflow-wrap:anywhere; font-size:clamp(28px,7vw,48px); line-height:1.25; }
.pt-layout .pub-desc { margin:0; max-width:680px; font-size:15px; line-height:1.9; }
.pt-intro-label { display:block; font-size:11px; letter-spacing:.04em; margin-bottom:12px; }
.pt-hero-cta { margin-top:20px; min-height:48px; }
.pt-layout .pub-section { margin:0; padding:24px 20px; min-width:0; }
.pt-layout .pub-identity-text { min-width:0; }
.pt-layout #pub-reviews-section:empty { display:none; }
.pt-layout .pt-reservation { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.pt-layout .services-scroll { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
.pt-layout .service-card { display:grid; grid-template-columns:1fr auto; gap:8px 16px; text-align:start; }
.pt-layout .service-name { overflow-wrap:anywhere; }
.pt-layout .service-price { grid-column:2; grid-row:1/3; align-self:center; }
.pt-layout .service-duration { grid-column:1; }
.pt-layout .bp-gallery { margin:0; min-width:0; }
.pt-layout .pub-section-title { line-height:1.4; }
.pt-layout .pub-biz-meta { flex-wrap:wrap; }
.pt-layout .date-slider { max-width:100%; }
.pt-layout .pub-form-card { max-width:100%; }

/* Minimal: open surfaces, quiet horizontal service rows, generous rhythm. */
#screen-public[data-page-template="minimal"] { --pt-background:#fff; --primary:#42665b; --primary-h:#2f5046; --primary-lt:#edf4ef; }
[data-page-template="minimal"] .pt-layout { gap:40px; max-width:1040px; }
[data-page-template="minimal"] .pub-identity { align-items:center; }
[data-page-template="minimal"] .pub-hero { height:330px; border-radius:0; }
[data-page-template="minimal"] .pub-section { padding:24px 0; border:0; box-shadow:none; background:transparent; }
[data-page-template="minimal"] .service-card { border:0; border-bottom:1px solid #e2e8e3; border-radius:0; background:transparent; box-shadow:none; padding:20px 4px; }
[data-page-template="minimal"] .service-card.active { background:var(--primary-lt); border-radius:12px; }
[data-page-template="minimal"] .bp-eyebrow { color:#42665b; }

/* Bold: a high-contrast hero panel and strong, numbered service tiles. */
#screen-public[data-page-template="bold"] { --pt-background:#151d2b; --primary:#bfdc65; --primary-h:#d2ed86; --primary-lt:#eef5d9; }
[data-page-template="bold"] .pt-intro { margin-inline:-16px; background:#202c41; padding-bottom:24px; color:#fff; }
[data-page-template="bold"] .pub-hero { margin:0; border-radius:0; height:340px; }
[data-page-template="bold"] .pub-identity { padding:24px; }
[data-page-template="bold"] .pub-biz-name { color:#fff; font-weight:900; font-size:clamp(36px,9vw,64px); }
[data-page-template="bold"] .pub-desc { margin-inline:24px; color:#e1e7f1; }
[data-page-template="bold"] .pub-biz-meta,[data-page-template="bold"] .pt-intro-label { color:#d3e6ad; }
[data-page-template="bold"] .btn-primary { background:#bfdc65; color:#17220d; }
[data-page-template="bold"] .bp-gallery-header { color:#fff; }
[data-page-template="bold"] #pub-booking-start { border-radius:8px; border-top:5px solid #bfdc65; }
[data-page-template="bold"] .service-card { border-radius:8px; padding:22px 16px; background:#f2f4f8; }
[data-page-template="bold"] .service-card.active { background:#e9f5c6; border-color:#526824; }
[data-page-template="bold"] .service-price { color:#253915; font-weight:900; }
[data-page-template="bold"] .bp-eyebrow { color:#43592a; }

/* Elegant: editorial spread, serif headlines and a fine service-list rule. */
#screen-public[data-page-template="elegant"] { --pt-background:#f6f1e9; --primary:#746044; --primary-h:#57452f; --primary-lt:#ece4d6; }
[data-page-template="elegant"] .pt-layout { gap:36px; }
[data-page-template="elegant"] .pub-hero { height:390px; border-radius:0 0 120px 0; }
[data-page-template="elegant"] .pub-identity { flex-direction:column; text-align:center; align-items:center; }
[data-page-template="elegant"] .pub-biz-meta { justify-content:center; }
[data-page-template="elegant"] .pub-biz-name,[data-page-template="elegant"] .pub-section-title { font-family:Georgia,'Times New Roman',serif; font-weight:500; }
[data-page-template="elegant"] .pub-biz-name { font-size:clamp(38px,10vw,62px); }
[data-page-template="elegant"] .pub-desc { text-align:center; margin-inline:auto; }
[data-page-template="elegant"] .pub-section { border:0; border-radius:0; box-shadow:none; background:#fffaf3; }
[data-page-template="elegant"] .services-scroll { counter-reset:service; }
[data-page-template="elegant"] .service-card { counter-increment:service; grid-template-columns:30px 1fr auto; border:0; border-bottom:1px solid #dbd0be; border-radius:0; box-shadow:none; background:transparent; }
[data-page-template="elegant"] .service-card::before { content:counter(service,decimal-leading-zero); color:#79694f; font-size:12px; grid-row:1/3; align-self:center; }
[data-page-template="elegant"] .service-name,[data-page-template="elegant"] .service-duration { grid-column:2; }
[data-page-template="elegant"] .service-price { grid-column:3; font-size:19px; }
[data-page-template="elegant"] .service-card.active { background:#eee4d6; }

/* Modern Cards: compact identity and a responsive bento of shared sections. */
#screen-public[data-page-template="cards"] { --pt-background:#edf1f8; --primary:#375cc6; --primary-h:#2749a8; --primary-lt:#e7edff; }
[data-page-template="cards"] .pt-layout { gap:16px; padding-top:16px; }
[data-page-template="cards"] .pt-intro { background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 10px 30px #2539590a; }
[data-page-template="cards"] .pub-hero { height:180px; margin:0; border-radius:0; }
[data-page-template="cards"] .pub-identity { padding:20px; }
[data-page-template="cards"] .pub-biz-name { font-size:28px; }
[data-page-template="cards"] .pub-desc { margin:0 20px 24px; font-size:14px; }
[data-page-template="cards"] .pub-section,[data-page-template="cards"] .bp-gallery { border:0; border-radius:24px; background:#fff; box-shadow:0 10px 30px #2539590a; padding:20px; }
[data-page-template="cards"] .pt-intro-label { display:none; }
[data-page-template="cards"] .service-card { border-radius:16px; background:#f5f7fc; }
[data-page-template="cards"] .service-card.active { background:#e7edff; border-color:#375cc6; }

/* Immersive: edge-to-edge photography, caption overlay, then a gallery bridge. */
#screen-public[data-page-template="immersive"] { --pt-background:#f3f4f0; --primary:#274f47; --primary-h:#153b33; --primary-lt:#e2eee7; }
[data-page-template="immersive"] .pt-layout { gap:32px; }
[data-page-template="immersive"] .pt-intro { display:grid; grid-template-columns:1fr; margin-inline:-16px; }
[data-page-template="immersive"] .pub-hero { grid-row:1; grid-column:1; height:clamp(500px,78svh,780px); margin:0; border-radius:0; }
[data-page-template="immersive"] .pub-hero-overlay { background:linear-gradient(0deg,#071d21ed,transparent 75%); }
[data-page-template="immersive"] .pub-identity { grid-row:1; grid-column:1; align-self:end; z-index:1; padding:32px 24px 60px; color:#fff; align-items:flex-end; }
[data-page-template="immersive"] .pub-biz-name { color:#fff; font-size:clamp(34px,9vw,70px); }
[data-page-template="immersive"] .pub-biz-meta { color:#e0ede6; }
[data-page-template="immersive"] .pt-intro-label { color:#c9e3d2; }
[data-page-template="immersive"] .pub-desc { padding:24px; }
[data-page-template="immersive"] .pt-hero-cta { background:#fff; color:#173c32; }
[data-page-template="immersive"] .bp-gallery { position:relative; margin-top:-16px; }
[data-page-template="immersive"] .pub-section { padding:28px 20px; border:0; box-shadow:none; }
[data-page-template="immersive"] #pub-booking-start { background:#e1e9e1; border-radius:28px; }

/* The studio uses real business imagery, with diagrammatic layout thumbnails. */
.pt-studio-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.pt-studio-heading h2 { font-size:26px; margin:8px 0; }
.pt-studio-heading p,.pt-default p { color:var(--text2); font-size:14px; line-height:1.7; }
.pt-pro-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; background:var(--primary-lt); color:var(--primary); border-radius:30px; font-size:12px; }
.pt-default { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px; margin-bottom:22px; background:var(--bg); border-radius:16px; }
.pt-template-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:18px; }
.pt-template-card { min-width:0; border:1px solid var(--border); border-radius:20px; overflow:hidden; background:var(--white); }
.pt-template-card.is-selected { border:2px solid var(--primary); box-shadow:0 0 0 3px var(--primary-lt); }
.pt-template-copy { padding:18px; }
.pt-template-en { display:block; color:var(--text2); font-size:11px; letter-spacing:.07em; text-align:start; }
.pt-template-copy h3 { margin:4px 0 8px; font-size:20px; }
.pt-template-copy p { min-height:48px; color:var(--text2); font-size:13px; line-height:1.7; }
.pt-selection { display:block; min-height:32px; margin:12px 0; font-size:12px; color:var(--primary); }
.pt-template-actions { display:flex; gap:8px; flex-wrap:wrap; }
.pt-template-actions button { flex:1 1 auto; min-height:44px; font-size:12px; padding-inline:10px; }
.pt-save-status { font-size:13px; color:var(--text2); margin-top:18px; }
.pt-thumb { position:relative; display:grid; gap:8px; height:200px; background:#f3f2ed; padding:12px; overflow:hidden; pointer-events:none; }
.pt-thumb-photo { overflow:hidden; min-height:0; border-radius:4px; background:#d7dbd4; display:grid; place-items:center; }
.pt-thumb-photo img { width:100%; height:100%; object-fit:cover; }
.pt-thumb-title { font-size:11px; font-weight:700; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.pt-thumb-lines { display:flex; gap:6px; }
.pt-thumb-lines i { height:14px; border:1px solid #b6bcb4; flex:1; border-radius:3px; }
.pt-thumb-cta { display:block; background:#42665b; height:10px; width:48px; border-radius:8px; }
.pt-thumb-minimal { grid-template-rows:100px auto 18px 10px; padding-inline:24px; background:#fff; }
.pt-thumb-bold { background:#151d2b; color:#fff; grid-template-columns:1fr 1fr; grid-template-rows:1fr 24px 14px; }
.pt-thumb-bold .pt-thumb-photo { grid-column:2; grid-row:1/4; }
.pt-thumb-bold .pt-thumb-title { align-self:center; font-size:16px; white-space:normal; }
.pt-thumb-bold .pt-thumb-cta { background:#bfdc65; }
.pt-thumb-elegant { background:#f6f1e9; grid-template-columns:1fr 1fr; grid-template-rows:1fr 16px; }
.pt-thumb-elegant .pt-thumb-photo { grid-row:1/3; border-radius:60px 0 0 0; }
.pt-thumb-elegant .pt-thumb-title { white-space:normal; font-family:serif; align-self:center; font-size:17px; }
.pt-thumb-elegant .pt-thumb-lines { flex-direction:column; position:absolute; bottom:30px; left:20px; width:30%; }
.pt-thumb-elegant .pt-thumb-lines i { flex:none; height:3px; border:0; background:#b3a78e; }
.pt-thumb-elegant .pt-thumb-cta { background:#746044; }
.pt-thumb-cards { background:#edf1f8; grid-template-columns:1fr 1fr; grid-template-rows:70px 30px 1fr; }
.pt-thumb-cards .pt-thumb-photo { grid-column:1/3; border-radius:12px; }
.pt-thumb-cards .pt-thumb-title { grid-column:1/3; padding:8px; background:#fff; border-radius:8px; }
.pt-thumb-cards .pt-thumb-lines i { height:45px; background:#fff; border:0; border-radius:8px; }
.pt-thumb-cards .pt-thumb-cta { background:#375cc6; align-self:center; justify-self:center; }
.pt-thumb-immersive { padding:0; background:#274f47; }
.pt-thumb-immersive .pt-thumb-photo { position:absolute; inset:0; border-radius:0; }
.pt-thumb-immersive::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#122c2d,transparent); }
.pt-thumb-immersive .pt-thumb-title { position:absolute; bottom:40px; inset-inline:16px; color:#fff; z-index:1; font-size:17px; }
.pt-thumb-immersive .pt-thumb-cta { position:absolute; bottom:20px; inset-inline-start:16px; background:#fff; z-index:1; }
.pt-thumb-immersive .pt-thumb-lines { display:none; }
.pt-upgrade-context { padding:18px; margin-bottom:20px; border-radius:16px; background:var(--primary-lt); }
.pt-upgrade-context p { font-size:14px; margin:8px 0 16px; }

/* A genuine viewport inside an iframe, not a squeezed desktop DOM. */
.pt-preview-dialog { width:min(1380px,98vw); height:94dvh; max-height:94dvh; max-width:98vw; margin:auto; padding:0; border:1px solid var(--border); border-radius:22px; background:var(--white); color:var(--text); overflow:hidden; }
.pt-preview-dialog[open] { display:flex; flex-direction:column; }
.pt-preview-dialog::backdrop { background:#141c30b3; backdrop-filter:blur(4px); }
.pt-preview-toolbar,.pt-preview-options,.pt-preview-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 20px; flex-shrink:0; }
.pt-preview-toolbar p,.pt-preview-footer p { color:var(--text2); font-size:12px; margin-top:4px; }
.pt-preview-options { border-block:1px solid var(--border); flex-wrap:wrap; }
.pt-preview-options label { display:flex; align-items:center; gap:10px; font-size:13px; }
.pt-preview-options [role="group"] { display:flex; gap:6px; }
.pt-preview-options button[aria-pressed="true"] { background:var(--primary-lt); border-color:var(--primary); }
.pt-preview-stage { position:relative; flex:1; min-height:100px; overflow:hidden; display:flex; justify-content:center; padding:6px 8px; background:#e9ebef; }
.pt-preview-canvas { flex-shrink:0; transform-origin:top center; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 6px 25px #17203820; }
.pt-preview-canvas iframe { width:100%; height:100%; border:0; display:block; }
.pt-preview-footer { padding-bottom:max(14px,env(safe-area-inset-bottom)); }
.pt-preview-footer .btn-primary { min-width:130px; min-height:46px; }

@media(min-width:768px) {
  #screen-public[data-page-template]:not([data-page-template="default"]) { padding-inline:32px; }
  .pt-layout .pub-hero { margin-inline:0; height:450px; border-radius:0 0 28px 28px; }
  .pt-layout .services-scroll { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pt-layout .pub-section { padding:32px; }
  [data-page-template="minimal"] .pub-section { padding-inline:0; }
  [data-page-template="minimal"] .pub-identity { padding-block:36px; }
  [data-page-template="bold"] .pt-intro { display:grid; grid-template-columns:1fr 1.15fr; margin-inline:0; padding:0; border-radius:0 0 24px 24px; overflow:hidden; }
  [data-page-template="bold"] .pub-hero { grid-column:2; grid-row:1/3; height:560px; border-radius:0; }
  [data-page-template="bold"] .pub-identity { grid-column:1; grid-row:1; padding:40px; align-self:end; flex-direction:column; align-items:flex-start; }
  [data-page-template="bold"] .pub-desc { grid-column:1; padding:0 40px 40px; margin:0; }
  [data-page-template="elegant"] .pt-intro { display:grid; grid-template-columns:1.15fr 1fr; gap:28px; padding-top:32px; }
  [data-page-template="elegant"] .pub-hero { grid-row:1/3; height:560px; border-radius:180px 0 0 0; }
  [data-page-template="elegant"] .pub-identity { justify-content:flex-end; padding-top:40px; }
  [data-page-template="elegant"] .pub-desc { grid-column:2; padding:0 24px 32px; }
  [data-page-template="elegant"] .services-scroll { grid-template-columns:1fr; }
  [data-page-template="cards"] .pt-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:start; }
  [data-page-template="cards"] .pt-intro { grid-column:1/-1; display:grid; grid-template-columns:1fr 1.3fr; }
  [data-page-template="cards"] .pub-hero { grid-column:2; grid-row:1/3; height:100%; min-height:260px; border-radius:0; }
  [data-page-template="cards"] .pub-identity { grid-column:1; }
  [data-page-template="cards"] .pub-desc { grid-column:1; }
  [data-page-template="cards"] .services-scroll { grid-template-columns:1fr; }
  [data-page-template="cards"] .bp-gallery { grid-column:1/-1; }
  [data-page-template="immersive"] .pt-intro { margin-inline:-32px; }
  [data-page-template="immersive"] .pub-hero { height:78svh; min-height:580px; border-radius:0; }
  [data-page-template="immersive"] .pub-identity { padding:64px max(48px,calc((100vw - 1040px)/2)) 70px; }
  [data-page-template="immersive"] .pub-desc { max-width:760px; padding:36px; margin-inline:auto; }
}
@media(max-width:430px) {
  .pt-template-grid { grid-template-columns:minmax(0,1fr); }
  .pt-default { flex-direction:column; align-items:stretch; }
  .pt-preview-dialog { max-width:100vw; width:100vw; height:100dvh; max-height:100dvh; border-radius:0; }
  .pt-preview-toolbar,.pt-preview-options,.pt-preview-footer { padding:10px 12px; }
  .pt-preview-toolbar { padding-top:max(10px,env(safe-area-inset-top)); }
  .pt-preview-options label { flex:1 1 100%; }
  .pt-preview-options .select { flex:1; min-width:0; }
  .pt-preview-footer p { max-width:150px; }
  .pt-preview-footer { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) { .pt-layout *,.pt-preview-dialog * { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }

/* Typography and content resilience: public pages are fed by owner-authored Hebrew,
   so no component is allowed to rely on a one-line label or a fixed text height. */
.pt-layout,
.pt-layout * { box-sizing:border-box; }
.pt-layout .pub-identity,
.pt-layout .pub-identity-text,
.pt-layout .pub-desc,
.pt-layout .pub-section,
.pt-layout .service-card,
.pt-layout .review-card,
.pt-layout .pub-location-card { min-width:0; }
.pt-layout .pub-biz-name,
.pt-layout .pub-desc,
.pt-layout .pub-section-title,
.pt-layout .service-name,
.pt-layout .service-description,
.pt-layout .review-text,
.pt-layout .review-name,
.pt-layout .pub-location,
.pt-layout button,
.pt-layout a { overflow-wrap:anywhere; word-break:normal; }
.pt-layout .pub-biz-name { max-width:18ch; text-wrap:balance; letter-spacing:-.025em; }
.pt-layout .pub-desc { max-width:min(68ch,100%); text-wrap:pretty; }
.pt-layout .pub-section-title { max-width:24ch; text-wrap:balance; }
.pt-layout .service-name { line-height:1.45; }
.pt-layout .service-description,
.pt-layout .review-text { line-height:1.75; }
.pt-layout .service-price { white-space:nowrap; direction:ltr; unicode-bidi:isolate; }
.pt-layout .service-duration { white-space:normal; }
.pt-layout .pub-biz-meta { row-gap:8px; line-height:1.5; }
.pt-layout .pub-biz-meta > * { min-width:0; }
.pt-layout .pt-hero-cta { max-width:100%; white-space:normal; line-height:1.25; }
.pt-layout .pub-section-title + * { min-width:0; }

/* Minimal is intentionally airy: a typographic masthead and quiet editorial rules. */
[data-page-template="minimal"] .pt-intro { padding-block:12px 8px; }
[data-page-template="minimal"] .pub-identity { padding-inline:clamp(4px,4vw,44px); }
[data-page-template="minimal"] .pub-identity-text { max-width:760px; margin-inline:auto; }
[data-page-template="minimal"] .pub-biz-name { font-weight:650; letter-spacing:-.045em; }
[data-page-template="minimal"] .pub-desc { color:#5d6861; }
[data-page-template="minimal"] .pt-hero-cta { border-radius:999px; padding-inline:28px; }
[data-page-template="minimal"] .pub-section-title { font-size:clamp(24px,3vw,34px); font-weight:650; }
[data-page-template="minimal"] .service-card { padding-inline:clamp(4px,2vw,18px); }

/* Bold uses a deliberate two-tone system: readable light copy on the dark intro,
   then bright, high-contrast content surfaces below it. */
[data-page-template="bold"] .pt-layout { color:#172033; }
[data-page-template="bold"] .pt-intro { box-shadow:0 18px 50px #0b122233; }
[data-page-template="bold"] .pub-identity-text { min-width:0; }
[data-page-template="bold"] .pub-biz-name { max-width:12ch; line-height:1.05; letter-spacing:-.05em; text-wrap:pretty; }
[data-page-template="bold"] .pub-desc { max-width:42ch; line-height:1.8; }
[data-page-template="bold"] .pt-hero-cta { border-radius:10px; font-weight:800; }
[data-page-template="bold"] .pub-section { border-radius:18px; }
[data-page-template="bold"] .pub-section-title { font-size:clamp(24px,4vw,38px); font-weight:850; }
[data-page-template="bold"] .service-card { min-height:112px; }

/* Elegant keeps copy off photography and relies on paper-like surfaces for contrast. */
[data-page-template="elegant"] .pt-intro { color:#302a23; }
[data-page-template="elegant"] .pub-biz-name { max-width:13ch; line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
[data-page-template="elegant"] .pub-desc { max-width:48ch; color:#655b4e; }
[data-page-template="elegant"] .pub-section-title { font-size:clamp(26px,4vw,40px); }
[data-page-template="elegant"] .service-card { min-height:96px; }
[data-page-template="elegant"] .service-description { color:#6b6258; }
[data-page-template="elegant"] .service-price { font-family:Georgia,'Times New Roman',serif; }

/* Cards uses explicit surfaces and a compact app-like rhythm. */
[data-page-template="cards"] .pub-biz-name { max-width:16ch; font-weight:800; letter-spacing:-.04em; }
[data-page-template="cards"] .pub-desc { max-width:52ch; color:#5e687d; }
[data-page-template="cards"] .pub-section-title { font-size:clamp(21px,3vw,30px); font-weight:800; }
[data-page-template="cards"] .service-card { min-height:118px; padding:16px; border:1px solid #e2e7f3; }
[data-page-template="cards"] .service-card.active { box-shadow:0 10px 24px #375cc622; }
[data-page-template="cards"] .bp-gallery { padding:clamp(16px,3vw,28px); }

/* Immersive is the only overlay-led composition. A stronger scrim and a constrained
   copy column guarantee readable text over bright, dark, or busy uploaded photos. */
[data-page-template="immersive"] .pub-hero-overlay { background:linear-gradient(180deg,#071d2108 18%,#071d21a8 66%,#071d21f2 100%); }
[data-page-template="immersive"] .pub-identity { max-width:min(760px,100%); }
[data-page-template="immersive"] .pub-identity-text { max-width:680px; min-width:0; }
[data-page-template="immersive"] .pub-biz-name { max-width:11ch; line-height:1.05; letter-spacing:-.055em; text-wrap:balance; }
[data-page-template="immersive"] .pub-desc { max-width:58ch; color:#edf6f0; line-height:1.8; }
[data-page-template="immersive"] .pt-hero-cta { box-shadow:0 12px 28px #0004; }
[data-page-template="immersive"] .pub-section-title { font-size:clamp(25px,4vw,42px); font-weight:750; }

@media(max-width:520px) {
  .pt-layout { gap:24px; }
  .pt-layout .pub-biz-name { font-size:clamp(27px,9vw,44px); }
  .pt-layout .pub-desc { font-size:15px; }
  .pt-layout .pub-section { padding-inline:16px; }
  [data-page-template="bold"] .pub-biz-name { font-size:clamp(34px,12vw,54px); }
  [data-page-template="immersive"] .pub-identity { padding-inline:20px; padding-bottom:48px; }
  [data-page-template="immersive"] .pub-desc { padding-inline:20px; }
  [data-page-template="elegant"] .pub-identity { padding-inline:18px; }
  .pt-layout .service-card { grid-template-columns:minmax(0,1fr) auto; }
  .pt-layout .service-price { max-width:9ch; text-align:end; }
}

@media(min-width:768px) {
  .pt-layout .pub-desc { font-size:16px; }
  [data-page-template="minimal"] .pt-intro { border-bottom:1px solid #e2e8e3; }
  [data-page-template="bold"] .pt-layout { gap:28px; }
  [data-page-template="bold"] .pub-section { border-radius:22px; }
  [data-page-template="elegant"] .pt-intro { align-items:stretch; }
  [data-page-template="cards"] .pt-layout { gap:20px; }
  [data-page-template="immersive"] .pt-intro { box-shadow:0 24px 70px #132f2b22; }
}
