
:root{--paper:#f5f8f7;--ink:#17323a;--muted:#607177;--line:#cbdadd;--teal:#1d8799;--dark:#126777;--sky:#62b8c8;--deep:#183f4b;--green:#557b6a;--mustard:#d8a628;--terra:#c96c49;--cream:#efe4c8;--peach:#f5dfd4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}
.nav{max-width:1280px;margin:auto;padding:22px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;font-weight:800;font-size:20px;letter-spacing:-.02em}.mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--teal),var(--sky));color:#fff;font-size:13px;box-shadow:0 6px 18px rgba(29,135,153,.18)}.nav nav{display:flex;gap:26px;font-size:14px}
.hero{max-width:1280px;margin:auto;padding:78px 32px 68px;display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}.eyebrow{margin:0 0 18px;color:var(--teal);font:700 12px "Courier New",monospace;text-transform:uppercase;letter-spacing:.13em}
h1,h2,h3{margin-top:0;letter-spacing:-.045em}h1{font-size:clamp(52px,5.8vw,82px);line-height:.96;margin-bottom:28px}h2{font-size:clamp(46px,5vw,72px);line-height:.97;margin-bottom:24px}h3{font-size:clamp(30px,3vw,46px);line-height:1.02}.lead{font-size:20px;line-height:1.6;color:#4f6268;max-width:720px}.small{font-size:17px}.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.small-note{font-size:13px;color:var(--muted)}
.btn,button{display:inline-flex;border:0;border-radius:9px;background:var(--teal);color:#fff;padding:16px 20px;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 8px 18px rgba(29,135,153,.15)}.btn:hover,button:hover{background:var(--dark)}
.textile,.pattern{position:relative;overflow:hidden;border-radius:20px;background:repeating-linear-gradient(90deg,var(--deep) 0 42px,#2c91a7 42px 84px,var(--sky) 84px 126px,#245765 126px 168px,var(--green) 168px 210px)}.textile{min-height:460px;box-shadow:0 24px 60px rgba(23,50,58,.14)}.textile:before,.pattern:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 66px,var(--cream) 66px 72px,var(--mustard) 72px 86px,var(--terra) 86px 96px,transparent 96px 148px);opacity:.95}.textile span{position:absolute;left:40px;bottom:36px;color:#fff;font-size:clamp(62px,7vw,104px);font-weight:800;letter-spacing:-.08em;text-shadow:0 4px 20px rgba(0,0,0,.2)}
.diamond{position:absolute;width:56px;height:56px;transform:rotate(45deg);border:8px solid rgba(255,255,255,.7);background:var(--mustard);z-index:2}.d1{top:44px;right:54px}.d2{top:130px;right:110px;background:var(--terra)}.d3{top:220px;right:52px;background:var(--green)}
.color-ribbon{height:14px;background:repeating-linear-gradient(90deg,var(--deep) 0 44px,var(--sky) 44px 88px,var(--green) 88px 132px,var(--mustard) 132px 154px,var(--terra) 154px 176px,var(--cream) 176px 198px)}
.section{max-width:1280px;margin:auto;padding:96px 32px}.alt{max-width:none;background:#e9f1ef;padding-left:max(32px,calc((100vw - 1216px)/2));padding-right:max(32px,calc((100vw - 1216px)/2))}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.card{border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:0 12px 32px rgba(23,50,58,.06)}.card.warm{background:linear-gradient(180deg,#fff 0,#fffaf3 100%);border-top:6px solid var(--mustard)}.card.cool{background:linear-gradient(180deg,#fff 0,#f4fbfc 100%);border-top:6px solid var(--sky)}.card p{line-height:1.65;color:#4f6268}.card ul{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.card li{padding-top:11px;border-top:1px solid var(--line);font-size:14px}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}.pattern{min-height:440px}.stripe{position:absolute;left:12%;right:12%;height:26px;background:repeating-linear-gradient(90deg,var(--mustard) 0 18px,var(--terra) 18px 36px,var(--cream) 36px 54px,var(--green) 54px 72px)}.s1{top:18%}.s2{top:47%}.s3{top:76%}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.chips span{border:1px solid #bfcfd2;background:rgba(255,255,255,.72);border-radius:999px;padding:10px 14px;font-size:13px}
.testimonials{background:linear-gradient(180deg,#f5f8f7 0,#fbf6ef 100%)}.testimonial-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0}.quote-card{border-radius:16px;padding:28px;min-height:190px;box-shadow:0 10px 24px rgba(23,50,58,.06)}.quote-card span{font-size:48px;line-height:.8;font-weight:800}.quote-card p{font-size:18px;line-height:1.5}.quote-card small{font-weight:700}.q1{background:#e9f6f7;border-top:5px solid var(--sky)}.q2{background:#fff7e6;border-top:5px solid var(--mustard)}.q3{background:#f8e7df;border-top:5px solid var(--terra)}
.details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:20px}.details summary{cursor:pointer;font-weight:800;font-size:18px}.form{display:grid;gap:17px;margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 16px 40px rgba(23,50,58,.08)}.form label{display:grid;gap:7px}.form label>span{font:700 12px "Courier New",monospace;text-transform:uppercase;letter-spacing:.08em}input,select,textarea{width:100%;border:1px solid #bfd0d3;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:16px;padding:13px 14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.note{font-size:13px;color:var(--muted);margin:0}
.contact-section{max-width:none;background:linear-gradient(135deg,#e6f2f3 0,#f7efe4 100%);padding-left:max(32px,calc((100vw - 1216px)/2));padding-right:max(32px,calc((100vw - 1216px)/2))}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}.contact-accent{display:inline-block;margin-top:18px;padding:10px 14px;border-radius:999px;background:var(--deep);color:white;font-size:13px}
footer{max-width:1280px;margin:auto;padding:34px 32px 44px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;color:var(--muted);font-size:13px}footer p{margin:0}
@media(max-width:820px){.nav{align-items:flex-start;gap:16px}.nav nav{gap:12px;font-size:12px;flex-wrap:wrap;justify-content:flex-end}.hero,.grid2,.about-grid,.contact-grid,.testimonial-cards{grid-template-columns:1fr}.hero{padding-top:52px}.textile{min-height:320px}.section{padding-top:74px;padding-bottom:74px}.card ul{grid-template-columns:1fr}.pattern{min-height:330px}.two{grid-template-columns:1fr}footer{grid-template-columns:1fr}}

/* v4 professional + Peruvian identity refinements */
.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--teal);border-radius:9px;
  padding:15px 20px;font-weight:800;font-size:16px;color:var(--teal);
  background:transparent;
}
.btn-secondary:hover{background:#e7f5f6}
.hero-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero-points span{
  font-size:12px;font-weight:700;color:var(--deep);
  padding:8px 11px;border-radius:999px;background:#e8f4f4;border:1px solid #cbe2e5;
}
.service-strip{
  max-width:1280px;margin:0 auto 12px;padding:0 32px 8px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.service-strip div{
  background:#fff;border:1px solid var(--line);border-top:4px solid var(--sky);
  border-radius:12px;padding:16px 18px;box-shadow:0 8px 22px rgba(23,50,58,.05);
}
.service-strip div:nth-child(2){border-top-color:var(--mustard)}
.service-strip div:nth-child(3){border-top-color:var(--green)}
.service-strip div:nth-child(4){border-top-color:var(--terra)}
.service-strip strong{display:block;font-size:15px;margin-bottom:5px}
.service-strip span{display:block;font-size:12px;color:var(--muted);line-height:1.35}

.mini-labels{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 4px}
.mini-labels span{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  padding:7px 9px;border-radius:999px;background:#edf5f5;color:var(--deep);
}
.card.warm .mini-labels span:nth-child(2){background:#fff1d8;color:#7d5c12}
.card.cool .mini-labels span:nth-child(2){background:#e5f5f8;color:#23667a}

.why{
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.why-grid article{
  padding:28px;border-radius:16px;background:#f9fbfb;border:1px solid var(--line);
}
.why-grid article:nth-child(1){border-left:5px solid var(--sky)}
.why-grid article:nth-child(2){border-left:5px solid var(--mustard)}
.why-grid article:nth-child(3){border-left:5px solid var(--terra)}
.why-grid article>span{
  font:700 12px "Courier New",monospace;color:var(--teal);letter-spacing:.1em;
}
.why-grid h3{font-size:30px;margin:12px 0 10px}
.why-grid p{margin:0;color:#52636a;line-height:1.55}

.testimonials .section-head{max-width:760px}
.quote-card p{margin-top:8px}
.quote-card small{color:#42555c}

@media(max-width:900px){
  .service-strip{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .service-strip{grid-template-columns:1fr}
  .hero-actions{align-items:stretch}
  .btn,.btn-secondary{width:100%}
}


/* v6 refinements */
.about-copy{
  font-size:18px !important;
  line-height:1.65 !important;
  color:#52636a;
  margin:0 0 16px;
  max-width:760px;
}
.about-copy + .about-copy{margin-top:0}

.lessons-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.peru-card{
  border-top:5px solid var(--terra);
  background:linear-gradient(180deg,#fffaf7 0%,#ffffff 100%);
}
.peru-card .mini-labels span:nth-child(1){background:#fff0e8;color:#915236}
.peru-card .mini-labels span:nth-child(2){background:#e9f5f5;color:#1d6673}
.peru-card .mini-labels span:nth-child(3){background:#fff3cf;color:#7d5c12}

/* Decorative Andean-inspired visual without a word */
.textile{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,
      var(--deep) 0 13%,
      var(--sky) 13% 22%,
      var(--mustard) 22% 30%,
      var(--teal) 30% 44%,
      var(--terra) 44% 53%,
      var(--green) 53% 66%,
      #8d4f7c 66% 73%,
      var(--sky) 73% 84%,
      var(--deep) 84% 100%);
}
.textile::before{
  content:"";
  position:absolute;
  inset:12% 10%;
  background:
    repeating-linear-gradient(45deg,
      transparent 0 18px,
      rgba(255,255,255,.16) 18px 22px,
      transparent 22px 40px),
    repeating-linear-gradient(-45deg,
      transparent 0 28px,
      rgba(255,255,255,.12) 28px 32px,
      transparent 32px 56px);
  border:1px solid rgba(255,255,255,.24);
  border-radius:10px;
}
.textile::after{
  content:"";
  position:absolute;
  width:120px;height:120px;
  left:50%;top:50%;
  transform:translate(-50%,-50%) rotate(45deg);
  border:14px double rgba(255,255,255,.78);
  box-shadow:
    0 0 0 24px rgba(23,50,58,.18),
    0 0 0 42px rgba(255,255,255,.08);
}

/* Testimonials heading stands alone */
.testimonials .section-head{margin-bottom:26px}
.testimonials .section-head > p{display:none}

@media(max-width:1050px){
  .lessons-grid{grid-template-columns:1fr 1fr}
  .peru-card{grid-column:1 / -1}
}
@media(max-width:700px){
  .lessons-grid{grid-template-columns:1fr}
  .peru-card{grid-column:auto}
  .about-copy{font-size:17px !important}
}


/* v7 hero motto */
.hero-motto{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:78%;
  color:white;
  text-shadow:0 2px 16px rgba(0,0,0,.16);
  pointer-events:none;
}
.hero-motto span{display:block}
.motto-line-1{
  font-size:clamp(48px,5.1vw,78px);
  line-height:.96;
  font-weight:800;
  letter-spacing:-.045em;
}
.motto-line-2{
  font-size:clamp(32px,3.4vw,52px);
  line-height:1;
  font-weight:700;
  letter-spacing:-.035em;
  margin-top:8px;
  margin-left:18px;
}
@media(max-width:700px){
  .hero-motto{width:82%}
  .motto-line-2{margin-left:10px}
}


/* v9: corrected hero motto composition */
.hero-motto{
  position:absolute !important;
  z-index:5 !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:72% !important;
  color:#fff !important;
  text-align:left !important;
  text-shadow:0 2px 12px rgba(0,0,0,.20) !important;
  pointer-events:none !important;
}
.hero-motto span{
  display:block !important;
  position:relative !important;
}
.motto-line-1{
  font-size:clamp(44px,4.2vw,64px) !important;
  line-height:.95 !important;
  font-weight:800 !important;
  letter-spacing:-.035em !important;
  margin:0 !important;
  white-space:nowrap !important;
}
.motto-line-2{
  font-size:clamp(30px,3vw,44px) !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:-.025em !important;
  margin-top:10px !important;
  margin-left:42px !important;
  white-space:nowrap !important;
}

/* soften central decorative geometry so the words remain the focus */
.textile::after{
  opacity:.42 !important;
  width:96px !important;
  height:96px !important;
  border-width:10px !important;
}
.textile::before{
  opacity:.45 !important;
}

@media(max-width:900px){
  .hero-motto{width:76% !important}
  .motto-line-2{margin-left:28px !important}
}
@media(max-width:700px){
  .motto-line-1{font-size:42px !important}
  .motto-line-2{font-size:30px !important;margin-left:22px !important}
}


/* v10: three lesson offers */
#lessons .grid2{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
}
#lessons .card{
  height:100%;
}
.peru-card{
  border-top:5px solid var(--terra) !important;
  background:linear-gradient(180deg,#fff8f3 0%,#ffffff 100%) !important;
}
.peru-card .mini-labels span:nth-child(1){background:#fff0e8;color:#915236}
.peru-card .mini-labels span:nth-child(2){background:#e9f5f5;color:#1d6673}
.peru-card .mini-labels span:nth-child(3){background:#fff3cf;color:#7d5c12}

/* v10: motto readable and intentionally offset */
.hero-motto{
  position:absolute !important;
  z-index:6 !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:72% !important;
  text-align:left !important;
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.20) !important;
}
.hero-motto .motto-line-1{
  display:block !important;
  font-size:clamp(42px,4vw,62px) !important;
  line-height:.96 !important;
  font-weight:800 !important;
  letter-spacing:-.035em !important;
  margin:0 !important;
  white-space:nowrap !important;
}
.hero-motto .motto-line-2{
  display:block !important;
  font-size:clamp(28px,2.8vw,42px) !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;
  margin:10px 0 0 48px !important;
  white-space:nowrap !important;
}
.textile::before{opacity:.30 !important}
.textile::after{opacity:.28 !important}

@media(max-width:1050px){
  #lessons .grid2{grid-template-columns:1fr 1fr !important}
  #lessons .peru-card{grid-column:1 / -1}
}
@media(max-width:700px){
  #lessons .grid2{grid-template-columns:1fr !important}
  #lessons .peru-card{grid-column:auto}
  .hero-motto .motto-line-2{margin-left:28px !important}
}


/* v12 FINAL: clean rhombus hero visual, keep current typography and content */
.textile{
  width:min(100%,520px) !important;
  height:430px !important;
  min-height:430px !important;
  aspect-ratio:auto !important;
  border-radius:0 !important;
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%) !important;
  overflow:hidden !important;
  justify-self:center !important;
  box-shadow:none !important;
  position:relative !important;
}

/* Keep the woven detail inside the rhombus, but make it subtle */
.textile::before{
  inset:13% 11% !important;
  border-radius:0 !important;
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%) !important;
  opacity:.28 !important;
}

/* Remove the large central geometric frame so the rhombus itself is the shape */
.textile::after{
  display:none !important;
}

/* Keep wording exactly as approved and horizontally readable */
.hero-motto{
  position:absolute !important;
  z-index:5 !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:66% !important;
  text-align:left !important;
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.20) !important;
  pointer-events:none !important;
}

.hero-motto .motto-line-1{
  display:block !important;
  font-size:clamp(42px,4vw,60px) !important;
  line-height:.96 !important;
  font-weight:800 !important;
  letter-spacing:-.035em !important;
  margin:0 !important;
  white-space:nowrap !important;
}

.hero-motto .motto-line-2{
  display:block !important;
  font-size:clamp(28px,2.8vw,40px) !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;
  margin:10px 0 0 44px !important;
  white-space:nowrap !important;
}

@media(max-width:900px){
  .textile{
    width:min(88vw,470px) !important;
    height:390px !important;
    min-height:390px !important;
  }
  .hero-motto{width:68% !important}
  .hero-motto .motto-line-2{margin-left:30px !important}
}

@media(max-width:600px){
  .textile{
    width:min(92vw,390px) !important;
    height:330px !important;
    min-height:330px !important;
  }
  .hero-motto .motto-line-1{font-size:38px !important}
  .hero-motto .motto-line-2{
    font-size:27px !important;
    margin-left:24px !important;
  }
}


/* v13: ONLY change outer hero shape to horizontal hexagon */
.textile{
  clip-path:polygon(
    10% 0%,
    90% 0%,
    100% 50%,
    90% 100%,
    10% 100%,
    0% 50%
  ) !important;
  width:min(100%,560px) !important;
  height:360px !important;
  min-height:360px !important;
  border-radius:0 !important;
}

/* Keep the internal woven detail aligned to the same silhouette */
.textile::before{
  clip-path:polygon(
    10% 0%,
    90% 0%,
    100% 50%,
    90% 100%,
    10% 100%,
    0% 50%
  ) !important;
  inset:10% 8% !important;
}

/* Preserve existing text size/placement and all other styling */
@media(max-width:900px){
  .textile{
    width:min(90vw,520px) !important;
    height:340px !important;
    min-height:340px !important;
  }
}
@media(max-width:600px){
  .textile{
    width:min(94vw,420px) !important;
    height:290px !important;
    min-height:290px !important;
  }
}
