/* StartupWeek — base styles & shared components */
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:clamp(15px,0.9vw + 12px,17.5px);scroll-behavior:smooth}
body{
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:1rem;line-height:1.62;color:var(--text-body);background:var(--bg);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
main{display:block;max-width:78rem;margin:0 auto;padding:0 1.25rem}
@media (min-width:640px){main{padding:0 2.5rem}}
@media (min-width:1100px){main{padding:0 3.5rem}}
img{display:block;max-width:100%;border:0}
a{color:inherit;text-decoration:none}
ul{list-style:none}

h1,h2,h3,h4,b,strong{font-family:"Inter",sans-serif}
h2{font-size:clamp(1.7rem,1.1rem + 2.6vw,2.4rem);line-height:1.16;color:var(--text-strong);font-weight:700;letter-spacing:-.02em}
h3{font-weight:700;color:var(--text-strong)}
.acc{color:var(--accent)}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--accent)}
.rule{height:.16rem;width:2.6rem;border-radius:.15rem;background:linear-gradient(90deg,var(--accent),var(--accent-2));margin:1rem 0 1.4rem}
.lead{font-size:clamp(1rem,.85vw + .8rem,1.18rem);line-height:1.62;color:var(--text-lead);max-width:44rem;font-weight:400}
.sm{font-size:.85rem;line-height:1.58;color:var(--text-body)}
.figcap{font-size:.75rem;color:var(--text-faint);margin-top:.5rem;letter-spacing:.03em}

section.block{padding:3.4rem 0}
section.block:first-of-type{padding-top:2.4rem}
@media (min-width:768px){section.block{padding:4.6rem 0}}
.block-head{margin-bottom:1.8rem}
@media (min-width:768px){.block-head{margin-bottom:2.4rem}}

.card{border:.06rem solid var(--border);border-radius:.9rem;padding:1.5rem;background:var(--surface)}
.card.t{background:var(--surface-tint)}
.card.accent{background:var(--accent-tint);border-color:var(--border)}
.card h3{font-size:1.14rem;line-height:1.28;margin-bottom:.5rem;letter-spacing:-.01em}
.card p{font-size:.9rem;color:var(--text-body);line-height:1.56}

.cards{display:grid;gap:1.1rem}
.c2{grid-template-columns:1fr}
.c3{grid-template-columns:1fr}
.c4{grid-template-columns:1fr}
@media (min-width:640px){
  .c2{grid-template-columns:1fr 1fr}
  .c3{grid-template-columns:1fr 1fr}
  .c4{grid-template-columns:1fr 1fr}
}
@media (min-width:960px){
  .c3{grid-template-columns:repeat(3,1fr)}
  .c4{grid-template-columns:repeat(4,1fr)}
}

.topbar{height:.12rem;border-radius:.15rem;width:2.4rem;margin-bottom:.7rem;background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.num{font-size:1.5rem;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--accent)}

.kpis{display:grid;grid-template-columns:1fr 1fr;border:.06rem solid var(--border);border-radius:.9rem;overflow:hidden;background:var(--surface-tint)}
@media (min-width:560px){.kpis{grid-template-columns:repeat(var(--kpi-n,4),1fr)}}
.kpi{padding:1.3rem 1rem;border-right:.06rem solid var(--border);border-bottom:.06rem solid var(--border)}
.kpi:nth-child(2n){border-right:0}
@media (min-width:560px){.kpi{border-bottom:0}.kpi:nth-child(2n){border-right:.06rem solid var(--border)}.kpi:last-child{border-right:0}}
.kpi b{display:block;font-size:1.35rem;font-weight:800;color:var(--text-strong);line-height:1.1;letter-spacing:-.03em}
.kpi span{display:block;margin-top:.4rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-body);font-weight:500}

.tag{display:inline-block;border:.06rem solid var(--border);border-radius:2rem;padding:.3rem .8rem;font-size:.78rem;color:var(--text-body);margin:0 .3rem .3rem 0;background:var(--surface-tint)}

ul.ticks li{position:relative;padding-left:1.3rem;margin-bottom:.55rem;font-size:.92rem;color:var(--text-lead)}
ul.ticks li::before{content:"";position:absolute;left:0;top:.5rem;width:.4rem;height:.4rem;border-radius:50%;background:var(--accent)}

.quote{border-left:.16rem solid var(--accent);padding-left:1.3rem;font-size:1.25rem;line-height:1.45;color:var(--text-strong);font-weight:500;letter-spacing:-.01em}

.rowitem{display:flex;gap:1.1rem;padding:1rem 0;border-top:.06rem solid var(--border-soft)}
.rowitem:last-child{border-bottom:.06rem solid var(--border-soft)}
.rowitem b{font-size:1.05rem;color:var(--text-strong);font-weight:700;letter-spacing:-.01em}
.rowitem .n{font-size:1.2rem;font-weight:800;color:var(--accent);width:2rem;flex:none;letter-spacing:-.03em}

.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:1rem}
table.tbl{width:100%;min-width:44rem;border-collapse:collapse}
table.tbl th{text-align:left;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-body);font-weight:700;padding:.5rem .6rem;border-bottom:.08rem solid var(--border)}
table.tbl td{padding:.65rem .6rem;border-bottom:.06rem solid var(--border-soft);color:var(--text-lead);font-size:.85rem;vertical-align:top}
table.tbl tr:last-child td{border-bottom:0}
table.tbl td b,table.tbl td strong{color:var(--text-strong)}

.ms{border:.06rem solid var(--border);border-radius:.9rem;padding:1.2rem;background:var(--surface);margin-bottom:.9rem}
.ms .t{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}
.ms h3{font-size:1.14rem;margin-top:.35rem;letter-spacing:-.01em}
.ms p{font-size:.9rem;color:var(--text-body);margin-top:.35rem;line-height:1.52}

.schoolpill{display:inline-block;border:.06rem solid var(--border);border-radius:2rem;padding:.5rem 1rem;font-size:.9rem;font-weight:700;color:var(--text-strong);margin:0 .4rem .4rem 0;background:var(--surface-tint);letter-spacing:.01em}

.faq{border-bottom:.06rem solid var(--border-soft);padding:1.1rem 0}
.faq:last-child{border-bottom:0}
.faq .q{font-size:1rem;font-weight:700;color:var(--text-strong);line-height:1.36}
.faq .a{font-size:.88rem;color:var(--text-body);margin-top:.45rem;line-height:1.56}

.pubtag{display:inline-block;border-radius:2rem;padding:.2rem .6rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.pt-tech{background:var(--pt-tech-bg);color:var(--pt-tech-fg)}
.pt-nontech{background:var(--pt-nontech-bg);color:var(--pt-nontech-fg)}
.pt-trans{background:var(--pt-trans-bg);color:var(--pt-trans-fg)}
.catband{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.2rem}

/* Full-bleed hero / CTA sections */
.hero{position:relative;overflow:hidden;min-height:78vh;display:flex;flex-direction:column;justify-content:flex-end;padding:6.5rem 1.25rem 2.5rem}
@media (min-width:640px){.hero{padding:7rem 2.5rem 3rem}}
@media (min-width:1100px){.hero{padding:7.5rem 3.5rem 3.5rem}}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero .scrim{position:absolute;inset:0;z-index:1}
.hero .hero-content{position:relative;z-index:2;max-width:44rem}
.hero h1{font-size:clamp(2.4rem,1.3rem + 5.4vw,3.6rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:#fff}
.hero .hero-lead{font-size:clamp(1rem,.6vw + .85rem,1.2rem);line-height:1.5;color:rgba(255,255,255,.85);max-width:34rem;margin-top:0}
.hero .prepared-for{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-end;margin-top:2.2rem;position:relative;z-index:2}
.hero .prepared-for .pill{background:var(--bg-elevated);border:.06rem solid rgba(255,255,255,.16);border-radius:.7rem;padding:.8rem 1.1rem}
.hero .prepared-for .label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.hero .prepared-for .value{font-size:1rem;font-weight:700;margin-top:.25rem;color:#fff;letter-spacing:-.01em}

.cta-section{position:relative;overflow:hidden;min-height:56vh;display:flex;align-items:flex-end;padding:4rem 1.25rem}
@media (min-width:640px){.cta-section{padding:4.5rem 2.5rem}}
.cta-section img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cta-section .scrim{position:absolute;inset:0;z-index:1}
.cta-section .cta-content{position:relative;z-index:2;max-width:40rem;padding:2.5rem 0}
.cta-section h2{font-size:clamp(1.9rem,1.1rem + 3.4vw,2.6rem);color:#fff;letter-spacing:-.03em;line-height:1.1}
.cta-section .lead{color:rgba(255,255,255,.85);max-width:34rem}

.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;border-radius:.9rem;border:.06rem solid var(--border);background:var(--accent-tint);padding:1.6rem;text-align:center;margin-top:2rem}
.stat-strip b{display:block;font-size:1.7rem;font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.04em}
.stat-strip span{display:block;margin-top:.5rem;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:var(--text-body)}

.mode-card{border:.06rem solid var(--border);border-radius:.9rem;overflow:hidden}
.mode-card .mode-head{padding:1.2rem;background:var(--accent);color:var(--accent-ink)}
.mode-card .mode-head .tagname{font-size:.72rem;letter-spacing:.22em;font-weight:700;opacity:.75}
.mode-card .mode-head .title{font-size:1.3rem;font-weight:800;margin-top:.25rem;letter-spacing:-.02em}
.mode-card .mode-head.alt{background:var(--accent-2)}
.mode-card .mode-body{padding:1.2rem;background:var(--surface-tint)}
.mode-card .mode-body .lbl{color:var(--text-body)}
.mode-card .mode-body p.sm{margin:.3rem 0 .8rem}

.price-card{border:.06rem solid var(--border);border-radius:.9rem;overflow:hidden}
.price-card .price-info{padding:1.2rem;background:var(--surface-tint)}
.price-card .price-info .lbl{color:var(--text-body)}
.price-card .price-tag{padding:1.4rem;background:var(--accent);color:var(--accent-ink);text-align:center}
.price-card .price-tag.alt{background:var(--accent-2)}
.price-card .price-tag .amount{font-size:2rem;font-weight:800;letter-spacing:-.03em}
.price-card .price-tag .per{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-top:.3rem;opacity:.85}

.thematic-header{padding:.9rem 1.1rem;background:var(--accent);color:var(--accent-ink);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.thematic-header.alt{background:var(--accent-tint-strong);color:var(--text-strong);border-bottom:.06rem solid var(--border)}
.skill-grid{display:grid;grid-template-columns:1fr;background:var(--surface-tint);border:.06rem solid var(--border);border-top:0;border-radius:0 0 .9rem .9rem;overflow:hidden}
@media (min-width:640px){.skill-grid{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.skill-grid{grid-template-columns:repeat(4,1fr)}}
.skill-grid .skill{padding:1.2rem;border-right:.06rem solid var(--border);border-bottom:.06rem solid var(--border)}
.skill-grid .skill h3{font-size:.95rem;line-height:1.25;letter-spacing:-.01em}
.skill-grid .skill p{margin-top:.4rem}

.day-row{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start;padding:1.2rem 0;border-top:.06rem solid var(--border-soft)}
.day-row:last-child{border-bottom:.06rem solid var(--border-soft)}
@media (min-width:640px){.day-row{grid-template-columns:9rem 1fr}}
.day-row img{border-radius:.7rem;aspect-ratio:16/10;object-fit:cover;width:100%}
.day-row .daytag{font-size:.72rem;letter-spacing:.22em;color:var(--accent);font-weight:700}
.day-row h3{font-size:1.15rem;letter-spacing:-.015em;display:inline-block;margin-left:.6rem}
.day-row p{margin:.4rem 0 .5rem;color:var(--text-body);font-size:.88rem;max-width:34rem}

.dest-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:.6rem}
@media (min-width:560px){.dest-grid{grid-template-columns:1fr 1fr}}
.dest-grid img{border-radius:.7rem;aspect-ratio:4/3;object-fit:cover;width:100%}
.dest-grid b{display:block;margin-top:.5rem;font-size:.95rem;color:var(--text-strong)}
.dest-grid .sm{font-size:.78rem;margin-top:.15rem}

.plan-list{display:grid;grid-template-columns:1fr;gap:0 2rem}
@media (min-width:640px){.plan-list{grid-template-columns:1fr 1fr}}
.plan-item{display:flex;gap:.9rem;padding:.7rem 0;border-bottom:.06rem solid var(--border-soft)}
.plan-item .n{font-size:.9rem;font-weight:800;color:var(--accent);width:1.5rem;flex:none;letter-spacing:-.02em}
.plan-item b{font-size:.92rem;color:var(--text-strong);font-weight:700}
.plan-item .sm{font-size:.78rem}

.step-grid{display:grid;grid-template-columns:1fr;gap:.9rem;margin-top:1rem}
@media (min-width:640px){.step-grid{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.step-grid{grid-template-columns:repeat(4,1fr)}}
