
/* ServAI flagship family taxonomy — 2026-08-26 */
.flagship-page{background:var(--bg,#0b0a08);color:var(--ink,#f2eee4)}
.ff-hero{padding:150px 0 78px;border-bottom:1px solid var(--line,rgba(255,255,255,.12));position:relative;overflow:hidden}
.ff-hero:before{content:"";position:absolute;inset:-20% 35% auto -10%;height:520px;background:radial-gradient(circle,rgba(200,164,100,.14),transparent 68%);pointer-events:none}
.ff-kicker{font:600 12px/1.4 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,#c8a464);margin-bottom:20px}
.ff-hero h1{font-size:clamp(42px,6vw,82px);line-height:.98;letter-spacing:-.045em;max-width:1050px;margin:0}
.ff-hero h1 em{font-style:normal;color:var(--gold,#c8a464)}
.ff-lead{max-width:860px;font-size:clamp(17px,2vw,21px);line-height:1.65;color:var(--ink-muted,#aaa398);margin-top:28px}
.ff-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line,rgba(255,255,255,.12));border-top:1px solid var(--line,rgba(255,255,255,.12));border-bottom:1px solid var(--line,rgba(255,255,255,.12))}
.ff-strip a{background:var(--bg,#0b0a08);padding:20px 16px;text-decoration:none;color:inherit}.ff-strip b{display:block;font-size:13px}.ff-strip span{display:block;color:var(--ink-faint,#777);font-size:11px;margin-top:5px}
.ff-section{padding:84px 0}.ff-head{max-width:800px;margin-bottom:36px}.ff-head h2{font-size:clamp(32px,4vw,54px);line-height:1.04;letter-spacing:-.035em;margin:0}.ff-head p{color:var(--ink-muted,#aaa398);font-size:17px;line-height:1.65;margin-top:16px}
.ff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ff-card{position:relative;min-height:265px;padding:28px;border:1px solid var(--line,rgba(255,255,255,.12));background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.005));text-decoration:none;color:inherit;overflow:hidden;transition:transform .25s ease,border-color .25s ease}.ff-card:hover{transform:translateY(-4px);border-color:rgba(200,164,100,.55)}.ff-card:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(200,164,100,.12);border-radius:50%;right:-80px;bottom:-90px}.ff-num{font:500 11px/1.3 'IBM Plex Mono',monospace;color:var(--gold,#c8a464);letter-spacing:.12em}.ff-card h3{font-size:27px;letter-spacing:-.025em;margin:34px 0 10px}.ff-card p{color:var(--ink-muted,#aaa398);line-height:1.55;margin:0;max-width:360px}.ff-card .ff-go{position:absolute;left:28px;bottom:24px;color:var(--gold,#c8a464);font-size:13px}.ff-card .ff-verb{position:absolute;right:22px;top:24px;font:500 10px/1 'IBM Plex Mono',monospace;letter-spacing:.12em;color:var(--ink-faint,#777)}
.ff-compose{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}.ff-compose-box{padding:34px;border:1px solid var(--line,rgba(255,255,255,.12));background:var(--bg-alt,#11100d)}.ff-formula{font-size:clamp(23px,3vw,38px);line-height:1.35;letter-spacing:-.025em}.ff-formula b{color:var(--gold,#c8a464)}.ff-note{margin-top:20px;color:var(--ink-muted,#aaa398);line-height:1.65}.ff-stack{display:grid;gap:9px}.ff-stack div{padding:14px 16px;border:1px solid var(--line,rgba(255,255,255,.12));font-size:13px}.ff-stack b{color:var(--gold,#c8a464);margin-right:8px}
.ff-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ff-cap{padding:25px;border:1px solid var(--line,rgba(255,255,255,.12));background:var(--bg-alt,#11100d)}.ff-cap h3{margin:0 0 10px;font-size:20px}.ff-cap p{margin:0;color:var(--ink-muted,#aaa398);line-height:1.6}.ff-status{display:inline-flex;padding:7px 10px;border:1px solid rgba(200,164,100,.35);color:var(--gold,#c8a464);font:600 10px/1 'IBM Plex Mono',monospace;letter-spacing:.1em;margin-top:20px}
@media(max-width:900px){.ff-grid{grid-template-columns:1fr 1fr}.ff-strip{grid-template-columns:1fr 1fr}.ff-compose,.ff-detail-grid{grid-template-columns:1fr}.ff-hero{padding-top:118px}}
@media(max-width:620px){.ff-grid,.ff-strip{grid-template-columns:1fr}.ff-card{min-height:235px}.ff-section{padding:62px 0}}


/* Homepage flagship family strip */
.home-flagship-band{padding:64px 0 80px;border-top:1px solid var(--line,rgba(255,255,255,.12));border-bottom:1px solid var(--line,rgba(255,255,255,.12));background:radial-gradient(circle at 16% -4%,rgba(200,164,100,.07),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.008),rgba(255,255,255,.02))}
.home-flagship-shell{position:relative;padding:36px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(160deg,rgba(255,255,255,.02),rgba(255,255,255,.005));overflow:hidden;box-shadow:0 30px 70px -45px rgba(0,0,0,.85)}
.home-flagship-shell:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 24.8%,rgba(255,255,255,.035) 25%,transparent 25.2%,transparent 49.8%,rgba(255,255,255,.03) 50%,transparent 50.2%,transparent 74.8%,rgba(255,255,255,.025) 75%,transparent 75.2%),linear-gradient(transparent 0 24.8%,rgba(255,255,255,.02) 25%,transparent 25.2%,transparent 49.8%,rgba(255,255,255,.02) 50%,transparent 50.2%,transparent 74.8%,rgba(255,255,255,.02) 75%,transparent 75.2%);opacity:.16;pointer-events:none}
.home-flagship-shell:after{content:"";position:absolute;inset:auto -110px -120px auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(200,164,100,.11),transparent 70%);filter:blur(24px);pointer-events:none;animation:flagshipGlow 6.5s ease-in-out infinite}
@keyframes flagshipGlow{0%,100%{transform:scale(.96);opacity:.72}50%{transform:scale(1.04);opacity:1}}
.home-flagship-head{position:relative;z-index:2;margin-bottom:30px}
.home-flagship-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:26px;align-items:end}
.home-flagship-intro h2{font-size:clamp(34px,4.3vw,58px);line-height:.97;letter-spacing:-.048em;max-width:650px}
.home-flagship-intro p{max-width:560px;color:var(--ink-dim,#9d998f);font-size:16px;line-height:1.68}
.home-flagship-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.home-flagship-meta span{display:inline-flex;align-items:center;padding:9px 11px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.018);font:500 11px/1.3 'IBM Plex Mono',monospace;color:var(--ink-dim,#9d998f);letter-spacing:.04em}
.home-flagship-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-flagship-node{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:182px;padding:18px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(155deg,rgba(255,255,255,.03),rgba(255,255,255,.008));transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;overflow:hidden}
.home-flagship-node:hover{transform:translateY(-5px);border-color:rgba(200,164,100,.52);background:linear-gradient(155deg,rgba(255,255,255,.04),rgba(200,164,100,.045));box-shadow:0 20px 44px -28px rgba(0,0,0,.88),0 0 0 1px rgba(200,164,100,.08),0 0 24px rgba(200,164,100,.08)}
.home-flagship-node:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,rgba(200,164,100,.88),rgba(200,164,100,.18) 34%,transparent 80%)}
.home-flagship-node:after{content:"";position:absolute;right:12px;bottom:12px;width:28px;height:28px;border-right:1px solid rgba(200,164,100,.22);border-bottom:1px solid rgba(200,164,100,.22);opacity:.75}
.home-flagship-node-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.home-flagship-node .node-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid rgba(200,164,100,.3);font:500 11px/1 'IBM Plex Mono',monospace;color:var(--gold,#c8a464);flex:0 0 auto;background:rgba(255,255,255,.015);box-shadow:inset 0 0 12px rgba(200,164,100,.05)}
.home-flagship-node small{display:block;font:500 10px/1.35 'IBM Plex Mono',monospace;letter-spacing:.14em;color:var(--gold,#c8a464);text-transform:uppercase;text-align:right}
.home-flagship-node strong{display:block;font:600 27px/1.02 'Space Grotesk',sans-serif;letter-spacing:-.035em;color:var(--ink,#f2eee4);max-width:12ch}
.home-flagship-node em{display:block;font-style:normal;font-size:14px;line-height:1.58;color:var(--ink-dim,#9d998f);max-width:35ch}
.home-flagship-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);position:relative;z-index:2}
.home-flagship-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--ink-dim,#9d998f);font-size:13px}
.home-flagship-flow span{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.018)}
.home-flagship-flow i{width:34px;height:1px;background:linear-gradient(90deg,rgba(200,164,100,.8),transparent);display:inline-block}
@media(max-width:980px){.home-flagship-intro{grid-template-columns:1fr}.home-flagship-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.home-flagship-band{padding:48px 0 58px}.home-flagship-shell{padding:22px 16px}.home-flagship-intro h2{font-size:clamp(29px,10vw,45px)}.home-flagship-intro p{font-size:15px}.home-flagship-grid{grid-template-columns:1fr;gap:10px}.home-flagship-node{min-height:146px;padding:16px}.home-flagship-node strong{font-size:24px;max-width:none}.home-flagship-node em{font-size:13px}.home-flagship-meta span{font-size:10px}.home-flagship-flow{gap:8px}.home-flagship-flow span{font-size:12px;padding:7px 10px}.home-flagship-flow i{width:18px}}


/* Final flagship homepage refinement — spacing, hierarchy, mobile first fold */
.home-flagship-band{padding-top:72px;padding-bottom:84px}
.home-flagship-shell{padding:40px}
.home-flagship-head{margin-bottom:34px}
.home-flagship-intro{gap:34px}
.home-flagship-intro h2{font-weight:600;max-width:700px;text-wrap:balance}
.home-flagship-intro p{font-size:15.5px;max-width:520px}
.home-flagship-grid{gap:16px}
.home-flagship-node{min-height:188px;padding:20px}
.home-flagship-node strong{font-size:28px}
.home-flagship-node em{font-size:13.5px;line-height:1.54}
.home-flagship-node.featured{border-color:rgba(200,164,100,.34);background:linear-gradient(155deg,rgba(200,164,100,.075),rgba(255,255,255,.015));box-shadow:inset 0 0 0 1px rgba(200,164,100,.04),0 18px 42px -34px rgba(200,164,100,.42)}
.home-flagship-node.featured:before{background:linear-gradient(90deg,rgba(236,203,140,.98),rgba(200,164,100,.40) 42%,transparent 88%)}
.home-flagship-node.featured .node-num{border-color:rgba(236,203,140,.45);color:var(--gold-bright,#eccb8c);box-shadow:0 0 18px rgba(200,164,100,.09),inset 0 0 12px rgba(200,164,100,.07)}
.home-flagship-node.featured small{color:var(--gold-bright,#eccb8c)}
.home-flagship-bottom{margin-top:28px;padding-top:22px}
@media(max-width:980px){.home-flagship-shell{padding:30px}.home-flagship-intro{gap:18px}.home-flagship-node{min-height:170px}}
@media(max-width:620px){
  .home-flagship-band{padding:42px 0 52px}
  .home-flagship-shell{padding:18px 14px}
  .home-flagship-head{margin-bottom:20px}
  .home-flagship-intro{gap:12px}
  .home-flagship-intro h2{font-size:clamp(27px,8.9vw,38px);line-height:1.01;letter-spacing:-.04em;max-width:10.5em}
  .home-flagship-intro p{font-size:13.5px;line-height:1.52;max-width:34em}
  .home-flagship-meta{display:none}
  .home-flagship-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .home-flagship-node{min-height:116px;padding:12px;gap:7px}
  .home-flagship-node .node-num{width:29px;height:29px;font-size:9px}
  .home-flagship-node small{font-size:8px;letter-spacing:.10em;line-height:1.2}
  .home-flagship-node strong{font-size:18px;line-height:1.02}
  .home-flagship-node em{display:none}
  .home-flagship-node:after{width:18px;height:18px;right:8px;bottom:8px}
  .home-flagship-bottom{margin-top:18px;padding-top:16px}
  .home-flagship-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;width:100%;align-items:center}
  .home-flagship-flow span{justify-content:center;text-align:center;font-size:9.5px;padding:6px 7px}
  .home-flagship-flow i{width:12px}
  .home-flagship-flow span:nth-of-type(3),.home-flagship-flow span:nth-of-type(4),.home-flagship-flow i:nth-of-type(2),.home-flagship-flow i:nth-of-type(3){display:none}
  .home-flagship-bottom .btn{width:100%;text-align:center;margin-top:2px;padding:10px 14px;font-size:12px}
}
@media(max-width:380px){.home-flagship-grid{grid-template-columns:1fr}.home-flagship-node{min-height:96px}.home-flagship-node em{display:none}}
