/* Values are validated by the authenticated editor before storage. */
body { background: var(--edit-background); color: var(--edit-text); font-family: var(--edit-font), sans-serif; }
.public-edit-bar { position:fixed; bottom:12px; left:12px; z-index:900; display:flex; flex-wrap:wrap; align-items:center; gap:12px; max-width:calc(100% - 24px); padding:12px 16px; border:1px solid #b79152; border-radius:12px; background:#061426f5; color:#f3d391; font:13px/1.5 'DM Sans',sans-serif; box-shadow:0 4px 20px #0004; }
.public-edit-bar a { color:#fff; text-decoration:underline; }
body p { color: var(--edit-muted); }
body main > .section p, body main > .section .section-heading > p, body main .hero-copy > p { color:var(--edit-muted); }
body main h1, body main h2, body main h3 { color:var(--edit-text); font-family:var(--edit-heading),Georgia,serif; }
.hero,.page-hero,.quiz-page { color:var(--edit-text); }
body h1, body h2, body h3 { font-family: var(--edit-heading), Georgia, serif; }
.container { width: min(var(--edit-width), calc(100% - 64px)); }
.section { padding-block: var(--edit-spacing); }
.header, .header.scrolled { background: var(--edit-header); }
footer { background: var(--edit-footer); }
.btn { border-radius: var(--edit-radius); }
.btn-primary { background: var(--edit-button); border-color: var(--edit-button); color: var(--edit-button-text); }
.btn-primary:hover { background: var(--edit-button); filter: brightness(1.08); }
.hero { background-color: var(--edit-background); background-image: var(--edit-hero-image); background-size: cover; background-position: center; }
.hero h1 { font-family: var(--edit-heading), Georgia, serif; font-size: clamp(34px, 4.9vw, var(--edit-hero-size)); }
.hero-line-accent, .hero-identity-caption, .hero-quote em, .eyebrow, .text-link, .hero-bottom a { color: var(--edit-gold); }
.hero-line-accent { font-family: var(--edit-heading), Georgia, serif; }
.hero-copy > p { color: var(--edit-muted); }
.hero .hero-logo { border-radius: var(--edit-hero-shape); }
.hero .hero-logo { border:0; outline:0; box-shadow:none; }
.hero .hero-logo > img,.hero .hero-logo--artwork > img {
  inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
  transform:translateX(calc(var(--photo-x,50%) - 50%)) translateY(calc(var(--photo-y,35%) - 35% + var(--photo-offset,-40px) + 40px)) scale(calc(var(--photo-zoom,1) * 1.12));
  transform-origin:center;
}
.hero .hero-logo--artwork > img { clip-path:circle(44% at 50% 50%); transform:translateX(calc(var(--photo-x,50%) - 50%)) translateY(calc(var(--photo-y,35%) - 35% + var(--photo-offset,-40px) + 40px)) scale(calc(var(--photo-zoom,1) * 1.18)); }
.about-image .portrait-growth, .about-grid .portrait-growth { border-radius: var(--edit-about-shape); }
.about-grid .portrait-growth img { object-fit:cover; object-position:center; transform:translateX(calc(var(--photo-x,50%) - 50%)) translateY(calc(var(--photo-y,50%) - 50% + var(--photo-offset,0px))) scale(var(--photo-zoom,1)); }
.intro-scene { background-color: var(--edit-intro-bg); background-image: radial-gradient(ellipse at 100% 0%, #b87b264a, transparent 52%); animation-duration: var(--intro-duration); }
.intro-title > strong { animation-duration: var(--intro-duration); }
@keyframes intro-camera { from { transform: scale(1); } to { transform: scale(var(--edit-intro-zoom)); } }
@media(max-width:768px) {
  .section { padding-block: clamp(32px, var(--edit-spacing), 64px); }
  .hero h1 { font-size: clamp(34px, 8.4vw, var(--edit-hero-size)); }
}
@media(max-width:480px) { .container { width: calc(100% - 40px); } .hero h1 { font-size: clamp(34px, 10.4vw, var(--edit-hero-size)); } }
