*,*::before,*::after{box-sizing:border-box}
html{
  scroll-behavior:smooth;
}
body{
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;
  color:var(--sw-text,#0f172a);
  background:var(--sw-bg,#f4f7fc);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--sw-primary,#1e40af);text-decoration:none}
a:hover{text-decoration:underline}

.site-shell{min-height:100vh;display:flex;flex-direction:column}

/* —— Compact corporate header —— */
.site-hero{
  background:#fff;
  color:var(--sw-text,#0f172a);
  padding:0;
  position:relative;
  border-bottom:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 14%,#e2e8f0);
  box-shadow:0 1px 0 color-mix(in srgb,var(--sw-primary,#1e40af) 6%,transparent);
}
.site-hero__accent{
  height:4px;
  background:linear-gradient(90deg,var(--sw-primary,#1e40af),var(--sw-accent,#2563eb));
}
.site-hero__inner{
  max-width:var(--sw-max,1140px);
  margin:0 auto;
  padding:.85rem 1.25rem 1rem;
  display:flex;
  gap:.85rem 1rem;
  align-items:center;
  flex-wrap:wrap;
}
.site-hero__logo{
  width:56px;
  height:56px;
  border-radius:12px;
  object-fit:cover;
  background:#fff;
  border:2px solid color-mix(in srgb,var(--sw-primary,#1e40af) 18%,#e2e8f0);
  flex-shrink:0;
}
.site-hero__content{flex:1;min-width:0}
.site-hero h1{
  margin:0 0 .15rem;
  font-size:clamp(1.15rem,2.8vw,1.55rem);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.25;
  color:var(--sw-primary,#1e40af);
}
.site-tier-badge{
  display:inline-flex;
  align-items:center;
  gap:.2rem;
  vertical-align:middle;
  margin-left:.3rem;
  padding:.12rem .45rem;
  border-radius:999px;
  font-size:.5em;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  line-height:1.2;
}
.site-tier-badge__icon{font-size:.85em;opacity:.95}
.site-tier-badge--pro{
  color:#fff;
  background:linear-gradient(135deg,#c084fc,#8b5cf6,#6366f1);
  box-shadow:0 1px 2px rgba(99,102,241,.3);
}
.site-tier-badge--free{
  color:#64748b;
  background:var(--sw-primary-surface,#f1f5f9);
  border:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 20%,#e2e8f0);
}
.site-hero__tagline{
  margin:.1rem 0 0;
  font-size:.92rem;
  color:#475569;
  font-weight:500;
}
.site-hero__meta{margin:.25rem 0 0;font-size:.82rem;color:#64748b}

.site-body{flex:1;padding:1.25rem 1.25rem 2rem}

/* —— Corporate grid —— */
.layout-corporate{--sw-max:1140px}
.site-layout{
  max-width:var(--sw-max,1140px);
  margin:0 auto;
  display:grid;
  gap:1.15rem;
  align-items:start;
}
.site-layout__main,
.site-layout__sidebar{
  display:flex;
  flex-direction:column;
  gap:1.15rem;
  min-width:0;
  overflow:visible;
}
@media(min-width:900px){
  .site-layout--magazine:not(.site-layout--single){
    grid-template-columns:minmax(0,1fr) minmax(280px,320px);
  }
}

/* —— Sections (themed accents) —— */
.site-section{
  background:#fff;
  border-radius:8px;
  padding:clamp(1rem,2.5vw,1.35rem);
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  border:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 10%,#e2e8f0);
  border-top:3px solid var(--sw-primary,#1e40af);
  min-width:0;
  max-width:100%;
  overflow:visible;
}
.site-section--map{overflow:visible}
.site-section h2{
  margin:0 0 .85rem;
  font-size:.82rem;
  font-weight:700;
  color:var(--sw-primary,#1e40af);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.site-section h2::after{display:none}
.site-prose{white-space:pre-wrap;color:#334155;font-size:.98rem;line-height:1.65}

.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{margin:.45rem 0;display:flex;flex-wrap:wrap;gap:.35rem}
.contact-list strong{min-width:4.5rem;color:#64748b;font-weight:600}

.social-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}
.social-links a{
  display:inline-flex;
  align-items:center;
  padding:.4rem .75rem;
  border-radius:6px;
  background:var(--sw-primary-surface,#eff6ff);
  color:var(--sw-primary,#1e40af);
  font-size:.8rem;
  font-weight:600;
  text-decoration:none;
  border:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 12%,transparent);
}
.social-links a:hover{
  background:color-mix(in srgb,var(--sw-accent,#2563eb) 16%,#fff);
  text-decoration:none;
}

.join-card{display:flex;flex-direction:column;gap:.65rem}
.join-card__id{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  padding:.55rem 1rem;
  border-radius:8px;
  background:var(--sw-primary,#1e40af);
  color:#fff;
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:.02em;
}
.join-card p{margin:0;color:#334155;font-size:.92rem}

.site-directory-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));
  gap:.75rem;
}
.site-directory-card{
  padding:.85rem 1rem;border-radius:10px;
  background:color-mix(in srgb,var(--sw-primary,#1e40af) 4%,#fff);
  border:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 12%,#e2e8f0);
}
.site-directory-card__name{margin:0 0 .25rem;font-weight:600;color:#0f172a;font-size:.95rem}
.site-directory-card__meta{margin:0;color:#64748b;font-size:.85rem;line-height:1.45}
.site-class-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}
.site-class-list__item{
  padding:.75rem 1rem;border-radius:10px;
  border:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 10%,#e2e8f0);
  background:#fff;
}
.site-class-list__name{margin:0 0 .2rem;font-weight:600;color:#0f172a;font-size:.95rem}
.site-class-list__meta{margin:0;color:#64748b;font-size:.85rem}

.map-wrap{
  position:relative;
  width:100%;
  max-width:100%;
  border-radius:8px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 12%,#e2e8f0);
  aspect-ratio:16/10;min-height:160px;background:#e2e8f0;
}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(120px,100%),1fr));
  gap:.5rem;
}
.gallery-grid__item{
  display:block;border-radius:8px;overflow:hidden;
  aspect-ratio:1;background:#e2e8f0;
  border:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 8%,#e2e8f0);
  transition:transform .2s,box-shadow .2s;
}
.gallery-grid__item:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 16px color-mix(in srgb,var(--sw-primary,#1e40af) 18%,transparent);
  text-decoration:none;
}
.gallery-grid__item img{width:100%;height:100%;object-fit:cover}

.post-feed{display:flex;flex-direction:column;gap:1rem;overflow:visible}
.post-feed__sentinel{width:100%;height:1px;pointer-events:none}
.post-feed__status{margin:.65rem 0 0;text-align:center;font-size:.82rem;color:#64748b;min-height:1.2rem}
.post-card{
  background:#fff;
  border:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 10%,#e2e8f0);
  border-left:3px solid var(--sw-accent,#2563eb);
  border-radius:8px;
  padding:1rem;
  position:relative;
  overflow:visible;
}
.post-card__header{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem}
.post-card__avatar{
  width:40px;height:40px;border-radius:50%;
  object-fit:cover;
  background:var(--sw-primary-surface,#eff6ff);
  flex-shrink:0;
}
.post-card__avatar--placeholder{background:color-mix(in srgb,var(--sw-accent,#2563eb) 30%,#fff)}
.post-card__header strong{display:block;font-size:.9rem;color:var(--sw-primary,#1e40af)}
.post-card__header time{display:block;font-size:.78rem;color:#64748b}
.post-card__caption{margin:0 0 .75rem;white-space:pre-wrap;color:#334155;font-size:.95rem}
.post-card__media img{width:100%;border-radius:8px}
.post-card__media--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.45rem}
.post-card__video{
  position:relative;padding-bottom:56.25%;height:0;overflow:hidden;
  border-radius:8px;background:#0f172a;
}
.post-card__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.video-embed{
  position:relative;padding-bottom:56.25%;height:0;overflow:hidden;
  border-radius:8px;background:#0f172a;margin-top:.35rem;
}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.site-section--intro .site-intro-video__note{margin:0 0 .75rem;color:#64748b;font-size:.88rem}

/* Share */
.share-menu{position:relative;display:inline-flex;align-items:center;z-index:1}
.share-menu.is-open{z-index:40}
.share-menu--hero{margin-left:auto}
.share-menu--compact{
  display:flex;
  justify-content:flex-end;
  width:100%;
  margin-top:.65rem;
  padding-top:.55rem;
  border-top:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 10%,#e2e8f0);
}
.share-menu--hero .share-menu__toggle{
  background:var(--sw-primary-surface,#eff6ff);
  color:var(--sw-primary,#1e40af);
  border:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 18%,#e2e8f0);
}
.share-menu__toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.25rem;height:2.25rem;border-radius:8px;border:1px solid #e2e8f0;
  background:#f8fafc;color:#334155;cursor:pointer;font-family:inherit;
}
.share-menu__toggle:hover{
  background:color-mix(in srgb,var(--sw-accent,#2563eb) 10%,#fff);
  border-color:color-mix(in srgb,var(--sw-accent,#2563eb) 35%,#e2e8f0);
  color:var(--sw-primary,#1e40af);
}
.share-menu__panel{
  position:absolute;left:0;right:auto;top:calc(100% + .35rem);z-index:50;
  display:none;flex-wrap:wrap;gap:.3rem;padding:.4rem;border-radius:8px;
  border:1px solid #e2e8f0;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.12);
}
.share-menu--hero .share-menu__panel,
.share-menu--compact .share-menu__panel{
  left:auto;
  right:0;
  width:max-content;
  max-width:100%;
  min-width:0;
}
.share-menu.is-open .share-menu__panel{display:flex}
.share-menu__panel[hidden]{display:none!important}
.share-menu__panel--fallback{
  flex-direction:column;
  align-items:stretch;
  gap:.45rem;
  min-width:9.5rem;
  max-width:min(16rem,100%);
  padding:.6rem .75rem;
}
.share-menu__hint{
  margin:0;
  font-size:.75rem;
  color:#64748b;
  line-height:1.4;
  white-space:normal;
  word-wrap:break-word;
}
.share-menu__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:2rem;height:2rem;border-radius:999px;border:1px solid #e2e8f0;
  background:#f8fafc;color:#334155;cursor:pointer;text-decoration:none;
  align-self:flex-end;
}
.share-menu__icon:hover{transform:translateY(-1px);text-decoration:none}
.share-menu__icon--whatsapp{color:#25d366}
.share-menu__icon--twitter{color:#0f1419}
.share-menu__icon--linkedin{color:#0a66c2}
.share-menu__icon--telegram{color:#229ed9}
.share-menu__icon--copy{color:#475569;font-family:inherit}
.share-menu__icon--copied{color:#059669;border-color:#86efac;background:#ecfdf5}

/* Footer */
.site-footer{
  text-align:center;
  padding:.15rem .5rem;
  color:#64748b;
  font-size:.8125rem;
  line-height:1.25;
  border-top:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 18%,#e2e8f0);
  background:#fff;
}
.site-footer__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.1rem;
  margin:0;
  padding:0;
}
.site-footer__powered{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.3rem;
  margin:0;
  padding:0;
  font-size:.8125rem;
  line-height:1.25;
  width:100%;
}
.site-footer a{color:var(--sw-primary,#1e40af);font-weight:600}
.site-footer__brand{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  text-decoration:none;
}
.site-footer__brand:hover{text-decoration:underline}
.site-brand-mark{
  display:inline-grid;
  place-items:center;
  width:1.35rem;
  height:1.35rem;
  border-radius:.35rem;
  background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 50%,#2563eb 100%);
  color:#fff;
  flex-shrink:0;
  box-shadow:0 2px 6px rgba(79,70,229,.25);
}
.site-brand-mark svg{width:.85rem;height:.85rem}
.site-footer__legal{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.15rem .45rem;
  margin:0;
  padding:0;
}
.site-footer__legal a{
  font-size:.78rem;
  line-height:1.25;
  padding:0;
}

/* —— Mobile story highlights —— */
.site-stories{display:none}
.site-story-backdrop{display:none}

@media(max-width:899px){
  .site-stories{
    display:block;
    background:#fff;
    border-bottom:1px solid color-mix(in srgb,var(--sw-primary,#1e40af) 10%,#e2e8f0);
    padding:.65rem 0 .75rem;
  }
  .site-stories__track{
    display:flex;
    gap:.65rem;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 1rem;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .site-stories__track::-webkit-scrollbar{display:none}
  .site-story{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.35rem;
    width:4.5rem;
    padding:0;
    border:none;
    background:transparent;
    cursor:pointer;
    font-family:inherit;
    scroll-snap-align:start;
  }
  .site-story__ring{
    display:flex;
    align-items:center;
    justify-content:center;
    width:4.1rem;
    height:4.1rem;
    border-radius:50%;
    padding:3px;
    background:linear-gradient(135deg,var(--sw-accent,#2563eb),var(--sw-primary,#1e40af));
  }
  .site-story__thumb{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    border-radius:50%;
    overflow:hidden;
    background:var(--sw-primary-surface,#eff6ff);
    border:2px solid #fff;
  }
  .site-story__thumb img{width:100%;height:100%;object-fit:cover}
  .site-story__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--sw-primary,#1e40af);
  }
  .site-story__label{
    font-size:.68rem;
    font-weight:600;
    color:#475569;
    text-align:center;
    line-height:1.2;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .site-layout__sidebar{display:none!important}
  #updates.site-section{
    background:transparent;
    border:none;
    box-shadow:none;
    padding:0;
  }
  #updates.site-section>h2{display:none}
  .site-shell--has-feed .site-body{
    padding:0 0 1.25rem;
    background:var(--sw-bg,#f0f2f5);
  }
  .site-shell--has-feed .site-layout{
    max-width:none;
    margin:0;
    gap:0;
  }
  .site-shell--has-feed .site-layout__main{gap:0}
  .site-shell--has-feed .post-feed{
    gap:0;
    background:var(--sw-bg,#f0f2f5);
  }
  .site-shell--has-feed .post-card{
    background:#fff;
    border:none;
    border-left:none;
    border-radius:0;
    padding:0;
    margin:0 0 .5rem;
    box-shadow:none;
  }
  .site-shell--has-feed .post-card:last-of-type{margin-bottom:0}
  .site-shell--has-feed .post-card__header{
    padding:.75rem .85rem .5rem;
    margin:0;
  }
  .site-shell--has-feed .post-card__caption{
    padding:0 .85rem .65rem;
    margin:0;
    font-size:.94rem;
    line-height:1.45;
  }
  .site-shell--has-feed .post-card__media{margin:0}
  .site-shell--has-feed .post-card__media img{
    border-radius:0;
    width:100%;
  }
  .site-shell--has-feed .post-card__media--grid{
    gap:2px;
    grid-template-columns:repeat(2,1fr);
  }
  .site-shell--has-feed .post-card__media--grid img{border-radius:0}
  .site-shell--has-feed .post-card .video-embed,
  .site-shell--has-feed .post-card__video{
    margin:0;
    border-radius:0;
  }
  .site-shell--has-feed .share-menu--compact{
    margin:0;
    padding:.55rem .85rem .7rem;
    border-top:1px solid #e4e6eb;
  }
  .site-shell--has-feed .post-feed__status{
    margin:0;
    padding:.85rem .85rem 1rem;
    background:var(--sw-bg,#f0f2f5);
    font-size:.8rem;
  }
  .site-shell--has-feed #about.site-section{
    margin:.5rem 0 0;
    border-radius:0;
    border-left:none;
    border-right:none;
    border-bottom:none;
    box-shadow:none;
  }
  .site-shell:not(.site-shell--has-feed) .site-body{padding:1rem 1rem 1.25rem}
  .site-story-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:80;
    background:rgba(15,23,42,.45);
  }
  .site-story-backdrop[hidden]{display:none!important}
  .site-story-sheet{
    position:fixed;
    inset:0;
    z-index:90;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:0;
  }
  .site-story-sheet[hidden]{display:none!important}
  .site-story-sheet__panel{
    width:100%;
    max-height:min(88vh,720px);
    background:#fff;
    border-radius:16px 16px 0 0;
    box-shadow:0 -8px 32px rgba(15,23,42,.18);
    display:flex;
    flex-direction:column;
    animation:site-story-slide-up .28s ease-out;
  }
  @keyframes site-story-slide-up{
    from{transform:translateY(100%)}
    to{transform:translateY(0)}
  }
  .site-story-sheet__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    padding:.85rem 1rem;
    border-bottom:1px solid #e2e8f0;
    flex-shrink:0;
  }
  .site-story-sheet__title{
    margin:0;
    font-size:.95rem;
    font-weight:700;
    color:var(--sw-primary,#1e40af);
  }
  .site-story-sheet__close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2rem;
    height:2rem;
    border:none;
    border-radius:999px;
    background:#f1f5f9;
    color:#475569;
    font-size:1.35rem;
    line-height:1;
    cursor:pointer;
    font-family:inherit;
  }
  .site-story-sheet__body{
    overflow:auto;
    padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));
    -webkit-overflow-scrolling:touch;
  }
  .gallery-grid--story{
    grid-template-columns:repeat(auto-fill,minmax(min(100px,46%),1fr));
  }
  .map-wrap--story{min-height:200px}
  .site-shell--story-open{overflow:hidden}
  .site-shell--has-feed .site-footer--await-dock{
    visibility:hidden;
    position:absolute;
    left:-9999px;
    pointer-events:none;
  }
  .site-footer--docked{
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:45;
    visibility:visible;
    padding-bottom:calc(.15rem + env(safe-area-inset-bottom));
    box-shadow:0 -1px 8px rgba(15,23,42,.05);
  }
  .site-shell--footer-docked .site-body{
    padding-bottom:calc(2.85rem + env(safe-area-inset-bottom));
  }
  .site-shell--footer-docked .post-feed__status{
    padding-bottom:.5rem;
  }
}

.not-found{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:#f1f5f9}
.not-found__card{
  background:#fff;border-radius:12px;padding:2rem;
  max-width:440px;text-align:center;
  box-shadow:0 8px 30px rgba(15,23,42,.08);
}

/* 20 color themes (fallback if inline :root missing) */
.theme-blue{--sw-primary:#1e40af;--sw-accent:#2563eb;--sw-primary-surface:#eff6ff;--sw-bg:#f4f7fc}
.theme-emerald{--sw-primary:#047857;--sw-accent:#10b981;--sw-primary-surface:#ecfdf5;--sw-bg:#f3faf7}
.theme-violet{--sw-primary:#5b21b6;--sw-accent:#7c3aed;--sw-primary-surface:#f5f3ff;--sw-bg:#f8f6fc}
.theme-rose{--sw-primary:#be123c;--sw-accent:#e11d48;--sw-primary-surface:#fff1f2;--sw-bg:#fcf4f5}
.theme-amber{--sw-primary:#b45309;--sw-accent:#f59e0b;--sw-primary-surface:#fffbeb;--sw-bg:#fcf9f3}
.theme-slate{--sw-primary:#334155;--sw-accent:#475569;--sw-primary-surface:#f1f5f9;--sw-bg:#f6f8fa}
.theme-crimson{--sw-primary:#991b1b;--sw-accent:#dc2626;--sw-primary-surface:#fef2f2;--sw-bg:#faf5f5}
.theme-ocean{--sw-primary:#0e7490;--sw-accent:#06b6d4;--sw-primary-surface:#ecfeff;--sw-bg:#f3fafb}
.theme-forest{--sw-primary:#166534;--sw-accent:#22c55e;--sw-primary-surface:#f0fdf4;--sw-bg:#f4faf6}
.theme-sunset{--sw-primary:#c2410c;--sw-accent:#f97316;--sw-primary-surface:#fff7ed;--sw-bg:#fcf7f3}
.theme-indigo{--sw-primary:#312e81;--sw-accent:#4f46e5;--sw-primary-surface:#eef2ff;--sw-bg:#f5f6fc}
.theme-graphite{--sw-primary:#18181b;--sw-accent:#52525b;--sw-primary-surface:#f4f4f5;--sw-bg:#f8f8f9}
.theme-teal{--sw-primary:#0f766e;--sw-accent:#14b8a6;--sw-primary-surface:#f0fdfa;--sw-bg:#f3faf9}
.theme-navy{--sw-primary:#1e3a5f;--sw-accent:#2563eb;--sw-primary-surface:#eef4fb;--sw-bg:#f4f7fb}
.theme-plum{--sw-primary:#7e22ce;--sw-accent:#a855f7;--sw-primary-surface:#faf5ff;--sw-bg:#f9f6fc}
.theme-mint{--sw-primary:#15803d;--sw-accent:#4ade80;--sw-primary-surface:#f0fdf4;--sw-bg:#f5fcf7}
.theme-coral{--sw-primary:#e11d48;--sw-accent:#fb7185;--sw-primary-surface:#fff1f2;--sw-bg:#fcf5f6}
.theme-gold{--sw-primary:#a16207;--sw-accent:#eab308;--sw-primary-surface:#fefce8;--sw-bg:#faf8f0}
.theme-lavender{--sw-primary:#6d28d9;--sw-accent:#8b5cf6;--sw-primary-surface:#f5f3ff;--sw-bg:#f8f6fc}
.theme-burgundy{--sw-primary:#7f1d1d;--sw-accent:#b91c1c;--sw-primary-surface:#fef2f2;--sw-bg:#faf5f5}

@media(max-width:640px){
  .site-hero__inner{align-items:flex-start}
  .site-hero__logo{width:48px;height:48px}
  .share-menu{margin-left:0;margin-top:.35rem}
}
@media print{
  .share-menu{display:none}
  .site-section{break-inside:avoid;box-shadow:none}
}
