/* User-supplied app anagram; preserve the complete asset and proportions. */
:root {
  --brand-caldera: #f8320d;
  --brand-yellow: #f7990e;
  --brand-deep: #bd290d;
  --ink: #181818;
  --muted: #696968;
  --line: #e8e2dc;
  --paper: #f7f4f1;
  --blue: var(--brand-deep);
  --lime: var(--brand-yellow);
}
::selection { background: var(--brand-yellow); color: var(--ink); }
.contact-location { border-top:1px solid var(--line); margin-top:24px; padding-top:22px; }
.contact-card .contact-location h3 { font-size:16px; margin-bottom:10px; }
.contact-location address { font-style:normal; font-size:14px; line-height:1.8; color:var(--muted); }
.footer-location { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-top:28px; padding-bottom:28px; border-top:1px solid #514841; }
.footer-location h2 { font-size:20px; color:#fff; margin-bottom:12px; letter-spacing:normal; }
.footer-location address { font-style:normal; color:#ded8d2; font-size:15px; line-height:1.8; }
.footer-location>a { color:#ffad99; overflow-wrap:anywhere; }
@media(max-width:760px) { .footer-location { flex-direction:column; align-items:flex-start; } }
.learnflow-jump { display:inline-flex; align-items:center; gap:18px; margin:0 0 25px; color:var(--brand-deep); font-weight:600; text-underline-offset:5px; }
#formacion .section-head { align-items:start; }
@media(min-width:761px) {
  #formacion > .wrap > .section-head { row-gap:18px; }
  #formacion > .wrap > .section-head > div { display:contents; }
  #formacion > .wrap > .section-head .eyebrow { grid-column:1; grid-row:1; margin-bottom:0; }
  #formacion > .wrap > .section-head h1 { grid-column:1; grid-row:2; }
  #formacion > .wrap > .section-head > p { grid-column:2; grid-row:2; margin-top:0; }
}
.learnflow-studio { padding:36px; border-radius:24px; background:var(--ink); color:white; }
.learnflow-studio-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px; }
.learnflow-brand { font-size:36px; font-weight:700; letter-spacing:-.06em; }
.learnflow-brand>span { color:#ffad99; }
.learnflow-studio-head h3 { font-size:15px; font-weight:500; color:#ddd; }
.learnflow-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.learnflow-steps article { border-top:2px solid #f8320d; border-radius:0 0 14px 14px; padding:22px 18px; background:#ffffff08; }
.learnflow-step-number { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#ffffff10; color:#ffad99; font-size:14px; font-weight:700; margin-bottom:24px; }
.learnflow-steps h3 { font-size:19px; margin-bottom:14px; line-height:1.3; }
.learnflow-steps p { color:#d3d3d3; font-size:14px; line-height:1.7; }
.learnflow-note { margin-top:24px; color:#bbb; font-size:12px; }
.learnflow-production { display:flex; align-items:center; gap:40px; padding:32px 0 0; }
.learnflow-production h3 { font-size:21px; margin-bottom:12px; }
.learnflow-production p { color:var(--muted); font-size:15px; }
.learnflow-production .button { flex-shrink:0; }
@media(max-width:1000px) { .learnflow-steps { grid-template-columns:1fr 1fr; } .learnflow-production { flex-direction:column; align-items:flex-start; } }
@media(max-width:600px) { .learnflow-studio { padding:24px; } .learnflow-studio-head { flex-direction:column; align-items:flex-start; } .learnflow-steps { grid-template-columns:1fr; } }
/* Training: people-centred ecosystem, distinct from the homepage service diagram. */
.learning-ecosystem { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); border:1px solid var(--line); border-radius:24px; overflow:hidden; background:white; box-shadow:0 18px 50px #18181808; }
.learning-focus { background:var(--ink); color:white; padding:36px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.learning-focus .eyebrow { color:#ffad99; font-size:11px; }
.learning-photo { display:block; width:100%; aspect-ratio:3/2; height:auto; object-fit:contain; border-radius:16px; margin:22px 0 8px; }
.learning-photo.learning-dashboard { aspect-ratio:1004/566; border-radius:12px; }
.learning-photo-credit { font-size:10px; color:#ddd; margin-bottom:22px; text-underline-offset:3px; }
.learning-emblem { width:78px; height:78px; padding:17px; border:1px solid #ffffff38; border-radius:24px; color:#ffad99; margin:25px 0; background:#ffffff08; }
.learning-emblem svg,.learning-icon svg { width:100%; height:100%; }
.learning-focus h3 { font-size:clamp(25px,3vw,38px); line-height:1.15; margin-bottom:14px; }
.learning-focus>p:not(.eyebrow) { color:#ddd; }
.learning-tag { margin-top:30px; font-size:10px; letter-spacing:.12em; color:#bdbdbd; }
.learning-community { padding:36px; }
.learning-community>h3 { font-size:17px; margin-bottom:22px; }
.learning-roles { display:grid; gap:12px; }
.learning-role { border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.learning-role summary { list-style:none; display:flex; gap:15px; align-items:center; padding:16px; cursor:pointer; font-weight:600; font-size:14px; }
.learning-role summary::-webkit-details-marker { display:none; }
.learning-icon { width:40px; height:40px; flex:0 0 40px; padding:7px; background:white; color:var(--brand-deep); border-radius:11px; }
.learning-expand { margin-left:auto; font-size:24px; color:var(--brand-deep); }
.learning-role[open] { border-color:var(--brand-deep); background:#fff; }
.learning-role[open] .learning-expand { transform:rotate(45deg); }
.learning-role p { padding:0 20px 20px; color:var(--muted); font-size:14px; }
.learning-role summary:focus-visible { outline:3px solid var(--brand-caldera); outline-offset:3px; border-radius:14px; }
.learning-path { grid-column:1/-1; border-top:1px solid var(--line); padding:28px 36px; }
.learning-path h3 { font-size:16px; margin-bottom:20px; }
.learning-path ol { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:0; }
.learning-path li { border-top:2px solid var(--brand-caldera); padding-top:14px; display:flex; flex-direction:column; gap:8px; }
.learning-path li>span { font-size:12px; color:var(--brand-deep); font-weight:700; }
.learning-path strong { font-size:13px; }
.learning-path>p { margin-top:22px; max-width:850px; font-size:12px; color:var(--muted); }
.learning-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:26px; }
.learning-cta p { color:var(--muted); font-size:14px; }
.learning-cta .button { flex-shrink:0; }
@media(max-width:760px) { .learning-ecosystem { grid-template-columns:1fr; } .learning-focus,.learning-community,.learning-path { padding:25px; } .learning-path ol { grid-template-columns:1fr 1fr; } .learning-cta { align-items:flex-start; flex-direction:column; } }
.team-grid .team-portrait, .team-grid .team-pending {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 5;
  object-fit: cover; object-position: center 30%; border-radius: 14px;
  margin-bottom: 18px; background: var(--paper);
}
.team-grid .team-pending {
  display: grid; place-items: center; font-size: 64px;
  color: var(--brand-caldera); border: 1px solid var(--line);
}
.team-person { display: block; font-size: 19px; font-weight: 700; margin-bottom: 8px; color: var(--ink); }
.team-page-title { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.12; letter-spacing: -.04em; }
.staff-section-title { font-size: clamp(1.3rem, 2.5vw, 2rem); letter-spacing: -.035em; margin: 0 0 24px; }
.staff-team-heading { margin-top: 72px; }
.team-grid.staff-founders { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.team-grid.staff-complete { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.team-grid .staff-card { padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.team-grid .staff-card .team-portrait, .team-grid .staff-card .team-pending { aspect-ratio: 4/5; width: 100%; height: auto; margin: 0; border-radius: 0; object-position: center top; }
.team-grid .staff-founder .team-portrait { aspect-ratio: 1/1; }
.staff-caption { padding: 24px; border-top: 3px solid var(--brand-caldera); }
.team-grid .staff-caption .team-person { margin: 0 0 8px; font-size: 21px; line-height: 1.25; }
.team-grid .staff-founder .team-person { font-size: clamp(1.4rem, 2.8vw, 2rem); }
.team-grid .staff-caption .staff-role { margin: 0; color: var(--brand-deep); font-size: 14px; font-weight: 600; line-height: 1.6; }
.team-grid .staff-card .team-pending { font-size: 76px; background: linear-gradient(145deg, #f7f4f1, #e8e2dc); border: 0; }
@media (max-width: 900px) { .team-grid.staff-complete { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .team-grid.staff-founders, .team-grid.staff-complete { grid-template-columns: 1fr; gap: 24px; } .staff-team-heading { margin-top: 48px; } }
#navigation a[aria-current="page"] { color: var(--brand-deep); text-decoration: underline; text-underline-offset: 6px; }
/* Frame only Jenny's portrait in the supplied team montage; keep the original intact. */
.team-grid .team-jenny-photo {
  background-image: url('assets/team-reference.jpg');
  background-size: 769.7183% auto;
  background-position: 35.2261% 29.9401%;
  background-repeat: no-repeat;
  background-color: #999;
}
.team-image-note { margin-top: 24px; font-size: 12px; color: var(--muted); }
.team-grid .team-person + h3 { font-size: 15px; color: var(--brand-deep); }
/* Company section: align both columns at the top, including the introductory copy. */
#empresa .section-head, #empresa .company-grid { align-items: start; }
#empresa > .section-head:last-child { margin-bottom: 0; }
.company-mission-photo { margin:0; border-radius:20px; overflow:hidden; background:var(--paper); border:1px solid var(--line); }
.company-mission-photo img { display:block; width:100%; height:auto; }
.company-mission-photo figcaption { padding:10px 18px; color:var(--muted); font-size:11px; }
.company-grid .company-photo { height: auto; aspect-ratio: 4 / 3; }
.company-grid .company-photo img { object-fit: cover; object-position: right center; }
.company-grid .platform-preview { aspect-ratio: auto; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 18px 40px #18181812; }
.company-grid .platform-preview img { width: 100%; height: auto; display: block; object-fit: contain; }
.company-grid .platform-preview figcaption { position: static; background: #fff; color: var(--muted); padding: 14px 18px; border-top: 1px solid var(--line); }
.button { background: var(--brand-deep); border-color: var(--brand-deep); color: #fff; }
.button:hover { background: #96200a; border-color: #96200a; }
.button.lime { background: var(--brand-yellow); border-color: var(--brand-yellow); color: var(--ink); }
.button.lime:hover { background: #ffb340; border-color: #ffb340; }
.ecosystem { border-top: 4px solid var(--brand-caldera); }
.ecosystem-head, .ecosystem-foot, .dark p, .platform-panel p,
.platform-panel ul, .footer-top p, .footer-bottom { color: #ded8d2; }
.orbit:before, .ecosystem-foot, .method-grid article, .footer-bottom { border-color: #514841; }
.learning { background: var(--brand-yellow); color: var(--ink); }
.management { background: var(--brand-caldera); color: var(--ink); }
.protection { background: var(--paper); color: var(--ink); }
.audience span { color: var(--muted); }
.company-photo figcaption { background: linear-gradient(transparent, #181818); }
.filter { border-color: var(--line); }
.filter:hover:not(.active) { background: #fff0e9; border-color: var(--brand-caldera); }
.filter.active { background: var(--brand-deep); border-color: var(--brand-deep); }
.training-note, .faqs details { border-color: var(--line); }
.platform-nav button[aria-selected=true] {
  background: #fff0e9;
  border-color: var(--brand-caldera);
  box-shadow: inset 4px 0 var(--brand-caldera);
}
.platform-nav button:hover:not([aria-selected=true]) { background: var(--paper); }
.team-monogram { background: #fff0e9; color: var(--brand-deep); }
.team-grid article:nth-child(2) .team-monogram { background: var(--ink); color: var(--brand-yellow); }
.team-grid article:nth-child(3) .team-monogram { background: var(--brand-yellow); color: var(--ink); }
.team-grid article:nth-child(4) .team-monogram { background: var(--paper); color: var(--ink); }
.contact-card select { border-color: #91877e; }
.faqs details[open] summary, .email-address, .text-link { color: var(--brand-deep); }
dialog::backdrop { background: #181818aa; }
.top .language-picker { border-color: var(--line); background: var(--paper); }
.top .language-picker button { color: var(--muted); }
.top .language-picker button[aria-pressed=true] { background: var(--brand-deep); color: #fff; }
.top .language-picker button:hover:not([aria-pressed=true]) { background: #ffe2d6; color: var(--ink); }
.wordmark,
.wordmark small,
.orbit-core,
.orbit-core small {
  font-family: 'Montserrat', Arial, sans-serif;
  font-style: normal;
}
.wordmark { gap: 12px; font-weight: 800; letter-spacing: -.045em; }
.wordmark small { font-weight: 600; letter-spacing: .22em; }
.wordmark .brand-icon,
.top .wordmark .brand-icon,
.footer .wordmark .brand-icon {
  display: block;
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: url('assets/brand-app-caldera.png') center / contain no-repeat;
  color: transparent;
  font-size: 0;
  line-height: 0;
}
@media (max-width: 760px) {
  .top .wordmark .brand-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }
}
