:host{
  --ink:#0b1220;
  --muted:#667085;
  --title:#7064f5;
  --primary:#5b78ff;
  --accent:#12a6a5;
  --paper:#ffffff;
  --shadow:rgba(16,24,40,.14);
  --mint:#dff7f0;
  --blue:#dfeafe;
  --lilac:#ebe7ff;
  --rose:#ffe9ef;
  display:block;
  color:var(--ink);
  font:400 16px/1.6 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  contain:layout paint style;
  content-visibility:auto;
  padding-block:8px 36px;
  margin-block-end:8px;
  overflow:visible;
}

:host([hidden]){
  display:none;
}

.smf-hero{
  padding:24px 0;
}

.smf-container{
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
}

.smf-title{
  margin:0 0 36px;
  font-weight:900;
  font-size:clamp(28px,5vw,54px);
  line-height:1.1;
  background:linear-gradient(90deg,var(--title),#8a86ff 55%, #7bc6ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-align:center;
}

.smf-notes{
  display:grid;
  gap:24px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  justify-items:center;
  padding-bottom:24px;
}

@media (max-width:1000px){
  .smf-notes{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:600px){
  .smf-notes{
    grid-template-columns:1fr;
  }
}

.smf-note{
  position:relative;
  background:var(--paper);
  border-radius:20px;
  box-shadow:0 12px 24px var(--shadow);
  padding:20px 18px 18px;
  width:100%;
  max-width:240px;
  text-align:left;
  margin-bottom:6px;
}

.smf-note:nth-child(1){ background:var(--mint); }
.smf-note:nth-child(2){ background:var(--blue); }
.smf-note:nth-child(3){ background:var(--lilac); }
.smf-note:nth-child(4){ background:var(--rose); }

.smf-pin{
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
  width:22px;
  height:22px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #ff98a5 0 45%, #e25a67 60%, #c84855 100%);
  box-shadow:0 8px 14px rgba(194,72,85,.35);
}

.smf-pin::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:radial-gradient(circle at 40% 40%, rgba(255,255,255,.9), rgba(255,255,255,0) 60%);
}

.smf-num{
  display:inline-block;
  font-weight:800;
  font-size:26px;
  opacity:.9;
}

.smf-note h3{
  margin:6px 0 6px;
  font-size:18px;
  font-weight:850;
}

.smf-note p{
  margin:0 0 8px;
  font-size:15.5px;
  color:#273043;
}

.smf-note ul{
  margin:6px 0 0;
  padding-left:18px;
}

.smf-note li{
  margin:0 0 6px;
  font-size:15px;
  color:#273043;
}

.smf-hi{
  color:#e5484d;
  font-weight:800;
}

@media (prefers-reduced-motion:reduce){
  .smf-note,
  .smf-pin{
    transition:none !important;
  }
}