/* Sky Web Design — Founder Profile (skyweb_founder).
   Loaded only on pages holding the widget (Skyweb_Site::assets). Uses the
   stack tokens: --sw-ink, --sw-muted, --sw-line, --sw-surface, --sw-soft, --sw-blue. */

.sw-founder { max-width: var(--sw-max); margin: 0 auto; padding: 128px 24px 0; }
.sw-founder section { padding-top: 120px; }
.sw-fd__label { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: var(--sw-muted); font-size: 15px; font-weight: 500; }
.sw-fd__label::before { content: ""; flex: none; width: 18px; height: 2px; border-radius: 2px; background: var(--sw-blue); }
.sw-founder h2 { max-width: 18em; margin: 0 0 28px; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.06; letter-spacing: -0.03em; }
.sw-fd__p { max-width: 36em; margin: 0 0 1em; color: var(--sw-muted); font-size: 18px; line-height: 1.65; }

/* ------------------------------- hero ------------------------------- */

.sw-fd-hero { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: end; }
.sw-fd-hero__photo { margin: 0; overflow: hidden; border-radius: 28px; background: var(--sw-surface); box-shadow: 0 0 0 1px var(--sw-line), 0 40px 90px -40px rgba(74, 114, 255, .45); }
body.sw-site .sw-fd-hero__photo img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.sw-fd-hero h1 { margin: 0; font-size: clamp(48px, 7vw, 104px); line-height: .94; letter-spacing: -0.045em; }
.sw-fd-hero__intro { max-width: 30em; margin: 24px 0 0; font-size: 20px; line-height: 1.5; }
.sw-fd-hero__links { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 0; padding: 0; list-style: none; }
.sw-fd-hero__links a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--sw-line); border-radius: 999px; color: var(--sw-ink); font-size: 14.5px; font-weight: 500; text-decoration: none; transition: border-color .2s, background .2s; }
.sw-fd-hero__links a:hover { border-color: var(--sw-blue); background: var(--sw-soft); }
.sw-fd-hero__links span { color: var(--sw-blue); }
.sw-fd-hero__facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 24px 0 0; border-top: 1px solid var(--sw-line); }
.sw-fd-hero__facts div { padding: 18px 20px 0 0; }
.sw-fd-hero__facts div + div { padding-left: 20px; border-left: 1px solid var(--sw-line); }
.sw-fd-hero__facts dt { margin-bottom: 6px; color: var(--sw-muted); font-size: 13px; }
.sw-fd-hero__facts dd { margin: 0; font-size: 16px; font-weight: 500; }

/* ------------------------------- story ------------------------------ */

.sw-fd-story { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 80px; align-items: start; }
.sw-fd-story__tl { margin: 0; padding: 32px; border: 1px solid var(--sw-line); border-radius: 24px; background: var(--sw-surface); list-style: none; }
.sw-fd-story__tl li { display: grid; grid-template-columns: 64px 1fr; gap: 16px; padding: 14px 0; border-top: 1px solid var(--sw-line); font-size: 15.5px; line-height: 1.5; }
.sw-fd-story__tl li:first-child { border-top: 0; padding-top: 0; }
.sw-fd-story__tl b { color: var(--sw-blue); font-family: var(--sw-font-mono); font-size: 14px; font-weight: 600; }

/* ------------------------------- build ------------------------------ */

.sw-fd-build__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.sw-fd-build__item { padding: 28px; border: 1px solid var(--sw-line); border-radius: 22px; background: var(--sw-surface); }
.sw-fd-build__item span { color: var(--sw-blue); font: 600 13px/1 var(--sw-font-mono); }
.sw-fd-build__item h3 { margin: 18px 0 10px; font-size: 21px; letter-spacing: -0.02em; }
.sw-fd-build__item p { margin: 0; color: var(--sw-muted); font-size: 15.5px; line-height: 1.55; }
.sw-fd-build__skills { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0; padding: 0; list-style: none; }
.sw-fd-build__skills li { padding: 7px 13px; border-radius: 999px; background: var(--sw-soft); font-size: 13.5px; }

/* ------------------------- products and work ------------------------ */

.sw-fd-list__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.sw-fd-list__cards a { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 24px; border: 1px solid var(--sw-line); border-radius: 20px; background: var(--sw-surface); color: var(--sw-ink); text-decoration: none; transition: border-color .2s, transform .2s; }
.sw-fd-list__cards a:hover { border-color: var(--sw-blue); transform: translateY(-2px); }
.sw-fd-list__cards b { font-size: 18px; letter-spacing: -0.015em; }
.sw-fd-list__cards span { color: var(--sw-muted); font-size: 15px; line-height: 1.5; }
.sw-fd-list__rows { margin: 0; padding: 0; border-top: 1px solid var(--sw-line); list-style: none; }
.sw-fd-list__rows a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 24px; gap: 16px; align-items: center; padding: 20px 4px; border-bottom: 1px solid var(--sw-line); color: var(--sw-ink); text-decoration: none; transition: padding .2s, color .2s; }
.sw-fd-list__rows a:hover { padding-left: 14px; color: var(--sw-blue); }
.sw-fd-list__rows b { font-size: clamp(19px, 2vw, 26px); letter-spacing: -0.02em; }
.sw-fd-list__rows span { color: var(--sw-muted); font-size: 15px; }
.sw-fd-list__rows i { font-style: normal; color: var(--sw-blue); }

/* --------------------------- education + cta ------------------------- */

.sw-fd-edu__row { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 120px; gap: 16px; padding: 20px 4px; border-top: 1px solid var(--sw-line); border-bottom: 1px solid var(--sw-line); font-size: 17px; }
.sw-fd-edu__row span { color: var(--sw-muted); }
.sw-fd-cta { margin: 120px 0 64px; padding: clamp(36px, 6vw, 80px) !important; border-radius: 32px; background: var(--sw-surface); box-shadow: inset 0 0 0 1px var(--sw-line); text-align: center; }
.sw-fd-cta h2 { margin: 0 auto 16px; }
.sw-fd-cta p { max-width: 32em; margin: 0 auto 28px; color: var(--sw-muted); font-size: 18px; }

@media (max-width: 1024px) {
  .sw-fd-build__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-fd-list__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-fd-story { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 760px) {
  .sw-founder { padding: 104px 16px 0; }
  .sw-founder section { padding-top: 80px; }
  .sw-fd-hero { grid-template-columns: 1fr; gap: 28px; }
  .sw-fd-hero__photo { max-width: 320px; }
  .sw-fd-hero__intro { font-size: 18px; }
  .sw-fd-hero__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-fd-hero__facts div:nth-child(3) { padding-left: 0; border-left: 0; }
  .sw-fd-build__grid,
  .sw-fd-list__cards { grid-template-columns: 1fr; }
  .sw-fd-list__rows a { grid-template-columns: 1fr 24px; }
  .sw-fd-list__rows span { grid-column: 1; }
  .sw-fd-edu__row { grid-template-columns: 1fr; gap: 4px; }
  .sw-fd-cta { margin: 80px 0 40px; }
}
@media (prefers-reduced-motion: no-preference) {
  .sw-fd-hero__photo { animation: sw-fd-rise .8s cubic-bezier(.2, .7, .2, 1) both .05s; }
}
@keyframes sw-fd-rise { from { transform: translateY(30px) scale(.98); } to { transform: none; } }

/* ------------------------- Founder Spotlight ------------------------- */

.sw-fcard { position: relative; display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; max-width: 1120px; margin: 0 auto; padding: clamp(20px, 3vw, 36px); border: 1px solid var(--sw-line); border-radius: 32px; background: radial-gradient(120% 140% at 0% 0%, rgba(74, 114, 255, .16), transparent 55%), var(--sw-surface); overflow: hidden; }
.sw-fcard__photo { display: block; overflow: hidden; border-radius: 22px; box-shadow: 0 0 0 1px var(--sw-line), 0 30px 70px -30px rgba(74, 114, 255, .55); }
body.sw-site .sw-fcard__photo img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.sw-fcard__photo:hover img { transform: scale(1.03); }
.sw-fcard__body { padding: 8px clamp(0px, 2vw, 20px) 8px 0; }
.sw-fcard__name { margin: 0; font-size: clamp(36px, 4.4vw, 60px); line-height: 1; letter-spacing: -0.04em; }
.sw-fcard__name a { color: var(--sw-ink); text-decoration: none; }
.sw-fcard__intro { max-width: 34em; margin: 18px 0 0; color: var(--sw-muted); font-size: 17.5px; line-height: 1.6; }
.sw-fcard__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 26px 0 0; border-top: 1px solid var(--sw-line); }
.sw-fcard__facts div { padding: 14px 16px 0 0; }
.sw-fcard__facts div + div { padding-left: 16px; border-left: 1px solid var(--sw-line); }
.sw-fcard__facts dt { margin-bottom: 4px; color: var(--sw-muted); font-size: 12.5px; }
.sw-fcard__facts dd { margin: 0; font-size: 15px; font-weight: 500; }
.sw-fcard__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.sw-fcard__links { margin-top: 18px; }
.sw-fcard__links a { padding: 7px 13px; font-size: 13px; }
@media (max-width: 860px) {
  .sw-fcard { grid-template-columns: 1fr; }
  .sw-fcard__photo { max-width: 320px; }
  .sw-fcard__body { padding: 0; }
}
@media (max-width: 480px) {
  .sw-fcard__facts { grid-template-columns: 1fr 1fr; }
  .sw-fcard__facts div:nth-child(3) { padding-left: 0; border-left: 0; }
}
