body{--ed-card:var(--card);--ed-line:var(--line);--ed-muted:var(--muted);--ed-accent:var(--accent);--ed-display:var(--display);--ed-radius:6px}
/* ---------- Sections added with the FJW visual editor ---------- */
.ph{position:relative;overflow:hidden;border-radius:var(--ed-radius);border:1px solid var(--ed-line);background:var(--ed-card);aspect-ratio:4/3;margin:0}
.ph img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:50% 50%}
.ph.tall{aspect-ratio:3/4}.ph.wide{aspect-ratio:16/9}.ph.square{aspect-ratio:1/1}
.ph figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;font-size:.88rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.blk-photo-text{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.blk-photo-text>div{display:flex;flex-direction:column;gap:14px}
.blk-photo-text.reverse>.ph{order:-1}
.blk-photo-text p{color:var(--ed-muted)}
@media (max-width:820px){.blk-photo-text{grid-template-columns:1fr;gap:24px}.blk-photo-text.reverse>.ph{order:0}}
.blk-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:720px){.blk-gallery{grid-template-columns:1fr 1fr}}
.blk-banner{position:relative;border-radius:var(--ed-radius);overflow:hidden;min-height:420px;display:flex;align-items:flex-end;color:#fff}
.blk-banner>.ph{position:absolute;inset:0;aspect-ratio:auto;border:0;border-radius:0}
.blk-banner>.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.75))}
.blk-banner>.txt{position:relative;z-index:1;padding:40px;max-width:720px;display:flex;flex-direction:column;gap:14px}
.blk-banner>.txt p{color:#eef0ea}
@media (max-width:520px){.blk-banner>.txt{padding:24px}}
.price-list{display:grid;border:1px solid var(--ed-line);border-radius:var(--ed-radius);background:var(--ed-card);overflow:hidden}
.price-list .item{display:flex;justify-content:space-between;gap:18px;padding:16px 22px;border-bottom:1px solid var(--ed-line)}
.price-list .item:last-child{border-bottom:0}
.price-list .item h3{font-size:1.1rem;margin:0 0 4px}
.price-list .item p{margin:0;color:var(--ed-muted);font-size:.95rem}
.price-list .item .amt{font-family:var(--ed-display);font-weight:700;font-size:1.2rem;color:var(--ed-accent);white-space:nowrap}
.quote{max-width:820px;margin:0 auto;text-align:center}
.quote blockquote{font-family:var(--ed-display);font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.35;margin:0 0 16px}
.quote cite{color:var(--ed-muted);font-style:normal}
.cta-band{text-align:center;border:1px solid var(--ed-line);border-radius:var(--ed-radius);padding:52px 24px;background:var(--ed-card);display:flex;flex-direction:column;align-items:center;gap:14px}
.cta-band p{color:var(--ed-muted);max-width:60ch}
.cta-band .actions{justify-content:center;display:flex;gap:12px;flex-wrap:wrap}
.blk-text{max-width:760px;display:flex;flex-direction:column;gap:14px}
.blk-text ul{margin:0}
