/* Dorsal Brand 0.4.0-dev.13 ae8de690deae60381533dedbab95d1f614c06f12 */
:root {
--dorsal-ink:#202b23;
--dorsal-background:#f1efe8;
--dorsal-paper:#faf9f5;
--dorsal-accent:#d3ee57;
--dorsal-line:#d5d6cb;
--dorsal-slash-on-light:#58741f;
--dorsal-slash-on-dark:#d3ee57;
--dorsal-error:#8b3128;
--dorsal-error-surface:#f4e6e2;
--dorsal-success-surface:#edf2df;
--dorsal-muted:#526052;
--dorsal-text-on-dark:#d6dfd2;
--dorsal-body-secondary:#475249;
--dorsal-line-on-dark:#69756b;
--dorsal-illustration-lilac:#b9a2d8;
--dorsal-family:"Helvetica Neue", "Segoe UI", system-ui, sans-serif;
--dorsal-brand-weight:700;
--dorsal-product-weight:300;
--dorsal-slash-weight:300;
--dorsal-size:2rem;
--dorsal-compact-size:1.7rem;
--dorsal-line-height:1;
--dorsal-letter-spacing:-0.055em;
--dorsal-gap:0.22em;
--dorsal-measure:1216px;
--dorsal-gutter:4vw;
--dorsal-gutter-small:20px;
--dorsal-heading-weight:500;
--dorsal-hero-weight:650;
--dorsal-hero-size:clamp(3.4rem,5.8vw,6rem);
--dorsal-hero-size-tablet:clamp(3.5rem,9vw,5.5rem);
--dorsal-hero-size-mobile:clamp(3.1rem,12vw,4.4rem);
--dorsal-heading-size:clamp(2.4rem,4.7vw,4.5rem);
--dorsal-body-size:1.1rem;
--dorsal-body-leading:1.55;
--dorsal-section-space:5.5rem;
--dorsal-section-space-mobile:3.5rem;
--dorsal-button-size:.85rem;
--dorsal-button-weight:600;
--dorsal-button-padding:1rem 1.3rem;
--dorsal-nav-size:.8rem;
--dorsal-header-padding:25px 0;
--dorsal-header-gap:2rem;
--dorsal-radius:0px;
--dorsal-body-weight:400;
--dorsal-body-measure:65ch;
--dorsal-field-size:1rem;
--dorsal-control-height:48px;
--dorsal-control-padding:.8rem 1rem;
--dorsal-label-size:.85rem;
--dorsal-help-size:.75rem;
--dorsal-control-border:var(--dorsal-slash-on-light);
--dorsal-focus-width:3px;
--dorsal-focus-offset:3px;
--dorsal-space1:.25rem;
--dorsal-space2:.5rem;
--dorsal-space3:.75rem;
--dorsal-space4:1rem;
--dorsal-space6:1.5rem;
--dorsal-space8:2rem;
--dorsal-space12:3rem;
--dorsal-space16:4rem;
--dorsal-icon-size:1.25rem;
--dorsal-surface-overlay:rgb(255 255 255 / .047);
--dorsal-border-on-dark:rgb(255 255 255 / .188);
--dorsal-border-on-dark-strong:rgb(255 255 255 / .314);
}
.dorsal-wordmark {
  display: inline-flex;
  align-items: baseline;
  gap: var(--dorsal-gap);
  color: var(--dorsal-ink);
  font-family: var(--dorsal-family);
  font-size: var(--dorsal-size);
  line-height: var(--dorsal-line-height);
  letter-spacing: var(--dorsal-letter-spacing);
  font-style: normal;
  font-synthesis: none;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  flex-shrink: 0;
  padding-block: 0.125em;
}
.dorsal-wordmark__brand { font-weight: var(--dorsal-brand-weight); }
.dorsal-wordmark__product { font-weight: var(--dorsal-product-weight); }
.dorsal-wordmark__slash { font-weight: var(--dorsal-slash-weight); color: var(--dorsal-slash-on-light); }
.dorsal-wordmark--dark { color: var(--dorsal-paper); }
.dorsal-wordmark--dark .dorsal-wordmark__slash { color: var(--dorsal-slash-on-dark); }
.dorsal-wordmark--compact { font-size: var(--dorsal-compact-size); }
.dorsal-wordmark:focus-visible { outline: 3px solid var(--dorsal-slash-on-light); outline-offset: 5px; }
.dorsal-wordmark--dark:focus-visible { outline-color: var(--dorsal-slash-on-dark); }
@media (forced-colors: active) {
  .dorsal-wordmark, .dorsal-wordmark__slash { color: LinkText; }
  .dorsal-wordmark:focus-visible { outline-color: Highlight; }
}

/* The full wordmark remains one link; only the parent brand is underlined. */
a.dorsal-wordmark:hover { text-decoration: none; }
a.dorsal-wordmark:hover .dorsal-wordmark__brand { text-decoration: underline; text-underline-offset: .12em; text-decoration-thickness: 1px; }

/* Authoritative Dorsal web primitives. Change here, never in consumers. */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-size:var(--dorsal-body-size);line-height:var(--dorsal-body-leading);font-weight:var(--dorsal-body-weight);margin:0;background:var(--dorsal-background);color:var(--dorsal-ink);font-family:var(--dorsal-family);letter-spacing:-.013em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--dorsal-slash-on-light);outline-offset:4px}button,input,textarea{font:inherit}h1,h2,h3,p{margin:0}figure{margin:0}img{display:block;max-width:100%;height:auto}main:focus{outline:none}
:root{--ink:var(--dorsal-ink);--paper:var(--dorsal-paper);--background:var(--dorsal-background);--accent:var(--dorsal-accent);--line:var(--dorsal-line)}
.wrap,.site,.dorsal-container{width:min(var(--dorsal-measure),calc(100% - var(--dorsal-gutter)*2));max-width:none;margin-inline:auto;padding-inline:0}
.dorsal-header{padding:var(--dorsal-header-padding)}.dorsal-header-main{display:flex;justify-content:space-between;align-items:center;gap:var(--dorsal-header-gap)}.dorsal-header .dorsal-nav--secondary{justify-content:flex-start;border-top:1px solid var(--dorsal-line);margin-top:20px;padding-top:10px}
.dorsal-header .dorsal-wordmark{font-size:var(--dorsal-size);padding-block:0}
.dorsal-nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(12px,1.7vw,26px);flex-wrap:wrap}
.dorsal-nav>a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--dorsal-nav-size);line-height:1.4;letter-spacing:.015em;white-space:nowrap;text-decoration:none}.dorsal-nav>a:hover,.dorsal-nav>a[aria-current=page]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.skip{position:absolute;left:20px;top:-100px;z-index:100;padding:12px;background:var(--dorsal-paper)}.skip:focus{top:12px}
.language-picker{position:relative;flex-shrink:0}.language-picker summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;width:44px;height:44px}.language-picker summary::-webkit-details-marker{display:none}.language-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:110px;background:var(--dorsal-paper);border:1px solid var(--dorsal-line);box-shadow:0 12px 26px #202b2312}.language-menu a{display:flex;align-items:center;min-height:44px;font-size:.65rem;letter-spacing:.18em;padding:12px 15px;border-bottom:1px solid var(--dorsal-line)}.language-menu a:last-child{border:0}.language-menu a:hover{background:var(--dorsal-background);text-decoration:none}.language-menu a[aria-current]{font-weight:700}
.eyebrow{font-family:var(--dorsal-family);font-size:.72rem;line-height:1.4;font-weight:650;text-transform:uppercase;letter-spacing:.1em}
h1,.hero h1,.page-title{font-family:var(--dorsal-family);font-size:var(--dorsal-hero-size);font-weight:var(--dorsal-hero-weight);line-height:.99;letter-spacing:-.065em}
h2,.section-heading h2,.section-top h2{font-family:var(--dorsal-family);font-size:var(--dorsal-heading-size);font-weight:var(--dorsal-heading-weight);line-height:1.02;letter-spacing:-.06em}
h3{font-weight:var(--dorsal-heading-weight);letter-spacing:-.03em;line-height:1.18}
.hero-desc,.hero-summary{font-size:clamp(1.05rem,1.4vw,1.22rem);line-height:var(--dorsal-body-leading)}
.action,.cta-primary,.cta-secondary,.dorsal-button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;min-height:48px;max-width:100%;padding:var(--dorsal-button-padding);border:1px solid transparent;border-radius:var(--dorsal-radius);background:var(--dorsal-ink);color:var(--dorsal-paper);font-family:var(--dorsal-family);font-size:var(--dorsal-button-size);font-weight:var(--dorsal-button-weight);line-height:1.4;text-decoration:none;cursor:pointer}.action:hover,.cta-primary:hover,.dorsal-button:hover{background:var(--dorsal-paper);color:var(--dorsal-ink);border-color:var(--dorsal-ink);text-decoration:none}.action.light,.dorsal-button--accent{background:var(--dorsal-accent);color:var(--dorsal-ink)}.cta-secondary{background:transparent;color:var(--dorsal-ink);border-color:var(--dorsal-ink)}.cta-secondary:hover{background:var(--dorsal-paper);text-decoration:none}.text-action,.text-link{display:inline-flex;align-items:center;gap:.8rem;min-height:44px;font-size:.8rem;font-weight:500}
.dorsal-footer{background:var(--dorsal-background);color:var(--dorsal-ink);margin-top:2rem}.dorsal-footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:3rem;border-top:1px solid var(--dorsal-line);padding:2.5rem 0}.dorsal-footer-main p{font-size:.85rem;line-height:1.6;max-width:38ch;margin-top:1rem}.dorsal-footer-links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;justify-content:flex-end}.dorsal-footer-links a{font-size:.8rem;min-height:44px;display:inline-flex;align-items:center}.dorsal-footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--dorsal-line);padding:1.5rem 0;font-size:.75rem;line-height:1.5}
@media(max-width:900px){.wrap,.site,.dorsal-container{width:calc(100% - var(--dorsal-gutter-small)*2)}}
@media(max-width:768px){h1,.hero h1,.page-title{font-size:var(--dorsal-hero-size-tablet)}.dorsal-header-main{gap:1rem}.dorsal-header-main>.dorsal-nav{width:auto;justify-content:flex-end;gap:.3rem .7rem}.dorsal-nav--secondary{width:100%;gap:.3rem 1rem}.dorsal-footer-main{flex-direction:column;gap:1.5rem}.dorsal-footer-links{justify-content:flex-start}}
@media(max-width:600px){.dorsal-header-main{flex-wrap:wrap}.dorsal-header-main>.dorsal-nav{flex:1}.dorsal-header .dorsal-wordmark{max-width:100%}h1,.hero h1,.page-title{font-size:var(--dorsal-hero-size-mobile)}.dorsal-header .dorsal-wordmark{font-size:var(--dorsal-compact-size)}.dorsal-nav>a{font-size:.75rem}.dorsal-nav .language-picker{margin-left:auto}.dorsal-footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep brand, Contact and locale aligned even when Corporate's menu wraps. */
@media(max-width:600px){.dorsal-header-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem 1rem;align-items:center}.dorsal-header-main>.dorsal-nav{display:contents}.dorsal-header-main>.dorsal-wordmark{grid-row:1;grid-column:1}.dorsal-header-main>.dorsal-nav>a[href*="/contact/"]{grid-row:1;grid-column:2}.dorsal-header-main .language-picker{grid-row:1;grid-column:3;margin-left:0}.dorsal-header-main>.dorsal-nav>a:not([href*="/contact/"]){grid-row:2;justify-self:start}}

/* Corporate retains its original single-line navigation at every viewport. */
.dorsal-header--corporate .dorsal-header-main{display:flex;flex-wrap:nowrap}.dorsal-header--corporate .dorsal-header-main>.dorsal-nav{display:flex;flex-wrap:nowrap;justify-content:flex-end;width:auto}
@media(max-width:600px){.dorsal-header--corporate .dorsal-header-main{gap:.7rem}.dorsal-header--corporate .dorsal-header-main>.dorsal-nav{gap:.3rem .7rem}.dorsal-header--corporate .dorsal-nav>a{font-size:.68rem}.dorsal-header--corporate .dorsal-nav>a[href*="/governance/"]{display:none}.dorsal-header--corporate .language-picker{margin-left:0}}

/* Cards visuales — the named reusable graphic card block. */
.dorsal-visual-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dorsal-visual-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--dorsal-line);background:var(--dorsal-paper);color:var(--dorsal-ink)}.dorsal-visual-card-art{position:relative;display:grid;place-items:center;background:var(--dorsal-background);border-bottom:1px solid var(--dorsal-line);padding:40px 24px 20px;min-height:210px;overflow:hidden}.dorsal-visual-card-art>span{position:absolute;top:20px;left:24px;font-size:.72rem;font-weight:650;letter-spacing:.1em}.dorsal-visual-card-art svg{display:block;width:100%;max-width:280px;height:152px;color:var(--dorsal-slash-on-light)}.dorsal-card-accent{stroke:var(--dorsal-ink);stroke-width:3}.dorsal-card-dot{fill:var(--dorsal-accent);stroke:var(--dorsal-ink)}.dorsal-visual-card-copy{padding:28px}.dorsal-visual-card h3{font-size:clamp(1.25rem,1.7vw,1.6rem);font-weight:var(--dorsal-heading-weight);line-height:1.18;letter-spacing:-.035em;margin:0 0 16px}.dorsal-visual-card p{font-size:.95rem;line-height:1.65;margin:0}.dorsal-visual-card:focus-within{outline:3px solid var(--dorsal-slash-on-light);outline-offset:3px}
@media(max-width:900px){.dorsal-visual-cards{gap:14px}.dorsal-visual-card-copy{padding:22px}.dorsal-visual-card-art{padding-inline:16px}}
@media(max-width:700px){.dorsal-visual-cards{grid-template-columns:1fr;gap:20px}.dorsal-visual-card-art{min-height:190px}.dorsal-visual-card-copy{padding:24px}}

/* Rhythm and reading — spacing is applied, not only declared. */
.dorsal-section{padding-block:var(--dorsal-section-space)}
.dorsal-prose{max-width:var(--dorsal-body-measure);font-size:var(--dorsal-body-size);line-height:var(--dorsal-body-leading)}
.dorsal-prose>*+*{margin-top:var(--dorsal-space6)}
.dorsal-stack{display:flex;flex-direction:column;gap:var(--dorsal-space6)}
.dorsal-inline{display:flex;align-items:center;flex-wrap:wrap;gap:var(--dorsal-space4)}
.dorsal-surface--dark{background:var(--dorsal-ink);color:var(--dorsal-paper)}
.dorsal-surface--dark :is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--dorsal-slash-on-dark)}
/* Fields and feedback — persistent labels, native controls, explicit messages. */
.dorsal-field{display:flex;flex-direction:column;gap:var(--dorsal-space2);min-width:0}
.dorsal-field label,.dorsal-choice{font-size:var(--dorsal-label-size);font-weight:500;line-height:1.5}
.dorsal-field :is(input,select,textarea){width:100%;min-height:var(--dorsal-control-height);border:1px solid var(--dorsal-control-border);border-radius:var(--dorsal-radius);background:var(--dorsal-paper);color:var(--dorsal-ink);font-family:var(--dorsal-family);font-size:var(--dorsal-field-size);font-weight:400;line-height:1.5;padding:var(--dorsal-control-padding)}
.dorsal-field textarea{resize:vertical}
.dorsal-field :is(input,select,textarea):hover:not(:disabled){border-color:var(--dorsal-ink)}
.dorsal-field :is(input,select,textarea):focus-visible,.dorsal-choice input:focus-visible{outline:var(--dorsal-focus-width) solid var(--dorsal-slash-on-light);outline-offset:var(--dorsal-focus-offset)}
.dorsal-field :is(input,select,textarea)[aria-invalid=true]{border-color:var(--dorsal-error);box-shadow:inset 0 0 0 1px var(--dorsal-error)}
.dorsal-field :is(input,select,textarea):disabled{background:var(--dorsal-background);color:var(--dorsal-muted);border-style:dashed;cursor:not-allowed}
.dorsal-field input[readonly]{background:var(--dorsal-background)}
.dorsal-help{font-size:var(--dorsal-help-size);line-height:1.5;color:var(--dorsal-muted)}
.dorsal-error{font-size:var(--dorsal-help-size);line-height:1.5;color:var(--dorsal-error);font-weight:500}
.dorsal-choice{display:flex;align-items:flex-start;gap:var(--dorsal-space3);padding-block:var(--dorsal-space3);min-height:44px;cursor:pointer}
.dorsal-choice input{width:20px;height:20px;flex-shrink:0;margin:0;accent-color:var(--dorsal-ink)}
.dorsal-notice{border-left:3px solid var(--dorsal-slash-on-light);background:var(--dorsal-success-surface);padding:var(--dorsal-space4);color:var(--dorsal-ink);font-size:var(--dorsal-label-size);line-height:1.55}
.dorsal-notice--error{border-color:var(--dorsal-error);background:var(--dorsal-error-surface)}
/* A disabled control cannot be activated. Busy controls retain their label. */
button.dorsal-button:disabled,button.cta-secondary:disabled{background:var(--dorsal-background);color:var(--dorsal-muted);border:1px dashed var(--dorsal-muted);cursor:not-allowed}
.dorsal-button[aria-busy=true]::before{content:'';width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dorsal-spin .8s linear infinite}
.dorsal-icon{display:inline-block;vertical-align:middle;flex-shrink:0;width:var(--dorsal-icon-size);height:var(--dorsal-icon-size);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dorsal-media{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--dorsal-radius)}
.dorsal-caption{font-size:var(--dorsal-help-size);line-height:1.5;color:var(--dorsal-muted);margin-top:var(--dorsal-space2)}
@keyframes dorsal-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.dorsal-section{padding-block:var(--dorsal-section-space-mobile)}}
@media(prefers-reduced-motion:reduce){.dorsal-button[aria-busy=true]::before{animation:none}}
.dorsal-field .dorsal-choice input{width:20px;height:20px;min-height:20px;padding:0;border-radius:0}
.dorsal-icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--dorsal-line);border-radius:var(--dorsal-radius);background:var(--dorsal-paper);color:var(--dorsal-ink);cursor:pointer}
.dorsal-icon-button:hover{border-color:var(--dorsal-ink)}
.dorsal-media--square{aspect-ratio:1}
.dorsal-text-button{display:inline-flex;align-items:center;min-height:44px;border:0;background:transparent;color:var(--dorsal-ink);padding:0;font-size:var(--dorsal-label-size);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
/* Acceso a Dorsal Agents: compact viewport composition; never crop readable text. */
.dorsal-gateway{background:var(--dorsal-ink);color:var(--dorsal-paper);padding:clamp(24px,4svh,48px) 0;scroll-margin-top:0}.dorsal-gateway-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(24px,5vw,72px)}.dorsal-gateway-copy{min-width:0}.dorsal-gateway .eyebrow{color:var(--dorsal-text-on-dark);margin:0 0 14px}.dorsal-gateway-title{font-size:1rem;font-weight:500;letter-spacing:0;line-height:1.2;margin:0 0 14px}.dorsal-gateway-headline{max-width:15ch;margin:0 0 20px}.dorsal-gateway-body{font-size:1rem;line-height:1.5;color:var(--dorsal-text-on-dark);max-width:45ch;margin:0}.dorsal-gateway .agents-cta{margin-top:24px}.dorsal-gateway-media{margin:0;min-width:0}.dorsal-gateway-media img{width:100%;height:clamp(240px,60svh,480px);object-fit:cover;object-position:center}.dorsal-gateway a:focus-visible{outline-color:var(--dorsal-accent)}
@media(max-width:900px){.dorsal-gateway{padding:24px 0}.dorsal-gateway-layout{grid-template-columns:1fr;gap:24px}.dorsal-gateway-headline{max-width:20ch;margin-bottom:16px}.dorsal-gateway-body{max-width:58ch}.dorsal-gateway-media img{height:clamp(128px,23svh,230px);object-position:center 55%}}
@media(max-width:600px){.dorsal-gateway{padding:24px 0}.dorsal-gateway-layout{gap:20px}.dorsal-gateway .eyebrow{font-size:.65rem;margin-bottom:12px}.dorsal-gateway-title{font-size:.9rem;margin-bottom:12px}.dorsal-gateway-headline{max-width:19ch;margin-bottom:16px}.dorsal-gateway-body{font-size:.95rem;line-height:1.45}.dorsal-gateway .agents-cta{margin-top:20px}.dorsal-gateway-media img{height:auto;aspect-ratio:1/1;object-position:center}}
@media(max-height:650px) and (max-width:900px){.dorsal-gateway{padding:18px 0}.dorsal-gateway-layout{gap:16px}.dorsal-gateway-headline{margin-bottom:12px}.dorsal-gateway-media img{height:16svh;min-height:80px}}
/* Preserve the square mobile crop, including short phone viewports. */
@media(max-width:600px){.dorsal-gateway-media img{height:auto;min-height:0;aspect-ratio:1/1}}

/* Agents utility navigation may include About Dorsal before Contact. */
@media(max-width:600px){.dorsal-header--agents .dorsal-header-main{display:flex;flex-wrap:nowrap;gap:.5rem}.dorsal-header--agents .dorsal-header-main>.dorsal-nav{display:flex;flex-wrap:nowrap;gap:.3rem .3rem;justify-content:flex-end;flex:1}.dorsal-header--agents .dorsal-header-main>.dorsal-nav>a{font-size:.68rem}}
@media(max-width:600px){.dorsal-header--agents .dorsal-header-main>.dorsal-nav>.dorsal-nav-optional{display:none}}
