@font-face{font-family:Cabin;src:url('../fonts/Cabin-Variable.ttf') format('truetype');font-weight:400 700;font-stretch:75% 100%;font-style:normal;font-display:swap}
:root{--font:Cabin,Arial,Helvetica,sans-serif;--motion:380ms;--ease:cubic-bezier(.22,.7,.25,1)}
body,button,input,select,textarea{font-family:var(--font);font-synthesis:none}h1,h2,h3{font-weight:400;letter-spacing:-.025em}h1 .editorial-key,h2 .editorial-key,h3 .editorial-key{font-weight:700;letter-spacing:-.035em}.hero h1{font-weight:400;line-height:1.1}.hero-intro>p{font-weight:400}.button{font-weight:600}.header-contact,.menu-home,.menu-group>summary{font-weight:400}.button,.text-link,.hero-tile,.story-card{transition:background .32s var(--ease),color .32s var(--ease),transform .38s var(--ease)}button:not(.motion-toggle),a{touch-action:manipulation}.button:active{transform:translateY(0) scale(.985)}.hero-end{justify-content:flex-start}
/* Native details remain available without JS. The enhancement animates the complete measured panel. */
details[data-smooth]{will-change:auto}details[data-smooth][data-animating=true]{overflow:hidden}details[data-smooth]>summary{position:relative;z-index:1}details[data-smooth] .smooth-content{transform-origin:top;min-height:0}.menu-group>summary,.menu-category>summary,.faq>summary{transition:color .25s ease,background .25s ease}.menu-group[open]>summary,.menu-category[open]>summary{color:#4b741c}.faq[open]>summary{color:#41621f}.menu-group>summary:hover,.menu-category>summary:hover,.faq>summary:hover{color:#41621f}.menu-group>summary>.icon,.menu-category>summary>.icon,.faq>summary>span{transition:transform .38s var(--ease)}.menu-group[open]>summary>.icon,.menu-category[open]>summary>.icon{transform:rotate(-90deg)}.menu-group:not([open])>summary>.icon,.menu-category:not([open])>summary>.icon{transform:rotate(90deg)}.menu-panel{transition:transform .65s var(--ease),visibility 0s linear .65s}.menu-panel.open{transition-delay:0s}.menu-bottom{margin-top:28px}
/* The programme collection uses a single large editorial card, with a soft crossfade. */
.stack-carousel{width:min(100%,760px)}.stack-deck{height:310px}.stack-card{grid-template-columns:.9fr 1.1fr;gap:0;padding:0;overflow:hidden;border:1px solid #fff8;border-radius:18px;box-shadow:0 16px 48px #0b1b1b24;transition:opacity .45s var(--ease),transform .55s var(--ease)}.stack-card>img{grid-column:1;grid-row:1;min-height:100%;height:100%;width:100%;border-radius:0;object-fit:cover}.stack-card>div{grid-column:2;grid-row:1;padding:30px;justify-content:flex-start;align-items:flex-start}.stack-card h3{font-size:27px;line-height:1.13;margin:20px 0 25px;letter-spacing:-.025em}.stack-card .course-chip{font-size:10px;line-height:1.4}.stack-link{padding-top:10px;font-size:12px}.stack-controls{margin-top:22px}.stack-status{font-size:11px!important;color:#e2ebdd;min-height:34px}.stack-dots{gap:6px}.stack-card[aria-hidden=true]{pointer-events:none}.stack-card:hover .stack-link{color:#365e12}.stack-card:hover .stack-link .icon{transform:translateX(4px);transition:transform .3s}
/* Original people photos keep their full bounds. */
.institution-photo.photo-uncropped{height:auto;max-height:none;padding:24px var(--gutter);background:#edf0e9}.photo-uncropped>img{width:100%;height:auto;max-height:68svh;object-fit:contain;object-position:center;border-radius:14px}.intro-photo-main[src*="historia-formacion"]{object-position:center;height:auto;aspect-ratio:16/10;object-fit:cover}.team-feature{display:flex;flex-direction:column;justify-content:start;align-items:stretch;min-height:0;background:var(--dark)}.team-feature>img{position:static;z-index:0;width:100%;height:auto;object-fit:contain;flex-shrink:0}.team-feature:after{display:none}.team-feature>div{padding:35px;flex:1;display:flex;flex-direction:column;justify-content:end;min-height:210px}.team-feature:hover>img{transform:none}.team-feature .icon{align-self:flex-end}.story-card img.icon{width:22px;height:22px;max-width:22px;object-fit:contain;margin:0}
/* A large single-ink brand signature closes the page. */
.footer-top{grid-template-columns:1.4fr .8fr 1.25fr;gap:40px}.footer-links.footer-conversation{min-width:0}.footer-contact-large{font-size:clamp(20px,2.2vw,33px);line-height:1.3;font-weight:500;letter-spacing:-.02em;overflow-wrap:anywhere!important;max-width:100%;display:block;padding:4px 0}.footer-conversation>a[href^="tel:"]{font-size:clamp(25px,2.8vw,42px);font-weight:600;white-space:nowrap;letter-spacing:-.03em}.footer-brand{display:block;margin:75px 0 32px}.footer-brand>span{display:none}.footer-brand>a{display:block;width:100%;max-width:none}.footer-brand img{width:100%;height:auto;max-width:100%;opacity:.9}.footer-bottom{padding-top:22px;border-top:1px solid #ffffff30}
/* Coherent paragraph flow and modular content for the institutional pages. */
.editorial-intro{max-width:760px;margin-bottom:52px}.editorial-intro h2{font-size:clamp(32px,4vw,50px);line-height:1.14;margin:22px 0}.editorial-intro>p{font-size:18px;color:#65705c;line-height:1.7;max-width:660px}.reasons-layout,.team-competencies,.testimonials-layout{max-width:1200px;margin:0 auto}.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.reason-card{padding:32px;border:1px solid #d9e1d0;border-radius:16px;background:#f8faf5}.section-index{display:inline-flex;font-size:12px;letter-spacing:.07em;color:#5b772f;margin-bottom:22px;padding-bottom:10px;border-bottom:2px solid #93d500}.reason-card h2{font-size:29px;margin:0 0 20px;line-height:1.14}.reason-card p{font-size:15px;color:#606b56;line-height:1.75}.credentials{margin-top:38px}.credentials>summary{font-size:19px}.credentials>div{max-width:850px;font-size:15px;line-height:1.8}.expertise-area{display:grid;grid-template-columns:230px 1fr;gap:55px;padding:40px 0;border-top:1px solid #d5dfca}.expertise-title{align-self:start;position:sticky;top:35px}.expertise-title h2{font-size:32px;line-height:1.16;margin:0}.expertise-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}.expertise-list li{margin:0!important;display:flex;gap:12px;align-items:flex-start;padding:17px 0;border-bottom:1px solid #e2e9da;font-size:14px;line-height:1.7;color:#59674e}.expertise-list .icon{width:18px;height:18px;flex-shrink:0;margin-top:3px}.expertise-list li span{flex:1;min-width:0}.testimonials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.testimonial-card{padding:38px;border-radius:18px;background:#f0f5e8;display:flex;flex-direction:column;align-items:start}.testimonial-card:first-child{grid-column:1/-1;background:var(--dark);color:white}.testimonial-card blockquote{margin:28px 0;font-size:clamp(23px,2.8vw,38px);font-weight:400;line-height:1.4;letter-spacing:-.02em}.testimonial-card:not(:first-child) blockquote{font-size:27px}.testimonial-card figcaption{font-size:12px;line-height:1.6;color:#5b6c4e;margin-top:auto;padding-top:22px;border-top:1px solid #b5c6a7;width:100%}.testimonial-card:first-child figcaption{color:#d0ddc6;border-color:#ffffff30}.testimonial-card .eyebrow{font-size:10px}.original-content p{margin:0 0 22px;line-height:1.85}.original-content p:first-child{line-height:1.65}.original-content h2{line-height:1.2}.original-content p strong{font-weight:600}
/* Programme skills and the 30/70 learning balance. */
.skill-block{padding:30px;background:#f0f5e8;border:1px solid #d9e4cc;border-radius:18px}.learning-badge{width:46px;height:46px;border:1px solid #b7cf9e;border-radius:12px;display:grid;place-items:center;margin-bottom:22px;background:#e7f0dc}.learning-badge .icon{width:24px;height:24px}.skill-block h3{font-size:24px;line-height:1.2}.skill{display:flex;align-items:start;gap:12px;padding:16px 0;font-size:15px;line-height:1.6}.skill .icon{width:20px;height:20px;margin-top:2px}.skill>span{flex:1}.learning-mix{display:grid;grid-template-columns:3fr 7fr;gap:26px 22px;padding:32px;border:1px solid #d8e2ce;border-radius:18px;background:#fafcf6}.learning-mix>div:not(.learning-proportion){display:flex;flex-direction:column;align-items:start;gap:8px}.learning-mix>div>.icon{width:24px;height:24px;margin-bottom:8px}.learning-mix strong{font-size:64px;font-weight:600}.learning-mix span{margin-top:0}.learning-mix .learning-proportion{grid-column:1/-1;display:grid;grid-template-columns:3fr 7fr;gap:4px;border-radius:20px;overflow:hidden;height:13px;width:100%;margin-top:4px}.learning-proportion>span{display:block;width:100%;height:100%;margin:0}.theory-share{background:#293326}.practice-share{background:#93d500}
/* Embedded map keeps Google's own map data and attribution intact. */
.contact-map{background:#f3f6ed;padding-top:60px;padding-bottom:60px}.map-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:32px}.map-heading h2{font-size:clamp(32px,3.5vw,48px);margin:22px 0 15px}.map-heading p{font-size:15px;color:#65705b}.map-heading>.text-link{white-space:nowrap}.map-frame{position:relative;border-radius:18px;overflow:hidden;border:1px solid #d4dfc7;background:#dfe6d6}.map-frame iframe{width:100%;height:490px;display:block;border:0;filter:grayscale(.8) saturate(.5) contrast(.96)}.map-location-label{display:flex;gap:16px;align-items:center;background:#fffffff2;box-shadow:0 8px 40px #1b2a1615;position:absolute;top:24px;left:24px;padding:18px 22px;border-radius:12px;max-width:calc(100% - 48px);pointer-events:none}.map-location-label .icon{width:24px;height:24px}.map-location-label span{font-size:17px;font-weight:600;line-height:1.3}.map-location-label small{display:block;font-size:11px;font-weight:400;color:#65705a;margin-top:5px;max-width:350px;line-height:1.5}
@media(max-width:1150px){.footer-top{grid-template-columns:1fr 1fr;gap:42px}.footer-statement{grid-column:1/-1}.footer-contact-large{font-size:27px}.footer-conversation>a[href^="tel:"]{font-size:35px}.expertise-area{grid-template-columns:190px 1fr;gap:30px}.expertise-list{gap:12px 20px}.stack-card h3{font-size:25px}.stack-card>div{padding:25px}}
@media(max-width:850px){.stack-deck{height:340px}.stack-card{grid-template-columns:.85fr 1.15fr}.stack-card h3{font-size:25px}.expertise-area{grid-template-columns:1fr;gap:18px}.expertise-title{position:static;display:flex;align-items:center;gap:20px}.expertise-title .section-index{margin:0;flex-shrink:0}.expertise-title h2{font-size:30px}.reason-card{padding:26px}.reason-card h2{font-size:26px}.map-heading{display:block}.map-heading>.text-link{margin-top:22px}.map-frame iframe{height:420px}.footer-brand{margin-top:60px}.team-feature{min-height:0}.team-feature>div{min-height:180px}.learning-mix strong{font-size:58px}.testimonials-grid{grid-template-columns:1fr}.testimonial-card:first-child{grid-column:auto}.testimonial-card blockquote{font-size:28px}.testimonial-card:not(:first-child) blockquote{font-size:26px}}
@media(max-width:560px){.hero h1{font-size:40px}.footer-top{grid-template-columns:1fr;gap:35px}.footer-statement{grid-column:auto}.footer-contact-large{font-size:clamp(24px,7vw,30px);line-height:1.35}.footer-conversation>a[href^="tel:"]{font-size:37px}.footer-brand{margin:45px 0 20px}.footer-brand img{width:100%;height:auto;opacity:1}.reason-grid{grid-template-columns:1fr;gap:18px}.reason-card{padding:27px}.reason-card h2{font-size:28px}.reason-card p{font-size:15px}.section-index{margin-bottom:18px}.editorial-intro{margin-bottom:35px}.editorial-intro h2{font-size:34px}.editorial-intro>p{font-size:16px}.expertise-area{padding:30px 0}.expertise-list{grid-template-columns:1fr;gap:0}.expertise-list li{font-size:14px;padding:16px 0;line-height:1.7}.expertise-title h2{font-size:29px}.testimonial-card{padding:27px}.testimonial-card blockquote{font-size:26px;line-height:1.45;margin:24px 0}.testimonial-card:not(:first-child) blockquote{font-size:24px}.testimonial-card figcaption{font-size:11px}.institution-photo.photo-uncropped{padding:18px var(--gutter)}.photo-uncropped>img{max-height:60svh;border-radius:10px}.team-feature>div{padding:28px;min-height:170px}.stack-deck{height:490px}.stack-card{grid-template-columns:1fr;grid-template-rows:190px 1fr;gap:0}.stack-card>img{grid-column:1;grid-row:1;min-height:0;height:190px;width:100%;border-radius:0;object-position:center}.stack-card>div{grid-column:1;grid-row:2;padding:25px;min-height:0}.stack-card h3{font-size:25px;line-height:1.13;margin:17px 0 20px}.stack-card .course-chip{font-size:10px}.stack-link{font-size:12px;margin-top:auto}.stack-controls{margin-top:22px}.stack-status{font-size:10px!important;min-height:32px}.learning-mix{padding:24px;gap:24px 18px;grid-template-columns:1fr 1fr}.learning-mix strong{font-size:55px}.learning-mix .learning-proportion{grid-template-columns:3fr 7fr}.skill-block{padding:25px}.skill-block h3{font-size:24px}.skill{font-size:14px;gap:10px}.map-heading h2{font-size:34px}.map-heading p{font-size:14px}.map-frame iframe{height:430px}.map-location-label{left:15px;top:15px;padding:15px;max-width:calc(100% - 30px);gap:10px}.map-location-label span{font-size:14px}.map-location-label small{font-size:10px;max-width:230px}.map-location-label .icon{width:21px;height:21px}}
@media(prefers-reduced-motion:reduce){details[data-smooth],details[data-smooth] .smooth-content,.stack-card,.menu-panel{transition:none!important;animation:none!important}}

.menu-group>summary,.menu-category>summary,.faq>summary{user-select:none}

.hero-tile>img[src*="c2f0c1a501c23bc7"]{object-fit:contain;object-position:center;background:#202322}
@media(max-width:560px){.hero-tile:last-child{aspect-ratio:2.05}.hero-tile:last-child>img[src*="c2f0c1a501c23bc7"]{object-position:center}}

/* Ferrocap photographic finish: a restrained olive cast, natural skin and detail.
   Presentation only: original image files and crops are preserved. */
img.ferrocap-photo{filter:none}

/* Show complete photographs and protect faces. */
.hero-tile{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;aspect-ratio:auto!important;background:var(--dark);min-height:0}
.hero-tile>img.ferrocap-photo{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center top;background:transparent}
.hero-tile>span{position:relative;z-index:2;min-height:62px;width:100%;background:var(--dark);color:white;margin-top:auto;align-items:center}
.hero-tile:after{display:none}
.hero-tile:hover>img{transform:none}
.institution-photo,.institution-photo.photo-uncropped{height:auto;max-height:none;padding:32px var(--gutter);background:#f2f4ee;overflow:visible}
.institution-photo>img.ferrocap-photo{width:min(100%,1200px);height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center top;margin:auto;border-radius:12px}
img.ferrocap-photo{object-position:center top}
.intro-photo-main,.intro-photo-main[src*="historia-formacion"],.story-card>img.ferrocap-photo{height:auto;aspect-ratio:auto;object-fit:contain}
.intro-photo-detail{object-fit:contain;background:var(--dark)}
.card-image{background:#202322}
.card-image img.ferrocap-photo,.stack-card>img.ferrocap-photo,.course-hero>img.ferrocap-photo{object-fit:contain;object-position:center top;background:#202322}
.course-card:hover .card-image img{transform:none}
.team-feature>img.ferrocap-photo{width:100%;height:auto;max-height:none;object-fit:contain}
.map-frame iframe{filter:none!important}
.map-frame{border:1px solid #a7c973;box-shadow:0 16px 42px #26361412}
.map-location-label{top:auto;bottom:24px;left:24px;border-left:4px solid var(--green);box-shadow:0 8px 24px #1830191a}


@media(max-width:560px){.hero-tile:last-child{aspect-ratio:auto!important}.institution-photo,.institution-photo.photo-uncropped{padding:18px var(--gutter)}.map-location-label{bottom:18px;left:18px;max-width:calc(100% - 36px)}}


/* Keep the real team photograph and every original face, without AI replacement. */
img.ferrocap-photo[src*="c2f0c1a501c23bc7"]{filter:saturate(.94) brightness(1.035) contrast(.97);object-fit:contain!important;object-position:center top!important}

.team-banner{background:#202322}.team-banner>img.ferrocap-photo{object-fit:contain;object-position:center top}
@media(max-width:560px){.team-banner{display:block;min-height:0;padding:0 0 36px}.team-banner>img.ferrocap-photo{position:relative;inset:auto;z-index:0;width:100%;height:auto;object-fit:contain}.team-banner>div{position:relative;padding:28px var(--gutter) 0}.team-banner:after{display:none}}

/* Original content restored within the established editorial layout. */
.source-positioning{border-bottom:1px solid var(--line)}.source-positioning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-bottom:30px}.source-positioning h2{font-size:27px;line-height:1.18;margin-bottom:20px}.source-positioning p{font-size:15px;color:var(--muted)}.source-home-benefits .reason-card h3,.reasons-layout .reason-card h3{font-size:27px;line-height:1.2;margin:20px 0}.intro-copy h3{font-size:22px;margin:28px 0 18px}.intro-copy p{margin-top:18px}.source-course-excerpt{font-size:14px;line-height:1.5;margin:0 0 20px;color:#5f665c}.source-skill-percent{margin-left:auto;white-space:nowrap;font-size:15px;color:#426817}.skill>span{flex:1}.contact-original-invitation{font-size:16px;margin-bottom:28px}.testimonial-original-intro{margin-bottom:35px}.testimonial-original-intro h2{font-size:42px;margin-bottom:24px}.testimonial-original-intro p{max-width:850px}.expertise-body p{margin-bottom:20px}.card-contact-original{padding:25px var(--gutter);font-size:14px}
@media(max-width:900px){.source-positioning-grid{grid-template-columns:1fr;gap:28px}.source-positioning h2{font-size:25px}}
@media(max-width:560px){.stack-deck{height:540px}.source-course-excerpt{font-size:13px;margin-bottom:16px}.stack-card h3{margin-bottom:16px}.testimonial-original-intro h2{font-size:31px}.source-home-benefits .reason-card h3,.reasons-layout .reason-card h3{font-size:24px}}
.source-cta-copy{font-size:17px;line-height:1.6;max-width:640px;grid-column:1/-1;margin-top:25px}.source-cta-copy br{display:block}
.business-portrait{width:240px;max-width:100%;height:auto;object-fit:contain;border-radius:14px;margin:0 0 30px}
.expertise-body>ul{margin-bottom:24px}.expertise-body>p{font-size:15px;line-height:1.8;color:#59674e}
