:root{--ink:#0e343d;--paper:#f7f2ec;--line:rgba(14,52,61,.22);--serif:'Playfair Display',Georgia,serif;--sans:'Montserrat',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b07947;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}em{font-weight:400}h1{font-size:clamp(3.4rem,5.5vw,6rem);letter-spacing:-.045em}h2{font-size:clamp(2.5rem,4vw,4.5rem);letter-spacing:-.035em}h3{font-size:2.15rem}p{font-weight:400}.header{padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px;background:var(--paper)}.wordmark{display:inline-flex;flex-direction:column;align-items:center;line-height:1.1}.wordmark span{font-family:var(--serif);letter-spacing:.12em;font-size:2.15rem}.wordmark small{letter-spacing:.48em;font-size:.75rem;padding-left:.48em;margin-top:7px}nav{display:flex;align-items:center;gap:32px}nav>a{font-size:.875rem}nav>a:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:center;align-items:center;padding:17px 26px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-size:.875rem;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#20505b;transform:translateY(-2px)}.button.small{padding:13px 20px}.text-link{border:0;border-bottom:1px solid var(--ink);padding:0 0 5px;background:none;color:var(--ink);font-size:.875rem;display:inline-block}.text-link:hover{opacity:.65}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:600;margin-bottom:24px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;padding:65px 5% 60px;gap:5%;min-height:660px}.intro{max-width:465px;margin-top:29px;line-height:1.85;font-size:1rem}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:30px}.hero-note{font-size:.75rem;margin-top:44px;letter-spacing:.04em;opacity:.7}.hero-image{margin:0;position:relative}.hero-image img{width:100%;height:500px;object-fit:cover;display:block;border-radius:47% 47% 0 0}.hero-image figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:.625rem;letter-spacing:.13em}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:25px;border-block:1px solid var(--line);padding:23px 4%;font-family:var(--serif);font-size:1.55rem}.ribbon i{font-size:1.8rem;font-style:normal}.section{padding:100px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-heading>p{max-width:390px;font-size:.95rem;line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.service{padding:28px 25px 0;border-right:1px solid var(--line);display:flex;flex-direction:column}.service:first-child{padding-left:0}.service:last-child{border:0;padding-right:0}.service-no{font-size:.75rem;letter-spacing:.1em;margin-bottom:33px}.service h3{margin-bottom:22px}.service>p{font-size:.875rem;line-height:1.85;min-height:108px}.service ul{padding:21px 0;list-style:none;font-size:.8125rem;line-height:2.1;flex:1}.service .text-link{align-self:start}.techniques{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:12%}.tech-intro>p:not(.eyebrow){margin-top:26px;max-width:410px;font-size:.9375rem;line-height:1.9}.brand-seal{display:flex;align-items:center;gap:25px;margin-top:38px}.brand-seal>span{font-family:var(--serif);font-size:3.5rem;letter-spacing:-.12em}.brand-seal small{font-size:.625rem;letter-spacing:.18em;max-width:130px}.accordion{border-top:1px solid #ffffff45}details{border-bottom:1px solid #ffffff45;padding:24px 0}summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;font-family:var(--serif);font-size:1.9rem}summary::-webkit-details-marker{display:none}summary small{font-family:var(--sans);font-size:.75rem;margin-right:22px}summary b{font-family:var(--sans);font-size:1.5rem;font-weight:400}details[open] summary b{transform:rotate(45deg)}details p{padding:20px 0 20px 41px;font-size:.875rem;line-height:1.9}.tag{display:block;margin-left:41px;font-size:.625rem;letter-spacing:.13em;opacity:.7}.students{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid var(--line)}.student-title h2{font-size:clamp(3rem,5vw,5.5rem)}.student-info{padding-top:50px}.large-copy{font-family:var(--serif);font-size:2rem;line-height:1.4;margin-bottom:23px}.student-info>p:not(.large-copy){max-width:420px;font-size:.9375rem}.student-list{margin:28px 0 32px;border-top:1px solid var(--line)}.student-list span{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:.875rem}.student-info .footnote{font-size:.75rem!important;margin-top:15px;opacity:.75}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.steps article{border-top:1px solid var(--line);padding-top:24px}.steps span{font-size:.6875rem;letter-spacing:.12em}.steps h3{margin:23px 0 20px}.steps p{font-size:.875rem;line-height:1.9}.contact{text-align:center;background:var(--ink);color:var(--paper)}.contact h2{font-size:clamp(3rem,6vw,6rem)}.light{background:var(--paper);color:var(--ink);border-color:var(--paper);margin:34px 0}.light:hover{background:#e5dace}.contact>p:last-child{font-size:.875rem;opacity:.8}#contact-links{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin-bottom:20px}#contact-links:empty{display:none}#contact-links a{text-decoration:underline}footer{display:flex;align-items:center;justify-content:space-between;padding:40px 6%;gap:25px}footer p{font-family:var(--serif);font-style:italic;font-size:1.3rem}footer>small{font-size:.75rem}.menu-toggle{display:none}.skip{position:absolute;top:-100px;left:10px;background:var(--ink);color:white;padding:10px;z-index:20}.skip:focus{top:10px}dialog{color:var(--ink);background:var(--paper);width:min(650px,94vw);max-height:90vh;padding:40px;border:0}dialog::backdrop{background:#062329ba;backdrop-filter:blur(5px)}dialog h2{font-size:2.6rem;margin-bottom:24px}.close{position:absolute;right:18px;top:10px;border:0;background:none;font-size:2rem;color:var(--ink)}form{display:grid;gap:15px}label{font-size:.8125rem;display:grid;gap:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{width:100%;min-width:0;border:1px solid #0e343d55;background:transparent;padding:10px;color:var(--ink);border-radius:0;font-size:1rem}textarea{resize:vertical}.form-note,#form-status{font-size:.75rem;line-height:1.6}.form-note{opacity:.8}form .button{justify-self:start}body.modal-open{overflow:hidden}@media(min-width:1600px){.header,.hero,.section,footer{padding-left:max(6%,calc((100vw - 1450px)/2));padding-right:max(6%,calc((100vw - 1450px)/2))}}@media(max-width:1050px){nav{gap:18px}.header{padding-inline:4%}.hero{gap:4%;padding-inline:4%}.hero-image img{height:430px}.hero h1{font-size:4rem}.service-grid{grid-template-columns:1fr 1fr;row-gap:40px}.service:nth-child(2){border:0}.service:nth-child(3){padding-left:0}.service>p{min-height:0}.section{padding:75px 5%}.techniques,.students{gap:7%}}@media(max-width:760px){html{scroll-padding-top:20px}.header{padding:20px 6%;flex-wrap:wrap}.wordmark span{font-size:1.8rem}.menu-toggle{display:flex;gap:15px;align-items:center;background:none;border:0;color:var(--ink);font-size:.875rem;padding:10px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding:20px 0 5px;gap:23px}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:45px 6%;gap:38px}.hero h1{font-size:clamp(3rem,11vw,4.6rem)}.hero .eyebrow{font-size:.625rem;letter-spacing:.15em}.hero-note{margin-top:25px}.hero-image img{height:400px;max-height:105vw}.hero-image figcaption{font-size:.6rem}.hero-actions{gap:22px}.ribbon{font-size:1.2rem;justify-content:center;padding:17px 6%;flex-wrap:wrap;gap:10px 18px}.ribbon span:last-of-type,.ribbon i:last-child{display:none}.ribbon i{font-size:1.3rem}.section{padding:65px 6%}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px}.service{padding-inline:18px}.service h3{font-size:1.8rem}.service ul{font-size:.75rem}.service-no{margin-bottom:20px}.techniques,.students{grid-template-columns:1fr;gap:36px}.brand-seal{display:none}.student-title h2 br:nth-child(2),.student-title h2 em br{display:none}.student-info{padding-top:0}.steps{grid-template-columns:1fr;gap:32px}.steps h3{margin:15px 0}.process .section-heading h2{font-size:2.5rem}footer{flex-direction:column;align-items:start;gap:25px;padding:35px 6%}footer p{display:none}dialog{padding:30px 22px}.form-row{grid-template-columns:1fr}dialog h2{font-size:2.2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:360px){.service-grid{grid-template-columns:1fr}.service{border:0;padding:20px 0;border-top:1px solid var(--line)}.ribbon{font-size:1rem}}

/* Fotografía de portada completa, conservando su formato vertical. */
.hero-image img{height:auto;max-height:none;aspect-ratio:3/4;}
