:root {
  --purple: #6f3a9d;
  --purple-deep: #4d247d;
  --pink: #ef4d93;
  --pink-bright: #ff3f8d;
  --teal: #20a9b5;
  --teal-deep: #0b8291;
  --lime: #b7cf4b;
  --ink: #25324a;
  --muted: #647086;
  --paper: #fffdfa;
  --cream: #fbfaf7;
  --shadow: 0 25px 70px rgba(78, 39, 110, .16);
  --radius-xl: 42px;
  --radius-lg: 30px;
  --radius-md: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 6% 18%, rgba(32,169,181,.08), transparent 22%),
    radial-gradient(circle at 94% 26%, rgba(239,77,147,.08), transparent 21%),
    #fff;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .28;
  z-index: 999;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }

.section-shell { width: min(1240px, calc(100% - 42px)); margin-inline: auto; }
.eyebrow {
  margin: 0 0 14px;
  color: var(--purple);
  font-family: "Nunito", sans-serif;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .30em;
}
.eyebrow.light { color: rgba(255,255,255,.72); }

h1, h2, h3 { font-family: "Nunito", sans-serif; margin: 0; line-height: 1.02; }
h1 { font-size: clamp(3.4rem, 7vw, 7.6rem); letter-spacing: -.06em; color: var(--purple-deep); }
h2 { font-size: clamp(2.4rem, 4.5vw, 5.1rem); letter-spacing: -.045em; color: var(--purple-deep); }
h1 em, h2 em {
  color: var(--pink-bright);
  font-family: "Patrick Hand", cursive;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -.02em;
  position: relative;
  display: inline-block;
}
h1 em::after, h2 em::after {
  content: "";
  position: absolute;
  left: 4%; right: 2%; bottom: -.06em;
  height: .09em;
  background: var(--lime);
  border-radius: 999px;
  transform: rotate(-1deg);
}

.site-header {
  width: min(1320px, calc(100% - 24px));
  height: 92px;
  position: fixed;
  z-index: 1000;
  left: 50%; top: 14px;
  transform: translateX(-50%);
  padding: 10px 14px 10px 20px;
  border: 1px solid rgba(111, 58, 157, .10);
  border-radius: 28px;
  display: grid;
  grid-template-columns: minmax(220px, 330px) 1fr auto;
  align-items: center;
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(20px) saturate(1.35);
  box-shadow: 0 16px 50px rgba(68, 42, 94, .10);
  transition: .35s ease;
}
.site-header.scrolled { top: 8px; height: 78px; box-shadow: 0 18px 50px rgba(68, 42, 94, .16); }
.brand { width: 300px; max-width: 100%; display: flex; align-items: center; }
.brand img { width: 100%; height: 68px; object-fit: contain; object-position: left center; }
.desktop-nav { justify-self: center; display: flex; gap: clamp(18px, 2.5vw, 36px); align-items: center; }
.desktop-nav a { font-size: .92rem; font-weight: 700; color: #4d5870; position: relative; }
.desktop-nav a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: -9px; height: 3px; background: linear-gradient(90deg, var(--teal), var(--pink)); border-radius: 99px; transition: .25s ease; }
.desktop-nav a:hover::after { left: 0; right: 0; }
.header-cta {
  justify-self: end;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 16px 22px;
  border-radius: 18px;
  color: white;
  background: linear-gradient(135deg, #ff3f8d, #e84e91 52%, #ef66a5);
  font-weight: 800;
  box-shadow: 0 14px 30px rgba(239,77,147,.25);
}
.wa-dot { display:grid; place-items:center; width:28px; height:28px; background:rgba(255,255,255,.18); border-radius:50%; }
.menu-toggle { display: none; }
.mobile-menu { display: none; }

.hero { min-height: 880px; padding-top: 155px; padding-bottom: 52px; position: relative; display: grid; grid-template-columns: .96fr 1.04fr; gap: clamp(34px, 6vw, 88px); align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.hero-text { max-width: 690px; margin: 34px 0 30px; color: #58657c; font-size: clamp(1.08rem, 1.5vw, 1.35rem); line-height: 1.65; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.btn { min-height: 58px; padding: 0 22px; border-radius: 18px; display: inline-flex; align-items: center; gap: 20px; justify-content: center; font-weight: 800; transition: .25s ease; }
.btn span { font-size: 1.25rem; }
.btn-primary { color: white; background: linear-gradient(135deg, var(--pink-bright), #ed4f94); box-shadow: 0 18px 38px rgba(239,77,147,.25); }
.btn-primary:hover { transform: translateY(-3px); box-shadow: 0 22px 45px rgba(239,77,147,.34); }
.btn-ghost { border: 2px solid rgba(111,58,157,.55); color: var(--purple-deep); background: rgba(255,255,255,.7); }
.btn-ghost:hover { background: #fff; transform: translateY(-3px); }
.micro-values { margin-top: 34px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.micro-values div { padding: 14px 10px 12px; border-top: 1px solid rgba(55,68,94,.12); display: grid; grid-template-columns: 30px 1fr; column-gap: 7px; }
.micro-values span { grid-row: span 2; color: var(--teal); font-size: 1.35rem; }
.micro-values b { font-size: .82rem; }
.micro-values small { color: #748094; font-size: .72rem; }

.hero-stage { min-height: 650px; position: relative; display: grid; place-items: center; }
.photo-frame {
  width: min(96%, 690px); aspect-ratio: 1 / .97;
  position: relative; overflow: hidden;
  border-radius: 49% 51% 44% 56% / 55% 40% 60% 45%;
  box-shadow: 0 35px 85px rgba(78,39,110,.23);
  transform: rotate(1.4deg);
  background: #f7e8f1;
}
.photo-frame::before { content:""; position:absolute; inset:14px; border:1px solid rgba(255,255,255,.65); border-radius:inherit; z-index:2; pointer-events:none; }
.photo-frame img { width:100%; height:100%; object-fit:cover; object-position: 57% 48%; transform: scale(1.12); }
.photo-shade { position:absolute; inset:0; background: linear-gradient(120deg, rgba(255,255,255,.08), transparent 45%, rgba(111,58,157,.08)); }
.floating-note { position:absolute; z-index:5; background:#fff7d7; padding:20px 22px; border-radius:4px 4px 20px 5px; box-shadow: 0 20px 40px rgba(68,42,94,.15); font-family:"Patrick Hand", cursive; color:#566018; font-size:1.15rem; line-height:1.05; transform:rotate(4deg); }
.note-a { right:-2%; top:17%; }
.floating-pill { position:absolute; z-index:6; padding:10px 20px; border-radius:999px; color:white; font-weight:800; font-family:"Nunito", sans-serif; box-shadow:0 12px 30px rgba(0,0,0,.13); }
.pill-a { left:-3%; bottom:26%; background:linear-gradient(135deg, #9c64bf, var(--purple)); transform:rotate(-6deg); }
.pill-b { left:8%; bottom:18%; background:linear-gradient(135deg, #43bcc5, var(--teal-deep)); transform:rotate(3deg); }
.floating-star { position:absolute; z-index:5; font-size:3rem; filter:drop-shadow(0 10px 12px rgba(0,0,0,.08)); animation:floaty 4s ease-in-out infinite; }
.star-a { color:#f6bb3e; right:5%; top:7%; }
.star-b { color:var(--pink); left:4%; top:11%; animation-delay: -1.2s; }
.flight-path { position:absolute; width:48%; color:var(--lime); left:-2%; top:22%; opacity:.85; }
.hero-orb { position:absolute; border-radius:50%; filter:blur(1px); z-index:0; }
.orb-a { width:180px; height:180px; background:rgba(32,169,181,.10); left:-110px; top:260px; }
.orb-b { width:120px; height:120px; background:rgba(183,207,75,.17); right:-90px; top:430px; }
.orb-c { width:90px; height:90px; background:rgba(239,77,147,.12); left:49%; top:130px; }
.hero-bottom-line { grid-column:1/-1; border-top:1px solid rgba(45,53,78,.1); padding-top:22px; display:flex; justify-content:center; gap:clamp(35px,7vw,110px); font-family:"Nunito",sans-serif; font-weight:800; color:#5c6679; font-size:.9rem; }
.hero-bottom-line span::before { content:"✦"; color:var(--pink); margin-right:10px; }

.learning-path { padding: 105px 0 90px; }
.path-scroll-scene { position:relative; height:min(1080px, 145vh); }
.section-heading { display:grid; grid-template-columns: 1.25fr .75fr; gap:50px; align-items:end; margin-bottom:65px; }
.section-heading>p { color:var(--muted); line-height:1.65; font-size:1.05rem; margin:0 0 8px; max-width:560px; }
.section-heading.compact { grid-template-columns:1fr; margin-bottom:32px; }
.path-canvas {
  position:sticky;
  top:96px;
  height:min(660px, calc(100vh - 120px));
  min-height:560px;
  width:100vw;
  margin-left:calc(50% - 50vw);
  border-radius:0;
  background:linear-gradient(180deg, rgba(250,252,252,.7), #fff 55%, rgba(250,246,255,.85));
  overflow:hidden;
  box-shadow: inset 0 0 0 1px rgba(111,58,157,.07);
}
.path-canvas::before {
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 72%,rgba(183,207,75,.18),transparent 23%),
    radial-gradient(circle at 82% 20%,rgba(239,77,147,.12),transparent 24%),
    linear-gradient(90deg, rgba(255,255,255,.95), rgba(255,255,255,0) 12%, rgba(255,255,255,0) 88%, rgba(255,255,255,.95));
  z-index:0;
}
.path-canvas::after {
  content:"";
  position:absolute;
  inset:auto 0 18px;
  height:100px;
  background:radial-gradient(ellipse at center, rgba(111,58,157,.10), transparent 66%);
  filter:blur(20px);
  pointer-events:none;
}
.path-track {
  position:relative;
  width:max(1500px, 118vw);
  height:100%;
  min-height:0;
  margin-inline:auto;
  --path-x: 5vw;
  transform:translate3d(var(--path-x),0,0);
  transition:transform .12s linear;
  will-change:transform;
}
.ribbon { position:absolute; height:30px; border-radius:999px; opacity:.9; transform-origin:center; }
.ribbon-1 { width:112%; left:-6%; top:49%; background:linear-gradient(90deg,var(--lime),var(--pink),var(--teal),var(--purple),var(--lime),var(--pink),var(--lime)); background-size:220% 100%; animation:ribbonFlow 8s linear infinite; transform:rotate(-2.3deg); }
.ribbon-2 { width:94%; left:5%; top:52%; background:rgba(255,255,255,.82); height:7px; transform:rotate(2deg); }
.ribbon-3 { width:78%; left:12%; top:47%; background:rgba(255,255,255,.55); height:4px; transform:rotate(-6.5deg); }
.service-node {
  position:absolute;
  width:172px;
  text-align:center;
  z-index:3;
  transform:translate(-50%,-50%);
  animation:nodeFloat 6s ease-in-out infinite;
}
.service-node h3 { font-size:1rem; line-height:1.15; color:#28344d; margin-top:13px; }
.node-icon { width:94px; height:94px; margin:auto; display:grid; place-items:center; border-radius:50%; color:white; font-weight:900; font-family:"Nunito",sans-serif; font-size:1.55rem; box-shadow:0 18px 40px rgba(52,39,82,.18); border:6px solid white; }
.node-icon.green { background:linear-gradient(145deg,#c4da5a,#96be27); }
.node-icon.pink { background:linear-gradient(145deg,#ff5a9f,#ed3e87); }
.node-icon.teal { background:linear-gradient(145deg,#33bdc7,#0d8d9e); }
.node-icon.purple { background:linear-gradient(145deg,#9862c0,#633195); }
.n1{left:8%;top:65%;animation-delay:-1s}.n2{left:20%;top:41%;animation-delay:-3.2s}.n3{left:32%;top:60%;animation-delay:-.6s}.n4{left:44%;top:36%;animation-delay:-2.7s}.n5{left:56%;top:60%;animation-delay:-1.8s}.n6{left:68%;top:39%;animation-delay:-4.2s}.n7{left:80%;top:61%;animation-delay:-2s}.n8{left:92%;top:43%;animation-delay:-3.6s}
.path-caption { position:absolute; right:6%; top:10%; color:var(--teal-deep); font-family:"Patrick Hand",cursive; font-size:1.75rem; line-height:.95; text-align:right; transform:rotate(-5deg); }
.path-caption strong { color:var(--pink); font-weight:400; }
.service-node .node-icon { transition:transform .28s ease, box-shadow .28s ease, filter .28s ease; }
.service-node h3 { transition:transform .28s ease, color .28s ease; }
.service-node.is-active .node-icon, .service-node:hover .node-icon {
  transform:scale(1.12);
  filter:saturate(1.12);
  box-shadow:0 24px 55px rgba(78,39,110,.28), 0 0 0 9px rgba(255,255,255,.55);
}
.service-node.is-active h3, .service-node:hover h3 {
  color:var(--purple-deep);
  transform:translateY(4px);
}

@keyframes ribbonFlow {
  from { background-position:0% 50%; }
  to { background-position:220% 50%; }
}
@keyframes nodeFloat {
  0%,100% { translate:0 0; }
  50% { translate:0 -12px; }
}

.method { padding: 25px 0 120px; }
.method-intro { max-width:950px; margin-bottom:50px; }
.method-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:22px; align-items:stretch; }
.method-flow article { border-radius:28px; padding:30px; background:#fff; box-shadow:0 20px 55px rgba(71,43,95,.09); border:1px solid rgba(111,58,157,.08); }
.method-flow article:nth-of-type(1){background:linear-gradient(180deg,#f8fcec,#fff)}
.method-flow article:nth-of-type(2){background:linear-gradient(180deg,#edfafa,#fff)}
.method-flow article:nth-of-type(3){background:linear-gradient(180deg,#fff0f6,#fff)}
.method-flow span { display:inline-grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--purple); color:white; font-weight:900; margin-bottom:30px; }
.method-flow h3 { color:var(--purple-deep); font-size:1.35rem; margin-bottom:12px; }
.method-flow p { color:var(--muted); line-height:1.62; margin:0; }
.flow-arrow { align-self:center; color:var(--pink); font-size:1.8rem; }

.essence { position:relative; min-height:760px; margin:40px 0 110px; padding:85px 0; overflow:hidden; background:linear-gradient(90deg,#fff 0 25%,#fbfafc 25% 100%); }
.essence::before { content:""; position:absolute; width:470px; height:470px; border-radius:50%; right:-170px; top:-100px; background:rgba(32,169,181,.08); }
.essence-photo { position:absolute; inset:0 auto 0 0; width:28%; overflow:hidden; border-radius:0 70px 70px 0; }
.essence-photo img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.92) contrast(.98); }
.essence-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(111,58,157,.08)); }
.paper-note { position:absolute; z-index:3; left:20%; bottom:13%; width:200px; padding:23px 20px; background:#fff7de; box-shadow:0 18px 45px rgba(38,33,41,.18); font-family:"Patrick Hand",cursive; font-size:1.5rem; line-height:1; transform:rotate(-5deg); color:#30465c; }
.paper-note strong { color:var(--pink); font-weight:400; }
.essence-content { padding-left:30%; position:relative; z-index:2; }
.essence-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.essence-card { min-height:350px; border-radius:34px; padding:34px 30px; box-shadow:0 22px 60px rgba(64,38,87,.08); border:1px solid rgba(255,255,255,.8); }
.essence-card.mission { background:linear-gradient(180deg,#f2f9d7,#fbfff1); }
.essence-card.vision { background:linear-gradient(180deg,#dff7f9,#f5fdfe); }
.essence-card.values { background:linear-gradient(180deg,#ffe1ee,#fff7fa); }
.essence-symbol { width:68px; height:68px; display:grid; place-items:center; border-radius:50%; background:white; box-shadow:0 10px 30px rgba(71,43,95,.11); font-size:1.7rem; color:var(--purple); margin-bottom:20px; }
.essence-card h3 { font-size:2rem; margin-bottom:16px; color:var(--purple-deep); }
.essence-card p, .essence-card li { color:#506078; line-height:1.6; }
.essence-card ul { list-style:none; padding:0; margin:0; display:grid; gap:6px; }
.essence-card li::before { content:"✓"; color:var(--pink); font-weight:900; margin-right:10px; }

.location { padding: 20px 0 125px; display:grid; grid-template-columns:1fr .92fr; gap:70px; align-items:center; }
.location-visual { min-height:580px; position:relative; overflow:hidden; border-radius:50px; background:linear-gradient(145deg,#edfafa,#f9f8ff); box-shadow:var(--shadow); }
.map-grid { position:absolute; inset:0; opacity:.35; background-image:linear-gradient(rgba(42,139,151,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(42,139,151,.12) 1px,transparent 1px); background-size:44px 44px; transform:rotate(-6deg) scale(1.2); }
.map-road { position:absolute; height:30px; background:white; border-radius:999px; box-shadow:0 10px 30px rgba(78,39,110,.06); }
.road-a { width:120%; left:-10%; top:42%; transform:rotate(-13deg); }
.road-b { width:80%; left:22%; top:64%; transform:rotate(24deg); }
.road-c { width:78%; left:-11%; top:18%; transform:rotate(37deg); }
.map-pin { position:absolute; left:54%; top:43%; width:130px; height:130px; transform:translate(-50%,-50%); border-radius:44% 44% 55% 55% / 42% 42% 68% 68%; background:#fff; padding:22px; box-shadow:0 25px 65px rgba(78,39,110,.2); display:grid; place-items:center; }
.map-pin::after { content:""; position:absolute; width:34px; height:34px; bottom:-16px; background:white; transform:rotate(45deg); z-index:-1; }
.map-pin img { max-height:90px; object-fit:contain; }
.map-label { position:absolute; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.88); color:#526176; font-size:.75rem; font-weight:800; box-shadow:0 8px 18px rgba(77,36,125,.06); }
.label-a{left:12%;top:28%}.label-b{right:12%;top:23%}.label-c{right:10%;bottom:16%}
.location-copy h2 { margin-bottom:22px; }
.address { font-size:1.1rem; line-height:1.7; color:#5c687b; max-width:620px; margin:0 0 30px; }
.contact-stack { display:grid; gap:12px; }
.contact-item { min-height:75px; border-radius:22px; padding:12px 16px; display:grid; grid-template-columns:46px 1fr auto; gap:14px; align-items:center; background:#fff; box-shadow:0 12px 30px rgba(63,47,76,.08); transition:.25s ease; }
.contact-item:hover { transform:translateX(5px); }
.contact-icon { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; color:#fff; font-weight:900; }
.contact-item small { display:block; color:#7b8496; font-size:.75rem; }
.contact-item b { display:block; color:#2c3850; font-size:1rem; }
.contact-item i { font-style:normal; font-size:1.3rem; color:#8a91a1; }
.whatsapp .contact-icon { background:#55bc37; }.instagram .contact-icon{background:linear-gradient(135deg,#fd5d8f,#9f4fbe)}.facebook .contact-icon{background:#3f78be}
.maps-link { margin-top:25px; display:inline-block; color:var(--purple); font-weight:800; border-bottom:2px solid rgba(111,58,157,.2); padding-bottom:4px; }

.final-cta { position:relative; overflow:hidden; margin-bottom:45px; min-height:330px; padding:56px; border-radius:46px; color:#fff; background:linear-gradient(120deg,#4d247d,#73379e 48%,#913b9b); display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; box-shadow:0 30px 75px rgba(78,39,110,.28); }
.final-cta::before { content:""; position:absolute; inset:auto -10% -70% 20%; height:120%; border-radius:50%; background:rgba(255,255,255,.07); transform:rotate(-8deg); }
.final-cta h2 { color:#fff; font-size:clamp(2.5rem,4vw,4.6rem); }
.final-cta p { color:rgba(255,255,255,.75); max-width:670px; line-height:1.6; font-size:1.05rem; }
.btn-light { background:#fff; color:var(--purple-deep); position:relative; z-index:2; }
.cta-doodle { position:absolute; right:4%; bottom:8%; font-family:"Patrick Hand",cursive; font-size:1.4rem; color:rgba(255,255,255,.30); transform:rotate(-5deg); text-align:right; }

.site-footer { width:min(1240px,calc(100% - 42px)); margin:0 auto; padding:45px 0 35px; display:grid; grid-template-columns:1.1fr .9fr; gap:25px; border-top:1px solid rgba(49,61,84,.10); }
.footer-brand img { width:250px; height:110px; object-fit:contain; object-position:left center; margin-bottom:10px; }
.footer-brand p { max-width:520px; color:#788194; line-height:1.6; font-size:.9rem; }
.footer-links { display:flex; justify-content:flex-end; gap:20px; flex-wrap:wrap; align-self:center; font-weight:700; color:#536078; }
.copyright { grid-column:1/-1; color:#9ba2af; font-size:.76rem; margin:16px 0 0; }
.floating-whatsapp { position:fixed; right:20px; bottom:20px; z-index:900; min-height:56px; padding:8px 16px 8px 8px; border-radius:999px; background:#34b45c; color:#fff; box-shadow:0 18px 40px rgba(24,116,61,.28); display:flex; align-items:center; gap:10px; font-size:.86rem; }
.floating-whatsapp span { width:40px; height:40px; display:grid; place-items:center; background:rgba(255,255,255,.17); border-radius:50%; font-weight:900; }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1); }
.reveal.revealed { opacity:1; transform:translateY(0); }
.reveal-delay { transition-delay:.14s; }
@keyframes floaty { 0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(6deg)} }
.cursor-glow { position:fixed; width:380px; height:380px; border-radius:50%; pointer-events:none; z-index:-1; background:radial-gradient(circle,rgba(239,77,147,.07),transparent 66%); transform:translate(-50%,-50%); left:50%; top:30%; transition:left .12s linear,top .12s linear; }

@media (max-width: 1080px) {
  .site-header { grid-template-columns:230px 1fr auto; }
  .desktop-nav { gap:16px; }
  .desktop-nav a { font-size:.82rem; }
  .header-cta { padding:14px 16px; }
  .hero { grid-template-columns:1fr 1fr; gap:24px; min-height:780px; }
  .hero-stage { min-height:560px; }
  .path-scroll-scene { height:min(1060px, 145vh); }
  .path-canvas { min-height:600px; }
  .path-track { width:max(1500px, 122vw); }
  .n1{left:11%;top:62%}.n2{left:25%;top:38%}.n3{left:38%;top:65%}.n4{left:52%;top:39%}.n5{left:65%;top:66%}.n6{left:80%;top:39%}.n7{left:78%;top:75%}.n8{left:92%;top:59%}
  .method-flow { grid-template-columns:1fr; }
  .flow-arrow { transform:rotate(90deg); justify-self:center; }
  .essence-photo { width:24%; }
  .essence-content { padding-left:26%; }
  .essence-grid { grid-template-columns:1fr; }
  .essence { min-height:1100px; }
  .location { grid-template-columns:1fr; }
}

@media (max-width: 860px) {
  .section-shell { width:min(100% - 28px, 720px); }
  .site-header { width:calc(100% - 16px); height:76px; top:8px; grid-template-columns:1fr auto; padding:6px 10px 6px 14px; border-radius:22px; }
  .site-header.scrolled { height:72px; }
  .brand { width:215px; }
  .brand img { height:58px; }
  .desktop-nav, .header-cta { display:none; }
  .menu-toggle { display:grid; width:50px; height:50px; border:none; background:#f6f3f9; border-radius:16px; place-content:center; gap:7px; }
  .menu-toggle span { width:23px; height:2px; background:var(--purple); border-radius:99px; transition:.25s; }
  .menu-toggle.active span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .menu-toggle.active span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .mobile-menu { position:fixed; z-index:990; inset:92px 8px auto; padding:20px; border-radius:26px; background:rgba(255,255,255,.97); box-shadow:0 20px 60px rgba(51,31,73,.18); display:grid; gap:7px; opacity:0; transform:translateY(-14px) scale(.98); pointer-events:none; transition:.25s; }
  .mobile-menu.open { opacity:1; transform:none; pointer-events:auto; }
  .mobile-menu a { padding:14px 16px; border-radius:14px; font-weight:800; color:#4f5a6f; }
  .mobile-wa { background:#f1faef; color:#2f9450!important; }
  .hero { padding-top:120px; grid-template-columns:1fr; min-height:auto; }
  h1 { font-size:clamp(3.2rem,14vw,5.9rem); }
  .hero-stage { min-height:540px; order:2; }
  .hero-bottom-line { order:3; flex-direction:column; gap:8px; align-items:center; }
  .micro-values { grid-template-columns:1fr; }
  .micro-values div { grid-template-columns:30px auto 1fr; align-items:center; }
  .micro-values span { grid-row:auto; }
  .micro-values small { margin-left:6px; }
  .section-heading { grid-template-columns:1fr; gap:20px; }
  .learning-path { padding-top:80px; }
  .path-scroll-scene { height:auto; }
  .path-canvas { position:relative; top:auto; height:auto; min-height:1110px; }
  .path-track { height:auto; min-height:1110px; width:100%; transform:none!important; transition:none; }
  .ribbon-1 { width:1500px; left:-520px; top:51%; transform:rotate(78deg); }
  .ribbon-2,.ribbon-3 { display:none; }
  .service-node { width:170px; }
  .n1{left:28%;top:12%}.n2{left:70%;top:22%}.n3{left:30%;top:33%}.n4{left:70%;top:44%}.n5{left:30%;top:55%}.n6{left:70%;top:66%}.n7{left:30%;top:77%}.n8{left:70%;top:88%}
  .path-caption { top:auto; right:5%; bottom:2%; font-size:1.15rem; }
  .essence { padding:62px 0; margin-bottom:85px; background:#fbfafc; }
  .essence-photo { position:relative; width:calc(100% - 28px); height:330px; border-radius:38px; margin:0 14px 45px; }
  .paper-note { left:auto; right:20px; bottom:15px; width:180px; }
  .essence-content { padding-left:0; }
  .essence-grid { grid-template-columns:1fr; }
  .location-visual { min-height:440px; }
  .final-cta { grid-template-columns:1fr; padding:38px 28px 80px; }
  .cta-doodle { right:8%; bottom:5%; }
  .site-footer { width:calc(100% - 28px); grid-template-columns:1fr; }
  .footer-links { justify-content:flex-start; }
  .floating-whatsapp b { display:none; }
  .floating-whatsapp { padding-right:8px; }
}

@media (max-width: 560px) {
  .hero-actions .btn { width:100%; }
  .photo-frame { width:100%; }
  .hero-stage { min-height:430px; }
  .floating-note { right:0; top:11%; font-size:.95rem; padding:14px; }
  .pill-a { left:0; bottom:20%; }.pill-b{left:15%;bottom:10%}
  .section-heading { margin-bottom:42px; }
  .path-canvas { border-radius:32px; }
  .path-track { min-height:inherit; }
  .service-node { width:145px; }
  .node-icon { width:70px; height:70px; }
  .essence-card { min-height:auto; }
  .location-visual { min-height:370px; border-radius:34px; }
  .map-pin { width:100px; height:100px; padding:16px; }
  .contact-item { grid-template-columns:42px 1fr auto; padding:10px; }
  .contact-icon { width:42px; height:42px; }
  .site-footer { padding-bottom:90px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
  .path-track, .service-node, .ribbon-1 { animation:none!important; }
  .path-track { transform:none!important; }
}

.desktop-nav a.nav-active::after { left:0; right:0; }
.desktop-nav a.nav-active { color:var(--purple-deep); }
