/* ============================================
   SPEE ALIGNER — inner-page sections (captured verbatim from live site)
   #sptp Treatment Plans · #spcl Clear Aligners · #spsc Submit Case · #spct Contact
   ============================================ */
/* --- Treatment Plans --- */
#sptp, #sptp * { box-sizing: border-box !important; margin: 0px !important; padding: 0px !important; -webkit-font-smoothing: antialiased !important; font-family: Geist, "Helvetica Neue", Arial, sans-serif !important; font-feature-settings: "ss01", "cv11" !important; color: rgb(10, 10, 10) !important; text-align: left !important; }
#sptp { position: relative !important; width: 100% !important; background: transparent !important; padding: clamp(96px, 14vh, 160px) 6% !important; overflow: hidden !important; }
#sptp-inner { position: relative !important; max-width: 1200px !important; margin: 0px auto !important; }
#sptp-head { display: flex !important; align-items: center !important; gap: 14px !important; margin-bottom: 24px !important; opacity: 0 !important; transform: translateY(-6px) !important; transition: opacity 0.6s, transform 0.6s !important; }
#sptp-head.si { opacity: 1 !important; transform: translateY(0px) !important; }
#sptp-head::before { content: "" !important; display: block !important; width: 28px !important; height: 1px !important; background: rgb(221, 31, 44) !important; flex-shrink: 0 !important; }
#sptp-head span { font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(90, 90, 90) !important; }
#sptp-h2 { font-weight: 600 !important; font-size: clamp(38px, 4.6vw, 64px) !important; line-height: 1.05 !important; letter-spacing: -0.04em !important; max-width: 900px !important; margin-bottom: 28px !important; }
#sptp-h2 .sptp-row { display: block !important; overflow: hidden !important; padding-bottom: 0.08em !important; }
#sptp-h2 .sptp-row > i { display: inline-block !important; font-style: normal !important; transform: translateY(112%) !important; transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1) !important; }
#sptp-h2 .sptp-row.si > i { transform: translateY(0px) !important; }
#sptp-h2 .sptp-row-1 > i { transition-delay: 0.1s !important; }
#sptp-h2 .sptp-row-2 > i { transition-delay: 0.24s !important; }
#sptp-h2 em { font-style: normal !important; color: rgb(221, 31, 44) !important; font-weight: 600 !important; }
#sptp-lead { font-size: clamp(16px, 1.35vw, 19px) !important; font-weight: 300 !important; line-height: 1.65 !important; color: rgb(74, 74, 74) !important; max-width: 680px !important; letter-spacing: -0.005em !important; margin-bottom: clamp(72px, 10vh, 112px) !important; opacity: 0 !important; transform: translateY(12px) !important; transition: opacity 0.7s 0.55s, transform 0.7s 0.55s !important; }
#sptp-lead.si { opacity: 1 !important; transform: translateY(0px) !important; }
#sptp-lead b { color: rgb(10, 10, 10) !important; font-weight: 500 !important; }
#sptp-pillars { display: flex !important; flex-direction: column !important; position: relative !important; border-top: 1px solid rgba(10, 10, 10, 0.09) !important; }
.sptp-pillar { position: relative !important; display: grid !important; grid-template-columns: 72px minmax(0px, 1fr) minmax(0px, 1.35fr) 96px !important; gap: clamp(20px, 3vw, 48px) !important; align-items: start !important; padding: clamp(32px, 4.5vh, 52px) 0px !important; border-bottom: 1px solid rgba(10, 10, 10, 0.09) !important; opacity: 0 !important; transform: translateY(18px) !important; transition: opacity 0.8s, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) !important; }
.sptp-pillar.si { opacity: 1 !important; transform: translateY(0px) !important; }
.sptp-pillar:nth-child(1) { transition-delay: 0.1s !important; }
.sptp-pillar:nth-child(2) { transition-delay: 0.18s !important; }
.sptp-pillar:nth-child(3) { transition-delay: 0.26s !important; }
.sptp-pillar:nth-child(4) { transition-delay: 0.34s !important; }
.sptp-pillar:nth-child(5) { transition-delay: 0.42s !important; }
.sptp-pillar::before { content: "" !important; position: absolute !important; left: 0px !important; top: -1px !important; width: 0px !important; height: 1px !important; background: rgb(221, 31, 44) !important; transition: width 0.7s cubic-bezier(0.22, 1, 0.36, 1) !important; }
.sptp-pillar:hover::before { width: 100% !important; }
.sptp-num { font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.22em !important; color: rgb(221, 31, 44) !important; font-variant-numeric: tabular-nums !important; padding-top: 4px !important; position: relative !important; }
.sptp-num::after { content: "" !important; display: block !important; width: 22px !important; height: 1px !important; background: rgb(221, 31, 44) !important; margin-top: 10px !important; transform: scaleX(0) !important; transform-origin: left center !important; transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.35s !important; }
.sptp-pillar.si .sptp-num::after { transform: scaleX(1) !important; }
.sptp-pillar:hover .sptp-num::after { width: 38px !important; }
.sptp-label { font-size: clamp(20px, 2.1vw, 28px) !important; font-weight: 600 !important; letter-spacing: -0.025em !important; line-height: 1.15 !important; color: rgb(10, 10, 10) !important; text-transform: none !important; transition: color 0.35s, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important; }
.sptp-eyelabel { display: block !important; font-size: 10.5px !important; font-weight: 500 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(138, 138, 146) !important; margin-bottom: 10px !important; }
.sptp-pillar:hover .sptp-label { color: rgb(221, 31, 44) !important; }
.sptp-body { font-size: clamp(14.5px, 1.15vw, 16px) !important; font-weight: 300 !important; line-height: 1.7 !important; color: rgb(74, 74, 74) !important; letter-spacing: -0.003em !important; max-width: 54ch !important; text-wrap: pretty !important; padding-top: 6px !important; }
.sptp-body b { color: rgb(10, 10, 10) !important; font-weight: 500 !important; }
.sptp-art { width: 96px !important; height: 96px !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 1px solid rgba(10, 10, 10, 0.1) !important; border-radius: 14px !important; background: rgba(255, 255, 255, 0.55) !important; justify-self: end !important; transition: border-color 0.45s, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s, background-color 0.45s !important; }
.sptp-pillar:hover .sptp-art { border-color: rgba(221, 31, 44, 0.55) !important; transform: translateY(-3px) !important; box-shadow: rgba(221, 31, 44, 0.35) 0px 14px 28px -16px !important; background: rgb(255, 255, 255) !important; }
.sptp-art svg { width: 56px !important; height: 56px !important; stroke: rgb(10, 10, 10) !important; fill: none !important; stroke-width: 1.3 !important; stroke-linecap: round !important; stroke-linejoin: round !important; overflow: visible !important; transition: stroke 0.45s, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important; }
.sptp-pillar:hover .sptp-art svg { stroke: rgb(221, 31, 44) !important; transform: scale(1.05) !important; }
.sptp-art svg [data-draw] { stroke-dasharray: var(--len, 200) !important; stroke-dashoffset: var(--len, 200) !important; transition: stroke-dashoffset 1.5s cubic-bezier(0.65, 0, 0.35, 1) !important; }
.sptp-pillar.si .sptp-art svg [data-draw] { stroke-dashoffset: 0 !important; }
.sptp-pillar:nth-child(1).si .sptp-art svg [data-draw] { transition-delay: 0.55s !important; }
.sptp-pillar:nth-child(2).si .sptp-art svg [data-draw] { transition-delay: 0.65s !important; }
.sptp-pillar:nth-child(3).si .sptp-art svg [data-draw] { transition-delay: 0.75s !important; }
.sptp-pillar:nth-child(4).si .sptp-art svg [data-draw] { transition-delay: 0.85s !important; }
.sptp-pillar:nth-child(5).si .sptp-art svg [data-draw] { transition-delay: 0.95s !important; }
.sptp-art svg [data-fade] { opacity: 0 !important; transition: opacity 0.6s 1.6s !important; }
.sptp-pillar.si .sptp-art svg [data-fade] { opacity: 1 !important; }
#sptp-manifesto { margin-top: clamp(80px, 12vh, 140px) !important; padding: clamp(56px, 8vh, 88px) clamp(32px, 5vw, 64px) !important; position: relative !important; border: 1px solid rgba(10, 10, 10, 0.1) !important; border-radius: 20px !important; background: radial-gradient(60% 80% at 100% 0%, rgba(221, 31, 44, 0.05) 0%, transparent 60%), radial-gradient(60% 80% at 0% 100%, rgba(221, 31, 44, 0.04) 0%, transparent 60%), rgba(255, 255, 255, 0.4) !important; overflow: hidden !important; opacity: 0 !important; transform: translateY(18px) !important; transition: opacity 0.9s 0.2s, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.2s !important; }
#sptp-manifesto.si { opacity: 1 !important; transform: translateY(0px) !important; }
#sptp-manifesto::before { content: "" !important; position: absolute !important; inset: 0px !important; background-image: linear-gradient(90deg, rgba(10, 10, 10, 0.035) 1px, transparent 1px), linear-gradient(0deg, rgba(10, 10, 10, 0.035) 1px, transparent 1px) !important; background-size: 48px 48px !important; mask-image: radial-gradient(rgb(0, 0, 0) 30%, transparent 80%) !important; pointer-events: none !important; }
#sptp-manifesto-cap { display: inline-flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 36px !important; position: relative !important; z-index: 1 !important; }
#sptp-manifesto-cap::before { content: "" !important; display: block !important; width: 28px !important; height: 1px !important; background: rgb(221, 31, 44) !important; flex-shrink: 0 !important; }
#sptp-manifesto-cap span { font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(90, 90, 90) !important; }
#sptp-manifesto-lines { position: relative !important; z-index: 1 !important; display: flex !important; flex-direction: column !important; gap: clamp(10px, 1.4vh, 18px) !important; }
.sptp-mf { display: flex !important; align-items: baseline !important; gap: clamp(16px, 2.4vw, 32px) !important; padding-top: 14px !important; border-top: 1px solid rgba(10, 10, 10, 0.08) !important; font-weight: 500 !important; font-size: clamp(30px, 4.4vw, 58px) !important; line-height: 1.12 !important; letter-spacing: -0.035em !important; color: rgb(10, 10, 10) !important; }
.sptp-mf-1 { border-top-width: medium !important; border-top-style: none !important; border-top-color: currentcolor !important; padding-top: 0px !important; }
.sptp-mf-num { flex-shrink: 0 !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.2em !important; color: rgb(221, 31, 44) !important; line-height: 1 !important; font-feature-settings: "tnum" !important; position: relative !important; top: -0.55em !important; opacity: 0 !important; transform: translateY(-4px) !important; transition: opacity 0.5s, transform 0.5s !important; }
.sptp-mf.si .sptp-mf-num { opacity: 1 !important; transform: translateY(0px) !important; }
.sptp-mf .sptp-mf-text { display: block !important; overflow: hidden !important; padding-bottom: 0.1em !important; flex: 1 1 0% !important; min-width: 0px !important; }
.sptp-mf .sptp-mf-text > i { display: inline-block !important; font-style: normal !important; transform: translateY(112%) !important; transition: transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) !important; }
.sptp-mf.si .sptp-mf-text > i { transform: translateY(0px) !important; }
.sptp-mf-1.si .sptp-mf-text > i { transition-delay: 0.1s !important; }
.sptp-mf-1.si .sptp-mf-num { transition-delay: 0.05s !important; }
.sptp-mf-2.si .sptp-mf-text > i { transition-delay: 0.28s !important; }
.sptp-mf-2.si .sptp-mf-num { transition-delay: 0.22s !important; }
.sptp-mf-3.si .sptp-mf-text > i { transition-delay: 0.46s !important; }
.sptp-mf-3.si .sptp-mf-num { transition-delay: 0.4s !important; }
.sptp-mf .sptp-mf-w { color: rgb(138, 138, 146) !important; font-weight: 400 !important; }
.sptp-mf .sptp-mf-em { font-weight: 600 !important; color: rgb(10, 10, 10) !important; }
.sptp-mf .sptp-mf-mark { position: relative !important; display: inline-block !important; color: rgb(10, 10, 10) !important; font-weight: 600 !important; z-index: 1 !important; }
.sptp-mf .sptp-mf-mark::after { content: "" !important; position: absolute !important; left: -4px !important; right: -4px !important; bottom: 0.06em !important; height: 0.2em !important; background: rgb(221, 31, 44) !important; z-index: -1 !important; opacity: 0 !important; transform: scaleX(0) !important; transform-origin: left center !important; transition: opacity 0.55s 1.6s, transform 0.85s cubic-bezier(0.22, 1, 0.36, 1) 1.6s !important; }
.sptp-mf.si .sptp-mf-mark::after { opacity: 1 !important; transform: scaleX(1) !important; }
@media (max-width: 820px) {
  .sptp-pillar { grid-template-columns: 48px minmax(0px, 1fr) !important; grid-template-rows: auto auto auto !important; gap: 14px clamp(18px, 4vw, 28px) !important; }
  .sptp-pillar > .sptp-label-wrap { grid-area: 1 / 2 !important; }
  .sptp-pillar > .sptp-num { grid-area: 1 / 1 !important; }
  .sptp-pillar > .sptp-body { grid-area: 2 / 2 !important; }
  .sptp-pillar > .sptp-art { grid-area: 3 / 2 !important; justify-self: start !important; width: 72px !important; height: 72px !important; margin-top: 6px !important; }
  .sptp-art svg { width: 40px !important; height: 40px !important; }
}
@media (max-width: 540px) {
  #sptp { padding: 80px 6% 96px !important; }
  #sptp-h2 { font-size: clamp(32px, 9vw, 46px) !important; }
  #sptp-lead { margin-bottom: 56px !important; }
  #sptp-manifesto { padding: 44px 24px !important; border-radius: 16px !important; }
  .sptp-mf { font-size: clamp(26px, 9vw, 40px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  #sptp-head, #sptp-lead, .sptp-pillar, #sptp-manifesto { opacity: 1 !important; transform: none !important; }
  #sptp-h2 .sptp-row > i { transform: none !important; }
  .sptp-num::after { transform: scaleX(1) !important; }
  .sptp-art svg [data-draw] { stroke-dashoffset: 0 !important; }
  .sptp-art svg [data-fade] { opacity: 1 !important; }
  .sptp-mf .sptp-mf-num { opacity: 1 !important; transform: none !important; }
  .sptp-mf .sptp-mf-text > i { transform: none !important; }
  .sptp-mf .sptp-mf-mark::after { opacity: 1 !important; transform: scaleX(1) !important; }
}
/* --- Clear Aligners --- */
#spcl, #spcl * { box-sizing: border-box !important; margin: 0px !important; padding: 0px !important; -webkit-font-smoothing: antialiased !important; font-family: Geist, "Helvetica Neue", Arial, sans-serif !important; font-feature-settings: "ss01", "cv11" !important; color: rgb(10, 10, 10) !important; text-align: left !important; }
#spcl { position: relative !important; width: 100% !important; background: transparent !important; padding: clamp(96px, 14vh, 160px) 6% !important; overflow: hidden !important; }
#spcl-inner { position: relative !important; max-width: 1240px !important; margin: 0px auto !important; }
#spcl-head { display: flex !important; align-items: center !important; gap: 14px !important; margin-bottom: 26px !important; opacity: 0 !important; transform: translateY(-6px) !important; transition: opacity 0.6s, transform 0.6s !important; }
#spcl-head.si { opacity: 1 !important; transform: translateY(0px) !important; }
#spcl-head::before { content: "" !important; display: block !important; width: 28px !important; height: 1px !important; background: rgb(221, 31, 44) !important; flex-shrink: 0 !important; }
#spcl-head span { font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(90, 90, 90) !important; }
#spcl-h2 { font-weight: 600 !important; font-size: clamp(40px, 5vw, 72px) !important; line-height: 1.02 !important; letter-spacing: -0.045em !important; max-width: 980px !important; margin-bottom: 30px !important; color: rgb(10, 10, 10) !important; }
#spcl-h2 .spcl-row { display: block !important; overflow: hidden !important; padding-bottom: 0.08em !important; }
#spcl-h2 .spcl-row > i { display: inline-block !important; font-style: normal !important; transform: translateY(112%) !important; transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1) !important; color: rgb(10, 10, 10) !important; }
#spcl-h2 .spcl-row.si > i { transform: translateY(0px) !important; }
#spcl-h2 .spcl-row-1 > i { transition-delay: 0.1s !important; }
#spcl-h2 .spcl-row-2 > i { transition-delay: 0.24s !important; }
#spcl-h2 em { font-style: normal !important; color: rgb(221, 31, 44) !important; font-weight: 600 !important; }
#spcl-lead { font-size: clamp(16px, 1.35vw, 19px) !important; font-weight: 300 !important; line-height: 1.65 !important; color: rgb(74, 74, 74) !important; max-width: 720px !important; letter-spacing: -0.005em !important; margin-bottom: clamp(64px, 9vh, 100px) !important; opacity: 0 !important; transform: translateY(12px) !important; transition: opacity 0.7s 0.55s, transform 0.7s 0.55s !important; }
#spcl-lead.si { opacity: 1 !important; transform: translateY(0px) !important; }
#spcl-lead b { color: rgb(10, 10, 10) !important; font-weight: 500 !important; }
#spcl-hero { position: relative !important; width: 100% !important; aspect-ratio: 16 / 8 !important; margin-bottom: clamp(110px, 14vh, 160px) !important; border-radius: 22px !important; overflow: hidden !important; background: rgb(5, 5, 5) !important; opacity: 0 !important; transform: translateY(20px) !important; transition: opacity 0.9s 0.7s, transform 0.9s 0.7s !important; box-shadow: rgba(0, 0, 0, 0.5) 0px 30px 80px -40px !important; }
#spcl-hero.si { opacity: 1 !important; transform: translateY(0px) !important; }
.spcl-hero-img { position: absolute !important; inset: 0px !important; background-image: url("../images/clear-aligners-hero.jpg") !important; background-size: cover !important; background-position: center 38% !important; transform: scale(1.06) !important; transition: transform 8s ease-out !important; }
#spcl-hero.si .spcl-hero-img { transform: scale(1) !important; }
.spcl-hero-grad { position: absolute !important; inset: 0px !important; background: linear-gradient(rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.55) 100%) !important; pointer-events: none !important; }
.spcl-hero-stamp { position: absolute !important; top: clamp(22px, 3vh, 34px) !important; left: clamp(22px, 3vw, 36px) !important; display: inline-flex !important; align-items: center !important; gap: 11px !important; z-index: 2 !important; opacity: 0 !important; transform: translateY(-6px) !important; transition: opacity 0.6s 1.4s, transform 0.6s 1.4s !important; }
#spcl-hero.si .spcl-hero-stamp { opacity: 1 !important; transform: translateY(0px) !important; }
.spcl-hero-stamp-dot { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: rgb(255, 255, 255) !important; box-shadow: rgba(255, 255, 255, 0.7) 0px 0px 14px !important; flex-shrink: 0 !important; }
.spcl-hero-stamp-text, #spcl .spcl-hero-stamp-text { font-family: Geist, "Helvetica Neue", Arial, sans-serif !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(255, 255, 255) !important; text-shadow: rgba(0, 0, 0, 0.55) 0px 1px 12px !important; }
#spcl-features { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: clamp(20px, 2.4vw, 28px) !important; margin-bottom: clamp(110px, 15vh, 160px) !important; }
.spcl-feat { position: relative !important; padding: clamp(48px, 4.2vw, 60px) clamp(36px, 3.4vw, 44px) !important; background: rgb(255, 255, 255) !important; border: 1px solid rgb(236, 236, 236) !important; border-radius: 20px !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; opacity: 0 !important; transform: translateY(24px) !important; transition: opacity 0.8s, transform 0.8s, border-color 0.3s, box-shadow 0.3s, background 0.3s !important; overflow: hidden !important; }
#spcl .spcl-feat * { text-align: center !important; }
.spcl-feat::after { content: "" !important; position: absolute !important; top: 0px !important; left: 0px !important; width: 100% !important; height: 1px !important; background: linear-gradient(90deg, transparent 0%, rgba(221, 31, 44, 0) 0%, rgba(221, 31, 44, 0) 100%) !important; transition: background 0.5s !important; pointer-events: none !important; }
.spcl-feat:hover { border-color: rgb(216, 216, 216) !important; box-shadow: rgba(0, 0, 0, 0.2) 0px 26px 56px -32px !important; }
.spcl-feat:hover::after { background: linear-gradient(90deg, transparent 0%, rgba(221, 31, 44, 0.5) 50%, transparent 100%) !important; }
#spcl-features.si .spcl-feat { opacity: 1 !important; transform: translateY(0px) !important; }
#spcl-features.si .spcl-feat:nth-child(1) { transition-delay: 0.05s, 0.05s, 0s, 0s, 0s !important; }
#spcl-features.si .spcl-feat:nth-child(2) { transition-delay: 0.18s, 0.18s, 0s, 0s, 0s !important; }
#spcl-features.si .spcl-feat:nth-child(3) { transition-delay: 0.31s, 0.31s, 0s, 0s, 0s !important; }
.spcl-feat-icon { width: 60px !important; height: 60px !important; border-radius: 14px !important; background: linear-gradient(rgb(250, 250, 250) 0%, rgb(243, 243, 243) 100%) !important; border: 1px solid rgb(236, 236, 236) !important; display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 28px !important; transition: background 0.3s, border-color 0.3s, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important; }
.spcl-feat:hover .spcl-feat-icon { background: linear-gradient(rgb(255, 245, 246) 0%, rgb(255, 234, 236) 100%) !important; border-color: rgb(244, 204, 208) !important; transform: translateY(-2px) !important; }
.spcl-feat-icon svg { width: 28px !important; height: 28px !important; display: block !important; fill: none !important; stroke: rgb(26, 26, 26) !important; stroke-width: 1.6 !important; stroke-linecap: round !important; stroke-linejoin: round !important; transition: stroke 0.3s !important; }
.spcl-feat:hover .spcl-feat-icon svg { stroke: rgb(221, 31, 44) !important; }
.spcl-feat-num { font-size: 10px !important; font-weight: 600 !important; letter-spacing: 0.22em !important; color: rgb(221, 31, 44) !important; margin-bottom: 14px !important; display: flex !important; align-items: center !important; gap: 10px !important; text-transform: uppercase !important; }
.spcl-feat-title { font-size: clamp(22px, 2vw, 26px) !important; font-weight: 600 !important; letter-spacing: -0.025em !important; margin-bottom: 14px !important; color: rgb(10, 10, 10) !important; line-height: 1.18 !important; }
.spcl-feat-body { font-size: 15px !important; font-weight: 400 !important; line-height: 1.6 !important; color: rgb(90, 90, 90) !important; }
.spcl-tech { display: grid !important; grid-template-columns: minmax(0px, 0.85fr) minmax(0px, 1.4fr) !important; gap: clamp(40px, 6vw, 96px) !important; align-items: start !important; padding: clamp(56px, 8vh, 80px) 0px !important; border-top: 1px solid rgb(236, 236, 236) !important; position: relative !important; }
.spcl-tech:last-of-type { border-bottom: 1px solid rgb(236, 236, 236) !important; }
.spcl-tech-side { display: flex !important; flex-direction: column !important; gap: 20px !important; opacity: 0 !important; transform: translateY(-4px) !important; transition: opacity 0.6s, transform 0.6s !important; }
.spcl-tech.si .spcl-tech-side { opacity: 1 !important; transform: translateY(0px) !important; }
.spcl-tech-step { font-size: clamp(64px, 7vw, 92px) !important; font-weight: 600 !important; letter-spacing: -0.05em !important; line-height: 1 !important; color: rgb(236, 236, 236) !important; font-feature-settings: "ss01", "cv11", "tnum" !important; }
.spcl-tech-eye { display: inline-flex !important; align-items: center !important; gap: 10px !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(221, 31, 44) !important; }
.spcl-tech-eye::before { content: "" !important; width: 22px !important; height: 1px !important; background: rgb(221, 31, 44) !important; }
.spcl-tech-body { opacity: 0 !important; transform: translateY(16px) !important; transition: opacity 0.8s 0.1s, transform 0.8s 0.1s !important; }
.spcl-tech.si .spcl-tech-body { opacity: 1 !important; transform: translateY(0px) !important; }
.spcl-tech h3 { font-size: clamp(28px, 3.4vw, 44px) !important; font-weight: 600 !important; letter-spacing: -0.04em !important; line-height: 1.06 !important; color: rgb(10, 10, 10) !important; margin-bottom: 22px !important; }
.spcl-tech h3 em { font-style: normal !important; color: rgb(221, 31, 44) !important; font-weight: 600 !important; }
.spcl-tech p { font-size: clamp(15px, 1.2vw, 17px) !important; font-weight: 300 !important; line-height: 1.7 !important; color: rgb(74, 74, 74) !important; max-width: 620px !important; }
#spcl-cta { margin-top: clamp(110px, 15vh, 160px) !important; padding: clamp(56px, 8vh, 92px) clamp(36px, 5vw, 76px) !important; background: rgb(255, 255, 255) !important; border: 1px solid rgb(236, 236, 236) !important; border-radius: 24px !important; display: grid !important; grid-template-columns: minmax(0px, 1.4fr) auto !important; gap: 40px !important; align-items: center !important; opacity: 0 !important; transform: translateY(28px) !important; transition: opacity 0.9s, transform 0.9s !important; position: relative !important; overflow: hidden !important; }
#spcl-cta.si { opacity: 1 !important; transform: translateY(0px) !important; }
#spcl-cta::before { content: "" !important; position: absolute !important; top: -40% !important; right: -20% !important; width: 60% !important; aspect-ratio: 1 / 1 !important; background: radial-gradient(circle, rgba(221, 31, 44, 0.07) 0%, rgba(221, 31, 44, 0) 60%) !important; pointer-events: none !important; }
#spcl-cta .spcl-cta-eye { display: inline-flex !important; align-items: center !important; gap: 10px !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(221, 31, 44) !important; margin-bottom: 18px !important; position: relative !important; }
#spcl-cta .spcl-cta-eye::before { content: "" !important; width: 22px !important; height: 1px !important; background: rgb(221, 31, 44) !important; }
#spcl-cta h3 { font-size: clamp(28px, 3.2vw, 42px) !important; font-weight: 600 !important; letter-spacing: -0.038em !important; line-height: 1.08 !important; color: rgb(10, 10, 10) !important; margin-bottom: 14px !important; max-width: 600px !important; position: relative !important; }
#spcl-cta h3 em { font-style: normal !important; color: rgb(221, 31, 44) !important; font-weight: 600 !important; }
#spcl-cta p { font-size: 15px !important; font-weight: 300 !important; line-height: 1.65 !important; color: rgb(85, 85, 85) !important; max-width: 540px !important; position: relative !important; }
#spcl-cta-btn { display: inline-flex !important; align-items: center !important; gap: 14px !important; padding: 19px 32px !important; background: rgb(221, 31, 44) !important; color: rgb(255, 255, 255) !important; text-decoration: none !important; border-radius: 999px !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0.005em !important; white-space: nowrap !important; transition: background 0.25s, transform 0.25s, box-shadow 0.25s !important; box-shadow: rgba(221, 31, 44, 0.55) 0px 18px 40px -16px !important; position: relative !important; }
#spcl-cta-btn:hover { background: rgb(196, 26, 38) !important; transform: translateY(-2px) !important; box-shadow: rgba(221, 31, 44, 0.75) 0px 24px 48px -16px !important; }
#spcl-cta-btn svg { width: 16px !important; height: 16px !important; display: block !important; transition: transform 0.25s !important; fill: none !important; stroke: currentcolor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
#spcl-cta-btn:hover svg { transform: translateX(4px) !important; }
@media (max-width: 920px) {
  #spcl-features { grid-template-columns: 1fr !important; }
  .spcl-tech { grid-template-columns: 1fr !important; gap: 28px !important; }
  .spcl-tech-side { flex-direction: row !important; align-items: center !important; gap: 16px !important; }
  .spcl-tech-step { font-size: 56px !important; }
  #spcl-cta { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
  #spcl { padding: 80px 6% 88px !important; }
  #spcl-h2 { font-size: clamp(34px, 9vw, 48px) !important; }
  #spcl-hero { aspect-ratio: 4 / 3 !important; }
  .spcl-hero-stamp-text { font-size: 10px !important; letter-spacing: 0.2em !important; }
}
@media (prefers-reduced-motion: reduce) {
  #spcl-head, #spcl-lead, #spcl-hero, .spcl-feat, .spcl-tech-side, .spcl-tech-body, #spcl-cta { opacity: 1 !important; transform: none !important; }
  #spcl-h2 .spcl-row > i { transform: none !important; }
  .spcl-hero-img { transform: scale(1) !important; transition: none !important; }
  .spcl-hero-stamp { opacity: 1 !important; transform: none !important; transition: none !important; }
}
/* --- Submit a Case --- */
#spsc, #spsc * { box-sizing: border-box !important; margin: 0px !important; padding: 0px !important; -webkit-font-smoothing: antialiased !important; font-family: Geist, "Helvetica Neue", Arial, sans-serif !important; font-feature-settings: "ss01", "cv11" !important; color: rgb(10, 10, 10) !important; text-align: left !important; }
#spsc { position: relative !important; width: 100% !important; background: transparent !important; padding: clamp(96px, 14vh, 160px) 6% !important; overflow: hidden !important; }
#spsc-inner { position: relative !important; max-width: 1180px !important; margin: 0px auto !important; }
#spsc-head { display: flex !important; align-items: center !important; justify-content: center !important; gap: 14px !important; margin-bottom: 26px !important; opacity: 0 !important; transform: translateY(-6px) !important; transition: opacity 0.6s, transform 0.6s !important; }
#spsc-head.si { opacity: 1 !important; transform: translateY(0px) !important; }
#spsc-head::before, #spsc-head::after { content: "" !important; display: block !important; width: 28px !important; height: 1px !important; background: rgb(221, 31, 44) !important; flex-shrink: 0 !important; }
#spsc-head span { font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(90, 90, 90) !important; }
#spsc-h2 { font-weight: 600 !important; font-size: clamp(40px, 5vw, 68px) !important; line-height: 1.04 !important; letter-spacing: -0.045em !important; max-width: 880px !important; margin: 0px auto 28px !important; color: rgb(10, 10, 10) !important; text-align: center !important; }
#spsc-h2 .spsc-row { display: block !important; overflow: hidden !important; padding-bottom: 0.08em !important; }
#spsc-h2 .spsc-row > i { display: inline-block !important; font-style: normal !important; transform: translateY(112%) !important; transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1) !important; color: rgb(10, 10, 10) !important; }
#spsc-h2 .spsc-row.si > i { transform: translateY(0px) !important; }
#spsc-h2 .spsc-row-1 > i { transition-delay: 0.1s !important; }
#spsc-h2 .spsc-row-2 > i { transition-delay: 0.24s !important; }
#spsc-h2 em { font-style: normal !important; color: rgb(221, 31, 44) !important; font-weight: 600 !important; }
#spsc-lead { font-size: clamp(16px, 1.35vw, 19px) !important; font-weight: 300 !important; line-height: 1.65 !important; color: rgb(74, 74, 74) !important; max-width: 620px !important; margin: 0px auto clamp(72px, 10vh, 110px) !important; text-align: center !important; letter-spacing: -0.005em !important; opacity: 0 !important; transform: translateY(12px) !important; transition: opacity 0.7s 0.55s, transform 0.7s 0.55s !important; }
#spsc-lead.si { opacity: 1 !important; transform: translateY(0px) !important; }
#spsc-lead b { color: rgb(10, 10, 10) !important; font-weight: 500 !important; }
#spsc-steps { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: clamp(16px, 1.8vw, 24px) !important; margin-bottom: clamp(96px, 14vh, 144px) !important; }
.spsc-step { position: relative !important; padding: clamp(44px, 4vw, 52px) clamp(28px, 2.6vw, 34px) !important; background: rgb(255, 255, 255) !important; border: 1px solid rgb(236, 236, 236) !important; border-radius: 18px !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; opacity: 0 !important; transform: translateY(24px) !important; transition: opacity 0.8s, transform 0.8s, border-color 0.3s, box-shadow 0.3s !important; overflow: hidden !important; }
#spsc .spsc-step * { text-align: center !important; }
.spsc-step:hover { border-color: rgb(216, 216, 216) !important; box-shadow: rgba(0, 0, 0, 0.18) 0px 22px 50px -28px !important; }
#spsc-steps.si .spsc-step { opacity: 1 !important; transform: translateY(0px) !important; }
#spsc-steps.si .spsc-step:nth-child(1) { transition-delay: 0.05s, 0.05s, 0s, 0s !important; }
#spsc-steps.si .spsc-step:nth-child(2) { transition-delay: 0.14s, 0.14s, 0s, 0s !important; }
#spsc-steps.si .spsc-step:nth-child(3) { transition-delay: 0.23s, 0.23s, 0s, 0s !important; }
#spsc-steps.si .spsc-step:nth-child(4) { transition-delay: 0.32s, 0.32s, 0s, 0s !important; }
.spsc-step-top { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 20px !important; margin-bottom: 28px !important; }
.spsc-step-num { font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.22em !important; color: rgb(221, 31, 44) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; }
.spsc-step-num::before, .spsc-step-num::after { content: "" !important; width: 18px !important; height: 1px !important; background: rgb(221, 31, 44) !important; }
.spsc-step-icon { width: 38px !important; height: 38px !important; border-radius: 10px !important; background: linear-gradient(rgb(250, 250, 250) 0%, rgb(243, 243, 243) 100%) !important; border: 1px solid rgb(236, 236, 236) !important; display: flex !important; align-items: center !important; justify-content: center !important; transition: background 0.3s, border-color 0.3s !important; }
.spsc-step:hover .spsc-step-icon { background: linear-gradient(rgb(255, 245, 246) 0%, rgb(255, 234, 236) 100%) !important; border-color: rgb(244, 204, 208) !important; }
.spsc-step-icon svg { width: 18px !important; height: 18px !important; display: block !important; fill: none !important; stroke: rgb(26, 26, 26) !important; stroke-width: 1.6 !important; stroke-linecap: round !important; stroke-linejoin: round !important; transition: stroke 0.3s !important; }
.spsc-step:hover .spsc-step-icon svg { stroke: rgb(221, 31, 44) !important; }
.spsc-step h4 { font-size: clamp(17px, 1.4vw, 19px) !important; font-weight: 600 !important; letter-spacing: -0.02em !important; line-height: 1.25 !important; color: rgb(10, 10, 10) !important; margin-bottom: 10px !important; }
.spsc-step p { font-size: 14px !important; font-weight: 400 !important; line-height: 1.6 !important; color: rgb(90, 90, 90) !important; }
#spsc-panel { position: relative !important; max-width: 720px !important; margin: 0px auto !important; padding: clamp(48px, 6.5vh, 72px) clamp(36px, 5vw, 64px) !important; background: rgb(255, 255, 255) !important; border: 1px solid rgb(236, 236, 236) !important; border-radius: 24px !important; text-align: center !important; overflow: hidden !important; opacity: 0 !important; transform: translateY(28px) !important; transition: opacity 0.9s, transform 0.9s !important; }
#spsc-panel.si { opacity: 1 !important; transform: translateY(0px) !important; }
#spsc-panel::before { content: "" !important; position: absolute !important; top: -40% !important; right: -25% !important; width: 60% !important; aspect-ratio: 1 / 1 !important; background: radial-gradient(circle, rgba(221, 31, 44, 0.07) 0%, rgba(221, 31, 44, 0) 60%) !important; pointer-events: none !important; }
#spsc-panel::after { content: "" !important; position: absolute !important; bottom: -40% !important; left: -25% !important; width: 60% !important; aspect-ratio: 1 / 1 !important; background: radial-gradient(circle, rgba(221, 31, 44, 0.05) 0%, rgba(221, 31, 44, 0) 60%) !important; pointer-events: none !important; }
.spsc-panel-icon { width: 56px !important; height: 56px !important; border-radius: 14px !important; background: linear-gradient(rgb(255, 245, 246) 0%, rgb(255, 234, 236) 100%) !important; border: 1px solid rgb(244, 204, 208) !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin: 0px auto 22px !important; position: relative !important; }
.spsc-panel-icon svg { width: 26px !important; height: 26px !important; display: block !important; fill: none !important; stroke: rgb(221, 31, 44) !important; stroke-width: 1.6 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
#spsc-panel h3 { font-size: clamp(24px, 2.6vw, 32px) !important; font-weight: 600 !important; letter-spacing: -0.032em !important; line-height: 1.15 !important; color: rgb(10, 10, 10) !important; margin-bottom: 14px !important; text-align: center !important; position: relative !important; }
#spsc-panel h3 em { font-style: normal !important; color: rgb(221, 31, 44) !important; font-weight: 600 !important; }
#spsc-panel > p { font-size: 15px !important; font-weight: 300 !important; line-height: 1.65 !important; color: rgb(85, 85, 85) !important; max-width: 460px !important; margin: 0px auto 32px !important; text-align: center !important; position: relative !important; }
#spsc-email-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 12px !important; padding: 18px 30px !important; background: rgb(221, 31, 44) !important; color: rgb(255, 255, 255) !important; text-decoration: none !important; border-radius: 999px !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0.005em !important; white-space: nowrap !important; transition: background 0.25s, transform 0.25s, box-shadow 0.25s !important; box-shadow: rgba(221, 31, 44, 0.55) 0px 18px 40px -16px !important; position: relative !important; margin-bottom: 14px !important; }
#spsc-email-btn:hover { background: rgb(196, 26, 38) !important; transform: translateY(-2px) !important; box-shadow: rgba(221, 31, 44, 0.75) 0px 24px 48px -16px !important; }
#spsc-email-btn svg { width: 16px !important; height: 16px !important; display: block !important; fill: none !important; stroke: currentcolor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.spsc-email-sub { font-size: 12px !important; font-weight: 400 !important; color: rgb(153, 153, 153) !important; letter-spacing: 0.04em !important; text-align: center !important; display: block !important; position: relative !important; }
.spsc-divider { border-width: 1px medium medium !important; border-style: solid none none !important; border-color: rgb(236, 236, 236) currentcolor currentcolor !important; border-image: initial !important; margin: 36px auto !important; max-width: 100% !important; position: relative !important; }
.spsc-list-title { font-size: 10px !important; font-weight: 600 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(221, 31, 44) !important; margin-bottom: 18px !important; text-align: center !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 12px !important; position: relative !important; }
.spsc-list-title::before, .spsc-list-title::after { content: "" !important; display: block !important; width: 18px !important; height: 1px !important; background: rgb(221, 31, 44) !important; }
.spsc-list { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 4px 28px !important; text-align: left !important; position: relative !important; }
.spsc-check { display: flex !important; align-items: center !important; gap: 12px !important; font-size: 14px !important; font-weight: 400 !important; color: rgb(58, 58, 58) !important; padding: 12px 0px !important; border-bottom: 1px solid rgb(240, 240, 240) !important; text-align: left !important; letter-spacing: -0.005em !important; }
.spsc-check svg { width: 16px !important; height: 16px !important; display: block !important; flex-shrink: 0 !important; fill: none !important; stroke: rgb(221, 31, 44) !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
@media (max-width: 920px) {
  #spsc-steps { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  #spsc { padding: 80px 6% 88px !important; }
  #spsc-h2 { font-size: clamp(34px, 9vw, 48px) !important; }
  #spsc-steps { grid-template-columns: 1fr !important; }
  .spsc-list { grid-template-columns: 1fr !important; gap: 0px !important; }
  #spsc-panel { padding: 40px 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
  #spsc-head, #spsc-lead, .spsc-step, #spsc-panel { opacity: 1 !important; transform: none !important; }
  #spsc-h2 .spsc-row > i { transform: none !important; }
}
/* --- Contact --- */
#spct, #spct * { box-sizing: border-box !important; margin: 0px !important; padding: 0px !important; -webkit-font-smoothing: antialiased !important; font-family: Geist, "Helvetica Neue", Arial, sans-serif !important; font-feature-settings: "ss01", "cv11" !important; color: rgb(10, 10, 10) !important; text-align: left !important; }
#spct { position: relative !important; width: 100% !important; background: transparent !important; padding: clamp(96px, 14vh, 160px) clamp(28px, 6vw, 96px) !important; overflow: hidden !important; }
#spct-inner { position: relative !important; max-width: 1180px !important; margin-left: auto !important; margin-right: auto !important; }
#spct-head { display: flex !important; align-items: center !important; justify-content: center !important; gap: 14px !important; margin-bottom: 26px !important; opacity: 0 !important; transform: translateY(-6px) !important; transition: opacity 0.6s, transform 0.6s !important; }
#spct-head.si { opacity: 1 !important; transform: translateY(0px) !important; }
#spct-head::before, #spct-head::after { content: "" !important; display: block !important; width: 28px !important; height: 1px !important; background: rgb(221, 31, 44) !important; flex-shrink: 0 !important; }
#spct-head span { font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(90, 90, 90) !important; }
#spct-h2 { font-weight: 600 !important; font-size: clamp(40px, 5vw, 68px) !important; line-height: 1.04 !important; letter-spacing: -0.045em !important; max-width: 880px !important; margin: 0px auto 28px !important; color: rgb(10, 10, 10) !important; text-align: center !important; }
#spct-h2 .spct-row { display: block !important; overflow: hidden !important; padding-bottom: 0.08em !important; }
#spct-h2 .spct-row > i { display: inline-block !important; font-style: normal !important; transform: translateY(112%) !important; transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1) !important; color: rgb(10, 10, 10) !important; }
#spct-h2 .spct-row.si > i { transform: translateY(0px) !important; }
#spct-h2 .spct-row-1 > i { transition-delay: 0.1s !important; }
#spct-h2 .spct-row-2 > i { transition-delay: 0.24s !important; }
#spct-h2 em { font-style: normal !important; color: rgb(221, 31, 44) !important; font-weight: 600 !important; }
#spct-lead { font-size: clamp(16px, 1.35vw, 19px) !important; font-weight: 300 !important; line-height: 1.65 !important; color: rgb(74, 74, 74) !important; max-width: 620px !important; margin: 0px auto clamp(72px, 10vh, 110px) !important; text-align: center !important; letter-spacing: -0.005em !important; opacity: 0 !important; transform: translateY(12px) !important; transition: opacity 0.7s 0.55s, transform 0.7s 0.55s !important; }
#spct-lead.si { opacity: 1 !important; transform: translateY(0px) !important; }
#spct-lead b { color: rgb(10, 10, 10) !important; font-weight: 500 !important; }
#spct-card { display: grid !important; grid-template-columns: minmax(0px, 0.85fr) minmax(0px, 1.15fr) !important; background: rgb(255, 255, 255) !important; border: 1px solid rgb(236, 236, 236) !important; border-radius: 24px !important; overflow: hidden !important; opacity: 0 !important; transform: translateY(28px) !important; transition: opacity 0.9s, transform 0.9s !important; box-shadow: rgba(0, 0, 0, 0.18) 0px 30px 80px -50px !important; }
#spct-card.si { opacity: 1 !important; transform: translateY(0px) !important; }
.spct-left { position: relative !important; padding: clamp(44px, 5vw, 60px) clamp(36px, 4vw, 52px) !important; background: linear-gradient(165deg, rgb(250, 250, 250) 0%, rgb(244, 244, 244) 100%) !important; border-right: 1px solid rgb(236, 236, 236) !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
.spct-left::before { content: "" !important; position: absolute !important; top: -30% !important; right: -25% !important; width: 70% !important; aspect-ratio: 1 / 1 !important; background: radial-gradient(circle, rgba(221, 31, 44, 0.07) 0%, rgba(221, 31, 44, 0) 60%) !important; pointer-events: none !important; }
.spct-eye { display: inline-flex !important; align-items: center !important; gap: 10px !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: rgb(221, 31, 44) !important; margin-bottom: 18px !important; position: relative !important; }
.spct-eye::before { content: "" !important; width: 22px !important; height: 1px !important; background: rgb(221, 31, 44) !important; }
.spct-left h3 { font-size: clamp(24px, 2.4vw, 30px) !important; font-weight: 600 !important; letter-spacing: -0.032em !important; line-height: 1.18 !important; color: rgb(10, 10, 10) !important; margin-bottom: 16px !important; position: relative !important; }
.spct-left h3 em { font-style: normal !important; color: rgb(221, 31, 44) !important; font-weight: 600 !important; }
.spct-left > p { font-size: 15px !important; font-weight: 300 !important; line-height: 1.65 !important; color: rgb(74, 74, 74) !important; margin-bottom: 36px !important; position: relative !important; }
.spct-info { display: flex !important; flex-direction: column !important; gap: 4px !important; position: relative !important; margin-top: auto !important; }
.spct-irow { display: flex !important; align-items: center !important; gap: 16px !important; padding: 18px 0px !important; border-top: 1px solid rgb(236, 236, 236) !important; }
.spct-irow:last-child { border-bottom: 1px solid rgb(236, 236, 236) !important; }
.spct-icon { width: 40px !important; height: 40px !important; min-width: 40px !important; border-radius: 10px !important; background: rgb(255, 255, 255) !important; border: 1px solid rgb(236, 236, 236) !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; transition: background 0.3s, border-color 0.3s !important; }
.spct-irow:hover .spct-icon { background: linear-gradient(rgb(255, 245, 246) 0%, rgb(255, 234, 236) 100%) !important; border-color: rgb(244, 204, 208) !important; }
.spct-icon svg { width: 18px !important; height: 18px !important; display: block !important; fill: none !important; stroke: rgb(26, 26, 26) !important; stroke-width: 1.6 !important; stroke-linecap: round !important; stroke-linejoin: round !important; transition: stroke 0.3s !important; }
.spct-irow:hover .spct-icon svg { stroke: rgb(221, 31, 44) !important; }
.spct-itxt { display: flex !important; flex-direction: column !important; min-width: 0px !important; flex: 1 1 0% !important; }
.spct-ilabel { font-size: 10px !important; font-weight: 600 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: rgb(138, 138, 138) !important; margin-bottom: 4px !important; }
.spct-ival, a.spct-ival { font-size: 15px !important; font-weight: 500 !important; color: rgb(10, 10, 10) !important; letter-spacing: -0.015em !important; text-decoration: none !important; transition: color 0.25s !important; word-break: break-word !important; }
a.spct-ival:hover { color: rgb(221, 31, 44) !important; }
.spct-right { padding: clamp(44px, 5vw, 60px) clamp(36px, 4vw, 56px) !important; background: rgb(255, 255, 255) !important; display: flex !important; flex-direction: column !important; }
.spct-ftitle { font-size: clamp(20px, 2vw, 24px) !important; font-weight: 600 !important; letter-spacing: -0.025em !important; color: rgb(10, 10, 10) !important; margin-bottom: 8px !important; }
.spct-fsub { font-size: 13px !important; font-weight: 400 !important; color: rgb(138, 138, 138) !important; margin-bottom: 28px !important; letter-spacing: -0.005em !important; }
.spct-fgroup { position: relative !important; margin-bottom: 14px !important; display: block !important; }
.spct-flabel { display: block !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: -0.005em !important; color: rgb(26, 26, 26) !important; margin-bottom: 8px !important; transition: color 0.25s !important; }
.spct-flabel em { font-style: normal !important; color: rgb(221, 31, 44) !important; font-weight: 600 !important; }
.spct-fgroup:focus-within .spct-flabel { color: rgb(221, 31, 44) !important; }
.spct-field { width: 100% !important; height: 52px !important; padding: 0px 18px !important; border: 1px solid rgb(226, 226, 226) !important; border-radius: 12px !important; font-size: 15px !important; font-family: Geist, "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important; letter-spacing: -0.01em !important; background: rgb(255, 255, 255) !important; color: rgb(10, 10, 10) !important; outline: none !important; display: block !important; line-height: 1.4 !important; transition: border-color 0.25s, box-shadow 0.25s !important; }
.spct-field::placeholder { color: rgb(176, 176, 176) !important; opacity: 1 !important; font-weight: 400 !important; }
.spct-field:hover { border-color: rgb(207, 207, 207) !important; }
.spct-field:focus { border-color: rgb(221, 31, 44) !important; box-shadow: rgba(221, 31, 44, 0.08) 0px 0px 0px 4px !important; }
.spct-textarea { height: auto !important; min-height: 132px !important; resize: vertical !important; padding: 16px 18px !important; line-height: 1.55 !important; }
.spct-actions { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; margin-top: 8px !important; flex-wrap: wrap !important; }
.spct-fine { font-size: 12px !important; font-weight: 400 !important; color: rgb(153, 153, 153) !important; line-height: 1.5 !important; flex: 1 1 0% !important; min-width: 200px !important; letter-spacing: -0.005em !important; }
.spct-btn, #spct .spct-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 12px !important; padding: 16px 28px !important; background: rgb(221, 31, 44) !important; color: rgb(255, 255, 255) !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: initial !important; text-decoration: none !important; border-radius: 999px !important; font-size: 15px !important; font-weight: 600 !important; font-family: Geist, "Helvetica Neue", Arial, sans-serif !important; letter-spacing: 0.005em !important; white-space: nowrap !important; cursor: pointer !important; transition: background 0.25s, transform 0.25s, box-shadow 0.25s, opacity 0.25s !important; box-shadow: rgba(221, 31, 44, 0.55) 0px 16px 36px -16px !important; }
#spct .spct-btn, #spct .spct-btn .spct-btn-text { color: rgb(255, 255, 255) !important; }
.spct-btn:hover:not(:disabled) { background: rgb(196, 26, 38) !important; transform: translateY(-2px) !important; box-shadow: rgba(221, 31, 44, 0.75) 0px 22px 44px -16px !important; }
.spct-btn:disabled { opacity: 0.6 !important; cursor: not-allowed !important; }
.spct-btn-text { color: rgb(255, 255, 255) !important; font-weight: 600 !important; font-size: 15px !important; font-family: Geist, "Helvetica Neue", Arial, sans-serif !important; }
.spct-btn svg { width: 16px !important; height: 16px !important; display: block !important; fill: none !important; stroke: rgb(255, 255, 255) !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; transition: transform 0.25s !important; }
.spct-btn:hover:not(:disabled) svg { transform: translateX(4px) !important; }
#spct-error { display: none !important; font-size: 13px !important; font-weight: 500 !important; color: rgb(221, 31, 44) !important; margin-top: 14px !important; padding: 12px 16px !important; background: rgba(221, 31, 44, 0.06) !important; border-radius: 10px !important; border: 1px solid rgba(221, 31, 44, 0.18) !important; }
#spct-error.show { display: block !important; }
#spct-success { display: none !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; gap: 16px !important; padding: 40px 0px !important; flex: 1 1 0% !important; }
#spct-success.show { display: flex !important; }
.spct-sicon { width: 64px !important; height: 64px !important; border-radius: 16px !important; background: linear-gradient(rgb(255, 245, 246) 0%, rgb(255, 234, 236) 100%) !important; border: 1px solid rgb(244, 204, 208) !important; display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 8px !important; }
.spct-sicon svg { width: 28px !important; height: 28px !important; display: block !important; fill: none !important; stroke: rgb(221, 31, 44) !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.spct-sh { font-size: clamp(20px, 2vw, 24px) !important; font-weight: 600 !important; letter-spacing: -0.025em !important; color: rgb(10, 10, 10) !important; text-align: center !important; }
.spct-sh em { font-style: normal !important; color: rgb(221, 31, 44) !important; font-weight: 600 !important; }
.spct-sp { font-size: 14px !important; font-weight: 300 !important; color: rgb(85, 85, 85) !important; line-height: 1.65 !important; max-width: 360px !important; text-align: center !important; }
.spct-reset { margin-top: 10px !important; background: transparent !important; border: 1px solid rgb(226, 226, 226) !important; border-radius: 999px !important; padding: 12px 22px !important; font-size: 13px !important; font-weight: 500 !important; font-family: Geist, "Helvetica Neue", Arial, sans-serif !important; color: rgb(26, 26, 26) !important; cursor: pointer !important; transition: border-color 0.25s, color 0.25s, background 0.25s !important; }
.spct-reset:hover { border-color: rgb(221, 31, 44) !important; color: rgb(221, 31, 44) !important; background: rgba(221, 31, 44, 0.04) !important; }
@media (max-width: 880px) {
  #spct-card { grid-template-columns: 1fr !important; }
  .spct-left { border-right-width: medium !important; border-right-style: none !important; border-right-color: currentcolor !important; border-bottom: 1px solid rgb(236, 236, 236) !important; }
  .spct-info { margin-top: 24px !important; }
}
@media (max-width: 600px) {
  #spct { padding: 80px 6% 88px !important; }
  #spct-h2 { font-size: clamp(34px, 9vw, 48px) !important; }
  .spct-actions { flex-direction: column !important; align-items: stretch !important; }
  .spct-btn { width: 100% !important; }
  .spct-fine { text-align: center !important; }
}
@media (prefers-reduced-motion: reduce) {
  #spct-head, #spct-lead, #spct-card { opacity: 1 !important; transform: none !important; }
  #spct-h2 .spct-row > i { transform: none !important; }
}