
:root{--ink:#101a23;--text:#3f4a50;--muted:#69756f;--green:#0f6e56;--green2:#0a5945;--deep:#073c30;--mint:#e8f7f1;--mint2:#f5fbf8;--line:#dce9e3;--orange:#f49a25;--shadow:0 24px 70px rgba(9,70,53,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.5;background:#fff}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.skip{position:fixed;left:12px;top:-80px;z-index:99;background:#fff;padding:10px 14px;border-radius:8px}.skip:focus{top:12px}.header{height:76px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(15,110,86,.09);backdrop-filter:blur(18px)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:10px;color:var(--deep);font-weight:900;font-size:27px;letter-spacing:.02em}.brand img{width:42px;height:42px;object-fit:contain}.navlinks{display:flex;gap:34px;font-size:14px;font-weight:650}.navlinks a{transition:.2s}.navlinks a:hover{color:var(--green)}.menu{display:none;background:none;border:0;width:42px;height:42px}.menu span{display:block;height:2px;width:24px;background:var(--deep);margin:6px auto}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 21px;border-radius:10px;font-weight:800;font-size:14px;border:1px solid transparent;transition:.2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(10,74,56,.15)}.btn-primary{background:var(--green);color:#fff}.btn-secondary{border-color:var(--green);color:var(--green);background:#fff}.btn-secondary svg{width:17px;fill:currentColor}.btn-soft{background:#e2f3ec;color:var(--deep);width:100%}.btn-orange{background:var(--orange);color:#271a08;width:100%}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.15em;color:var(--green);margin:0 0 14px}.section{padding:92px 0;position:relative;overflow:hidden}.hero{min-height:650px;position:relative;overflow:hidden;background:linear-gradient(110deg,#fff 0%,#f8fcfa 48%,#e8f6f0 100%)}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;min-height:650px;align-items:center}.hero-copy{padding:72px 0;position:relative;z-index:4}.hero h1{font-size:clamp(55px,5.7vw,82px);line-height:.96;letter-spacing:-.058em;margin:0 0 27px;max-width:640px}.hero h1 em{color:var(--green);font-style:normal}.lead{font-size:19px;color:var(--text);max-width:560px;margin:0 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.trust{margin-top:40px;max-width:490px}.stars{display:block;color:#f3b51a;letter-spacing:4px;font-size:20px}.trust p{font-size:13px;color:#4d5954;margin:7px 0 0}.hero-art{height:650px;position:relative}.worker{position:absolute;inset:0 -8vw 0 20%;background:url('assets/hero-worker.webp') center 22%/cover no-repeat;border-radius:0 0 0 54px}.phone{background:#0b0d0e;border:8px solid #0b0d0e;border-radius:38px;overflow:hidden;box-shadow:0 25px 55px rgba(0,0,0,.25);position:relative}.phone img{width:100%;height:100%;object-fit:cover}.notch{position:absolute;z-index:3;top:0;left:50%;transform:translateX(-50%);width:42%;height:20px;background:#0b0d0e;border-radius:0 0 14px 14px}.hero-phone{position:absolute;width:250px;height:510px;left:0;bottom:38px;z-index:3;transform:rotate(-1.2deg)}.micro-card{position:absolute;z-index:4;bottom:52px;left:35%;display:flex;gap:10px;align-items:center;background:#fff;padding:12px 15px;border-radius:13px;box-shadow:0 15px 35px rgba(7,60,48,.18)}.micro-card>span{width:31px;height:31px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center;font-weight:900}.micro-card strong,.micro-card small{display:block}.micro-card strong{font-size:12px}.micro-card small{font-size:10px;color:var(--muted)}.trail{position:absolute;pointer-events:none;z-index:1;opacity:.13}.trail img{width:100%}.trail-hero{width:190px;left:35%;top:90px;transform:rotate(14deg);opacity:.11}.section-intro{max-width:760px;margin-bottom:32px}.section-intro h2,.lesson-copy h2,.roadmap-copy h2,.story-copy h2,.price-head h2,.final h2{font-size:clamp(34px,4.1vw,56px);line-height:1.04;letter-spacing:-.047em;margin:0}.section-intro>p:last-child,.roadmap-copy>p,.price-head>p:last-child{color:var(--muted);font-size:17px}.profession-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.job{position:relative;height:300px;border-radius:18px;overflow:hidden;background:#ddd;box-shadow:0 9px 28px rgba(16,58,46,.1)}.job img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.job:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85))}.job-label{position:absolute;z-index:2;left:12px;right:10px;bottom:13px;display:flex;align-items:center;gap:8px;color:#fff}.job h3{font-size:14px;margin:0}.job-icon{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center;flex:none}.job-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.job:hover img{transform:scale(1.045)}.lesson{background:var(--mint2)}.lesson-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:96px;align-items:center}.lesson-demo{position:relative;min-height:590px}.lesson-phone{width:285px;height:580px;margin:auto}.phrase{position:absolute;right:0;bottom:72px;background:#fff;padding:16px 20px;border-radius:16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:14px;max-width:300px}.phrase>span{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:12px}.phrase p,.phrase small,.phrase strong,.phrase em{display:block;margin:0}.phrase small{font-size:9px;color:var(--green);font-weight:850;letter-spacing:.1em}.phrase strong{font-size:14px}.phrase em{font-size:11px;color:var(--muted);font-style:normal}.steps{margin-top:32px}.step{display:grid;grid-template-columns:50px 1fr;gap:17px;margin:25px 0}.step>span{width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:900}.step h3{font-size:19px;margin:0 0 3px}.step p{margin:0;color:var(--muted)}.quote{margin-top:32px;background:var(--deep);color:#fff;border-radius:18px;padding:24px 26px;position:relative}.quote>span{position:absolute;font-size:55px;opacity:.25;top:6px;left:17px}.quote p{font-size:18px;margin:0 0 8px;padding-left:21px}.quote small{opacity:.72;padding-left:21px}.trail-mid{width:210px;right:2%;top:8%;transform:rotate(95deg);opacity:.08}.roadmap{background:#fff}.roadmap-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:82px;align-items:center}.roadmap-copy ul{list-style:none;padding:0;margin:28px 0 0}.roadmap-copy li{margin:13px 0;padding-left:28px;position:relative}.roadmap-copy li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.roadmap-panel{border-radius:24px;background:linear-gradient(145deg,#e8f7f1,#f8fcfa);padding:30px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr .72fr;gap:22px;align-items:center}.roadmap-panel img{max-height:560px;margin:auto;border-radius:24px;box-shadow:0 18px 40px rgba(0,0,0,.18)}.roadmap-note{background:#fff;border-radius:17px;padding:24px}.roadmap-note strong,.roadmap-note span{display:block}.roadmap-note strong{font-size:20px;line-height:1.2}.roadmap-note span{color:var(--muted);margin-top:8px}.story{background:linear-gradient(180deg,#f8fcfa,#fff)}.story-grid{display:grid;grid-template-columns:.9fr 1fr .9fr;gap:40px;align-items:center}.story-photo{margin:0;position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.story-photo img{width:100%;height:370px;object-fit:cover}.story-photo figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.9);padding:8px 11px;border-radius:9px;font-size:11px;font-weight:800}.story-copy p{color:var(--text);margin:12px 0}.story-copy .strong{color:var(--ink);font-weight:850}.signature{font-family:"Segoe Script","Bradley Hand",cursive;font-size:29px;color:var(--deep);margin-top:24px}.story-copy small{color:var(--muted)}.trail-story{width:180px;left:48%;bottom:-20px;transform:rotate(45deg);opacity:.09}.pricing{background:linear-gradient(180deg,#f8fcfa,#edf8f3);padding-bottom:105px}.price-head{text-align:center;max-width:820px;margin:0 auto 40px}.plans{width:min(850px,100%);margin:auto;display:grid;grid-template-columns:1fr 1.12fr;gap:18px;align-items:stretch}.plan{position:relative;border-radius:20px;padding:35px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 48px rgba(11,66,51,.09);overflow:hidden}.complete{background:var(--deep);color:#fff;border:0}.plan-title{text-align:center;font-weight:850;margin:0}.cost{text-align:center;font-size:64px;line-height:1;font-weight:900;margin:12px 0}.cost sup{font-size:25px;position:relative;top:-.9em}.cost small{font-size:12px}.plan-sub{text-align:center;color:var(--muted);font-size:13px}.complete .plan-sub{color:#d4e7e0}.plan ul{list-style:none;padding:0;margin:28px 0}.plan li{font-size:14px;margin:11px 0;padding-left:25px;position:relative}.plan li:before{content:"✓";position:absolute;left:0;color:#30ad79;font-weight:900}.complete li:before{color:#f4a32b}.ribbon{position:absolute;right:-45px;top:25px;width:175px;transform:rotate(42deg);background:var(--orange);color:#2c1e09;text-align:center;padding:7px;font-size:10px;font-weight:900}.secure{display:block;text-align:center;color:#cce1da;margin-top:12px}.trail-price{width:330px;left:-90px;bottom:-70px;opacity:.08;transform:rotate(30deg)}.final{text-align:center;padding:100px 0}.final img{width:88px;height:88px;object-fit:contain;margin:0 auto 13px}.final>div>p:not(.eyebrow){color:var(--muted);font-size:17px;margin:14px 0 28px}.footer{border-top:1px solid var(--line);min-height:125px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:25px;color:var(--muted);font-size:13px}.footer .brand{font-size:22px}.footer .brand img{width:34px;height:34px}.footer p{text-align:center}.footer>span{text-align:right}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.on{opacity:1;transform:none}
@media(max-width:1050px){.navlinks{gap:19px}.hero-grid{grid-template-columns:1fr 1fr}.worker{left:12%}.hero-phone{width:220px;height:450px;left:-5%}.micro-card{display:none}.profession-grid{grid-template-columns:repeat(3,1fr)}.job{height:320px}.lesson-grid{gap:45px}.story-grid{grid-template-columns:1fr 1fr}.story-copy{grid-row:1/3}.story-photo img{height:310px}.footer{grid-template-columns:1fr}.footer p,.footer>span{text-align:left}}
@media(max-width:760px){.wrap{width:min(100% - 30px,600px)}.header{height:66px}.navlinks{position:fixed;top:66px;left:0;right:0;background:#fff;display:none;flex-direction:column;padding:24px 26px;border-bottom:1px solid var(--line);box-shadow:0 15px 30px rgba(0,0,0,.08)}.navlinks.open{display:flex}.menu{display:block}.nav-cta{display:none}.brand{font-size:22px}.brand img{width:34px;height:34px}.hero{min-height:0}.hero-grid{display:flex;flex-direction:column}.hero-copy{padding:58px 0 34px}.hero h1{font-size:50px}.lead{font-size:17px}.hero-art{height:510px;width:100%}.worker{inset:0 -15px 0 10%;border-radius:28px 28px 0 0}.hero-phone{left:0;bottom:23px;width:192px;height:395px}.trail-hero{left:auto;right:3%;top:40px}.section{padding:68px 0}.profession-grid{grid-template-columns:repeat(2,1fr);gap:12px}.job{height:260px}.lesson-grid,.roadmap-grid{grid-template-columns:1fr;gap:45px}.lesson-demo{min-height:520px;order:2}.lesson-phone{height:500px;width:245px}.phrase{right:0;bottom:45px}.roadmap-panel{grid-template-columns:1fr;padding:20px}.roadmap-panel img{max-height:500px}.story-grid{grid-template-columns:1fr}.story-copy{grid-row:auto;order:-1}.story-photo img{height:290px}.plans{grid-template-columns:1fr}.footer{padding:30px 0}.section-intro h2,.lesson-copy h2,.roadmap-copy h2,.story-copy h2,.price-head h2,.final h2{font-size:38px}}
@media(max-width:440px){.nav-cta{display:none}.hero h1{font-size:43px}.actions{flex-direction:column}.actions .btn{width:100%}.hero-art{height:455px}.hero-phone{width:168px;height:347px}.profession-grid{grid-template-columns:1fr 1fr}.job{height:220px}.job h3{font-size:12px}.job-icon{width:30px;height:30px}.lesson-demo{min-height:490px}.phrase{max-width:240px;padding:12px}.price-head h2{font-size:34px}.plan{padding:29px 23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.job img,.btn{transition:none}}

/* Product lesson carousel */
.showcase{background:linear-gradient(180deg,#f8fcfa 0%,#fff 100%);overflow:hidden}.showcase-head{text-align:center;max-width:780px;margin:0 auto 38px}.showcase-head h2{font-size:clamp(36px,4.4vw,58px);line-height:1.03;letter-spacing:-.048em;margin:0}.showcase-head>p:last-child{font-size:17px;color:var(--muted);margin:14px auto 0;max-width:720px}.lesson-carousel{position:relative}.carousel-viewport{overflow:hidden;padding:4px 2px 20px}.carousel-track{display:flex;gap:18px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}.lesson-card{flex:0 0 calc((100% - 54px)/4);min-width:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 15px 40px rgba(15,77,58,.09);transition:transform .3s ease,box-shadow .3s ease}.lesson-card:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(15,77,58,.15)}.lesson-visual{position:relative;height:390px;overflow:hidden}.construction-bg{background:#e7f1e5}.restaurant-bg{background:#fbecdf}.warehouse-bg{background:#e7eff7}.cleaning-bg{background:#eeeaf8}.matched-worker{position:absolute;inset:0 0 0 43%;width:57%;height:100%;object-fit:cover;object-position:center top}.lesson-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 48%);pointer-events:none}.screen-shot{position:absolute;z-index:2;left:18px;top:22px;width:50%;height:345px;border-radius:25px;overflow:hidden;background:#f9f6ef;box-shadow:0 18px 42px rgba(10,35,28,.27);border:5px solid #111820}.screen-shot img{width:100%;height:100%;object-fit:contain;object-position:top center;background:#faf6ef}.lesson-caption{display:flex;gap:14px;align-items:flex-start;padding:20px 20px 23px;min-height:112px}.caption-icon{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;flex:none;font-weight:900}.lesson-caption h3{margin:0 0 3px;font-size:20px}.lesson-caption p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.carousel-arrow{position:absolute;z-index:5;top:43%;transform:translateY(-50%);width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--green);box-shadow:0 10px 28px rgba(10,70,53,.13);font-size:34px;line-height:1;cursor:pointer;display:none}.carousel-arrow.prev{left:-24px}.carousel-arrow.next{right:-24px}.carousel-controls{display:flex;justify-content:center;gap:10px;margin:2px 0 42px}.dot{width:10px;height:10px;border:0;border-radius:50%;padding:0;background:#cbded6;cursor:pointer}.dot.is-active{background:var(--green);transform:scale(1.18)}.benefit-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--line);padding-top:30px}.benefit-row div{text-align:center;padding:0 10px}.benefit-row strong,.benefit-row span{display:block}.benefit-row strong{font-size:15px;color:var(--green);margin-bottom:6px}.benefit-row span{font-size:13px;color:var(--muted)}
@media(max-width:1100px){.lesson-card{flex-basis:calc((100% - 36px)/3)}.carousel-arrow{display:grid;place-items:center}}
@media(max-width:820px){.lesson-card{flex-basis:calc((100% - 18px)/2)}.benefit-row{grid-template-columns:1fr 1fr}.lesson-visual{height:360px}.screen-shot{height:315px}}
@media(max-width:560px){.showcase-head{text-align:left}.showcase-head h2{font-size:38px}.carousel-viewport{overflow:visible}.carousel-track{gap:14px}.lesson-card{flex-basis:86%;box-shadow:0 12px 30px rgba(15,77,58,.1)}.lesson-visual{height:350px}.screen-shot{left:14px;top:17px;height:316px;width:52%}.matched-worker{inset:0 0 0 40%;width:60%}.carousel-arrow{display:none}.benefit-row{grid-template-columns:1fr;gap:18px}.benefit-row div{text-align:left;padding:0}.carousel-controls{margin-bottom:30px}}

/* Founder story — real HTML text + cropped photo (rebuilt from the flat image) */
.founder-card{position:relative;display:grid;grid-template-columns:minmax(240px,.82fr) 1.18fr;gap:clamp(30px,4vw,54px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,36px);box-shadow:var(--shadow);overflow:hidden}
.founder-photo{margin:0;border-radius:18px;overflow:hidden;box-shadow:0 16px 38px rgba(9,70,53,.16)}
.founder-photo img{display:block;width:100%;height:auto}
.founder-copy .eyebrow{color:var(--green);margin:0 0 12px}
.founder-copy h2{font-size:clamp(38px,4.6vw,60px);line-height:1;letter-spacing:-.04em;color:var(--ink);margin:0 0 22px}
.founder-copy h2 .accent-dot{color:var(--green)}
.founder-copy p{color:var(--text);font-size:17px;line-height:1.55;margin:0 0 15px;max-width:40em}
.founder-strong{color:var(--ink);font-weight:850}
.founder-sign{font-family:"Segoe Script","Bradley Hand","Brush Script MT",cursive;font-size:31px;color:var(--deep);margin:26px 0 2px}
.founder-role{color:var(--muted);font-size:14px;margin:0}
.founder-foot{position:absolute;right:24px;bottom:16px;width:86px;opacity:.09;pointer-events:none}
.founder-foot img{width:100%}
@media(max-width:820px){.founder-card{grid-template-columns:1fr;gap:24px}.founder-photo{max-width:320px}}
@media(max-width:560px){.founder-photo{max-width:100%}}


/* Roadmap — implemented from the approved design */
.roadmap {
  background: #fff;
}
.roadmap-grid {
  grid-template-columns: minmax(0, .82fr) minmax(560px, 1.18fr);
  gap: clamp(54px, 7vw, 108px);
}
.roadmap-copy h2 {
  max-width: 560px;
}
.roadmap-panel {
  position: relative;
  min-height: 520px;
  padding: 30px 34px;
  grid-template-columns: minmax(260px, .86fr) minmax(210px, .68fr);
  gap: 48px;
  overflow: hidden;
  background: linear-gradient(135deg, #e9f7f2 0%, #f8fcfa 100%);
}
.roadmap-panel::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  left: 44%;
  top: 18%;
  border: 4px dashed rgba(15,110,86,.08);
  border-radius: 50%;
  transform: rotate(-18deg);
}
.roadmap-phone {
  position: relative;
  z-index: 2;
  width: min(100%, 310px);
  margin: auto;
  padding: 18px 18px 22px;
  border-radius: 35px;
  background: #fffdfa;
  box-shadow: 0 24px 52px rgba(13,58,46,.18);
}
.roadmap-phone-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 3px 2px 14px;
  color: #172638;
  font-size: 15px;
}
.roadmap-back {
  font-size: 22px;
  line-height: 1;
}
.roadmap-level {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 10px;
  padding: 14px 15px 16px;
  color: #fff;
  background: #18324f;
  border-radius: 15px;
}
.roadmap-level span,
.roadmap-level strong {
  display: block;
}
.roadmap-level span {
  color: #f8c443;
  font-size: 10px;
  font-weight: 800;
}
.roadmap-level strong {
  margin-top: 3px;
  font-size: 12px;
}
.roadmap-level small {
  align-self: center;
  color: #dce7ef;
}
.roadmap-level-bar {
  grid-column: 1 / -1;
  height: 6px;
  overflow: hidden;
  background: rgba(255,255,255,.18);
  border-radius: 999px;
}
.roadmap-level-bar span {
  display: block;
  width: 30%;
  height: 100%;
  background: #f4c21f;
  border-radius: inherit;
}
.roadmap-lessons {
  padding-top: 13px;
}
.roadmap-lesson {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 11px;
  align-items: center;
  padding: 9px 1px;
}
.roadmap-lesson small,
.roadmap-lesson strong {
  display: block;
}
.roadmap-lesson small {
  color: #8a918f;
  font-size: 10px;
}
.roadmap-lesson strong {
  margin-top: 2px;
  color: #15263a;
  font-size: 11px;
}
.lesson-state {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 900;
}
.roadmap-lesson.complete .lesson-state {
  color: #fff;
  background: #0f8a68;
}
.roadmap-lesson.locked .lesson-state {
  color: #51616b;
  background: #e6e8e8;
  font-size: 12px;
}
.roadmap-note {
  position: relative;
  z-index: 2;
  padding: 30px 28px;
  border: 1px solid rgba(15,110,86,.12);
  box-shadow: 0 14px 36px rgba(15,77,58,.08);
}
.roadmap-note-icon {
  width: 46px;
  height: 46px;
  display: grid !important;
  place-items: center;
  margin-bottom: 20px;
  border-radius: 50%;
  color: #fff !important;
  background: var(--green);
  font-size: 19px;
}
.roadmap-note strong {
  font-size: 22px;
}
.roadmap-footprints {
  position: absolute;
  right: 24px;
  top: 18px;
  width: 128px;
  opacity: .08;
  transform: rotate(18deg);
}
.roadmap-footprints img {
  width: 100%;
  max-height: none;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 1050px) {
  .roadmap-grid {
    grid-template-columns: 1fr;
  }
  .roadmap-panel {
    width: min(760px, 100%);
    margin-inline: auto;
  }
}
@media (max-width: 680px) {
  .roadmap-panel {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 22px 18px;
  }
  .roadmap-phone {
    width: min(100%, 330px);
  }
  .roadmap-note {
    width: min(100%, 330px);
    margin-inline: auto;
  }
  .roadmap-panel::before,
  .roadmap-footprints {
    display: none;
  }
}


/* Use the real app screenshot instead of a recreated interface. */
.roadmap-real-app {
  position: relative;
  z-index: 2;
  width: min(100%, 310px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border-radius: 34px;
  background: #f8f4ec;
  box-shadow: 0 24px 52px rgba(13,58,46,.18);
}

.roadmap-real-app img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 680px) {
  .roadmap-real-app {
    width: min(100%, 330px);
  }
}


/* Mobile carousels: benefits and honest pricing */
.benefit-card .benefit-icon{display:none}
.mobile-carousel-dots{display:none}

@media(max-width:560px){
  .benefit-carousel,.plans-carousel{width:100%;overflow:hidden}
  .mobile-snap-track{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    width:100%;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    padding:4px 7.5% 16px;
    margin-left:-7.5%;
    width:115%;
  }
  .mobile-snap-track::-webkit-scrollbar{display:none}

  .benefit-row{border-top:1px solid var(--line);padding-top:24px}
  .benefit-card{
    flex:0 0 82%;
    scroll-snap-align:center;
    min-height:184px;
    padding:27px 24px!important;
    text-align:left!important;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 30px rgba(15,77,58,.09);
  }
  .benefit-card .benefit-icon{
    display:grid;
    place-items:center;
    width:46px;height:46px;
    margin-bottom:18px;
    border-radius:50%;
    background:#e1f5ee;
    color:var(--green);
    font-size:21px;
    font-weight:900;
  }
  .benefit-card strong{font-size:19px;margin-bottom:8px}
  .benefit-card span:last-child{font-size:15px;line-height:1.5}

  .plans{
    margin:0;
    align-items:stretch;
    padding-top:5px;
    padding-bottom:20px;
  }
  .plans .plan{
    flex:0 0 86%;
    scroll-snap-align:center;
    min-height:500px;
    display:flex;
    flex-direction:column;
  }
  .plans .plan ul{flex:1}

  .mobile-carousel-dots{
    display:flex;
    justify-content:center;
    gap:9px;
    margin-top:2px;
  }
  .mobile-carousel-dots button{
    width:8px;height:8px;
    padding:0;border:0;border-radius:50%;
    background:#cbded6;
  }
  .mobile-carousel-dots button.is-active{width:22px;border-radius:999px;background:var(--green)}
}


/* Carousel for the "Hecho para tu oficio" cards — one at a time with a peek,
   from phones up through tablet/small-laptop (≤1050px). Wide desktop keeps the
   6-across single row. This replaces the disliked 3-top / 3-bottom grid. */
@media (max-width: 1050px) {
  .professions {
    overflow: hidden;
  }

  .professions .wrap {
    width: min(100% - 30px, 600px);
  }

  .profession-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 14px;
    width: calc(100% + 15px);
    margin-right: -15px;
    padding: 4px 15% 18px 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 0;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .profession-grid::-webkit-scrollbar {
    display: none;
  }

  .profession-grid .job {
    flex: 0 0 84%;
    width: 84%;
    height: 390px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .profession-grid .job h3 {
    font-size: 15px;
  }

  .profession-grid .job-icon {
    width: 38px;
    height: 38px;
  }

  .profession-grid .job-icon svg {
    width: 21px;
    height: 21px;
  }

  .profession-dots {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 10px;
  }
  .profession-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #cbded6;
    cursor: pointer;
  }
  .profession-dots button.is-active {
    width: 22px;
    border-radius: 999px;
    background: var(--green);
  }
}

@media (max-width: 390px) {
  .profession-grid .job {
    flex-basis: 88%;
    width: 88%;
    height: 360px;
  }
}

/* language switch — always visible in the top bar */
.langswitch{display:inline-flex;align-items:center;gap:2px;margin-left:auto;font-size:14px;font-weight:800;letter-spacing:.02em}
.langswitch a{padding:9px 11px;border-radius:9px;color:var(--muted);text-decoration:none;transition:color .15s,background .15s}
.langswitch a:hover{color:var(--green);background:var(--mint2)}
.langswitch a.is-current{color:var(--green);background:var(--mint)}
@media(max-width:760px){.langswitch{gap:1px;margin-right:6px}.langswitch a{padding:9px 9px}}
@media(max-width:380px){.langswitch a{padding:8px 6px;font-size:13px}}

/* Collapse the top nav into the hamburger earlier (761–1050px), before the links
   start crowding the logo. The full mobile layout still kicks in at ≤760px; this
   band only changes the nav (header stays 76px, so the dropdown anchors at 76px). */
@media (min-width: 761px) and (max-width: 1050px) {
  .menu { display: block; }
  .nav-cta { display: none; }
  .navlinks {
    position: fixed;
    top: 76px;
    left: 0;
    right: 0;
    z-index: 40;
    display: none;
    flex-direction: column;
    gap: 4px;
    padding: 22px 26px;
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 15px 30px rgba(0,0,0,.08);
  }
  .navlinks.open { display: flex; }
}

/* Inline nav is tight from 1051–1150px: drop the CTA button and tighten link
   spacing so the links stay on one line. The CTA returns on wider screens. */
@media (min-width: 1051px) and (max-width: 1150px) {
  .nav-cta { display: none; }
  .navlinks { gap: 18px; }
}

/* section icons — outline SVG, consistent with the profession icons */
.caption-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.benefit-icon svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.roadmap-note-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* professions "+11 más" */
.professions-more{text-align:center;margin:30px 0 0;color:var(--muted);font-weight:650;font-size:15.5px}
.professions-more strong{color:var(--green);font-weight:850}

/* FAQ */
.faq{background:#fff}
.faq-head{text-align:center;max-width:760px;margin:0 auto 34px}
.faq-head h2{font-size:clamp(32px,3.8vw,52px);line-height:1.05;letter-spacing:-.045em;margin:0}
.faq-list{max-width:820px;margin:0 auto}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(11,66,51,.06);margin-bottom:12px;overflow:hidden}
.faq-list summary{list-style:none;cursor:pointer;padding:19px 22px;font-weight:800;font-size:17px;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--green);font-weight:900;font-size:26px;line-height:1;flex:none;transition:transform .2s ease}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 22px 20px;color:var(--text);font-size:15px;line-height:1.6;max-width:64ch}
@media(max-width:560px){.faq-head{text-align:left}.faq-list summary{font-size:16px;padding:16px 18px}}

/* Footer: brand + legal/contact links (#33) */
.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 40px}
.footer-brand{display:flex;flex-direction:column;gap:9px;min-width:0}
.footer-brand p{margin:0;text-align:left;max-width:34ch;color:var(--muted);font-size:13px}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;font-weight:700;font-size:13px}
.footer-links a{color:var(--muted);transition:color .15s}
.footer-links a:hover{color:var(--green)}
.footer-copy{color:var(--muted);font-size:13px;white-space:nowrap}
@media(max-width:760px){.footer{gap:16px 22px}.footer-links{order:3;width:100%}.footer-copy{order:4}}

/* Legal pages: privacy / terms (#33) */
.legal{padding:52px 0 88px}
.legal-wrap{max-width:760px}
.legal h1{font-size:clamp(32px,4vw,46px);line-height:1.06;letter-spacing:-.03em;margin:0 0 10px;color:var(--ink)}
.legal-updated{color:var(--muted);font-size:14px;margin:0 0 30px}
.legal h2{font-size:20px;margin:32px 0 8px;color:var(--ink)}
.legal p{color:var(--text);font-size:16px;line-height:1.7;margin:0 0 14px}
.legal strong{color:var(--ink)}
.legal a{color:var(--green);font-weight:700}
.legal a:hover{text-decoration:underline}

/* Scroll-in animation variants — extend .reveal (#35) */
.reveal-right{transform:translateX(44px)}
.reveal-scale{transform:scale(.955)}
.reveal-lift{transform:translateY(42px)}
.reveal-right.on,.reveal-scale.on,.reveal-lift.on{transform:none}
.profession-grid .job.reveal:nth-child(2){transition-delay:.07s}
.profession-grid .job.reveal:nth-child(3){transition-delay:.14s}
.profession-grid .job.reveal:nth-child(4){transition-delay:.21s}
.profession-grid .job.reveal:nth-child(5){transition-delay:.28s}
.profession-grid .job.reveal:nth-child(6){transition-delay:.35s}
@media(prefers-reduced-motion:reduce){.reveal-right,.reveal-scale,.reveal-lift{transform:none!important;transition:none}.profession-grid .job.reveal{transition-delay:0s!important}}

/* Hero: keep the headline + lead clear of the phone mockup in the mid-width
   band (~760–1180px) where the two-column grid gets cramped. */
@media (min-width: 761px) and (max-width: 1180px) {
  .hero h1 { font-size: clamp(38px, 4.4vw, 52px); }
  .hero-copy { max-width: 430px; }
  .lead { max-width: 100%; }
  .hero-phone { left: 0; }
}

/* Richer profession cards — description + CTA in the mobile carousel (#34) */
.job-label{flex-direction:column;align-items:flex-start;gap:7px}
.job-label-top{display:flex;align-items:center;gap:8px;color:#fff}
.job-desc,.job-cta{display:none}
@media(max-width:1050px){
  .profession-grid .job:after{inset:22% 0 0}
  .profession-grid .job-label{gap:9px;left:16px;right:14px;bottom:16px}
  .profession-grid .job-desc{display:block;margin:0;color:rgba(255,255,255,.92);font-size:13px;line-height:1.45}
  .profession-grid .job-cta{display:inline-flex;align-items:center;gap:6px;margin-top:3px;padding:8px 13px;border-radius:9px;background:rgba(255,255,255,.16);backdrop-filter:blur(3px);color:#fff;font-weight:800;font-size:13px}
}
