/* Theme-wide presentation, edited in Appearance > Customize. */
html { background: var(--bg); }
body { font-size: var(--body-size); background: radial-gradient(ellipse at 75% 0%, color-mix(in srgb,var(--accent) 22%,transparent),transparent 38rem),var(--bg); color:var(--ink); }
body::after { background: transparent; }

.nav-capsule, .site-header.is-scrolled .nav-capsule { position:relative; isolation:isolate; background:linear-gradient(125deg,rgba(255,255,255,.12),rgba(255,255,255,.015) 48%,rgba(255,255,255,.065)),rgba(18,16,30,var(--glass-alpha)); border:1px solid rgba(255,255,255,.23); backdrop-filter:blur(var(--glass-blur)) saturate(175%); -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(175%); box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(255,255,255,.07),0 12px 40px rgba(0,0,0,.16); }
.nav-capsule::before { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:-1; background:radial-gradient(circle at var(--shine-x,30%) var(--shine-y,0%),rgba(255,255,255,.18),transparent 55%); }
.site-nav a { text-shadow:0 1px 8px rgba(0,0,0,.75); }
.contact-button,.button-link,.search-submit { background:linear-gradient(130deg,color-mix(in srgb,var(--accent) 85%,white),var(--accent)); }
.entry,.content-card,.explore-topic,.archive-header,.section-band { border-radius:var(--card-radius); }
.footer-redesign.site-footer { display:block; padding:0 0 30px; margin-top:80px; }
.footer-invitation { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:48px 0; border-block:1px solid var(--line); }
.footer-invitation h2 { max-width:760px; margin:0; font-size:clamp(1.7rem,3.5vw,3rem); line-height:1.15; letter-spacing:-.04em; color:var(--ink); }
.footer-invitation .button-link { flex-shrink:0; }
.footer-columns { display:grid; grid-template-columns:1.7fr 1fr 1fr; gap:64px; padding:48px 0; }
.footer-identity p { max-width:360px; line-height:1.7; }
.footer-columns h3 { margin:0 0 18px; color:var(--ink); font-size:.9rem; }
.footer-redesign .footer-menu { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-redesign .footer-menu a { padding:0; font-weight:400; }
.footer-bottom { display:flex; justify-content:space-between; gap:24px; padding-top:24px; border-top:1px solid var(--line); font-size:.8rem; }
.footer-redesign a:hover { color:var(--ink); }
.footer-bottom span,.footer-invitation span { display:inline; }
.page-entry.legal-page,.page-entry.about-page { padding:0; overflow:hidden; }
.legal-page .page-hero { padding:clamp(28px,5vw,64px); border-bottom:1px solid var(--line); }
.legal-page .page-hero h1 { font-size:clamp(2.3rem,5vw,4.5rem); max-width:900px; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:48px; padding:48px clamp(24px,4vw,56px); align-items:start; }
.legal-sidebar { position:sticky; top:125px; }
.legal-sidebar h2 { margin:0 0 20px; font-size:.85rem; color:var(--muted); }
.legal-sidebar a { display:block; padding:12px 16px; border-left:2px solid var(--line); font-size:.9rem; }
.legal-sidebar a[aria-current="page"] { color:var(--ink); border-color:var(--accent); background:color-mix(in srgb,var(--accent) 12%,transparent); }
.legal-page .entry-content,.about-page .entry-content { width:100%; max-width:780px; margin:0; padding:0; min-width:0; font-size:1rem; line-height:1.85; overflow-wrap:anywhere; }
.legal-disclosure { border:1px solid var(--line); border-radius:12px; margin:12px 0; background:rgba(255,255,255,.025); }
.legal-disclosure summary { cursor:pointer; padding:20px 24px; font-size:.9rem; font-weight:650; line-height:1.5; color:var(--ink); }
.legal-disclosure summary::marker { color:var(--accent); }
.legal-disclosure[open] { border-color:color-mix(in srgb,var(--accent) 50%,transparent); }
.legal-disclosure-body { padding:0 24px 22px; color:var(--muted-strong); }
.legal-page .entry-content a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.about-hero { display:grid; grid-template-columns:1.6fr 1fr; gap:48px; align-items:center; padding:clamp(28px,5vw,64px); border-bottom:1px solid var(--line); background:radial-gradient(ellipse at 100% 20%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 65%); }
.about-hero h1 { font-size:clamp(2.4rem,4.8vw,4.8rem); line-height:1.06; letter-spacing:-.055em; margin:0 0 26px; }
.about-lead { font-size:1.12rem; color:var(--muted-strong); max-width:580px; }
.about-hero .button-link { margin-top:16px; }
.about-portrait { margin:0; }
.about-portrait img { border-radius:var(--card-radius); width:100%; max-height:560px; object-fit:cover; }
.about-monogram { aspect-ratio:1; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--accent) 24%,transparent),transparent 70%); box-shadow:0 0 100px color-mix(in srgb,var(--accent) 9%,transparent); }
.about-monogram img { width:44%; max-height:240px; }
.about-page .page-reading-layout { max-width:900px; margin:auto; padding:56px clamp(24px,5vw,60px); }
.about-page .entry-content h2 { font-size:clamp(1.5rem,3vw,2.15rem); letter-spacing:-.035em; padding-top:24px; }
.reading-progress { position:fixed; top:0; left:0; width:100%; height:3px; background:var(--accent); z-index:100; transform-origin:left; transform:scaleX(var(--reading-progress,0)); pointer-events:none; }
.fb-motion .content-card,.fb-motion .explore-topic,.fb-motion .button-link,.fb-motion .contact-button { transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
@media (hover:hover) { .fb-motion .content-card:hover,.fb-motion .explore-topic:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(0,0,0,.18); } .fb-motion .button-link:hover,.fb-motion .contact-button:hover { transform:translateY(-2px); } }
.fb-motion .effect-enter { animation:soft-entrance .65s cubic-bezier(.2,.7,.2,1) both; }
@keyframes soft-entrance { from { opacity:.35; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
body:not(.fb-motion) .reveal-in { animation:none; }
:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
@media (max-width:960px) { .legal-layout { grid-template-columns:1fr; gap:28px; } .legal-sidebar { position:static; } .legal-sidebar nav { display:flex; flex-wrap:wrap; gap:8px; } .legal-sidebar h2 { width:100%; margin-bottom:8px; } .legal-sidebar a { border-left:0; border-bottom:2px solid var(--line); padding:8px; } .about-hero { grid-template-columns:1fr; } .about-monogram { display:none; } .about-portrait { max-width:380px; } .footer-columns { gap:28px; } }
@media (max-width:620px) { .site-header { position:relative; top:0; padding-top:12px; } .footer-invitation { align-items:flex-start; flex-direction:column; padding:32px 8px; } .footer-columns { grid-template-columns:1fr 1fr; padding:32px 8px; } .footer-identity { grid-column:1/-1; } .footer-bottom { flex-direction:column; padding:24px 8px 0; gap:16px; } .footer-redesign.site-footer { margin-top:48px; } .legal-layout { padding:24px; } .legal-disclosure summary { padding:16px; } .legal-disclosure-body { padding:0 16px 16px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

.about-hero .button-link,.footer-invitation .button-link { color:#fff; display:inline-flex; gap:12px; align-items:center; text-decoration:none; }
.site-header > .contact-button,
.footer-invitation .button-link {
  background:#efff00;
  border-color:#efff00;
  color:#08080c;
  box-shadow:0 0 28px rgba(239,255,0,.28),0 10px 24px rgba(0,0,0,.18);
}
.site-header > .contact-button:hover,
.site-header > .contact-button:focus-visible,
.footer-invitation .button-link:hover,
.footer-invitation .button-link:focus-visible {
  background:#f5ff42;
  border-color:#f5ff42;
  color:#08080c;
  box-shadow:0 0 38px rgba(239,255,0,.42),0 14px 28px rgba(0,0,0,.22);
}
.legal-page .entry-content > div { width:100%; }
.legal-page.page-entry { overflow:visible; }
.legal-page .page-hero { border-radius:var(--card-radius) var(--card-radius) 0 0; }
html:has(body:not(.fb-motion)) { scroll-behavior:auto; }
