:root{
  --bio-accent:#e85d3f;
  --bio-bg:#fff4e8;
  --bio-ink:#2e2927;
  --bio-muted:#756b67;
  --bio-surface:rgba(255,255,255,.78);
  --bio-surface-strong:#fff;
  --bio-line:rgba(71,52,45,.12);
  --bio-shadow:0 22px 60px rgba(81,48,35,.14);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{min-height:100%;scroll-behavior:smooth}
body{
  min-height:100vh;
  margin:0;
  overflow-x:hidden;
  color:var(--bio-ink);
  background:
    radial-gradient(circle at 10% 4%,color-mix(in srgb,var(--bio-accent) 17%,transparent),transparent 28rem),
    linear-gradient(145deg,color-mix(in srgb,var(--bio-bg) 88%,white),var(--bio-bg));
  font-family:"DM Sans",sans-serif;
  transition:background .25s ease,color .25s ease;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  opacity:.32;
  background-image:radial-gradient(color-mix(in srgb,var(--bio-accent) 36%,transparent) 1px,transparent 1px);
  background-size:24px 24px;
  mask-image:linear-gradient(to bottom,#000,transparent 72%);
}
button,a{font:inherit}
a{color:inherit}
.bio-ambient{
  position:fixed;
  z-index:-2;
  width:300px;
  height:300px;
  border-radius:42% 58% 65% 35% / 52% 38% 62% 48%;
  filter:blur(1px);
  opacity:.24;
  pointer-events:none;
}
.bio-ambient-one{
  top:17vh;
  left:max(-170px,calc(50vw - 610px));
  background:color-mix(in srgb,var(--bio-accent) 72%,#ffd88a);
  transform:rotate(24deg);
}
.bio-ambient-two{
  right:max(-190px,calc(50vw - 640px));
  bottom:8vh;
  background:color-mix(in srgb,var(--bio-accent) 42%,#b6dfff);
  transform:rotate(-28deg);
}
.bio-shell{
  width:min(100% - 28px,720px);
  margin:0 auto;
  padding:56px 0 40px;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .35s ease,transform .35s ease;
}
body.is-ready .bio-shell{opacity:1;transform:none}
.bio-admin-preview{
  position:relative;
  z-index:8;
  padding:9px 18px;
  color:#fff;
  background:#22252b;
  text-align:center;
  font-size:12px;
  font-weight:800;
}
.bio-share{
  position:fixed;
  z-index:6;
  top:18px;
  right:18px;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:0 14px;
  color:var(--bio-ink);
  background:color-mix(in srgb,var(--bio-surface-strong) 82%,transparent);
  border:1px solid var(--bio-line);
  border-radius:999px;
  box-shadow:0 10px 30px rgba(45,35,31,.1);
  backdrop-filter:blur(14px);
  cursor:pointer;
}
.bio-share:hover{transform:translateY(-2px)}
.bio-profile{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:8px 18px 30px;
  text-align:center;
}
.bio-logo-wrap{position:relative;margin-bottom:17px}
.bio-logo{
  width:102px;
  height:102px;
  display:block;
  object-fit:cover;
  background:#fff;
  border:5px solid rgba(255,255,255,.9);
  border-radius:31px;
  box-shadow:0 18px 38px rgba(67,40,31,.18);
  transform:rotate(-2deg);
}
.bio-logo-spark{
  position:absolute;
  right:-11px;
  bottom:5px;
  width:33px;
  height:33px;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--bio-accent);
  border:3px solid var(--bio-bg);
  border-radius:50%;
  font-size:15px;
}
.bio-kicker{
  margin:0 0 7px;
  color:var(--bio-accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.bio-profile h1{
  margin:0;
  font:700 clamp(34px,8vw,52px)/.98 "Fraunces",serif;
  letter-spacing:-.035em;
}
.bio-description{
  max-width:590px;
  margin:15px 0 0;
  color:var(--bio-muted);
  font-size:16px;
  line-height:1.55;
}
.bio-section{
  margin-top:16px;
  padding:18px;
  background:var(--bio-surface);
  border:1px solid var(--bio-line);
  border-radius:28px;
  box-shadow:var(--bio-shadow);
  backdrop-filter:blur(18px);
}
.bio-section-heading{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 2px 14px;
}
.bio-section-heading h2{
  flex:1;
  margin:0;
  font:700 18px/1.2 "Fraunces",serif;
}
.bio-section-heading > a{
  color:var(--bio-muted);
  font-size:11px;
  font-weight:800;
  text-decoration:none;
}
.bio-section-dot{
  width:9px;
  height:9px;
  background:var(--bio-accent);
  border-radius:50%;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--bio-accent) 14%,transparent);
}
.bio-video-card{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(190px,.75fr);
  overflow:hidden;
  color:var(--bio-ink);
  background:var(--bio-surface-strong);
  border-radius:20px;
  text-decoration:none;
  box-shadow:0 11px 28px rgba(65,43,35,.1);
  transition:transform .2s ease,box-shadow .2s ease;
}
.bio-video-card:hover{transform:translateY(-3px);box-shadow:0 17px 34px rgba(65,43,35,.16)}
.bio-video-image-wrap{
  position:relative;
  min-height:196px;
  overflow:hidden;
  background:#ddd;
}
.bio-video-image-wrap img{width:100%;height:100%;display:block;object-fit:cover}
.bio-video-image-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg,transparent 55%,rgba(0,0,0,.13));
}
.bio-new-badge{
  position:absolute;
  z-index:2;
  top:12px;
  left:12px;
  padding:6px 9px;
  color:#fff;
  background:var(--bio-accent);
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.bio-play{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:var(--bio-accent);
  background:rgba(255,255,255,.92);
  border-radius:50%;
  box-shadow:0 10px 25px rgba(0,0,0,.18);
  transform:translate(-50%,-50%);
}
.bio-video-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:13px;
  padding:24px;
}
.bio-video-copy strong{font:700 20px/1.2 "Fraunces",serif}
.bio-video-copy span{color:var(--bio-accent);font-size:12px;font-weight:800}
.bio-video-placeholder{
  min-height:196px;
  padding:25px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:12px;
  background:linear-gradient(110deg,rgba(255,255,255,.48),rgba(255,255,255,.9),rgba(255,255,255,.48));
  background-size:220% 100%;
  border-radius:20px;
  animation:bio-shimmer 1.4s linear infinite;
}
.bio-video-placeholder span{height:16px;width:60%;background:rgba(80,65,58,.1);border-radius:8px}
.bio-video-placeholder span+span{width:36%}
@keyframes bio-shimmer{to{background-position:-220% 0}}
.bio-links{display:grid;gap:11px;margin-top:16px}
.bio-link{
  position:relative;
  min-height:64px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  padding:10px 16px 10px 11px;
  color:var(--bio-ink);
  background:var(--bio-surface);
  border:1px solid var(--bio-line);
  border-radius:20px;
  box-shadow:0 12px 28px rgba(64,43,35,.08);
  text-decoration:none;
  backdrop-filter:blur(14px);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.bio-link:hover{transform:translateY(-3px) rotate(-.2deg);border-color:color-mix(in srgb,var(--bio-accent) 38%,var(--bio-line));box-shadow:0 17px 34px rgba(64,43,35,.13)}
.bio-link-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--bio-accent) 12%,white);
  border-radius:14px;
  font-size:19px;
}
.bio-link-label{overflow:hidden;font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.bio-link-arrow{color:var(--bio-accent);font-weight:900;text-align:right}
.bio-link.is-primary{color:#fff;background:var(--bio-accent);border-color:transparent}
.bio-link.is-primary .bio-link-icon{color:var(--bio-accent);background:#fff}
.bio-link.is-primary .bio-link-arrow{color:#fff}
.bio-link.is-outline{background:transparent;border:2px solid color-mix(in srgb,var(--bio-accent) 55%,var(--bio-line))}
.bio-newsletter{
  min-height:86px;
  margin-top:16px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:15px 20px;
  color:#fff;
  background:
    linear-gradient(125deg,color-mix(in srgb,var(--bio-accent) 92%,#6d2744),var(--bio-accent));
  border-radius:24px;
  box-shadow:0 18px 40px color-mix(in srgb,var(--bio-accent) 26%,transparent);
  text-decoration:none;
}
.bio-newsletter-icon{width:52px;height:52px;display:grid;place-items:center;background:rgba(255,255,255,.18);border-radius:17px;font-size:21px}
.bio-newsletter span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.bio-newsletter small{opacity:.76;font-size:10px;font-weight:700}
.bio-newsletter strong{font:700 17px/1.2 "Fraunces",serif}
.bio-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.bio-product{
  min-width:0;
  overflow:hidden;
  color:var(--bio-ink);
  background:var(--bio-surface-strong);
  border:1px solid var(--bio-line);
  border-radius:17px;
  text-decoration:none;
  transition:transform .18s ease;
}
.bio-product:hover{transform:translateY(-3px)}
.bio-product-image{
  aspect-ratio:1;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:color-mix(in srgb,var(--bio-bg) 72%,white);
}
.bio-product-image img{width:100%;height:100%;display:block;object-fit:contain;padding:8px}
.bio-product-image span{font-size:27px}
.bio-product-name{display:block;padding:10px;font-size:10.5px;font-weight:800;line-height:1.25}
.bio-disclosure{margin:12px 2px 0;color:var(--bio-muted);font-size:9px;line-height:1.4}
.bio-footer{padding:30px 18px 0;text-align:center;color:var(--bio-muted);font-size:11px}
.bio-footer p{margin:0 0 7px}
.bio-footer a{font-weight:800;text-underline-offset:3px}
.bio-toast{
  position:fixed;
  z-index:10;
  left:50%;
  bottom:22px;
  padding:11px 16px;
  color:#fff;
  background:#22252b;
  border-radius:999px;
  box-shadow:0 14px 35px rgba(0,0,0,.22);
  font-size:12px;
  font-weight:800;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,12px);
  transition:opacity .2s ease,transform .2s ease;
}
.bio-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.bio-unavailable{
  margin:22vh auto 0;
  padding:32px;
  text-align:center;
  background:var(--bio-surface);
  border:1px solid var(--bio-line);
  border-radius:28px;
  box-shadow:var(--bio-shadow);
}
.bio-unavailable h1{font:700 34px/1.05 "Fraunces",serif}
.bio-unavailable p{color:var(--bio-muted)}
.bio-unavailable a{display:inline-block;margin-top:8px;color:var(--bio-accent);font-weight:800}
body[data-theme="garden"]{
  --bio-line:rgba(60,78,43,.14);
  --bio-shadow:0 22px 60px rgba(55,75,38,.13);
}
body[data-theme="garden"] .bio-logo{border-radius:50%}
body[data-theme="berry"] .bio-logo{border-radius:50% 50% 38% 62% / 48% 44% 56% 52%}
body[data-theme="midnight"]{
  --bio-ink:#f7f3ed;
  --bio-muted:#c5bcc4;
  --bio-surface:rgba(29,26,35,.76);
  --bio-surface-strong:#24202a;
  --bio-line:rgba(255,255,255,.12);
  --bio-shadow:0 22px 60px rgba(0,0,0,.25);
}
body[data-theme="midnight"]::before{opacity:.15}
@media(max-width:620px){
  .bio-shell{width:min(100% - 22px,720px);padding-top:66px}
  .bio-share{top:13px;right:12px}
  .bio-share span:last-child{display:none}
  .bio-logo{width:88px;height:88px;border-radius:27px}
  .bio-video-card{grid-template-columns:1fr}
  .bio-video-image-wrap{min-height:0;aspect-ratio:16/9}
  .bio-video-copy{padding:17px}
  .bio-video-copy strong{font-size:18px}
  .bio-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bio-product-name{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
