/* /teams and /es/teams (built by web-v2-tools/build_teams.py). v2 tokens only.
   Teams wears Night (the same as its plan card); Violet stays the one hue; screens are real app captures. */

main.tp{display:block}
.tp-sec{padding:clamp(80px,10vw,140px) 0;text-align:center}
.tp-sec .v-h2{max-width:22ch;margin:0 auto}
.tp-sec .v-sub{margin-left:auto;margin-right:auto;max-width:44ch}
.tp-ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--v-vsoft);color:var(--v-vink)}
.tp-fine{max-width:68ch;margin:32px auto 0}
.tp-fine a,.tp-sec .v-faq .a a{color:var(--v-vink);text-decoration:underline;text-underline-offset:3px}

/* ── hero: a Night panel inset like the site's glass panels, the real overview, the live card floating over it ── */
.tp-hero{padding:10px}
.tp-hero-in{background:var(--v-night);color:var(--v-paper);text-align:center;border-radius:44px;overflow:hidden;
  padding:clamp(64px,9vw,112px) 0 clamp(64px,8vw,104px)}
.tp-hero .v-eyebrow{color:#C9AEF7}
.tp-hero .v-h1{color:var(--v-paper);max-width:17ch;margin:0 auto}
.tp-hero .v-hl{color:#C9AEF7}
.tp-hero .v-hl .w{background:linear-gradient(180deg,#E2D2FC 0%,var(--v-violet) 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
.tp-hero .v-sub{color:rgba(255,255,255,.76);margin-left:auto;margin-right:auto;max-width:40ch}
.tp-cta{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:center;align-items:center;margin-top:34px}
.tp-link-light{color:var(--v-paper)}
.tp-link-light>span{border-color:rgba(255,255,255,.35)}
.tp-link-light:hover>span{border-color:var(--v-paper)}
.tp-micro{margin:20px 0 0;font:500 12.5px/1.5 var(--v-mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.56)}
.tp-stage{position:relative;max-width:1080px;margin:clamp(48px,6vw,72px) auto 0}
.tp-float{position:absolute;right:-10px;bottom:-30px;width:44%;max-width:300px;margin:0;border-radius:16px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(167,123,243,.42),0 30px 60px -18px rgba(0,0,0,.75)}
.tp-float img{display:block;width:100%;height:auto}
.tp-caption{margin:clamp(48px,6vw,64px) 0 0;font-size:13px;color:rgba(255,255,255,.5)}

/* a real screen in a quiet window frame */
.tp-window{margin:0;border-radius:18px;overflow:hidden;background:var(--v-panel);
  box-shadow:0 0 0 1px rgba(20,24,32,.08),0 2px 4px rgba(20,24,32,.04),0 34px 70px -36px rgba(20,24,40,.4)}
.tp-window.dark{background:#1B1A21;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 44px 100px -40px rgba(0,0,0,.85)}
.tp-window img{display:block;width:100%;height:auto}

/* ── why / facts: three quiet cards ── */
.tp-cards{list-style:none;margin:48px auto 0;padding:0;display:grid;gap:14px;max-width:1040px;text-align:left}
.tp-cards li{padding:28px 26px 26px;border-radius:26px;background:var(--v-card);box-shadow:var(--v-cardline),var(--v-shadow)}
.tp-cards .tp-ic{margin-bottom:18px}
.tp-cards h3,.tp-steps h3,.tp-extras h3,.tp-cases h3{margin:0 0 6px;font-size:19px;font-weight:600;letter-spacing:-.02em}
.tp-cards p,.tp-steps p,.tp-extras p,.tp-cases p{margin:0;color:var(--v-mute);font-size:16px;line-height:1.5}
.tp-cards a{color:var(--v-vink);text-decoration:underline;text-underline-offset:3px}

/* ── how it works: four numbered steps ── */
.tp-steps{list-style:none;margin:48px auto 0;padding:0;display:grid;gap:14px;max-width:1120px;text-align:left;counter-reset:none}
.tp-steps li{position:relative;padding:28px 24px 26px;border-radius:26px;background:var(--v-card);box-shadow:var(--v-cardline),var(--v-shadow)}
.tp-steps .tp-ic{margin-bottom:18px}
.tp-num{position:absolute;top:26px;right:24px;font:600 13px/1 var(--v-mono);letter-spacing:.08em;color:var(--v-mute)}
.tp-num::before{content:"0"}

/* ── features: copy beside a real screen, alternating sides ── */
.tp-features{overflow:hidden}
.tp-feat{display:grid;gap:36px;align-items:center;margin:clamp(72px,9vw,120px) auto 0;max-width:1120px;text-align:left}
.tp-feat-copy .v-h3{max-width:18ch}
.tp-feat-copy .v-p{max-width:40ch}
.tp-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:11px}
.tp-points li{position:relative;padding-left:28px;font-size:16px;color:var(--v-soft);line-height:1.45}
.tp-points li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--v-vsoft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237B5CC6' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.tp-phone{margin:0 auto;max-width:330px;aspect-ratio:720/1030;border-radius:34px;overflow:hidden;background:var(--v-panel);
  box-shadow:0 0 0 1px rgba(20,24,32,.08),0 34px 70px -36px rgba(20,24,40,.4)}
.tp-phone video{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.tp-extras{list-style:none;margin:clamp(72px,9vw,120px) auto 0;padding:0;display:grid;gap:14px;max-width:1120px;text-align:left}
.tp-extras li{padding:26px 24px;border-radius:24px;background:var(--v-panel)}
.tp-extras .tp-ic{width:40px;height:40px;border-radius:12px;margin-bottom:14px;background:var(--v-paper);box-shadow:var(--v-cardline)}
.tp-extras h3{font-size:17px}
.tp-extras p{font-size:15px}

/* ── use cases ── */
.tp-cases{list-style:none;margin:48px auto 0;padding:0;display:grid;gap:14px;max-width:1040px;text-align:left}
.tp-cases li{padding:30px 28px 28px;border-radius:26px;background:var(--v-card);box-shadow:var(--v-cardline),var(--v-shadow)}
.tp-cases .tp-ic{margin-bottom:18px}
.tp-cases .tp-who{margin:0 0 12px;font:500 12.5px/1.4 var(--v-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--v-vink)}

/* ── pricing: the seat calculator, then the three plans ── */
.tp-calc{display:grid;gap:18px;justify-items:center;max-width:820px;margin:44px auto 0;padding:28px 24px;border-radius:28px;
  background:var(--v-card);box-shadow:var(--v-cardline),var(--v-shadow)}
.tp-calc label{font-weight:600;font-size:17px;letter-spacing:-.01em}
.tp-stepper{display:inline-flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:var(--v-paper);box-shadow:var(--v-cardline)}
.tp-stepper button{width:46px;height:46px;border-radius:50%;border:0;background:var(--v-panel);color:var(--v-ink);font:500 22px/1 var(--v-sans);cursor:pointer;transition:background-color .2s}
.tp-stepper button:hover{background:var(--v-vsoft)}
.tp-stepper input{width:72px;height:46px;border:0;background:none;text-align:center;font:600 24px/1 var(--v-sans);color:var(--v-ink);-moz-appearance:textfield;appearance:textfield}
.tp-stepper input::-webkit-outer-spin-button,.tp-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tp-total{margin:0;font-size:16px;color:var(--v-mute)}
.tp-total b{font-size:32px;font-weight:600;letter-spacing:-.03em;color:var(--v-ink);margin-right:4px}
#pricing .v-plans{margin-top:56px}

/* ── early access form ── */
.tp-form{display:grid;gap:14px;max-width:720px;margin:44px auto 0;padding:30px 28px;border-radius:28px;text-align:left;
  background:var(--v-card);box-shadow:var(--v-cardline),var(--v-shadow)}
.tp-field{display:grid;gap:7px;font-size:14px;font-weight:600;color:var(--v-soft)}
.tp-field input,.tp-field select{height:50px;padding:0 16px;border-radius:14px;border:1px solid rgba(20,24,32,.12);background:var(--v-paper);
  font:500 16px/1 var(--v-sans);color:var(--v-ink);transition:border-color .2s,box-shadow .2s}
.tp-field input:focus,.tp-field select:focus{outline:none;border-color:var(--v-vink);box-shadow:0 0 0 4px var(--v-vsoft)}
.tp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.tp-form .v-btn{margin-top:6px}
.tp-form-msg{margin:0;min-height:1.4em;font-size:15px;text-align:center}
.tp-form-msg.is-ok{color:var(--v-vink);font-weight:600}
.tp-form-msg.is-err{color:#B4232C}
.tp-form.is-done .tp-field{opacity:.55}

/* ── privacy: who sees what ── */
.tp-sees{display:grid;gap:14px;max-width:1040px;margin:48px auto 0;text-align:left}
.tp-sees>div{padding:30px 28px;border-radius:26px;background:var(--v-card);box-shadow:var(--v-cardline),var(--v-shadow)}
.tp-sees>div:first-child{background:var(--v-night);color:var(--v-paper);box-shadow:inset 0 0 0 1px rgba(167,123,243,.3),var(--v-shadow-lg)}
.tp-sees h3{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:19px;font-weight:600;letter-spacing:-.02em}
.tp-sees h3 svg{color:var(--v-vink)}
.tp-sees>div:first-child h3 svg{color:#C9AEF7}
.tp-sees ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tp-sees li{position:relative;padding-left:28px;font-size:16px;line-height:1.45;color:var(--v-soft)}
.tp-sees>div:first-child li{color:rgba(255,255,255,.84)}
.tp-sees li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--v-vsoft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237B5CC6' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.tp-sees>div:first-child li::before{background:rgba(167,123,243,.24) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9AEF7' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.tp-facts{margin-top:14px}

/* ── final ── */
@media (max-width:760px){.tp-hero{padding:6px}.tp-hero-in{border-radius:30px}}
.tp-final{padding:0 0 clamp(80px,10vw,140px)}
.tp-final .v-final-card{padding:clamp(72px,9vw,120px) 24px}
.tp-final .v-h2{max-width:18ch;margin:0 auto}
.tp-final .v-sub{margin-left:auto;margin-right:auto}

@media (min-width:640px){
  .tp-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:34px 36px}
  .tp-wide{grid-column:1 / -1}
  .tp-steps,.tp-extras,.tp-cases{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp-calc{grid-template-columns:auto auto 1fr auto;align-items:center;justify-items:start;padding:22px 22px 22px 30px;gap:24px}
  .tp-total{justify-self:end}
}
@media (min-width:860px){
  .tp-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tp-sees{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp-float{right:-34px;bottom:-40px}
}
@media (min-width:960px){
  .tp-feat{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px}
  .tp-feat.flip{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  .tp-feat.flip .tp-feat-copy{order:2}
  .tp-feat.tp-rep{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
}
@media (min-width:1080px){
  .tp-steps,.tp-extras{grid-template-columns:repeat(4,minmax(0,1fr))}
}
