@font-face{font-family:Barlow;src:url('/assets/fonts/barlow-condensed-800.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Space;src:url('/assets/fonts/space-grotesk-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Space;src:url('/assets/fonts/space-grotesk-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#000;--paper:#fff;--font:Space,Arial,sans-serif;--display:Barlow,'Arial Narrow',Impact,sans-serif;color-scheme:light;font-family:var(--font);font-size:16px;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #000;outline-offset:5px}::selection{background:#000;color:#fff}[hidden]{display:none!important}.wrap{max-width:1376px;width:calc(100% - 112px);margin-inline:auto}.skip-link{position:absolute;z-index:5;top:-70px;left:12px;background:#fff;border:2px solid #000;padding:12px}.skip-link:focus{top:8px}.preview-banner{text-align:center;padding:8px 12px;border-bottom:1px solid #000;font-size:.75rem;font-weight:700;letter-spacing:.07em}.preview-banner span{font-weight:400;letter-spacing:0;margin-left:12px}.site-header{height:116px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #000}.brand{display:flex;align-items:center;gap:15px;font-weight:700;font-size:1rem;line-height:1.04;letter-spacing:-.04em}.brand-year{display:block;font-size:.75rem;letter-spacing:.08em;margin-top:7px}.logo-crop{display:block;position:relative;overflow:hidden;aspect-ratio:1}.logo-crop img{position:absolute;width:205%;height:auto;max-width:none;left:-54%;top:-85%;filter:invert(1)}.brand-logo{width:64px;flex-shrink:0}.site-header nav{display:flex;gap:34px;margin-left:auto;margin-right:20px;font-size:.875rem}.site-header nav a{padding-block:10px;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:#000}.button{display:inline-flex;justify-content:center;align-items:center;min-height:60px;padding:17px 30px;background:#000;color:#fff;border:1px solid #000;font-weight:700;font-size:1rem;transition:background .16s,color .16s}.button:hover{background:#fff;color:#000}.button-small{min-height:46px;padding:12px 22px;font-size:.875rem}.button-outline{background:#fff;color:#000}.button-outline:hover{background:#000;color:#fff}.hero{padding-top:27px}.hero-topline,.hero-footer{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.045em;font-weight:700}.hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:6%;align-items:center;padding:65px 0 72px}.eyebrow,.section-index{font-size:.75rem;letter-spacing:.075em;font-weight:700;margin:0 0 26px}.eyebrow{margin-bottom:19px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.018em;line-height:.92}h1{font-size:clamp(5rem,9.1vw,8.2rem);margin-bottom:29px}.outlined{color:#fff;-webkit-text-stroke:1.6px #000}h2{font-size:clamp(3.4rem,5.8vw,5.7rem);margin-bottom:25px}.hero-description{max-width:470px;font-size:1.05rem;line-height:1.6;letter-spacing:-.02em;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:21px}.hero-actions>span{font-size:.75rem;line-height:1.6}.hero-art{position:relative;padding:20px 15px 45px 5px}.course-card{border:2px solid #000;padding:22px 27px 20px;transform:rotate(-6deg);background:#fff;box-shadow:9px 9px 0 #fff,10px 10px 0 #000}.card-top,.card-bottom{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:700;letter-spacing:.08em}.card-top{padding-bottom:13px;border-bottom:1px solid #000}.hero-logo{width:78%;margin:5px auto -8px}.card-university{font-family:var(--display);font-size:clamp(2.7rem,4.6vw,4.2rem);text-align:center;line-height:1;margin-bottom:24px;letter-spacing:-.01em}.card-bottom{border-top:1px solid #000;padding-top:14px}.card-bottom strong{font-size:1.45rem;letter-spacing:-.06em}.admission-stamp{position:absolute;right:8px;bottom:-12px;transform:rotate(8deg);background:#fff;border:2px solid #000;padding:12px 22px;font-size:.75rem;text-align:center;line-height:1.25;box-shadow:3px 3px 0 #000}.admission-stamp strong{font-family:var(--display);font-size:2.3rem;letter-spacing:.025em}.art-caption{position:absolute;left:25px;bottom:-12px;font-size:.75rem;transform:rotate(-6deg)}.hero-footer{align-items:center;padding:19px 0;border-block:1px solid #000}.hero-footer>span:last-child{display:flex;align-items:center;gap:18px}.asterisk{font-size:1.7rem}.section{padding-block:95px;border-bottom:1px solid #000}.intro{display:grid;grid-template-columns:1fr 1fr;gap:11%}.intro h2{max-width:450px}.serif-word{font-family:Georgia,serif;text-transform:none;font-weight:400;font-style:italic;letter-spacing:-.065em;font-size:.93em}.intro-copy{padding-top:34px}.intro-copy p{line-height:1.65;font-size:1rem}.intro-copy .large-copy{font-size:1.6rem;letter-spacing:-.055em;line-height:1.35;font-weight:700;margin-bottom:22px}.small-note{font-size:.8125rem!important;line-height:1.6!important}.intro-copy .small-note{border-left:2px solid #000;padding-left:18px;margin-top:29px;margin-bottom:0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{line-height:1.7;max-width:370px;font-size:1.05rem;margin-bottom:4px}.section-heading .small-note{display:block;margin-top:12px}.calendar-list{border-top:2px solid #000}.calendar-list details{border-bottom:1px solid #000}.calendar-list details:last-child{border-bottom:0}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.calendar-list summary{display:grid;grid-template-columns:130px 1fr 24px;gap:26px;align-items:center;min-height:100px;padding:22px 12px;transition:background .15s}.calendar-list summary:hover{background:#fff}.month{font-family:var(--display);font-size:2.4rem;line-height:1}.month small{font-family:var(--font);font-size:.75rem;display:block;margin-top:7px;font-weight:400}.month-double{font-size:1.8rem}.event-name{font-size:1.65rem;font-weight:700;letter-spacing:-.045em;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.event-badge{font-size:.75rem;letter-spacing:.04em;border:1px solid #000;padding:6px 8px;line-height:1.3}.event-subtitle{font-size:.875rem;letter-spacing:-.02em;font-weight:400}.expand{width:16px;height:16px;display:block;position:relative;flex-shrink:0}.expand:before,.expand:after{content:'';position:absolute;inset:7px 0 auto;height:2px;background:currentColor}.expand:after{transform:rotate(90deg);transition:transform .2s}details[open]>summary .expand:after{transform:rotate(0)}.event-detail{padding:0 62px 30px 168px;max-width:860px}.event-detail p{line-height:1.6;margin-bottom:10px}.event-detail>span{font-size:.75rem}.notice-section{padding:46px 0 75px;border-bottom:1px solid #000}.notice-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.notice-heading .section-index{margin:0}.notice-heading>span:last-child{font-size:4rem;line-height:1}.notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.notice-grid h2{font-size:clamp(3.3rem,5vw,4.6rem)}.notice-grid>div>p{max-width:350px;line-height:1.6;font-size:.9375rem}.discipline-note{margin:0;border:1px solid #000;padding:30px;transform:rotate(2deg);background:#fff;box-shadow:5px 5px 0 #fff,6px 6px 0 #000}.discipline-note figcaption{font-size:.75rem;letter-spacing:.055em;padding-bottom:18px;border-bottom:1px solid #000;font-weight:700}.discipline-note blockquote{margin:26px 0 22px;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:700;line-height:1.2;letter-spacing:-.045em}.discipline-note>p{font-size:.8125rem}.note-signature{border-top:1px dashed #000;padding-top:20px;margin-top:25px;line-height:1.6;font-size:.75rem}.enrollment{display:grid;grid-template-columns:1fr 1fr;gap:10%}.enrollment-intro{padding-top:12px}.enrollment-intro>p:not(.section-index){font-size:1.05rem;line-height:1.6;max-width:380px}.enrollment-facts{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}.enrollment-facts span{border:1px solid #000;font-size:.75rem;padding:7px 10px;letter-spacing:.03em;font-weight:700}.form-panel{border:1px solid #000;padding:28px 30px}.form-heading{display:flex;justify-content:space-between;border-bottom:1px solid #000;padding-bottom:19px;margin-bottom:27px;gap:16px;font-size:.75rem;font-weight:700;letter-spacing:.04em}.field{margin-bottom:20px}.field label{display:block;font-size:.875rem;font-weight:700;margin-bottom:8px}.field input{width:100%;min-height:50px;border:1px solid #000;border-radius:0;background:#fff;padding:12px 14px;font-size:1rem;appearance:none;color:#000;min-width:0}.field input::placeholder{color:#666;opacity:1}.input-prefix{position:relative}.input-prefix>span{position:absolute;left:14px;top:15px;line-height:1}.input-prefix input{padding-left:35px}.field-error{font-size:.75rem;line-height:1.45;margin:6px 0 0}.field-error:empty{display:none}.field input[aria-invalid=true]{outline:2px solid #000;outline-offset:2px}.form-preview-note{font-size:.75rem;line-height:1.5;border-top:1px dashed #000;padding-top:18px;margin:25px 0 18px}.form-submit{width:100%}.form-footnote{font-size:.75rem;text-align:center;line-height:1.5;margin:12px 0 0}.form-status{font-size:.875rem;line-height:1.5}.form-status:empty{display:none}.success-panel{padding:30px 0}.success-panel h3{font-size:4.5rem;margin-bottom:24px}.success-panel p{line-height:1.6}.success-panel .button{margin-top:20px}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%}.faq h2{font-size:clamp(3rem,4.5vw,4.2rem)}.faq-list{border-top:1px solid #000}.faq-list details{border-bottom:1px solid #000}.faq-list summary{padding:24px 0;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:25px;line-height:1.5}.faq-list details>p{font-size:.9375rem;line-height:1.65;padding-right:38px;margin-bottom:24px}.site-footer{padding-top:44px}.footer-wordmark{font-family:var(--display);font-size:clamp(2.3rem,7.3vw,6.5rem);letter-spacing:-.015em;line-height:1.1;display:flex;justify-content:space-between;gap:12px}.footer-wordmark>span{font-family:var(--font);font-size:1rem;padding-top:10px}.footer-bottom{border-top:1px solid #000;margin-top:27px;padding:24px 0 30px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.04em}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1550px){.hero-grid{padding-block:80px 90px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero-grid{grid-template-columns:1.3fr 1fr;gap:4%;padding-block:54px 60px}h1{font-size:clamp(4.7rem,9.4vw,7rem)}.hero-art{padding-inline:0}.admission-stamp{right:-10px}.course-card{padding:17px}.hero-actions{align-items:start;flex-direction:column;gap:13px}.hero-actions>span br{display:none}.hero-actions>span br:after{content:' '}.site-header nav{gap:20px;margin-right:0}.hero-description{font-size:1rem}.section{padding-block:75px}.event-name{font-size:1.4rem}.calendar-list summary{grid-template-columns:100px 1fr 20px}.event-detail{padding-left:138px}.enrollment{gap:6%}.form-panel{padding:24px}.intro{gap:7%}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.preview-banner{font-size:.75rem;letter-spacing:.035em}.preview-banner span{margin-left:6px}.site-header{height:88px;gap:12px}.brand{font-size:.8125rem;gap:9px}.brand-logo{width:48px}.brand-year{font-size:.75rem}.site-header nav{display:none}.button-small{font-size:.8125rem;padding:11px 15px;min-height:43px}.hero{padding-top:22px}.hero-topline{font-size:.75rem;gap:8px}.hero-grid{grid-template-columns:1fr;padding:39px 0 40px;gap:35px}.eyebrow{font-size:.75rem;letter-spacing:.045em;margin-bottom:16px}h1{font-size:clamp(3.2rem,16.3vw,7.2rem);margin-bottom:23px;line-height:.94}.hero-description{max-width:430px;font-size:1rem;line-height:1.6}.hero-actions{flex-direction:row;align-items:center;gap:17px}.hero-actions>.button{padding:16px 21px;font-size:.9375rem}.hero-actions>span{font-size:.75rem;max-width:130px}.hero-actions>span br{display:initial}.hero-art{max-width:350px;width:84%;margin:0 auto;padding-bottom:25px}.course-card{padding:17px 22px}.hero-logo{width:74%}.card-university{font-size:3.4rem;margin-bottom:20px}.card-top,.card-bottom{font-size:.75rem}.card-bottom strong{font-size:1.3rem}.admission-stamp{right:-12px;bottom:-12px;padding:10px 16px}.admission-stamp strong{font-size:1.9rem}.art-caption{left:12px;bottom:-19px;font-size:.75rem}.hero-footer{margin-top:15px;font-size:.75rem;align-items:start;gap:12px;padding-block:15px;line-height:1.6}.hero-footer>span{max-width:48%}.hero-footer>span:last-child{gap:9px}.asterisk{font-size:1.1rem}.section{padding-block:59px}.intro,.enrollment,.faq,.notice-grid{grid-template-columns:1fr;gap:22px}h2{font-size:3.7rem}.section-index{font-size:.75rem;margin-bottom:21px}.intro-copy{padding-top:0}.intro-copy .large-copy{font-size:1.4rem;max-width:340px}.intro h2{margin-bottom:5px}.section-heading{align-items:start;gap:20px}.section-heading h2{font-size:3.7rem}.section-heading>p{font-size:.8125rem;margin-top:40px;max-width:150px}.section-heading .small-note{font-size:.75rem!important;line-height:1.5!important}.calendar-list summary{grid-template-columns:69px 1fr 15px;gap:14px;min-height:90px;padding:18px 0}.month{font-size:2rem}.month small{font-size:.75rem}.month-double{font-size:1.4rem}.event-name{font-size:1.2rem;gap:9px;letter-spacing:-.045em;line-height:1.2}.event-badge{font-size:.75rem;padding:5px}.event-subtitle{font-size:.75rem}.event-detail{padding:0 15px 23px 83px;font-size:.875rem}.event-detail>span{font-size:.75rem}.notice-section{padding-block:30px 57px}.notice-heading{margin-bottom:25px}.notice-heading>span:last-child{font-size:3rem}.notice-grid{gap:25px}.notice-grid h2{font-size:3.5rem}.discipline-note{padding:24px;margin:0 7px}.discipline-note blockquote{font-size:1.55rem}.enrollment{gap:25px}.enrollment-intro{padding-top:0}.enrollment-intro h2{font-size:4.6rem}.enrollment-intro .small-note{margin-bottom:0}.form-panel{padding:23px 20px}.form-heading{font-size:.75rem}.faq{gap:15px}.faq h2{font-size:3.5rem}.faq-list summary{font-size:.9375rem}.site-footer{padding-top:29px}.footer-wordmark{font-size:clamp(1.9rem,7.1vw,3rem);gap:5px}.footer-wordmark>span{font-size:.75rem;padding-top:4px}.footer-bottom{font-size:.75rem;gap:15px;flex-wrap:wrap;margin-top:20px}.footer-bottom>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the promotion year visible beside the admission stamp. */
.art-caption{display:none}

.calendar-list summary:hover .event-name{text-decoration:underline;text-underline-offset:5px}

.hero-title-life{font-size:clamp(4rem,7.3vw,7rem)}
.hero-welcome{display:block;font-size:.38em;letter-spacing:.01em;line-height:1.1;margin-bottom:.35em}
@media(max-width:700px){.hero-title-life{font-size:clamp(2.8rem,14.4vw,6rem)}}

/* Guia del curs: lectura editorial i matrícula sempre accessible. */
.text-link{display:inline-block;font-weight:700;text-underline-offset:5px;margin-top:18px}.guide-hero{padding:70px 0 60px;border-bottom:2px solid #000;max-width:100%}.guide-hero h1{font-size:clamp(5rem,12vw,10rem);line-height:.88;margin:25px 0}.guide-hero>p:not(.section-index){max-width:680px}.guide-hero .button{margin-top:20px}.guide-index{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px;padding:35px 0;border-bottom:1px solid #000}.guide-index a{font-size:14px;text-underline-offset:4px}.guide-content{max-width:820px;margin:auto}.guide-section{padding:55px 0;border-bottom:1px solid #000;scroll-margin-top:30px}.guide-section h2{font-size:clamp(2.4rem,5vw,4rem);line-height:1;margin:15px 0 25px}.guide-section p{line-height:1.75}.guide-section h3{margin-top:35px;font-size:22px}.guide-calendar div{display:grid;grid-template-columns:160px 1fr;padding:15px 0;border-bottom:1px solid #000;gap:15px}.guide-calendar dt{font-weight:700}.guide-calendar dd{margin:0}.guide-cta{padding:70px 0}.guide-cta h2{font-size:clamp(3rem,7vw,6rem);line-height:.95}.guide-cta .text-link{margin-left:25px}@media(max-width:700px){.guide-hero{padding-top:40px}.guide-index{grid-template-columns:1fr;gap:18px}.guide-calendar div{grid-template-columns:100px 1fr}.guide-calendar{font-size:14px}.guide-section{padding:38px 0}.guide-cta .text-link{display:block;margin-left:0}.guide-hero h1{font-size:24vw}}@media print{.preview-banner,.site-header,.site-footer,.guide-index,.guide-cta,.guide-hero .button{display:none}.wrap{width:100%;max-width:none}.guide-hero{padding:0 0 20px}.guide-hero h1{font-size:60pt}.guide-section{break-inside:avoid;padding:20px 0}.guide-section h2{font-size:25pt}.guide-content{max-width:none}body{font-size:11pt}}

.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent-label{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;margin-top:20px}.consent-label input{width:20px;height:20px;flex:0 0 20px;accent-color:#000;margin:2px 0 0}.form-footnote a{overflow-wrap:anywhere}.button:disabled{opacity:.6;cursor:wait}

/* Consent is optional and does not block the enrollment form. */
.cookie-banner { position:fixed; bottom:20px; left:20px; right:20px; z-index:100; max-width:960px; margin:auto; display:flex; gap:28px; align-items:center; padding:24px; background:#fff; color:#000; border:2px solid #000; box-shadow:6px 6px 0 #000; }
.cookie-banner[hidden] { display:none; }
.cookie-banner h2 { font-family:inherit; font-size:18px; line-height:1.3; margin:0 0 8px; }
.cookie-banner p { font-size:13px; line-height:1.55; margin:0; }
.cookie-banner a { text-decoration:underline; }
.cookie-actions { display:flex; gap:10px; flex-shrink:0; }
.cookie-actions button { font:inherit; font-size:13px; font-weight:700; padding:12px 18px; border:1px solid #000; background:#fff; color:#000; cursor:pointer; }
.cookie-actions button:hover { background:#000; color:#fff; }
.cookie-preferences { font:inherit; color:inherit; background:none; border:0; padding:0; text-decoration:underline; cursor:pointer; }
@media(max-width:600px) { .cookie-banner { bottom:12px; left:12px; right:16px; padding:18px; gap:16px; flex-direction:column; align-items:stretch; } .cookie-actions button { flex:1; } }
