


.acct-wrap { max-width:520px; margin:0 auto; }
.acct-wrap-wide { max-width:820px; margin:0 auto; }


.why-hero { text-align:center; margin:1.2rem 0 1.8rem; }
.why-hero h1 { margin:.2rem 0 .6rem; }
.why-hero .why-sub {
  font-size:1.15rem; color:#2b3346; max-width:38rem; margin:0 auto; line-height:1.55;
}


.why-stats {
  display:grid; grid-template-columns:repeat(4, 1fr); gap:14px;
  margin:0 0 1.8rem; padding:0; list-style:none;
}
.why-stat {
  background:#fff; border:var(--border); border-radius:var(--radius);
  box-shadow:var(--clay); padding:18px 12px 14px; text-align:center;
}
.why-stat .n {
  display:block; font-family:"Nunito",system-ui,sans-serif; font-weight:800;
  font-size:clamp(1.5rem, 3.4vw, 2rem); line-height:1.1; color:var(--color-primary);
}
.why-stat .l { display:block; font-size:.92rem; color:#5b6478; margin-top:4px; line-height:1.35; }
.why-stats > :nth-child(2) .n { color:var(--color-secondary); }
.why-stats > :nth-child(3) .n { color:var(--color-accent); }
.why-stats > :nth-child(4) .n { color:#22A06B; }


.why-cards { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0 0 2rem; }
.why-card {
  background:#fff; border:var(--border); border-radius:var(--radius);
  box-shadow:var(--clay); padding:24px 24px 22px;
}
.why-card .w-ic {
  width:54px; height:54px; border-radius:16px; display:grid; place-items:center;
  box-shadow:var(--clay); margin-bottom:12px; font-size:1.7rem;
}
.why-card:nth-child(1) { border-top:7px solid var(--color-primary); }
.why-card:nth-child(2) { border-top:7px solid var(--color-secondary); }
.why-card:nth-child(1) .w-ic { background:#E3EDFF; }
.why-card:nth-child(2) .w-ic { background:#FFF1D8; }
.why-card h2 { margin:0 0 .5rem; font-size:1.3rem; }
.why-card p { margin:0 0 .6rem; color:#2b3346; line-height:1.55; }
.why-card p:last-child { margin-bottom:0; }


.why-cta { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; align-items:center; margin:0 0 .9rem; }
.why-note { text-align:center; color:#5b6478; font-size:.95rem; max-width:34rem; margin:0 auto 0; }
.why-login { text-align:center; margin:.9rem 0 0; font-size:1rem; }


.btn-acct {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:"Nunito",system-ui,sans-serif; font-weight:700; font-size:1.12rem;
  color:#fff; text-decoration:none; border:0; cursor:pointer;
  background:linear-gradient(135deg, var(--color-primary), #4f7cf5);
  border-radius:999px; padding:14px 30px; min-height:54px; box-shadow:var(--clay);
  transition:transform var(--ease), box-shadow var(--ease), filter var(--ease);
  touch-action:manipulation;
}
.btn-acct:hover { transform:translateY(-2px); filter:brightness(1.05); }
.btn-acct:active { transform:translateY(1px) scale(.98); box-shadow:var(--clay-press); }

.btn-later {
  display:inline-flex; align-items:center; justify-content:center;
  font-family:"Nunito",system-ui,sans-serif; font-weight:700; font-size:1.05rem;
  color:var(--color-primary); text-decoration:none; cursor:pointer;
  background:#fff; border:var(--border); border-radius:999px;
  padding:13px 26px; min-height:54px; box-shadow:var(--clay);
  transition:transform var(--ease), box-shadow var(--ease);
  touch-action:manipulation;
}
.btn-later:hover { transform:translateY(-2px); }
.btn-later:active { transform:translateY(1px); box-shadow:var(--clay-press); }


.btn-google {
  display:flex; align-items:center; justify-content:center; gap:12px; width:100%;
  font-family:"Nunito",system-ui,sans-serif; font-weight:700; font-size:1.05rem;
  color:var(--color-foreground); text-decoration:none;
  background:#fff; border:var(--border); border-radius:999px;
  padding:13px 24px; min-height:54px; box-shadow:var(--clay);
  transition:transform var(--ease), box-shadow var(--ease);
}
.btn-google:hover { transform:translateY(-2px); }
.btn-google:active { transform:translateY(1px); box-shadow:var(--clay-press); }
.btn-google .g-ic { width:22px; height:22px; flex:none; }

.acct-divider {
  display:flex; align-items:center; gap:14px; margin:1.2rem 0;
  color:#5b6478; font-size:.95rem;
}
.acct-divider::before, .acct-divider::after {
  content:""; flex:1; height:2px; background:var(--color-border); border-radius:2px;
}


.acct-card {
  background:#fff; border:var(--border); border-radius:calc(var(--radius) + 4px);
  box-shadow:var(--clay); padding:clamp(24px, 5vw, 40px); margin:1rem 0 1.6rem;
  border-top:7px solid var(--color-primary);
}
.acct-card h1 { font-size:clamp(1.7rem, 4.5vw, 2.3rem); margin:0 0 .4rem; }
.acct-lead { margin:0 0 1.3rem; color:#2b3346; line-height:1.55; }

.acct-form { display:block; }
.acct-field { margin:0 0 1.1rem; }
.acct-field label {
  display:block; font-family:"Nunito",system-ui,sans-serif; font-weight:700;
  font-size:1.02rem; margin-bottom:6px;
}
.acct-input {
  width:100%; font:inherit; color:var(--color-foreground);
  min-height:56px; padding:12px 16px;
  background:#fff; border:var(--border); border-radius:var(--radius-sm);
  box-shadow:inset 0 2px 5px rgba(37,99,235,.07);
}
.acct-input:focus { outline:3px solid var(--color-ring); outline-offset:2px; }
.acct-input::placeholder { color:#8a93a8; opacity:.9; }
.acct-hint { margin:.4rem 0 0; font-size:.9rem; color:#5b6478; }

.acct-submit { width:100%; margin-top:.4rem; }

.acct-err {
  margin:0 0 1rem; padding:12px 16px; border-radius:var(--radius-sm);
  background:#FFF1F2; border:2px solid #FECDD3; color:#B91C1C; font-weight:700;
}
.acct-ok {
  margin:0 0 1rem; padding:12px 16px; border-radius:var(--radius-sm);
  background:#ECFDF3; border:2px solid #A7F3D0; color:#166534; font-weight:700;
}

.acct-alt { text-align:center; margin:1.2rem 0 0; font-size:1rem; color:#2b3346; }
.acct-alt a { font-weight:700; }
.acct-back { text-align:center; margin:.6rem 0 0; }


.profiles-h { text-align:center; margin:1rem 0 .4rem; }
.profiles-sub { text-align:center; color:#5b6478; margin:0 0 1.6rem; font-size:1.05rem; }

.profiles-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
  gap:18px; margin:0 0 2rem; padding:0; list-style:none;
}
.profile-card {
  width:100%; display:flex; flex-direction:column; align-items:center; gap:10px;
  font:inherit; cursor:pointer; text-decoration:none;
  background:#fff; border:var(--border); border-radius:var(--radius);
  box-shadow:var(--clay); padding:22px 12px 18px;
  transition:transform var(--ease), box-shadow var(--ease);
  touch-action:manipulation;
}
.profile-card:hover { transform:translateY(-4px) scale(1.02); }
.profile-card:active { transform:translateY(0) scale(.99); box-shadow:var(--clay-press); }
.profiles-grid > li:nth-child(4n+1) .profile-card { border-top:7px solid var(--color-primary); }
.profiles-grid > li:nth-child(4n+2) .profile-card { border-top:7px solid var(--color-secondary); }
.profiles-grid > li:nth-child(4n+3) .profile-card { border-top:7px solid var(--color-accent); }
.profiles-grid > li:nth-child(4n)   .profile-card { border-top:7px solid #22A06B; }
.profile-avatar {
  width:96px; height:96px; border-radius:28px; display:grid; place-items:center;
  font-size:3.2rem; line-height:1; background:var(--color-muted);
  box-shadow:var(--clay);
}
.profile-name {
  font-family:"Nunito",system-ui,sans-serif; font-weight:800; font-size:1.15rem;
  color:var(--color-foreground); text-align:center;
}
.profile-steps { font-size:.9rem; color:#5b6478; }


.profile-card.profile-add { border-style:dashed; border-color:#c8d6f5; background:var(--color-muted); }
.profile-add .profile-avatar { background:#fff; color:var(--color-primary); font-size:2.8rem; font-weight:700; }


.profile-new {
  background:#fff; border:var(--border); border-radius:calc(var(--radius) + 4px);
  box-shadow:var(--clay); padding:clamp(22px, 4.5vw, 36px); margin:0 0 1.6rem;
  border-top:7px solid var(--color-accent);
}
.profile-new h2 { margin:0 0 .4rem; font-size:1.4rem; }
.profile-new .pn-sub { margin:0 0 1.1rem; color:#5b6478; }
.avatar-pick {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(72px, 1fr));
  gap:12px; border:0; padding:0; margin:0 0 1.2rem;
}
.avatar-pick label { position:relative; display:block; cursor:pointer; }
.avatar-pick input {
  position:absolute; inset:0; width:100%; height:100%; margin:0;
  opacity:0; cursor:pointer;
}
.avatar-pick .av {
  display:grid; place-items:center; aspect-ratio:1; min-height:64px;
  font-size:2.2rem; line-height:1;
  background:var(--color-muted); border:3px solid transparent; border-radius:20px;
  box-shadow:var(--clay); transition:transform var(--ease), border-color var(--ease);
}
.avatar-pick input:checked + .av {
  border-color:var(--color-primary); background:#E3EDFF; transform:scale(1.06);
}
.avatar-pick input:focus-visible + .av {
  outline:3px solid var(--color-ring); outline-offset:3px;
}


.acct-promo {
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  margin:1.6rem 0; padding:16px 20px;
  background:linear-gradient(135deg, #E9F1FF 0%, #F3E9FF 100%);
  border:3px solid #C9DBFC; border-radius:var(--radius);
  box-shadow:var(--clay);
}
.acct-promo .ap-ic {
  flex:none; width:52px; height:52px; display:grid; place-items:center;
  font-size:1.7rem; background:#fff; border:3px solid #C9DBFC; border-radius:16px;
  box-shadow:var(--clay); transform:rotate(-5deg);
}
.acct-promo .ap-text { flex:1 1 260px; min-width:0; }
.acct-promo .ap-h {
  margin:0; font-family:"Nunito",system-ui,sans-serif; font-weight:800;
  font-size:1.08rem; color:var(--color-foreground);
}
.acct-promo .ap-sub { margin:2px 0 0; font-size:.94rem; color:#41507a; line-height:1.45; }
.acct-promo .btn-acct { flex:none; padding:12px 24px; min-height:50px; font-size:1.02rem; }


@media (max-width:860px) {
  .why-stats { grid-template-columns:repeat(2, 1fr); }
  .why-cards { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .why-stats { gap:10px; }
  .why-stat { padding:14px 8px 12px; }
  .why-cta { flex-direction:column; }
  .why-cta .btn-acct, .why-cta .btn-later { width:100%; }
  .profiles-grid { grid-template-columns:repeat(2, 1fr); gap:14px; }
  .profile-avatar { width:84px; height:84px; font-size:2.8rem; }
  .acct-promo { padding:14px 16px; }
  .acct-promo .btn-acct { width:100%; }
}



.acc-dash { max-width:880px; margin:0 auto; }


.acc-lane-count,  .acc-topic-count  { --lane-c:var(--color-primary);   --lane-bg:#E3EDFF; }
.acc-lane-number, .acc-topic-number { --lane-c:var(--color-secondary); --lane-bg:#FFF1D8; }
.acc-lane-shape,  .acc-topic-shape  { --lane-c:var(--color-accent);    --lane-bg:#FDE7F2; }


.acc-kids { display:flex; flex-wrap:wrap; gap:12px; margin:.4rem 0 1.4rem; }
.acc-kid {
  display:inline-flex; align-items:center; gap:8px;
  font-family:"Nunito",system-ui,sans-serif; font-weight:700; font-size:1.05rem;
  color:var(--color-foreground); text-decoration:none;
  background:#fff; border:var(--border); border-radius:999px;
  padding:10px 20px; min-height:48px; box-shadow:var(--clay);
  transition:transform var(--ease), box-shadow var(--ease), border-color var(--ease);
  touch-action:manipulation;
}
.acc-kid:hover { transform:translateY(-2px); }
.acc-kid:active { transform:translateY(1px); box-shadow:var(--clay-press); }
.acc-kid-on {
  border-color:var(--color-primary); background:#E3EDFF; color:var(--color-primary);
}
.acc-kid-add { border-style:dashed; border-color:#c8d6f5; background:var(--color-muted); color:#5b6478; }


.acc-empty {
  background:#fff; border:var(--border); border-radius:calc(var(--radius) + 4px);
  border-top:7px solid var(--color-primary);
  box-shadow:var(--clay); padding:clamp(26px, 5vw, 44px); text-align:center;
}
.acc-empty h1 { margin:0 0 .6rem; }
.acc-empty p { margin:0 auto .8rem; max-width:36rem; color:#2b3346; line-height:1.55; }
.acc-empty-note { font-size:.95rem; color:#5b6478; }
.acc-empty-cta { margin-top:.6rem; }


.acc-hero { margin:0 0 1.6rem; }
.acc-hero-h { margin:.2rem 0 1rem; font-size:clamp(1.6rem, 4vw, 2.1rem); }

.acc-hero-tiles { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0 0 1.1rem; }
.acc-hero-tile {
  background:#fff; border:var(--border); border-radius:calc(var(--radius) + 4px);
  box-shadow:var(--clay); padding:26px 26px 22px; text-align:center;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
}
.acc-hero-topics { border-top:8px solid var(--color-primary); }
.acc-hero-grade  { border-top:8px solid var(--color-secondary); }
.acc-hero-num {
  display:block; font-family:"Nunito",system-ui,sans-serif; font-weight:800;
  font-size:clamp(3rem, 9vw, 4.6rem); line-height:1.05; color:var(--color-primary);
}
.acc-hero-grade-num { color:#B45309; font-size:clamp(2.2rem, 7vw, 3.4rem); }
.acc-hero-num-soft { color:#8a93a8; }
.acc-hero-cap {
  display:block; font-family:"Nunito",system-ui,sans-serif; font-weight:700;
  font-size:1.08rem; color:var(--color-foreground); line-height:1.3; max-width:20rem;
}
.acc-hero-sub { display:block; font-size:.92rem; color:#5b6478; line-height:1.4; max-width:22rem; }


.acc-stats {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:14px;
  margin:0; padding:0; list-style:none;
}
.acc-stat {
  background:#fff; border:var(--border); border-radius:var(--radius);
  box-shadow:var(--clay); padding:16px 12px 13px; text-align:center;
}
.acc-stat-num {
  display:block; font-family:"Nunito",system-ui,sans-serif; font-weight:800;
  font-size:1.7rem; line-height:1.15; color:var(--color-foreground);
}
.acc-stat-of { font-size:1.05rem; font-weight:700; color:#8a93a8; }
.acc-stat-cap { display:block; font-size:.9rem; color:#5b6478; margin-top:3px; line-height:1.35; }


.acc-sec {
  background:#fff; border:var(--border); border-radius:calc(var(--radius) + 4px);
  box-shadow:var(--clay); padding:clamp(20px, 4vw, 30px); margin:0 0 1.4rem;
}
.acc-sec-h { margin:0 0 .5rem; font-size:1.35rem; }
.acc-sec-lead { margin:-.2rem 0 1rem; color:#5b6478; font-size:.97rem; line-height:1.5; max-width:44rem; }


.acc-lanes { margin:0; padding:0; list-style:none; display:grid; gap:16px; }
.acc-lane { display:block; }
.acc-lane-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:6px; }
.acc-lane-name { font-family:"Nunito",system-ui,sans-serif; font-weight:700; font-size:1.08rem; }
.acc-lane-num {
  font-family:"Nunito",system-ui,sans-serif; font-weight:800; font-size:1rem;
  color:var(--lane-c, var(--color-primary)); white-space:nowrap;
}
.acc-lane-track {
  display:block; height:20px; border-radius:999px; overflow:hidden;
  background:var(--color-muted); border:2px solid var(--color-border);
  box-shadow:inset 0 2px 5px rgba(37,99,235,.08);
}
.acc-lane-fill {
  display:block; height:100%; border-radius:999px; min-width:6px;
  background:var(--lane-c, var(--color-primary));
  transition:width .6s cubic-bezier(.22,1,.36,1);
}


.acc-topics {
  margin:0; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:12px;
}
.acc-topic {
  background:var(--color-muted); border:2px solid var(--color-border);
  border-left:6px solid var(--lane-c, var(--color-primary));
  border-radius:var(--radius-sm); padding:12px 14px;
  display:flex; flex-direction:column; gap:6px;
}
.acc-topic-name { font-weight:700; line-height:1.3; }
.acc-topic-done .acc-topic-name::after { content:" ✓"; color:#22A06B; font-weight:800; }
.acc-topic-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; font-size:.85rem; color:#5b6478; }
.acc-topic-tag {
  display:inline-block; padding:2px 10px; border-radius:999px;
  background:var(--lane-bg, #E3EDFF); color:var(--color-foreground);
  font-family:"Nunito",system-ui,sans-serif; font-weight:700; font-size:.78rem;
}
.acc-topic-steps { white-space:nowrap; }


.acc-now { margin:0; padding:0; list-style:none; display:grid; gap:12px; }
.acc-now-item {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:var(--color-muted); border:2px solid var(--color-border);
  border-left:6px solid var(--lane-c, var(--color-primary));
  border-radius:var(--radius-sm); padding:12px 14px;
}
.acc-now-item .acc-topic-name { flex:1 1 auto; min-width:0; }
.acc-streak { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.acc-streak-track {
  display:block; width:130px; height:14px; border-radius:999px; overflow:hidden;
  background:#fff; border:2px solid var(--color-border);
  box-shadow:inset 0 2px 4px rgba(37,99,235,.08);
}
.acc-streak-fill {
  display:block; height:100%; border-radius:999px;
  background:var(--lane-c, var(--color-primary));
  transition:width .6s cubic-bezier(.22,1,.36,1);
}
.acc-streak-num {
  font-family:"Nunito",system-ui,sans-serif; font-weight:800; font-size:.95rem;
  color:var(--lane-c, var(--color-primary)); white-space:nowrap; min-width:44px; text-align:right;
}


.acc-hard-sec { background:#F7F9FF; }
.acc-hard { margin:0; padding:0; list-style:none; display:grid; gap:12px; }
.acc-hard-item {
  display:flex; flex-direction:column; gap:6px;
  background:#fff; border:2px solid var(--color-border);
  border-left:6px solid var(--lane-c, var(--color-primary));
  border-radius:var(--radius-sm); padding:12px 14px;
}
.acc-hard-num { white-space:nowrap; }


.acc-strengths {
  margin:0; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:14px;
}
.acc-strength {
  background:var(--color-muted); border:2px solid var(--color-border);
  border-radius:var(--radius-sm); padding:14px 16px;
  display:flex; flex-direction:column; gap:4px; text-align:center; align-items:center;
}
.acc-strength-name { font-family:"Nunito",system-ui,sans-serif; font-weight:700; font-size:1.02rem; line-height:1.3; }
.acc-strength-num {
  font-family:"Nunito",system-ui,sans-serif; font-weight:800; font-size:1.5rem;
  color:var(--color-primary); line-height:1.1;
}
.acc-strength-delta {
  display:inline-block; padding:3px 12px; border-radius:999px;
  background:#ECFDF3; color:#166534;
  font-family:"Nunito",system-ui,sans-serif; font-weight:700; font-size:.82rem;
}




.acc-note { margin:1.2rem auto .2rem; max-width:44rem; text-align:center; font-size:.88rem; color:#5b6478; line-height:1.5; }
.acc-note-honest { margin-top:.3rem; font-size:.82rem; color:#8a93a8; }


@media (max-width:640px) {
  .acc-hero-tiles { grid-template-columns:1fr; gap:14px; }
  .acc-hero-tile { padding:20px 16px 18px; }
  .acc-stats { grid-template-columns:1fr; gap:10px; }
  .acc-stat { display:flex; align-items:baseline; gap:10px; text-align:left; padding:12px 16px; }
  .acc-stat-num { font-size:1.45rem; flex:none; }
  .acc-stat-cap { margin-top:0; }
  .acc-topics { grid-template-columns:1fr; }
  .acc-now-item { flex-direction:column; align-items:stretch; gap:8px; }
  .acc-streak { justify-content:space-between; }
  .acc-streak-track { flex:1 1 auto; width:auto; }
  .acc-kids { gap:8px; }
  .acc-kid { padding:8px 16px; min-height:44px; font-size:1rem; }
}


.hdr-acct { margin-left: auto; display: flex; align-items: center; }
.hdr-acct-link {
  display: inline-flex; align-items: center; gap: .45em;
  padding: .5em .95em; border-radius: 999px;
  font-family: 'Nunito', system-ui, sans-serif; font-weight: 600; font-size: .95rem;
  color: var(--primary, #2563eb); background: #fff;
  border: 2px solid var(--primary, #2563eb); text-decoration: none;
  box-shadow: 0 2px 0 rgba(37, 99, 235, .18);
  transition: background .15s ease, color .15s ease, transform .12s ease;
  white-space: nowrap;
}
.hdr-acct-link:hover { background: var(--primary, #2563eb); color: #fff; }
.hdr-acct-link:active { transform: translateY(1px); box-shadow: none; }
.hdr-acct-in { color: #0f172a; border-color: #cbd5e1; }
.hdr-acct-in:hover { background: #0f172a; border-color: #0f172a; color: #fff; }
.hdr-acct-ic { font-size: 1.05em; line-height: 1; }

.hdr-acct { gap: .4rem; }

.hdr-author { color: #475569; border-color: #cbd5e1; box-shadow: 0 2px 0 rgba(71,85,105,.14); }
.hdr-author:hover { background: #475569; border-color: #475569; color: #fff; }


@media (max-width: 900px) {
  .hdr-acct { margin-left: auto; gap: .35rem; }
  .hdr-author { display: none; }              
  .hdr-acct-link { padding: .5em .85em; font-size: .92rem; min-height: 44px; }
  .hdr-acct-ic { width: 18px; height: 18px; }
  .nav-burger { margin-left: .3rem; }
}
@media (max-width: 430px) {
  .site-header { padding: 8px 10px; gap: 6px; }
  .site-header .brand { font-size: 1.05rem; }
  .hdr-acct-link { padding: .5em .7em; font-size: .87rem; }
  .nav-burger { padding: 8px 12px; font-size: .92rem; }
}


.mnav-acct { display: flex; flex-direction: column; gap: .1rem; padding: .2rem 0 .6rem;
  border-bottom: 1px solid #e6ecf5; margin-bottom: .5rem; }
.mnav-acct a { display: block; padding: .72em .2em; text-decoration: none;
  font-family: 'Nunito', system-ui, sans-serif; font-weight: 700;
  color: var(--color-primary, #2563eb); font-size: 1.02rem; }
.mnav-acct a:last-child { color: #475569; }


.hdr-acct-short { display: none; }
@media (max-width: 900px) {
  .hdr-acct-full { display: none; }
  .hdr-acct-short { display: inline; }
}


.author-hero { display: flex; gap: 1.4rem; align-items: center; flex-wrap: wrap;
  margin: 1.2rem 0 2rem; font-family: 'Inter', system-ui, sans-serif; }
.author-photo { width: 200px; height: 200px; border-radius: 24px; object-fit: cover;
  box-shadow: 0 10px 28px rgba(16,24,40,.16); flex: none; }
.author-id h1 { font-family: 'Nunito', system-ui, sans-serif;
  font-size: clamp(1.5rem, 3.6vw, 2.1rem); margin: 0 0 .12em; letter-spacing: -.01em; }
.author-cred { margin: 0 0 .3em; font-weight: 700; color: var(--color-primary, #2563eb);
  font-family: 'Nunito', system-ui, sans-serif; letter-spacing: .02em; }
.author-role { margin: 0 0 .7em; color: #4a5768; }
.author-cred .author-dot { color: #9aa7b8; margin: 0 .25em; }

.page-body .author-li, .author-li:link, .author-li:visited { color: #fff; }
.author-li { display: inline-flex; align-items: baseline; gap: .5em; padding: .55em 1.1em;
  border-radius: 999px; text-decoration: none; background: #0a66c2; color: #fff;
  font-weight: 700; font-size: .95rem; font-family: 'Nunito', system-ui, sans-serif;
  box-shadow: 0 2px 0 rgba(10,102,194,.28); }
.author-li-src { font-size: .78rem; font-weight: 600; opacity: .82; letter-spacing: .02em; }
.author-li:hover { filter: brightness(1.08); }
.author-block { margin-bottom: 1.5rem; font-family: 'Inter', system-ui, sans-serif; }
.author-block h2 { font-family: 'Nunito', system-ui, sans-serif; font-size: 1.2rem; margin: 0 0 .35em; }
.author-block p, .author-mission p { margin: 0; line-height: 1.6; color: #253449; font-size: 1.01rem; }
.author-mission { margin: 1.8rem 0; padding: 1.25rem 1.4rem; border-radius: 18px;
  background: linear-gradient(135deg, #eef4ff, #fdf0f7); border: 1px solid #dfe8f7;
  font-family: 'Inter', system-ui, sans-serif; }
.author-mission h2 { font-family: 'Nunito', system-ui, sans-serif; font-size: 1.26rem; margin: 0 0 .4em; }
.author-sign { margin-top: .85em !important; font-weight: 700;
  font-family: 'Nunito', system-ui, sans-serif; color: #4a5768; }
@media (max-width: 700px) {
  .author-hero { gap: 1rem; }
  .author-photo { width: 132px; height: 132px; border-radius: 18px; }
}
